diff --git a/packageA/pages/details_serviceCard/details_serviceCard.js b/packageA/pages/details_serviceCard/details_serviceCard.js index a94af0f..9459004 100644 --- a/packageA/pages/details_serviceCard/details_serviceCard.js +++ b/packageA/pages/details_serviceCard/details_serviceCard.js @@ -747,10 +747,24 @@ Page({ return false; } + //指定门店的控制 + if (act_details.pick_up_lists) { + var idx0=act_details.pick_up_lists.findIndex(function (e){ + return e.pickup_id==it.pickup_id; + }) + if(idx0<0){ + getApp().confirmBox(it.service_name + "拼团活动的门店不可售"); + th.setData({ paying: 0 }); + flag = false; + return false; + } + } + + }; }); - if(act_details.buy_limit>0){ + if(act_details.buy_limit>0 && flag){ await getApp().request.promiseGet("/api/weshop/rechargeServicelist/getUserBuyGoodsNum", { data: { store_id: store_id, diff --git a/packageA/pages/serviceCard_pd/goodsInfo/buy_pt.wxml b/packageA/pages/serviceCard_pd/goodsInfo/buy_pt.wxml index 443f1e1..019324a 100644 --- a/packageA/pages/serviceCard_pd/goodsInfo/buy_pt.wxml +++ b/packageA/pages/serviceCard_pd/goodsInfo/buy_pt.wxml @@ -54,7 +54,8 @@ - (配送不匹配) + (该店不可售) + (该店不可售) (库存不足) 地址:{{def_pick_store.fulladdress}} @@ -146,7 +147,7 @@ - 配送不匹配 + 该店不可售 @@ -182,14 +183,16 @@ - - 配送不匹配 - - + 该店不可售 + + + 该店不可售 + + 确定 diff --git a/packageA/pages/serviceCard_pd/goodsInfo/goodsInfo.js b/packageA/pages/serviceCard_pd/goodsInfo/goodsInfo.js index d4856aa..3c1b94a 100644 --- a/packageA/pages/serviceCard_pd/goodsInfo/goodsInfo.js +++ b/packageA/pages/serviceCard_pd/goodsInfo/goodsInfo.js @@ -354,17 +354,17 @@ Page({ if(getApp().globalData.is_dj_pk) th.setData({has_def:1}) var ee = JSON.parse(JSON.stringify(e)); //--定时器推迟一下-- - setTimeout(function () { - if (!th.data.data) return false; - var ser_card = th.data.data; - //--如果默认门店不在等级卡的默认们店以内 - 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 () { if (that.data.is_get_local_ok == 0) return false; + if (!th.data.data) return false; + var ser_card = th.data.data; + //--如果默认门店不在等级卡的默认们店以内 + if (ser_card.storageId != null && ser_card.storageId != "" && ser_card.storageId.indexOf(ee.keyid) == -1) { + ee.is_no_dis = 1; + } + clearInterval(w_time); var distance = null; var e = JSON.parse(JSON.stringify(ee)); @@ -429,7 +429,7 @@ Page({ } } }, 500) - }, 700) + }); @@ -992,9 +992,6 @@ Page({ } - - - }, @@ -1003,6 +1000,7 @@ Page({ openSpecModal: !1, openSpecModal_pt: !1, openSpecModal_flash_normal: !1, + is_normal:0 }); }, @@ -1216,9 +1214,23 @@ Page({ //---------拿出门店分类和门店------------ get_sto(e) { + var is_normal=e; var th = this, that = this; + + if (e == 1) { + th.setData({ + is_normal: 1 + }) + } else { + th.setData({ + is_normal: 0 + }) + } + var timer_get = setInterval(function () { if (th.data.is_get_local_ok == 0) return false; + if (!th.data.fir_def_store) return false; + var i = getApp().request; if (!th.data.data) return false; var dd = { @@ -1240,7 +1252,8 @@ Page({ } wx.showLoading({ - title: '加载中.' + title: '加载中.', + mask:true }); //----------获取门店---------------- getApp().request.promiseGet("/api/weshop/pickup/list", { @@ -1272,31 +1285,69 @@ Page({ } } - //如果有开启距离的功能,没有设置默认门店,要用最近的门店作为默认门店 - 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({ - 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, - sto_sele_keyid: e.data.data.pageData[0].keyid, - }); - th.data.fir_def_store = e.data.data.pageData[0]; - } + //如果有秒杀的指定门店 + if(th.data.prom_type==6 && th.data.prom_act && th.data.prom_act.pick_up_lists && e.data.data.pageData.length && !is_normal){ + var pick_up_lists=th.data.prom_act.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) != '{}') { - 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; + 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 + }) } } - e.data.data.pageData.splice(0, 0, th.data.def_pick_store); //添加 + } - th.setData({all_pick_list: e.data.data.pageData}); - th.deal_pickup(e); + //-- 如果门店过滤后,还会是数量 -- + if(e.data.data.pageData.length) { + + //如果有开启距离的功能,没有设置默认门店,要用最近的门店作为默认门店 + 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({ + 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, + sto_sele_keyid: e.data.data.pageData[0].keyid, + }); + 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}); + th.deal_pickup(e); + }else{ + th.setData({all_pick_list: null, only_pk:null,def_pickpu_list:null }); + + wx.hideLoading(); + } }, 800) } @@ -3366,15 +3417,17 @@ Page({ getApp().goto("/pages/team/team_success/team_success?ordersn=" + odr.order_sn); } else { + th.get_sto(); th.setData({ - is_normal: ind, + is_normal: 0, openSpecModal_pt: 1 }); } } else { + th.get_sto(); th.setData({ - is_normal: ind, + is_normal: 0, openSpecModal_pt: 1 }); } diff --git a/packageA/pages/serviceCard_pd/goodsInfo/goodsInfo.wxml b/packageA/pages/serviceCard_pd/goodsInfo/goodsInfo.wxml index 3eb917e..4e33079 100644 --- a/packageA/pages/serviceCard_pd/goodsInfo/goodsInfo.wxml +++ b/packageA/pages/serviceCard_pd/goodsInfo/goodsInfo.wxml @@ -224,7 +224,8 @@ (未找到门店) - (配送不匹配) + (该店不可售) + (该店不可售) @@ -670,8 +671,9 @@ {{item.pickup_name}} - (配送不匹配) + (该店不可售) + (该店不可售) @@ -700,8 +702,9 @@ {{item.pickup_name}} - (配送不匹配) + (该店不可售) + (该店不可售) @@ -732,8 +735,9 @@ {{item.pickup_name}} - (配送不匹配) + (该店不可售) + (该店不可售) diff --git a/packageA/pages/serviceCard_pd/goodsInfo/goodsInfo.wxss b/packageA/pages/serviceCard_pd/goodsInfo/goodsInfo.wxss index e4a323a..af8db1e 100644 --- a/packageA/pages/serviceCard_pd/goodsInfo/goodsInfo.wxss +++ b/packageA/pages/serviceCard_pd/goodsInfo/goodsInfo.wxss @@ -2525,6 +2525,7 @@ margin-left: 17rpx; } .address_name{ margin-right: 10rpx; + max-width: 370rpx; } .address-val{ diff --git a/pages/goods/goodsInfo/buy_pt.wxml b/pages/goods/goodsInfo/buy_pt.wxml index eaf853f..424fc88 100644 --- a/pages/goods/goodsInfo/buy_pt.wxml +++ b/pages/goods/goodsInfo/buy_pt.wxml @@ -73,6 +73,7 @@ (配送不匹配) (该店不可售) + (该店不可售) (库存不足) @@ -220,7 +221,10 @@ 配送不匹配 - + + + 该店不可售 + 确定 diff --git a/pages/goods/goodsInfo/goodsInfo.js b/pages/goods/goodsInfo/goodsInfo.js index 99bbd02..25bbf40 100644 --- a/pages/goods/goodsInfo/goodsInfo.js +++ b/pages/goods/goodsInfo/goodsInfo.js @@ -2598,9 +2598,7 @@ Page({ sele_g: this.data.data, gid: this.data.data.goods_id }) - - this.sele_spec_chech_activity(); - + this.sele_spec_chech_activity(1); } this.setData({ @@ -3517,6 +3515,16 @@ Page({ prom_id: prom.id }) + var pro_null=null; + if(goodsinfo.prom_type==1){ + var rs= await getApp().request.promiseGet("/api/weshop/activitylist/getActLen/" + os.stoid + "/1/" + prom.id, {}); + if(rs && rs.data.code == 0 && rs.data.data <= 0 ){ + pro_null=1; + } + } + th.setData({pro_null}); + + //却换图片 th.init(goodsinfo.goods_id); var newTime = ut.gettimestamp(); @@ -3635,9 +3643,11 @@ Page({ if(!is_normal && th.data.prom_type>0){ pickup_ids=null; } - + + + //指定门店判断, 不是普通购买的时候,秒杀的时候,秒杀有指定门店 - if(!is_normal && th.data.prom_type==1 && th.data.prom_act.pick_up_lists){ + if(!is_normal && (th.data.prom_type==1 || th.data.prom_type==6) && th.data.prom_act.pick_up_lists){ pickup_ids=th.data.prom_act.pick_up_lists } @@ -3658,7 +3668,6 @@ Page({ //判断会员的默认的门店是不是匹配指定的门店 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; @@ -3666,12 +3675,11 @@ Page({ if(idx1<0){ //如果是秒杀的指定门店,就要设置秒杀的 - if(!is_normal && th.data.prom_type==1){ + if(!is_normal && (th.data.prom_type==1 || th.data.prom_type==6) ){ th.data.def_pick_store.is_no_dis_act=1; }else{ th.data.def_pick_store.is_no_dis_nor=1; } - }else{ th.data.def_pick_store.is_no_dis_nor=0; th.data.def_pick_store.is_no_dis_act=0; @@ -3682,19 +3690,18 @@ Page({ }) } - - 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_nor=0; - th.data.def_pick_store.is_no_dis_act=0; - that.setData({ - def_pick_store: th.data.def_pick_store - }) + + th.data.def_pick_store.is_no_dis_nor=0; + th.data.def_pick_store.is_no_dis_act=0; + that.setData({ + def_pick_store: th.data.def_pick_store + }) } } @@ -4535,7 +4542,7 @@ Page({ if (em.data.code == 0) { if (em.data.data <= 0) ee.setData({ - prom_r_null: 1 + prom_r_null: 1,pro_null:1 }); //拿取价格并且判断时间-- getApp().request.get("/api/ms/flash_sale/getNew/" + os.stoid + "/" + user_id + "/" + prom_id, { @@ -4643,6 +4650,7 @@ Page({ ee.setData({ sku_g: list, + is_more_flash:1 }); } @@ -8574,11 +8582,19 @@ Page({ if (arr.length == 1) { th.data.prom_type = arr[0].prom_type; th.data.prom_id = arr[0].act_id; + //-- 基础的活动类型 -- + th.data.base_nor_prom_type = arr[0].prom_type; + th.data.base_nor_prom_id = arr[0].act_id; + } //-- 如果只有一个进行中的活动的话 -- else if (arr2.length == 1) { th.data.prom_type = arr2[0].prom_type; th.data.prom_id = arr2[0].act_id; + + //-- 基础的活动类型 -- + th.data.base_nor_prom_type = arr[0].prom_type; + th.data.base_nor_prom_id = arr[0].act_id; } if (arr4.length > 0) { diff --git a/pages/goods/goodsInfo/goodsInfo.wxml b/pages/goods/goodsInfo/goodsInfo.wxml index e1337e7..b6c975f 100644 --- a/pages/goods/goodsInfo/goodsInfo.wxml +++ b/pages/goods/goodsInfo/goodsInfo.wxml @@ -1115,19 +1115,40 @@ + + + + + + 单独购买 + 立即抢购 + + + 加入购物车 + 立即抢购 + + + + + 单独购买 + 已抢光 + + + 已抢光 + + + - - 单独购买 - 已抢光 + 已抢光 + 单独购买 活动已经结束 - 活动已经结束 @@ -1266,8 +1287,8 @@ 券后¥ {{sele_g.offline_price}} - + 已售:{{sele_g.sales_sum}} @@ -1424,8 +1445,6 @@ - - @@ -1445,7 +1464,13 @@ - + + + + 已抢光 + + + 库存不足 diff --git a/pages/user/order_detail/order_detail.js b/pages/user/order_detail/order_detail.js index f14dad6..61a235a 100644 --- a/pages/user/order_detail/order_detail.js +++ b/pages/user/order_detail/order_detail.js @@ -978,14 +978,19 @@ Page({ } //----------如果有活动,并且在进行中,就不计算线下库存--------------- if (prom) { - + let c_type=parseInt(goodsinfo.prom_type+''); + var act_type=''; + switch (c_type){ + case 1:act_type='秒杀';break; + case 6:act_type='拼团';break; + } //指定门店的控制 - if (goodsinfo.prom_type == 1 && prom.pick_up_lists) { + if ([1,6].indexOf(c_type)>-1 && prom.pick_up_lists) { var idx0=prom.pick_up_lists.findIndex(function (e){ return e.pickup_id==order.pickup_id; }) if(idx0<0){ - getApp().confirmBox(goodsinfo.goods_name + "秒杀活动的门店不可售"); + getApp().confirmBox(goodsinfo.goods_name +act_type+"活动的门店不可售"); th.setData({ paying: 0 }); return false; } diff --git a/pages/user/order_list/order_list.js b/pages/user/order_list/order_list.js index 0b79ea3..1437fd0 100644 --- a/pages/user/order_list/order_list.js +++ b/pages/user/order_list/order_list.js @@ -1031,8 +1031,7 @@ Page({ } if (prom) { var t_now = ut.gettimestamp(); - if (prom.is_end == 0 && prom.start_time < t_now && prom.end_time > t_now) { - + if (prom.is_end == 0 && prom.start_time < t_now && prom.end_time > t_now ) { var content = gg.goods_name + '商品的活动发生了变化,请取消订单重新购买'; th.toast(content); th.setData({ paying: 0 }); @@ -1292,20 +1291,25 @@ Page({ } //----------如果有活动,并且在进行中,就不计算线下库存--------------- if (prom) { + let c_type=parseInt(goodsinfo.prom_type+''); + var act_type=''; + switch (c_type){ + case 1:act_type='秒杀';break; + case 6:act_type='拼团';break; + } //指定门店的控制 - if (goodsinfo.prom_type == 1 && prom.pick_up_lists) { + if ([1,6].indexOf(c_type)>-1 && prom.pick_up_lists) { var idx0=prom.pick_up_lists.findIndex(function (e){ return e.pickup_id==order.pickup_id; }) if(idx0<0){ - getApp().confirmBox(goodsinfo.goods_name + "秒杀活动的门店不可售"); + getApp().confirmBox(goodsinfo.goods_name +act_type+ "活动的门店不可售"); th.setData({ paying: 0 }); return false; } } - var now = ut.gettimestamp(); if (prom.is_end == 1 && prom.end_time < now) { var content = goodsinfo.goods_name + '商品的活动已经结束,请取消订单' @@ -2951,6 +2955,21 @@ Page({ flag = false; return false; } + + //指定门店的控制 + if (act_details.pick_up_lists) { + var idx0=act_details.pick_up_lists.findIndex(function (e){ + return e.pickup_id==it.pickup_id; + }) + if(idx0<0){ + getApp().confirmBox(it.service_name + "拼团活动的门店不可售"); + th.setData({ paying: 0 }); + flag = false; + return false; + } + } + + } });