diff --git a/pages/cart/cart/cart.js b/pages/cart/cart/cart.js index 458bf11..0dc1b56 100644 --- a/pages/cart/cart/cart.js +++ b/pages/cart/cart/cart.js @@ -319,6 +319,7 @@ Page({ }, 800) } }, + //失效单选 inCheck_th_item: async function (e) { console.log('失效单选'); @@ -336,6 +337,8 @@ Page({ // this.doCheckAll(); }, + + //清空失效宝贝 delInva_all(obj = null) { @@ -3317,7 +3320,25 @@ Page({ var steep = getApp().get_limit_qty(i_arr[j], act.length, 1); var py_type = parseInt(i_arr[j].prom_type + ''); + //商品只查一次。看一下有没有 + var gd = null; + //获取商品信息,包含线下商品ID,指定门店销售的信息 + await getApp().request.promiseGet("/api/weshop/goods/get/" + oo.stoid + "/" + i_arr[j].goods_id, {}).then(res => { + if (res.data.code == 0) gd = res.data.data; + }) + if ([0, 3, 5, 7, 10].indexOf(py_type) > -1) { + //如果是指定门店,就要判断 + if(gd.pick_group_ids){ + var idx0=gd.pick_up_lists.findIndex(function (e){ + return e.pickup_id==i_arr[j].pick_id; + }) + if(idx0<0){ + getApp().confirmBox(i_arr[j].goods_name + "的指定门店不匹配"); + wx.hideLoading(); + return false; + } + } if (mo_num > i_arr[j].goods_num) { getApp().confirmBox(i_arr[j].goods_name + "的未达到起订数量"); @@ -3342,16 +3363,12 @@ Page({ } - //--普通商品,如果有开启线下库存的功能,要调用线下库存进行计算,赠品不要进行调用线下库存--- if ((i_arr[j].prom_type == 0 || i_arr[j].prom_type == 3 || i_arr[j].prom_type == 5 || i_arr[j].prom_type == 7 || i_arr[j].prom_type == 10 || i_arr[j].need_downlow_num) && th.data.sales_rules >= 2 && i_arr[j].is_gift != 1 && !i_arr[j].whsle_id) { - //--获取商品的线下商品ID-- - var gd = null; - await getApp().request.promiseGet("/api/weshop/goods/get/" + oo.stoid + "/" + i_arr[j].goods_id, {}).then(res => { - if (res.data.code == 0) gd = res.data.data; - }) + + //--判断商品是线下库存-- var ob = {} diff --git a/pages/goods/goodsInfo/goodsInfo.js b/pages/goods/goodsInfo/goodsInfo.js index 28dbed8..e4bdc9c 100644 --- a/pages/goods/goodsInfo/goodsInfo.js +++ b/pages/goods/goodsInfo/goodsInfo.js @@ -3137,7 +3137,7 @@ Page({ if (prom) { 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; + if (prom.is_end == 0 && prom.end_time > now && (prom.start_time < now || (prom.show_time && prom.show_time < now ) ) ) continue; } else { continue; }