diff --git a/pages/goods/goodsInfo/goodsInfo.js b/pages/goods/goodsInfo/goodsInfo.js index 7954a65..643ab30 100644 --- a/pages/goods/goodsInfo/goodsInfo.js +++ b/pages/goods/goodsInfo/goodsInfo.js @@ -234,6 +234,8 @@ Page({ is_collect_load:0, //是不是处理 is_newsales_rules:0, //是否开启最新的门店规则,此时会新读门店,当点击选择门店时会触发读取线下库存 sales_rules:1, //默认是线上销售 + + wait_for_user_store:null, }, @@ -624,40 +626,49 @@ Page({ //获取统一条形码,普通商品和优惠促销的商品 - if (ee.data.data.prom_type == 0 || ee.data.data.prom_type == 2 || ee.data.data.prom_type == 3 || ee.data.data.prom_type == 4 || ee.data.data.prom_type == 5){ - + if (ee.data.data.prom_type == 0 || ee.data.data.prom_type == 2 || ee.data.data.prom_type == 3 || ee.data.data.prom_type == 4 || ee.data.data.prom_type == 5){ //默认门店要拿下门店库存 - if(that.data.sales_rules==2 && that.data.is_newsales_rules && that.data.fir_def_store){ - var lock=0,plist=null; - //先读取门店的lock,采用链式写法,少用await - getApp().request.promiseGet("/api/weshop/order/ware/lock/page",{ - data:{store_id:os.stoid,wareId:ee.data.data.goods_id,storageId:that.data.fir_def_store.pickup_id} - }).then(res=>{ - if(res.data.code==0 && res.data.data.total>0){ - for(var i in res.data.data.pageData) - lock+=res.data.data.pageData[i].outQty - } - //---通过接口获取门店的线下库存信息-- - return getApp().request.promiseGet("/api/weshop/goods/getWareStorages",{ - data:{storageNos:that.data.fir_def_store.pickup_no,wareIds:encodeURIComponent(th.data.data.erpwareid),storeId:os.stoid} - }) - }).then(res=>{ - if(res.data.code==0 && res.data.data.total>0){ - plist=res.data.data.pageData[0]; - } - if(plist && plist.CanOutQty-lock>0){ - that.data.fir_def_store.CanOutQty=plist.CanOutQty-lock; + if(that.data.sales_rules==2 && that.data.is_newsales_rules){ + //--等待某个值只运行---,这里有可能因为导航的时间太久,而不能计算门店库存 + getApp().waitfor2(that,"wait_for_user_store","fir_def_store",function(){ + if(th.data.fir_def_store){ + var lock=0,plist=null; + //先读取门店的lock,采用链式写法,少用await + getApp().request.promiseGet("/api/weshop/order/ware/lock/page",{ + data:{store_id:os.stoid,wareId:ee.data.data.goods_id,storageId:that.data.fir_def_store.pickup_id} + }).then(res=>{ + if(res.data.code==0 && res.data.data.total>0){ + for(var i in res.data.data.pageData) + lock+=res.data.data.pageData[i].outQty + } + //---通过接口获取门店的线下库存信息-- + return getApp().request.promiseGet("/api/weshop/goods/getWareStorages",{ + data:{storageNos:that.data.fir_def_store.pickup_no,wareIds:encodeURIComponent(th.data.data.erpwareid),storeId:os.stoid} + }) + }).then(res=>{ + if(res.data.code==0 && res.data.data.total>0){ + plist=res.data.data.pageData[0]; + } + if(plist && plist.CanOutQty-lock>0){ + that.data.fir_def_store.CanOutQty=plist.CanOutQty-lock; + }else{ + that.data.fir_def_store.CanOutQty=0; + } + //--给门店赋值线下库存-- + th.setData({def_pick_store:that.data.fir_def_store}); + //获取门店 + ee.get_sto(); + }) }else{ - that.data.fir_def_store.CanOutQty=0; - } - //--给门店赋值线下库存-- - th.setData({def_pick_store:that.data.fir_def_store}); - }) - + //--获取门店-- + ee.get_sto(); + } + }) + }else{ + //获取门店 + ee.get_sto(); } - - //获取门店 - ee.get_sto(); + ee.get_sku(o.stoid, t.data.data.sku, gid); } else { @@ -1659,7 +1670,7 @@ Page({ var th=this; //单总量超出5个的时候 if (e.data.data.total > 5) { - i.get("/api/weshop/storagecategory/page", { + getApp().request.get("/api/weshop/storagecategory/page", { data: { store_id: o.stoid, is_show: 1, @@ -2240,7 +2251,7 @@ Page({ t.data.data.ct_rylist = JSON.parse(t.data.data.ct_rylist); var max_num = 0; t.data.data.ct_rylist.forEach(function(val, ind) { - if (val.rynum > max_num) max_num = val.rynum; + if (parseInt(val.rynum) > max_num) max_num = parseInt(val.rynum); }) t.data.data.max_ct_num = max_num; }