diff --git a/packageA/pages/goodsInfo/goodsInfo.wxss b/packageA/pages/goodsInfo/goodsInfo.wxss index 938bc20..6c3850d 100644 --- a/packageA/pages/goodsInfo/goodsInfo.wxss +++ b/packageA/pages/goodsInfo/goodsInfo.wxss @@ -2425,7 +2425,7 @@ margin: auto; */ } .shop_name{ margin-right: 10rpx; - max-width: 375rpx; + max-width: 370rpx; } .address{ /* width: 100%; diff --git a/packageC/pages/presell/cart/cart.js b/packageC/pages/presell/cart/cart.js index 0af57e2..ffb3797 100644 --- a/packageC/pages/presell/cart/cart.js +++ b/packageC/pages/presell/cart/cart.js @@ -2763,6 +2763,14 @@ Page({ } }) + if(!presellList || !presellList.length){ + var content = good.goods_name + '未找到预售活动,请取消订单'; + th.toast(content); + th.setData({ paying: 0 }); + return false; + } + + if (presellList) { if (good.goods_num > presellList.presell_sumqty - presellList.buy_goodnum) { @@ -2777,6 +2785,29 @@ Page({ return false; } + var fres=await getApp().request.promiseGet("/api/weshop/marketing/marketingPresellForm/get/"+os.stoid+"/"+presell_id, {}); + //接口调用成功的时候 + if(fres && fres.data.code==0 && fres.data.data){ + //如果有指定门店的时候 + if(fres.data.data.pick_up_lists){ + var idx0=fres.data.data.pick_up_lists.findIndex(function (e){ + return e.pickup_id==order.pickup_id; + }) + if(idx0<0){ + getApp().confirmBox(good.goods_name+"预售活动的门店不可售"); + th.setData({ paying: 0 }); + return false; + } + } + + }else{ + var content = good.goods_name + '未找到预售活动,请取消订单'; + th.toast(content); + th.setData({ paying: 0 }); + return false; + } + + } } diff --git a/packageC/pages/presell/goodsInfo/goodsInfo.js b/packageC/pages/presell/goodsInfo/goodsInfo.js index e80cc7c..9712e6b 100644 --- a/packageC/pages/presell/goodsInfo/goodsInfo.js +++ b/packageC/pages/presell/goodsInfo/goodsInfo.js @@ -878,6 +878,7 @@ Page({ sele_g: t.data.data, userInfo: getApp().globalData.userInfo, }); + ee.init(gid); //获取门店 ee.get_sto(); @@ -1912,6 +1913,7 @@ Page({ //---------拿出门店分类和门店------------ get_sto(e) { var th = this, is_normal = e; + var that=th; if (e == 1) { th.setData({ is_normal: 1 }) @@ -1921,6 +1923,8 @@ Page({ var timer_get = setInterval(function () { if (th.data.is_get_local_ok == 0) return false; + if (!th.data.fir_def_store) return false; + var dd = null, i = getApp().request; if (!th.data.sele_g) return false; @@ -1968,44 +1972,107 @@ Page({ }).then(res => { var e = res; + //确保门店的数量要>0时,才进行计算 if (e.data.code == 0 && e.data.data && e.data.data.pageData && e.data.data.pageData.length > 0) { - //如果有开启距离的功能,没有设置默认门店,要用最近的门店作为默认门店 - 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 - }); - 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; + + //指定门店判断, 不是普通购买的时候,秒杀的时候,秒杀有指定门店 + var pickup_ids=th.data.presellForm.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 + }) } - e.data.data.pageData.splice(0, 0, th.data.def_pick_store); //添加 } + //确保门店的数量要>0时,才进行计算 + if(e.data.data.pageData.length > 0) { - th.setData({ all_pick_list: e.data.data.pageData }); - //--获取线下库存,而且不是新的门店规则, 同时是普通购买的时候,或者同时不能是活动,秒杀,拼团,积分购 预售-- - if(!getApp().is_virtual(th.data.sele_g) && !th.data.sele_g.whsle_id - && th.data.sales_rules >= 2 && !th.data.is_newsales_rules && ([1,2,4,6,8,9].indexOf(th.data.prom_type)==-1 || is_normal == 1)) { - setTimeout(function () { - th.deal_pickup_dline(e); - }, 800) - } else { - setTimeout(function () { - th.deal_pickup(e); //--普通门店排版-- - }, 800) + //如果有开启距离的功能,没有设置默认门店,要用最近的门店作为默认门店 + 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 + }); + 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}); + + //--获取线下库存,而且不是新的门店规则, 同时是普通购买的时候,或者同时不能是活动,秒杀,拼团,积分购 预售-- + if (!getApp().is_virtual(th.data.sele_g) && !th.data.sele_g.whsle_id + && th.data.sales_rules >= 2 && !th.data.is_newsales_rules && ([1, 2, 4, 6, 8, 9].indexOf(th.data.prom_type) == -1 || is_normal == 1)) { + setTimeout(function () { + th.deal_pickup_dline(e); + }, 800) + } else { + setTimeout(function () { + th.deal_pickup(e); //--普通门店排版-- + }, 800) + } } + else{ + wx.hideLoading(); + } + } + else{ + wx.hideLoading(); } }) }, 200) diff --git a/packageC/pages/presell/goodsInfo/goodsInfo.wxml b/packageC/pages/presell/goodsInfo/goodsInfo.wxml index 8c239d1..71b9393 100644 --- a/packageC/pages/presell/goodsInfo/goodsInfo.wxml +++ b/packageC/pages/presell/goodsInfo/goodsInfo.wxml @@ -192,7 +192,10 @@ - (配送不匹配2) + (配送不匹配) + + + (该店不可售) (库存不足) @@ -629,7 +632,8 @@ (库存不足) - (配送不匹配1) + (配送不匹配) + (该店不可售) (库存不足) @@ -671,9 +675,13 @@ - + 门店的不匹配 + + 该门店不可售 + + @@ -855,7 +863,10 @@ - {{item.pickup_name}} + {{item.pickup_name}} + (配送不匹配) + (该点不可售) + @@ -881,7 +892,10 @@ - {{item.pickup_name}} + {{item.pickup_name}} + (配送不匹配) + (该点不可售) + @@ -909,7 +923,10 @@ - {{item.pickup_name}} + {{item.pickup_name}} + (配送不匹配) + (该点不可售) + diff --git a/packageC/pages/presell/goodsInfo/goodsInfo.wxss b/packageC/pages/presell/goodsInfo/goodsInfo.wxss index 600205b..c1d6105 100644 --- a/packageC/pages/presell/goodsInfo/goodsInfo.wxss +++ b/packageC/pages/presell/goodsInfo/goodsInfo.wxss @@ -3016,4 +3016,6 @@ button.custom-service::after{ border: 2rpx solid rgb(238, 238, 238); padding-left: 30rpx; } - +.c-red22{ + color: #d60021 +} diff --git a/pages/user/order_detail/order_detail.js b/pages/user/order_detail/order_detail.js index 61a235a..15d4a54 100644 --- a/pages/user/order_detail/order_detail.js +++ b/pages/user/order_detail/order_detail.js @@ -592,6 +592,13 @@ Page({ } }) + if(!presellList || !presellList.length){ + var content = good.goods_name + '未找到预售活动,请取消订单'; + th.toast(content); + th.setData({ paying: 0 }); + return false; + } + if (presellList) { if (good.goods_num > presellList.presell_sumqty - presellList.buy_goodnum) { var content = good.goods_name + '购买数量超出商品库存,请取消订单'; @@ -607,6 +614,28 @@ Page({ return false; } + var fres=await getApp().request.promiseGet("/api/weshop/marketing/marketingPresellForm/get/"+os.stoid+"/"+presell_id, {}); + //接口调用成功的时候 + if(fres && fres.data.code==0 && fres.data.data){ + //如果有指定门店的时候 + if(fres.data.data.pick_up_lists){ + var idx0=fres.data.data.pick_up_lists.findIndex(function (e){ + return e.pickup_id==order.pickup_id; + }) + if(idx0<0){ + getApp().confirmBox(good.goods_name+"预售活动的门店不可售"); + th.setData({ paying: 0 }); + return false; + } + } + + }else{ + var content = good.goods_name + '未找到预售活动,请取消订单'; + th.toast(content); + 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 1437fd0..4e44f64 100644 --- a/pages/user/order_list/order_list.js +++ b/pages/user/order_list/order_list.js @@ -906,10 +906,15 @@ Page({ } }) - - if (presellList) { + if(!presellList || !presellList.length){ + var content = good.goods_name + '未找到预售活动,请取消订单'; + th.toast(content); + th.setData({ paying: 0 }); + return false; + } + if (presellList) { if (good.goods_num > presellList.presell_sumqty - presellList.buy_goodnum) { var content = good.goods_name + '购买数量超出商品库存,请取消订单'; th.toast(content); @@ -924,6 +929,28 @@ Page({ return false; } + var fres=await getApp().request.promiseGet("/api/weshop/marketing/marketingPresellForm/get/"+os.stoid+"/"+presell_id, {}); + //接口调用成功的时候 + if(fres && fres.data.code==0 && fres.data.data){ + + //如果有指定门店的时候 + if(fres.data.data.pick_up_lists){ + var idx0=fres.data.data.pick_up_lists.findIndex(function (e){ + return e.pickup_id==order.pickup_id; + }) + if(idx0<0){ + getApp().confirmBox(good.goods_name+"预售活动的门店不可售"); + th.setData({ paying: 0 }); + return false; + } + } + + }else{ + var content = good.goods_name + '未找到预售活动,请取消订单'; + th.toast(content); + th.setData({ paying: 0 }); + return false; + } } }