Commit 85254bb9b6c4b2b4ef75bfb649e3bdd3770f88ec
1 parent
51686d67
我的订单, 订单详情再来一单的,因为有组合购计算线下库存的bug优化
Showing
3 changed files
with
159 additions
and
60 deletions
packageA/pages/distribution/myteam/myteam.js
... | ... | @@ -144,10 +144,11 @@ Page({ |
144 | 144 | * 页面上拉触底事件的处理函数 |
145 | 145 | */ |
146 | 146 | onReachBottom: function () { |
147 | + var th=this; | |
147 | 148 | this.scrollToLower('/api/weshop/users/distribut/teamlist', { |
148 | 149 | store_id: app.globalData.setting.stoid, |
149 | 150 | user_id: app.globalData.user_id, |
150 | - level: currentIndex + 1, | |
151 | + level: th.data.currentTabIndex + 1, | |
151 | 152 | }); |
152 | 153 | }, |
153 | 154 | ... | ... |
pages/user/order_detail/order_detail.js
... | ... | @@ -974,43 +974,55 @@ Page({ |
974 | 974 | }) |
975 | 975 | |
976 | 976 | var lock=0,plist=null; |
977 | - //先读取门店的lock, | |
978 | - await getApp().request.promiseGet("/api/weshop/order/ware/lock/page",{ | |
979 | - data:{store_id:os.stoid,wareId:good.goods_id,storageId:b_item.pickup_id,pageSize:1000} | |
980 | - }).then(res=>{ | |
981 | - if(res.data.code==0 && res.data.data.total>0){ | |
982 | - for(var i in res.data.data.pageData) | |
983 | - lock+=res.data.data.pageData[i].outQty | |
984 | - } | |
985 | - }) | |
986 | - | |
987 | - //---通过接口获取门店的线下库存信息-- | |
988 | - await getApp().request.promiseGet("/api/weshop/goods/getWareStorages",{ | |
989 | - data:{storageNos:pickup.pickup_no,wareIds:encodeURIComponent(good.erpwareid),storeId:os.stoid} | |
990 | - }).then(res=>{ | |
991 | - if(res.data.code==0 && res.data.data.total>0){ | |
992 | - plist=res.data.data.pageData[0]; | |
993 | - } | |
994 | - }) | |
995 | - | |
996 | - if(!plist){ | |
997 | - err_text+= good['goods_name']+"库存不足\n"; | |
998 | - continue; | |
999 | - } | |
1000 | - if(plist.CanOutQty-lock<=0){ | |
1001 | - err_text+= good['goods_name']+"库存不足\n"; | |
1002 | - continue; | |
1003 | - } | |
1004 | - if(b_item.goods_num>(plist.CanOutQty-lock)){ | |
1005 | - b_item.goods_num=plist.CanOutQty-lock; | |
1006 | - } | |
977 | + | |
978 | + if(b_item.prom_type!=7) { | |
979 | + //先读取门店的lock, | |
980 | + await getApp().request.promiseGet("/api/weshop/order/ware/lock/page", { | |
981 | + data: {store_id: os.stoid, wareId: good.goods_id, storageId: b_item.pickup_id, pageSize: 1000} | |
982 | + }).then(res => { | |
983 | + if (res.data.code == 0 && res.data.data.total > 0) { | |
984 | + for (var i in res.data.data.pageData) | |
985 | + lock += res.data.data.pageData[i].outQty | |
986 | + } | |
987 | + }) | |
988 | + | |
989 | + //---通过接口获取门店的线下库存信息-- | |
990 | + await getApp().request.promiseGet("/api/weshop/goods/getWareStorages", { | |
991 | + data: { | |
992 | + storageNos: pickup.pickup_no, | |
993 | + wareIds: encodeURIComponent(good.erpwareid), | |
994 | + storeId: os.stoid | |
995 | + } | |
996 | + }).then(res => { | |
997 | + if (res.data.code == 0 && res.data.data.total > 0) { | |
998 | + plist = res.data.data.pageData[0]; | |
999 | + } | |
1000 | + }) | |
1001 | + | |
1002 | + if (!plist) { | |
1003 | + err_text += good['goods_name'] + "库存不足\n"; | |
1004 | + continue; | |
1005 | + } | |
1006 | + if (plist.CanOutQty - lock <= 0) { | |
1007 | + err_text += good['goods_name'] + "库存不足\n"; | |
1008 | + continue; | |
1009 | + } | |
1010 | + if (b_item.goods_num > (plist.CanOutQty - lock)) { | |
1011 | + b_item.goods_num = plist.CanOutQty - lock; | |
1012 | + } | |
1013 | + } | |
1007 | 1014 | var req_data={ |
1008 | 1015 | store_id: os.stoid, |
1009 | 1016 | user_id: getApp().globalData.user_id, |
1010 | 1017 | goods_id: good.goods_id, |
1011 | 1018 | }; |
1019 | + if(b_item.prom_type==7){ | |
1020 | + req_data.prom_type=7; | |
1021 | + req_data.prom_id=b_item.prom_id; | |
1022 | + } | |
1012 | 1023 | |
1013 | - var buynum=0; | |
1024 | + var buynum=0; | |
1025 | + var promnum=0; | |
1014 | 1026 | //---要获得商品,该用户买了多少件,同步应用--- |
1015 | 1027 | await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", { |
1016 | 1028 | data: req_data, |
... | ... | @@ -1018,6 +1030,9 @@ Page({ |
1018 | 1030 | if(res.data.code==0){ |
1019 | 1031 | var buy_num_data = res.data.data; |
1020 | 1032 | buynum = buy_num_data.goodsbuynum; |
1033 | + if(buy_num_data.promgoodsbuynum){ | |
1034 | + promnum=buy_num_data.promgoodsbuynum; | |
1035 | + } | |
1021 | 1036 | } |
1022 | 1037 | }) |
1023 | 1038 | |
... | ... | @@ -1032,6 +1047,40 @@ Page({ |
1032 | 1047 | b_item.goods_num=good['viplimited']; |
1033 | 1048 | } |
1034 | 1049 | } |
1050 | + | |
1051 | + //--要计算一下限购 -- | |
1052 | + if(b_item.prom_type==7){ | |
1053 | + var url1 = "/api/weshop/prom/zhbuyGoods/page"; | |
1054 | + var req_data = { | |
1055 | + page: 1, | |
1056 | + pageSize: 2000, | |
1057 | + store_id: os.stoid, | |
1058 | + zh_id: b_item.prom_id, | |
1059 | + goods_id:b_item.goods_id | |
1060 | + } | |
1061 | + await getApp().request.promiseGet(url1, { | |
1062 | + data: req_data | |
1063 | + }).then(res => { | |
1064 | + if (ut.ajax_ok(res)) { | |
1065 | + var gdlist = res.data.data.pageData[0]; | |
1066 | + b_item.buyqty=gdlist.buyqty; | |
1067 | + } | |
1068 | + }) | |
1069 | + | |
1070 | + | |
1071 | + //---- 要计算商品的限购 ----- | |
1072 | + if(b_item['buyqty']>0){ | |
1073 | + if(cart_num+buynum>b_item['buyqty']){ | |
1074 | + err_text+= good['goods_name']+"超出限购\n"; | |
1075 | + continue; | |
1076 | + } | |
1077 | + b_item['buyqty']-=(cart_num+buynum); | |
1078 | + if(b_item.goods_num>b_item['buyqty']){ | |
1079 | + b_item.goods_num=b_item['buyqty']; | |
1080 | + } | |
1081 | + } | |
1082 | + } | |
1083 | + | |
1035 | 1084 | |
1036 | 1085 | back_goods_arr.push(b_item); //返回商品元素 |
1037 | 1086 | ... | ... |
pages/user/order_list/order_list.js
... | ... | @@ -1083,43 +1083,56 @@ Page({ |
1083 | 1083 | }) |
1084 | 1084 | |
1085 | 1085 | var lock=0,plist=null; |
1086 | - //先读取门店的lock, | |
1087 | - await getApp().request.promiseGet("/api/weshop/order/ware/lock/page",{ | |
1088 | - data:{store_id:os.stoid,wareId:good.goods_id,storageId:b_item.pickup_id,pageSize:1000} | |
1089 | - }).then(res=>{ | |
1090 | - if(res.data.code==0 && res.data.data.total>0){ | |
1091 | - for(var i in res.data.data.pageData) | |
1092 | - lock+=res.data.data.pageData[i].outQty | |
1093 | - } | |
1094 | - }) | |
1095 | 1086 | |
1096 | - //---通过接口获取门店的线下库存信息-- | |
1097 | - await getApp().request.promiseGet("/api/weshop/goods/getWareStorages",{ | |
1098 | - data:{storageNos:pickup.pickup_no,wareIds:encodeURIComponent(good.erpwareid),storeId:os.stoid} | |
1099 | - }).then(res=>{ | |
1100 | - if(res.data.code==0 && res.data.data.total>0){ | |
1101 | - plist=res.data.data.pageData[0]; | |
1102 | - } | |
1103 | - }) | |
1087 | + if(b_item.prom_type!=7) { | |
1088 | + //先读取门店的lock, | |
1089 | + await getApp().request.promiseGet("/api/weshop/order/ware/lock/page", { | |
1090 | + data: {store_id: os.stoid, wareId: good.goods_id, storageId: b_item.pickup_id, pageSize: 1000} | |
1091 | + }).then(res => { | |
1092 | + if (res.data.code == 0 && res.data.data.total > 0) { | |
1093 | + for (var i in res.data.data.pageData) | |
1094 | + lock += res.data.data.pageData[i].outQty | |
1095 | + } | |
1096 | + }) | |
1097 | + //---通过接口获取门店的线下库存信息-- | |
1098 | + await getApp().request.promiseGet("/api/weshop/goods/getWareStorages", { | |
1099 | + data: { | |
1100 | + storageNos: pickup.pickup_no, | |
1101 | + wareIds: encodeURIComponent(good.erpwareid), | |
1102 | + storeId: os.stoid | |
1103 | + } | |
1104 | + }).then(res => { | |
1105 | + if (res.data.code == 0 && res.data.data.total > 0) { | |
1106 | + plist = res.data.data.pageData[0]; | |
1107 | + } | |
1108 | + }) | |
1104 | 1109 | |
1105 | - if(!plist){ | |
1106 | - err_text+= good['goods_name']+"库存不足\n"; | |
1107 | - continue; | |
1108 | - } | |
1109 | - if(plist.CanOutQty-lock<=0){ | |
1110 | - err_text+= good['goods_name']+"库存不足\n"; | |
1111 | - continue; | |
1112 | - } | |
1113 | - if(b_item.goods_num>(plist.CanOutQty-lock)){ | |
1114 | - b_item.goods_num=plist.CanOutQty-lock; | |
1115 | - } | |
1110 | + if (!plist) { | |
1111 | + err_text += good['goods_name'] + "库存不足\n"; | |
1112 | + continue; | |
1113 | + } | |
1114 | + if (plist.CanOutQty - lock <= 0) { | |
1115 | + err_text += good['goods_name'] + "库存不足\n"; | |
1116 | + continue; | |
1117 | + } | |
1118 | + if (b_item.goods_num > (plist.CanOutQty - lock)) { | |
1119 | + b_item.goods_num = plist.CanOutQty - lock; | |
1120 | + } | |
1121 | + } | |
1116 | 1122 | var req_data={ |
1117 | 1123 | store_id: os.stoid, |
1118 | 1124 | user_id: getApp().globalData.user_id, |
1119 | 1125 | goods_id: good.goods_id, |
1120 | 1126 | }; |
1121 | 1127 | |
1128 | + if(b_item.prom_type==7){ | |
1129 | + req_data.prom_type=7; | |
1130 | + req_data.prom_id=b_item.prom_id; | |
1131 | + } | |
1132 | + | |
1133 | + | |
1122 | 1134 | var buynum=0; |
1135 | + var promnum=0; | |
1123 | 1136 | //---要获得商品,该用户买了多少件,同步应用--- |
1124 | 1137 | await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", { |
1125 | 1138 | data: req_data, |
... | ... | @@ -1127,6 +1140,9 @@ Page({ |
1127 | 1140 | if(res.data.code==0){ |
1128 | 1141 | var buy_num_data = res.data.data; |
1129 | 1142 | buynum = buy_num_data.goodsbuynum; |
1143 | + if(buy_num_data.promgoodsbuynum){ | |
1144 | + promnum=buy_num_data.promgoodsbuynum; | |
1145 | + } | |
1130 | 1146 | } |
1131 | 1147 | }) |
1132 | 1148 | |
... | ... | @@ -1142,6 +1158,39 @@ Page({ |
1142 | 1158 | } |
1143 | 1159 | } |
1144 | 1160 | |
1161 | + //--要计算一下限购 -- | |
1162 | + if(b_item.prom_type==7){ | |
1163 | + var url1 = "/api/weshop/prom/zhbuyGoods/page"; | |
1164 | + var req_data = { | |
1165 | + page: 1, | |
1166 | + pageSize: 2000, | |
1167 | + store_id: os.stoid, | |
1168 | + zh_id: b_item.prom_id, | |
1169 | + goods_id:b_item.goods_id | |
1170 | + } | |
1171 | + await getApp().request.promiseGet(url1, { | |
1172 | + data: req_data | |
1173 | + }).then(res => { | |
1174 | + if (ut.ajax_ok(res)) { | |
1175 | + var gdlist = res.data.data.pageData[0]; | |
1176 | + b_item.buyqty=gdlist.buyqty; | |
1177 | + } | |
1178 | + }) | |
1179 | + | |
1180 | + | |
1181 | + //---- 要计算商品的限购 ----- | |
1182 | + if(b_item['buyqty']>0){ | |
1183 | + if(cart_num+buynum>b_item['buyqty']){ | |
1184 | + err_text+= good['goods_name']+"超出限购\n"; | |
1185 | + continue; | |
1186 | + } | |
1187 | + b_item['buyqty']-=(cart_num+buynum); | |
1188 | + if(b_item.goods_num>b_item['buyqty']){ | |
1189 | + b_item.goods_num=b_item['buyqty']; | |
1190 | + } | |
1191 | + } | |
1192 | + } | |
1193 | + | |
1145 | 1194 | back_goods_arr.push(b_item); //返回商品元素 |
1146 | 1195 | |
1147 | 1196 | }else{ | ... | ... |