Commit 3ed751a9175e08ec2ec39cbd89888839fd72894a

Authored by yvan.ni
1 parent f7503b6e

指定门店线下库存的优化

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  
... ...