diff --git a/packageC/pages/luckyGo/luckyGo_goodsInfo/buy_pt.wxml b/packageC/pages/luckyGo/luckyGo_goodsInfo/buy_pt.wxml index 26fbc72..23c34f5 100644 --- a/packageC/pages/luckyGo/luckyGo_goodsInfo/buy_pt.wxml +++ b/packageC/pages/luckyGo/luckyGo_goodsInfo/buy_pt.wxml @@ -72,6 +72,7 @@ (配送不匹配) + (配送不匹配) (库存不足) 地址:{{def_pick_store.fulladdress}} @@ -174,6 +175,11 @@ 配送不匹配 + + + 配送不匹配 + + diff --git a/packageC/pages/luckyGo/luckyGo_goodsInfo/luckyGo_goodsInfo.js b/packageC/pages/luckyGo/luckyGo_goodsInfo/luckyGo_goodsInfo.js index b986b98..3423071 100644 --- a/packageC/pages/luckyGo/luckyGo_goodsInfo/luckyGo_goodsInfo.js +++ b/packageC/pages/luckyGo/luckyGo_goodsInfo/luckyGo_goodsInfo.js @@ -852,6 +852,7 @@ Page({ ee.is_no_dis = 1; } + var appd = getApp().globalData; var w_time = setInterval(function () { if (that.data.is_get_local_ok == 0) return false; @@ -2943,6 +2944,11 @@ Page({ } + }else{ + //只有是普通商品购买的时候,才要给商品赋值指定门店 + if (is_normal && goodsinfo.pick_group_ids) { + goodsinfo.pickup_ids = goodsinfo.pick_up_lists; + } } //---如果有活动,不算在一起--- if (prom) { @@ -2954,8 +2960,11 @@ Page({ } } - var item = arrdata[i], gg = ""; + if (goodsinfo.goods_id != g_id && goodsinfo.pick_group_ids ) { + item.pickup_ids= goodsinfo.pick_up_lists; + } + if (item.goods_spec == "null" || item.goods_spec == null) item.goods_spec = ""; if (item.goods_color == "null" || item.goods_color == null) item.goods_color = ""; @@ -3003,6 +3012,15 @@ Page({ var gid = e.currentTarget.dataset.gid; var nor = e.currentTarget.dataset.nor; + //在切换规格的时候,指定门店不匹配的状态要清理 + if (th.data.def_pick_store && JSON.stringify(th.data.def_pick_store) != '{}'){ + th.data.def_pick_store.is_no_dis_nor=0; + that.setData({ + def_pick_store: th.data.def_pick_store + }) + } + + var sku_g = this.data.sku_g; if (nor) { sku_g = this.data.sku_g_pt; @@ -3221,6 +3239,42 @@ Page({ if (e.data.code == 0 && e.data.data && e.data.data.pageData && e.data.data.pageData.length > 0) { + //-- 如果有指定门店的时候 -- + if(th.data.sele_g.pickup_ids && th.data.is_normal){ + + var ok_arr=[]; + for (let i in e.data.data.pageData) { + let ite = e.data.data.pageData[i]; + //-- 查找一下门店有没有在 -- + var idx=th.data.sele_g.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=th.data.sele_g.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_nor=1; + that.setData({ + def_pick_store: th.data.def_pick_store + }) + } + } + + + e.data.data.pageData=ok_arr; //数组重新赋值 + e.data.data.total=ok_arr.length; //数组的长度 + } + + var his_cate_num = 0; for (let i in e.data.data.pageData) { let item = e.data.data.pageData[i]; @@ -4497,14 +4551,19 @@ Page({ if (ind == 1) { //如果拼单的sku data是空的,就要先获取一下 if (th.data.sku_g_pt) { + + //要同步指定门店 + th.set_sele_g(th.data.sku_g_pt); + th.get_sto(1); th.setData({ is_normal: ind, openSpecModal_pt: 1 }); } else { - th.get_sto(1); + th.get_sku(o.stoid, th.data.data, th.data.gid, 1, function () { + th.get_sto(1); th.setData({ is_normal: ind, openSpecModal_pt: 1 @@ -7240,5 +7299,17 @@ Page({ }, + //要同步sele_g的指定门店,在有单独购买的时候,积分购和拼团 + set_sele_g:function (sku_list){ + var goods_id=this.data.sele_g.goods_id; + for (var i in sku_list) { + if(goods_id==sku_list[i].goods_id){ + this.data.sele_g.pickup_ids=sku_list[i].pickup_ids; + break; + } + } + } + + }); diff --git a/packageC/pages/luckyGo/luckyGo_goodsInfo/luckyGo_goodsInfo.wxml b/packageC/pages/luckyGo/luckyGo_goodsInfo/luckyGo_goodsInfo.wxml index 89c9c35..09c2b40 100644 --- a/packageC/pages/luckyGo/luckyGo_goodsInfo/luckyGo_goodsInfo.wxml +++ b/packageC/pages/luckyGo/luckyGo_goodsInfo/luckyGo_goodsInfo.wxml @@ -1370,6 +1370,8 @@ {{item.pickup_name}} + (配送不匹配) + (配送不匹配) @@ -1396,6 +1398,8 @@ {{item.pickup_name}} + (配送不匹配) + (配送不匹配) diff --git a/pages/goods/goodsInfo/buy_com_pop.wxml b/pages/goods/goodsInfo/buy_com_pop.wxml index 9dd9a1c..a0ffcd1 100644 --- a/pages/goods/goodsInfo/buy_com_pop.wxml +++ b/pages/goods/goodsInfo/buy_com_pop.wxml @@ -57,6 +57,7 @@ (库存不足) (配送不匹配) + (配送不匹配) (库存不足) @@ -112,6 +113,12 @@ 配送不匹配 + + + 配送不匹配 + + + diff --git a/pages/goods/goodsInfo/buy_pt.wxml b/pages/goods/goodsInfo/buy_pt.wxml index 8883f33..96aca25 100644 --- a/pages/goods/goodsInfo/buy_pt.wxml +++ b/pages/goods/goodsInfo/buy_pt.wxml @@ -47,7 +47,7 @@ - + {{def_pick_store.pickup_name}} @@ -65,17 +65,19 @@ - (配送不匹配) + + (库存不足) (库存不足) (配送不匹配) + (配送不匹配) (库存不足) - 地址:{{def_pick_store.fulladdress}} + 地址:{{def_pick_store.fulladdress}} @@ -157,6 +159,11 @@ 配送不匹配 + + + 配送不匹配 + + diff --git a/pages/goods/goodsInfo/goodsInfo.js b/pages/goods/goodsInfo/goodsInfo.js index fa186be..28dbed8 100644 --- a/pages/goods/goodsInfo/goodsInfo.js +++ b/pages/goods/goodsInfo/goodsInfo.js @@ -298,7 +298,6 @@ Page({ getApp().globalData.groupchat_id = t.groupchat_id } - self = this; //检查测肤 getApp().check_skin_face(t, 0, gid); @@ -855,6 +854,17 @@ Page({ ee.is_no_dis = 1; } + //-- 如果有指定门店的时候,pickup_ids是经过判断是不是普通商品后才会有的 -- + if(th.data.sele_g && th.data.sele_g.pickup_ids){ + var idx=th.data.sele_g.pickup_ids.findIndex(function (e){ + return e.pickup_id==ee.pickup_id; + }) + if(idx<0){ + ee.is_no_dis=1; + } + } + + var appd = getApp().globalData; var w_time = setInterval(function () { if (that.data.is_get_local_ok == 0) return false; @@ -1103,6 +1113,11 @@ Page({ //if (ee.data.prom_type) { t.data.data.prom_type = ee.data.prom_type; t.data.data.prom_id = ee.data.prom_id; + + //只有是普通商品的时候,才要给商品赋值指定门店 + if ([1, 2, 4, 6, 8, 9].indexOf(parseInt(ee.data.prom_type))<0 && t.data.data.pick_up_lists && t.data.data.pick_up_lists.length) { + t.data.data.pickup_ids = t.data.data.pick_up_lists; + } //} ee.setData({ data: t.data.data, @@ -1110,12 +1125,8 @@ Page({ userInfo: getApp().globalData.userInfo }); - - - //获取统一条形码,普通商品和优惠促销的商品 if (ee.data.data.prom_type == 0 || ee.data.data.prom_type == 3 || ee.data.data.prom_type == 5 || ee.data.data.prom_type == 7 || ee.data.data.prom_type == 9 || ee.data.data.prom_type == 10) { - ee.get_sto(); ee.get_sku(o.stoid, t.data.data, gid); ee.check_has_flash(); @@ -3052,8 +3063,31 @@ Page({ for (var i = 0; i < arrdata.length; i++) { var goodsinfo = arrdata[i], prom = null; + if (goodsinfo.goods_id != g_id) { + + //要判断一下商品的活动是不是多活动,确定一下商品的prom_type + var url = '/api/weshop/activitylist/listGoodActInfo2New'; + var req_d = { + "store_id": os.stoid, + "goods_id": goodsinfo.goods_id, + "user_id": getApp().globalData.user_id, + } + var ck_res=await getApp().request.promiseGet("/api/weshop/activitylist/listGoodActInfo2New", { data:req_d }); + if (ck_res.data.code == 0 && ck_res.data.data && ck_res.data.data.length > 0) { + var arr = ck_res.data.data; + //-- 预热也要计算 -- + var arr2 = arr.filter(function (e) { + return e.s_time < ut.gettimestamp() || (e.warm_uptime && e.warm_uptime < ut.gettimestamp()) + }) + + if (arr2.length == 1) { + goodsinfo.prom_type = arr2[0].prom_type; + goodsinfo.prom_id = arr2[0].act_id; + } + } + switch (goodsinfo.prom_type) { case 1: @@ -3088,20 +3122,36 @@ Page({ continue; } + }else{ + + //只有是普通商品的时候,才要给商品赋值指定门店 + if ([1, 2, 4, 6, 8, 9].indexOf(parseInt(this.data.prom_type)) <0 || is_normal) { + //如果商品有设置分组 + if(goodsinfo.pick_group_ids){ + goodsinfo.pickup_ids = goodsinfo.pick_up_lists; + } + } + } //---如果有活动,不算在一起--- if (prom) { - if (goodsinfo.prom_type == 1 || goodsinfo.prom_type == 6) { + if ([1,2,4,6].indexOf(parseInt(goodsinfo.prom_type))>-1) { console.log(prom); if (prom.is_end == 0 && prom.end_time > now && prom.start_time < now) continue; } else { continue; } } + var item = arrdata[i],gg = ""; + + if (goodsinfo.goods_id != g_id) { + //-- 如果商品有设置分组 -- + if(item.pick_group_ids){ + item.pickup_ids = item.pick_up_lists; + } + } - var item = arrdata[i], - gg = ""; if (item.goods_spec == "null" || item.goods_spec == null) item.goods_spec = ""; if (item.goods_color == "null" || item.goods_color == null) item.goods_color = ""; @@ -3145,8 +3195,19 @@ Page({ //-----------选择属性的按钮事件---------- sele_spec: function (e) { + var that = this; var th = this; + + //在切换规格的时候,指定门店不匹配的状态要清理 + if (th.data.def_pick_store && JSON.stringify(th.data.def_pick_store) != '{}'){ + th.data.def_pick_store.is_no_dis_nor=0; + that.setData({ + def_pick_store: th.data.def_pick_store + }) + } + + var gid = e.currentTarget.dataset.gid; var nor = e.currentTarget.dataset.nor; var user_id = getApp().globalData.user_id; @@ -3157,6 +3218,11 @@ Page({ if (nor) this.data.base_nor = nor; } + //要把不匹配还原 + if (th.data.def_pick_store && JSON.stringify(th.data.def_pick_store) != '{}'){ + th.data.def_pick_store.is_no_dis=0; + th.setData({def_pick_store:th.data.def_pick_store}) + } //普通商品多规格的时候,商品切换 if (this.data.base_nor_prom_type) this.data.base_nor_prom_type = parseInt(this.data.base_nor_prom_type); @@ -3214,7 +3280,10 @@ Page({ - if (nor) that.get_sto(1); + if (nor) { + that.set_sele_g(sku_g) + that.get_sto(1); + } else that.get_sto(); @@ -3427,7 +3496,6 @@ Page({ }, - //---------拿出门店分类和门店------------ get_sto(e) { console.log('get_sto') @@ -3473,10 +3541,8 @@ Page({ dd.lat = th.data.lat; dd.lon = th.data.lon; } - clearInterval(timer_get); - - + clearInterval(timer_get); //如果会员是有默认的门店话 if (!th.data.def_pick_store && th.data.fir_def_store && Object.keys(th.data.fir_def_store).length > 0) { @@ -3495,6 +3561,46 @@ Page({ if (e.data.code == 0 && e.data.data && e.data.data.pageData && e.data.data.pageData.length > 0) { + //-- 如果有指定门店的时候 -- + if(th.data.sele_g.pickup_ids){ + + var ok_arr=[]; + for (let i in e.data.data.pageData) { + let ite = e.data.data.pageData[i]; + //-- 查找一下门店有没有在 -- + var idx=th.data.sele_g.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=th.data.sele_g.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_nor=1; + //-- 如果不是活动的普通购买的时候 -- + if(!th.data.is_normal){ + th.data.def_pick_store.is_no_dis=1; + } + that.setData({ + def_pick_store: th.data.def_pick_store + }) + } + } + + + e.data.data.pageData=ok_arr; //数组重新赋值 + e.data.data.total=ok_arr.length; //数组的长度 + } + var his_cate_num = 0; for (let i in e.data.data.pageData) { let item = e.data.data.pageData[i]; @@ -3543,7 +3649,8 @@ Page({ }); //--获取线下库存,而且不是新的门店规则, 同时是普通购买的时候,或者同时不能是活动,秒杀,拼团,积分购-- - if (!getApp().is_virtual(th.data.sele_g) && th.data.sales_rules >= 2 && !th.data.is_newsales_rules && !th.data.sele_g.whsle_id && ([1, 2, 4, 6, 8, 9].indexOf(th.data.prom_type) == -1 || is_normal == 1)) { + if (!getApp().is_virtual(th.data.sele_g) && th.data.sales_rules >= 2 && !th.data.is_newsales_rules + && !th.data.sele_g.whsle_id && ([1, 2, 4, 6, 8, 9].indexOf(th.data.prom_type) == -1 || is_normal == 1)) { setTimeout(function () { th.deal_pickup_dline(e); }, 800) @@ -4932,7 +5039,7 @@ Page({ }, //--点击弹起拼单-- - openSpecModel_pt: function (e) { + openSpecModel_pt:function (e) { this.setData({ open_ind_store: 4, @@ -4959,19 +5066,29 @@ Page({ //如果拼单的sku data是空的,就要先获取一下 if (th.data.sku_g_pt) { + + //要同步指定门店 + th.set_sele_g(th.data.sku_g_pt); + th.get_sto(1); th.setData({ is_normal: ind, openSpecModal_pt: 1, }); } else { - th.get_sto(1); + th.get_sku(o.stoid, th.data.data, th.data.gid, 1, function () { + + th.get_sto(1); + th.setData({ is_normal: ind, openSpecModal_pt: 1, }); }); + + + } if (!th.data.sele_g.whsle_id) th.check_is_youhui(th.data.gid, 1); } else { @@ -7811,18 +7928,25 @@ Page({ }, //-- 积分购普通购买 -- - go_pay_integral_normal: function () { + go_pay_integral_normal:async function () { this.data.g_buy_num = new Map(); var th = this; if (th.data.sku_g_pt) { + + //要同步指定门店 + th.set_sele_g(th.data.sku_g_pt); + this.get_sto(1) this.setData({ openSpecModal_inte_normal: 1 }); } else { - th.get_sto(1); + th.get_sku(o.stoid, th.data.data, th.data.gid, 1, function () { + + th.get_sto(1); + th.setData({ is_normal: 1, openSpecModal_inte_normal: 1 @@ -8450,6 +8574,17 @@ Page({ switch_cx_group: function () { var pro_pop = this.selectComponent("#pro_pop"); //组件的id pro_pop.set_init(0, this.data.cx_prom_group); + }, + + //要同步sele_g的指定门店,在有单独购买的时候,积分购和拼团 + set_sele_g:function (sku_list){ + var goods_id=this.data.sele_g.goods_id; + for (var i in sku_list) { + if(goods_id==sku_list[i].goods_id){ + this.data.sele_g.pickup_ids=sku_list[i].pickup_ids; + break; + } + } } diff --git a/pages/goods/goodsInfo/goodsInfo.wxml b/pages/goods/goodsInfo/goodsInfo.wxml index debf06f..cabe175 100644 --- a/pages/goods/goodsInfo/goodsInfo.wxml +++ b/pages/goods/goodsInfo/goodsInfo.wxml @@ -1632,6 +1632,8 @@ {{item.pickup_name}} (库存不足) + (配送不匹配) + (配送不匹配) @@ -1660,6 +1662,8 @@ {{item.pickup_name}} (库存不足) + (配送不匹配) + (配送不匹配)