Commit 3ed751a9175e08ec2ec39cbd89888839fd72894a
1 parent
f7503b6e
指定门店线下库存的优化
Showing
7 changed files
with
240 additions
and
118 deletions
packageA/pages/prom_list/prom_list.js
... | ... | @@ -73,7 +73,7 @@ Page({ |
73 | 73 | sys_switch:json_d, |
74 | 74 | is_closecoupon: json_d.is_closecoupon, |
75 | 75 | is_newsales_rules:json_d.is_newsales_rules, |
76 | - sales_rules:e.sales_rules | |
76 | + sales_rules:e.sales_rules, appoint_pick_keyid: json_d.appoint_pick_keyid | |
77 | 77 | }); |
78 | 78 | //------几人评价------- |
79 | 79 | //计算等级价相关 |
... | ... | @@ -293,35 +293,51 @@ Page({ |
293 | 293 | //获取统一条形码,普通商品和优惠促销的商品 |
294 | 294 | if (t.data.data.prom_type == 5) { |
295 | 295 | //默认门店要拿下门店库存 |
296 | - if (that.data.sales_rules == 2 && that.data.is_newsales_rules) { | |
296 | + if (that.data.sales_rules >= 2) { | |
297 | 297 | //--等待某个值只运行---,这里有可能因为导航的时间太久,而不能计算门店库存 |
298 | 298 | getApp().waitfor2(that, "wait_for_user_store", "fir_def_store", function () { |
299 | + | |
300 | + debugger | |
301 | + | |
299 | 302 | if (th.data.fir_def_store && th.data.fir_def_store.pickup_id) { |
300 | - var lock = 0, | |
301 | - plist = null; | |
303 | + var lock = 0,plist = null; | |
304 | + var lock_rq={ | |
305 | + store_id: os.stoid,wareId: ee.data.data.goods_id, | |
306 | + storageId: that.data.fir_def_store.pickup_id,pageSize: 1000 | |
307 | + } | |
308 | + | |
309 | + //-- 指定门店销售的时候 -- | |
310 | + if(that.data.sales_rules == 3){ | |
311 | + lock_rq.appoint_pick_keyid = encodeURIComponent(th.data.appoint_pick_keyid); | |
312 | + delete lock_rq.storageId | |
313 | + } | |
314 | + | |
302 | 315 | //先读取门店的lock,采用链式写法,少用await |
303 | 316 | getApp().request.promiseGet("/api/weshop/order/ware/lock/page", { |
304 | - data: { | |
305 | - store_id: os.stoid, | |
306 | - wareId: ee.data.data.goods_id, | |
307 | - storageId: that.data.fir_def_store.pickup_id, | |
308 | - pageSize: 1000 | |
309 | - } | |
317 | + data:lock_rq | |
310 | 318 | }).then(res => { |
311 | 319 | if (res.data.code == 0 && res.data.data.total > 0) { |
312 | 320 | for (var i in res.data.data.pageData) |
313 | 321 | lock += res.data.data.pageData[i].outQty |
314 | 322 | } |
323 | + | |
324 | + var dw_rq={ | |
325 | + storageNos: that.data.fir_def_store.pickup_no, | |
326 | + wareIds: encodeURIComponent(th.data.data.erpwareid), | |
327 | + storeId: os.stoid,pageSize: 2000 | |
328 | + } | |
329 | + if(that.data.sales_rules == 3){ | |
330 | + dw_rq.storageIds = encodeURIComponent(th.data.appoint_pick_keyid) | |
331 | + delete dw_rq.storageNos | |
332 | + } | |
333 | + | |
315 | 334 | //---通过接口获取门店的线下库存信息-- |
316 | 335 | return getApp().request.promiseGet("/api/weshop/goods/getWareStorages", { |
317 | - data: { | |
318 | - storageNos: that.data.fir_def_store.pickup_no, | |
319 | - wareIds: encodeURIComponent(th.data.data.erpwareid), | |
320 | - storeId: os.stoid, | |
321 | - pageSize: 2000 | |
322 | - } | |
336 | + data:dw_rq | |
323 | 337 | }) |
324 | 338 | }).then(res => { |
339 | + | |
340 | + | |
325 | 341 | if (res.data.code == 0 && res.data.data.total > 0) { |
326 | 342 | plist = res.data.data.pageData[0]; |
327 | 343 | } |
... | ... | @@ -465,21 +481,37 @@ Page({ |
465 | 481 | return s.my_warnning("商品不是搭配活动!", 0, th); |
466 | 482 | }else{ |
467 | 483 | //---如果是线下门店销售的时候--- |
468 | - if(th.data.sales_rules==2){ | |
484 | + if(th.data.sales_rules>=2){ | |
469 | 485 | var pick=th.get_pick_from_list(th.data.sto_sele_id) |
486 | + | |
487 | + | |
488 | + var dw_rq={storageNos:pick.pickup_no,wareIds:encodeURIComponent(th.data.data.erpwareid),storeId:os.stoid,pageSize:2000}; | |
489 | + if(th.data.sales_rules == 3){ | |
490 | + dw_rq.storageIds = encodeURIComponent(th.data.appoint_pick_keyid) | |
491 | + delete dw_rq.storageNos | |
492 | + } | |
493 | + | |
470 | 494 | //---通过接口获取门店的线下库存信息-- |
471 | 495 | getApp().request.get("/api/weshop/goods/getWareStorages",{ |
472 | - data:{storageNos:pick.pickup_no,wareIds:encodeURIComponent(th.data.data.erpwareid),storeId:os.stoid,pageSize:2000}, | |
496 | + data:dw_rq, | |
473 | 497 | success:function(res){ |
474 | 498 | if(res.data.code==0){ |
475 | 499 | if(res.data.data.pageData.length>0){ |
476 | 500 | var CanOutQty=res.data.data.pageData[0].CanOutQty; |
477 | 501 | if(CanOutQty<e.data.goodsInputNum){ |
478 | 502 | return s.my_warnning("库存不足!", 0, th); |
479 | - } | |
503 | + } | |
504 | + | |
505 | + var lock_rq={store_id:os.stoid,wareId:th.data.data.goods_id,storageId:pick.pickup_id,pageSize:1000}; | |
506 | + | |
507 | + //-- 指定门店销售的时候 -- | |
508 | + if(th.data.sales_rules == 3){ | |
509 | + lock_rq.appoint_pick_keyid = encodeURIComponent(th.data.appoint_pick_keyid); | |
510 | + delete lock_rq.storageId | |
511 | + } | |
480 | 512 | //在调一次接口,读取商品的预出库的数量,lock |
481 | 513 | getApp().request.get("/api/weshop/order/ware/lock/page",{ |
482 | - data:{store_id:os.stoid,wareId:th.data.data.goods_id,storageId:pick.pickup_id,pageSize:1000}, | |
514 | + data:lock_rq, | |
483 | 515 | success:function(res_data){ |
484 | 516 | if(res_data.data.code==0 && res_data.data.data.total>0){ |
485 | 517 | var lock=0; |
... | ... | @@ -625,7 +657,7 @@ Page({ |
625 | 657 | } |
626 | 658 | |
627 | 659 | var e = th.data.data.store_count; |
628 | - if(th.data.sales_rules==2){ | |
660 | + if(th.data.sales_rules>=2){ | |
629 | 661 | if(!th.data.def_pick_store){ |
630 | 662 | wx.showModal({ title: '请选择门店', }); |
631 | 663 | return false; |
... | ... | @@ -815,6 +847,9 @@ Page({ |
815 | 847 | } |
816 | 848 | } |
817 | 849 | e.his_cate_num=his_cate_num; |
850 | + | |
851 | + | |
852 | + debugger | |
818 | 853 | |
819 | 854 | //如果有开启距离的功能,没有设置默认门店,要用最近的门店作为默认门店 |
820 | 855 | if(dd.lat && !th.data.def_pick_store && th.data.bconfig && th.data.bconfig.is_sort_storage){ |
... | ... | @@ -842,7 +877,7 @@ Page({ |
842 | 877 | th.setData({all_pick_list:e.data.data.pageData}); |
843 | 878 | |
844 | 879 | //--获取线下库存,而且不是新的门店规则,同时不能是活动-- |
845 | - if(th.data.sales_rules==2 && !th.data.is_newsales_rules && th.data.prom_type!=1 && th.data.prom_type!=6){ | |
880 | + if(th.data.sales_rules>=2 && !th.data.is_newsales_rules && th.data.prom_type!=1 && th.data.prom_type!=6){ | |
846 | 881 | setTimeout(function(){ |
847 | 882 | th.deal_pickup_dline(e); |
848 | 883 | },800) |
... | ... | @@ -1054,73 +1089,129 @@ Page({ |
1054 | 1089 | var is_find_def_store=0; |
1055 | 1090 | |
1056 | 1091 | var lock=[]; |
1092 | + | |
1093 | + var lock_rq={store_id:os.stoid,wareId:th.data.data.goods_id,pageSize:1000}; | |
1094 | + //-- 指定门店销售的时候 -- | |
1095 | + if(th.data.sales_rules == 3){ | |
1096 | + lock_rq.appoint_pick_keyid = encodeURIComponent(th.data.appoint_pick_keyid); | |
1097 | + delete lock_rq.storageId | |
1098 | + } | |
1099 | + | |
1057 | 1100 | //先读取门店的lock,采用链式写法,少用await |
1058 | 1101 | getApp().request.promiseGet("/api/weshop/order/ware/lock/page",{ |
1059 | - data:{store_id:os.stoid,wareId:th.data.data.goods_id,pageSize:1000} | |
1102 | + data:lock_rq | |
1060 | 1103 | }).then(res=>{ |
1061 | 1104 | if(res.data.code==0 && res.data.data.total>0){ |
1062 | 1105 | lock=res.data.data.pageData |
1063 | 1106 | } |
1107 | + | |
1108 | + | |
1109 | + var dw_rq={storageNos:pkno_str,wareIds:encodeURIComponent(th.data.data.erpwareid),storeId:os.stoid,pageSize:2000}; | |
1110 | + if(th.data.sales_rules == 3){ | |
1111 | + dw_rq.storageIds = encodeURIComponent(th.data.appoint_pick_keyid) | |
1112 | + delete dw_rq.storageNos | |
1113 | + } | |
1064 | 1114 | //---通过接口获取门店的线下库存信息-- |
1065 | 1115 | return getApp().request.promiseGet("/api/weshop/goods/getWareStorages",{ |
1066 | - data:{storageNos:pkno_str,wareIds:encodeURIComponent(th.data.data.erpwareid),storeId:os.stoid,pageSize:2000} | |
1116 | + data:dw_rq | |
1067 | 1117 | }) |
1068 | - }).then(res=>{ | |
1069 | - if(res.data.code==0){ | |
1070 | - if(res.data.data.pageData && res.data.data.pageData.length){ | |
1071 | - var plist=res.data.data.pageData; | |
1072 | - var def_pick_store=th.data.def_pick_store; | |
1073 | - //以原来的数组为外循环,保证距离的顺序 | |
1074 | - for(var kk in o_plist){ | |
1075 | - for(var ii in plist){ | |
1076 | - //线下的门店小心 | |
1077 | - var n_item=plist[ii]; | |
1078 | - if(n_item.StorageNo==o_plist[kk].pickup_no){ | |
1079 | - | |
1080 | - //拿到锁库的数量 | |
1081 | - var lock_num=th.find_lock_num(o_plist[kk].pickup_id,lock); | |
1082 | - //可出库数大于预出库库存的数量,可以判断为有库存 | |
1083 | - if(n_item.CanOutQty>lock_num){ | |
1084 | - o_plist[kk].CanOutQty=n_item.CanOutQty-lock_num; | |
1085 | - new_list.push(o_plist[kk]); | |
1086 | - //如果找到默认门店 | |
1087 | - if(th.data.fir_def_store && n_item.StorageNo==th.data.fir_def_store.pickup_no){ | |
1088 | - th.data.fir_def_store.CanOutQty=n_item.CanOutQty-lock_num; | |
1089 | - if(def_pick_store.pickup_id==th.data.fir_def_store.pickup_id) | |
1090 | - th.setData({def_pick_store:th.data.fir_def_store}) | |
1091 | - is_find_def_store=1; | |
1092 | - } | |
1093 | - } | |
1094 | - break; | |
1095 | - } | |
1096 | - } | |
1097 | - } | |
1098 | - | |
1099 | - //数据组装下 | |
1100 | - var em={};em.data={};em.data.data={}; | |
1101 | - em.data.data.total=new_list.length; | |
1102 | - em.data.data.pageData=new_list; | |
1103 | - em.data.his_cate_num=e.his_cate_num; | |
1104 | - | |
1105 | - if(th.data.fir_def_store && !is_find_def_store && th.data.fir_def_store.pickup_id){ | |
1106 | - th.data.fir_def_store.CanOutQty=0; | |
1107 | - //--当选择的门店是客户默认的门店的时候-- | |
1108 | - if(th.data.def_pick_store && th.data.fir_def_store.pickup_id==th.data.def_pick_store.pickup_id) { | |
1109 | - th.setData({def_pick_store:th.data.fir_def_store}); | |
1110 | - em.data.data.pageData.unshift(th.data.def_pick_store); | |
1111 | - }else{ | |
1112 | - em.data.data.pageData.splice(1,0,th.data.fir_def_store); | |
1113 | - } | |
1114 | - } | |
1115 | - | |
1116 | - //---把数组组装进去--- | |
1117 | - th.deal_pickup(em); | |
1118 | - }else{ | |
1119 | - th.setData({def_pick_store:null,all_sto:null,only_pk:null}) | |
1120 | - } | |
1121 | - }else{ | |
1122 | - th.setData({def_pick_store:null,all_sto:null,only_pk:null}) | |
1123 | - } | |
1118 | + }).then(res=>{ | |
1119 | + if (res.data.code == 0) { | |
1120 | + if (res.data.data.pageData && res.data.data.pageData.length) { | |
1121 | + var plist = res.data.data.pageData; | |
1122 | + var def_pick_store = th.data.def_pick_store; | |
1123 | + var g_distr_type=null; | |
1124 | + if(th.data.data) g_distr_type=th.data.data.distr_type; | |
1125 | + | |
1126 | + if (th.data.sales_rules == 3) { | |
1127 | + var lock_num = 0; | |
1128 | + var Qty = 0; | |
1129 | + //-- 计算锁住的库存 -- | |
1130 | + for (var i in lock) lock_num += lock[i].outQty; | |
1131 | + Qty = plist[0].CanOutQty - lock_num; | |
1132 | + | |
1133 | + if (Qty > 0) { | |
1134 | + for (var kk in o_plist) { | |
1135 | + o_plist[kk].CanOutQty = Qty; | |
1136 | + new_list.push(o_plist[kk]); | |
1137 | + } | |
1138 | + if (th.data.fir_def_store && | |
1139 | + (g_distr_type == 0 || th.data.fir_def_store.distr_type == 0 || (th.data.def_pick_store && th.data.def_pick_store.distr_type == g_distr_type))) { | |
1140 | + th.data.fir_def_store.Qty; | |
1141 | + if (def_pick_store && def_pick_store.pickup_id == th.data.fir_def_store.pickup_id) | |
1142 | + th.setData({ | |
1143 | + def_pick_store: th.data.fir_def_store | |
1144 | + }) | |
1145 | + is_find_def_store = 1; | |
1146 | + } | |
1147 | + | |
1148 | + } else { | |
1149 | + th.setData({ | |
1150 | + all_sto: null, | |
1151 | + only_pk: null, | |
1152 | + def_pickpu_list: null | |
1153 | + }); | |
1154 | + return false; | |
1155 | + } | |
1156 | + | |
1157 | + } else { | |
1158 | + | |
1159 | + | |
1160 | + //以原来的数组为外循环,保证距离的顺序 | |
1161 | + for (var kk in o_plist) { | |
1162 | + for (var ii in plist) { | |
1163 | + //线下的门店小心 | |
1164 | + var n_item = plist[ii]; | |
1165 | + if (n_item.StorageNo == o_plist[kk].pickup_no) { | |
1166 | + | |
1167 | + //拿到锁库的数量 | |
1168 | + var lock_num = th.find_lock_num(o_plist[kk].pickup_id, lock); | |
1169 | + //可出库数大于预出库库存的数量,可以判断为有库存 | |
1170 | + if (n_item.CanOutQty > lock_num) { | |
1171 | + o_plist[kk].CanOutQty = n_item.CanOutQty - lock_num; | |
1172 | + new_list.push(o_plist[kk]); | |
1173 | + //如果找到默认门店 | |
1174 | + if (th.data.fir_def_store && n_item.StorageNo == th.data.fir_def_store.pickup_no) { | |
1175 | + th.data.fir_def_store.CanOutQty = n_item.CanOutQty - lock_num; | |
1176 | + if (def_pick_store.pickup_id == th.data.fir_def_store.pickup_id) | |
1177 | + th.setData({def_pick_store: th.data.fir_def_store}) | |
1178 | + is_find_def_store = 1; | |
1179 | + } | |
1180 | + } | |
1181 | + break; | |
1182 | + } | |
1183 | + } | |
1184 | + } | |
1185 | + } | |
1186 | + | |
1187 | + //数据组装下 | |
1188 | + var em = {}; | |
1189 | + em.data = {}; | |
1190 | + em.data.data = {}; | |
1191 | + em.data.data.total = new_list.length; | |
1192 | + em.data.data.pageData = new_list; | |
1193 | + em.data.his_cate_num = e.his_cate_num; | |
1194 | + | |
1195 | + if (th.data.fir_def_store && !is_find_def_store && th.data.fir_def_store.pickup_id) { | |
1196 | + th.data.fir_def_store.CanOutQty = 0; | |
1197 | + //--当选择的门店是客户默认的门店的时候-- | |
1198 | + if (th.data.def_pick_store && th.data.fir_def_store.pickup_id == th.data.def_pick_store.pickup_id) { | |
1199 | + th.setData({def_pick_store: th.data.fir_def_store}); | |
1200 | + em.data.data.pageData.unshift(th.data.def_pick_store); | |
1201 | + } else { | |
1202 | + em.data.data.pageData.splice(1, 0, th.data.fir_def_store); | |
1203 | + } | |
1204 | + } | |
1205 | + | |
1206 | + | |
1207 | + //---把数组组装进去--- | |
1208 | + th.deal_pickup(em); | |
1209 | + } else { | |
1210 | + th.setData({def_pick_store: null, all_sto: null, only_pk: null}) | |
1211 | + } | |
1212 | + } else { | |
1213 | + th.setData({def_pick_store: null, all_sto: null, only_pk: null}) | |
1214 | + } | |
1124 | 1215 | }) |
1125 | 1216 | }, |
1126 | 1217 | |
... | ... | @@ -1415,20 +1506,35 @@ Page({ |
1415 | 1506 | |
1416 | 1507 | if(this.data.sales_rules!=2){ |
1417 | 1508 | func(); |
1418 | - }else{ | |
1509 | + }else{ | |
1510 | + | |
1511 | + | |
1512 | + var lock_rq={store_id:os.stoid,wareId:goodsinfo.goods_id,storageId:item.pickup_id,pageSize:1000}; | |
1513 | + //-- 指定门店销售的时候 -- | |
1514 | + if(th.data.sales_rules == 3){ | |
1515 | + lock_rq.appoint_pick_keyid = encodeURIComponent(th.data.appoint_pick_keyid); | |
1516 | + delete lock_rq.storageId | |
1517 | + } | |
1419 | 1518 | |
1420 | 1519 | //先读取门店的lock |
1421 | 1520 | await getApp().request.promiseGet("/api/weshop/order/ware/lock/page",{ |
1422 | - data:{store_id:os.stoid,wareId:goodsinfo.goods_id,storageId:item.pickup_id,pageSize:1000} | |
1521 | + data:lock_rq | |
1423 | 1522 | }).then(res=>{ |
1424 | 1523 | if(res.data.code==0 && res.data.data.total>0){ |
1425 | 1524 | for(var i in res.data.data.pageData ) |
1426 | 1525 | lock+=res.data.data.pageData[i].outQty; |
1427 | 1526 | } |
1428 | - }) | |
1527 | + }) | |
1528 | + | |
1529 | + var dw_rq={storageNos:item.pickup_no,wareIds:encodeURIComponent(erpwareid),storeId:os.stoid,pageSize:2000}; | |
1530 | + if(th.data.sales_rules == 3){ | |
1531 | + dw_rq.storageIds = encodeURIComponent(th.data.appoint_pick_keyid) | |
1532 | + delete dw_rq.storageNos | |
1533 | + } | |
1534 | + | |
1429 | 1535 | //读取线下的门店库存 |
1430 | 1536 | await getApp().request.promiseGet("/api/weshop/goods/getWareStorages",{ |
1431 | - data:{storageNos:item.pickup_no,wareIds:encodeURIComponent(erpwareid),storeId:os.stoid,pageSize:2000} | |
1537 | + data:dw_rq | |
1432 | 1538 | }).then(res=>{ |
1433 | 1539 | if(res.data.code==0 && res.data.data.total>0){ |
1434 | 1540 | plist=res.data.data.pageData[0]; | ... | ... |
packageA/pages/prom_list/prom_list.wxml
... | ... | @@ -78,7 +78,7 @@ |
78 | 78 | <block> |
79 | 79 | <view class="flex"> |
80 | 80 | <view class="spec-goods-stock">已售:{{data.sales_sum}}</view> |
81 | - <block wx:if="{{sales_rules==2}}"> | |
81 | + <block wx:if="{{sales_rules>=2}}"> | |
82 | 82 | <view class="spec-goods-stock" wx:if="{{def_pick_store && def_pick_store.CanOutQty}}">可售:{{def_pick_store.CanOutQty}}</view> |
83 | 83 | <view class="spec-goods-stock" wx:else>可售:0</view> |
84 | 84 | </block> |
... | ... | @@ -113,7 +113,7 @@ |
113 | 113 | <view wx:if="{{def_pickpu_list && !def_pickpu_list.length}}">(库存不足)</view> |
114 | 114 | <block wx:else> |
115 | 115 | <view class="no_store" wx:if="{{def_pick_store && def_pick_store.is_no_dis}}">(配送不匹配)</view> |
116 | - <view wx:elif="{{def_pick_store && !def_pick_store.CanOutQty && sales_rules==2 && prom_type==0}}">(库存不足)</view> | |
116 | + <view wx:elif="{{def_pick_store && !def_pick_store.CanOutQty && sales_rules>=2 && prom_type==0}}">(库存不足)</view> | |
117 | 117 | </block> |
118 | 118 | </block> |
119 | 119 | |
... | ... | @@ -143,17 +143,17 @@ |
143 | 143 | <view class="spec-cart-btns"> |
144 | 144 | <!-- 根本就找不到门店 --> |
145 | 145 | <block wx:if="{{!only_pk && !def_pickpu_list}}"> |
146 | - <view class="spec-cart-btn fs32" data-action="add" style="background-color: #dcdcdc;color: #999;">库存不足</view> | |
146 | + <view class="spec-cart-btn fs32" data-action="add" style="background-color: #dcdcdc;color: #999;">库存不足1</view> | |
147 | 147 | </block> |
148 | 148 | <block wx:else> |
149 | 149 | |
150 | 150 | |
151 | 151 | <block wx:if="{{only_pk.length && !only_pk.length}}"> |
152 | - <view class="spec-cart-btn fs32" data-action="add" style="background-color: #dcdcdc;color: #999;">库存不足</view> | |
152 | + <view class="spec-cart-btn fs32" data-action="add" style="background-color: #dcdcdc;color: #999;">库存不足2</view> | |
153 | 153 | </block> |
154 | 154 | <block wx:else> |
155 | 155 | <block wx:if="{{def_pickpu_list && !def_pickpu_list.length}}"> |
156 | - <view class="spec-cart-btn fs32" data-action="add" style="background-color: #dcdcdc;color: #999">库存不足</view> | |
156 | + <view class="spec-cart-btn fs32" data-action="add" style="background-color: #dcdcdc;color: #999">库存不足3</view> | |
157 | 157 | </block> |
158 | 158 | <block wx:else> |
159 | 159 | <block wx:if="{{!def_pick_store}}"> |
... | ... | @@ -161,9 +161,10 @@ |
161 | 161 | </block> |
162 | 162 | <block wx:else> |
163 | 163 | <!-- 如果是线下库存购买的时候,且是普通商品购买的时候 --> |
164 | - <block wx:if="{{sales_rules==2}}"> | |
164 | + <block wx:if="{{sales_rules>=2}}"> | |
165 | + | |
165 | 166 | <block wx:if="{{!def_pick_store.CanOutQty}}"> |
166 | - <view class="spec-cart-btn fs32" data-action="add" style="background-color: #dcdcdc;color: #999">库存不足</view> | |
167 | + <view class="spec-cart-btn fs32" data-action="add" style="background-color: #dcdcdc;color: #999">库存不足4</view> | |
167 | 168 | </block> |
168 | 169 | <block wx:else> |
169 | 170 | <view bindtap="addCart" data-openSpecModal_ind="2" |
... | ... | @@ -173,7 +174,7 @@ |
173 | 174 | <!-- 线上销售 --> |
174 | 175 | <block wx:else> |
175 | 176 | <block wx:if="{{data.store_count<=0}}"> |
176 | - <view class="spec-cart-btn fs32" data-action="add" style="background-color: #dcdcdc;color: #999">库存不足</view> | |
177 | + <view class="spec-cart-btn fs32" data-action="add" style="background-color: #dcdcdc;color: #999">库存不足5</view> | |
177 | 178 | </block> |
178 | 179 | |
179 | 180 | <block wx:elif="{{def_pick_store && def_pick_store.is_no_dis}}"> | ... | ... |
packageB/pages/zuhegou/index/index.js
... | ... | @@ -324,7 +324,8 @@ Page({ |
324 | 324 | is_closecoupon: json_d.is_closecoupon, |
325 | 325 | is_newsales_rules: json_d.is_newsales_rules, |
326 | 326 | is_open_offline: json_d.is_pricing_open, |
327 | - sales_rules: e.sales_rules | |
327 | + sales_rules: e.sales_rules, | |
328 | + appoint_pick_keyid: json_d.appoint_pick_keyid | |
328 | 329 | }); |
329 | 330 | |
330 | 331 | //-- 计算等级价相关 -- |
... | ... | @@ -665,7 +666,7 @@ Page({ |
665 | 666 | //在启用线下的时候,要判断一下是不是有库存 |
666 | 667 | async check_pk_store_conut(func,is_no_msg,gd,by_num){ |
667 | 668 | var th=this; |
668 | - if(this.data.sales_rules!=2){ | |
669 | + if(this.data.sales_rules<2){ | |
669 | 670 | if(is_no_msg) return true; |
670 | 671 | else { |
671 | 672 | if(func) func(); |
... | ... | @@ -709,14 +710,16 @@ Page({ |
709 | 710 | } |
710 | 711 | |
711 | 712 | }) |
713 | + | |
714 | + var dw_rq={ storageNos: pkno,wareIds: encodeURIComponent(good.erpwareid), storeId: os.stoid, pageSize: 2000}; | |
715 | + if(this.data.sales_rules==3){ | |
716 | + dw_rq.storageIds = encodeURIComponent(th.data.appoint_pick_keyid) | |
717 | + delete dw_rq.storageNos | |
718 | + } | |
719 | + | |
712 | 720 | //---通过接口获取门店的线下库存信息-- |
713 | 721 | await getApp().request.promiseGet("/api/weshop/goods/getWareStorages", { |
714 | - data: { | |
715 | - storageNos: pkno, | |
716 | - wareIds: encodeURIComponent(good.erpwareid), | |
717 | - storeId: os.stoid, | |
718 | - pageSize: 2000 | |
719 | - } | |
722 | + data:dw_rq | |
720 | 723 | }).then(res => { |
721 | 724 | if (ut.ajax_ok(res)) { |
722 | 725 | plist = res.data.data.pageData[0]; | ... | ... |
pages/cart/cart/cart.js
... | ... | @@ -1823,7 +1823,7 @@ Page({ |
1823 | 1823 | var txt = "requestData[" + pitems + "].goods[" + i + "].selected"; |
1824 | 1824 | |
1825 | 1825 | var gd_info=item[i]; |
1826 | - if (th.data.sales_rules >= 2 && !gd_info.whsle_id && [1,2,4,6,8,9].indexOf(gd_info.prom_type)==-1 ) { | |
1826 | + if (th.data.sales_rules >= 2 && !gd_info.whsle_id && [1,2,4,6,8,9].indexOf(gd_info.prom_type)==-1 && !gd_info.selected ) { | |
1827 | 1827 | var ob = {}; |
1828 | 1828 | await th.check_down_line_next(gd_info, pitems, i, gd_info.erpwareid, function (res) { |
1829 | 1829 | ob = res; |
... | ... | @@ -1944,7 +1944,7 @@ Page({ |
1944 | 1944 | var gd_info=a; |
1945 | 1945 | |
1946 | 1946 | var erpwareid = gd_info.erpwareid; |
1947 | - if (th.data.sales_rules >= 2 && !gd_info.whsle_id && [1,2,4,6,8,9].indexOf(gd_info.prom_type)==-1 ) { | |
1947 | + if (th.data.sales_rules >= 2 && !gd_info.whsle_id && [1,2,4,6,8,9].indexOf(gd_info.prom_type)==-1 && !a.selected ) { | |
1948 | 1948 | var ob = {}; |
1949 | 1949 | await th.check_down_line_next(gd_info, pitems, item, erpwareid, function (res) { |
1950 | 1950 | ob = res; |
... | ... | @@ -2869,12 +2869,7 @@ Page({ |
2869 | 2869 | |
2870 | 2870 | //先读取门店的lock |
2871 | 2871 | await getApp().request.promiseGet("/api/weshop/order/ware/lock/page", { |
2872 | - data: { | |
2873 | - store_id: os.stoid, | |
2874 | - wareId: t.goods_id, | |
2875 | - storageId: goodsinfo.pick_id, | |
2876 | - pageSize: 1000 | |
2877 | - } | |
2872 | + data: lock_rq | |
2878 | 2873 | }).then(res => { |
2879 | 2874 | if (res.data.code == 0 && res.data.data.total > 0) { |
2880 | 2875 | for (var i in res.data.data.pageData) |
... | ... | @@ -2882,8 +2877,6 @@ Page({ |
2882 | 2877 | } |
2883 | 2878 | }) |
2884 | 2879 | |
2885 | - | |
2886 | - | |
2887 | 2880 | if(this.data.sales_rules==2) { |
2888 | 2881 | //先获取门店的编号 |
2889 | 2882 | await getApp().request.promiseGet("/api/weshop/pickup/get/" + os.stoid + "/" + goodsinfo.pick_id, { | ... | ... |
pages/goods/goodsInfo/goodsInfo.js
... | ... | @@ -1250,6 +1250,7 @@ Page({ |
1250 | 1250 | |
1251 | 1251 | //------------加入购物车-------------- |
1252 | 1252 | addCart: function (t) { |
1253 | + | |
1253 | 1254 | var th = this; |
1254 | 1255 | var ind = t.currentTarget.dataset.openSpecModal_ind; |
1255 | 1256 | if (!ind) ind = t.currentTarget.dataset.openspecmodal_ind; |
... | ... | @@ -2433,6 +2434,9 @@ Page({ |
2433 | 2434 | }, |
2434 | 2435 | |
2435 | 2436 | openSpecModel: function (t) { |
2437 | + | |
2438 | + | |
2439 | + | |
2436 | 2440 | var th = this; |
2437 | 2441 | var open_store = t.currentTarget.dataset.ind; |
2438 | 2442 | |
... | ... | @@ -4285,7 +4289,7 @@ Page({ |
4285 | 4289 | }) |
4286 | 4290 | |
4287 | 4291 | |
4288 | - debugger | |
4292 | + | |
4289 | 4293 | |
4290 | 4294 | //----------查看阶梯团------------ |
4291 | 4295 | if (t.data.data.ct_rylist != "null" && t.data.data.ct_rylist != "" && t.data.data.ct_rylist != null && t.data.data.ct_rylist != undefined) { |
... | ... | @@ -6283,7 +6287,6 @@ Page({ |
6283 | 6287 | var ind = ee.currentTarget.dataset.ind; |
6284 | 6288 | var bconfig = th.data.bconfig; |
6285 | 6289 | |
6286 | - debugger | |
6287 | 6290 | |
6288 | 6291 | //如果开启了,则不在选择门店 |
6289 | 6292 | if (this.data.sys_switch.is_pricing_open_store && getApp().globalData.pk_store) { |
... | ... | @@ -6339,6 +6342,9 @@ Page({ |
6339 | 6342 | th.get_sto(th.data.is_normal); |
6340 | 6343 | }, |
6341 | 6344 | fail: function (res) { |
6345 | + | |
6346 | + | |
6347 | + | |
6342 | 6348 | //th.onShow(); |
6343 | 6349 | th.data.is_get_local_ok = 1; |
6344 | 6350 | th.get_sto(th.data.is_normal); |
... | ... | @@ -6509,6 +6515,7 @@ Page({ |
6509 | 6515 | wareId: goodsinfo.goods_id, |
6510 | 6516 | pageSize: 1000 |
6511 | 6517 | }; |
6518 | + | |
6512 | 6519 | if (sales_rules == 2) { |
6513 | 6520 | lock_rq.storageId = item.pickup_id |
6514 | 6521 | } else { |
... | ... | @@ -6538,7 +6545,7 @@ Page({ |
6538 | 6545 | sto_req.storageIds = encodeURIComponent(this.data.appoint_pick_keyid) |
6539 | 6546 | } |
6540 | 6547 | |
6541 | - debugger | |
6548 | + | |
6542 | 6549 | |
6543 | 6550 | //读取线下的门店库存 |
6544 | 6551 | await getApp().request.promiseGet("/api/weshop/goods/getWareStorages", { |
... | ... | @@ -6562,7 +6569,7 @@ Page({ |
6562 | 6569 | sure_pick: function (e) { |
6563 | 6570 | var th = this; |
6564 | 6571 | var item = null; |
6565 | - var openindstore = th.data.open_ind_store; | |
6572 | + var openindstore = parseInt(th.data.open_ind_store); | |
6566 | 6573 | |
6567 | 6574 | if (th.data.choice_sort_store == 0) { |
6568 | 6575 | var index = th.data.fir_pick_index; |
... | ... | @@ -6765,9 +6772,13 @@ Page({ |
6765 | 6772 | }); |
6766 | 6773 | }) |
6767 | 6774 | var t_time = setInterval(function () { |
6775 | + | |
6776 | + | |
6768 | 6777 | if (th.data.bconfig == null) false; |
6769 | 6778 | var e = th.data.bconfig; |
6770 | 6779 | if (e && e.is_sort_storage) { |
6780 | + | |
6781 | + | |
6771 | 6782 | wx.getLocation({ |
6772 | 6783 | type: 'gcj02', |
6773 | 6784 | success: function (res) { | ... | ... |
pages/goods/goodsInfo/goodsInfo.wxml
... | ... | @@ -1184,6 +1184,7 @@ |
1184 | 1184 | <!-- 制作一个圆球导航 --> |
1185 | 1185 | <nav_box></nav_box> |
1186 | 1186 | </block> |
1187 | + | |
1187 | 1188 | <!-- --弹起来,选择规格数量,普通商品购买和秒杀---- --> |
1188 | 1189 | <view hidden="{{!openSpecModal}}"> |
1189 | 1190 | <view bindtap="closeSpecModal" class="cover-layer"></view> |
... | ... | @@ -1247,8 +1248,8 @@ |
1247 | 1248 | </view> |
1248 | 1249 | <!-- 选择门店模块 --> |
1249 | 1250 | <view class="flex-space-between address ai_end xc-width "> |
1250 | - <view class="flex ai_end" wx:if="{{def_pick_store && def_pick_store.pickup_name}}"> | |
1251 | - <text class="fs30 xc-black3 shop_name bold">{{def_pick_store.pickup_name}}</text> | |
1251 | + <view class="flex" wx:if="{{def_pick_store && def_pick_store.pickup_name}}"> | |
1252 | + <text class="fs30 xc-black3 shop_name bold {{def_pick_store.distance!=null?'max':''}} ">{{def_pick_store.pickup_name}}</text> | |
1252 | 1253 | <view class="distance fs24 xc-ash" wx:if="{{def_pick_store.distance!=null}}"> |
1253 | 1254 | 距离:{{def_pick_store.distance>1000?filters.toFix(def_pick_store.distance/1000,2)+"km":filters.toFix(def_pick_store.distance,0)+"m"}} |
1254 | 1255 | </view> | ... | ... |
pages/goods/goodsInfo/goodsInfo.wxss
... | ... | @@ -3282,6 +3282,10 @@ margin: auto; */ |
3282 | 3282 | .shop_name { |
3283 | 3283 | margin-right: 10rpx; |
3284 | 3284 | } |
3285 | +.shop_name.max{ | |
3286 | + max-width:370rpx; flex-shrink: 0; | |
3287 | +} | |
3288 | + | |
3285 | 3289 | |
3286 | 3290 | .address { |
3287 | 3291 | /* width: 100%; |
... | ... | @@ -3297,7 +3301,9 @@ margin: auto; */ |
3297 | 3301 | /* margin-right: 5rpx; */ |
3298 | 3302 | color: #999; |
3299 | 3303 | height: 38rpx; |
3300 | - line-height: 38rpx; | |
3304 | + line-height: 38rpx; | |
3305 | + position: relative; | |
3306 | + top: 5rpx; | |
3301 | 3307 | |
3302 | 3308 | } |
3303 | 3309 | |
... | ... | @@ -3413,7 +3419,8 @@ margin: auto; */ |
3413 | 3419 | } |
3414 | 3420 | |
3415 | 3421 | .address_name { |
3416 | - margin-right: 10rpx; | |
3422 | + margin-right: 10rpx; | |
3423 | + width: 360rpx; | |
3417 | 3424 | |
3418 | 3425 | } |
3419 | 3426 | ... | ... |