From a3e47d74b3ec85bbcbdfa22e6e899bb4e4eb9329 Mon Sep 17 00:00:00 2001 From: yvan.ni Date: Tue, 22 Aug 2023 14:19:04 +0800 Subject: [PATCH] 好友参团的页面,指定门店的优化 --- packageA/pages/serviceCard_pd/goodsInfo/goodsInfo.js | 21 +++++++++++---------- packageA/pages/serviceCard_pd/team_show/team_show.js | 122 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------ packageA/pages/serviceCard_pd/team_show/team_show.wxml | 19 +++++++++++++++---- packageA/pages/serviceCard_pd/team_show/team_show.wxss | 1 + pages/team/team_show/team_show.js | 86 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------- pages/team/team_show/team_show.wxml | 19 +++++++++++++++---- pages/team/team_show/team_show.wxss | 2 ++ 7 files changed, 200 insertions(+), 70 deletions(-) diff --git a/packageA/pages/serviceCard_pd/goodsInfo/goodsInfo.js b/packageA/pages/serviceCard_pd/goodsInfo/goodsInfo.js index 3c1b94a..0ebda43 100644 --- a/packageA/pages/serviceCard_pd/goodsInfo/goodsInfo.js +++ b/packageA/pages/serviceCard_pd/goodsInfo/goodsInfo.js @@ -1262,16 +1262,6 @@ Page({ var e = res; if (e.data.code == 0 && e.data.data && e.data.data.pageData && e.data.data.pageData.length > 0) { - var his_cate_num = 0; - for (let i in e.data.data.pageData) { - let item = e.data.data.pageData[i]; - if (item.category_id > 0) { - his_cate_num = 1; - break; - } - } - e.his_cate_num = his_cate_num; - //--普通门店排版,服务卡项有指定门店才能使用,所以要筛选一下-- setTimeout(function () { var sto_list = th.data.data.storageId; @@ -1318,6 +1308,17 @@ Page({ //-- 如果门店过滤后,还会是数量 -- if(e.data.data.pageData.length) { + var his_cate_num = 0; + for (let i in e.data.data.pageData) { + let item = e.data.data.pageData[i]; + if (item.category_id > 0) { + his_cate_num = 1; + break; + } + } + e.his_cate_num = his_cate_num; + + //如果有开启距离的功能,没有设置默认门店,要用最近的门店作为默认门店 if (dd.lat && (!th.data.def_pick_store || JSON.stringify(th.data.def_pick_store) == '{}') && th.data.bconfig && th.data.bconfig.is_sort_storage) { th.setData({ diff --git a/packageA/pages/serviceCard_pd/team_show/team_show.js b/packageA/pages/serviceCard_pd/team_show/team_show.js index c7727cd..e2f1254 100644 --- a/packageA/pages/serviceCard_pd/team_show/team_show.js +++ b/packageA/pages/serviceCard_pd/team_show/team_show.js @@ -608,6 +608,12 @@ Page({ // if(ee.distr_type!=0 && g_distr_type!=0 && ee.distr_type!=g_distr_type ){ // ee.is_no_dis=1; // } + var ser_card = th.data.goods; + //--如果默认门店不在等级卡的默认们店以内 + if (ser_card.storageId != null && ser_card.storageId != "" && ser_card.storageId.indexOf(ee.keyid) == -1) { + ee.is_no_dis = 1; + } + var appd=getApp().globalData; var w_time = setInterval(function() { @@ -1153,7 +1159,9 @@ Page({ var timer_get = setInterval(function() { if (th.data.is_get_local_ok == 0) return false; if (!th.data.goods) return false; - var dd = null, i = getApp().request; + if (!th.data.fir_def_store) return false; + + var dd = null, i = getApp().request; var g_distr_type = th.data.goods.distr_type; dd = { @@ -1179,45 +1187,87 @@ Page({ var e = res; if (e.data.code == 0 && e.data.data && e.data.data.pageData && e.data.data.pageData.length>0) { - var his_cate_num=0; - for(let i in e.data.data.pageData){ + var sto_list = th.data.goods.storageId; + if (sto_list) { + for (var k = 0; k < e.data.data.pageData.length; k++) { + var it = e.data.data.pageData[k]; + if (sto_list.indexOf(it.keyid) == -1) { + //删除 + e.data.data.pageData.splice(k--, 1); + } + } + } + + //如果有秒杀的指定门店 + if( th.data.teamlist && th.data.teamlist.pick_up_lists && e.data.data.pageData.length){ + var pick_up_lists=th.data.teamlist.pick_up_lists; + for (var kq = 0; kq < e.data.data.pageData.length; kq++) { + var it0=e.data.data.pageData[kq]; + var idx0=pick_up_lists.findIndex(function (e){ + return e.pickup_id==it0.pickup_id; + }) + if (idx0<0) { + //删除 + e.data.data.pageData.splice(kq--, 1); + } + } + + if (th.data.def_pick_store && JSON.stringify(th.data.def_pick_store)!='{}'){ + //-- 查找一下门店有没有在 -- + var idx1=pick_up_lists.findIndex(function (e){ + return e.pickup_id==th.data.def_pick_store.pickup_id; + }) + if(idx1<0){ + //如果是秒杀的指定门店,就要设置秒杀的 + th.data.def_pick_store.is_no_dis_act=1; + that.setData({ + def_pick_store: th.data.def_pick_store + }) + } + } + + } + + if(e.data.data.pageData.length){ + var his_cate_num=0; + for(let i in e.data.data.pageData){ let item=e.data.data.pageData[i]; if(item.category_id>0){ - his_cate_num=1;break; + his_cate_num=1;break; + } + } + e.his_cate_num=his_cate_num; + + //如果有开启距离的功能,没有设置默认门店,要用最近的门店作为默认门店 + if(dd.lat && !th.data.def_pick_store && th.data.bconfig && th.data.bconfig.is_sort_storage){ + th.setData({ + def_pick_store:e.data.data.pageData[0], + sto_sele_name: e.data.data.pageData[0].pickup_name, + sto_sele_id: e.data.data.pageData[0].pickup_id, + sto_sele_distr: e.data.data.pageData[0].distr_type + }); + th.data.fir_def_store=e.data.data.pageData[0]; + } + + //-- 如果有默认选择门店的时候,要把默认门店放在第一位 -- + if (th.data.def_pick_store && JSON.stringify(th.data.def_pick_store)!='{}'){ + for (var k = 0; k < e.data.data.pageData.length; k++) { + if (e.data.data.pageData[k].pickup_id == th.data.def_pick_store.pickup_id) { + e.data.data.pageData.splice(k, 1); //删除 + break; + } } + e.data.data.pageData.splice(0, 0, th.data.def_pick_store); //添加 + } + + + th.setData({all_pick_list:e.data.data.pageData}); + + setTimeout(function(){ + th.deal_pickup(e); //--普通门店排版-- + },800) } - e.his_cate_num=his_cate_num; - - //如果有开启距离的功能,没有设置默认门店,要用最近的门店作为默认门店 - if(dd.lat && !th.data.def_pick_store && th.data.bconfig && th.data.bconfig.is_sort_storage){ - th.setData({ - def_pick_store:e.data.data.pageData[0], - sto_sele_name: e.data.data.pageData[0].pickup_name, - sto_sele_id: e.data.data.pageData[0].pickup_id, - sto_sele_distr: e.data.data.pageData[0].distr_type - }); - th.data.fir_def_store=e.data.data.pageData[0]; - } - - //-- 如果有默认选择门店的时候,要把默认门店放在第一位 -- - if (th.data.def_pick_store && JSON.stringify(th.data.def_pick_store)!='{}'){ - for (var k = 0; k < e.data.data.pageData.length; k++) { - if (e.data.data.pageData[k].pickup_id == th.data.def_pick_store.pickup_id) { - e.data.data.pageData.splice(k, 1); //删除 - break; - } - } - e.data.data.pageData.splice(0, 0, th.data.def_pick_store); //添加 - } - - - th.setData({all_pick_list:e.data.data.pageData}); - - - setTimeout(function(){ - th.deal_pickup(e); //--普通门店排版-- - },800) - + } }) }, 200) diff --git a/packageA/pages/serviceCard_pd/team_show/team_show.wxml b/packageA/pages/serviceCard_pd/team_show/team_show.wxml index 75de01b..e473387 100644 --- a/packageA/pages/serviceCard_pd/team_show/team_show.wxml +++ b/packageA/pages/serviceCard_pd/team_show/team_show.wxml @@ -227,6 +227,7 @@ (配送不匹配) + (该店不可售) 地址:{{def_pick_store.fulladdress}} @@ -247,7 +248,8 @@ - 确定 + 配送不匹配 + 该店不可售 确定 @@ -292,7 +294,10 @@ - {{item.pickup_name}} + {{item.pickup_name}} + (配送不匹配) + (该店不可售) + @@ -318,7 +323,10 @@ - {{item.pickup_name}} + {{item.pickup_name}} + (配送不匹配) + (该店不可售) + - {{item.pickup_name}} + {{item.pickup_name}} + (配送不匹配) + (该店不可售) + diff --git a/packageA/pages/serviceCard_pd/team_show/team_show.wxss b/packageA/pages/serviceCard_pd/team_show/team_show.wxss index 34fe160..eaad7ee 100644 --- a/packageA/pages/serviceCard_pd/team_show/team_show.wxss +++ b/packageA/pages/serviceCard_pd/team_show/team_show.wxss @@ -2197,3 +2197,4 @@ page { /* background-color: #ddd; */ color: #ccc; } +.c-red22{ color:#d60021; } diff --git a/pages/team/team_show/team_show.js b/pages/team/team_show/team_show.js index 74118b9..9202e8f 100644 --- a/pages/team/team_show/team_show.js +++ b/pages/team/team_show/team_show.js @@ -615,27 +615,28 @@ Page({ //-- 获取用户的默认门店 -- getApp().get_user_store(function(ee) { - if(!ee) { - th.data.fir_def_store={}; //赋值空对象 - return false; - } - - if(getApp().globalData.is_dj_pk) th.setData({has_def:1}) - //--定时器推迟一下-- - setTimeout(function () { - if(!th.data.goods) return false; - var g_distr_type=th.data.goods.distr_type; - //--如果默认门店的配送方式不对,就不能被选择-- - if(ee.distr_type!=0 && g_distr_type!=0 && ee.distr_type!=g_distr_type ){ - //th.data.fir_def_store={}; //赋值空对象 - //return false; - ee.is_no_dis=1; + if(!ee) { + th.data.fir_def_store={}; //赋值空对象 + return false; } + if(getApp().globalData.is_dj_pk) th.setData({has_def:1}) + //--定时器推迟一下-- + var appd=getApp().globalData; var w_time = setInterval(function() { if (that.data.is_get_local_ok == 0) return false; + if(!th.data.goods) return false; + var g_distr_type=th.data.goods.distr_type; + //--如果默认门店的配送方式不对,就不能被选择-- + if(ee.distr_type!=0 && g_distr_type!=0 && ee.distr_type!=g_distr_type ){ + //th.data.fir_def_store={}; //赋值空对象 + //return false; + ee.is_no_dis=1; + } + clearInterval(w_time); + var distance = null; var e=JSON.parse(JSON.stringify(ee)); @@ -690,7 +691,7 @@ Page({ } }, 500) - },1000) + }); //获取下redis长度,如果团已经弄完,或者拼单已经卖完 @@ -1198,6 +1199,59 @@ Page({ var e = res; if (e.data.code == 0 && e.data.data && e.data.data.pageData && e.data.data.pageData.length>0) { + var pickup_ids=null; + //指定门店判断, 不是普通购买的时候,秒杀的时候,秒杀有指定门店 + if( th.data.teamlist.pick_up_lists){ + pickup_ids=th.data.teamlist.pick_up_lists + } + + //-- 如果有指定门店的时候 -- + if(pickup_ids){ + var ok_arr=[]; + for (let i in e.data.data.pageData) { + let ite = e.data.data.pageData[i]; + //-- 查找一下门店有没有在 -- + var idx=pickup_ids.findIndex(function (e){ + return e.pickup_id==ite.pickup_id; + }) + if(idx>-1){ + ok_arr.push(ite) + } + } + + //判断会员的默认的门店是不是匹配指定的门店 + if (th.data.def_pick_store && JSON.stringify(th.data.def_pick_store) != '{}'){ + //-- 查找一下门店有没有在 -- + var idx1=pickup_ids.findIndex(function (e){ + return e.pickup_id==th.data.def_pick_store.pickup_id; + }) + + if(idx1<0){ + th.data.def_pick_store.is_no_dis_act=1; + }else{ + th.data.def_pick_store.is_no_dis_act=0; + } + + that.setData({ + def_pick_store: th.data.def_pick_store + }) + + } + e.data.data.pageData=ok_arr; //数组重新赋值 + e.data.data.total=ok_arr.length; //数组的长度 + } + else{ + //-- 多规格指定门店优化 -- + if (th.data.def_pick_store && JSON.stringify(th.data.def_pick_store) != '{}'){ + th.data.def_pick_store.is_no_dis_act=0; + that.setData({ + def_pick_store: th.data.def_pick_store + }) + } + } + + + var his_cate_num=0; for(let i in e.data.data.pageData){ let item=e.data.data.pageData[i]; diff --git a/pages/team/team_show/team_show.wxml b/pages/team/team_show/team_show.wxml index 2adbc63..b5bc562 100644 --- a/pages/team/team_show/team_show.wxml +++ b/pages/team/team_show/team_show.wxml @@ -234,6 +234,7 @@ (配送不匹配) + (该店不可售) 地址:{{def_pick_store.fulladdress}} @@ -266,7 +267,8 @@ - 确定 + 配送不匹配 + 该店不可售 确定 @@ -312,7 +314,10 @@ - {{item.pickup_name}} + {{item.pickup_name}} + (配送不匹配) + (该店不可售) + @@ -338,7 +343,10 @@ - {{item.pickup_name}} + {{item.pickup_name}} + (配送不匹配) + (该店不可售) + - {{item.pickup_name}} + {{item.pickup_name}} + (配送不匹配) + (该店不可售) + diff --git a/pages/team/team_show/team_show.wxss b/pages/team/team_show/team_show.wxss index 34fe160..cbff3ff 100644 --- a/pages/team/team_show/team_show.wxss +++ b/pages/team/team_show/team_show.wxss @@ -2197,3 +2197,5 @@ page { /* background-color: #ddd; */ color: #ccc; } + +.c-red22{ color:#d60021; } -- libgit2 0.21.4