From aa90b8a0337f0c721a85936da091ef73b4ab70b8 Mon Sep 17 00:00:00 2001 From: yvan.ni <765199919@qq.com> Date: Thu, 23 Apr 2020 09:06:28 +0800 Subject: [PATCH] 商品详情的显示可出库数 --- pages/goods/goodsInfo/goodsInfo.js | 34 +++++++++++++++++++--------------- 1 file changed, 19 insertions(+), 15 deletions(-) diff --git a/pages/goods/goodsInfo/goodsInfo.js b/pages/goods/goodsInfo/goodsInfo.js index b8acf9c..f6aa22b 100644 --- a/pages/goods/goodsInfo/goodsInfo.js +++ b/pages/goods/goodsInfo/goodsInfo.js @@ -627,6 +627,7 @@ 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){ + //获取门店 ee.get_sto(); ee.get_sku(o.stoid, t.data.data.sku, gid); @@ -1552,6 +1553,7 @@ Page({ }).then(res => { var e = res; if (e.data.code == 0) { + //如果有开启距离的功能,没有设置默认门店,要用最近的门店作为默认门店 if(dd.lat && !th.data.def_pick_store && th.data.bconfig.is_sort_storage){ th.setData({ @@ -1577,10 +1579,14 @@ Page({ th.setData({all_pick_list:e.data.data.pageData}); //--获取线下库存,而且不是新的门店规则,同时不能是活动-- - if(th.data.sales_rules==2 && !th.data.is_newsales_rules && th.data.prom_type!=1 && th.data.prom_type!=6){ - th.deal_pickup_dline(e); + if(th.data.sales_rules==2 && !th.data.is_newsales_rules && th.data.prom_type!=1 && th.data.prom_type!=6){ + setTimeout(function(){ + th.deal_pickup_dline(e); + },500) }else{ - th.deal_pickup(e); //--普通门店排版-- + setTimeout(function(){ + th.deal_pickup(e); //--普通门店排版-- + },500) } } }) @@ -1728,7 +1734,7 @@ Page({ }, //------------处理线下门店库存-------- - async deal_pickup_dline(e){ + deal_pickup_dline(e){ var pkno=[],th=this; if(this.data.def_pick_store){ pkno.push(this.data.def_pick_store.pickup_no); @@ -1744,18 +1750,17 @@ Page({ var is_find_def_store=0; var lock=[]; - //先读取门店的lock - await getApp().request.promiseGet("/api/weshop/order/ware/lock/page",{ + //先读取门店的lock,采用链式写法,少用await + getApp().request.promiseGet("/api/weshop/order/ware/lock/page",{ 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 } - }) - - //---通过接口获取门店的线下库存信息-- - await getApp().request.promiseGet("/api/weshop/goods/getWareStorages",{ - data:{storageNos:pkno_str,wareIds:encodeURIComponent(th.data.sele_g.erpwareid),storeId:os.stoid} + //---通过接口获取门店的线下库存信息-- + return getApp().request.promiseGet("/api/weshop/goods/getWareStorages",{ + 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){ @@ -1767,7 +1772,7 @@ Page({ //线下的门店小心 var n_item=plist[ii]; if(n_item.StorageNo==o_plist[kk].pickup_no){ - + //拿到锁库的数量 var lock_num=th.find_lock_num(o_plist[kk].pickup_id,lock); //可出库数大于预出库库存的数量,可以判断为有库存 @@ -1775,7 +1780,7 @@ Page({ 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){ + 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; @@ -1803,8 +1808,7 @@ Page({ }else{ th.setData({def_pick_store:null,all_sto:null,only_pk:null}) } - }) - + }) }, find_lock_num(pick_id,lock){ -- libgit2 0.21.4