diff --git a/pages/cart/cart/cart.js b/pages/cart/cart/cart.js index 27d9c66..6a9a868 100644 --- a/pages/cart/cart/cart.js +++ b/pages/cart/cart/cart.js @@ -484,6 +484,9 @@ Page({ [txt]: cbuy > 0 ? cbuy : 0, }); e.doCheckAll(); + + t.goods_num=cbuy > 0 ? cbuy : 0, + e.update_cart(t, pitem, item); return false; } @@ -505,6 +508,10 @@ Page({ [txt]: store_count }); e.doCheckAll(); + + t.goods_num=store_count; + e.update_cart(t, pitem, item); + return false; } @@ -520,6 +527,10 @@ Page({ [txt]: false_data.goods_num - false_data.buy_num }); e.doCheckAll(); + + t.goods_num=false_data.goods_num - false_data.buy_num; + e.update_cart(t, pitem, item); + return false; } @@ -534,6 +545,11 @@ Page({ [txt]: false_data.redisnum }); e.doCheckAll(); + + t.goods_num=false_data.redisnum; + e.update_cart(t, pitem, item); + + return false; } @@ -548,6 +564,10 @@ Page({ [txt]: false_data.false_data.buy_limit }); e.doCheckAll(); + + t.goods_num=false_data.false_data.buy_limit; + e.update_cart(t, pitem, item); + return false; } }else{ @@ -588,7 +608,7 @@ Page({ [txt]: store_count }); e.doCheckAll(); - return false; + t.goods_num=store_count; } e.update_cart(t, pitem, item); } @@ -614,7 +634,7 @@ Page({ [txt]: ob.CanOutQty }); th.doCheckAll(); - return false; + t.goods_num=ob.CanOutQty; } this.update_cart(t, pitem, item); }, @@ -628,7 +648,8 @@ Page({ data:{store_id:os.stoid,wareId:t.goods_id,storageId:goodsinfo.pick_id} }).then(res=>{ if(res.data.code==0 && res.data.data.total>0){ - lock=res.data.data.pageData[0].outQty; + for(var i in res.data.data.pageData) + lock+=res.data.data.pageData[i].outQty; } }) //先获取门店的编号 diff --git a/pages/cart/cart2/cart2.js b/pages/cart/cart2/cart2.js index 3d4a6f5..7bca0ed 100644 --- a/pages/cart/cart2/cart2.js +++ b/pages/cart/cart2/cart2.js @@ -1014,7 +1014,8 @@ Page({ data:{store_id:os.stoid,wareId:goods_id,storageId:pick} }).then(res=>{ if(res.data.code==0 && res.data.data.total>0){ - lock=res.data.data.pageData[0].outQty; + for(var i in res.data.data.pageData) + lock+=res.data.data.pageData[i].outQty; } }) //先获取门店的编号 diff --git a/pages/goods/goodsInfo/goodsInfo.js b/pages/goods/goodsInfo/goodsInfo.js index 33bc95c..e264875 100644 --- a/pages/goods/goodsInfo/goodsInfo.js +++ b/pages/goods/goodsInfo/goodsInfo.js @@ -914,7 +914,12 @@ Page({ data:{store_id:os.stoid,wareId:th.data.sele_g.goods_id,storageId:pick.pickup_id}, success:function(res_data){ if(res_data.data.code==0 && res_data.data.data.total>0){ - var lock= res_data.data.data.pageData[0].outQty; + + var lock=0; + for(var i in res_data.data.data.pageData){ + lock+=res_data.data.data.pageData[i].outQty; + } + if(CanOutQty<=lock){ return s.my_warnning("库存不足!", 0, th); } @@ -976,19 +981,25 @@ Page({ pick_id: e.data.sto_sele_id, }, success: function(re) { - //判断数量,要看下购物车中有没有该商品 - if(CanOutQty){ - if(th.data.cartGoodsNum + th.data.goodsInputNum>CanOutQty){ - return s.my_warnning("库存不足!", 0, th); - } - }else{ - if(th.data.cartGoodsNum + th.data.goodsInputNum>o.store_count){ - return s.my_warnning("库存不足!", 0, th); - } - } + //-------如果购物车中有相关的数据--------- if (re.data.data.total > 0) { - var item = re.data.data.pageData[0]; + + var item = re.data.data.pageData[0]; + + //判断数量,要看下购物车中有没有该商品 + if(CanOutQty){ + if(item.goods_num+ th.data.goodsInputNum>CanOutQty){ + return s.my_warnning("库存不足!", 0, th); + } + }else{ + if(item.goods_num+ th.data.goodsInputNum>o.store_count){ + return s.my_warnning("库存不足!", 0, th); + } + } + + + var updata = { id: item.id, goods_num: e.data.goodsInputNum + item.goods_num, @@ -1082,10 +1093,17 @@ Page({ //--判断商品是否超出限购-- if (th.data.g_buy_num != null && th.data.sele_g.viplimited > 0) { - if (t + th.data.g_buy_num.get(th.data.sele_g.goods_id) > th.data.sele_g.viplimited) { + + var gd_buy_num=th.data.g_buy_num.get(th.data.sele_g.goods_id); + + if (t + gd_buy_num > th.data.sele_g.viplimited) { wx.showModal({ title: '超出商品限购', }); + + var num= th.data.sele_g.viplimited-gd_buy_num; + if(num<0) num=0; + th.setData({goodsInputNum:num}) return false; } } @@ -1096,6 +1114,10 @@ Page({ wx.showModal({ title: '超出商品活动限购', }); + + var num=th.data.prom_buy_limit- th.data.prom_buy_num ; + if(num<0) num=0; + th.setData({goodsInputNum:num}) return false; } } @@ -1113,17 +1135,31 @@ Page({ if (t > redis_num) { wx.showModal({ title: '超出商品活动库存', - }); + }); + th.setData({goodsInputNum:redis_num}) return false; } } - var e = th.data.sele_g.store_count; - t > e || 0 == e ? t = e : t < 1 && (t = 1), - th.setData({ - goodsInputNum: t - }); + var e = th.data.sele_g.store_count; + if(th.data.sales_rules==2){ + if(!th.data.def_pick_store){ + wx.showModal({ title: '请选择门店', }); + return false; + }else{ + e=th.data.def_pick_store.CanOutQty; + } + } + + //库存不足,不增加 + if(e e || 0 == e ? t = e : t < 1 && (t = 1); + th.setData({ goodsInputNum: t }); + }) }, @@ -1427,6 +1463,8 @@ Page({ sele_g: item, gid: gid }); + this.get_sto(); + this.sele_spec_chech_activity(); }, @@ -1706,7 +1744,7 @@ Page({ var lock=[]; //先读取门店的lock await getApp().request.promiseGet("/api/weshop/order/ware/lock/page",{ - data:{store_id:os.stoid,wareId:th.data.data.goods_id} + data:{store_id:os.stoid,wareId:th.data.sele_g.goods_id} }).then(res=>{ if(res.data.code==0 && res.data.data.total>0){ lock=res.data.data.pageData @@ -1715,7 +1753,7 @@ Page({ //---通过接口获取门店的线下库存信息-- await getApp().request.promiseGet("/api/weshop/goods/getWareStorages",{ - data:{storageNos:pkno_str,wareIds:encodeURIComponent(th.data.data.erpwareid),storeId:os.stoid} + data:{storageNos:pkno_str,wareIds:encodeURIComponent(th.data.sele_g.erpwareid),storeId:os.stoid} }).then(res=>{ if(res.data.code==0){ if(res.data.data.pageData){ @@ -1732,11 +1770,11 @@ Page({ var lock_num=th.find_lock_num(o_plist[kk].pickup_id,lock); //可出库数大于预出库库存的数量,可以判断为有库存 if(n_item.CanOutQty>lock_num){ - o_plist[kk].CanOutQty=n_item.CanOutQty-lock_num + o_plist[kk].CanOutQty=n_item.CanOutQty-lock_num; new_list.push(o_plist[kk]); //如果找到默认门店 - if(def_pick_store && n_item.StorageNo==def_pick_store.pickup_no){ - def_pick_store.CanOutQty=n_item.CanOutQty; + if(def_pick_store && n_item.StorageNo==def_pick_store.pickup_no){ + def_pick_store.CanOutQty=n_item.CanOutQty-lock_num; th.setData({def_pick_store:def_pick_store}) is_find_def_store=1; } @@ -1773,7 +1811,7 @@ Page({ if(lock.length<0) return 0; for(var i in lock){ if(pick_id==lock[i].pickupId){ - lock_num=lock[i].outQty; + lock_num+=lock[i].outQty; } } return lock_num; @@ -2496,6 +2534,10 @@ Page({ title: '提示', content: '超出商品限购' }); + + var num=th.data.prom_buy_limit-th.data.prom_buy_num; + if(num<0) num=0; + th.setData({goodsInputNum:num}) return false; } } @@ -2506,6 +2548,10 @@ Page({ title: '提示', content: '超出商品活动限购' }); + + var num=th.data.prom_buy_limit-th.data.prom_buy_num; + if(num<0) num=0; + th.setData({goodsInputNum:num}) return false; } } @@ -2525,12 +2571,19 @@ Page({ title: '提示', content: '超出商品活动库存' }); + + th.setData({goodsInputNum:redis_num}) + return false; } } if (th.data.goodsInputNum <= 0) return s.my_warnning("商品数量不能为0", 0, th); - if (th.data.goodsInputNum > o.store_count) return s.my_warnning("超出商品库存", 0, th); + if (th.data.goodsInputNum > o.store_count) { + th.setData({goodsInputNum:o.store_count}) + return s.my_warnning("超出商品库存", 0, th); + } + if (th.data.sto_sele_name == null || th.data.sto_sele_name == undefined) this.setData({ sto_sele_name: "" @@ -3348,7 +3401,22 @@ Page({ var th = this; //var ind=ee.currentTarget.dataset.ind; var bconfig = th.data.bconfig; - + + if(!th.data.only_pk && !th.data.def_pickpu_list){ + getApp().confirmBox("门店库存不足", null, 25000, !1); + return false; + } + + if(th.data.only_pk && !th.data.only_pk.length){ + getApp().confirmBox("门店库存不足", null, 25000, !1); + return false; + } + if(th.data.def_pickpu_list && !th.data.def_pickpu_list.length){ + getApp().confirmBox("门店库存不足", null, 25000, !1); + return false; + } + + if (bconfig.is_sort_storage) { wx.getLocation({ type: 'wgs84', @@ -3386,7 +3454,10 @@ Page({ th.data.is_get_local_ok = 1; th.get_sto(); } - + + + + this.setData({ //open_ind_store: ind, store: 1, @@ -3449,7 +3520,7 @@ Page({ var goodsinfo=th.data.sele_g; var erpwareid=goodsinfo.erpwareid; var plist=null; - var lock=0; + var lock=0; //---如果是活动的时候--- if(th.data.prom_type==1 || th.data.prom_type==6){ @@ -3472,10 +3543,11 @@ Page({ //先读取门店的lock await getApp().request.promiseGet("/api/weshop/order/ware/lock/page",{ - data:{store_id:os.stoid,wareId:t.goods_id,storageId:goodsinfo.pick_id} + data:{store_id:os.stoid,wareId:goodsinfo.goods_id,storageId:item.pickup_id} }).then(res=>{ if(res.data.code==0 && res.data.data.total>0){ - lock=res.data.data.pageData[0].outQty; + for(var i in res.data.data.pageData ) + lock+=res.data.data.pageData[i].outQty; } }) @@ -3489,7 +3561,7 @@ Page({ }) if(plist && plist.CanOutQty-lock>0){ - func() + func(); return false; } getApp().my_warnning(item.pickup_name+"库存不足!", 0, th); diff --git a/pages/goods/goodsInfo/goodsInfo.wxml b/pages/goods/goodsInfo/goodsInfo.wxml index a70cd41..51fc111 100644 --- a/pages/goods/goodsInfo/goodsInfo.wxml +++ b/pages/goods/goodsInfo/goodsInfo.wxml @@ -757,18 +757,17 @@ 立即购买 - + - + + 加入购物车 立即购买 - - - 库存不足 - - + + 库存不足 + @@ -868,8 +867,13 @@ 已售:{{sele_g.sales_sum}} - 可售:{{def_pick_store.CanOutQty}} - 可售:{{sele_g.store_count}} + + 可售:{{def_pick_store.CanOutQty}} + 可售:0 + + + 可售:{{sele_g.store_count}} + @@ -879,7 +883,7 @@ 已售:{{prom_act.buy_num}} 可售:{{prom_act.goods_num-prom_act.buy_num}} - + @@ -896,17 +900,25 @@ - - - 选择门店 + + + 选择门店 更多门店 - - 地址:{{def_pick_store.fulladdress}} + + 门店库存不足 + + 门店库存不足 + + 门店库存不足 + + + + 地址:{{def_pick_store.fulladdress}} @@ -929,12 +941,58 @@ - - - - 加入购物车 - 立即购买 - + + + + 库存不足 + + + + + + 库存不足 + + + + 库存不足 + + + + 请先选择门店 + + + + + + + 库存不足 + + + 加入购物车 + 立即购买 + + + + + + 库存不足 + + + 加入购物车 + 立即购买 + + + + + + + + + @@ -1069,7 +1127,7 @@ 购买数量 - - + + @@ -1288,7 +1346,8 @@ {{item.pickup_name}} - 距离:{{item.distance>1000?filters.toFix(item.distance/1000,2)+"km":filters.toFix(item.distance,0)+"m"}} + + 距离:{{item.distance>1000?filters.toFix(item.distance/1000,2)+"km":filters.toFix(item.distance,0)+"m"}} 地址:{{item.fulladdress}}