Commit bbc86ce866c58283bf93ca411c8ca0cbde385451
1 parent
1dc2a629
增加商家查看订单详细
Showing
5 changed files
with
1966 additions
and
1 deletions
app.json
@@ -201,7 +201,9 @@ | @@ -201,7 +201,9 @@ | ||
201 | "pages/user/member/account/account", | 201 | "pages/user/member/account/account", |
202 | "pages/user/member/account_unable/account_unable", | 202 | "pages/user/member/account_unable/account_unable", |
203 | "pages/user/member/cash_record/cash_record", | 203 | "pages/user/member/cash_record/cash_record", |
204 | - "pages/gift/gift" | 204 | + "pages/gift/gift", |
205 | + | ||
206 | + "pages/shop/order_detail/order_detail" | ||
205 | ] | 207 | ] |
206 | } | 208 | } |
207 | 209 |
packageD/pages/shop/order_detail/order_detail.js
0 → 100644
1 | +var e = getApp(), r = e.request,rq=r,t = require("../../../../utils/util.js"), o = require("../../../../utils/common.js"),oo=e.globalData,os=oo.setting; | ||
2 | +var regeneratorRuntime = require('../../../../utils/runtime.js'); | ||
3 | +var ut= require('../../../../utils/util.js'); | ||
4 | +var py = require("../../../../utils/pay.js"); | ||
5 | + | ||
6 | + | ||
7 | +Page({ | ||
8 | + data: { | ||
9 | + url: os.url, | ||
10 | + resourceUrl: os.imghost, | ||
11 | + iurl: os.imghost, | ||
12 | + order: null, | ||
13 | + optionIsGoup: !1, | ||
14 | + user_note: "", | ||
15 | + conf:null, | ||
16 | + }, | ||
17 | + onLoad: function(e) { | ||
18 | + var th=this; | ||
19 | + var r = void 0 !== e.isGoup && e.isGoup; | ||
20 | + | ||
21 | + getApp().getConfig2(function (e) { | ||
22 | + | ||
23 | + th.setData({conf: e,sales_rules:e.sales_rules, userInfo: getApp().globalData.userInfo}); | ||
24 | + //--- 看后台是不是有开通等级卡 --- | ||
25 | + | ||
26 | + },1) | ||
27 | + | ||
28 | + this.setData({ | ||
29 | + optionIsGoup: r | ||
30 | + }), this.requestOrderDetail(e.order_id), wx.removeStorageSync("order:order_detail:update"); | ||
31 | + }, | ||
32 | + onShow: function() { | ||
33 | + wx.getStorageSync("order:order_detail:update") && (wx.removeStorageSync("order:order_detail:update"), | ||
34 | + this.requestOrderDetail(this.data.order.order_id)); | ||
35 | + }, | ||
36 | + requestOrderDetail: function(e) { | ||
37 | + var o = this,oid=e,th=this; | ||
38 | + r.get(o.data.url + "/api/weshop/order/get/"+os.stoid+"/"+e, { | ||
39 | + success: function(e) { | ||
40 | + var r = e.data.data; | ||
41 | + r.addTimeFormat = t.format(r.add_time); | ||
42 | + if (r.order_status == 0 && r.pay_status==0 ){ | ||
43 | + r.order_status_detail="待支付"; r.pay_btn=1; | ||
44 | + } | ||
45 | + if (r.order_status == 1 && r.pay_status == 1 && r.shipping_status== 0) | ||
46 | + r.order_status_detail = "待发货"; | ||
47 | + | ||
48 | + if (r.order_status == 1 && r.pay_status == 1 && r.shipping_status == 1){ | ||
49 | + r.order_status_detail = "待收货";r.receive_btn=1; | ||
50 | + if (r.exp_type == 0) r.shipping_btn=1; | ||
51 | + } | ||
52 | + if (r.order_status == 1 && r.pay_status == 1 && r.shipping_status == 2){ | ||
53 | + r.order_status_detail = "待收货"; r.receive_btn = 1; | ||
54 | + if (r.exp_type == 0) r.shipping_btn = 1; | ||
55 | + } | ||
56 | + if (r.order_status == 2){ | ||
57 | + r.order_status_detail = "待评价"; if (r.exp_type == 0) r.shipping_btn = 1; | ||
58 | + } | ||
59 | + if (r.order_status == 3) | ||
60 | + r.order_status_detail = "已取消"; | ||
61 | + if (r.order_status == 4){ | ||
62 | + r.order_status_detail = "已完成"; if (r.exp_type == 0) r.shipping_btn = 1; | ||
63 | + } | ||
64 | + if (r.order_status == 5) | ||
65 | + r.order_status_detail = "已作废"; | ||
66 | + if (r.order_status == 6) | ||
67 | + r.order_status_detail = "退款完成"; | ||
68 | + if (r.pt_status == 1 && r.pt_prom_id>0) | ||
69 | + r.order_status_detail = "组团中"; | ||
70 | + | ||
71 | + | ||
72 | + r['is_all_return'] = 0; | ||
73 | + | ||
74 | + var discount_price=r['discount_amount']; | ||
75 | + var dis_json=r['prom_pt_json']; | ||
76 | + | ||
77 | + if(dis_json && discount_price){ | ||
78 | + var prom_pt_json=JSON.parse(dis_json); | ||
79 | + var ladder_amount=0; | ||
80 | + for (var ll_item of prom_pt_json) { | ||
81 | + if(ll_item['ladder_prom_id']){ | ||
82 | + ladder_amount += ll_item['dis']; | ||
83 | + } | ||
84 | + } | ||
85 | + r['ladder_amount']=ladder_amount; | ||
86 | + r['discount_amount']=Math.floor((discount_price-ladder_amount)*100)/100; | ||
87 | + } | ||
88 | + | ||
89 | + | ||
90 | + | ||
91 | + | ||
92 | + //------获取订单商品------- | ||
93 | + rq.get("/api/weshop/ordergoods/list",{ | ||
94 | + data: { store_id: os.stoid, order_id: oid}, | ||
95 | + success:async function (eb) { | ||
96 | + r.order_goods=eb.data.data.pageData; | ||
97 | + var glist = r.order_goods; | ||
98 | + for(var i in glist){ | ||
99 | + if(glist[i].is_gift){ | ||
100 | + r.is_prom=1; | ||
101 | + } | ||
102 | + } | ||
103 | + | ||
104 | + //------------对比一下有没有退款记录------------ | ||
105 | + await getApp().request.promiseGet("/api/weshop/order/returngoods/page",{ | ||
106 | + data: { order_id: r.order_id, store_id: os.stoid, | ||
107 | + user_id:oo.user_id, pageSize: 20 } | ||
108 | + }).then(rs=>{ | ||
109 | + var ttd=rs; | ||
110 | + //--看一下订单的总数量-- | ||
111 | + var gtype_num = r.order_goods.length; | ||
112 | + if(ttd.data.data.pageData == undefined) return false; | ||
113 | + var goodslist = r.order_goods; | ||
114 | + | ||
115 | + //----没有相关的退款记录---- | ||
116 | + if (ttd.data.data.total==0){ | ||
117 | + r['is_all_return'] = 0; | ||
118 | + | ||
119 | + goodslist.forEach(function (ee, ii) { | ||
120 | + if (r['order_status'] == 1 && r['pay_status'] == 1 && gtype_num>1){ | ||
121 | + //是不是可以单个商品退款 | ||
122 | + if(th.check_for_return_btn(r) ) { | ||
123 | + goodslist[ii]['return_btn']=1; | ||
124 | + } | ||
125 | + } | ||
126 | + }); | ||
127 | + }else{ | ||
128 | + //--------整单退-------- | ||
129 | + if (ttd.data.data.pageData[0]['goods_id_list'] != null | ||
130 | + && ttd.data.data.pageData[0]['goods_id_list'] != ''){ | ||
131 | + | ||
132 | + | ||
133 | + var eea = ttd.data.data.pageData[0]; | ||
134 | + //1.退款正在进行中, | ||
135 | + //2.退款被拒绝就要显示可以退款 | ||
136 | + //3.退款已经完成 | ||
137 | + r['is_all_return']=1; | ||
138 | + r['is_all_return_status'] = ttd.data.data.pageData[0].status; | ||
139 | + | ||
140 | + if (r['order_status'] == 1 && r['pay_status'] == 1) { | ||
141 | + switch (eea.status) { | ||
142 | + case 0: | ||
143 | + case 1: | ||
144 | + r.order_status_detail="退款中"; | ||
145 | + r['return_btn'] = 2; break; | ||
146 | + case 2: | ||
147 | + r.order_status_detail="退款完成"; | ||
148 | + r['return_btn'] = 4; break; | ||
149 | + case 3: | ||
150 | + r['return_btn'] = 3; break; | ||
151 | + default: | ||
152 | + r['return_btn'] = 0; | ||
153 | + } | ||
154 | + } | ||
155 | + }else{ | ||
156 | + //1.退款正在进行中, | ||
157 | + //2.退款被拒绝就要显示可以退款 | ||
158 | + //3.退款已经完成 | ||
159 | + r['is_all_return'] = 0; | ||
160 | + var rt_ok_num=0; | ||
161 | + | ||
162 | + //if(r['order_status'] == 1 && r['pay_status'] == 1) { | ||
163 | + goodslist.forEach(function (eeb, iii) { | ||
164 | + if(r['order_status'] == 1 && r['pay_status'] == 1) | ||
165 | + goodslist[iii]['return_btn'] = 1; //申请退款 | ||
166 | + ttd.data.data.pageData.forEach(function (eea, ii) { | ||
167 | + var st = eea.status; | ||
168 | + if (eea.goods_id == eeb.goods_id){ | ||
169 | + | ||
170 | + switch (eea.status){ | ||
171 | + case 0: | ||
172 | + case 1://退款处理中 | ||
173 | + r['has_rt'] = 1; //有部分退 | ||
174 | + goodslist[iii]['return_btn'] = 2; break; | ||
175 | + case 2://退款完成 | ||
176 | + r['has_rt'] = 1; //有部分退 | ||
177 | + goodslist[iii]['return_btn'] = 4;rt_ok_num++; break; | ||
178 | + case 3://已拒绝,重新退款 | ||
179 | + goodslist[iii]['return_btn'] = 3; break; | ||
180 | + default: | ||
181 | + if(r['order_status'] == 1 && r['pay_status'] == 1) | ||
182 | + goodslist[iii]['return_btn'] = 1; //申请退款 | ||
183 | + } | ||
184 | + return; | ||
185 | + } | ||
186 | + }); | ||
187 | + }); | ||
188 | + //} | ||
189 | + } | ||
190 | + } | ||
191 | + | ||
192 | + //--如果是全部退款,也就可以删除-- | ||
193 | + if(rt_ok_num==goodslist.length){ | ||
194 | + r['is_all_return_status']=2; | ||
195 | + } | ||
196 | + r['order_goods'] = goodslist; | ||
197 | + var g_num = 0; | ||
198 | + goodslist.forEach(function (ee, ii) { | ||
199 | + if(ee.return_btn!=4) | ||
200 | + g_num += ee.goods_num; | ||
201 | + }); | ||
202 | + r['g_num'] = g_num; | ||
203 | + }) | ||
204 | + | ||
205 | + | ||
206 | + //--------获取门店----------- | ||
207 | + rq.get("/api/weshop/pickup/get/" + os.stoid + "/" + r.pickup_id, { | ||
208 | + success: function (ebb) { | ||
209 | + r.pickname = ebb.data.data.pickup_name; | ||
210 | + o.setData({ | ||
211 | + order: r, | ||
212 | + }); | ||
213 | + } | ||
214 | + }) | ||
215 | + | ||
216 | + | ||
217 | + } | ||
218 | + }) | ||
219 | + } | ||
220 | + }); | ||
221 | + }, | ||
222 | + /*-----联系客户------*/ | ||
223 | + contactService: function() { | ||
224 | + getApp().con_Service(); | ||
225 | + }, | ||
226 | + | ||
227 | + //--------取消订单--------- | ||
228 | + cancelOrder: function(e) { | ||
229 | + var t = this,th=t, o = e.currentTarget.dataset.id,order=this.data.order; | ||
230 | + var is_skill=0; | ||
231 | + var order_goods=order.order_goods; | ||
232 | + var is_zsorder=order.is_zsorder; | ||
233 | + | ||
234 | + //--判断是不是秒杀-- | ||
235 | + order_goods.forEach(function (val,ind) { | ||
236 | + if(val.prom_type==1){ | ||
237 | + is_skill=1; return false; | ||
238 | + } | ||
239 | + }) | ||
240 | + | ||
241 | + wx.showModal({ | ||
242 | + title: "是否取消订单?", | ||
243 | + success: function(e) { | ||
244 | + if(!e.confirm) return false; | ||
245 | + //如果是秒杀和拼单的商品,取消订单要返回redis,并取消订单 | ||
246 | + //if(is_skill==1 || is_zsorder>=2){ | ||
247 | + getApp().request.post("/api/weshop/order/cancelOrder/"+os.stoid+"/"+o+"/"+getApp().globalData.user_id,{ | ||
248 | + data:{}, | ||
249 | + success: function(t) { | ||
250 | + if(t.data.code==0) | ||
251 | + th.requestOrderDetail(o), wx.setStorageSync("order:order_list:update", !0); | ||
252 | + }, | ||
253 | + }) | ||
254 | + /*---- | ||
255 | + }else{ | ||
256 | + getApp().request.put("/api/weshop/order/updatebyId", { | ||
257 | + data: {order_id: o, order_status: 3}, | ||
258 | + success: function(e) { | ||
259 | + th.requestOrderDetail(o), wx.setStorageSync("order:order_list:update", !0); | ||
260 | + } | ||
261 | + }); | ||
262 | + }--*/ | ||
263 | + } | ||
264 | + }); | ||
265 | + }, | ||
266 | + | ||
267 | + //--------确认收货--------- | ||
268 | + confirmOrder: function(e) { | ||
269 | + var th=this; | ||
270 | + var t = this, o = this.data.order.order_id,order=this.data.order; | ||
271 | + var is_zsorder=order.is_zsorder; | ||
272 | + wx.showModal({ | ||
273 | + title: "是否确认收货?", | ||
274 | + success: function(t) { | ||
275 | + t.confirm && rq.post("/api/weshop/order/confirmOrder/"+os.stoid+"/"+o+"/"+getApp().globalData.user_id,{ | ||
276 | + success:function (e) { | ||
277 | + if(e.data.code==0){ | ||
278 | + th.requestOrderDetail(o) | ||
279 | + } | ||
280 | + } | ||
281 | + }) | ||
282 | + } | ||
283 | + }); | ||
284 | + }, | ||
285 | + | ||
286 | + //--------立即支付---------- | ||
287 | + async jumpToCart4(e) { | ||
288 | + | ||
289 | + if(this.data.paying) return false; | ||
290 | + this.setData({paying:1}); | ||
291 | + | ||
292 | + var th=this; | ||
293 | + if(this.data.optionIsGoup) | ||
294 | + wx.navigateTo({ | ||
295 | + url: "/pages/team/team_confirm/team_confirm?orderSn=" + this.data.order.order_sn + "&orderPay=true" | ||
296 | + }) | ||
297 | + var order=this.data.order; | ||
298 | + var order_goods=order.order_goods; | ||
299 | + var user_id=order.user_id; | ||
300 | + | ||
301 | + var wlist=""; | ||
302 | + for(var i in order_goods){ | ||
303 | + var good=order_goods[i]; | ||
304 | + //线下取价功能已经关闭或者过期 | ||
305 | + if(!th.data.is_open_offline && good.offline_cut>0){ | ||
306 | + wx.showModal({ | ||
307 | + title: '提示', | ||
308 | + content: '线下取价功能已经关闭或者过期!' | ||
309 | + }); | ||
310 | + th.setData({paying:0}); | ||
311 | + return false; | ||
312 | + } | ||
313 | + | ||
314 | + //要每件每件的商品进行检查,看有么有超出库存,超出限购 | ||
315 | + var good= order_goods[i],goodsbuynum=0,promgoodsbuynum=0,gg=null; | ||
316 | + //获取单品的现在的活动状态 | ||
317 | + await getApp().request.promiseGet("/api/weshop/goods/get/" + os.stoid + "/" + good.goods_id, { | ||
318 | + }).then(res=>{ | ||
319 | + gg=res.data.data; | ||
320 | + }) | ||
321 | + var limit = gg.viplimited; | ||
322 | + var store_count = gg.store_count; | ||
323 | + good.erpwareid=gg.erpwareid; | ||
324 | + | ||
325 | + //---要获得商品,该用户买了多少件,同步应用--- | ||
326 | + await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", { | ||
327 | + data: { | ||
328 | + store_id: os.stoid, | ||
329 | + user_id: getApp().globalData.user_id, | ||
330 | + goods_id: good.goods_id, | ||
331 | + prom_type: good.prom_type, | ||
332 | + prom_id: good.prom_id | ||
333 | + }, | ||
334 | + }).then(res => { | ||
335 | + var buy_num_data = res.data.data; | ||
336 | + if (buy_num_data.promgoodsbuynum) promgoodsbuynum = buy_num_data.promgoodsbuynum; | ||
337 | + goodsbuynum = buy_num_data.goodsbuynum; | ||
338 | + }) | ||
339 | + | ||
340 | + var buyed_mum2=goodsbuynum+good.goods_num; | ||
341 | + if (buyed_mum2 > limit && limit > 0) { | ||
342 | + | ||
343 | + var content=gg.goods_name+'购买数量超出商品限购,请取消订单'; | ||
344 | + th.toast(content); | ||
345 | + th.setData({paying:0}); | ||
346 | + return false; | ||
347 | + } | ||
348 | + //当是组合优惠的时候 | ||
349 | + if(good.prom_type==7){ | ||
350 | + //如果有组合购 | ||
351 | + var isok = 1; | ||
352 | + var url="/api/weshop/prom/zhbuy/get/"+os.stoid+"/"+good.prom_id+"/"+getApp().globalData.userInfo.user_id; | ||
353 | + await getApp().request.promiseGet(url, {}).then(res => { | ||
354 | + if(res.data.code==0 && res.data.data){ | ||
355 | + if(res.data.data.is_show!=1){ | ||
356 | + isok=0; | ||
357 | + } | ||
358 | + //如果活动已经结束 | ||
359 | + if(res.data.data.is_end==1){ | ||
360 | + isok=0; | ||
361 | + } | ||
362 | + //已经结束 | ||
363 | + if(ut.gettimestamp()>res.data.data.end_time){ | ||
364 | + isok=0; | ||
365 | + } | ||
366 | + //还未开始 | ||
367 | + if(ut.gettimestamp()<res.data.data.start_time){ | ||
368 | + isok=0; | ||
369 | + } | ||
370 | + | ||
371 | + }else{ | ||
372 | + //未找到商品的活动 | ||
373 | + isok = 0; | ||
374 | + } | ||
375 | + | ||
376 | + }) | ||
377 | + if (!isok){ | ||
378 | + var content=gg.goods_name+'活动已经结束,请取消订单'; | ||
379 | + th.toast(content); | ||
380 | + th.setData({paying:0}); | ||
381 | + return false; | ||
382 | + } | ||
383 | + | ||
384 | + var url1 = "/api/weshop/prom/zhbuyGoods/page"; | ||
385 | + var req_data = { | ||
386 | + page: 1, | ||
387 | + pageSize: 1, | ||
388 | + store_id: os.stoid, | ||
389 | + zh_id: good.prom_id, | ||
390 | + goods_id:good.goods_id | ||
391 | + } | ||
392 | + await getApp().request.promiseGet(url1, { | ||
393 | + data: req_data | ||
394 | + }).then(res => { | ||
395 | + if (ut.ajax_ok(res)) { | ||
396 | + var gdlist = res.data.data.pageData[0]; | ||
397 | + good.buyqty=gdlist.buyqty; | ||
398 | + } | ||
399 | + }) | ||
400 | + | ||
401 | + var num=good['buyqty']; | ||
402 | + console.log(1111); | ||
403 | + console.log(num); | ||
404 | + //---- 要计算商品的限购 ----- | ||
405 | + if(good['buyqty']>0){ | ||
406 | + if(good.goods_num+promgoodsbuynum>good['buyqty']){ | ||
407 | + | ||
408 | + var content= good['goods_name']+"超出活动限购\n"; | ||
409 | + th.toast(content); | ||
410 | + th.setData({paying:0}); | ||
411 | + return false; | ||
412 | + } | ||
413 | + } | ||
414 | + } | ||
415 | + | ||
416 | + //如果优惠促销和搭配购的时候 | ||
417 | + if((good.prom_type==3 || good.prom_type==5) && good.is_collocation!=1 && good.is_gift!=1){ | ||
418 | + var p_ok = 1,is_g_prom=0; | ||
419 | + //因为有全场优惠活动,商品参加的活动还未开始 | ||
420 | + var url="/api/weshop/activitylist/getGoodActInfo"; | ||
421 | + var req_data={ | ||
422 | + store_id:os.stoid,goodsidlist:good.goods_id,is_detail:1,user_id:user_id | ||
423 | + }; | ||
424 | + await getApp().request.promiseGet(url, {data:req_data}).then(async function (res) { | ||
425 | + if(res.data.code==0 && res.data.data && res.data.data.length){ | ||
426 | + for(let i in res.data.data){ | ||
427 | + let item=res.data.data[i]; | ||
428 | + if(item.prom_type==3) { | ||
429 | + is_g_prom=1; break; | ||
430 | + } | ||
431 | + } | ||
432 | + } | ||
433 | + }) | ||
434 | + if(is_g_prom){ | ||
435 | + await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromList/" + os.stoid + "/" + good.goods_id + "/0"+"/"+getApp().globalData.user_id, {}).then(res => { | ||
436 | + if (res.data.code == 0) { | ||
437 | + var r_data = res.data.data; | ||
438 | + if (!r_data.collocationPromList && good.prom_type == 5) { | ||
439 | + | ||
440 | + var content = good.goods_name + '未找到活动,请取消订单重新购买'; | ||
441 | + th.toast(content) | ||
442 | + p_ok = 0; | ||
443 | + } | ||
444 | + if (!r_data.promGoodsLists && good.prom_type == 3) { | ||
445 | + | ||
446 | + var content = good.goods_name + '未找到活动,请取消订单重新购买'; | ||
447 | + th.toast(content); | ||
448 | + p_ok = 0; | ||
449 | + } | ||
450 | + } else { | ||
451 | + | ||
452 | + var content = good.goods_name + '未找到活动,请取消订单重新购买' | ||
453 | + th.toast(content); | ||
454 | + th.setData({paying:0}); | ||
455 | + p_ok = 0; | ||
456 | + } | ||
457 | + }) | ||
458 | + }else{ | ||
459 | + await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromNormal/" + os.stoid + "/" + good.goods_id, {}).then(res => { | ||
460 | + if (res.data.code == 0) { | ||
461 | + var r_data = res.data.data; | ||
462 | + if (!r_data.collocationPromList && good.prom_type == 5) { | ||
463 | + | ||
464 | + var content = good.goods_name + '未找到活动,请取消订单重新购买'; | ||
465 | + th.toast(content) | ||
466 | + | ||
467 | + p_ok = 0; | ||
468 | + } | ||
469 | + if (!r_data.promGoodsLists && good.prom_type == 3) { | ||
470 | + | ||
471 | + var content = good.goods_name + '未找到活动,请取消订单重新购买'; | ||
472 | + th.toast(content); | ||
473 | + p_ok = 0; | ||
474 | + } | ||
475 | + } else { | ||
476 | + | ||
477 | + var content = good.goods_name + '未找到活动,请取消订单重新购买' | ||
478 | + th.toast(content); | ||
479 | + p_ok = 0; | ||
480 | + } | ||
481 | + }) | ||
482 | + | ||
483 | + } | ||
484 | + if (!p_ok){ | ||
485 | + th.setData({paying:0});return false; | ||
486 | + } | ||
487 | + } | ||
488 | + | ||
489 | + //商品的普通购买 ,不要进行判断 | ||
490 | + if((good.prom_type==1 || good.prom_type==2 || good.prom_type==6 || good.prom_type==4) && !good.is_gift && !good.is_collocation && !good.is_integral_normal && !good.is_pd_normal){ | ||
491 | + if(gg.prom_type!=good.prom_type && gg.prom_type>0) { | ||
492 | + var content=gg.goods_name+'商品的活动发生了变化,请取消订单重新购买'; | ||
493 | + th.toast(content); | ||
494 | + th.setData({paying:0}); | ||
495 | + return false; | ||
496 | + } | ||
497 | + }else{ | ||
498 | + if((gg.prom_type==1 || gg.prom_type==3 || gg.prom_type==5 || gg.prom_type==6 || gg.prom_type==4) | ||
499 | + && !good.is_collocation && !good.is_gift && !good.is_integral_normal && !good.is_pd_normal) { | ||
500 | + var prom=null; | ||
501 | + //---如果是活动的时候--- | ||
502 | + var prom=null,th=this; | ||
503 | + if(gg.prom_type==1){ | ||
504 | + await getApp().request.promiseGet("/api/ms/flash_sale/getNew/"+os.stoid+"/"+user_id+"/"+gg.prom_id,{ | ||
505 | + }).then(res=>{ | ||
506 | + if(res.data.code==0){ | ||
507 | + prom=res.data.data; | ||
508 | + prom.price=prom.user_price; | ||
509 | + } | ||
510 | + }) | ||
511 | + } | ||
512 | + | ||
513 | + if (gg.prom_type == 2) { | ||
514 | + await getApp().request.promiseGet("/api/weshop/goods/groupBuy/getActInfo/" + os.stoid + "/"+ gg.goods_id + "/" + gg.prom_id, {}).then(res => { | ||
515 | + if (res.data.code == 0) { | ||
516 | + prom = res.data.data; | ||
517 | + prom.price=prom.price; | ||
518 | + } | ||
519 | + }) | ||
520 | + } | ||
521 | + | ||
522 | + | ||
523 | + if(gg.prom_type==6){ | ||
524 | + await getApp().request.promiseGet("/api/weshop/teamlist/get/"+os.stoid+"/"+gg.prom_id,{ | ||
525 | + }).then(res=>{ | ||
526 | + if(res.data.code==0){ | ||
527 | + prom=res.data.data; | ||
528 | + } | ||
529 | + }) | ||
530 | + } | ||
531 | + | ||
532 | + if(gg.prom_type==4){ | ||
533 | + await getApp().request.promiseGet("/api/weshop/integralbuy/pageIntegralBuyGoodsList?stype=1&stypeup=1",{ | ||
534 | + data:{store_id:os.stoid,goods_id:gg.goods_id} | ||
535 | + }).then(res=>{ | ||
536 | + if(res.data.code==0 && res.data.data && res.data.data.pageData && res.data.data.pageData.length){ | ||
537 | + prom=res.data.data.pageData[0]; | ||
538 | + } | ||
539 | + }) | ||
540 | + } | ||
541 | + | ||
542 | + if(prom){ | ||
543 | + var t_now=ut.gettimestamp(); | ||
544 | + if(prom.is_end==0 && prom.start_time<t_now && prom.end_time>t_now){ | ||
545 | + | ||
546 | + var content=gg.goods_name+'商品的活动发生了变化,请取消订单重新购买'; | ||
547 | + th.toast(content); | ||
548 | + th.setData({paying:0}); | ||
549 | + return false; | ||
550 | + } | ||
551 | + } | ||
552 | + }else{ | ||
553 | + //不是赠品的时候 | ||
554 | + if(!good.is_gift && good.prom_type!=3){ | ||
555 | + var t_ok=1; | ||
556 | + await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromList/" + os.stoid+"/"+good.goods_id+"/0"+"/"+getApp().globalData.user_id, {}).then(res => { | ||
557 | + if(res.data.code==0){ | ||
558 | + var r_data=res.data.data; | ||
559 | + //-- 参加了全局的优惠活动 -- | ||
560 | + if(r_data.promGoodsLists){ | ||
561 | + | ||
562 | + var content=gg.goods_name+'商品的活动发生了变化,请取消订单重新购买'; | ||
563 | + th.toast(content); | ||
564 | + t_ok=0; | ||
565 | + } | ||
566 | + } | ||
567 | + }) | ||
568 | + if(!t_ok) { | ||
569 | + th.setData({paying:0});return false; | ||
570 | + } | ||
571 | + } | ||
572 | + | ||
573 | + //-- 如果有参加线下取价 -- | ||
574 | + if(good.offline_cut>0) wlist+=encodeURIComponent(gg.erpwareid)+","; | ||
575 | + } | ||
576 | + //赠品和搭配购不判断商品金额 | ||
577 | + var isok=1; | ||
578 | + var card_field=th.data.card_field; // 会员等级 | ||
579 | + //如果会员是等级会员,商品有等级价,且不是活动商品 | ||
580 | + if(!good.is_gift && !good.is_collocation) { | ||
581 | + if (card_field && gg[card_field] > 0) { | ||
582 | + if (good.goods_price != gg[card_field] && good.offline_cut<=0) isok = 0; | ||
583 | + if (good.goods_price >gg[card_field] && good.offline_cut>0) isok = 0; //如果线下价格比较贵,则不通过 | ||
584 | + | ||
585 | + } else { | ||
586 | + if (good.goods_price != gg.shop_price && good.offline_cut<=0) isok = 0; | ||
587 | + if (good.goods_price> gg.shop_price && good.offline_cut>0) isok = 0; //如果线下价格比较贵,则不通过 | ||
588 | + } | ||
589 | + var is_h=0; | ||
590 | + if (!isok) { | ||
591 | + | ||
592 | + var content=gg.goods_name + '商品的价格发生了变化,请取消订单重新购买22'; | ||
593 | + th.toast(content); | ||
594 | + th.setData({paying:0}); | ||
595 | + return false; | ||
596 | + } | ||
597 | + } | ||
598 | + | ||
599 | + //--如果是线下库存的时候-- | ||
600 | + if(th.data.conf.sales_rules==2){ | ||
601 | + var ob={}; | ||
602 | + await th.check_down_line_next(gg,good.goods_num,order.pickup_id,function(obj){ | ||
603 | + ob=obj; | ||
604 | + }) | ||
605 | + if(ob.code==-1){ | ||
606 | + var content=gg.goods_name+'门店库存不足,请取消订单'; | ||
607 | + th.toast(content); | ||
608 | + th.setData({paying:0}); | ||
609 | + return false; | ||
610 | + } | ||
611 | + | ||
612 | + }else{ | ||
613 | + if(good.goods_num>store_count){ | ||
614 | + | ||
615 | + var content=gg.goods_name+'商品的库存不足,请取消订单'; | ||
616 | + th.toast(content); | ||
617 | + th.setData({paying:0}); | ||
618 | + return false; | ||
619 | + } | ||
620 | + | ||
621 | + } | ||
622 | + } | ||
623 | + | ||
624 | + console.log("------------------------------------"); | ||
625 | + //---如果是活动的时候--- | ||
626 | + var prom=null,goodsinfo=good,th=this; | ||
627 | + if(goodsinfo.prom_type==1){ | ||
628 | + await getApp().request.promiseGet("/api/ms/flash_sale/getNew/"+os.stoid+"/"+user_id+"/"+goodsinfo.prom_id,{ | ||
629 | + }).then(res=>{ | ||
630 | + if(res.data.code==0){ | ||
631 | + prom=res.data.data; | ||
632 | + prom.price=prom.user_price; | ||
633 | + } | ||
634 | + }) | ||
635 | + } | ||
636 | + | ||
637 | + if (goodsinfo.prom_type == 2) { | ||
638 | + await getApp().request.promiseGet("/api/weshop/goods/groupBuy/getActInfo/" + os.stoid + "/"+ good.goods_id + "/" + goodsinfo.prom_id, {}).then(res => { | ||
639 | + if (res.data.code == 0) { | ||
640 | + prom = res.data.data; | ||
641 | + prom.price=prom.price; | ||
642 | + } | ||
643 | + }) | ||
644 | + } | ||
645 | + | ||
646 | + | ||
647 | + if(goodsinfo.prom_type==6 && !good.is_pd_normal){ | ||
648 | + await getApp().request.promiseGet("/api/weshop/teamlist/get/"+os.stoid+"/"+goodsinfo.prom_id,{ | ||
649 | + }).then(res=>{ | ||
650 | + if(res.data.code==0){ | ||
651 | + prom=res.data.data; | ||
652 | + } | ||
653 | + }) | ||
654 | + } | ||
655 | + | ||
656 | + if(goodsinfo.prom_type==4 && !good.is_integral_normal){ | ||
657 | + await getApp().request.promiseGet("/api/weshop/integralbuy/pageIntegralBuyGoodsList?stype=1&stypeup=1",{ | ||
658 | + data:{store_id:os.stoid,goods_id:goodsinfo.goods_id} | ||
659 | + }).then(res=>{ | ||
660 | + if(res.data.code==0 && res.data.data && res.data.data.pageData && res.data.data.pageData.length){ | ||
661 | + prom=res.data.data.pageData[0]; | ||
662 | + } | ||
663 | + }) | ||
664 | + } | ||
665 | + | ||
666 | + //----------如果有活动,并且在进行中,就不计算线下库存--------------- | ||
667 | + if(prom){ | ||
668 | + var now=ut.gettimestamp(); | ||
669 | + if(prom.is_end==1 && prom.end_time<now){ | ||
670 | + | ||
671 | + var content=goodsinfo.goods_name+'商品的活动已经结束,请取消订单重新购买'; | ||
672 | + th.toast(content); | ||
673 | + th.setData({paying:0}); | ||
674 | + return false; | ||
675 | + } | ||
676 | + | ||
677 | + buyed_mum2=promgoodsbuynum+good.goods_num; | ||
678 | + if (buyed_mum2 > prom.buy_limit && prom.buy_limit > 0) { | ||
679 | + var content=goodsinfo.goods_name+'购买数量超出商品活动限购,请取消订单重新购买'; | ||
680 | + th.toast(content); | ||
681 | + th.setData({paying:0}); | ||
682 | + return false; | ||
683 | + } | ||
684 | + //看一下会员的秒杀价格是不是发生了变化 | ||
685 | + if(goodsinfo.prom_type==1 && goodsinfo.goods_price!=prom.price){ | ||
686 | + var content=goodsinfo.goods_name+'秒杀活动的价格发生了变化'; | ||
687 | + th.toast(content); | ||
688 | + th.setData({paying:0}); | ||
689 | + return false; | ||
690 | + } | ||
691 | + | ||
692 | + //看一下会员的团购价格是不是发生了变化 | ||
693 | + if(goodsinfo.prom_type==2 && goodsinfo.goods_price!=prom.price){ | ||
694 | + var content=goodsinfo.goods_name+'秒杀活动的价格发生了变化'; | ||
695 | + th.toast(content); | ||
696 | + th.setData({paying:0}); | ||
697 | + return false; | ||
698 | + } | ||
699 | + | ||
700 | + if(goodsinfo.prom_type==4){ | ||
701 | + if (good.goods_num > prom.limitqty-prom.buy_num) { | ||
702 | + | ||
703 | + var content=goodsinfo.goods_name+'购买数量超出商品活动库存,请取消订单'; | ||
704 | + th.toast(content); | ||
705 | + th.setData({paying:0}); | ||
706 | + return false; | ||
707 | + } | ||
708 | + }else if(goodsinfo.prom_type == 1 || goodsinfo.prom_type == 2 || goodsinfo.prom_type == 6 ) { | ||
709 | + if(order.add_time+5*60<ut.gettimestamp()) { | ||
710 | + var content = gg.goods_name + '该订单已经超时无法支付,请取消订单'; | ||
711 | + th.toast(content); | ||
712 | + th.setData({paying:0}); | ||
713 | + return false; | ||
714 | + } | ||
715 | + } | ||
716 | + | ||
717 | + } | ||
718 | + | ||
719 | + } | ||
720 | + | ||
721 | + //-- 要判断一下线下取价价格是不是发生改变 -- | ||
722 | + if(wlist!="" && th.data.is_open_offline && th.data.is_open_offline>0){ | ||
723 | + wlist=ut.sub_last(wlist); | ||
724 | + var keyid=order.pickup_id; | ||
725 | + var user_info=getApp().globalData.userInfo; | ||
726 | + if(!keyid) { | ||
727 | + th.setData({paying:0});return false; | ||
728 | + } | ||
729 | + var offarr=null; | ||
730 | + await getApp().request.promiseGet("/api/weshop/goods/listWarePrice", { | ||
731 | + data:{ | ||
732 | + VIPId:encodeURIComponent(user_info.erpvipid), | ||
733 | + store_id:os.stoid, | ||
734 | + PickupId:keyid, | ||
735 | + WareIds:wlist}, | ||
736 | + }, | ||
737 | + ).then(res=>{ | ||
738 | + if(res.data.code==0 && res.data.data && res.data.data.length>0){ | ||
739 | + offarr=res.data.data; | ||
740 | + } | ||
741 | + }) | ||
742 | + if(!offarr && offarr.length<=0 ){ | ||
743 | + wx.showModal({ title: '获取线下取价失败',}); | ||
744 | + } | ||
745 | + var newarr=ut.convert_arr_key(offarr,'WareId'); | ||
746 | + //-- 循环判断线下的价格 -- | ||
747 | + for(var k in order_goods){ | ||
748 | + var good=order_goods[k]; | ||
749 | + //判断线下取价是不是一样 | ||
750 | + if(newarr[good.erpwareid] && | ||
751 | + parseFloat(newarr[good.erpwareid].WarePrice)!=parseFloat(good.goods_price)){ | ||
752 | + | ||
753 | + var content=good.goods_name + '商品的价格发生了变化,请取消订单重新购买'; | ||
754 | + th.toast(content); | ||
755 | + th.setData({paying:0}); | ||
756 | + return false; | ||
757 | + } | ||
758 | + } | ||
759 | + | ||
760 | + } | ||
761 | + | ||
762 | + /*--- | ||
763 | + o.jumpToCart4({ | ||
764 | + order_sn: this.data.order.order_sn, | ||
765 | + order_amount: this.data.order.order_amount, | ||
766 | + type: 1 //正常单 | ||
767 | + }, 1);--*/ | ||
768 | + | ||
769 | + py.pay(this.data.order.order_sn, function() { | ||
770 | + th.setData({paying:0}); | ||
771 | + wx.showToast({title: '支付成功'}) | ||
772 | + wx.navigateBack(); | ||
773 | + },function () { | ||
774 | + th.setData({paying:0}); | ||
775 | + },os.stoid,1); | ||
776 | + | ||
777 | + | ||
778 | + }, | ||
779 | + checkTeam: function() { | ||
780 | + wx.navigateTo({ | ||
781 | + url: "/pages/team/team_detail/team_detail?foundId=" + this.data.order.orderTeamFound.found_id | ||
782 | + }); | ||
783 | + }, | ||
784 | + | ||
785 | + //------图片失败,默认图片--------- | ||
786 | + bind_bnerr: function (e) { | ||
787 | + var _errImg = e.target.dataset.errorimg; | ||
788 | + var _errObj = {}; | ||
789 | + _errObj[_errImg] = "public/images/default_goods_image_240.gif"; | ||
790 | + this.setData(_errObj) //注意这里的赋值方式,只是将数据列表中的此项图片路径值替换掉 ; | ||
791 | + }, | ||
792 | + | ||
793 | + zfwk:function(){ | ||
794 | + var url = "/pages/cart/cart_wk/cart_wk?order_id=" + this.data.order.order_id; | ||
795 | + wx.redirectTo({ | ||
796 | + url:url, | ||
797 | + }) | ||
798 | + }, | ||
799 | + | ||
800 | + //--------跳转到退款详情----------- | ||
801 | + gotoreturn: function (t) { | ||
802 | + var e = t.currentTarget.dataset.recid; | ||
803 | + var oid = t.currentTarget.dataset.oid; | ||
804 | + var wh = ""; | ||
805 | + if (e != undefined && e != null && e != "") { | ||
806 | + wh = "&goods_id=" + e; | ||
807 | + } | ||
808 | + wx.navigateTo({ | ||
809 | + url: "/pages/user/return_goods_info/return_goods_info?order_id=" + oid + wh, | ||
810 | + }); | ||
811 | + }, | ||
812 | + | ||
813 | + //---判断是不是有退款----- | ||
814 | + checkReturnGoodsStatus: function (t) { | ||
815 | + var e = t.currentTarget.dataset.recid; | ||
816 | + var oid = t.currentTarget.dataset.oid; | ||
817 | + r.get("/api/weshop/order/returngoods/page", { | ||
818 | + data: { | ||
819 | + goods_id: e, | ||
820 | + order_id: oid, | ||
821 | + store_id: os.stoid | ||
822 | + }, | ||
823 | + success: function (t) { | ||
824 | + if (t.data.code == 0) { | ||
825 | + var r = t.data.data.total; | ||
826 | + if (0 == r) return wx.navigateTo({ | ||
827 | + url: "/pages/user/return_goods/return_goods?rec_id=" + e + "&order_id=" + oid, | ||
828 | + }); | ||
829 | + //--如果拒绝,就重新申请退款-- | ||
830 | + if (t.data.data.pageData[0].status == 3) { | ||
831 | + return wx.navigateTo({ | ||
832 | + url: "/pages/user/return_goods/return_goods?rec_id=" + e + "&order_id=" + oid, | ||
833 | + }); | ||
834 | + } | ||
835 | + | ||
836 | + wx.navigateTo({ | ||
837 | + url: "/pages/user/return_goods_info/return_goods_info?id=" + r | ||
838 | + }); | ||
839 | + } | ||
840 | + } | ||
841 | + }); | ||
842 | + }, | ||
843 | + | ||
844 | + //-----删除订单----- | ||
845 | + deleteOrderData: function(t) { | ||
846 | + var th=this; | ||
847 | + var order_id=t.currentTarget.dataset.order_id; | ||
848 | + var up_data={ | ||
849 | + order_id: order_id,isdel:1 | ||
850 | + }; | ||
851 | + if(th.data.order.order_status!=6){ | ||
852 | + up_data.order_status=5; | ||
853 | + } | ||
854 | + wx.showModal({ | ||
855 | + title: "是否删除订单?", | ||
856 | + success: function(tt) { | ||
857 | + tt.confirm && rq.put("/api/weshop/order/updatebyId", { | ||
858 | + data: up_data, | ||
859 | + success: function (t) { | ||
860 | + getApp().my_warnning("删除成功",1,th); | ||
861 | + setTimeout(function () { | ||
862 | + getApp().goto("/pages/user/order_list/order_list"); | ||
863 | + },1000); | ||
864 | + } | ||
865 | + }) | ||
866 | + } | ||
867 | + }); | ||
868 | + }, | ||
869 | + | ||
870 | + //--判断是不是可以单个商品退-- | ||
871 | + check_for_return_btn:function (item) { | ||
872 | + if(item.coupon_no) return false; //有用优惠券 | ||
873 | + if(item.order_prom_id) return false; //有订单优惠 | ||
874 | + if(item.order_status>=2) return false; //订单状态>2 | ||
875 | + var istrue=true; | ||
876 | + //----判断是不是有优惠活动和赠送商品---- | ||
877 | + for (var g in item.order_goods) { | ||
878 | + var g_item=item.order_goods[g]; | ||
879 | + if ((g_item.prom_type == 3 && g_item.discount_amount> 0) | ||
880 | + || (g_item.prom_type== 3 && g_item.goods_price <= 0) | ||
881 | + ) { | ||
882 | + istrue=false; break | ||
883 | + } | ||
884 | + if (g_item.prom_type== 5) { | ||
885 | + istrue=false; break | ||
886 | + } | ||
887 | + } | ||
888 | + if(!istrue) return false; | ||
889 | + var conf=this.data.conf; | ||
890 | + //判断是不是原路退回 | ||
891 | + if(conf.refund_type==1) return true; | ||
892 | + else{ | ||
893 | + if(item.order_amount==0 || item.user_money==0) return true; | ||
894 | + } | ||
895 | + return false; | ||
896 | + }, | ||
897 | + | ||
898 | + | ||
899 | + | ||
900 | + //---检验线下库存的数量的子函数--- | ||
901 | + async check_down_line_next(gg,num,pick_id,func){ | ||
902 | + | ||
903 | + var lock=0,pick_no,plist; | ||
904 | + //先读取门店的lock | ||
905 | + await getApp().request.promiseGet("/api/weshop/order/ware/lock/page",{ | ||
906 | + data:{store_id:os.stoid,wareId:gg.goods_id,storageId:pick_id} | ||
907 | + }).then(res=>{ | ||
908 | + if(res.data.code==0 && res.data.data.total>0){ | ||
909 | + for(var i in res.data.data.pageData) | ||
910 | + lock+=res.data.data.pageData[i].outQty; | ||
911 | + } | ||
912 | + }) | ||
913 | + //先获取门店的编号 | ||
914 | + await getApp().request.promiseGet("/api/weshop/pickup/get/"+os.stoid+"/"+pick_id,{ | ||
915 | + data:{storeId:os.stoid,goodsId:gg.goods_id,pickupId:pick_id} | ||
916 | + }).then(res=>{ | ||
917 | + if(res.data.code==0){ | ||
918 | + pick_no=res.data.data.pickup_no; | ||
919 | + } | ||
920 | + }) | ||
921 | + //读取线下的门店库存 | ||
922 | + await getApp().request.promiseGet("/api/weshop/goods/getWareStorages",{ | ||
923 | + data:{storageNos:pick_no,wareIds:encodeURIComponent(gg.erpwareid),storeId:os.stoid} | ||
924 | + }).then(res=>{ | ||
925 | + if(res.data.code==0 && res.data.data && res.data.data.pageData && res.data.data.pageData.length>0){ | ||
926 | + plist=res.data.data.pageData[0]; | ||
927 | + } | ||
928 | + }) | ||
929 | + var ob={}; ob.code=1; | ||
930 | + if(!plist){ | ||
931 | + ob.code=-1; ob.CanOutQty=0; | ||
932 | + func(ob);return false; | ||
933 | + } | ||
934 | + | ||
935 | + if(num>plist.CanOutQty-lock){ | ||
936 | + ob.code=-1; | ||
937 | + ob.CanOutQty=plist.CanOutQty-lock | ||
938 | + if(ob.CanOutQty<0) ob.CanOutQty=0; | ||
939 | + } | ||
940 | + func(ob) | ||
941 | + }, | ||
942 | + | ||
943 | + | ||
944 | + //再来一单的功能的实现 | ||
945 | + moreOrder:function(e){ | ||
946 | + var th=this; | ||
947 | + var item=th.data.order; | ||
948 | + | ||
949 | + if(this.data.moring) return false; | ||
950 | + this.data.moring=1; | ||
951 | + | ||
952 | + th.check_more_order(item); | ||
953 | + }, | ||
954 | + | ||
955 | + check_more_order:async function(item){ | ||
956 | + var pickup=null,th=this; | ||
957 | + var user_id=getApp().globalData.userInfo.user_id; | ||
958 | + wx.showLoading(); | ||
959 | + //--------获取门店----------- | ||
960 | + await getApp().request.promiseGet("/api/weshop/pickup/get/" + os.stoid + "/" + item.pickup_id, { | ||
961 | + | ||
962 | + }).then(res=>{ | ||
963 | + pickup = res.data.data; | ||
964 | + }) | ||
965 | + if(!pickup){ | ||
966 | + wx.hideLoading(); | ||
967 | + getApp().confirmBox("找不到门店"); | ||
968 | + this.data.moring=0; | ||
969 | + return false; | ||
970 | + } | ||
971 | + | ||
972 | + if(pickup.isstop){ | ||
973 | + wx.hideLoading(); | ||
974 | + getApp().confirmBox("门店已停用"); | ||
975 | + this.data.moring=0; | ||
976 | + return false; | ||
977 | + } | ||
978 | + | ||
979 | + if(!pickup.is_pos){ | ||
980 | + wx.hideLoading(); | ||
981 | + getApp().confirmBox("门店不允许销售"); | ||
982 | + this.data.moring=0; | ||
983 | + return false; | ||
984 | + } | ||
985 | + | ||
986 | + //--------获取商品---------- | ||
987 | + var goods_list=item.order_goods; | ||
988 | + //--- 返回的内容 --- | ||
989 | + var back_goods_arr=[]; | ||
990 | + var err_text=""; | ||
991 | + for(var i in goods_list){ | ||
992 | + var g_item=goods_list[i]; | ||
993 | + var b_item={}; | ||
994 | + //--如果是赠品,不加入购物车-- | ||
995 | + if(g_item['is_gift']) continue; | ||
996 | + if(g_item['prom_type']==4 ){ | ||
997 | + err_text+= g_item['goods_name']+"积分购商品不加入购物车\n"; | ||
998 | + continue; | ||
999 | + } | ||
1000 | + if(g_item['prom_type']==5){ | ||
1001 | + err_text+= g_item['goods_name']+"搭配购商品不加入购物车\n"; | ||
1002 | + continue; | ||
1003 | + } | ||
1004 | + if(g_item['prom_type']==6 ){ | ||
1005 | + err_text+= g_item['goods_name']+"拼团商品不加入购物车\n"; | ||
1006 | + continue; | ||
1007 | + } | ||
1008 | + | ||
1009 | + //--获取商品-- | ||
1010 | + var good=null; | ||
1011 | + await getApp().request.promiseGet("/api/weshop/goods/get/" + os.stoid + "/" + g_item.goods_id, { | ||
1012 | + | ||
1013 | + }).then(res=>{ | ||
1014 | + good=res.data.data; | ||
1015 | + }) | ||
1016 | + | ||
1017 | + //调用接口判断订单优惠, | ||
1018 | + const res = await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromList/" + os.stoid + "/" + g_item.goods_id + "/0"+"/"+getApp().globalData.user_id, {}) | ||
1019 | + if (res.data.code == 0 && res.data.data) { | ||
1020 | + var r_data = res.data.data; | ||
1021 | + if (r_data.ladderLists) { | ||
1022 | + var act_id = r_data.ladderLists[0].form_id; | ||
1023 | + //-- 判断会员能不能参与阶梯促销 -- | ||
1024 | + const data = await getApp().request.promiseGet("/api/weshop/prom/ladderForm/getNew/" + os.stoid + "/" + user_id + "/" + act_id, {}) | ||
1025 | + if (data.data.code == 0 && data.data.data && data.data.data.isuse && data.data.data.is_end == 0) { | ||
1026 | + b_item.prom_type = 10; | ||
1027 | + b_item.prom_id = data.data.data.id; | ||
1028 | + } | ||
1029 | + } | ||
1030 | + } | ||
1031 | + | ||
1032 | + if(!good){ | ||
1033 | + err_text+= g_item['goods_name']+"未找到商品\n"; | ||
1034 | + continue; | ||
1035 | + } | ||
1036 | + if (good.is_on_sale != 1) { | ||
1037 | + err_text+= g_item['goods_name']+"已经下架\n"; | ||
1038 | + continue; | ||
1039 | + } | ||
1040 | + | ||
1041 | + var timestamp = ut.gettimestamp(); | ||
1042 | + if (good.on_time > timestamp) { | ||
1043 | + err_text+= g_item['goods_name']+"还未上架\n"; | ||
1044 | + continue; | ||
1045 | + } | ||
1046 | + if (good.down_time > 0) { | ||
1047 | + if (good.down_time < timestamp) { | ||
1048 | + err_text+=g_item['goods_name']+"已经下架\n"; | ||
1049 | + continue; | ||
1050 | + } | ||
1051 | + } | ||
1052 | + | ||
1053 | + //如果商品的配送方式和门店不匹配 | ||
1054 | + if(good['distr_type']>0 && pickup['distr_type']>0 && good['distr_type']!=pickup['distr_type'] ){ | ||
1055 | + err_text+= good['goods_name']+"配送方式不一致\n"; | ||
1056 | + continue; | ||
1057 | + } | ||
1058 | + | ||
1059 | + var prom=null; | ||
1060 | + | ||
1061 | + b_item.goods_id=g_item.goods_id; | ||
1062 | + b_item.goods_name=g_item.goods_name; | ||
1063 | + b_item.goods_num=g_item.goods_num; | ||
1064 | + b_item.guide_id=g_item.guide_id; | ||
1065 | + b_item.guide_type=g_item.guide_type; | ||
1066 | + b_item.pickup_id=item.pickup_id; | ||
1067 | + b_item.price=good.shop_price; | ||
1068 | + b_item.goods_sn=good.goods_sn; | ||
1069 | + b_item.sku=good.sku; | ||
1070 | + b_item.is_integral_normal=g_item.is_integral_normal; | ||
1071 | + | ||
1072 | + //-- 如果会员是等级卡的时候,同时商品也有设置相应的卡价格 -- | ||
1073 | + var card_field=th.data.card_field; | ||
1074 | + if(card_field && good[card_field]>0){ | ||
1075 | + b_item.price=good[card_field]; | ||
1076 | + } | ||
1077 | + | ||
1078 | + var url="/api/weshop/activitylist/getGoodActInfo"; | ||
1079 | + var req_data={ | ||
1080 | + store_id:g_item.store_id,goodsidlist:g_item.goods_id,is_detail:1,user_id:user_id | ||
1081 | + }; | ||
1082 | + await getApp().request.promiseGet(url, {data:req_data}).then(res=>{ | ||
1083 | + if(res.data.code==0){ | ||
1084 | + var list = res.data.data; | ||
1085 | + for(let i in list){ | ||
1086 | + let item=list[i]; | ||
1087 | + if(item.prom_type==1){ good.prom_type=1; good.prom_id=item.act_id; } | ||
1088 | + } | ||
1089 | + } | ||
1090 | + }) | ||
1091 | + | ||
1092 | + if(!prom) { | ||
1093 | + //--判断商品当前的活动情况-- | ||
1094 | + switch (good.prom_type) { | ||
1095 | + case 1: | ||
1096 | + var flash = null; | ||
1097 | + await getApp().request.promiseGet("/api/ms/flash_sale/getNew/" + os.stoid + "/" + user_id + "/" + good.prom_id, {}).then(res => { | ||
1098 | + if (res.data.code == 0) { | ||
1099 | + flash = res.data.data; | ||
1100 | + } | ||
1101 | + }) | ||
1102 | + //----已经结束----- | ||
1103 | + if (flash && flash.is_end == 0) { | ||
1104 | + | ||
1105 | + if( flash.end_time > timestamp && flash.start_time < timestamp){ | ||
1106 | + prom = flash; | ||
1107 | + prom.price = prom.user_price; | ||
1108 | + b_item.price = prom.price; | ||
1109 | + good.prom_type = 1; | ||
1110 | + good.prom_id = prom.id; | ||
1111 | + }else{ | ||
1112 | + if(g_item.prom_type==0 && !flash.is_shop_buy ){ | ||
1113 | + err_text+=g_item['goods_name']+"秒杀活动不允许普通价\n"; | ||
1114 | + continue; | ||
1115 | + } | ||
1116 | + } | ||
1117 | + | ||
1118 | + } | ||
1119 | + break; | ||
1120 | + case 2: | ||
1121 | + var group = null; | ||
1122 | + await getApp().request.promiseGet("/api/weshop/goods/groupBuy/getActInfo/" + os.stoid + "/" + good.goods_id + "/" + good.prom_id, {}).then(res => { | ||
1123 | + if (res.data.code == 0) { | ||
1124 | + group = res.data.data; | ||
1125 | + } | ||
1126 | + }) | ||
1127 | + //----已经结束----- | ||
1128 | + if (group && group.is_end == 0 && group.end_time > timestamp && group.start_time < timestamp) { | ||
1129 | + prom = group; | ||
1130 | + prom.price = prom.price; | ||
1131 | + b_item.price = prom.price; | ||
1132 | + } | ||
1133 | + break; | ||
1134 | + case 6: | ||
1135 | + b_item.is_pd_normal = 1; | ||
1136 | + break; | ||
1137 | + case 7: | ||
1138 | + //如果有组合购 | ||
1139 | + var url = "/api/weshop/prom/zhbuy/get/" + os.stoid + "/" + good.prom_id + "/" + getApp().globalData.userInfo.user_id; | ||
1140 | + await getApp().request.promiseGet(url, {}).then(res => { | ||
1141 | + if (res.data.code == 0 && res.data.data) { | ||
1142 | + if (res.data.data.is_show == 1 && res.data.data.is_end == 0 | ||
1143 | + && ut.gettimestamp() < res.data.data.end_time | ||
1144 | + && ut.gettimestamp() > res.data.data.start_time | ||
1145 | + ) { | ||
1146 | + b_item.prom_type = 7; | ||
1147 | + b_item.prom_id = res.data.data.id; | ||
1148 | + good.prom_type = 7; | ||
1149 | + good.prom_id = res.data.data.id; | ||
1150 | + } | ||
1151 | + } | ||
1152 | + }) | ||
1153 | + break; | ||
1154 | + case 10: | ||
1155 | + let user_id = getApp().globalData.userInfo.user_id; | ||
1156 | + var url = `/api/weshop/prom/ladderForm/getNew/${os.stoid}/${user_id}/${good.prom_id}`; | ||
1157 | + await getApp().request.promiseGet(url, {}).then(res => { | ||
1158 | + if (res.data.code == 0 && res.data.data && res.data.data.isuse && res.data.data.is_end == 0) { | ||
1159 | + b_item.prom_type = 10; | ||
1160 | + b_item.prom_id = res.data.data.id; | ||
1161 | + } | ||
1162 | + }) | ||
1163 | + break; | ||
1164 | + } | ||
1165 | + } | ||
1166 | + | ||
1167 | + //如果有优惠促销的时候,要看下商品的优惠活动有没有过期 | ||
1168 | + if((g_item.prom_type==3 || good.prom_type==3) && good.whsle_id<=0){ | ||
1169 | + var is_g_prom=0; | ||
1170 | + //因为有全场优惠活动,商品参加的活动还未开始 | ||
1171 | + var url="/api/weshop/activitylist/getGoodActInfo"; | ||
1172 | + var req_data={ | ||
1173 | + store_id:os.stoid,goodsidlist:good.goods_id,is_detail:1,user_id:user_id | ||
1174 | + }; | ||
1175 | + await getApp().request.promiseGet(url, {data:req_data}).then(async function (res) { | ||
1176 | + if(res.data.code==0 && res.data.data && res.data.data.length){ | ||
1177 | + for(let i in res.data.data){ | ||
1178 | + let item=res.data.data[i]; | ||
1179 | + if(item.prom_type==3) { | ||
1180 | + is_g_prom=1; break; | ||
1181 | + } | ||
1182 | + } | ||
1183 | + } | ||
1184 | + }) | ||
1185 | + if(is_g_prom) { | ||
1186 | + await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromList/" + os.stoid + "/" + good.goods_id + "/1"+"/"+getApp().globalData.user_id, {}).then(res => { | ||
1187 | + if (res.data.code == 0) { | ||
1188 | + var r_data = res.data.data; | ||
1189 | + if (r_data.promGoodsLists) { | ||
1190 | + b_item.prom_type = 3; | ||
1191 | + b_item.prom_id = r_data.promGoodsLists[0].prom_id; | ||
1192 | + } | ||
1193 | + } | ||
1194 | + }) | ||
1195 | + }else{ | ||
1196 | + await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromNormal/" + os.stoid + "/" + good.goods_id, {}).then(res => { | ||
1197 | + if (res.data.code == 0) { | ||
1198 | + var r_data = res.data.data; | ||
1199 | + if (r_data.promGoodsLists) { | ||
1200 | + b_item.prom_type = 3; | ||
1201 | + b_item.prom_id = r_data.promGoodsLists[0].prom_id; | ||
1202 | + } | ||
1203 | + } | ||
1204 | + }) | ||
1205 | + } | ||
1206 | + } | ||
1207 | + | ||
1208 | + | ||
1209 | + //判断是不是线下库存的购买, 是不是秒杀活动 | ||
1210 | + if(th.data.sales_rules==2 && !prom){ | ||
1211 | + | ||
1212 | + //-- 看一下购物车上有多少商品 -- | ||
1213 | + var cart_num=0; | ||
1214 | + await getApp().request.promiseGet("/api/weshop/cart/page", { | ||
1215 | + data: { | ||
1216 | + store_id: os.stoid, | ||
1217 | + user_id: getApp().globalData.user_id, | ||
1218 | + state:0, is_gift:0, | ||
1219 | + goods_id:good.goods_id, | ||
1220 | + pick_id: b_item.pickup_id | ||
1221 | + } | ||
1222 | + }).then(res=>{ | ||
1223 | + var num = 0; | ||
1224 | + if(res.data.code==0 && res.data.data && res.data.data.pageData) { | ||
1225 | + for (var i = 0; i < res.data.data.pageData.length; i++) { | ||
1226 | + num += res.data.data.pageData[i].goods_num; | ||
1227 | + } | ||
1228 | + } | ||
1229 | + cart_num=num; | ||
1230 | + }) | ||
1231 | + | ||
1232 | + var lock=0,plist=null; | ||
1233 | + | ||
1234 | + if(b_item.prom_type!=7) { | ||
1235 | + //先读取门店的lock, | ||
1236 | + await getApp().request.promiseGet("/api/weshop/order/ware/lock/page", { | ||
1237 | + data: {store_id: os.stoid, wareId: good.goods_id, storageId: b_item.pickup_id, pageSize: 1000} | ||
1238 | + }).then(res => { | ||
1239 | + if (res.data.code == 0 && res.data.data.total > 0) { | ||
1240 | + for (var i in res.data.data.pageData) | ||
1241 | + lock += res.data.data.pageData[i].outQty | ||
1242 | + } | ||
1243 | + }) | ||
1244 | + | ||
1245 | + //---通过接口获取门店的线下库存信息-- | ||
1246 | + await getApp().request.promiseGet("/api/weshop/goods/getWareStorages", { | ||
1247 | + data: { | ||
1248 | + storageNos: pickup.pickup_no, | ||
1249 | + wareIds: encodeURIComponent(good.erpwareid), | ||
1250 | + storeId: os.stoid | ||
1251 | + } | ||
1252 | + }).then(res => { | ||
1253 | + if (res.data.code == 0 && res.data.data.total > 0) { | ||
1254 | + plist = res.data.data.pageData[0]; | ||
1255 | + } | ||
1256 | + }) | ||
1257 | + | ||
1258 | + if (!plist) { | ||
1259 | + err_text += good['goods_name'] + "库存不足\n"; | ||
1260 | + continue; | ||
1261 | + } | ||
1262 | + if (plist.CanOutQty - lock <= 0) { | ||
1263 | + err_text += good['goods_name'] + "库存不足\n"; | ||
1264 | + continue; | ||
1265 | + } | ||
1266 | + if (b_item.goods_num > (plist.CanOutQty - lock)) { | ||
1267 | + b_item.goods_num = plist.CanOutQty - lock; | ||
1268 | + } | ||
1269 | + } | ||
1270 | + var req_data={ | ||
1271 | + store_id: os.stoid, | ||
1272 | + user_id: getApp().globalData.user_id, | ||
1273 | + goods_id: good.goods_id, | ||
1274 | + }; | ||
1275 | + if(b_item.prom_type==7){ | ||
1276 | + req_data.prom_type=7; | ||
1277 | + req_data.prom_id=b_item.prom_id; | ||
1278 | + } | ||
1279 | + | ||
1280 | + var buynum=0; | ||
1281 | + var promnum=0; | ||
1282 | + //---要获得商品,该用户买了多少件,同步应用--- | ||
1283 | + await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", { | ||
1284 | + data: req_data, | ||
1285 | + }).then(res => { | ||
1286 | + if(res.data.code==0){ | ||
1287 | + var buy_num_data = res.data.data; | ||
1288 | + buynum = buy_num_data.goodsbuynum; | ||
1289 | + if(buy_num_data.promgoodsbuynum){ | ||
1290 | + promnum=buy_num_data.promgoodsbuynum; | ||
1291 | + } | ||
1292 | + } | ||
1293 | + }) | ||
1294 | + | ||
1295 | + //---- 要计算商品的限购 ----- | ||
1296 | + if(good['viplimited']>0){ | ||
1297 | + if(cart_num+buynum>good['viplimited']){ | ||
1298 | + err_text+= good['goods_name']+"超出限购\n"; | ||
1299 | + continue; | ||
1300 | + } | ||
1301 | + good['viplimited']-=(cart_num+buynum); | ||
1302 | + if(b_item.goods_num>good['viplimited']){ | ||
1303 | + b_item.goods_num=good['viplimited']; | ||
1304 | + } | ||
1305 | + } | ||
1306 | + //不需要计算组合购的限购 | ||
1307 | + | ||
1308 | + back_goods_arr.push(b_item); //返回商品元素 | ||
1309 | + | ||
1310 | + }else{ | ||
1311 | + //-- 看一下购物车上有多少商品 -- | ||
1312 | + var cart_num=0; | ||
1313 | + await getApp().request.promiseGet("/api/weshop/cart/page", { | ||
1314 | + data: { | ||
1315 | + store_id: os.stoid, | ||
1316 | + user_id: getApp().globalData.user_id, | ||
1317 | + state:0, is_gift:0, | ||
1318 | + goods_id:good.goods_id | ||
1319 | + } | ||
1320 | + }).then(res=>{ | ||
1321 | + var num = 0; | ||
1322 | + if(res.data.code==0 && res.data.data && res.data.data.pageData) { | ||
1323 | + for (var i = 0; i < res.data.data.pageData.length; i++) { | ||
1324 | + num += res.data.data.pageData[i].goods_num; | ||
1325 | + } | ||
1326 | + } | ||
1327 | + cart_num=num; | ||
1328 | + }) | ||
1329 | + | ||
1330 | + if(good.store_count<=0){ | ||
1331 | + err_text+= good['goods_name']+"库存不足\n"; | ||
1332 | + continue; | ||
1333 | + } | ||
1334 | + if(b_item.goods_num>good.store_count) | ||
1335 | + b_item.goods_num=good.store_count; | ||
1336 | + | ||
1337 | + var buynum=0; //商品已经购买多少件 | ||
1338 | + var promgoodsbuynum=0; //活动已经购买多少件 | ||
1339 | + var redis_num = 0; //redis库存 | ||
1340 | + | ||
1341 | + var req_data={ | ||
1342 | + store_id: os.stoid, | ||
1343 | + user_id: getApp().globalData.user_id, | ||
1344 | + goods_id: good.goods_id, | ||
1345 | + }; | ||
1346 | + | ||
1347 | + if(prom){ | ||
1348 | + req_data.prom_type= good.prom_type; | ||
1349 | + req_data.prom_id= good.prom_id; | ||
1350 | + b_item.prom_type=good.prom_type; | ||
1351 | + b_item.prom_id=good.prom_id; | ||
1352 | + | ||
1353 | + //------判断活动是否抢光----- | ||
1354 | + await getApp().request.promiseGet("/api/weshop/activitylist/getActLen/" + | ||
1355 | + os.stoid + "/" + good.prom_type + "/" + good.prom_id, { | ||
1356 | + 1: 1 | ||
1357 | + }).then(res => { | ||
1358 | + redis_num = res.data.data; | ||
1359 | + }); | ||
1360 | + if(redis_num<=0){ | ||
1361 | + //不允许商品普通价格修改 | ||
1362 | + if(!prom.is_shop_buy && prom.is_shop_buy!=undefined) { | ||
1363 | + err_text += good['goods_name'] + "活动不足\n"; | ||
1364 | + continue; | ||
1365 | + } | ||
1366 | + } | ||
1367 | + | ||
1368 | + } | ||
1369 | + | ||
1370 | + //---要获得商品,该用户买了多少件,同步应用--- | ||
1371 | + await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", { | ||
1372 | + data: req_data, | ||
1373 | + }).then(res => { | ||
1374 | + if(res.data.code==0){ | ||
1375 | + var buy_num_data = res.data.data; | ||
1376 | + if (buy_num_data.promgoodsbuynum) promgoodsbuynum = buy_num_data.promgoodsbuynum; | ||
1377 | + buynum = buy_num_data.goodsbuynum; | ||
1378 | + } | ||
1379 | + }) | ||
1380 | + | ||
1381 | + //---- 要计算商品的限购 ----- | ||
1382 | + if(good['viplimited']>0){ | ||
1383 | + if(cart_num+buynum>good['viplimited']){ | ||
1384 | + err_text+= good['goods_name']+"超出限购\n"; | ||
1385 | + continue; | ||
1386 | + } | ||
1387 | + good['viplimited']-=(cart_num+buynum); | ||
1388 | + if(b_item.goods_num>good['viplimited']){ | ||
1389 | + b_item.goods_num=good['viplimited']; | ||
1390 | + } | ||
1391 | + | ||
1392 | + } | ||
1393 | + | ||
1394 | + //-- 判断活动的库存 -- | ||
1395 | + if(prom){ | ||
1396 | + if(prom['goods_num']<=prom['buy_num']){ | ||
1397 | + err_text+= good['goods_name']+"超出活动库存\n";continue; | ||
1398 | + } | ||
1399 | + | ||
1400 | + if(b_item.goods_num>prom['goods_num']-prom['buy_num']){ | ||
1401 | + b_item['goods_num']= b_item['goods_num']-b_item['buy_num']; | ||
1402 | + } | ||
1403 | + | ||
1404 | + if(b_item.goods_num>redis_num){ | ||
1405 | + b_item.goods_num=redis_num; | ||
1406 | + } | ||
1407 | + | ||
1408 | + if(prom['buy_limit']>0){ | ||
1409 | + if(cart_num+promgoodsbuynum>=prom['buy_limit'] ){ | ||
1410 | + err_text+= good['goods_name']+"超出活动限购\n";continue; | ||
1411 | + } | ||
1412 | + prom['buy_limit'] -= (cart_num+buynum); | ||
1413 | + if(b_item.goods_num>prom['buy_limit']){ | ||
1414 | + b_item.goods_num=prom['buy_limit']; | ||
1415 | + } | ||
1416 | + } | ||
1417 | + | ||
1418 | + | ||
1419 | + } | ||
1420 | + back_goods_arr.push(b_item); //返回商品元素 | ||
1421 | + } | ||
1422 | + } | ||
1423 | + | ||
1424 | + //有重新购买的数据是时候,就要重新生成订单 | ||
1425 | + if(back_goods_arr.length>0){ | ||
1426 | + th.setData({back_goods_arr:back_goods_arr}); | ||
1427 | + if(!err_text){ | ||
1428 | + th.more_add_cart(); | ||
1429 | + }else{ | ||
1430 | + wx.hideLoading(); | ||
1431 | + // 如果没有获取用户信息 | ||
1432 | + wx.showModal({ | ||
1433 | + title:'确定', | ||
1434 | + content: err_text+',确定要买其他商品码?', | ||
1435 | + success(res) { | ||
1436 | + if (res.confirm) { | ||
1437 | + //跳转到登录页 | ||
1438 | + th.more_add_cart(); | ||
1439 | + }else{ | ||
1440 | + th.data.moring=0; | ||
1441 | + wx.hideLoading(); | ||
1442 | + } | ||
1443 | + },fail(){ | ||
1444 | + th.data.moring=0; | ||
1445 | + wx.hideLoading(); | ||
1446 | + } | ||
1447 | + }); | ||
1448 | + | ||
1449 | + } | ||
1450 | + }else{ | ||
1451 | + th.data.moring=0; | ||
1452 | + wx.hideLoading(); | ||
1453 | + getApp().confirmBox(err_text); | ||
1454 | + } | ||
1455 | + }, | ||
1456 | + | ||
1457 | + more_add_cart:async function(){ | ||
1458 | + var back_goods_arr=this.data.back_goods_arr; | ||
1459 | + var err_text=""; | ||
1460 | + var ok_num=0; | ||
1461 | + | ||
1462 | + for(var i in back_goods_arr){ | ||
1463 | + //商品ID | ||
1464 | + var g_item=back_goods_arr[i]; | ||
1465 | + var newd = { | ||
1466 | + goods_id: g_item.goods_id, | ||
1467 | + goods_num: g_item.goods_num, | ||
1468 | + pick_id: g_item.pickup_id, | ||
1469 | + user_id: oo.user_id, | ||
1470 | + store_id: os.stoid, | ||
1471 | + goods_price: g_item.price, | ||
1472 | + member_goods_price: g_item.price, | ||
1473 | + goods_name: g_item.goods_name, | ||
1474 | + goods_sn: g_item.goods_sn, | ||
1475 | + sku: g_item.sku, | ||
1476 | + }; | ||
1477 | + | ||
1478 | + if(g_item.guide_id){ | ||
1479 | + newd['guide_id']=g_item.guide_id; | ||
1480 | + newd['guide_type']=g_item.guide_type; | ||
1481 | + } | ||
1482 | + | ||
1483 | + if(g_item.is_integral_normal){ | ||
1484 | + newd['is_integral_normal']=g_item.is_integral_normal; | ||
1485 | + } | ||
1486 | + if(g_item.is_pd_normal){ | ||
1487 | + newd['is_pd_normal']=g_item.is_pd_normal; | ||
1488 | + } | ||
1489 | + if(g_item.prom_type){ | ||
1490 | + newd['prom_type']=g_item.prom_type; | ||
1491 | + newd['prom_id']=g_item.prom_id; | ||
1492 | + } | ||
1493 | + | ||
1494 | + | ||
1495 | + | ||
1496 | + var b_cart_goods=null; | ||
1497 | + await getApp().request.promiseGet("/api/weshop/cart/page", { | ||
1498 | + data: { | ||
1499 | + store_id: os.stoid, | ||
1500 | + user_id: oo.user_id, | ||
1501 | + goods_id: g_item.goods_id, | ||
1502 | + pick_id: g_item.pickup_id, | ||
1503 | + }, | ||
1504 | + }).then(res=>{ | ||
1505 | + //-------如果购物车中有相关的数据------- | ||
1506 | + if (res.data.data.total > 0) { | ||
1507 | + b_cart_goods= res.data.data.pageData[0]; | ||
1508 | + } | ||
1509 | + }) | ||
1510 | + | ||
1511 | + //-- 如果就加入过购物车 -- | ||
1512 | + if(b_cart_goods){ | ||
1513 | + var updata = { | ||
1514 | + id: b_cart_goods.id, | ||
1515 | + goods_num: newd.goods_num + b_cart_goods.goods_num, | ||
1516 | + goods_price: newd.goods_price, | ||
1517 | + member_goods_price:newd.goods_price, | ||
1518 | + store_id: os.stoid, | ||
1519 | + }; | ||
1520 | + if(newd.guide_id){ | ||
1521 | + updata.guide_id=newd.guide_id; | ||
1522 | + updata.guide_type=newd.guide_type; | ||
1523 | + } | ||
1524 | + await getApp().request.promisePut("/api/weshop/cart/update", { | ||
1525 | + data: updata | ||
1526 | + }).then(res=>{ | ||
1527 | + if(res.data.code==0) { | ||
1528 | + ok_num++; | ||
1529 | + }else{ | ||
1530 | + err_text+=newd.goods_name+"加入购物车失败\n"; | ||
1531 | + } | ||
1532 | + }) | ||
1533 | + | ||
1534 | + }else{ | ||
1535 | + await getApp().request.promisePost("/api/weshop/cart/save", { | ||
1536 | + data: newd | ||
1537 | + }).then(res=>{ | ||
1538 | + if(res.data.code==0) { | ||
1539 | + ok_num++; | ||
1540 | + }else{ | ||
1541 | + err_text+=newd.goods_name+"加入购物车失败\n"; | ||
1542 | + } | ||
1543 | + }) | ||
1544 | + } | ||
1545 | + } | ||
1546 | + | ||
1547 | + wx.hideLoading(); | ||
1548 | + this.data.moring=0; | ||
1549 | + if(ok_num==0){ | ||
1550 | + //-- 如果没有获取用户信息 -- | ||
1551 | + wx.showModal({ | ||
1552 | + title:'提示', | ||
1553 | + content: err_text, | ||
1554 | + success(res) {} | ||
1555 | + }); | ||
1556 | + }else{ | ||
1557 | + if(err_text==""){ | ||
1558 | + getApp().goto("/pages/cart/cart/cart"); | ||
1559 | + }else{ | ||
1560 | + // 如果没有获取用户信息 | ||
1561 | + wx.showModal({ | ||
1562 | + title:'提示', | ||
1563 | + content: err_text, | ||
1564 | + success(res) { | ||
1565 | + if (res.confirm) { | ||
1566 | + //跳转到登录页 | ||
1567 | + getApp().goto("/pages/cart/cart/cart"); | ||
1568 | + } | ||
1569 | + } | ||
1570 | + }); | ||
1571 | + | ||
1572 | + } | ||
1573 | + | ||
1574 | + } | ||
1575 | + }, | ||
1576 | + | ||
1577 | + toast(msg){ | ||
1578 | + wx.showToast({ | ||
1579 | + title: msg, | ||
1580 | + icon: 'none', | ||
1581 | + duration: 3000 | ||
1582 | + }) | ||
1583 | + }, | ||
1584 | + | ||
1585 | + con_weixin:function () { | ||
1586 | + getApp().con_wx(this); | ||
1587 | + }, | ||
1588 | + | ||
1589 | + //跳转到商品 | ||
1590 | + go_gd:function (e) { | ||
1591 | + var user_id=getApp().globalData.user_id; | ||
1592 | + if(!user_id) user_id=0; | ||
1593 | + | ||
1594 | + var gd= e.currentTarget.dataset.gd; | ||
1595 | + var good_url="/pages/goods/goodsInfo/goodsInfo?goods_id=" + gd; | ||
1596 | + var url="/api/weshop/activitylist/getGoodActInfo"; | ||
1597 | + var req_data={ | ||
1598 | + store_id:os.stoid,goodsidlist:gd,is_detail:1,user_id:user_id | ||
1599 | + }; | ||
1600 | + //获取秒杀的多规格 | ||
1601 | + getApp().request.promiseGet(url, {data:req_data}).then(res=>{ | ||
1602 | + if(res.data.code==0 && res.data.data){ | ||
1603 | + if(res.data.data.length==1){ | ||
1604 | + var item=res.data.data[0]; | ||
1605 | + switch (item.prom_type){ | ||
1606 | + case 9: | ||
1607 | + good_url= '/packageC/pages/luckyGo/luckyGo_goodsInfo/luckyGo_goodsInfo?goods_id=' + gd + '&group_id=' + item.act_id; | ||
1608 | + break; | ||
1609 | + case 8: | ||
1610 | + good_url="/packageC/pages/presell/goodsInfo/goodsInfo?goods_id="+gd+"&prom_id="+item.act_id | ||
1611 | + break; | ||
1612 | + default: | ||
1613 | + good_url="/pages/goods/goodsInfo/goodsInfo?goods_id="+gd+"&prom_id="+item.act_id+"&prom_type=1"; | ||
1614 | + break | ||
1615 | + } | ||
1616 | + } | ||
1617 | + getApp().goto(good_url); | ||
1618 | + | ||
1619 | + }else{ | ||
1620 | + getApp().goto(good_url); | ||
1621 | + } | ||
1622 | + }) | ||
1623 | + }, | ||
1624 | + | ||
1625 | + | ||
1626 | + | ||
1627 | + click_contact:function () { | ||
1628 | + getApp().globalData.no_clear=1; | ||
1629 | + } | ||
1630 | + | ||
1631 | + | ||
1632 | + | ||
1633 | + | ||
1634 | +}); | ||
0 | \ No newline at end of file | 1635 | \ No newline at end of file |
packageD/pages/shop/order_detail/order_detail.json
0 → 100644
packageD/pages/shop/order_detail/order_detail.wxml
0 → 100644
1 | +<wxs module="filters" src="../../../../utils/filter.wxs"></wxs> | ||
2 | +<view class="container"> | ||
3 | + <view class="user-mes" wx:if="{{order.exp_type==0}}"> | ||
4 | + <view class="user-contact"> | ||
5 | + <text selectable> {{order.consignee}}{{' '}}{{order.mobile}} </text> | ||
6 | + </view> | ||
7 | + <view class="location" wx:if="{{order.order_prom_type!=5}}"> | ||
8 | + <view class="address"><text selectable>{{order.more_address}} {{order.address}}</text></view> | ||
9 | + <view class="pos-icon"> | ||
10 | + <image class="wh100" src="{{iurl}}/miniapp/images/iconfont-shouhuodizhi.png"></image> | ||
11 | + </view> | ||
12 | + </view> | ||
13 | + <view class="border-img"> | ||
14 | + <image class="wh100" src="{{iurl}}/miniapp/images/tt.png"></image> | ||
15 | + </view> | ||
16 | + </view> | ||
17 | + <view class="order-meg"> | ||
18 | + <view class="order-state"><view class="shop_name" > <text selectable>门店:{{order.pickname}}</text></view> | ||
19 | + <view> <text selectable>{{order.order_status_detail}}</text></view> | ||
20 | + </view> | ||
21 | + <!--wx:if="{{item.return_btn!=4}}" --> | ||
22 | + <view class="order-detail" wx:for="{{order.order_goods}}" wx:key="{{index}}" > | ||
23 | + <view class="goods-img" bindtap="go_gd" data-gd="{{item.goods_id}}"> | ||
24 | + <image class="wh100" src="{{resourceUrl+item.original_img}}" binderror="bind_bnerr" lazy-load="true" | ||
25 | + data-errorimg="order.order_goods[{{index}}].original_img"></image> | ||
26 | + </view> | ||
27 | + <!-- 跳转到商品 --> | ||
28 | + <navigator class="order-cont" bindtap="go_gd" data-gd="{{item.goods_id}}"> | ||
29 | + <view class="goods-name">{{item.goods_name}}</view> | ||
30 | + <!--<view class="goods-color">{{item.goods_spec}} {{item.goods_color}}</view>--> | ||
31 | + <view class="goods-color">{{filters.show_gui_ge(item.goods_spec,item.goods_color)}}</view> | ||
32 | + </navigator> | ||
33 | + | ||
34 | + <view class="order-num"> | ||
35 | + <view class="goods-price">¥{{item.member_goods_price}}<text wx:if="{{item.prom_type==10}}" style="margin-left: 5rpx">({{item.ladder_discount}}折)</text> </view> | ||
36 | + <view class="goods-num">×{{item.goods_num}}</view> | ||
37 | + | ||
38 | + <!-- 不是整单退的时候 --> | ||
39 | + <block wx:if="{{order.is_all_return!=1 && order.discount<=0 && order.coupon_price<=0 && order.order_prom_amount<=0 && order.discount_amount<=0 && item.prom_type!=5 && !order.is_prom && item.is_whsle_goods!=1}}"> | ||
40 | + <view bindtap="checkReturnGoodsStatus" class="goods-num" data-oid="{{item.order_id}}" | ||
41 | + data-recid="{{item.goods_id}}" wx:if="{{item.return_btn==1 && !order.is_bedistri}}">申请退款</view> | ||
42 | + <view bindtap="gotoreturn" class="return-btn" data-oid="{{item.order_id}}" | ||
43 | + data-recid="{{item.goods_id}}" wx:if="{{item.return_btn==2}}">退款中</view> | ||
44 | + <view bindtap="checkReturnGoodsStatus" class="goods-num" data-oid="{{item.order_id}}" | ||
45 | + data-recid="{{item.goods_id}}" wx:if="{{item.return_btn==3}}">重新退款</view> | ||
46 | + <view bindtap="gotoreturn" class="goods-num" data-oid="{{item.order_id}}" | ||
47 | + data-recid="{{item.goods_id}}" wx:if="{{item.return_btn==4}}">退款完成</view> | ||
48 | + </block> | ||
49 | + | ||
50 | + | ||
51 | + </view> | ||
52 | + </view> | ||
53 | + | ||
54 | + </view> | ||
55 | + <view class="basic-information information"> | ||
56 | + <view class="title">基本信息</view> | ||
57 | + <view class="item"> | ||
58 | + <view>订单编号</view> | ||
59 | + <view><text selectable>{{order.order_sn}}</text></view> | ||
60 | + </view> | ||
61 | + <view class="item"> | ||
62 | + <view>下单时间</view> | ||
63 | + <view><text selectable>{{order.addTimeFormat}}</text></view> | ||
64 | + </view> | ||
65 | + | ||
66 | + <view class="item" wx:if="{{order.order_prom_type!=5}}"> | ||
67 | + <view>配送方式</view> | ||
68 | + <view wx:if="{{order.pt_status<4 && order.is_zsorder==4}}"> | ||
69 | + -- | ||
70 | + </view> | ||
71 | + <view wx:else>{{(order.shipping_name!=''&& order.shipping_name!=null) ?order.shipping_name:'自提'}}</view> | ||
72 | + </view> | ||
73 | + <view class="item"> | ||
74 | + <view>买家留言</view> | ||
75 | + <view class="leave-word"><text selectable>{{order.user_note!=''?order.user_note:'无'}}</text></view> | ||
76 | + </view> | ||
77 | + </view> | ||
78 | + <view class="price-information information" style="margin-bottom: 120rpx;"> | ||
79 | + <view class="title" style="margin-bottom:10rpx" >价格信息</view> | ||
80 | + <view class="item pnew" wx:if="{{order.is_zsorder==4}}"> | ||
81 | + <view>商品总价</view> | ||
82 | + <view>¥ {{filters.toFix(order.order_goods[0].member_goods_price*order.order_goods[0].goods_num,2)}}元</view> | ||
83 | + </view> | ||
84 | + <view class="item pnew" wx:else> | ||
85 | + <view>商品总价</view> | ||
86 | + <view>¥ {{order.goods_price}}元</view> | ||
87 | + </view> | ||
88 | + | ||
89 | + <view class="item pnew" wx:if="{{order.is_zsorder==4}}"> | ||
90 | + <view>定金金额</view> | ||
91 | + <view>¥ {{filters.toFix(order.order_amount+order.user_money,2)}}元</view> | ||
92 | + </view> | ||
93 | + <view class="item pnew" wx:if="{{order.pt_tail_money>0}}"> | ||
94 | + <view>尾款金额</view> | ||
95 | + <view>¥ {{filters.toFix(order.pt_tail_money-order.shipping_price,2)}}元</view> | ||
96 | + </view> | ||
97 | + | ||
98 | + <view class="item pnew" wx:if="{{order.shipping_price>0}}"> | ||
99 | + <view>配送费用</view> | ||
100 | + <view>¥ {{order.shipping_price}}元</view> | ||
101 | + </view> | ||
102 | + <view class="item pnew" wx:if="{{order.coupon_price>0}}"> | ||
103 | + <view>优惠券</view> | ||
104 | + <view> ¥ {{order.coupon_price}}元</view> | ||
105 | + </view> | ||
106 | + | ||
107 | + <view class="item pnew" wx:if="{{order.integral>0}}"> | ||
108 | + <view>积分</view> | ||
109 | + <view>{{order.integral}}积分</view> | ||
110 | + </view> | ||
111 | + | ||
112 | + <view class="item pnew" wx:if="{{order.discount_amount>0}}"> | ||
113 | + <view>优惠活动</view> | ||
114 | + <view>¥ {{filters.toFix(order.discount_amount,2)}}元</view> | ||
115 | + </view> | ||
116 | + | ||
117 | + <view class="item pnew" wx:if="{{order.ladder_amount>0}}"> | ||
118 | + <view>阶梯优惠活动</view> | ||
119 | + <view>¥ {{filters.toFix(order.ladder_amount,2)}}元</view> | ||
120 | + </view> | ||
121 | + | ||
122 | + <view class="item pnew" wx:if="{{order.order_prom_amount>0}}"> | ||
123 | + <view>订单优惠</view> | ||
124 | + <view>¥ {{order.order_prom_amount}}元</view> | ||
125 | + </view> | ||
126 | + | ||
127 | + <view class="item"> | ||
128 | + <view>订单总价</view> | ||
129 | + <view>¥ {{filters.toFix(order.order_amount+order.user_money+order.pt_tail_money,2)}}元</view> | ||
130 | + </view> | ||
131 | + | ||
132 | + <view class="item-line"></view> | ||
133 | + <view class="item" wx:if="{{order.user_money>0}}"> | ||
134 | + <view>使用余额</view> | ||
135 | + <view wx:if="{{order.tail_pay_type==1}}">¥ {{filters.toFix(order.user_money+order.pt_tail_money,2)}}元</view> | ||
136 | + <view wx:else>¥ {{filters.toFix(order.user_money,2)}}元</view> | ||
137 | + </view> | ||
138 | + <view style="height:10rpx"></view> | ||
139 | + </view> | ||
140 | + | ||
141 | + | ||
142 | +</view> | ||
143 | + | ||
144 | +<warn id="warn"></warn> |
packageD/pages/shop/order_detail/order_detail.wxss
0 → 100644
1 | +.user-mes { | ||
2 | + background-color: #fff; | ||
3 | + font-size: 32rpx; | ||
4 | + color: #333; | ||
5 | +} | ||
6 | + | ||
7 | +.user-contact { | ||
8 | + padding: 24rpx 80rpx; | ||
9 | +} | ||
10 | + | ||
11 | +.location { | ||
12 | + position: relative; | ||
13 | + padding: 0 80rpx 24rpx; | ||
14 | +} | ||
15 | + | ||
16 | +.pos-icon { | ||
17 | + position: absolute; | ||
18 | + left: 30rpx; | ||
19 | + top: 0; | ||
20 | + width: 32rpx; | ||
21 | + height: 32.5rpx; | ||
22 | +} | ||
23 | + | ||
24 | +.border-img { | ||
25 | + width: 100%; | ||
26 | + height: 16rpx; | ||
27 | +} | ||
28 | + | ||
29 | +.order-meg { | ||
30 | + margin-bottom: 20rpx; | ||
31 | + font-size: 30rpx; | ||
32 | +} | ||
33 | + | ||
34 | +.order-state { | ||
35 | + height: 100rpx; | ||
36 | + line-height: 100rpx; | ||
37 | + padding-right: 40rpx; | ||
38 | + padding-left: 40rpx; | ||
39 | + background-color: #fff; | ||
40 | + color: #f23030; | ||
41 | + justify-content: space-between; | ||
42 | + display: flex; | ||
43 | +} | ||
44 | +.shop_name{color: #333} | ||
45 | +.order-detail { | ||
46 | + padding: 30rpx 0; | ||
47 | + border-bottom: 1px solid #ddd; | ||
48 | + color: #666; | ||
49 | + min-height: 115rpx; | ||
50 | +} | ||
51 | +.goods-img { | ||
52 | + float: left; | ||
53 | + width: 100rpx; | ||
54 | + height: 100rpx; | ||
55 | + margin: 0 30rpx; | ||
56 | +} | ||
57 | + | ||
58 | +.order-cont { | ||
59 | + float: left; | ||
60 | + width: 410rpx; | ||
61 | +} | ||
62 | + | ||
63 | +.goods-name { | ||
64 | + height: 60rpx; | ||
65 | + line-height: 30rpx; | ||
66 | + overflow: hidden; | ||
67 | + margin-bottom: 16rpx; | ||
68 | +} | ||
69 | + | ||
70 | +.goods-color { | ||
71 | + font-size: 24rpx; | ||
72 | +} | ||
73 | + | ||
74 | +.order-num { | ||
75 | + float: right; | ||
76 | + font-size: 24rpx; | ||
77 | + margin-top: 10rpx; | ||
78 | + margin-right: 20rpx; | ||
79 | + text-align: right; | ||
80 | + line-height: 42rpx; | ||
81 | +} | ||
82 | + | ||
83 | +.order-operate { | ||
84 | + height: 100rpx; | ||
85 | + padding-right: 20rpx; | ||
86 | + background-color: #fff; | ||
87 | + display: flex; | ||
88 | + align-items: center; | ||
89 | + justify-content: flex-end; | ||
90 | +} | ||
91 | + | ||
92 | +.check-btn { | ||
93 | + width: 180rpx; | ||
94 | + height: 60rpx; | ||
95 | + line-height: 60rpx; | ||
96 | + text-align: center; | ||
97 | + margin-right: 10rpx; | ||
98 | + border: 1px solid #eee; | ||
99 | +} | ||
100 | + | ||
101 | +.goods-btn { | ||
102 | + width: 150rpx; | ||
103 | + height: 60rpx; | ||
104 | + line-height: 60rpx; | ||
105 | + text-align: center; | ||
106 | + border: 1px solid #eee; | ||
107 | +} | ||
108 | + | ||
109 | +.cancel-order { | ||
110 | + margin-left: 20rpx; | ||
111 | +} | ||
112 | + | ||
113 | +.information { | ||
114 | + padding: 0 20rpx; | ||
115 | + background-color: #fff; | ||
116 | + margin-bottom: 20rpx; | ||
117 | +} | ||
118 | + | ||
119 | +.information .title { | ||
120 | + height: 70rpx; | ||
121 | + line-height: 70rpx; | ||
122 | + border-bottom: 1rpx solid #ddd; | ||
123 | + font-size: 34rpx; | ||
124 | + color: #333; | ||
125 | +} | ||
126 | + | ||
127 | +.information .item { | ||
128 | + display: flex; | ||
129 | + justify-content: space-between; | ||
130 | + height: 60rpx; | ||
131 | + line-height: 60rpx; | ||
132 | + font-size: 30rpx; | ||
133 | + color: #333; | ||
134 | +} | ||
135 | + | ||
136 | +.information .item.pnew{ | ||
137 | + height: 50rpx; | ||
138 | + line-height: 50rpx; | ||
139 | + color: #999; | ||
140 | +} | ||
141 | +.item-line{ margin: 5rpx 0; height: 1rpx; border-bottom:1rpx solid #ddd } | ||
142 | + | ||
143 | +.delivery-address,.leave-word { | ||
144 | + width: 500rpx; | ||
145 | + text-align: right; | ||
146 | + overflow: hidden; | ||
147 | + white-space: nowrap; | ||
148 | + text-overflow: ellipsis; | ||
149 | +} | ||
150 | + | ||
151 | +.pay-amount { | ||
152 | + color: #f23030; | ||
153 | +} | ||
154 | + | ||
155 | +.btn-wrap { | ||
156 | + height: 100rpx; | ||
157 | + background-color: #fff; | ||
158 | + text-align: right; | ||
159 | + position: fixed; width: 100%; bottom: 0; border-top: 1rpx solid #ddd | ||
160 | +} | ||
161 | + | ||
162 | +.tips-btn { | ||
163 | + display: inline-block; | ||
164 | + width: 200rpx; | ||
165 | + height: 100rpx; | ||
166 | + line-height: 100rpx; | ||
167 | + text-align: center; | ||
168 | + font-size: 30rpx; | ||
169 | + color: #fff; | ||
170 | + background-color: #f23030; | ||
171 | + /* margin-left: 2rpx; */ | ||
172 | + margin-right: 8rpx | ||
173 | +} | ||
174 | + | ||
175 | + | ||
176 | +.contact-us.goods-btn::after { | ||
177 | + content: none; | ||
178 | +} | ||
0 | \ No newline at end of file | 179 | \ No newline at end of file |