Commit a3e47d74b3ec85bbcbdfa22e6e899bb4e4eb9329
1 parent
b75e17a0
好友参团的页面,指定门店的优化
Showing
7 changed files
with
200 additions
and
70 deletions
packageA/pages/serviceCard_pd/goodsInfo/goodsInfo.js
... | ... | @@ -1262,16 +1262,6 @@ Page({ |
1262 | 1262 | var e = res; |
1263 | 1263 | if (e.data.code == 0 && e.data.data && e.data.data.pageData && e.data.data.pageData.length > 0) { |
1264 | 1264 | |
1265 | - var his_cate_num = 0; | |
1266 | - for (let i in e.data.data.pageData) { | |
1267 | - let item = e.data.data.pageData[i]; | |
1268 | - if (item.category_id > 0) { | |
1269 | - his_cate_num = 1; | |
1270 | - break; | |
1271 | - } | |
1272 | - } | |
1273 | - e.his_cate_num = his_cate_num; | |
1274 | - | |
1275 | 1265 | //--普通门店排版,服务卡项有指定门店才能使用,所以要筛选一下-- |
1276 | 1266 | setTimeout(function () { |
1277 | 1267 | var sto_list = th.data.data.storageId; |
... | ... | @@ -1318,6 +1308,17 @@ Page({ |
1318 | 1308 | //-- 如果门店过滤后,还会是数量 -- |
1319 | 1309 | if(e.data.data.pageData.length) { |
1320 | 1310 | |
1311 | + var his_cate_num = 0; | |
1312 | + for (let i in e.data.data.pageData) { | |
1313 | + let item = e.data.data.pageData[i]; | |
1314 | + if (item.category_id > 0) { | |
1315 | + his_cate_num = 1; | |
1316 | + break; | |
1317 | + } | |
1318 | + } | |
1319 | + e.his_cate_num = his_cate_num; | |
1320 | + | |
1321 | + | |
1321 | 1322 | //如果有开启距离的功能,没有设置默认门店,要用最近的门店作为默认门店 |
1322 | 1323 | if (dd.lat && (!th.data.def_pick_store || JSON.stringify(th.data.def_pick_store) == '{}') && th.data.bconfig && th.data.bconfig.is_sort_storage) { |
1323 | 1324 | th.setData({ | ... | ... |
packageA/pages/serviceCard_pd/team_show/team_show.js
... | ... | @@ -608,6 +608,12 @@ Page({ |
608 | 608 | // if(ee.distr_type!=0 && g_distr_type!=0 && ee.distr_type!=g_distr_type ){ |
609 | 609 | // ee.is_no_dis=1; |
610 | 610 | // } |
611 | + var ser_card = th.data.goods; | |
612 | + //--如果默认门店不在等级卡的默认们店以内 | |
613 | + if (ser_card.storageId != null && ser_card.storageId != "" && ser_card.storageId.indexOf(ee.keyid) == -1) { | |
614 | + ee.is_no_dis = 1; | |
615 | + } | |
616 | + | |
611 | 617 | |
612 | 618 | var appd=getApp().globalData; |
613 | 619 | var w_time = setInterval(function() { |
... | ... | @@ -1153,7 +1159,9 @@ Page({ |
1153 | 1159 | var timer_get = setInterval(function() { |
1154 | 1160 | if (th.data.is_get_local_ok == 0) return false; |
1155 | 1161 | if (!th.data.goods) return false; |
1156 | - var dd = null, i = getApp().request; | |
1162 | + if (!th.data.fir_def_store) return false; | |
1163 | + | |
1164 | + var dd = null, i = getApp().request; | |
1157 | 1165 | var g_distr_type = th.data.goods.distr_type; |
1158 | 1166 | |
1159 | 1167 | dd = { |
... | ... | @@ -1179,45 +1187,87 @@ Page({ |
1179 | 1187 | var e = res; |
1180 | 1188 | if (e.data.code == 0 && e.data.data && e.data.data.pageData && e.data.data.pageData.length>0) { |
1181 | 1189 | |
1182 | - var his_cate_num=0; | |
1183 | - for(let i in e.data.data.pageData){ | |
1190 | + var sto_list = th.data.goods.storageId; | |
1191 | + if (sto_list) { | |
1192 | + for (var k = 0; k < e.data.data.pageData.length; k++) { | |
1193 | + var it = e.data.data.pageData[k]; | |
1194 | + if (sto_list.indexOf(it.keyid) == -1) { | |
1195 | + //删除 | |
1196 | + e.data.data.pageData.splice(k--, 1); | |
1197 | + } | |
1198 | + } | |
1199 | + } | |
1200 | + | |
1201 | + //如果有秒杀的指定门店 | |
1202 | + if( th.data.teamlist && th.data.teamlist.pick_up_lists && e.data.data.pageData.length){ | |
1203 | + var pick_up_lists=th.data.teamlist.pick_up_lists; | |
1204 | + for (var kq = 0; kq < e.data.data.pageData.length; kq++) { | |
1205 | + var it0=e.data.data.pageData[kq]; | |
1206 | + var idx0=pick_up_lists.findIndex(function (e){ | |
1207 | + return e.pickup_id==it0.pickup_id; | |
1208 | + }) | |
1209 | + if (idx0<0) { | |
1210 | + //删除 | |
1211 | + e.data.data.pageData.splice(kq--, 1); | |
1212 | + } | |
1213 | + } | |
1214 | + | |
1215 | + if (th.data.def_pick_store && JSON.stringify(th.data.def_pick_store)!='{}'){ | |
1216 | + //-- 查找一下门店有没有在 -- | |
1217 | + var idx1=pick_up_lists.findIndex(function (e){ | |
1218 | + return e.pickup_id==th.data.def_pick_store.pickup_id; | |
1219 | + }) | |
1220 | + if(idx1<0){ | |
1221 | + //如果是秒杀的指定门店,就要设置秒杀的 | |
1222 | + th.data.def_pick_store.is_no_dis_act=1; | |
1223 | + that.setData({ | |
1224 | + def_pick_store: th.data.def_pick_store | |
1225 | + }) | |
1226 | + } | |
1227 | + } | |
1228 | + | |
1229 | + } | |
1230 | + | |
1231 | + if(e.data.data.pageData.length){ | |
1232 | + var his_cate_num=0; | |
1233 | + for(let i in e.data.data.pageData){ | |
1184 | 1234 | let item=e.data.data.pageData[i]; |
1185 | 1235 | if(item.category_id>0){ |
1186 | - his_cate_num=1;break; | |
1236 | + his_cate_num=1;break; | |
1237 | + } | |
1238 | + } | |
1239 | + e.his_cate_num=his_cate_num; | |
1240 | + | |
1241 | + //如果有开启距离的功能,没有设置默认门店,要用最近的门店作为默认门店 | |
1242 | + if(dd.lat && !th.data.def_pick_store && th.data.bconfig && th.data.bconfig.is_sort_storage){ | |
1243 | + th.setData({ | |
1244 | + def_pick_store:e.data.data.pageData[0], | |
1245 | + sto_sele_name: e.data.data.pageData[0].pickup_name, | |
1246 | + sto_sele_id: e.data.data.pageData[0].pickup_id, | |
1247 | + sto_sele_distr: e.data.data.pageData[0].distr_type | |
1248 | + }); | |
1249 | + th.data.fir_def_store=e.data.data.pageData[0]; | |
1250 | + } | |
1251 | + | |
1252 | + //-- 如果有默认选择门店的时候,要把默认门店放在第一位 -- | |
1253 | + if (th.data.def_pick_store && JSON.stringify(th.data.def_pick_store)!='{}'){ | |
1254 | + for (var k = 0; k < e.data.data.pageData.length; k++) { | |
1255 | + if (e.data.data.pageData[k].pickup_id == th.data.def_pick_store.pickup_id) { | |
1256 | + e.data.data.pageData.splice(k, 1); //删除 | |
1257 | + break; | |
1258 | + } | |
1187 | 1259 | } |
1260 | + e.data.data.pageData.splice(0, 0, th.data.def_pick_store); //添加 | |
1261 | + } | |
1262 | + | |
1263 | + | |
1264 | + th.setData({all_pick_list:e.data.data.pageData}); | |
1265 | + | |
1266 | + setTimeout(function(){ | |
1267 | + th.deal_pickup(e); //--普通门店排版-- | |
1268 | + },800) | |
1188 | 1269 | } |
1189 | - e.his_cate_num=his_cate_num; | |
1190 | - | |
1191 | - //如果有开启距离的功能,没有设置默认门店,要用最近的门店作为默认门店 | |
1192 | - if(dd.lat && !th.data.def_pick_store && th.data.bconfig && th.data.bconfig.is_sort_storage){ | |
1193 | - th.setData({ | |
1194 | - def_pick_store:e.data.data.pageData[0], | |
1195 | - sto_sele_name: e.data.data.pageData[0].pickup_name, | |
1196 | - sto_sele_id: e.data.data.pageData[0].pickup_id, | |
1197 | - sto_sele_distr: e.data.data.pageData[0].distr_type | |
1198 | - }); | |
1199 | - th.data.fir_def_store=e.data.data.pageData[0]; | |
1200 | - } | |
1201 | - | |
1202 | - //-- 如果有默认选择门店的时候,要把默认门店放在第一位 -- | |
1203 | - if (th.data.def_pick_store && JSON.stringify(th.data.def_pick_store)!='{}'){ | |
1204 | - for (var k = 0; k < e.data.data.pageData.length; k++) { | |
1205 | - if (e.data.data.pageData[k].pickup_id == th.data.def_pick_store.pickup_id) { | |
1206 | - e.data.data.pageData.splice(k, 1); //删除 | |
1207 | - break; | |
1208 | - } | |
1209 | - } | |
1210 | - e.data.data.pageData.splice(0, 0, th.data.def_pick_store); //添加 | |
1211 | - } | |
1212 | - | |
1213 | - | |
1214 | - th.setData({all_pick_list:e.data.data.pageData}); | |
1215 | - | |
1216 | - | |
1217 | - setTimeout(function(){ | |
1218 | - th.deal_pickup(e); //--普通门店排版-- | |
1219 | - },800) | |
1220 | - | |
1270 | + | |
1221 | 1271 | } |
1222 | 1272 | }) |
1223 | 1273 | }, 200) | ... | ... |
packageA/pages/serviceCard_pd/team_show/team_show.wxml
... | ... | @@ -227,6 +227,7 @@ |
227 | 227 | |
228 | 228 | </view> |
229 | 229 | <view class="no_store" wx:if="{{def_pick_store && def_pick_store.is_no_dis}}">(配送不匹配)</view> |
230 | + <view class="no_store" wx:elif="{{def_pick_store && def_pick_store.is_no_dis_act}}">(该店不可售)</view> | |
230 | 231 | <view class="fs24 xc-ash-9f xc-distance-top " wx:elif="{{def_pick_store && def_pick_store.fulladdress}}">地址:{{def_pick_store.fulladdress}}</view> |
231 | 232 | |
232 | 233 | </view> |
... | ... | @@ -247,7 +248,8 @@ |
247 | 248 | </view> |
248 | 249 | |
249 | 250 | <view class="pt_qd"> |
250 | - <view wx:if="{{def_pick_store && def_pick_store.is_no_dis}}" class="spec-cart-btn spec-buy w100" data-action="buy" style="background-color: #dcdcdc;color: #999;">确定</view> | |
251 | + <view wx:if="{{def_pick_store && def_pick_store.is_no_dis}}" class="spec-cart-btn spec-buy w100" data-action="buy" style="background-color: #dcdcdc;color: #999;">配送不匹配</view> | |
252 | + <view wx:elif="{{def_pick_store && def_pick_store.is_no_dis_act}}" class="spec-cart-btn spec-buy w100" data-action="buy" style="background-color: #dcdcdc;color: #999;">该店不可售</view> | |
251 | 253 | <view wx:else bindtap="go_pay" class="spec-cart-btn spec-buy w100" data-action="buy">确定</view> |
252 | 254 | </view> |
253 | 255 | |
... | ... | @@ -292,7 +294,10 @@ |
292 | 294 | <view class="address-frame xc-ash"> |
293 | 295 | <view class="flex-vertical-between butttem5"> |
294 | 296 | <view class="flex xc-ash"> |
295 | - <view class="fs30 xc-black3 address_name">{{item.pickup_name}}</view> | |
297 | + <view class="fs30 xc-black3 address_name">{{item.pickup_name}} | |
298 | + <text class="c-red22" wx:if="{{item.is_no_dis}}">(配送不匹配)</text> | |
299 | + <text class="c-red22" wx:elif="{{item.is_no_dis_act}}">(该店不可售)</text> | |
300 | + </view> | |
296 | 301 | </view> |
297 | 302 | <view> |
298 | 303 | <view class="distance fs24 address-val"wx:if="{{item.distance!=null}}"> |
... | ... | @@ -318,7 +323,10 @@ |
318 | 323 | <view class="address-frame xc-ash"> |
319 | 324 | <view class="flex-vertical-between "> |
320 | 325 | <view class="flex xc-ash"> |
321 | - <view class="fs30 xc-black3 address_name">{{item.pickup_name}}</view> | |
326 | + <view class="fs30 xc-black3 address_name">{{item.pickup_name}} | |
327 | + <text class="c-red22" wx:if="{{item.is_no_dis}}">(配送不匹配)</text> | |
328 | + <text class="c-red22" wx:elif="{{item.is_no_dis_act}}">(该店不可售)</text> | |
329 | + </view> | |
322 | 330 | </view> |
323 | 331 | <view> |
324 | 332 | <view class="distance fs24 address-val" |
... | ... | @@ -346,7 +354,10 @@ |
346 | 354 | <view class="address-frame xc-ash"> |
347 | 355 | <view class="flex-vertical-between "> |
348 | 356 | <view class="flex xc-ash"> |
349 | - <view class="fs28 xc-black3 address_name">{{item.pickup_name}}</view> | |
357 | + <view class="fs28 xc-black3 address_name">{{item.pickup_name}} | |
358 | + <text class="c-red22" wx:if="{{item.is_no_dis}}">(配送不匹配)</text> | |
359 | + <text class="c-red22" wx:elif="{{item.is_no_dis_act}}">(该店不可售)</text> | |
360 | + </view> | |
350 | 361 | </view> |
351 | 362 | <view> |
352 | 363 | <view class="distance fs24 address-val"wx:if="{{item.distance!=null}}"> | ... | ... |
packageA/pages/serviceCard_pd/team_show/team_show.wxss
pages/team/team_show/team_show.js
... | ... | @@ -615,27 +615,28 @@ Page({ |
615 | 615 | |
616 | 616 | //-- 获取用户的默认门店 -- |
617 | 617 | getApp().get_user_store(function(ee) { |
618 | - if(!ee) { | |
619 | - th.data.fir_def_store={}; //赋值空对象 | |
620 | - return false; | |
621 | - } | |
622 | - | |
623 | - if(getApp().globalData.is_dj_pk) th.setData({has_def:1}) | |
624 | - //--定时器推迟一下-- | |
625 | - setTimeout(function () { | |
626 | - if(!th.data.goods) return false; | |
627 | - var g_distr_type=th.data.goods.distr_type; | |
628 | - //--如果默认门店的配送方式不对,就不能被选择-- | |
629 | - if(ee.distr_type!=0 && g_distr_type!=0 && ee.distr_type!=g_distr_type ){ | |
630 | - //th.data.fir_def_store={}; //赋值空对象 | |
631 | - //return false; | |
632 | - ee.is_no_dis=1; | |
618 | + if(!ee) { | |
619 | + th.data.fir_def_store={}; //赋值空对象 | |
620 | + return false; | |
633 | 621 | } |
634 | 622 | |
623 | + if(getApp().globalData.is_dj_pk) th.setData({has_def:1}) | |
624 | + //--定时器推迟一下-- | |
625 | + | |
635 | 626 | var appd=getApp().globalData; |
636 | 627 | var w_time = setInterval(function() { |
637 | 628 | if (that.data.is_get_local_ok == 0) return false; |
629 | + if(!th.data.goods) return false; | |
630 | + var g_distr_type=th.data.goods.distr_type; | |
631 | + //--如果默认门店的配送方式不对,就不能被选择-- | |
632 | + if(ee.distr_type!=0 && g_distr_type!=0 && ee.distr_type!=g_distr_type ){ | |
633 | + //th.data.fir_def_store={}; //赋值空对象 | |
634 | + //return false; | |
635 | + ee.is_no_dis=1; | |
636 | + } | |
637 | + | |
638 | 638 | clearInterval(w_time); |
639 | + | |
639 | 640 | var distance = null; |
640 | 641 | var e=JSON.parse(JSON.stringify(ee)); |
641 | 642 | |
... | ... | @@ -690,7 +691,7 @@ Page({ |
690 | 691 | } |
691 | 692 | |
692 | 693 | }, 500) |
693 | - },1000) | |
694 | + | |
694 | 695 | }); |
695 | 696 | |
696 | 697 | //获取下redis长度,如果团已经弄完,或者拼单已经卖完 |
... | ... | @@ -1198,6 +1199,59 @@ Page({ |
1198 | 1199 | var e = res; |
1199 | 1200 | if (e.data.code == 0 && e.data.data && e.data.data.pageData && e.data.data.pageData.length>0) { |
1200 | 1201 | |
1202 | + var pickup_ids=null; | |
1203 | + //指定门店判断, 不是普通购买的时候,秒杀的时候,秒杀有指定门店 | |
1204 | + if( th.data.teamlist.pick_up_lists){ | |
1205 | + pickup_ids=th.data.teamlist.pick_up_lists | |
1206 | + } | |
1207 | + | |
1208 | + //-- 如果有指定门店的时候 -- | |
1209 | + if(pickup_ids){ | |
1210 | + var ok_arr=[]; | |
1211 | + for (let i in e.data.data.pageData) { | |
1212 | + let ite = e.data.data.pageData[i]; | |
1213 | + //-- 查找一下门店有没有在 -- | |
1214 | + var idx=pickup_ids.findIndex(function (e){ | |
1215 | + return e.pickup_id==ite.pickup_id; | |
1216 | + }) | |
1217 | + if(idx>-1){ | |
1218 | + ok_arr.push(ite) | |
1219 | + } | |
1220 | + } | |
1221 | + | |
1222 | + //判断会员的默认的门店是不是匹配指定的门店 | |
1223 | + if (th.data.def_pick_store && JSON.stringify(th.data.def_pick_store) != '{}'){ | |
1224 | + //-- 查找一下门店有没有在 -- | |
1225 | + var idx1=pickup_ids.findIndex(function (e){ | |
1226 | + return e.pickup_id==th.data.def_pick_store.pickup_id; | |
1227 | + }) | |
1228 | + | |
1229 | + if(idx1<0){ | |
1230 | + th.data.def_pick_store.is_no_dis_act=1; | |
1231 | + }else{ | |
1232 | + th.data.def_pick_store.is_no_dis_act=0; | |
1233 | + } | |
1234 | + | |
1235 | + that.setData({ | |
1236 | + def_pick_store: th.data.def_pick_store | |
1237 | + }) | |
1238 | + | |
1239 | + } | |
1240 | + e.data.data.pageData=ok_arr; //数组重新赋值 | |
1241 | + e.data.data.total=ok_arr.length; //数组的长度 | |
1242 | + } | |
1243 | + else{ | |
1244 | + //-- 多规格指定门店优化 -- | |
1245 | + if (th.data.def_pick_store && JSON.stringify(th.data.def_pick_store) != '{}'){ | |
1246 | + th.data.def_pick_store.is_no_dis_act=0; | |
1247 | + that.setData({ | |
1248 | + def_pick_store: th.data.def_pick_store | |
1249 | + }) | |
1250 | + } | |
1251 | + } | |
1252 | + | |
1253 | + | |
1254 | + | |
1201 | 1255 | var his_cate_num=0; |
1202 | 1256 | for(let i in e.data.data.pageData){ |
1203 | 1257 | let item=e.data.data.pageData[i]; | ... | ... |
pages/team/team_show/team_show.wxml
... | ... | @@ -234,6 +234,7 @@ |
234 | 234 | |
235 | 235 | </view> |
236 | 236 | <view class="no_store" wx:if="{{def_pick_store && def_pick_store.is_no_dis}}">(配送不匹配)</view> |
237 | + <view class="no_store" wx:elif="{{def_pick_store && def_pick_store.is_no_dis_act}}">(该店不可售)</view> | |
237 | 238 | <view class="fs24 xc-ash-9f xc-distance-top " wx:elif="{{def_pick_store && def_pick_store.fulladdress}}">地址:{{def_pick_store.fulladdress}}</view> |
238 | 239 | |
239 | 240 | </view> |
... | ... | @@ -266,7 +267,8 @@ |
266 | 267 | </view> |
267 | 268 | |
268 | 269 | <view class="pt_qd"> |
269 | - <view wx:if="{{def_pick_store && def_pick_store.is_no_dis}}" class="spec-cart-btn spec-buy w100" data-action="buy" style="background-color: #dcdcdc;color: #999;">确定</view> | |
270 | + <view wx:if="{{def_pick_store && def_pick_store.is_no_dis}}" class="spec-cart-btn spec-buy w100" data-action="buy" style="background-color: #dcdcdc;color: #999;">配送不匹配</view> | |
271 | + <view wx:elif="{{def_pick_store && def_pick_store.is_no_dis_act}}" class="spec-cart-btn spec-buy w100" data-action="buy" style="background-color: #dcdcdc;color: #999;">该店不可售</view> | |
270 | 272 | <view wx:else bindtap="go_pay" class="spec-cart-btn spec-buy w100" data-action="buy">确定</view> |
271 | 273 | </view> |
272 | 274 | |
... | ... | @@ -312,7 +314,10 @@ |
312 | 314 | <view class="address-frame xc-ash"> |
313 | 315 | <view class="flex-vertical-between butttem5"> |
314 | 316 | <view class="flex xc-ash"> |
315 | - <view class="fs30 xc-black3 address_name">{{item.pickup_name}}</view> | |
317 | + <view class="fs30 xc-black3 address_name">{{item.pickup_name}} | |
318 | + <text class="c-red22" wx:if="{{item.is_no_dis}}">(配送不匹配)</text> | |
319 | + <text class="c-red22" wx:elif="{{item.is_no_dis_act}}">(该店不可售)</text> | |
320 | + </view> | |
316 | 321 | </view> |
317 | 322 | <view> |
318 | 323 | <view class="distance fs24 address-val"wx:if="{{item.distance!=null}}"> |
... | ... | @@ -338,7 +343,10 @@ |
338 | 343 | <view class="address-frame xc-ash"> |
339 | 344 | <view class="flex-vertical-between "> |
340 | 345 | <view class="flex xc-ash"> |
341 | - <view class="fs30 xc-black3 address_name">{{item.pickup_name}}</view> | |
346 | + <view class="fs30 xc-black3 address_name">{{item.pickup_name}} | |
347 | + <text class="c-red22" wx:if="{{item.is_no_dis}}">(配送不匹配)</text> | |
348 | + <text class="c-red22" wx:elif="{{item.is_no_dis_act}}">(该店不可售)</text> | |
349 | + </view> | |
342 | 350 | </view> |
343 | 351 | <view> |
344 | 352 | <view class="distance fs24 address-val" |
... | ... | @@ -366,7 +374,10 @@ |
366 | 374 | <view class="address-frame xc-ash"> |
367 | 375 | <view class="flex-vertical-between "> |
368 | 376 | <view class="flex xc-ash"> |
369 | - <view class="fs28 xc-black3 address_name">{{item.pickup_name}}</view> | |
377 | + <view class="fs28 xc-black3 address_name">{{item.pickup_name}} | |
378 | + <text class="c-red22" wx:if="{{item.is_no_dis}}">(配送不匹配)</text> | |
379 | + <text class="c-red22" wx:elif="{{item.is_no_dis_act}}">(该店不可售)</text> | |
380 | + </view> | |
370 | 381 | </view> |
371 | 382 | <view> |
372 | 383 | <view class="distance fs24 address-val"wx:if="{{item.distance!=null}}"> | ... | ... |