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,7 +73,7 @@ Page({ | ||
73 | sys_switch:json_d, | 73 | sys_switch:json_d, |
74 | is_closecoupon: json_d.is_closecoupon, | 74 | is_closecoupon: json_d.is_closecoupon, |
75 | is_newsales_rules:json_d.is_newsales_rules, | 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,35 +293,51 @@ Page({ | ||
293 | //获取统一条形码,普通商品和优惠促销的商品 | 293 | //获取统一条形码,普通商品和优惠促销的商品 |
294 | if (t.data.data.prom_type == 5) { | 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 | getApp().waitfor2(that, "wait_for_user_store", "fir_def_store", function () { | 298 | getApp().waitfor2(that, "wait_for_user_store", "fir_def_store", function () { |
299 | + | ||
300 | + debugger | ||
301 | + | ||
299 | if (th.data.fir_def_store && th.data.fir_def_store.pickup_id) { | 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 | //先读取门店的lock,采用链式写法,少用await | 315 | //先读取门店的lock,采用链式写法,少用await |
303 | getApp().request.promiseGet("/api/weshop/order/ware/lock/page", { | 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 | }).then(res => { | 318 | }).then(res => { |
311 | if (res.data.code == 0 && res.data.data.total > 0) { | 319 | if (res.data.code == 0 && res.data.data.total > 0) { |
312 | for (var i in res.data.data.pageData) | 320 | for (var i in res.data.data.pageData) |
313 | lock += res.data.data.pageData[i].outQty | 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 | return getApp().request.promiseGet("/api/weshop/goods/getWareStorages", { | 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 | }).then(res => { | 338 | }).then(res => { |
339 | + | ||
340 | + | ||
325 | if (res.data.code == 0 && res.data.data.total > 0) { | 341 | if (res.data.code == 0 && res.data.data.total > 0) { |
326 | plist = res.data.data.pageData[0]; | 342 | plist = res.data.data.pageData[0]; |
327 | } | 343 | } |
@@ -465,21 +481,37 @@ Page({ | @@ -465,21 +481,37 @@ Page({ | ||
465 | return s.my_warnning("商品不是搭配活动!", 0, th); | 481 | return s.my_warnning("商品不是搭配活动!", 0, th); |
466 | }else{ | 482 | }else{ |
467 | //---如果是线下门店销售的时候--- | 483 | //---如果是线下门店销售的时候--- |
468 | - if(th.data.sales_rules==2){ | 484 | + if(th.data.sales_rules>=2){ |
469 | var pick=th.get_pick_from_list(th.data.sto_sele_id) | 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 | getApp().request.get("/api/weshop/goods/getWareStorages",{ | 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 | success:function(res){ | 497 | success:function(res){ |
474 | if(res.data.code==0){ | 498 | if(res.data.code==0){ |
475 | if(res.data.data.pageData.length>0){ | 499 | if(res.data.data.pageData.length>0){ |
476 | var CanOutQty=res.data.data.pageData[0].CanOutQty; | 500 | var CanOutQty=res.data.data.pageData[0].CanOutQty; |
477 | if(CanOutQty<e.data.goodsInputNum){ | 501 | if(CanOutQty<e.data.goodsInputNum){ |
478 | return s.my_warnning("库存不足!", 0, th); | 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 | //在调一次接口,读取商品的预出库的数量,lock | 512 | //在调一次接口,读取商品的预出库的数量,lock |
481 | getApp().request.get("/api/weshop/order/ware/lock/page",{ | 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 | success:function(res_data){ | 515 | success:function(res_data){ |
484 | if(res_data.data.code==0 && res_data.data.data.total>0){ | 516 | if(res_data.data.code==0 && res_data.data.data.total>0){ |
485 | var lock=0; | 517 | var lock=0; |
@@ -625,7 +657,7 @@ Page({ | @@ -625,7 +657,7 @@ Page({ | ||
625 | } | 657 | } |
626 | 658 | ||
627 | var e = th.data.data.store_count; | 659 | var e = th.data.data.store_count; |
628 | - if(th.data.sales_rules==2){ | 660 | + if(th.data.sales_rules>=2){ |
629 | if(!th.data.def_pick_store){ | 661 | if(!th.data.def_pick_store){ |
630 | wx.showModal({ title: '请选择门店', }); | 662 | wx.showModal({ title: '请选择门店', }); |
631 | return false; | 663 | return false; |
@@ -815,6 +847,9 @@ Page({ | @@ -815,6 +847,9 @@ Page({ | ||
815 | } | 847 | } |
816 | } | 848 | } |
817 | e.his_cate_num=his_cate_num; | 849 | e.his_cate_num=his_cate_num; |
850 | + | ||
851 | + | ||
852 | + debugger | ||
818 | 853 | ||
819 | //如果有开启距离的功能,没有设置默认门店,要用最近的门店作为默认门店 | 854 | //如果有开启距离的功能,没有设置默认门店,要用最近的门店作为默认门店 |
820 | if(dd.lat && !th.data.def_pick_store && th.data.bconfig && th.data.bconfig.is_sort_storage){ | 855 | if(dd.lat && !th.data.def_pick_store && th.data.bconfig && th.data.bconfig.is_sort_storage){ |
@@ -842,7 +877,7 @@ Page({ | @@ -842,7 +877,7 @@ Page({ | ||
842 | th.setData({all_pick_list:e.data.data.pageData}); | 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 | setTimeout(function(){ | 881 | setTimeout(function(){ |
847 | th.deal_pickup_dline(e); | 882 | th.deal_pickup_dline(e); |
848 | },800) | 883 | },800) |
@@ -1054,73 +1089,129 @@ Page({ | @@ -1054,73 +1089,129 @@ Page({ | ||
1054 | var is_find_def_store=0; | 1089 | var is_find_def_store=0; |
1055 | 1090 | ||
1056 | var lock=[]; | 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 | //先读取门店的lock,采用链式写法,少用await | 1100 | //先读取门店的lock,采用链式写法,少用await |
1058 | getApp().request.promiseGet("/api/weshop/order/ware/lock/page",{ | 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 | }).then(res=>{ | 1103 | }).then(res=>{ |
1061 | if(res.data.code==0 && res.data.data.total>0){ | 1104 | if(res.data.code==0 && res.data.data.total>0){ |
1062 | lock=res.data.data.pageData | 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 | return getApp().request.promiseGet("/api/weshop/goods/getWareStorages",{ | 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,20 +1506,35 @@ Page({ | ||
1415 | 1506 | ||
1416 | if(this.data.sales_rules!=2){ | 1507 | if(this.data.sales_rules!=2){ |
1417 | func(); | 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 | //先读取门店的lock | 1519 | //先读取门店的lock |
1421 | await getApp().request.promiseGet("/api/weshop/order/ware/lock/page",{ | 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 | }).then(res=>{ | 1522 | }).then(res=>{ |
1424 | if(res.data.code==0 && res.data.data.total>0){ | 1523 | if(res.data.code==0 && res.data.data.total>0){ |
1425 | for(var i in res.data.data.pageData ) | 1524 | for(var i in res.data.data.pageData ) |
1426 | lock+=res.data.data.pageData[i].outQty; | 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 | await getApp().request.promiseGet("/api/weshop/goods/getWareStorages",{ | 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 | }).then(res=>{ | 1538 | }).then(res=>{ |
1433 | if(res.data.code==0 && res.data.data.total>0){ | 1539 | if(res.data.code==0 && res.data.data.total>0){ |
1434 | plist=res.data.data.pageData[0]; | 1540 | plist=res.data.data.pageData[0]; |
packageA/pages/prom_list/prom_list.wxml
@@ -78,7 +78,7 @@ | @@ -78,7 +78,7 @@ | ||
78 | <block> | 78 | <block> |
79 | <view class="flex"> | 79 | <view class="flex"> |
80 | <view class="spec-goods-stock">已售:{{data.sales_sum}}</view> | 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 | <view class="spec-goods-stock" wx:if="{{def_pick_store && def_pick_store.CanOutQty}}">可售:{{def_pick_store.CanOutQty}}</view> | 82 | <view class="spec-goods-stock" wx:if="{{def_pick_store && def_pick_store.CanOutQty}}">可售:{{def_pick_store.CanOutQty}}</view> |
83 | <view class="spec-goods-stock" wx:else>可售:0</view> | 83 | <view class="spec-goods-stock" wx:else>可售:0</view> |
84 | </block> | 84 | </block> |
@@ -113,7 +113,7 @@ | @@ -113,7 +113,7 @@ | ||
113 | <view wx:if="{{def_pickpu_list && !def_pickpu_list.length}}">(库存不足)</view> | 113 | <view wx:if="{{def_pickpu_list && !def_pickpu_list.length}}">(库存不足)</view> |
114 | <block wx:else> | 114 | <block wx:else> |
115 | <view class="no_store" wx:if="{{def_pick_store && def_pick_store.is_no_dis}}">(配送不匹配)</view> | 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 | </block> | 117 | </block> |
118 | </block> | 118 | </block> |
119 | 119 | ||
@@ -143,17 +143,17 @@ | @@ -143,17 +143,17 @@ | ||
143 | <view class="spec-cart-btns"> | 143 | <view class="spec-cart-btns"> |
144 | <!-- 根本就找不到门店 --> | 144 | <!-- 根本就找不到门店 --> |
145 | <block wx:if="{{!only_pk && !def_pickpu_list}}"> | 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 | </block> | 147 | </block> |
148 | <block wx:else> | 148 | <block wx:else> |
149 | 149 | ||
150 | 150 | ||
151 | <block wx:if="{{only_pk.length && !only_pk.length}}"> | 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 | </block> | 153 | </block> |
154 | <block wx:else> | 154 | <block wx:else> |
155 | <block wx:if="{{def_pickpu_list && !def_pickpu_list.length}}"> | 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 | </block> | 157 | </block> |
158 | <block wx:else> | 158 | <block wx:else> |
159 | <block wx:if="{{!def_pick_store}}"> | 159 | <block wx:if="{{!def_pick_store}}"> |
@@ -161,9 +161,10 @@ | @@ -161,9 +161,10 @@ | ||
161 | </block> | 161 | </block> |
162 | <block wx:else> | 162 | <block wx:else> |
163 | <!-- 如果是线下库存购买的时候,且是普通商品购买的时候 --> | 163 | <!-- 如果是线下库存购买的时候,且是普通商品购买的时候 --> |
164 | - <block wx:if="{{sales_rules==2}}"> | 164 | + <block wx:if="{{sales_rules>=2}}"> |
165 | + | ||
165 | <block wx:if="{{!def_pick_store.CanOutQty}}"> | 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 | </block> | 168 | </block> |
168 | <block wx:else> | 169 | <block wx:else> |
169 | <view bindtap="addCart" data-openSpecModal_ind="2" | 170 | <view bindtap="addCart" data-openSpecModal_ind="2" |
@@ -173,7 +174,7 @@ | @@ -173,7 +174,7 @@ | ||
173 | <!-- 线上销售 --> | 174 | <!-- 线上销售 --> |
174 | <block wx:else> | 175 | <block wx:else> |
175 | <block wx:if="{{data.store_count<=0}}"> | 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 | </block> | 178 | </block> |
178 | 179 | ||
179 | <block wx:elif="{{def_pick_store && def_pick_store.is_no_dis}}"> | 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,7 +324,8 @@ Page({ | ||
324 | is_closecoupon: json_d.is_closecoupon, | 324 | is_closecoupon: json_d.is_closecoupon, |
325 | is_newsales_rules: json_d.is_newsales_rules, | 325 | is_newsales_rules: json_d.is_newsales_rules, |
326 | is_open_offline: json_d.is_pricing_open, | 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,7 +666,7 @@ Page({ | ||
665 | //在启用线下的时候,要判断一下是不是有库存 | 666 | //在启用线下的时候,要判断一下是不是有库存 |
666 | async check_pk_store_conut(func,is_no_msg,gd,by_num){ | 667 | async check_pk_store_conut(func,is_no_msg,gd,by_num){ |
667 | var th=this; | 668 | var th=this; |
668 | - if(this.data.sales_rules!=2){ | 669 | + if(this.data.sales_rules<2){ |
669 | if(is_no_msg) return true; | 670 | if(is_no_msg) return true; |
670 | else { | 671 | else { |
671 | if(func) func(); | 672 | if(func) func(); |
@@ -709,14 +710,16 @@ Page({ | @@ -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 | await getApp().request.promiseGet("/api/weshop/goods/getWareStorages", { | 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 | }).then(res => { | 723 | }).then(res => { |
721 | if (ut.ajax_ok(res)) { | 724 | if (ut.ajax_ok(res)) { |
722 | plist = res.data.data.pageData[0]; | 725 | plist = res.data.data.pageData[0]; |
pages/cart/cart/cart.js
@@ -1823,7 +1823,7 @@ Page({ | @@ -1823,7 +1823,7 @@ Page({ | ||
1823 | var txt = "requestData[" + pitems + "].goods[" + i + "].selected"; | 1823 | var txt = "requestData[" + pitems + "].goods[" + i + "].selected"; |
1824 | 1824 | ||
1825 | var gd_info=item[i]; | 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 | var ob = {}; | 1827 | var ob = {}; |
1828 | await th.check_down_line_next(gd_info, pitems, i, gd_info.erpwareid, function (res) { | 1828 | await th.check_down_line_next(gd_info, pitems, i, gd_info.erpwareid, function (res) { |
1829 | ob = res; | 1829 | ob = res; |
@@ -1944,7 +1944,7 @@ Page({ | @@ -1944,7 +1944,7 @@ Page({ | ||
1944 | var gd_info=a; | 1944 | var gd_info=a; |
1945 | 1945 | ||
1946 | var erpwareid = gd_info.erpwareid; | 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 | var ob = {}; | 1948 | var ob = {}; |
1949 | await th.check_down_line_next(gd_info, pitems, item, erpwareid, function (res) { | 1949 | await th.check_down_line_next(gd_info, pitems, item, erpwareid, function (res) { |
1950 | ob = res; | 1950 | ob = res; |
@@ -2869,12 +2869,7 @@ Page({ | @@ -2869,12 +2869,7 @@ Page({ | ||
2869 | 2869 | ||
2870 | //先读取门店的lock | 2870 | //先读取门店的lock |
2871 | await getApp().request.promiseGet("/api/weshop/order/ware/lock/page", { | 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 | }).then(res => { | 2873 | }).then(res => { |
2879 | if (res.data.code == 0 && res.data.data.total > 0) { | 2874 | if (res.data.code == 0 && res.data.data.total > 0) { |
2880 | for (var i in res.data.data.pageData) | 2875 | for (var i in res.data.data.pageData) |
@@ -2882,8 +2877,6 @@ Page({ | @@ -2882,8 +2877,6 @@ Page({ | ||
2882 | } | 2877 | } |
2883 | }) | 2878 | }) |
2884 | 2879 | ||
2885 | - | ||
2886 | - | ||
2887 | if(this.data.sales_rules==2) { | 2880 | if(this.data.sales_rules==2) { |
2888 | //先获取门店的编号 | 2881 | //先获取门店的编号 |
2889 | await getApp().request.promiseGet("/api/weshop/pickup/get/" + os.stoid + "/" + goodsinfo.pick_id, { | 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,6 +1250,7 @@ Page({ | ||
1250 | 1250 | ||
1251 | //------------加入购物车-------------- | 1251 | //------------加入购物车-------------- |
1252 | addCart: function (t) { | 1252 | addCart: function (t) { |
1253 | + | ||
1253 | var th = this; | 1254 | var th = this; |
1254 | var ind = t.currentTarget.dataset.openSpecModal_ind; | 1255 | var ind = t.currentTarget.dataset.openSpecModal_ind; |
1255 | if (!ind) ind = t.currentTarget.dataset.openspecmodal_ind; | 1256 | if (!ind) ind = t.currentTarget.dataset.openspecmodal_ind; |
@@ -2433,6 +2434,9 @@ Page({ | @@ -2433,6 +2434,9 @@ Page({ | ||
2433 | }, | 2434 | }, |
2434 | 2435 | ||
2435 | openSpecModel: function (t) { | 2436 | openSpecModel: function (t) { |
2437 | + | ||
2438 | + | ||
2439 | + | ||
2436 | var th = this; | 2440 | var th = this; |
2437 | var open_store = t.currentTarget.dataset.ind; | 2441 | var open_store = t.currentTarget.dataset.ind; |
2438 | 2442 | ||
@@ -4285,7 +4289,7 @@ Page({ | @@ -4285,7 +4289,7 @@ Page({ | ||
4285 | }) | 4289 | }) |
4286 | 4290 | ||
4287 | 4291 | ||
4288 | - debugger | 4292 | + |
4289 | 4293 | ||
4290 | //----------查看阶梯团------------ | 4294 | //----------查看阶梯团------------ |
4291 | if (t.data.data.ct_rylist != "null" && t.data.data.ct_rylist != "" && t.data.data.ct_rylist != null && t.data.data.ct_rylist != undefined) { | 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,7 +6287,6 @@ Page({ | ||
6283 | var ind = ee.currentTarget.dataset.ind; | 6287 | var ind = ee.currentTarget.dataset.ind; |
6284 | var bconfig = th.data.bconfig; | 6288 | var bconfig = th.data.bconfig; |
6285 | 6289 | ||
6286 | - debugger | ||
6287 | 6290 | ||
6288 | //如果开启了,则不在选择门店 | 6291 | //如果开启了,则不在选择门店 |
6289 | if (this.data.sys_switch.is_pricing_open_store && getApp().globalData.pk_store) { | 6292 | if (this.data.sys_switch.is_pricing_open_store && getApp().globalData.pk_store) { |
@@ -6339,6 +6342,9 @@ Page({ | @@ -6339,6 +6342,9 @@ Page({ | ||
6339 | th.get_sto(th.data.is_normal); | 6342 | th.get_sto(th.data.is_normal); |
6340 | }, | 6343 | }, |
6341 | fail: function (res) { | 6344 | fail: function (res) { |
6345 | + | ||
6346 | + | ||
6347 | + | ||
6342 | //th.onShow(); | 6348 | //th.onShow(); |
6343 | th.data.is_get_local_ok = 1; | 6349 | th.data.is_get_local_ok = 1; |
6344 | th.get_sto(th.data.is_normal); | 6350 | th.get_sto(th.data.is_normal); |
@@ -6509,6 +6515,7 @@ Page({ | @@ -6509,6 +6515,7 @@ Page({ | ||
6509 | wareId: goodsinfo.goods_id, | 6515 | wareId: goodsinfo.goods_id, |
6510 | pageSize: 1000 | 6516 | pageSize: 1000 |
6511 | }; | 6517 | }; |
6518 | + | ||
6512 | if (sales_rules == 2) { | 6519 | if (sales_rules == 2) { |
6513 | lock_rq.storageId = item.pickup_id | 6520 | lock_rq.storageId = item.pickup_id |
6514 | } else { | 6521 | } else { |
@@ -6538,7 +6545,7 @@ Page({ | @@ -6538,7 +6545,7 @@ Page({ | ||
6538 | sto_req.storageIds = encodeURIComponent(this.data.appoint_pick_keyid) | 6545 | sto_req.storageIds = encodeURIComponent(this.data.appoint_pick_keyid) |
6539 | } | 6546 | } |
6540 | 6547 | ||
6541 | - debugger | 6548 | + |
6542 | 6549 | ||
6543 | //读取线下的门店库存 | 6550 | //读取线下的门店库存 |
6544 | await getApp().request.promiseGet("/api/weshop/goods/getWareStorages", { | 6551 | await getApp().request.promiseGet("/api/weshop/goods/getWareStorages", { |
@@ -6562,7 +6569,7 @@ Page({ | @@ -6562,7 +6569,7 @@ Page({ | ||
6562 | sure_pick: function (e) { | 6569 | sure_pick: function (e) { |
6563 | var th = this; | 6570 | var th = this; |
6564 | var item = null; | 6571 | var item = null; |
6565 | - var openindstore = th.data.open_ind_store; | 6572 | + var openindstore = parseInt(th.data.open_ind_store); |
6566 | 6573 | ||
6567 | if (th.data.choice_sort_store == 0) { | 6574 | if (th.data.choice_sort_store == 0) { |
6568 | var index = th.data.fir_pick_index; | 6575 | var index = th.data.fir_pick_index; |
@@ -6765,9 +6772,13 @@ Page({ | @@ -6765,9 +6772,13 @@ Page({ | ||
6765 | }); | 6772 | }); |
6766 | }) | 6773 | }) |
6767 | var t_time = setInterval(function () { | 6774 | var t_time = setInterval(function () { |
6775 | + | ||
6776 | + | ||
6768 | if (th.data.bconfig == null) false; | 6777 | if (th.data.bconfig == null) false; |
6769 | var e = th.data.bconfig; | 6778 | var e = th.data.bconfig; |
6770 | if (e && e.is_sort_storage) { | 6779 | if (e && e.is_sort_storage) { |
6780 | + | ||
6781 | + | ||
6771 | wx.getLocation({ | 6782 | wx.getLocation({ |
6772 | type: 'gcj02', | 6783 | type: 'gcj02', |
6773 | success: function (res) { | 6784 | success: function (res) { |
pages/goods/goodsInfo/goodsInfo.wxml
@@ -1184,6 +1184,7 @@ | @@ -1184,6 +1184,7 @@ | ||
1184 | <!-- 制作一个圆球导航 --> | 1184 | <!-- 制作一个圆球导航 --> |
1185 | <nav_box></nav_box> | 1185 | <nav_box></nav_box> |
1186 | </block> | 1186 | </block> |
1187 | + | ||
1187 | <!-- --弹起来,选择规格数量,普通商品购买和秒杀---- --> | 1188 | <!-- --弹起来,选择规格数量,普通商品购买和秒杀---- --> |
1188 | <view hidden="{{!openSpecModal}}"> | 1189 | <view hidden="{{!openSpecModal}}"> |
1189 | <view bindtap="closeSpecModal" class="cover-layer"></view> | 1190 | <view bindtap="closeSpecModal" class="cover-layer"></view> |
@@ -1247,8 +1248,8 @@ | @@ -1247,8 +1248,8 @@ | ||
1247 | </view> | 1248 | </view> |
1248 | <!-- 选择门店模块 --> | 1249 | <!-- 选择门店模块 --> |
1249 | <view class="flex-space-between address ai_end xc-width "> | 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 | <view class="distance fs24 xc-ash" wx:if="{{def_pick_store.distance!=null}}"> | 1253 | <view class="distance fs24 xc-ash" wx:if="{{def_pick_store.distance!=null}}"> |
1253 | 距离:{{def_pick_store.distance>1000?filters.toFix(def_pick_store.distance/1000,2)+"km":filters.toFix(def_pick_store.distance,0)+"m"}} | 1254 | 距离:{{def_pick_store.distance>1000?filters.toFix(def_pick_store.distance/1000,2)+"km":filters.toFix(def_pick_store.distance,0)+"m"}} |
1254 | </view> | 1255 | </view> |
pages/goods/goodsInfo/goodsInfo.wxss
@@ -3282,6 +3282,10 @@ margin: auto; */ | @@ -3282,6 +3282,10 @@ margin: auto; */ | ||
3282 | .shop_name { | 3282 | .shop_name { |
3283 | margin-right: 10rpx; | 3283 | margin-right: 10rpx; |
3284 | } | 3284 | } |
3285 | +.shop_name.max{ | ||
3286 | + max-width:370rpx; flex-shrink: 0; | ||
3287 | +} | ||
3288 | + | ||
3285 | 3289 | ||
3286 | .address { | 3290 | .address { |
3287 | /* width: 100%; | 3291 | /* width: 100%; |
@@ -3297,7 +3301,9 @@ margin: auto; */ | @@ -3297,7 +3301,9 @@ margin: auto; */ | ||
3297 | /* margin-right: 5rpx; */ | 3301 | /* margin-right: 5rpx; */ |
3298 | color: #999; | 3302 | color: #999; |
3299 | height: 38rpx; | 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,7 +3419,8 @@ margin: auto; */ | ||
3413 | } | 3419 | } |
3414 | 3420 | ||
3415 | .address_name { | 3421 | .address_name { |
3416 | - margin-right: 10rpx; | 3422 | + margin-right: 10rpx; |
3423 | + width: 360rpx; | ||
3417 | 3424 | ||
3418 | } | 3425 | } |
3419 | 3426 |