Commit a3e47d74b3ec85bbcbdfa22e6e899bb4e4eb9329

Authored by yvan.ni
1 parent b75e17a0

好友参团的页面,指定门店的优化

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
... ... @@ -2197,3 +2197,4 @@ page {
2197 2197 /* background-color: #ddd; */
2198 2198 color: #ccc;
2199 2199 }
  2200 +.c-red22{ color:#d60021; }
... ...
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}}">
... ...
pages/team/team_show/team_show.wxss
... ... @@ -2197,3 +2197,5 @@ page {
2197 2197 /* background-color: #ddd; */
2198 2198 color: #ccc;
2199 2199 }
  2200 +
  2201 +.c-red22{ color:#d60021; }
... ...