Commit bbc86ce866c58283bf93ca411c8ca0cbde385451
1 parent
1dc2a629
增加商家查看订单详细
Showing
5 changed files
with
1966 additions
and
1 deletions
app.json
... | ... | @@ -201,7 +201,9 @@ |
201 | 201 | "pages/user/member/account/account", |
202 | 202 | "pages/user/member/account_unable/account_unable", |
203 | 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 | 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 | 179 | \ No newline at end of file | ... | ... |