-
Status changed to merged
-
mentioned in commit 7801de3f3da0171e69ecb6ada9a252433e1bcd44
-
Dev See merge request !364
-
2、多条吗商品在切换的时的库存控制 3、 订单列表中立即支付的bug修复
-
商品详情的显示可出库数 See merge request !361
-
Dev See merge request !357
-
2. 线下门店库存 要根据门店来显示可售数量
-
2.商家有开通等级卡功能,不能等级会员在商品详情页购买商品会员bug
-
在没有地址时 ,也要微信获取地址 See merge request !356
-
Dev See merge request !355
-
1.商品详请在显示门店的时候会计算门店的线下库存,以及门店的预出库数! 2.商品在加入购物车,或者立即购买时,也要计算门店的线下库存,以及门店的预出库数! 3.购物车中,商品在加数量,减数量时也要计算门店的线下库存,以及门店的预出库数! 4.购物车结算时也要计算门店的线下库存,以及门店的预出库数! 5.提交订单时,也要计算门店的线下库存,以及门店的预出库数! 6.多条吗商品在选择条码,加入购物车,立即购买,选择门店的时候 也要计算门店的线下库存,以及门店的预出库数! 7.在订单列表中重新支付订单,如果线上也要判断商品是不是活动商品,看价格有没有变化,同时限购是不是到了, 也要计算门店的线下库存,以及门店的预出库数! 8.在订单列表中重新支付订单,如果订单是3.0公众号下的积分购,优化购买,团购,搭配购就要提醒到3.0公众号处理 9.商品详情在开启急速库存时的显示。 10.退款完成在删除订单状态的时候,不成为已作废(小程序,3.0手店) 11.小程序已取消订单要能删除,添加了一个删除订单的按钮。订单详情页面也要能删除订单 (小程序)
-
2.小程序获取地址要用小程序获取微信地址
Showing
18 changed files
app.js
... | ... | @@ -395,6 +395,23 @@ App({ |
395 | 395 | if(n>15) clearInterval(page.data[key]); |
396 | 396 | },1000); |
397 | 397 | } |
398 | + }, | |
399 | + | |
400 | + | |
401 | + //------定时等待某个值,有值才进行运算-------- | |
402 | + waitfor2:function(page,key,pop_value_key,func){ | |
403 | + var n=0; | |
404 | + if(!page.data[key]){ | |
405 | + page.data[key]=setInterval(function(){ | |
406 | + console.log(page.data[key]);n++; | |
407 | + if(page.data[pop_value_key]) { | |
408 | + clearInterval(page.data[key]); | |
409 | + func(); | |
410 | + } | |
411 | + if(n>15) clearInterval(page.data[key]); | |
412 | + },1000); | |
413 | + } | |
398 | 414 | } |
415 | + | |
399 | 416 | |
400 | 417 | }); | ... | ... |
pages/cart/cart/cart.js
1 | 1 | var t = getApp(), |
2 | 2 | a = t.request, |
3 | 3 | oo = t.globalData.setting, |
4 | + os=oo, | |
4 | 5 | app = getApp(), |
5 | 6 | rq = t.request, |
6 | 7 | ut = require("../../../utils/util.js"); |
... | ... | @@ -26,13 +27,24 @@ Page({ |
26 | 27 | isadd: 0, //是否可以加商品数量 |
27 | 28 | |
28 | 29 | card_field:"", |
30 | + bconf:null, | |
31 | + | |
29 | 32 | }, |
30 | 33 | |
31 | 34 | onLoad: function() { |
35 | + var a = this,ee=a; | |
36 | + //----获取系统参数----- | |
37 | + getApp().getConfig2(function(e) { | |
38 | + ee.setData({ | |
39 | + bconfig: e, | |
40 | + sales_rules:e.sales_rules | |
41 | + }); | |
42 | + }) | |
43 | + | |
32 | 44 | wx.setNavigationBarTitle({ |
33 | 45 | title: "购物车", |
34 | 46 | }) |
35 | - var a = this; | |
47 | + | |
36 | 48 | //判断是否有登陆 |
37 | 49 | t.auth.hadAuth() && t.getUserInfo(function() { |
38 | 50 | a.getCardList(); |
... | ... | @@ -117,6 +129,8 @@ Page({ |
117 | 129 | var all_num = 0; |
118 | 130 | |
119 | 131 | for (var i = 0; i < carr.length; i++) { |
132 | + | |
133 | + | |
120 | 134 | var item = carr[i]; |
121 | 135 | all_num += item.goods_num; |
122 | 136 | item.original_img = oo.imghost + item.original_img; |
... | ... | @@ -427,7 +441,7 @@ Page({ |
427 | 441 | |
428 | 442 | //----------------------更新购物数量,加减,调用接口--------------------- |
429 | 443 | postCardList: function(t, item, pitem) { |
430 | - var e = this; | |
444 | + var e = this,th=e; | |
431 | 445 | var user_id = getApp().globalData.user_id; |
432 | 446 | console.log('update'); |
433 | 447 | console.log(t); |
... | ... | @@ -436,11 +450,12 @@ Page({ |
436 | 450 | async success(d) { |
437 | 451 | var limit = d.data.data.viplimited; |
438 | 452 | var store_count = d.data.data.store_count; |
453 | + var wareIds=d.data.data.erpwareid; | |
439 | 454 | |
440 | 455 | var goodsinfo = e.data.requestData[pitem].goods[item]; |
441 | 456 | var promgoodsbuynum = 0; |
442 | 457 | var goodsbuynum = 0; |
443 | - | |
458 | + | |
444 | 459 | //--要获得商品,该用户买了多少件,同步应用-- |
445 | 460 | await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", { |
446 | 461 | data: { |
... | ... | @@ -455,6 +470,7 @@ Page({ |
455 | 470 | if (buy_num_data.promgoodsbuynum) promgoodsbuynum = buy_num_data.promgoodsbuynum; |
456 | 471 | goodsbuynum = buy_num_data.goodsbuynum; |
457 | 472 | }) |
473 | + | |
458 | 474 | |
459 | 475 | var buyed_mum2 = t.goods_num + goodsbuynum; |
460 | 476 | if (buyed_mum2 > limit && limit > 0) { |
... | ... | @@ -463,86 +479,206 @@ Page({ |
463 | 479 | content: '购买数量超出商品限购' |
464 | 480 | }); |
465 | 481 | var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num"; |
466 | - var cbuy = limit - buyed_mum; | |
482 | + var cbuy = limit - buyed_mum2; | |
467 | 483 | e.setData({ |
468 | 484 | [txt]: cbuy > 0 ? cbuy : 0, |
469 | 485 | }); |
470 | 486 | e.doCheckAll(); |
487 | + | |
488 | + t.goods_num=cbuy > 0 ? cbuy : 0, | |
489 | + e.update_cart(t, pitem, item); | |
471 | 490 | return false; |
472 | 491 | } |
473 | 492 | |
474 | - if (t.goods_num > store_count) { | |
475 | - wx.showModal({ | |
476 | - title: '提示', | |
477 | - content: '购买数量超出商品库存' | |
478 | - }); | |
479 | - var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num"; | |
480 | - e.setData({ | |
481 | - [txt]: store_count | |
482 | - }); | |
483 | - e.doCheckAll(); | |
484 | - return false; | |
485 | - } | |
486 | - | |
493 | + | |
487 | 494 | if (goodsinfo.prom_type == 1) { |
488 | - //读取秒杀 | |
489 | - rq.get("/api/ms/flash_sale/getFlashSaleOne/" + oo.stoid + "/" + goodsinfo.prom_id, { | |
495 | + //读取秒杀 | |
496 | + rq.get("/api/ms/flash_sale/getFlashSaleOne/" + oo.stoid + "/" + goodsinfo.prom_id, { | |
490 | 497 | isShowLoading: 0, |
491 | 498 | success: function(res_d) { |
492 | - var false_data = res_d.data.data; | |
493 | - | |
494 | - //--判断库存-- | |
495 | - if (t.goods_num > false_data.goods_num - false_data.buy_num) { | |
496 | - wx.showModal({ | |
497 | - title: '提示', | |
498 | - content: '购买数量超出活动库存' | |
499 | - }); | |
500 | - var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num"; | |
501 | - e.setData({ | |
502 | - [txt]: false_data.goods_num - false_data.buy_num | |
503 | - }); | |
504 | - e.doCheckAll(); | |
505 | - return false; | |
506 | - } | |
507 | - | |
508 | - //--判断redis数量是否已经超出-- | |
509 | - if (t.goods_num > false_data.redisnum) { | |
510 | - wx.showModal({ | |
511 | - title: '提示', | |
512 | - content: '购买数量超出商品库存' | |
513 | - }); | |
514 | - var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num"; | |
515 | - e.setData({ | |
516 | - [txt]: false_data.redisnum | |
517 | - }); | |
518 | - e.doCheckAll(); | |
519 | - return false; | |
520 | - } | |
521 | - | |
522 | - //--活动的限购是不是要判断-- | |
523 | - if (t.goods_num + promgoodsbuynum > false_data.buy_limit && false_data.buy_limit > 0) { | |
524 | - wx.showModal({ | |
525 | - title: '提示', | |
526 | - content: '购买数量超出秒杀限购' | |
527 | - }); | |
528 | - var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num"; | |
529 | - e.setData({ | |
530 | - [txt]: false_data.false_data.buy_limit | |
531 | - }); | |
532 | - e.doCheckAll(); | |
533 | - return false; | |
534 | - } | |
535 | - e.update_cart(t, pitem, item); | |
499 | + | |
500 | + if(res_d.data.code==0){ | |
501 | + if (t.goods_num > store_count) { | |
502 | + wx.showModal({ | |
503 | + title: '提示', | |
504 | + content: '购买数量超出商品库存' | |
505 | + }); | |
506 | + var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num"; | |
507 | + e.setData({ | |
508 | + [txt]: store_count | |
509 | + }); | |
510 | + e.doCheckAll(); | |
511 | + | |
512 | + t.goods_num=store_count; | |
513 | + e.update_cart(t, pitem, item); | |
514 | + | |
515 | + return false; | |
516 | + } | |
517 | + | |
518 | + var false_data = res_d.data.data; | |
519 | + //--判断库存-- | |
520 | + if (t.goods_num > false_data.goods_num - false_data.buy_num) { | |
521 | + wx.showModal({ | |
522 | + title: '提示', | |
523 | + content: '购买数量超出活动库存' | |
524 | + }); | |
525 | + var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num"; | |
526 | + e.setData({ | |
527 | + [txt]: false_data.goods_num - false_data.buy_num | |
528 | + }); | |
529 | + e.doCheckAll(); | |
530 | + | |
531 | + t.goods_num=false_data.goods_num - false_data.buy_num; | |
532 | + e.update_cart(t, pitem, item); | |
533 | + | |
534 | + return false; | |
535 | + } | |
536 | + | |
537 | + //--判断redis数量是否已经超出-- | |
538 | + if (t.goods_num > false_data.redisnum) { | |
539 | + wx.showModal({ | |
540 | + title: '提示', | |
541 | + content: '购买数量超出商品库存' | |
542 | + }); | |
543 | + var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num"; | |
544 | + e.setData({ | |
545 | + [txt]: false_data.redisnum | |
546 | + }); | |
547 | + e.doCheckAll(); | |
548 | + | |
549 | + t.goods_num=false_data.redisnum; | |
550 | + e.update_cart(t, pitem, item); | |
551 | + | |
552 | + | |
553 | + return false; | |
554 | + } | |
555 | + | |
556 | + //--活动的限购是不是要判断-- | |
557 | + if (t.goods_num + promgoodsbuynum > false_data.buy_limit && false_data.buy_limit > 0) { | |
558 | + wx.showModal({ | |
559 | + title: '提示', | |
560 | + content: '购买数量超出秒杀限购' | |
561 | + }); | |
562 | + var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num"; | |
563 | + e.setData({ | |
564 | + [txt]: false_data.false_data.buy_limit | |
565 | + }); | |
566 | + e.doCheckAll(); | |
567 | + | |
568 | + t.goods_num=false_data.false_data.buy_limit; | |
569 | + e.update_cart(t, pitem, item); | |
570 | + | |
571 | + return false; | |
572 | + } | |
573 | + }else{ | |
574 | + //--- 看一下是不是线下库存 --- | |
575 | + if(th.data.sales_rules==2){ | |
576 | + th.check_down_line(t, pitem, item,wareIds); | |
577 | + }else{ | |
578 | + if (t.goods_num > store_count) { | |
579 | + wx.showModal({ | |
580 | + title: '提示', | |
581 | + content: '购买数量超出商品库存' | |
582 | + }); | |
583 | + var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num"; | |
584 | + e.setData({ | |
585 | + [txt]: store_count | |
586 | + }); | |
587 | + e.doCheckAll(); | |
588 | + return false; | |
589 | + } | |
590 | + e.update_cart(t, pitem, item); | |
591 | + } | |
592 | + } | |
593 | + | |
536 | 594 | } |
537 | 595 | }) |
538 | - } else { | |
539 | - e.update_cart(t, pitem, item); | |
596 | + } else { | |
597 | + //--- 看一下是不是线下库存 --- | |
598 | + if(th.data.sales_rules==2){ | |
599 | + th.check_down_line(t, pitem, item,wareIds); | |
600 | + }else{ | |
601 | + if (t.goods_num > store_count) { | |
602 | + wx.showModal({ | |
603 | + title: '提示', | |
604 | + content: '购买数量超出商品库存' | |
605 | + }); | |
606 | + var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num"; | |
607 | + e.setData({ | |
608 | + [txt]: store_count | |
609 | + }); | |
610 | + e.doCheckAll(); | |
611 | + t.goods_num=store_count; | |
612 | + } | |
613 | + e.update_cart(t, pitem, item); | |
614 | + } | |
540 | 615 | } |
541 | 616 | } |
542 | 617 | }); |
543 | 618 | }, |
544 | - | |
545 | - //更新购物车 | |
619 | + | |
620 | + //---检验线下库存的数量--- | |
621 | + async check_down_line(t, pitem, item,erpwareid){ | |
622 | + var ob={},th=this; | |
623 | + await this.check_down_line_next(t, pitem, item,erpwareid,function(res){ | |
624 | + ob=res; | |
625 | + }); | |
626 | + var log=0; | |
627 | + if(ob.code==-1){ | |
628 | + wx.showModal({ | |
629 | + title: '提示', | |
630 | + content: '购买数量超出商品库存' | |
631 | + }); | |
632 | + var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num"; | |
633 | + th.setData({ | |
634 | + [txt]: ob.CanOutQty | |
635 | + }); | |
636 | + th.doCheckAll(); | |
637 | + t.goods_num=ob.CanOutQty; | |
638 | + } | |
639 | + this.update_cart(t, pitem, item); | |
640 | + }, | |
641 | + | |
642 | + //---检验线下库存的数量的子函数--- | |
643 | + async check_down_line_next(t, pitem, item,erpwareid,func){ | |
644 | + var goodsinfo = this.data.requestData[pitem].goods[item]; | |
645 | + var lock=0,pick_no,plist; | |
646 | + //先读取门店的lock | |
647 | + await getApp().request.promiseGet("/api/weshop/order/ware/lock/page",{ | |
648 | + data:{store_id:os.stoid,wareId:t.goods_id,storageId:goodsinfo.pick_id,pageSize:1000} | |
649 | + }).then(res=>{ | |
650 | + if(res.data.code==0 && res.data.data.total>0){ | |
651 | + for(var i in res.data.data.pageData) | |
652 | + lock+=res.data.data.pageData[i].outQty; | |
653 | + } | |
654 | + }) | |
655 | + //先获取门店的编号 | |
656 | + await getApp().request.promiseGet("/api/weshop/pickup/get/"+os.stoid+"/"+goodsinfo.pick_id,{ | |
657 | + data:{storeId:os.stoid,goodsId:t.goods_id,pickupId:goodsinfo.pick_id} | |
658 | + }).then(res=>{ | |
659 | + if(res.data.code==0){ | |
660 | + pick_no=res.data.data.pickup_no; | |
661 | + } | |
662 | + }) | |
663 | + //读取线下的门店库存 | |
664 | + await getApp().request.promiseGet("/api/weshop/goods/getWareStorages",{ | |
665 | + data:{storageNos:pick_no,wareIds:encodeURIComponent(erpwareid),storeId:os.stoid} | |
666 | + }).then(res=>{ | |
667 | + if(res.data.code==0){ | |
668 | + plist=res.data.data.pageData[0]; | |
669 | + } | |
670 | + }) | |
671 | + var ob={}; ob.code=1; | |
672 | + if(t.goods_num>plist.CanOutQty-lock){ | |
673 | + ob.code=-1; | |
674 | + ob.CanOutQty=plist.CanOutQty-lock | |
675 | + if(ob.CanOutQty<0) ob.CanOutQty=0; | |
676 | + } | |
677 | + func(ob) | |
678 | + }, | |
679 | + | |
680 | + | |
681 | + //--更新购物车--- | |
546 | 682 | update_cart: function(t, pitem, item) { |
547 | 683 | var e = this; |
548 | 684 | getApp().request.put("/api/weshop/cart/update", { |
... | ... | @@ -573,7 +709,7 @@ Page({ |
573 | 709 | var th = this; |
574 | 710 | |
575 | 711 | var ab = 0; //选中 |
576 | - console.log('checkout'); | |
712 | + wx.showLoading(); | |
577 | 713 | for (var i = 0; i < this.data.requestData.length; i++) { |
578 | 714 | var i_arr = this.data.requestData[i].goods; |
579 | 715 | for (var j = 0; j < i_arr.length; j++) { |
... | ... | @@ -594,6 +730,25 @@ Page({ |
594 | 730 | } |
595 | 731 | glist += i_arr[j].goods_id + ","; |
596 | 732 | ab = 1; |
733 | + //--普通商品,如果有开启线下库存的功能,要调用线下库存进行计算--- | |
734 | + if(i_arr[j].prom_type==0 && th.data.sales_rules==2){ | |
735 | + //--获取商品的线下商品ID-- | |
736 | + var gd=null; | |
737 | + await getApp().request.promiseGet("/api/weshop/goods/get/" + oo.stoid + "/" + i_arr[j].goods_id,{}).then(res=>{ | |
738 | + if(res.data.code==0) gd=res.data.data; | |
739 | + }) | |
740 | + //--判断商品是线下库存-- | |
741 | + var ob={} | |
742 | + await th.check_down_line_next(i_arr[j],i,j,gd.erpwareid,function(rs){ | |
743 | + ob=rs; | |
744 | + }); | |
745 | + if(ob.code==-1){ | |
746 | + t.my_warnning(gd.goods_name+"门店库存不足", 0, th); | |
747 | + wx.hideLoading(); | |
748 | + return false; | |
749 | + } | |
750 | + } | |
751 | + | |
597 | 752 | } else { |
598 | 753 | rq.put("/api/weshop/cart/update", { |
599 | 754 | data: { |
... | ... | @@ -610,6 +765,7 @@ Page({ |
610 | 765 | } |
611 | 766 | if (ab == 0) { |
612 | 767 | t.my_warnning("未选择商品", 0, th); |
768 | + wx.hideLoading(); | |
613 | 769 | return false; |
614 | 770 | } |
615 | 771 | |
... | ... | @@ -657,7 +813,8 @@ Page({ |
657 | 813 | } |
658 | 814 | |
659 | 815 | try { |
660 | - ddata.forEach(function(val, ind) { | |
816 | + for(var ind in ddata) { | |
817 | + var val=ddata[ind]; | |
661 | 818 | var num = map.get(val.goods_id + ""); |
662 | 819 | if (num <= 0) { |
663 | 820 | isok = 0; |
... | ... | @@ -665,12 +822,25 @@ Page({ |
665 | 822 | throw "购买数量不能为0"; |
666 | 823 | return false; |
667 | 824 | } |
668 | - if (num > val.store_count) { | |
669 | - isok = 0; | |
670 | - gname = val.goods_name; | |
671 | - throw "超出库存"; | |
672 | - return false; | |
673 | - } | |
825 | + | |
826 | + if(val.prom_type==1 || val.prom_type==6){ | |
827 | + if (num > val.store_count) { | |
828 | + isok = 0; | |
829 | + gname = val.goods_name; | |
830 | + throw "超出库存"; | |
831 | + return false; | |
832 | + } | |
833 | + } | |
834 | + | |
835 | + if(th.data.sales_rules!=2){ | |
836 | + if (num > val.store_count) { | |
837 | + isok = 0; | |
838 | + gname = val.goods_name; | |
839 | + throw "超出库存"; | |
840 | + return false; | |
841 | + } | |
842 | + } | |
843 | + | |
674 | 844 | if (num > val.redisnum && val.redisnum) { |
675 | 845 | isok = 0; |
676 | 846 | gname = val.goods_name; |
... | ... | @@ -712,7 +882,7 @@ Page({ |
712 | 882 | throw "商品价格已经变化"; |
713 | 883 | } |
714 | 884 | }else{ |
715 | - if (g_arr[i].goods_price != val.shop_price && g_arr[i].goods_price != val.prom_price) { | |
885 | + if (g_arr[i].goods_price != val.shop_price && g_arr[i].goods_price != val.prom_price) { | |
716 | 886 | isok = 0; |
717 | 887 | gname = val.goods_name; |
718 | 888 | throw "商品价格已经变化"; |
... | ... | @@ -733,14 +903,16 @@ Page({ |
733 | 903 | } |
734 | 904 | } |
735 | 905 | |
736 | - }) | |
906 | + } | |
737 | 907 | } catch (e) { |
738 | 908 | err = e; |
739 | 909 | } |
740 | 910 | if (isok == 0) { |
741 | 911 | t.confirmBox(gname + ":" + err); |
912 | + wx.hideLoading(); | |
742 | 913 | return false; |
743 | 914 | } |
915 | + wx.hideLoading(); | |
744 | 916 | wx.navigateTo({ |
745 | 917 | url: "/pages/cart/cart2/cart2" |
746 | 918 | }); |
... | ... | @@ -821,6 +993,8 @@ Page({ |
821 | 993 | wx.switchTab({ |
822 | 994 | url: '/pages/index/index/index', |
823 | 995 | }) |
824 | - } | |
996 | + }, | |
997 | + | |
998 | + | |
825 | 999 | |
826 | 1000 | }); |
827 | 1001 | \ No newline at end of file | ... | ... |
pages/cart/cart2/cart2.js
1 | 1 | var t = getApp(),app=t, a = t.request, e = require("../../../utils/common.js"), |
2 | 2 | s = require("../../../utils/util.js"), o = require("../../../utils/md5.js"), to = getApp(); |
3 | -var oo=t.globalData.setting; | |
3 | +var oo=t.globalData.setting,os=oo; | |
4 | 4 | var regeneratorRuntime = require('../../../utils/runtime.js'); |
5 | 5 | var util_pay = require("../../../utils/pay.js"); |
6 | 6 | |
... | ... | @@ -84,6 +84,9 @@ Page({ |
84 | 84 | is_coupon:null, //选择券的控制属性 |
85 | 85 | is_shipping_code:"",//插入用户默认地址 |
86 | 86 | wu_arr_txt:"", //要更新的物流的字段 |
87 | + | |
88 | + sales_rules:1, //默认是显示线上库存 | |
89 | + | |
87 | 90 | }, |
88 | 91 | onLoad: function(t) { |
89 | 92 | |
... | ... | @@ -101,7 +104,7 @@ Page({ |
101 | 104 | //先获取是否有关闭使用优惠券 |
102 | 105 | getApp().getConfig2(function (ee) { |
103 | 106 | var json_d = JSON.parse(ee.switch_list); |
104 | - th.setData({ is_close_quan: json_d.is_close_quan }); | |
107 | + th.setData({ is_close_quan: json_d.is_close_quan,sales_rules:ee.sales_rules }); | |
105 | 108 | //-----先获取物流,再获取用户信息,再展示页面----- |
106 | 109 | th.get_wuliu(th.get_info(th.show_page)); |
107 | 110 | }) |
... | ... | @@ -698,7 +701,7 @@ Page({ |
698 | 701 | }, |
699 | 702 | |
700 | 703 | //--------------------提交订单----------------------- |
701 | - submitForm: function(t) { | |
704 | + async submitForm(t){ | |
702 | 705 | if(this.data.is_summit_ing==1) return false; //--提交中退出-- |
703 | 706 | this.data.is_summit_ing=1; |
704 | 707 | var th=this,pdata=new Array(); |
... | ... | @@ -772,7 +775,20 @@ Page({ |
772 | 775 | 'prom_type':th.data.bn_goods.prom_type, //促销活动类型 |
773 | 776 | 'prom_id': th.data.bn_goods.prom_id, //促销活动id |
774 | 777 | }; |
775 | - | |
778 | + | |
779 | + //如果不立即购买或者秒杀,如果是线下库存购买的时候 | |
780 | + if(goods.prom_type!=1 && goods.prom_type!=6 && th.data.sales_rules==2){ | |
781 | + var isok=1; | |
782 | + await th.check_store_num(goods.goods_id,th.data.bn_pick, gg.goods_num,function(res){ | |
783 | + isok=res; | |
784 | + }); | |
785 | + if(!isok){ | |
786 | + getApp().confirmBox("商品的门店库存不足"); | |
787 | + th.data.is_summit_ing=0; | |
788 | + return false; | |
789 | + } | |
790 | + } | |
791 | + | |
776 | 792 | //--组装优惠券的钱-- |
777 | 793 | if(th.data.formData.coupon_price){ |
778 | 794 | item.coupon_price=th.data.formData.coupon_price; |
... | ... | @@ -868,6 +884,20 @@ Page({ |
868 | 884 | }else{ |
869 | 885 | goods.prom_type = 0;goods.prom_id =0; |
870 | 886 | } |
887 | + | |
888 | + //如果不立即购买或者秒杀,如果是线下库存购买的时候 | |
889 | + if(goods.prom_type==0 && th.data.sales_rules==2){ | |
890 | + var isok=1; | |
891 | + await th.check_store_num(goods.goods_id, t_item.pickup_id,goods.goods_num,function(res){ | |
892 | + isok=res; | |
893 | + }); | |
894 | + if(!isok){ | |
895 | + getApp().confirmBox( goods.goods_name+"的门店库存不足"); | |
896 | + th.data.is_summit_ing=0; | |
897 | + return false; | |
898 | + } | |
899 | + } | |
900 | + | |
871 | 901 | item.order_goods.push(goods); |
872 | 902 | } |
873 | 903 | pdata.push(item); |
... | ... | @@ -975,6 +1005,50 @@ Page({ |
975 | 1005 | }) |
976 | 1006 | |
977 | 1007 | }, |
1008 | + | |
1009 | + //---确认线下门店的数量足不足--- | |
1010 | + async check_store_num(goods_id,pick,goods_num,func){ | |
1011 | + var lock=0,pick_no,plist,erpwareid; | |
1012 | + //先读取门店的lock | |
1013 | + await getApp().request.promiseGet("/api/weshop/order/ware/lock/page",{ | |
1014 | + data:{store_id:os.stoid,wareId:goods_id,storageId:pick,pageSize:1000} | |
1015 | + }).then(res=>{ | |
1016 | + if(res.data.code==0 && res.data.data.total>0){ | |
1017 | + for(var i in res.data.data.pageData) | |
1018 | + lock+=res.data.data.pageData[i].outQty; | |
1019 | + } | |
1020 | + }) | |
1021 | + //先获取门店的编号 | |
1022 | + await getApp().request.promiseGet("/api/weshop/pickup/get/"+os.stoid+"/"+pick,{ | |
1023 | + data:{storeId:os.stoid,goodsId:t.goods_id,pickupId:pick} | |
1024 | + }).then(res=>{ | |
1025 | + if(res.data.code==0){ | |
1026 | + pick_no=res.data.data.pickup_no; | |
1027 | + } | |
1028 | + }) | |
1029 | + //先获取商品的线下库存 | |
1030 | + await getApp().request.promiseGet("/api/weshop/goods/get/"+os.stoid+"/"+goods_id,{ | |
1031 | + data:{storeId:os.stoid,goodsId:t.goods_id,pickupId:pick} | |
1032 | + }).then(res=>{ | |
1033 | + if(res.data.code==0){ | |
1034 | + erpwareid=res.data.data.erpwareid; | |
1035 | + } | |
1036 | + }) | |
1037 | + //读取线下的门店库存 | |
1038 | + await getApp().request.promiseGet("/api/weshop/goods/getWareStorages",{ | |
1039 | + data:{storageNos:pick_no,wareIds:encodeURIComponent(erpwareid),storeId:os.stoid} | |
1040 | + }).then(res=>{ | |
1041 | + if(res.data.code==0){ | |
1042 | + plist=res.data.data.pageData[0]; | |
1043 | + } | |
1044 | + }) | |
1045 | + var isok=1; | |
1046 | + if(goods_num>plist.CanOutQty-lock){ | |
1047 | + isok=0; | |
1048 | + } | |
1049 | + func(isok); | |
1050 | + }, | |
1051 | + | |
978 | 1052 | |
979 | 1053 | useCoupon: function() { |
980 | 1054 | if (this.data.order.couponNum <= 0) { | ... | ... |
pages/cart/cart2/cart2.wxml
... | ... | @@ -376,7 +376,7 @@ |
376 | 376 | <block>{{item.Sum}}元优惠券</block> |
377 | 377 | </view> |
378 | 378 | <view class="coupon-time"> |
379 | - {{filters.replace_time2(item.BeginDate)}}至{{filters.replace_time2(item.BillDate)}}</view> | |
379 | + {{filters.replace_time2(item.BeginDate)}}至{{item.ValidDate?filters.replace_time2(item.ValidDate):'不限'}}</view> | |
380 | 380 | </view> |
381 | 381 | </view> |
382 | 382 | <!-- <view wx:if="{{item.Obtain>0}}" class="code-img" bindtap="show_quan" data-ind="{{index}}" data-now="{{filter.format_time(now)}}"> | ... | ... |
pages/goods/goodsInfo/goodsInfo.js
... | ... | @@ -125,8 +125,8 @@ Page({ |
125 | 125 | pickpu_list: null, //读出的所有门店list |
126 | 126 | def_pickpu_list: null, //一开始5个门店list |
127 | 127 | sec_pick_index: 0, //第二级门店选择ID |
128 | - fir_pick_index: 0, //第一级门店选择ID | |
129 | - | |
128 | + fir_pick_index: 0, //第一级门店选择ID | |
129 | + all_pick_list:null,//所有的门店先记录起来 | |
130 | 130 | //同一条形码的所有商品 |
131 | 131 | sku_g: null, |
132 | 132 | sku_g_pt: null, //---拼单的普通购买--- |
... | ... | @@ -219,6 +219,7 @@ Page({ |
219 | 219 | new_user: 0, //新用户 |
220 | 220 | |
221 | 221 | def_pick_store: null, // 默认的门店 |
222 | + fir_def_store:null, //客户默认的门店的 | |
222 | 223 | lat: null, //维度 |
223 | 224 | lon: null, //经度 |
224 | 225 | |
... | ... | @@ -233,11 +234,13 @@ Page({ |
233 | 234 | is_collect_load:0, //是不是处理 |
234 | 235 | is_newsales_rules:0, //是否开启最新的门店规则,此时会新读门店,当点击选择门店时会触发读取线下库存 |
235 | 236 | sales_rules:1, //默认是线上销售 |
237 | + | |
238 | + wait_for_user_store:null, | |
239 | + | |
236 | 240 | }, |
237 | 241 | |
238 | 242 | //------初始化加载---------- |
239 | 243 | onLoad: function(t) { |
240 | - | |
241 | 244 | wx.setNavigationBarTitle({ |
242 | 245 | title: "商品详情", |
243 | 246 | }) |
... | ... | @@ -279,6 +282,7 @@ Page({ |
279 | 282 | var json_d = JSON.parse(e.switch_list); |
280 | 283 | ee.setData({ |
281 | 284 | store_config: e, |
285 | + sys_switch:json_d, | |
282 | 286 | is_closecoupon: json_d.is_closecoupon, |
283 | 287 | is_newsales_rules:json_d.is_newsales_rules |
284 | 288 | }); |
... | ... | @@ -296,31 +300,30 @@ Page({ |
296 | 300 | //---如果后台又开等级卡的开关--- |
297 | 301 | if(sw_arr.rank_switch && sw_arr.rank_switch=="2"){ |
298 | 302 | th.setData({rank_switch:true}); |
299 | - | |
300 | 303 | //---回调卡的列表--- |
301 | 304 | th.getPlusCardType(function(ob){ |
302 | 305 | th.setData({card_list:ob.card_list}); |
303 | - var ti = setInterval(function () { | |
304 | - var user = getApp().globalData.userInfo; | |
305 | - if (!user) return false; | |
306 | - clearInterval(ti); | |
307 | - | |
308 | - if(user.card_field ){ | |
309 | - var str = user['card_expiredate'].replace(/-/g, '/'); | |
310 | - var end = new Date(str); | |
311 | - end = Date.parse(end) / 1000; | |
312 | - var now = ut.gettimestamp(); | |
313 | - //--- 判断是等级会员,且在有效期范围内 --- | |
314 | - if(user.card_field && now<end){ | |
315 | - var card_name=ob.name_map.get(user.card_field); | |
316 | - if(card_name.length>5) card_name=card_name.substring(0,5); | |
317 | - | |
318 | - var is_near_date=0; | |
319 | - if(end-now<60*60*30*24) is_near_date=1; //如果小于30天 | |
320 | - th.setData({card_field:user.card_field,card_name:card_name,card_list:ob.card_list,is_near_date:is_near_date}); | |
321 | - } | |
322 | - } | |
323 | - }, 500) | |
306 | + var ti = setInterval(function () { | |
307 | + var user = getApp().globalData.userInfo; | |
308 | + if (!user) return false; | |
309 | + clearInterval(ti); | |
310 | + | |
311 | + if(user.card_field ){ | |
312 | + var str = user['card_expiredate'].replace(/-/g, '/'); | |
313 | + var end = new Date(str); | |
314 | + end = Date.parse(end) / 1000; | |
315 | + var now = ut.gettimestamp(); | |
316 | + //--- 判断是等级会员,且在有效期范围内 --- | |
317 | + if(user.card_field && now<end){ | |
318 | + var card_name=ob.name_map.get(user.card_field); | |
319 | + if(card_name.length>5) card_name=card_name.substring(0,5); | |
320 | + | |
321 | + var is_near_date=0; | |
322 | + if(end-now<60*60*30*24) is_near_date=1; //如果小于30天 | |
323 | + th.setData({card_field:user.card_field,card_name:card_name,card_list:ob.card_list,is_near_date:is_near_date}); | |
324 | + } | |
325 | + } | |
326 | + }, 500) | |
324 | 327 | }) |
325 | 328 | |
326 | 329 | } |
... | ... | @@ -337,46 +340,46 @@ Page({ |
337 | 340 | }); |
338 | 341 | |
339 | 342 | //获取用户的默认门店 |
340 | - getApp().get_user_store(function(e) { | |
341 | - if(!e) return false; | |
343 | + getApp().get_user_store(function(ee) { | |
344 | + if(!ee) return false; | |
342 | 345 | var appd=getApp().globalData; |
343 | 346 | var w_time = setInterval(function() { |
344 | 347 | if (that.data.is_get_local_ok == 0) return false; |
345 | 348 | clearInterval(w_time); |
346 | 349 | var distance = null; |
350 | + var e=JSON.parse(JSON.stringify(ee)); | |
347 | 351 | |
348 | 352 | //如果有开启近距离的话,同时距离优不一样了 |
349 | 353 | if (that.data.lat != null) { |
350 | 354 | //如果经纬度有变化的话 |
351 | 355 | if( appd.lat==that.data.lat && appd.lon==that.data.lon && e.distance>0 ){ |
356 | + that.data.fir_def_store=e; | |
352 | 357 | that.setData({ |
353 | 358 | def_pick_store: e, |
354 | 359 | sto_sele_name: e.pickup_name, |
355 | 360 | sto_sele_id: e.pickup_id, |
356 | 361 | sto_sele_distr: e.distr_type |
357 | 362 | }) |
358 | - }else{ | |
359 | - //要用接口是获取距离,js的计算不准 | |
360 | - getApp().request.get("/api/weshop/pickup/list",{ | |
361 | - data:{store_id:os.stoid,pickup_id:e.pickup_id,lat:th.data.lat,lon: th.data.lon}, | |
362 | - success:function (res) { | |
363 | - if(res.data.code==0){ | |
364 | - e=res.data.data.pageData[0]; | |
365 | - if (e){ | |
366 | - appd.pk_store=e; | |
367 | - that.setData({ | |
368 | - def_pick_store: e, | |
369 | - sto_sele_name: e.pickup_name, | |
370 | - sto_sele_id: e.pickup_id, | |
371 | - sto_sele_distr: e.distr_type | |
372 | - }) | |
373 | - } | |
374 | - | |
375 | - | |
376 | - | |
377 | - } | |
378 | - } | |
379 | - }) | |
363 | + }else{ | |
364 | + //要用接口是获取距离,js的计算不准 | |
365 | + getApp().request.promiseGet("/api/weshop/pickup/list",{ | |
366 | + data:{store_id:os.stoid,pickup_id:e.pickup_id,lat:th.data.lat,lon: th.data.lon}, | |
367 | + }).then(res=>{ | |
368 | + if(res.data.code==0){ | |
369 | + e=res.data.data.pageData[0]; | |
370 | + if (e){ | |
371 | + appd.pk_store=e; | |
372 | + that.data.fir_def_store=e; | |
373 | + that.setData({ | |
374 | + def_pick_store: e, | |
375 | + sto_sele_name: e.pickup_name, | |
376 | + sto_sele_id: e.pickup_id, | |
377 | + sto_sele_distr: e.distr_type | |
378 | + }) | |
379 | + } | |
380 | + | |
381 | + } | |
382 | + }) | |
380 | 383 | } |
381 | 384 | |
382 | 385 | //e.distance = distance; |
... | ... | @@ -386,18 +389,16 @@ Page({ |
386 | 389 | }else{ |
387 | 390 | if (e) { |
388 | 391 | e.distance = null; |
392 | + that.data.fir_def_store=e; | |
389 | 393 | that.setData({ |
390 | 394 | def_pick_store: e, |
391 | 395 | sto_sele_name: e.pickup_name, |
392 | 396 | sto_sele_id: e.pickup_id, |
393 | 397 | sto_sele_distr: e.distr_type |
394 | 398 | }) |
395 | - } | |
396 | - | |
397 | - | |
399 | + } | |
398 | 400 | } |
399 | - | |
400 | - | |
401 | + | |
401 | 402 | }, 500) |
402 | 403 | }); |
403 | 404 | |
... | ... | @@ -548,7 +549,7 @@ Page({ |
548 | 549 | |
549 | 550 | //---展示--- |
550 | 551 | onShow: function() { |
551 | - var goods_list = null,th = this; | |
552 | + var goods_list = null,th = this,that=this; | |
552 | 553 | var ui = setInterval(function () { |
553 | 554 | goods_list = th.selectComponent("#goods_list"); |
554 | 555 | if (goods_list) { |
... | ... | @@ -620,13 +621,56 @@ Page({ |
620 | 621 | ee.setData({ |
621 | 622 | data: t.data.data, |
622 | 623 | sele_g: t.data.data, |
624 | + userInfo:getApp().globalData.userInfo | |
623 | 625 | }); |
624 | 626 | |
625 | - //获取门店 | |
626 | - ee.get_sto(); | |
627 | + | |
627 | 628 | //获取统一条形码,普通商品和优惠促销的商品 |
628 | - if (ee.data.data.prom_type == 0 || ee.data.data.prom_type == 3 || ee.data.data.prom_type == 5) | |
629 | - ee.get_sku(o.stoid, t.data.data.sku, gid); | |
629 | + if (ee.data.data.prom_type == 0 || ee.data.data.prom_type == 2 || ee.data.data.prom_type == 3 || ee.data.data.prom_type == 4 || ee.data.data.prom_type == 5){ | |
630 | + //默认门店要拿下门店库存 | |
631 | + if(that.data.sales_rules==2 && that.data.is_newsales_rules){ | |
632 | + //--等待某个值只运行---,这里有可能因为导航的时间太久,而不能计算门店库存 | |
633 | + getApp().waitfor2(that,"wait_for_user_store","fir_def_store",function(){ | |
634 | + if(th.data.fir_def_store){ | |
635 | + var lock=0,plist=null; | |
636 | + //先读取门店的lock,采用链式写法,少用await | |
637 | + getApp().request.promiseGet("/api/weshop/order/ware/lock/page",{ | |
638 | + data:{store_id:os.stoid,wareId:ee.data.data.goods_id,storageId:that.data.fir_def_store.pickup_id,pageSize:1000} | |
639 | + }).then(res=>{ | |
640 | + if(res.data.code==0 && res.data.data.total>0){ | |
641 | + for(var i in res.data.data.pageData) | |
642 | + lock+=res.data.data.pageData[i].outQty | |
643 | + } | |
644 | + //---通过接口获取门店的线下库存信息-- | |
645 | + return getApp().request.promiseGet("/api/weshop/goods/getWareStorages",{ | |
646 | + data:{storageNos:that.data.fir_def_store.pickup_no,wareIds:encodeURIComponent(th.data.data.erpwareid),storeId:os.stoid} | |
647 | + }) | |
648 | + }).then(res=>{ | |
649 | + if(res.data.code==0 && res.data.data.total>0){ | |
650 | + plist=res.data.data.pageData[0]; | |
651 | + } | |
652 | + if(plist && plist.CanOutQty-lock>0){ | |
653 | + that.data.fir_def_store.CanOutQty=plist.CanOutQty-lock; | |
654 | + }else{ | |
655 | + that.data.fir_def_store.CanOutQty=0; | |
656 | + } | |
657 | + //--给门店赋值线下库存-- | |
658 | + th.setData({def_pick_store:that.data.fir_def_store}); | |
659 | + //获取门店 | |
660 | + ee.get_sto(); | |
661 | + }) | |
662 | + }else{ | |
663 | + //--获取门店-- | |
664 | + ee.get_sto(); | |
665 | + } | |
666 | + }) | |
667 | + }else{ | |
668 | + //获取门店 | |
669 | + ee.get_sto(); | |
670 | + } | |
671 | + | |
672 | + ee.get_sku(o.stoid, t.data.data.sku, gid); | |
673 | + } | |
630 | 674 | else { |
631 | 675 | var gg = "", |
632 | 676 | item = t.data.data; |
... | ... | @@ -693,11 +737,6 @@ Page({ |
693 | 737 | }); |
694 | 738 | this.data.enterAddressPage && (this.data.enterAddressPage = !1); |
695 | 739 | |
696 | - | |
697 | - | |
698 | - | |
699 | - | |
700 | - | |
701 | 740 | }, |
702 | 741 | enterAddress: function() { |
703 | 742 | this.data.enterAddressPage = !0, wx.navigateTo({ |
... | ... | @@ -810,6 +849,7 @@ Page({ |
810 | 849 | addCart: function(t) { |
811 | 850 | var th = this; |
812 | 851 | var ind = t.currentTarget.dataset.openSpecModal_ind; |
852 | + if(!ind) ind = t.currentTarget.dataset.openspecmodal_ind; | |
813 | 853 | th.setData({ |
814 | 854 | open_ind_store: ind |
815 | 855 | }); |
... | ... | @@ -836,9 +876,8 @@ Page({ |
836 | 876 | var e = this, |
837 | 877 | th = e, |
838 | 878 | a = 0, |
839 | - o = this.data.sele_g; | |
840 | - if (o.store_count <= 0) return s.my_warnning("库存已为空!", 0, th); | |
841 | - a = o.goods_id; | |
879 | + o = this.data.sele_g; | |
880 | + a = o.goods_id; | |
842 | 881 | |
843 | 882 | //----------添加到购物车时,要判断限购数量,-------- |
844 | 883 | e.get_buy_num(o, function(ee) { |
... | ... | @@ -864,7 +903,6 @@ Page({ |
864 | 903 | } |
865 | 904 | |
866 | 905 | if (th.data.goodsInputNum <= 0) return s.my_warnning("商品数量不能为0", 0, th); |
867 | - if (th.data.goodsInputNum > o.store_count) return s.my_warnning("超出商品库存", 0, th); | |
868 | 906 | if (th.data.sto_sele_name == null || th.data.sto_sele_name == undefined) |
869 | 907 | this.setData({ |
870 | 908 | sto_sele_name: "" |
... | ... | @@ -889,20 +927,81 @@ Page({ |
889 | 927 | if (th.data.prom_type == 1) { |
890 | 928 | newd.goods_price = th.data.prom_price; |
891 | 929 | newd.member_goods_price = th.data.prom_price, |
892 | - newd.prom_type = th.data.prom_type; | |
930 | + newd.prom_type = th.data.prom_type; | |
893 | 931 | newd.prom_id = th.data.prom_id; |
894 | - } else if (th.data.prom_type == 3 || th.data.prom_type == 2 || th.data.prom_type == 4 || th.data.prom_type == 5) { | |
932 | + | |
933 | + if (o.store_count <= 0) return s.my_warnning("库存已为空!", 0, th); | |
934 | + if (o.store_count <e.data.goodsInputNum) return s.my_warnning("库存不足!", 0, th); | |
935 | + | |
936 | + th.add_cart_next(e,t,a,o,newd); //加入购物车下一步 | |
937 | + | |
938 | + } else if ( th.data.prom_type == 0 || th.data.prom_type == 3 || th.data.prom_type == 2 || th.data.prom_type == 4 || th.data.prom_type == 5) { | |
895 | 939 | newd.prom_type = 0; |
896 | 940 | newd.prom_id = 0; |
897 | - } | |
898 | - | |
941 | + //---如果是线下门店销售的时候--- | |
942 | + if(th.data.sales_rules==2){ | |
943 | + var pick=th.get_pick_from_list(th.data.sto_sele_id) | |
944 | + //---通过接口获取门店的线下库存信息-- | |
945 | + getApp().request.get("/api/weshop/goods/getWareStorages",{ | |
946 | + data:{storageNos:pick.pickup_no,wareIds:encodeURIComponent(th.data.sele_g.erpwareid),storeId:os.stoid}, | |
947 | + success:function(res){ | |
948 | + if(res.data.code==0){ | |
949 | + if(res.data.data.pageData.length>0){ | |
950 | + var CanOutQty=res.data.data.pageData[0].CanOutQty; | |
951 | + if(CanOutQty<e.data.goodsInputNum){ | |
952 | + return s.my_warnning("库存不足!", 0, th); | |
953 | + } | |
954 | + //在调一次接口,读取商品的预出库的数量,lock | |
955 | + getApp().request.get("/api/weshop/order/ware/lock/page",{ | |
956 | + data:{store_id:os.stoid,wareId:th.data.sele_g.goods_id,storageId:pick.pickup_id,pageSize:1000}, | |
957 | + success:function(res_data){ | |
958 | + if(res_data.data.code==0 && res_data.data.data.total>0){ | |
959 | + | |
960 | + var lock=0; | |
961 | + for(var i in res_data.data.data.pageData){ | |
962 | + lock+=res_data.data.data.pageData[i].outQty; | |
963 | + } | |
964 | + | |
965 | + if(CanOutQty<=lock){ | |
966 | + return s.my_warnning("库存不足!", 0, th); | |
967 | + } | |
968 | + th.add_cart_next(e,t,a,o,newd,CanOutQty-lock); | |
969 | + }else{ | |
970 | + th.add_cart_next(e,t,a,o,newd,CanOutQty); | |
971 | + } | |
972 | + } | |
973 | + }) | |
974 | + }else{ | |
975 | + return s.my_warnning("库存不足!", 0, th); | |
976 | + } | |
977 | + | |
978 | + } | |
979 | + } | |
980 | + }) | |
981 | + }else{ | |
982 | + if (o.store_count <= 0) return s.my_warnning("库存已为空!", 0, th); | |
983 | + if (o.store_count <e.data.goodsInputNum) return s.my_warnning("库存不足!", 0, th); | |
984 | + th.add_cart_next(e,t,a,o,newd); //加入购物车下一步 | |
985 | + } | |
986 | + } | |
987 | + }) | |
988 | + }, | |
989 | + | |
990 | + //---加入购物车的最后一步--- | |
991 | + add_cart_next(e,t,a,o,newd,CanOutQty){ | |
992 | + var th=this; | |
899 | 993 | //---如果商品不是积分购和拼团,要判断一个是否要进行等级价的判断------ |
900 | 994 | if(o.prom_type!=1 && o.prom_type!=6){ |
901 | 995 | var conf=th.data.bconfig; |
902 | - if(conf.switch_list){ | |
996 | + if (conf.switch_list && getApp().globalData.userInfo['card_field']){ | |
903 | 997 | var s_list=JSON.parse(conf.switch_list); |
904 | - //如果后台有开启等级价的功能 | |
905 | - if(parseInt(s_list.rank_switch)==2){ | |
998 | + var now=ut.gettimestamp(); | |
999 | + var str = getApp().globalData.userInfo['card_expiredate'].replace(/-/g, '/'); | |
1000 | + var end = new Date(str); | |
1001 | + end = Date.parse(end) / 1000; | |
1002 | + | |
1003 | + //--如果后台有开启等级价的功能,而且会员的等级没有过期的情况下-- | |
1004 | + if(parseInt(s_list.rank_switch)==2 && end>now){ | |
906 | 1005 | var card_price=o[getApp().globalData.userInfo['card_field']]; |
907 | 1006 | //如果会员有等级价 |
908 | 1007 | if(getApp().globalData.userInfo['card_field']!=undefined && getApp().globalData.userInfo['card_field']!=null |
... | ... | @@ -912,64 +1011,82 @@ Page({ |
912 | 1011 | } |
913 | 1012 | } |
914 | 1013 | } |
915 | - | |
916 | - | |
917 | - //if (this.data.data.goods.is_virtual) return this.buyVirtualGoods(d); | |
918 | - if ("add" == t.currentTarget.dataset.action) { | |
919 | - //----先看会员在购物车中是否加入了该商品----- | |
920 | - i.get("/api/weshop/cart/page", { | |
921 | - data: { | |
922 | - store_id: e.data.stoid, | |
923 | - user_id: oo.user_id, | |
924 | - goods_id: a, | |
925 | - pick_id: e.data.sto_sele_id, | |
926 | - }, | |
927 | - success: function(re) { | |
928 | - //-------如果购物车中有相关的数据--------- | |
929 | - if (re.data.data.total > 0) { | |
930 | - var item = re.data.data.pageData[0]; | |
931 | - var updata = { | |
932 | - id: item.id, | |
933 | - goods_num: e.data.goodsInputNum + item.goods_num, | |
934 | - goods_price: newd.goods_price, | |
935 | - store_id: th.data.stoid, | |
936 | - }; | |
937 | - | |
938 | - i.put("/api/weshop/cart/update", { | |
939 | - data: updata, | |
940 | - success: function(t) { | |
941 | - getApp().my_warnning('加入购物车成功', 1, th, 450); | |
942 | - var c_num = th.data.cartGoodsNum + th.data.goodsInputNum; | |
943 | - th.setData({ | |
944 | - cartGoodsNum: c_num | |
945 | - }); | |
946 | - th.closeSpecModal(); | |
947 | - } | |
948 | - }); | |
949 | - } else { | |
950 | - i.post("/api/weshop/cart/save", { | |
951 | - data: newd, | |
952 | - success: function(t) { | |
953 | - getApp().my_warnning('加入购物车成功', 1, th, 450); | |
954 | - var c_num = th.data.cartGoodsNum + e.data.goodsInputNum; | |
955 | - th.setData({ | |
956 | - cartGoodsNum: c_num | |
957 | - }); | |
958 | - th.closeSpecModal(); | |
959 | - } | |
960 | - }); | |
961 | - } | |
962 | - } | |
963 | - }); | |
964 | - } | |
965 | - //else "exchange" == t.currentTarget.dataset.action ? this.exchange(d) : this.buyNow(d); | |
966 | - else { | |
967 | - newd['pick_name'] = th.data.sto_sele_name; | |
968 | - newd['pick_dis'] = th.data.sto_sele_distr; | |
969 | - th.buyNow(newd); | |
970 | - } | |
971 | - }) | |
1014 | + | |
1015 | + //if (this.data.data.goods.is_virtual) return this.buyVirtualGoods(d); | |
1016 | + if ("add" == t.currentTarget.dataset.action) { | |
1017 | + //----先看会员在购物车中是否加入了该商品----- | |
1018 | + i.get("/api/weshop/cart/page", { | |
1019 | + data: { | |
1020 | + store_id: e.data.stoid, | |
1021 | + user_id: oo.user_id, | |
1022 | + goods_id: a, | |
1023 | + pick_id: e.data.sto_sele_id, | |
1024 | + }, | |
1025 | + success: function(re) { | |
1026 | + | |
1027 | + //-------如果购物车中有相关的数据--------- | |
1028 | + if (re.data.data.total > 0) { | |
1029 | + | |
1030 | + var item = re.data.data.pageData[0]; | |
1031 | + | |
1032 | + //判断数量,要看下购物车中有没有该商品 | |
1033 | + if(CanOutQty){ | |
1034 | + if(item.goods_num+ th.data.goodsInputNum>CanOutQty){ | |
1035 | + return s.my_warnning("库存不足!", 0, th); | |
1036 | + } | |
1037 | + }else{ | |
1038 | + if(item.goods_num+ th.data.goodsInputNum>o.store_count){ | |
1039 | + return s.my_warnning("库存不足!", 0, th); | |
1040 | + } | |
1041 | + } | |
1042 | + | |
1043 | + | |
1044 | + | |
1045 | + var updata = { | |
1046 | + id: item.id, | |
1047 | + goods_num: e.data.goodsInputNum + item.goods_num, | |
1048 | + goods_price: newd.goods_price, | |
1049 | + store_id: th.data.stoid, | |
1050 | + }; | |
1051 | + | |
1052 | + i.put("/api/weshop/cart/update", { | |
1053 | + data: updata, | |
1054 | + success: function(t) { | |
1055 | + getApp().my_warnning('加入购物车成功', 1, th, 450); | |
1056 | + var c_num = th.data.cartGoodsNum + th.data.goodsInputNum; | |
1057 | + th.setData({ | |
1058 | + cartGoodsNum: c_num | |
1059 | + }); | |
1060 | + th.closeSpecModal(); | |
1061 | + } | |
1062 | + }); | |
1063 | + } else { | |
1064 | + i.post("/api/weshop/cart/save", { | |
1065 | + data: newd, | |
1066 | + success: function(t) { | |
1067 | + getApp().my_warnning('加入购物车成功', 1, th, 450); | |
1068 | + var c_num = th.data.cartGoodsNum + e.data.goodsInputNum; | |
1069 | + th.setData({ | |
1070 | + cartGoodsNum: c_num | |
1071 | + }); | |
1072 | + th.closeSpecModal(); | |
1073 | + } | |
1074 | + }); | |
1075 | + } | |
1076 | + } | |
1077 | + }); | |
1078 | + } | |
1079 | + //else "exchange" == t.currentTarget.dataset.action ? this.exchange(d) : this.buyNow(d); | |
1080 | + else { | |
1081 | + newd['pick_name'] = th.data.sto_sele_name; | |
1082 | + newd['pick_dis'] = th.data.sto_sele_distr; | |
1083 | + th.buyNow(newd); | |
1084 | + } | |
972 | 1085 | }, |
1086 | + | |
1087 | + | |
1088 | + | |
1089 | + | |
973 | 1090 | //----------购买虚拟商品------ |
974 | 1091 | buyVirtualGoods: function(e) { |
975 | 1092 | Object.assign(e, { |
... | ... | @@ -1018,10 +1135,17 @@ Page({ |
1018 | 1135 | |
1019 | 1136 | //--判断商品是否超出限购-- |
1020 | 1137 | if (th.data.g_buy_num != null && th.data.sele_g.viplimited > 0) { |
1021 | - if (t + th.data.g_buy_num.get(th.data.sele_g.goods_id) > th.data.sele_g.viplimited) { | |
1138 | + | |
1139 | + var gd_buy_num=th.data.g_buy_num.get(th.data.sele_g.goods_id); | |
1140 | + | |
1141 | + if (t + gd_buy_num > th.data.sele_g.viplimited) { | |
1022 | 1142 | wx.showModal({ |
1023 | 1143 | title: '超出商品限购', |
1024 | 1144 | }); |
1145 | + | |
1146 | + var num= th.data.sele_g.viplimited-gd_buy_num; | |
1147 | + if(num<0) num=0; | |
1148 | + th.setData({goodsInputNum:num}) | |
1025 | 1149 | return false; |
1026 | 1150 | } |
1027 | 1151 | } |
... | ... | @@ -1032,6 +1156,10 @@ Page({ |
1032 | 1156 | wx.showModal({ |
1033 | 1157 | title: '超出商品活动限购', |
1034 | 1158 | }); |
1159 | + | |
1160 | + var num=th.data.prom_buy_limit- th.data.prom_buy_num ; | |
1161 | + if(num<0) num=0; | |
1162 | + th.setData({goodsInputNum:num}) | |
1035 | 1163 | return false; |
1036 | 1164 | } |
1037 | 1165 | } |
... | ... | @@ -1049,17 +1177,31 @@ Page({ |
1049 | 1177 | if (t > redis_num) { |
1050 | 1178 | wx.showModal({ |
1051 | 1179 | title: '超出商品活动库存', |
1052 | - }); | |
1180 | + }); | |
1181 | + th.setData({goodsInputNum:redis_num}) | |
1053 | 1182 | return false; |
1054 | 1183 | } |
1055 | 1184 | |
1056 | 1185 | } |
1057 | 1186 | |
1058 | - var e = th.data.sele_g.store_count; | |
1059 | - t > e || 0 == e ? t = e : t < 1 && (t = 1), | |
1060 | - th.setData({ | |
1061 | - goodsInputNum: t | |
1062 | - }); | |
1187 | + var e = th.data.sele_g.store_count; | |
1188 | + if(th.data.sales_rules==2){ | |
1189 | + if(!th.data.def_pick_store){ | |
1190 | + wx.showModal({ title: '请选择门店', }); | |
1191 | + return false; | |
1192 | + }else{ | |
1193 | + e=th.data.def_pick_store.CanOutQty; | |
1194 | + } | |
1195 | + } | |
1196 | + | |
1197 | + //库存不足,不增加 | |
1198 | + if(e<t){ wx.showModal({ title: '库存不足', }); | |
1199 | + if(e<0) e=0; | |
1200 | + th.setData({ goodsInputNum: e }); return false; | |
1201 | + } | |
1202 | + t > e || 0 == e ? t = e : t < 1 && (t = 1); | |
1203 | + th.setData({ goodsInputNum: t }); | |
1204 | + | |
1063 | 1205 | }) |
1064 | 1206 | }, |
1065 | 1207 | |
... | ... | @@ -1273,7 +1415,7 @@ Page({ |
1273 | 1415 | |
1274 | 1416 | //----------装载同一条形码的商品---------- |
1275 | 1417 | async get_sku(stoid, sku, g_id, is_normal, func) { |
1276 | - var tt = this; | |
1418 | + var tt = this,arrdata=null; | |
1277 | 1419 | await getApp().request.promiseGet("/api/weshop/goods/page", { |
1278 | 1420 | data: { |
1279 | 1421 | store_id: o.stoid, |
... | ... | @@ -1282,17 +1424,38 @@ Page({ |
1282 | 1424 | is_on_sale: 1 |
1283 | 1425 | } |
1284 | 1426 | }).then(res => { |
1285 | - var e = res; | |
1286 | - var arrsku = new Array(); | |
1287 | - var gitem = null; | |
1288 | - if (e.data.code == 0) { | |
1289 | - var arrdata = e.data.data.pageData, | |
1290 | - gb = 1, | |
1291 | - gg = ""; | |
1292 | - for (var i = 0; i < arrdata.length; i++) { | |
1293 | - var item = arrdata[i], | |
1294 | - gg = ""; | |
1295 | - | |
1427 | + var e = res; | |
1428 | + if (e.data.code == 0) arrdata = e.data.data.pageData; | |
1429 | + }) | |
1430 | + if(!arrdata) return fasle; | |
1431 | + | |
1432 | + var arrsku = new Array(); | |
1433 | + var gitem = null; | |
1434 | + var gb = 1,gg = ""; | |
1435 | + for (var i = 0; i < arrdata.length; i++) { | |
1436 | + var goodsinfo=arrdata[i],prom=null; | |
1437 | + if (goodsinfo.goods_id != g_id) { | |
1438 | + if(goodsinfo.prom_type==1){ | |
1439 | + await getApp().request.promiseGet("/api/ms/flash_sale/get/"+os.stoid+"/"+goodsinfo.prom_id,{ | |
1440 | + }).then(res=>{ | |
1441 | + if(res.data.code==0) prom=res.data.data; | |
1442 | + }) | |
1443 | + } | |
1444 | + if(goodsinfo.prom_type==6){ | |
1445 | + await getApp().request.promiseGet("/api/weshop/teamlist/get/"+os.stoid+"/"+goodsinfo.prom_id,{ | |
1446 | + }).then(res=>{ | |
1447 | + if(res.data.code==0) prom=res.data.data; | |
1448 | + }) | |
1449 | + } | |
1450 | + } | |
1451 | + //---如果有活动,不算在一起--- | |
1452 | + if(prom){ | |
1453 | + if(prom.is_end==0 && prom.end_time>now && prom.start_time<now){ | |
1454 | + continue; | |
1455 | + } | |
1456 | + } | |
1457 | + | |
1458 | + var item = arrdata[i],gg = ""; | |
1296 | 1459 | if(item.goods_spec=="null" || item.goods_spec==null) item.goods_spec=""; |
1297 | 1460 | if(item.goods_color=="null" || item.goods_color==null) item.goods_color=""; |
1298 | 1461 | |
... | ... | @@ -1324,13 +1487,12 @@ Page({ |
1324 | 1487 | sku_g: arrsku, |
1325 | 1488 | sele_g: gitem |
1326 | 1489 | }); |
1327 | - } | |
1328 | - } | |
1329 | - }) | |
1490 | + } | |
1330 | 1491 | }, |
1331 | 1492 | |
1332 | 1493 | //-----------选择属性的按钮事件---------- |
1333 | 1494 | sele_spec: function(e) { |
1495 | + var that=this,ee=this,th=this; | |
1334 | 1496 | var gid = e.currentTarget.dataset.gid; |
1335 | 1497 | var sku_g = this.data.sku_g; |
1336 | 1498 | var item = null; |
... | ... | @@ -1343,11 +1505,93 @@ Page({ |
1343 | 1505 | if (item) this.setData({ |
1344 | 1506 | sele_g: item, |
1345 | 1507 | gid: gid |
1346 | - }); | |
1347 | - }, | |
1508 | + }); | |
1509 | + | |
1510 | + this.get_sto(); | |
1511 | + //默认门店要拿下门店库存 | |
1512 | + if(that.data.sales_rules==2 && that.data.def_pick_store){ | |
1513 | + var lock=0,plist=null; | |
1514 | + //先读取门店的lock,采用链式写法,少用await | |
1515 | + getApp().request.promiseGet("/api/weshop/order/ware/lock/page",{ | |
1516 | + data:{store_id:os.stoid,wareId:ee.data.sele_g.goods_id,storageId:that.data.def_pick_store.pickup_id,pageSize:1000} | |
1517 | + }).then(res=>{ | |
1518 | + if(res.data.code==0 && res.data.data.total>0){ | |
1519 | + for(var i in res.data.data.pageData) | |
1520 | + lock+=res.data.data.pageData[i].outQty | |
1521 | + } | |
1522 | + //---通过接口获取门店的线下库存信息-- | |
1523 | + return getApp().request.promiseGet("/api/weshop/goods/getWareStorages",{ | |
1524 | + data:{storageNos:that.data.def_pick_store.pickup_no,wareIds:encodeURIComponent(th.data.sele_g.erpwareid),storeId:os.stoid} | |
1525 | + }) | |
1526 | + }).then(res=>{ | |
1527 | + if(res.data.code==0 && res.data.data.total>0){ | |
1528 | + plist=res.data.data.pageData[0]; | |
1529 | + } | |
1530 | + if(plist && plist.CanOutQty-lock>0){ | |
1531 | + that.data.def_pick_store.CanOutQty=plist.CanOutQty-lock; | |
1532 | + }else{ | |
1533 | + that.data.def_pick_store.CanOutQty=0; | |
1534 | + } | |
1535 | + //--给门店赋值线下库存-- | |
1536 | + th.setData({def_pick_store:that.data.def_pick_store}); | |
1537 | + }) | |
1538 | + } | |
1539 | + | |
1540 | + | |
1541 | + this.sele_spec_chech_activity(); | |
1542 | + }, | |
1543 | + | |
1544 | + //选择了不同的规格的时候要判断是不是有活动正在进行中 | |
1545 | + async sele_spec_chech_activity(){ | |
1546 | + //---如果是活动的时候--- | |
1547 | + var prom=null,goodsinfo=this.data.sele_g,th=this; | |
1548 | + if(goodsinfo.prom_type==1){ | |
1549 | + await getApp().request.promiseGet("/api/ms/flash_sale/get/"+os.stoid+"/"+goodsinfo.prom_id,{ | |
1550 | + }).then(res=>{ | |
1551 | + if(res.data.code==0){ | |
1552 | + prom=res.data.data; | |
1553 | + } | |
1554 | + }) | |
1555 | + } | |
1556 | + if(goodsinfo.prom_type==6){ | |
1557 | + await getApp().request.promiseGet("/api/weshop/teamlist/get/"+os.stoid+"/"+goodsinfo.prom_id,{ | |
1558 | + }).then(res=>{ | |
1559 | + if(res.data.code==0){ | |
1560 | + prom=res.data.data; | |
1561 | + } | |
1562 | + }) | |
1563 | + } | |
1564 | + //----------如果有活动,并且在进行中,就不计算线下库存--------------- | |
1565 | + var now=ut.gettimestamp(); | |
1566 | + if(prom){ | |
1567 | + if(prom.is_end==0 && prom.end_time>now && prom.start_time<now){ | |
1568 | + th.setData({ | |
1569 | + prom_type:goodsinfo.prom_type, | |
1570 | + prom_price:prom.price, | |
1571 | + prom_buy_limit:prom.buy_limit, | |
1572 | + prom_end_time:prom.end_time, | |
1573 | + prom_start_time:prom.start_time, | |
1574 | + prom_st:1, | |
1575 | + }) | |
1576 | + return false; | |
1577 | + } | |
1578 | + } | |
1579 | + //---设置普通商品--- | |
1580 | + th.setData({ | |
1581 | + prom_type:0, | |
1582 | + prom_price:null, | |
1583 | + prom_buy_limit:null, | |
1584 | + prom_end_time:null, | |
1585 | + prom_start_time:null, | |
1586 | + prom_st:null, | |
1587 | + }) | |
1588 | + | |
1589 | + }, | |
1590 | + | |
1591 | + | |
1348 | 1592 | //---------拿出门店分类和门店------------ |
1349 | 1593 | get_sto(e) { |
1350 | - var th = this; | |
1594 | + var th = this,that=this; | |
1351 | 1595 | var timer_get = setInterval(function() { |
1352 | 1596 | if (th.data.is_get_local_ok == 0) return false; |
1353 | 1597 | var dd = null, |
... | ... | @@ -1358,13 +1602,13 @@ Page({ |
1358 | 1602 | store_id: o.stoid, |
1359 | 1603 | distr_type: g_distr_type, |
1360 | 1604 | isstop: 0, |
1361 | - pageSize: 300 | |
1605 | + pageSize: 2000 | |
1362 | 1606 | } |
1363 | 1607 | } else { |
1364 | 1608 | dd = { |
1365 | 1609 | store_id: o.stoid, |
1366 | 1610 | isstop: 0, |
1367 | - pageSize: 300 | |
1611 | + pageSize: 2000 | |
1368 | 1612 | } |
1369 | 1613 | } |
1370 | 1614 | //如果有距离的话 |
... | ... | @@ -1379,15 +1623,16 @@ Page({ |
1379 | 1623 | }).then(res => { |
1380 | 1624 | var e = res; |
1381 | 1625 | if (e.data.code == 0) { |
1382 | - | |
1626 | + | |
1383 | 1627 | //如果有开启距离的功能,没有设置默认门店,要用最近的门店作为默认门店 |
1384 | - if(dd.lat && !th.data.def_pick_store){ | |
1628 | + if(dd.lat && !th.data.def_pick_store && th.data.bconfig.is_sort_storage){ | |
1385 | 1629 | th.setData({ |
1386 | 1630 | def_pick_store:e.data.data.pageData[0], |
1387 | 1631 | sto_sele_name: e.data.data.pageData[0].pickup_name, |
1388 | 1632 | sto_sele_id: e.data.data.pageData[0].pickup_id, |
1389 | 1633 | sto_sele_distr: e.data.data.pageData[0].distr_type |
1390 | 1634 | }); |
1635 | + th.data.fir_def_store=e.data.data.pageData[0]; | |
1391 | 1636 | } |
1392 | 1637 | |
1393 | 1638 | //-- 如果有默认选择门店的时候,要把默认门店放在第一位 -- |
... | ... | @@ -1401,152 +1646,260 @@ Page({ |
1401 | 1646 | e.data.data.pageData.splice(0, 0, th.data.def_pick_store); //添加 |
1402 | 1647 | } |
1403 | 1648 | |
1404 | - /*---- | |
1405 | - //--获取线下库存-- | |
1406 | - if(th.data.sales_rules){ | |
1407 | - | |
1408 | - }---*/ | |
1409 | 1649 | |
1410 | - | |
1411 | - //单总量超出5个的时候 | |
1412 | - if (e.data.data.total > 5) { | |
1413 | - i.get("/api/weshop/storagecategory/page", { | |
1414 | - data: { | |
1415 | - store_id: o.stoid, | |
1416 | - is_show: 1, | |
1417 | - pageSize: 300 | |
1418 | - }, | |
1419 | - success: function(ee) { | |
1420 | - if (ee.data.code == 0) { | |
1421 | - if (ee.data.data && ee.data.data.pageData && ee.data.data.pageData.length > 0) { | |
1422 | - var def_arr = new Array(); | |
1423 | - var ishas = 0; | |
1424 | - //-- 开始就看5个门店 -- | |
1425 | - for (var k = 0; k < 5; k++) { | |
1426 | - if (k == e.data.data.pageData.length) break; | |
1427 | - def_arr.push(e.data.data.pageData[k]); | |
1428 | - } | |
1429 | - | |
1430 | - th.setData({ | |
1431 | - def_pickpu_list: def_arr, | |
1432 | - pickpu_list: ee.data.data.pageData | |
1433 | - }); | |
1434 | - var sto_cate = ee.data.data.pageData; | |
1435 | - var sto_arr = e.data.data.pageData; | |
1436 | - var newarr = new Array(); | |
1437 | - var qita = new Array(); | |
1438 | - | |
1439 | - //----要进行门店分组-------- | |
1440 | - for (var i = 0; i < sto_arr.length; i++) { | |
1441 | - //找一下这个门店有没有在分类数组内 | |
1442 | - var find2 = 0, | |
1443 | - find2name = ""; | |
1444 | - for (var m = 0; m < sto_cate.length; m++) { | |
1445 | - if (sto_arr[i].category_id == sto_cate[m].cat_id) { | |
1446 | - find2 = sto_cate[m].cat_id; | |
1447 | - find2name = sto_cate[m].cat_name; | |
1448 | - break; | |
1449 | - } | |
1450 | - } | |
1451 | - | |
1452 | - if (newarr.length > 0) { | |
1453 | - var find = 0; | |
1454 | - //如果有找到,那门店就在这个分组内,否则,分类就要排在其他 | |
1455 | - if (find2 != 0) { | |
1456 | - for (var ii = 0; ii < newarr.length; ii++) { | |
1457 | - if (sto_arr[i].category_id == newarr[ii].cat_id) { | |
1458 | - newarr[ii].s_arr.push(sto_arr[i]); | |
1459 | - find = 1; | |
1460 | - break; | |
1461 | - } | |
1462 | - } | |
1463 | - if (find == 0) { | |
1464 | - var arr0 = new Array(); | |
1465 | - arr0.push(sto_arr[i]); | |
1466 | - var item = { | |
1467 | - cat_id: find2, | |
1468 | - name: find2name, | |
1469 | - s_arr: arr0 | |
1470 | - }; | |
1471 | - newarr.push(item); | |
1472 | - } | |
1473 | - } else { | |
1474 | - qita.push(sto_arr[i]); | |
1475 | - } | |
1476 | - } else { | |
1477 | - //如果有找到,那门店就在这个分组内,否则,分类就要排在其他 | |
1478 | - if (find2 != 0) { | |
1479 | - var arr0 = new Array(); | |
1480 | - arr0.push(sto_arr[i]); | |
1481 | - var item = { | |
1482 | - cat_id: find2, | |
1483 | - name: find2name, | |
1484 | - s_arr: arr0 | |
1485 | - }; | |
1486 | - newarr.push(item); | |
1487 | - } else { | |
1488 | - qita.push(sto_arr[i]); | |
1489 | - } | |
1490 | - } | |
1491 | - } | |
1492 | - | |
1493 | - //----安排其他的分类----- | |
1494 | - if (qita.length > 0) { | |
1495 | - var item = { | |
1496 | - cat_id: -1, | |
1497 | - name: "其他", | |
1498 | - s_arr: qita | |
1499 | - }; | |
1500 | - newarr.push(item); | |
1501 | - } | |
1502 | - th.setData({ | |
1503 | - is_show_sto_cat: 1, | |
1504 | - all_sto: newarr | |
1505 | - }); | |
1506 | - | |
1507 | - } else { | |
1508 | - th.setData({ | |
1509 | - is_show_sto_cat: -1, | |
1510 | - only_pk: e.data.data.pageData | |
1511 | - }); | |
1512 | - //-----如果没有默认门店,要取第一个门店作为默认店.此时没有门店分类的情况------ | |
1513 | - if (!th.data.def_pick_store) { | |
1514 | - th.setData({def_pick_store:e.data.data.pageData[0]}) | |
1515 | - } | |
1516 | - } | |
1517 | - } else { | |
1518 | - th.setData({ | |
1519 | - is_show_sto_cat: -1, | |
1520 | - only_pk: e.data.data.pageData | |
1521 | - }); | |
1522 | - //-----如果没有默认门店,要取第一个门店作为默认店.此时没有门店分类的情况------ | |
1523 | - if (!th.data.def_pick_store) { | |
1524 | - th.setData({def_pick_store:e.data.data.pageData[0]}) | |
1525 | - } | |
1526 | - | |
1527 | - } | |
1528 | - } | |
1529 | - }); | |
1530 | - } else { | |
1531 | - th.setData({ | |
1532 | - is_show_sto_cat: 0, | |
1533 | - only_pk: e.data.data.pageData | |
1534 | - }); | |
1535 | - //-----如果没有默认门店,要取第一个门店作为默认店------ | |
1536 | - if (!th.data.def_pick_store) { | |
1537 | - th.setData({ | |
1538 | - def_pick_store:e.data.data.pageData[0], | |
1539 | - sto_sele_name: e.data.data.pageData[0].pickup_name, | |
1540 | - sto_sele_id: e.data.data.pageData[0].pickup_id, | |
1541 | - sto_sele_distr: e.data.data.pageData[0].distr_type | |
1542 | - }) | |
1543 | - } | |
1544 | - } | |
1545 | - } | |
1650 | + th.setData({all_pick_list:e.data.data.pageData}); | |
1651 | + | |
1652 | + //--获取线下库存,而且不是新的门店规则,同时不能是活动-- | |
1653 | + if(th.data.sales_rules==2 && !th.data.is_newsales_rules && th.data.prom_type!=1 && th.data.prom_type!=6){ | |
1654 | + setTimeout(function(){ | |
1655 | + th.deal_pickup_dline(e); | |
1656 | + },800) | |
1657 | + }else{ | |
1658 | + setTimeout(function(){ | |
1659 | + th.deal_pickup(e); //--普通门店排版-- | |
1660 | + },800) | |
1661 | + } | |
1662 | + } | |
1546 | 1663 | }) |
1547 | 1664 | }, 200) |
1548 | 1665 | |
1549 | - | |
1666 | + }, | |
1667 | + | |
1668 | + //------------处理门店--------------- | |
1669 | + deal_pickup(e){ | |
1670 | + var th=this; | |
1671 | + //单总量超出5个的时候 | |
1672 | + if (e.data.data.total > 5) { | |
1673 | + getApp().request.get("/api/weshop/storagecategory/page", { | |
1674 | + data: { | |
1675 | + store_id: o.stoid, | |
1676 | + is_show: 1, | |
1677 | + pageSize: 1000 | |
1678 | + }, | |
1679 | + success: function(ee) { | |
1680 | + if (ee.data.code == 0) { | |
1681 | + if (ee.data.data && ee.data.data.pageData && ee.data.data.pageData.length > 0) { | |
1682 | + var def_arr = new Array(); | |
1683 | + var ishas = 0; | |
1684 | + //-- 开始就看5个门店 -- | |
1685 | + for (var k = 0; k < 5; k++) { | |
1686 | + if (k == e.data.data.pageData.length) break; | |
1687 | + def_arr.push(e.data.data.pageData[k]); | |
1688 | + } | |
1689 | + | |
1690 | + th.setData({ | |
1691 | + def_pickpu_list: def_arr, | |
1692 | + pickpu_list: ee.data.data.pageData | |
1693 | + }); | |
1694 | + var sto_cate = ee.data.data.pageData; | |
1695 | + var sto_arr = e.data.data.pageData; | |
1696 | + var newarr = new Array(); | |
1697 | + var qita = new Array(); | |
1698 | + | |
1699 | + //----要进行门店分组-------- | |
1700 | + for (var i = 0; i < sto_arr.length; i++) { | |
1701 | + //找一下这个门店有没有在分类数组内 | |
1702 | + var find2 = 0, | |
1703 | + find2name = ""; | |
1704 | + for (var m = 0; m < sto_cate.length; m++) { | |
1705 | + if (sto_arr[i].category_id == sto_cate[m].cat_id) { | |
1706 | + find2 = sto_cate[m].cat_id; | |
1707 | + find2name = sto_cate[m].cat_name; | |
1708 | + break; | |
1709 | + } | |
1710 | + } | |
1711 | + | |
1712 | + if (newarr.length > 0) { | |
1713 | + var find = 0; | |
1714 | + //如果有找到,那门店就在这个分组内,否则,分类就要排在其他 | |
1715 | + if (find2 != 0) { | |
1716 | + for (var ii = 0; ii < newarr.length; ii++) { | |
1717 | + if (sto_arr[i].category_id == newarr[ii].cat_id) { | |
1718 | + newarr[ii].s_arr.push(sto_arr[i]); | |
1719 | + find = 1; | |
1720 | + break; | |
1721 | + } | |
1722 | + } | |
1723 | + if (find == 0) { | |
1724 | + var arr0 = new Array(); | |
1725 | + arr0.push(sto_arr[i]); | |
1726 | + var item = { | |
1727 | + cat_id: find2, | |
1728 | + name: find2name, | |
1729 | + s_arr: arr0 | |
1730 | + }; | |
1731 | + newarr.push(item); | |
1732 | + } | |
1733 | + } else { | |
1734 | + qita.push(sto_arr[i]); | |
1735 | + } | |
1736 | + } else { | |
1737 | + //如果有找到,那门店就在这个分组内,否则,分类就要排在其他 | |
1738 | + if (find2 != 0) { | |
1739 | + var arr0 = new Array(); | |
1740 | + arr0.push(sto_arr[i]); | |
1741 | + var item = { | |
1742 | + cat_id: find2, | |
1743 | + name: find2name, | |
1744 | + s_arr: arr0 | |
1745 | + }; | |
1746 | + newarr.push(item); | |
1747 | + } else { | |
1748 | + qita.push(sto_arr[i]); | |
1749 | + } | |
1750 | + } | |
1751 | + } | |
1752 | + | |
1753 | + //----安排其他的分类----- | |
1754 | + if (qita.length > 0) { | |
1755 | + var item = { | |
1756 | + cat_id: -1, | |
1757 | + name: "其他", | |
1758 | + s_arr: qita | |
1759 | + }; | |
1760 | + newarr.push(item); | |
1761 | + } | |
1762 | + th.setData({ | |
1763 | + is_show_sto_cat: 1, | |
1764 | + all_sto: newarr | |
1765 | + }); | |
1766 | + | |
1767 | + } else { | |
1768 | + th.setData({ | |
1769 | + is_show_sto_cat: -1, | |
1770 | + only_pk: e.data.data.pageData | |
1771 | + }); | |
1772 | + //-----如果没有默认门店,要取第一个门店作为默认店.此时没有门店分类的情况------ | |
1773 | + if (!th.data.def_pick_store) { | |
1774 | + th.setData({def_pick_store:e.data.data.pageData[0]}) | |
1775 | + } | |
1776 | + } | |
1777 | + } else { | |
1778 | + th.setData({ | |
1779 | + is_show_sto_cat: -1, | |
1780 | + only_pk: e.data.data.pageData | |
1781 | + }); | |
1782 | + //-----如果没有默认门店,要取第一个门店作为默认店.此时没有门店分类的情况------ | |
1783 | + if (!th.data.def_pick_store) { | |
1784 | + th.setData({def_pick_store:e.data.data.pageData[0]}) | |
1785 | + } | |
1786 | + | |
1787 | + } | |
1788 | + } | |
1789 | + }); | |
1790 | + } else { | |
1791 | + th.setData({ | |
1792 | + is_show_sto_cat: 0, | |
1793 | + only_pk: e.data.data.pageData | |
1794 | + }); | |
1795 | + //-----如果没有默认门店,要取第一个门店作为默认店------ | |
1796 | + if (!th.data.def_pick_store && th.data.bconfig.is_sort_storage) { | |
1797 | + th.setData({ | |
1798 | + def_pick_store:e.data.data.pageData[0], | |
1799 | + sto_sele_name: e.data.data.pageData[0].pickup_name, | |
1800 | + sto_sele_id: e.data.data.pageData[0].pickup_id, | |
1801 | + sto_sele_distr: e.data.data.pageData[0].distr_type | |
1802 | + }) | |
1803 | + } | |
1804 | + } | |
1805 | + | |
1806 | + }, | |
1807 | + //------------处理线下门店库存-------- | |
1808 | + deal_pickup_dline(e){ | |
1809 | + var pkno=[],th=this; | |
1810 | + if(this.data.def_pick_store){ | |
1811 | + pkno.push(this.data.def_pick_store.pickup_no); | |
1812 | + } | |
1813 | + for(var i in e.data.data.pageData){ | |
1814 | + var item=e.data.data.pageData[i]; | |
1815 | + if(pkno.indexOf(item.pickup_no)<0) | |
1816 | + pkno.push(item.pickup_no); | |
1817 | + } | |
1818 | + var pkno_str=pkno.join(","); | |
1819 | + var o_plist=e.data.data.pageData; | |
1820 | + var new_list=[]; | |
1821 | + var is_find_def_store=0; | |
1822 | + | |
1823 | + var lock=[]; | |
1824 | + //先读取门店的lock,采用链式写法,少用await | |
1825 | + getApp().request.promiseGet("/api/weshop/order/ware/lock/page",{ | |
1826 | + data:{store_id:os.stoid,wareId:th.data.sele_g.goods_id,pageSize:1000} | |
1827 | + }).then(res=>{ | |
1828 | + if(res.data.code==0 && res.data.data.total>0){ | |
1829 | + lock=res.data.data.pageData | |
1830 | + } | |
1831 | + //---通过接口获取门店的线下库存信息-- | |
1832 | + return getApp().request.promiseGet("/api/weshop/goods/getWareStorages",{ | |
1833 | + data:{storageNos:pkno_str,wareIds:encodeURIComponent(th.data.sele_g.erpwareid),storeId:os.stoid} | |
1834 | + }) | |
1835 | + }).then(res=>{ | |
1836 | + if(res.data.code==0){ | |
1837 | + if(res.data.data.pageData){ | |
1838 | + var plist=res.data.data.pageData; | |
1839 | + var def_pick_store=th.data.def_pick_store; | |
1840 | + //以原来的数组为外循环,保证距离的顺序 | |
1841 | + for(var kk in o_plist){ | |
1842 | + for(var ii in plist){ | |
1843 | + //线下的门店小心 | |
1844 | + var n_item=plist[ii]; | |
1845 | + if(n_item.StorageNo==o_plist[kk].pickup_no){ | |
1846 | + | |
1847 | + //拿到锁库的数量 | |
1848 | + var lock_num=th.find_lock_num(o_plist[kk].pickup_id,lock); | |
1849 | + //可出库数大于预出库库存的数量,可以判断为有库存 | |
1850 | + if(n_item.CanOutQty>lock_num){ | |
1851 | + o_plist[kk].CanOutQty=n_item.CanOutQty-lock_num; | |
1852 | + new_list.push(o_plist[kk]); | |
1853 | + //如果找到默认门店 | |
1854 | + if(n_item.StorageNo==th.data.fir_def_store.pickup_no){ | |
1855 | + th.data.fir_def_store.CanOutQty=n_item.CanOutQty-lock_num; | |
1856 | + if(def_pick_store.pickup_id==th.data.fir_def_store.pickup_id) | |
1857 | + th.setData({def_pick_store:th.data.fir_def_store}) | |
1858 | + is_find_def_store=1; | |
1859 | + } | |
1860 | + } | |
1861 | + break; | |
1862 | + } | |
1863 | + } | |
1864 | + } | |
1865 | + | |
1866 | + //数据组装下 | |
1867 | + var em={};em.data={};em.data.data={}; | |
1868 | + em.data.data.total=new_list.length; | |
1869 | + em.data.data.pageData=new_list; | |
1870 | + | |
1871 | + if(th.data.fir_def_store && !is_find_def_store){ | |
1872 | + th.data.fir_def_store.CanOutQty=0; | |
1873 | + //--当选择的门店是客户默认的门店的时候-- | |
1874 | + if(th.data.fir_def_store.pickup_id==th.data.def_pick_store.pickup_id) { | |
1875 | + th.setData({def_pick_store:th.data.fir_def_store}); | |
1876 | + em.data.data.pageData.unshift(th.data.def_pick_store); | |
1877 | + }else{ | |
1878 | + em.data.data.pageData.splice(1,0,th.data.fir_def_store); | |
1879 | + } | |
1880 | + } | |
1881 | + | |
1882 | + //---把数组组装进去--- | |
1883 | + th.deal_pickup(em); | |
1884 | + }else{ | |
1885 | + th.setData({def_pick_store:null,all_sto:null,only_pk:null}) | |
1886 | + } | |
1887 | + }else{ | |
1888 | + th.setData({def_pick_store:null,all_sto:null,only_pk:null}) | |
1889 | + } | |
1890 | + }) | |
1891 | + }, | |
1892 | + | |
1893 | + find_lock_num(pick_id,lock){ | |
1894 | + var lock_num=0; | |
1895 | + if(!lock) return 0; | |
1896 | + if(lock.length<0) return 0; | |
1897 | + for(var i in lock){ | |
1898 | + if(pick_id==lock[i].pickupId){ | |
1899 | + lock_num+=lock[i].outQty; | |
1900 | + } | |
1901 | + } | |
1902 | + return lock_num; | |
1550 | 1903 | }, |
1551 | 1904 | |
1552 | 1905 | //----------取货门店被点击的效果------ |
... | ... | @@ -1707,6 +2060,7 @@ Page({ |
1707 | 2060 | isshow: 1, |
1708 | 2061 | }); |
1709 | 2062 | ee.get_sku(os.stoid, ee.data.data.sku, gid); |
2063 | + ee.get_sto(); | |
1710 | 2064 | return false; |
1711 | 2065 | } |
1712 | 2066 | //----已经过期----- |
... | ... | @@ -1727,6 +2081,7 @@ Page({ |
1727 | 2081 | isshow: 1, |
1728 | 2082 | }); |
1729 | 2083 | ee.get_sku(os.stoid, ee.data.data.sku, gid); |
2084 | + ee.get_sto(); | |
1730 | 2085 | return false; |
1731 | 2086 | } |
1732 | 2087 | |
... | ... | @@ -1744,6 +2099,8 @@ Page({ |
1744 | 2099 | prom_start_time: prom_start_time, |
1745 | 2100 | isshow: 1, |
1746 | 2101 | }); |
2102 | + | |
2103 | + ee.get_sto(); | |
1747 | 2104 | |
1748 | 2105 | |
1749 | 2106 | var newTime = ut.gettimestamp(); |
... | ... | @@ -1798,6 +2155,7 @@ Page({ |
1798 | 2155 | isshow: 1, |
1799 | 2156 | }); |
1800 | 2157 | ee.get_sku(os.stoid, ee.data.data.sku, gid); |
2158 | + ee.get_sto(); | |
1801 | 2159 | return false; |
1802 | 2160 | } |
1803 | 2161 | //----已经结束----- |
... | ... | @@ -1817,6 +2175,7 @@ Page({ |
1817 | 2175 | isshow: 1, |
1818 | 2176 | }); |
1819 | 2177 | ee.get_sku(os.stoid, ee.data.data.sku, gid); |
2178 | + ee.get_sto(); | |
1820 | 2179 | return false; |
1821 | 2180 | } |
1822 | 2181 | |
... | ... | @@ -1827,6 +2186,7 @@ Page({ |
1827 | 2186 | isshow: 1, |
1828 | 2187 | }); |
1829 | 2188 | ee.get_sku(os.stoid, ee.data.data.sku, gid); |
2189 | + ee.get_sto(); | |
1830 | 2190 | return false; |
1831 | 2191 | } |
1832 | 2192 | |
... | ... | @@ -1891,7 +2251,7 @@ Page({ |
1891 | 2251 | t.data.data.ct_rylist = JSON.parse(t.data.data.ct_rylist); |
1892 | 2252 | var max_num = 0; |
1893 | 2253 | t.data.data.ct_rylist.forEach(function(val, ind) { |
1894 | - if (val.rynum > max_num) max_num = val.rynum; | |
2254 | + if (parseInt(val.rynum) > max_num) max_num = parseInt(val.rynum); | |
1895 | 2255 | }) |
1896 | 2256 | t.data.data.max_ct_num = max_num; |
1897 | 2257 | } |
... | ... | @@ -1908,6 +2268,8 @@ Page({ |
1908 | 2268 | prom_start_time: prom_start_time, |
1909 | 2269 | isshow: 1, |
1910 | 2270 | }); |
2271 | + | |
2272 | + ee.get_sto(); | |
1911 | 2273 | |
1912 | 2274 | var newTime = now; |
1913 | 2275 | var endTime2 = t.data.data.end_time; |
... | ... | @@ -2257,6 +2619,10 @@ Page({ |
2257 | 2619 | title: '提示', |
2258 | 2620 | content: '超出商品限购' |
2259 | 2621 | }); |
2622 | + | |
2623 | + var num=th.data.prom_buy_limit-th.data.prom_buy_num; | |
2624 | + if(num<0) num=0; | |
2625 | + th.setData({goodsInputNum:num}) | |
2260 | 2626 | return false; |
2261 | 2627 | } |
2262 | 2628 | } |
... | ... | @@ -2267,6 +2633,10 @@ Page({ |
2267 | 2633 | title: '提示', |
2268 | 2634 | content: '超出商品活动限购' |
2269 | 2635 | }); |
2636 | + | |
2637 | + var num=th.data.prom_buy_limit-th.data.prom_buy_num; | |
2638 | + if(num<0) num=0; | |
2639 | + th.setData({goodsInputNum:num}) | |
2270 | 2640 | return false; |
2271 | 2641 | } |
2272 | 2642 | } |
... | ... | @@ -2286,12 +2656,19 @@ Page({ |
2286 | 2656 | title: '提示', |
2287 | 2657 | content: '超出商品活动库存' |
2288 | 2658 | }); |
2659 | + | |
2660 | + th.setData({goodsInputNum:redis_num}) | |
2661 | + | |
2289 | 2662 | return false; |
2290 | 2663 | } |
2291 | 2664 | } |
2292 | 2665 | |
2293 | 2666 | if (th.data.goodsInputNum <= 0) return s.my_warnning("商品数量不能为0", 0, th); |
2294 | - if (th.data.goodsInputNum > o.store_count) return s.my_warnning("超出商品库存", 0, th); | |
2667 | + if (th.data.goodsInputNum > o.store_count) { | |
2668 | + th.setData({goodsInputNum:o.store_count}) | |
2669 | + return s.my_warnning("超出商品库存", 0, th); | |
2670 | + } | |
2671 | + | |
2295 | 2672 | if (th.data.sto_sele_name == null || th.data.sto_sele_name == undefined) |
2296 | 2673 | this.setData({ |
2297 | 2674 | sto_sele_name: "" |
... | ... | @@ -3107,9 +3484,24 @@ Page({ |
3107 | 3484 | // 选择门店 |
3108 | 3485 | choice_store: function(ee) { |
3109 | 3486 | var th = this; |
3110 | - //var ind=ee.currentTarget.dataset.ind; | |
3487 | + var ind=ee.currentTarget.dataset.ind; | |
3111 | 3488 | var bconfig = th.data.bconfig; |
3112 | - | |
3489 | + | |
3490 | + if(!th.data.only_pk && !th.data.def_pickpu_list){ | |
3491 | + getApp().confirmBox("门店库存不足", null, 25000, !1); | |
3492 | + return false; | |
3493 | + } | |
3494 | + | |
3495 | + if(th.data.only_pk && !th.data.only_pk.length){ | |
3496 | + getApp().confirmBox("门店库存不足", null, 25000, !1); | |
3497 | + return false; | |
3498 | + } | |
3499 | + if(th.data.def_pickpu_list && !th.data.def_pickpu_list.length){ | |
3500 | + getApp().confirmBox("门店库存不足", null, 25000, !1); | |
3501 | + return false; | |
3502 | + } | |
3503 | + | |
3504 | + | |
3113 | 3505 | if (bconfig.is_sort_storage) { |
3114 | 3506 | wx.getLocation({ |
3115 | 3507 | type: 'wgs84', |
... | ... | @@ -3147,23 +3539,64 @@ Page({ |
3147 | 3539 | th.data.is_get_local_ok = 1; |
3148 | 3540 | th.get_sto(); |
3149 | 3541 | } |
3150 | - | |
3151 | - this.setData({ | |
3152 | - //open_ind_store: ind, | |
3153 | - store: 1, | |
3154 | - openSpecModal: !1, | |
3155 | - openSpecModal_pt: !1 | |
3156 | - }) | |
3542 | + | |
3543 | + if(ind!=undefined && ind!=null ){ | |
3544 | + this.setData({ | |
3545 | + open_ind_store: ind, | |
3546 | + store: 1, | |
3547 | + openSpecModal: !1, | |
3548 | + openSpecModal_pt: !1 | |
3549 | + }) | |
3550 | + }else{ | |
3551 | + this.setData({ | |
3552 | + store: 1, | |
3553 | + openSpecModal: !1, | |
3554 | + openSpecModal_pt: !1 | |
3555 | + }) | |
3556 | + } | |
3157 | 3557 | }, |
3158 | 3558 | //关闭选择门店 |
3159 | 3559 | close_popup: function(e) { |
3160 | - | |
3560 | + var th=this; | |
3161 | 3561 | this.setData({ |
3162 | 3562 | store: 0, |
3163 | 3563 | choice_sort_store: 0, |
3164 | - sort_store: 0 | |
3564 | + sort_store: 0, | |
3565 | + fir_pick_index:0, | |
3566 | + sec_pick_index:0 | |
3165 | 3567 | }) |
3568 | + | |
3569 | + var openindstore=this.data.open_ind_store; | |
3570 | + if (openindstore == 1) { | |
3571 | + th.setData({ | |
3572 | + openSpecModal: !0, | |
3573 | + openSpecModal_ind: openindstore, | |
3574 | + }); | |
3575 | + } else if (openindstore == 2) { | |
3576 | + th.setData({ | |
3577 | + openSpecModal: !0, | |
3578 | + openSpecModal_ind: openindstore, | |
3579 | + }); | |
3580 | + } | |
3581 | + else if (openindstore == 4) { //4就是拼团 | |
3582 | + th.setData({ | |
3583 | + openSpecModal_pt: 1, //打开拼团购买界面 | |
3584 | + store: 0, //关闭门店 | |
3585 | + choice_sort_store: 0, //关闭门店2级 | |
3586 | + sort_store: 0, //关闭门店2级 | |
3587 | + }); | |
3588 | + } | |
3589 | + else { | |
3590 | + th.setData({ | |
3591 | + store: 0, | |
3592 | + choice_sort_store: 0, | |
3593 | + sort_store: 0 | |
3594 | + }) | |
3595 | + } | |
3596 | + | |
3597 | + | |
3166 | 3598 | }, |
3599 | + | |
3167 | 3600 | //选择更多门店 |
3168 | 3601 | more_store: function() { |
3169 | 3602 | this.setData({ |
... | ... | @@ -3193,16 +3626,61 @@ Page({ |
3193 | 3626 | sec_pick_index: 0 |
3194 | 3627 | }); |
3195 | 3628 | }, |
3196 | - | |
3197 | - | |
3198 | - | |
3629 | + | |
3199 | 3630 | choose_for_store_fir: function(e) { |
3200 | 3631 | var index_c = e.currentTarget.dataset.ind; |
3201 | - | |
3202 | - this.setData({ | |
3203 | - fir_pick_index: index_c | |
3632 | + var th=this; | |
3633 | + th.setData({ | |
3634 | + fir_pick_index: index_c | |
3204 | 3635 | }) |
3636 | + | |
3205 | 3637 | }, |
3638 | + | |
3639 | + //如果开启线下库存,已经急速库存才会使用 | |
3640 | + async check_the_pick(item,func){ | |
3641 | + var th=this; | |
3642 | + var goodsinfo=th.data.sele_g; | |
3643 | + var erpwareid=goodsinfo.erpwareid; | |
3644 | + var plist=null; | |
3645 | + var lock=0; | |
3646 | + | |
3647 | + //---如果是活动的时候--- | |
3648 | + if(th.data.prom_type==1 || th.data.prom_type==6){ | |
3649 | + func(); return false; | |
3650 | + } | |
3651 | + | |
3652 | + if(this.data.sales_rules!=2 && this.data.is_newsales_rules!=1){ | |
3653 | + func(); | |
3654 | + }else{ | |
3655 | + | |
3656 | + //先读取门店的lock | |
3657 | + await getApp().request.promiseGet("/api/weshop/order/ware/lock/page",{ | |
3658 | + data:{store_id:os.stoid,wareId:goodsinfo.goods_id,storageId:item.pickup_id,pageSize:1000} | |
3659 | + }).then(res=>{ | |
3660 | + if(res.data.code==0 && res.data.data.total>0){ | |
3661 | + for(var i in res.data.data.pageData ) | |
3662 | + lock+=res.data.data.pageData[i].outQty; | |
3663 | + } | |
3664 | + }) | |
3665 | + //读取线下的门店库存 | |
3666 | + await getApp().request.promiseGet("/api/weshop/goods/getWareStorages",{ | |
3667 | + data:{storageNos:item.pickup_no,wareIds:encodeURIComponent(erpwareid),storeId:os.stoid} | |
3668 | + }).then(res=>{ | |
3669 | + if(res.data.code==0 && res.data.data.total>0){ | |
3670 | + plist=res.data.data.pageData[0]; | |
3671 | + } | |
3672 | + }) | |
3673 | + | |
3674 | + if(plist && plist.CanOutQty-lock>0){ | |
3675 | + item.CanOutQty=plist.CanOutQty-lock; | |
3676 | + func(); | |
3677 | + return false; | |
3678 | + } | |
3679 | + getApp().my_warnning(item.pickup_name+"库存不足!", 0, th); | |
3680 | + | |
3681 | + } | |
3682 | + }, | |
3683 | + | |
3206 | 3684 | |
3207 | 3685 | //确定def_pick为选择的门店 |
3208 | 3686 | sure_pick: function(e) { |
... | ... | @@ -3222,142 +3700,142 @@ Page({ |
3222 | 3700 | var index = th.data.sec_pick_index; |
3223 | 3701 | item = th.data.sec_sto.s_arr[index]; |
3224 | 3702 | } |
3225 | - th.setData({ | |
3226 | - def_pick_store: item, | |
3227 | - sto_sele_name: item.pickup_name, | |
3228 | - sto_sele_id: item.pickup_id, | |
3229 | - sto_sele_distr: item.distr_type, | |
3230 | - store: 0, | |
3231 | - choice_sort_store: 0, | |
3232 | - fir_pick_index: 0 | |
3233 | - }); | |
3234 | - | |
3235 | - if (openindstore == 1) { | |
3236 | - th.setData({ | |
3237 | - openSpecModal: !0, | |
3238 | - openSpecModal_ind: openindstore, | |
3239 | - }); | |
3240 | - } else if (openindstore == 2) { | |
3241 | - th.setData({ | |
3242 | - openSpecModal: !0, | |
3243 | - openSpecModal_ind: openindstore, | |
3244 | - }); | |
3245 | - } | |
3246 | - else if (openindstore == 4) { //4就是拼团 | |
3247 | - th.setData({ | |
3248 | - openSpecModal_pt: 1, //打开拼团购买界面 | |
3249 | - store: 0, //关闭门店 | |
3250 | - choice_sort_store: 0, //关闭门店2级 | |
3251 | - sort_store: 0, //关闭门店2级 | |
3252 | - }); | |
3253 | - } | |
3254 | - | |
3255 | - else { | |
3256 | - th.setData({ | |
3257 | - store: 0, | |
3258 | - choice_sort_store: 0, | |
3259 | - sort_store: 0 | |
3260 | - }) | |
3261 | - } | |
3262 | - | |
3703 | + | |
3704 | + //--回调函数的用法-- | |
3705 | + th.check_the_pick(item,function(){ | |
3706 | + th.setData({ | |
3707 | + def_pick_store: item, | |
3708 | + sto_sele_name: item.pickup_name, | |
3709 | + sto_sele_id: item.pickup_id, | |
3710 | + sto_sele_distr: item.distr_type, | |
3711 | + store: 0, | |
3712 | + choice_sort_store: 0, | |
3713 | + fir_pick_index: 0 | |
3714 | + }); | |
3715 | + | |
3716 | + if (openindstore == 1) { | |
3717 | + th.setData({ | |
3718 | + openSpecModal: !0, | |
3719 | + openSpecModal_ind: openindstore, | |
3720 | + }); | |
3721 | + } else if (openindstore == 2) { | |
3722 | + th.setData({ | |
3723 | + openSpecModal: !0, | |
3724 | + openSpecModal_ind: openindstore, | |
3725 | + }); | |
3726 | + } | |
3727 | + else if (openindstore == 4) { //4就是拼团 | |
3728 | + th.setData({ | |
3729 | + openSpecModal_pt: 1, //打开拼团购买界面 | |
3730 | + store: 0, //关闭门店 | |
3731 | + choice_sort_store: 0, //关闭门店2级 | |
3732 | + sort_store: 0, //关闭门店2级 | |
3733 | + }); | |
3734 | + } | |
3735 | + else { | |
3736 | + th.setData({ | |
3737 | + store: 0, | |
3738 | + choice_sort_store: 0, | |
3739 | + sort_store: 0 | |
3740 | + }) | |
3741 | + } | |
3742 | + }) | |
3263 | 3743 | }, |
3264 | 3744 | //---点击二级之后的选择--- |
3265 | 3745 | choose_for_store: function(e) { |
3266 | 3746 | var index_c = e.currentTarget.dataset.ind; |
3267 | - | |
3268 | - this.setData({ | |
3269 | - sec_pick_index: index_c, | |
3270 | - fir_pick_index: index_c | |
3271 | - }) | |
3747 | + var th=this; | |
3748 | + th.setData({ | |
3749 | + sec_pick_index: index_c, | |
3750 | + fir_pick_index: index_c | |
3751 | + }) | |
3752 | + | |
3272 | 3753 | }, |
3273 | 3754 | //把选择的门店设置成默认的门店def_pick |
3274 | 3755 | set_def_pick: function(e) { |
3275 | 3756 | var th = this; |
3276 | 3757 | var item = null; |
3277 | - | |
3278 | 3758 | if (th.data.choice_sort_store == 0) { |
3279 | - | |
3280 | 3759 | var index = th.data.fir_pick_index; |
3281 | - | |
3282 | 3760 | if (th.data.is_show_sto_cat == 1) { |
3283 | 3761 | item = th.data.def_pickpu_list[index]; |
3284 | 3762 | } else { |
3285 | 3763 | item = th.data.only_pk[index]; //当没有门店分类的时候 |
3286 | - | |
3287 | 3764 | } |
3288 | 3765 | } else { |
3289 | 3766 | var index = th.data.sec_pick_index; |
3290 | 3767 | item = th.data.sec_sto.s_arr[index]; |
3291 | 3768 | } |
3292 | - | |
3293 | - var store_id = o.stoid; | |
3294 | - var user_id = getApp().globalData.user_id; | |
3295 | - var def_pickup_id = item.pickup_id; | |
3296 | - | |
3297 | - getApp().request.put('/api/weshop/users/update', { | |
3298 | - data: { | |
3299 | - user_id, | |
3300 | - def_pickup_id | |
3301 | - }, | |
3302 | - success: function(res) { | |
3303 | - if (res.data.code == 0) { | |
3304 | - if (th.data.choice_sort_store == 0) th.setData({ | |
3305 | - fir_pick_index: 0 | |
3306 | - }); | |
3307 | - getApp().globalData.pk_store = item; | |
3308 | - } else { | |
3309 | - //s.showWarning("设置默认门店地址失败", null, 500, !1); | |
3310 | - getApp().my_warnning("设置默认门店地址失败",0,th) | |
3311 | - } | |
3312 | - | |
3313 | - } | |
3314 | - }); | |
3315 | - | |
3316 | - th.setData({ | |
3317 | - def_pick_store: item, | |
3318 | - sto_sele_name: item.pickup_name, | |
3319 | - sto_sele_id: item.pickup_id, | |
3320 | - sto_sele_distr: item.distr_type, | |
3321 | - store: 0, | |
3322 | - choice_sort_store: 0 | |
3323 | - }); | |
3324 | - | |
3325 | - | |
3326 | - var openindstore = th.data.open_ind_store; | |
3327 | - if (openindstore == 1) { | |
3328 | - th.setData({ | |
3329 | - openSpecModal: !0, | |
3330 | - openSpecModal_ind: openindstore, | |
3331 | - store: 0, | |
3332 | - choice_sort_store: 0, | |
3333 | - sort_store: 0, | |
3334 | - }); | |
3335 | - } else if (openindstore == 2) { | |
3336 | - th.setData({ | |
3337 | - openSpecModal: !0, | |
3338 | - openSpecModal_ind: openindstore, | |
3339 | - store: 0, | |
3340 | - choice_sort_store: 0, | |
3341 | - sort_store: 0, | |
3342 | - }); | |
3343 | - } | |
3344 | - else if (openindstore == 4) { //4就是拼团 | |
3345 | - th.setData({ | |
3346 | - openSpecModal_pt: 1, //打开拼团购买界面 | |
3347 | - store: 0, //关闭门店 | |
3348 | - choice_sort_store: 0, //关闭门店2级 | |
3349 | - sort_store: 0, //关闭门店2级 | |
3350 | - }); | |
3351 | - } | |
3352 | - | |
3353 | - else { | |
3354 | - th.setData({ | |
3355 | - store: 0, | |
3356 | - choice_sort_store: 0, | |
3357 | - sort_store: 0, | |
3358 | - }) | |
3359 | - } | |
3360 | - | |
3769 | + | |
3770 | + //先设置之前,要判断是不是有库存 | |
3771 | + th.check_the_pick(item,function(){ | |
3772 | + var store_id = o.stoid; | |
3773 | + var user_id = getApp().globalData.user_id; | |
3774 | + var def_pickup_id = item.pickup_id; | |
3775 | + | |
3776 | + getApp().request.put('/api/weshop/users/update', { | |
3777 | + data: { | |
3778 | + user_id, | |
3779 | + def_pickup_id | |
3780 | + }, | |
3781 | + success: function(res) { | |
3782 | + if (res.data.code == 0) { | |
3783 | + if (th.data.choice_sort_store == 0) th.setData({ | |
3784 | + fir_pick_index: 0 | |
3785 | + }); | |
3786 | + getApp().globalData.pk_store = item; | |
3787 | + } else { | |
3788 | + //s.showWarning("设置默认门店地址失败", null, 500, !1); | |
3789 | + getApp().my_warnning("设置默认门店地址失败",0,th) | |
3790 | + } | |
3791 | + | |
3792 | + } | |
3793 | + }); | |
3794 | + | |
3795 | + th.setData({ | |
3796 | + def_pick_store: item, | |
3797 | + sto_sele_name: item.pickup_name, | |
3798 | + sto_sele_id: item.pickup_id, | |
3799 | + sto_sele_distr: item.distr_type, | |
3800 | + store: 0, | |
3801 | + choice_sort_store: 0 | |
3802 | + }); | |
3803 | + | |
3804 | + var openindstore = th.data.open_ind_store; | |
3805 | + if (openindstore == 1) { | |
3806 | + th.setData({ | |
3807 | + openSpecModal: !0, | |
3808 | + openSpecModal_ind: openindstore, | |
3809 | + store: 0, | |
3810 | + choice_sort_store: 0, | |
3811 | + sort_store: 0, | |
3812 | + }); | |
3813 | + } else if (openindstore == 2) { | |
3814 | + th.setData({ | |
3815 | + openSpecModal: !0, | |
3816 | + openSpecModal_ind: openindstore, | |
3817 | + store: 0, | |
3818 | + choice_sort_store: 0, | |
3819 | + sort_store: 0, | |
3820 | + }); | |
3821 | + } | |
3822 | + else if (openindstore == 4) { //4就是拼团 | |
3823 | + th.setData({ | |
3824 | + openSpecModal_pt: 1, //打开拼团购买界面 | |
3825 | + store: 0, //关闭门店 | |
3826 | + choice_sort_store: 0, //关闭门店2级 | |
3827 | + sort_store: 0, //关闭门店2级 | |
3828 | + }); | |
3829 | + } | |
3830 | + | |
3831 | + else { | |
3832 | + th.setData({ | |
3833 | + store: 0, | |
3834 | + choice_sort_store: 0, | |
3835 | + sort_store: 0, | |
3836 | + }) | |
3837 | + } | |
3838 | + }) | |
3361 | 3839 | }, |
3362 | 3840 | |
3363 | 3841 | wait_for_store_config: function() { |
... | ... | @@ -3453,7 +3931,19 @@ Page({ |
3453 | 3931 | }, |
3454 | 3932 | go_card_info:function(){ |
3455 | 3933 | getApp().goto("/pages/user/cardinfo/cardinfo"); |
3934 | + }, | |
3935 | + //-- 根据ID拿出门店 -- | |
3936 | + get_pick_from_list(pid){ | |
3937 | + var all_pick_list=this.data.all_pick_list; | |
3938 | + for(var i in all_pick_list){ | |
3939 | + var item=all_pick_list[i]; | |
3940 | + if(item.pickup_id==pid){ | |
3941 | + return item; | |
3942 | + } | |
3943 | + } | |
3456 | 3944 | } |
3945 | + | |
3946 | + | |
3457 | 3947 | |
3458 | 3948 | |
3459 | 3949 | }); | ... | ... |
pages/goods/goodsInfo/goodsInfo.wxml
... | ... | @@ -94,7 +94,7 @@ |
94 | 94 | <view class="word-line fs20 xc-qtunit-price">零售价¥{{data.market_price}}</view> |
95 | 95 | </view> |
96 | 96 | <view class="abs white xc-nanber"> |
97 | - <text class="fs22">已拼{{prom_act.buy_num}}份</text> | |
97 | + <text class="fs22">已拼{{prom_act.buy_num}}件</text> | |
98 | 98 | <view class="flex" style='margin-top:-34rpx'> |
99 | 99 | <view class="xc-people-img"> |
100 | 100 | <image class="imgs" src="{{prom_st==1? iurl+'/miniapp/images/r_logo_red.png':iurl+'/miniapp/images/r_logo.png'}}"></image> |
... | ... | @@ -404,7 +404,15 @@ |
404 | 404 | 距离:{{def_pick_store.distance>1000?filters.toFix(def_pick_store.distance/1000,2)+"km":filters.toFix(def_pick_store.distance,0)+"m"}} |
405 | 405 | |
406 | 406 | </view> |
407 | - </view> | |
407 | + </view> | |
408 | + <view class="no_store" wx:if="{{only_pk && !only_pk.length}}">(库存不足)</view> | |
409 | + <block wx:else> | |
410 | + <view class="no_store" wx:if="{{def_pickpu_list && !def_pickpu_list.length}}">(库存不足)</view> | |
411 | + <block wx:else> | |
412 | + <view class="no_store" wx:if="{{def_pick_store && !def_pick_store.CanOutQty && sales_rules==2 && prom_type==0}}">(库存不足)</view> | |
413 | + </block> | |
414 | + </block> | |
415 | + | |
408 | 416 | <view class="fs24 xc-ash-9f">地址:{{def_pick_store.fulladdress}}</view> |
409 | 417 | </view> |
410 | 418 | </view> |
... | ... | @@ -733,10 +741,16 @@ |
733 | 741 | |
734 | 742 | <!-------------------底部按钮--------------------> |
735 | 743 | <view class="join-cart"> |
736 | - <view bindtap="contactService" class="custom-service cart-ico new_split"> | |
744 | + <!-- bindtap="contactService" --> | |
745 | + <button wx:if="{{sys_switch.weapp_customertype}}" class="custom-service cart-ico new_split" open-type="contact" session-from="wechat|{{userInfo.user_id}}|{{userInfo.nickname}}|{{userInfo.head_pic}}"> | |
737 | 746 | <image class="cs-img" src="{{iurl}}/miniapp/images/custom-service.png"></image> |
738 | 747 | <view>客服</view> |
739 | - </view> | |
748 | + </button> | |
749 | + <view wx:else class="custom-service cart-ico new_split" bindtap="contactService"> | |
750 | + <image class="cs-img" src="{{iurl}}/miniapp/images/custom-service.png"></image> | |
751 | + <view>客服</view> | |
752 | + </view> | |
753 | + | |
740 | 754 | <view bindtap="collectGoods" class="custom-service cart-ico new_split"> |
741 | 755 | <image hidden="{{is_collect}}" class="cs-img" src="{{iurl}}/miniapp/images/heart.png"></image> |
742 | 756 | <image hidden="{{!is_collect}}" class="cs-img" src="{{iurl}}/miniapp/images/heart-h.png"></image> |
... | ... | @@ -751,18 +765,17 @@ |
751 | 765 | </view> |
752 | 766 | <view bindtap="openSpecModel" class="buy-btn cart-btn cart-btn-lg" wx:if="{{data.goods.is_virtual}}">立即购买</view> |
753 | 767 | |
754 | - <!---- 普通商品购买 -----> | |
768 | + <!-- 普通商品购买 --> | |
755 | 769 | <block wx:if="{{prom_type==0 || prom_type==2 || prom_type==3 || prom_type==4}}"> |
756 | 770 | |
757 | - <block wx:if="{{sele_g.store_count>0}}"> | |
771 | + <!-- 线上销售的时候,要判断库存量, 线下库存的时候不用判断 --> | |
772 | + <block wx:if="{{(sele_g.store_count>0 && sales_rules==1) || sales_rules==2 }}"> | |
758 | 773 | <view bindtap="openSpecModel" data-ind="1" class="join-btn cart-btn">加入购物车</view> |
759 | 774 | <view bindtap="openSpecModel" data-ind="2" class="buy-btn cart-btn">立即购买</view> |
760 | 775 | </block> |
761 | - <block wx:else> | |
762 | - <view class="is_stock cart-btn is_stock xc-ash-b " style="width:55.5%"> | |
763 | - 库存不足 | |
764 | - </view> | |
765 | - </block> | |
776 | + <block wx:else> | |
777 | + <view class="is_stock cart-btn is_stock xc-ash-b " style="width:55.5%">库存不足</view> | |
778 | + </block> | |
766 | 779 | |
767 | 780 | </block> |
768 | 781 | |
... | ... | @@ -862,7 +875,13 @@ |
862 | 875 | <block wx:if="{{prom_type==0}}"> |
863 | 876 | <view class="flex"> |
864 | 877 | <view class="spec-goods-stock">已售:{{sele_g.sales_sum}}</view> |
865 | - <view class="spec-goods-stock">可售:{{sele_g.store_count}}</view> | |
878 | + <block wx:if="{{sales_rules==2}}"> | |
879 | + <view class="spec-goods-stock" wx:if="{{def_pick_store && def_pick_store.CanOutQty}}">可售:{{def_pick_store.CanOutQty}}</view> | |
880 | + <view class="spec-goods-stock" wx:else>可售:0</view> | |
881 | + </block> | |
882 | + <block wx:else> | |
883 | + <view class="spec-goods-stock">可售:{{sele_g.store_count}}</view> | |
884 | + </block> | |
866 | 885 | |
867 | 886 | </view> |
868 | 887 | </block> |
... | ... | @@ -872,7 +891,7 @@ |
872 | 891 | <view class="spec-goods-stock" wx:else >已售:{{prom_act.buy_num}}</view> |
873 | 892 | <view class="spec-goods-stock">可售:{{prom_act.goods_num-prom_act.buy_num}}</view> |
874 | 893 | |
875 | - | |
894 | + | |
876 | 895 | </view> |
877 | 896 | </block> |
878 | 897 | </view> |
... | ... | @@ -889,23 +908,31 @@ |
889 | 908 | </view> |
890 | 909 | |
891 | 910 | <!-- 没有门店的时候 --> |
892 | - <view class="flex" bindtap="choice_store"wx:else> | |
893 | - <image class="stores-img" src="{{iurl}}/miniapp/images/stores.png"></image> | |
894 | - <view class="fs28 xc-ash-9f">选择门店</view> | |
911 | + <view class="flex" bindtap="choice_store" wx:else> | |
912 | + <image class="stores-img" src="{{iurl}}/miniapp/images/stores.png"></image> | |
913 | + <view class="fs28 xc-ash-9f">选择门店</view> | |
895 | 914 | </view> |
896 | 915 | |
897 | 916 | <view class="red-co fs28" bindtap="choice_store" > |
898 | 917 | 更多门店 |
899 | 918 | <text class="right-arrow"></text> |
900 | 919 | </view> |
901 | - </view> | |
902 | - <view class="fs24 xc-ash-9f xc-distance-top "wx:if="{{def_pick_store}}">地址:{{def_pick_store.fulladdress}}</view> | |
920 | + </view> | |
921 | + <view wx:if="{{only_pk && !only_pk.length}}">(库存不足)</view> | |
922 | + <block wx:else> | |
923 | + <view wx:if="{{def_pickpu_list && !def_pickpu_list.length}}">(库存不足)</view> | |
924 | + <block wx:else> | |
925 | + <view wx:if="{{def_pick_store && !def_pick_store.CanOutQty && sales_rules==2 && prom_type==0}}">(库存不足)</view> | |
926 | + </block> | |
927 | + </block> | |
928 | + | |
929 | + <view class="fs24 xc-ash-9f xc-distance-top "wx:if="{{def_pick_store}}">地址:{{def_pick_store.fulladdress}}</view> | |
903 | 930 | </view> |
904 | 931 | |
905 | 932 | <!----商品的属性项目----> |
906 | 933 | <view class="xc-goods-attribute"> |
907 | 934 | <view hidden="{{ismend==1}}" class="spec-name">商品属性</view> |
908 | - <view hidden="{{ismend==1}}" class="flex"> | |
935 | + <view hidden="{{ismend==1}}" style="max-height: 120rpx;overflow-y: auto;"> | |
909 | 936 | <view class="spec_bt {{gid==item.goods_id?'act':''}}" bindtap="sele_spec" data-gid='{{item.goods_id}}' wx:for="{{sku_g}}" wx:key="sku_g"> |
910 | 937 | {{item.gg}} |
911 | 938 | </view> |
... | ... | @@ -922,12 +949,57 @@ |
922 | 949 | </view> |
923 | 950 | </view> |
924 | 951 | </view> |
925 | - <view class="spec-cart-btns"> | |
926 | - | |
927 | - | |
928 | - <view wx:if="{{openSpecModal_ind==1}}" bindtap="addCart"data-openSpecModal_ind="{{openSpecModal_ind}}" class="spec-cart-btn yellow fs32" data-action="add">加入购物车</view> | |
929 | - <view wx:if="{{openSpecModal_ind==2}}" bindtap="addCart"data-openSpecModal_ind="{{openSpecModal_ind}}" class="spec-cart-btn spec-buy" data-action="buy">立即购买</view> | |
930 | - | |
952 | + <view class="spec-cart-btns"> | |
953 | + <!-- 根本就找不到门店 --> | |
954 | + <block wx:if="{{!only_pk && !def_pickpu_list}}"> | |
955 | + <view class="spec-cart-btn fs32" data-action="add" style="background-color: #dcdcdc;color: #999;">库存不足</view> | |
956 | + </block> | |
957 | + <block wx:else> | |
958 | + | |
959 | + | |
960 | + <block wx:if="{{only_pk.length && !only_pk.length}}"> | |
961 | + <view class="spec-cart-btn fs32" data-action="add" style="background-color: #dcdcdc;color: #999;">库存不足</view> | |
962 | + </block> | |
963 | + <block wx:else> | |
964 | + <block wx:if="{{def_pickpu_list && !def_pickpu_list.length}}"> | |
965 | + <view class="spec-cart-btn fs32" data-action="add" style="background-color: #dcdcdc;color: #999">库存不足</view> | |
966 | + </block> | |
967 | + <block wx:else> | |
968 | + <block wx:if="{{!def_pick_store}}"> | |
969 | + <view class="spec-cart-btn fs32" data-action="add" style="background-color: #dcdcdc;color: #999">请先选择门店</view> | |
970 | + </block> | |
971 | + <block wx:else> | |
972 | + <!-- 如果是线下库存购买的时候,且是普通商品购买的时候 --> | |
973 | + <block wx:if="{{sales_rules==2 && prom_type==0}}"> | |
974 | + <block wx:if="{{!def_pick_store.CanOutQty}}"> | |
975 | + <view class="spec-cart-btn fs32" data-action="add" style="background-color: #dcdcdc;color: #999">库存不足</view> | |
976 | + </block> | |
977 | + <block wx:else> | |
978 | + <view wx:if="{{openSpecModal_ind==1}}" bindtap="addCart"data-openSpecModal_ind="{{openSpecModal_ind}}" | |
979 | + class="spec-cart-btn yellow fs32" data-action="add">加入购物车</view> | |
980 | + <view wx:if="{{openSpecModal_ind==2}}" bindtap="addCart"data-openSpecModal_ind="{{openSpecModal_ind}}" | |
981 | + class="spec-cart-btn spec-buy" data-action="buy">立即购买</view> | |
982 | + </block> | |
983 | + </block> | |
984 | + <!-- 线上销售 --> | |
985 | + <block wx:else> | |
986 | + <block wx:if="{{sele_g.store_count<=0}}"> | |
987 | + <view class="spec-cart-btn fs32" data-action="add" style="background-color: #dcdcdc;color: #999">库存不足</view> | |
988 | + </block> | |
989 | + <block wx:else> | |
990 | + <view wx:if="{{openSpecModal_ind==1}}" bindtap="addCart"data-openSpecModal_ind="{{openSpecModal_ind}}" | |
991 | + class="spec-cart-btn yellow fs32" data-action="add">加入购物车</view> | |
992 | + <view wx:if="{{openSpecModal_ind==2}}" bindtap="addCart"data-openSpecModal_ind="{{openSpecModal_ind}}" | |
993 | + class="spec-cart-btn spec-buy" data-action="buy">立即购买</view> | |
994 | + </block> | |
995 | + </block> | |
996 | + </block> | |
997 | + </block> | |
998 | + </block> | |
999 | + | |
1000 | + | |
1001 | + </block> | |
1002 | + | |
931 | 1003 | </view> |
932 | 1004 | |
933 | 1005 | <view class="clear"></view> |
... | ... | @@ -1062,7 +1134,7 @@ |
1062 | 1134 | <view>购买数量</view> |
1063 | 1135 | <view class="count"> |
1064 | 1136 | <view bindtap="subCartNum" class="sub">-</view> |
1065 | - <input bindblur="inputCartNum xc-val-fream" type="number" value="{{goodsInputNum}}"></input> | |
1137 | + <input bindblur="inputCartNum" class="xc-val-fream" type="number" value="{{goodsInputNum}}"></input> | |
1066 | 1138 | <view bindtap="addCartNum" class="add">+</view> |
1067 | 1139 | </view> |
1068 | 1140 | </view> |
... | ... | @@ -1281,7 +1353,8 @@ |
1281 | 1353 | <view class="fs28 xc-black3 address_name">{{item.pickup_name}}</view> |
1282 | 1354 | </view> |
1283 | 1355 | <view> |
1284 | - <view class="distance fs24 address-val"wx:if="{{item.distance!=null}}"> 距离:{{item.distance>1000?filters.toFix(item.distance/1000,2)+"km":filters.toFix(item.distance,0)+"m"}}</view> | |
1356 | + <view class="distance fs24 address-val"wx:if="{{item.distance!=null}}"> | |
1357 | + 距离:{{item.distance>1000?filters.toFix(item.distance/1000,2)+"km":filters.toFix(item.distance,0)+"m"}}</view> | |
1285 | 1358 | </view> |
1286 | 1359 | </view> |
1287 | 1360 | <view class="fs24 xc-ash-9f">地址:{{item.fulladdress}}</view> | ... | ... |
pages/goods/goodsInfo/goodsInfo.wxss
... | ... | @@ -599,7 +599,8 @@ border-radius: 0 56rpx 55rpx 0; |
599 | 599 | text-align: center; |
600 | 600 | } |
601 | 601 | .spec_bt{ |
602 | - background: fff;color: #333; margin-left: 10rpx;padding: 4rpx 15rpx 4rpx; border-radius:30rpx;font-size: 24rpx;border: 1rpx solid #ccc; | |
602 | + background: fff;color: #333; margin-left: 10rpx;padding: 4rpx 15rpx 4rpx; display: inline-block; | |
603 | + border-radius:30rpx;font-size: 24rpx;border: 1rpx solid #ccc; margin: 10rpx; height: 40rpx; line-height: 40rpx; | |
603 | 604 | } |
604 | 605 | .spec_bt.act{background: #d60021;color: #fff;border: 1rpx solid #d60021;} |
605 | 606 | .sub { |
... | ... | @@ -2253,7 +2254,7 @@ right:17rpx; top:55rpx; |
2253 | 2254 | height: 90rpx; |
2254 | 2255 | } |
2255 | 2256 | .sn_height{ |
2256 | - height: 170rpx; | |
2257 | + min-height: 170rpx; height: auto;padding: 10rpx 0; | |
2257 | 2258 | } |
2258 | 2259 | .xc-address_frame .address_frame{ |
2259 | 2260 | width: 92%; |
... | ... | @@ -2560,4 +2561,10 @@ border-radius: 55rpx; |
2560 | 2561 | .carde_frame{ |
2561 | 2562 | height: 50rpx; |
2562 | 2563 | line-height: 18rpx |
2563 | -} | |
2564 | 2564 | \ No newline at end of file |
2565 | +} | |
2566 | + | |
2567 | +button.custom-service { line-height: normal; border: 0;} | |
2568 | +button.custom-service::after{ | |
2569 | + border: 0; | |
2570 | +} | |
2571 | +.no_store{color:#d60021; font-size: 26rpx;} | |
2565 | 2572 | \ No newline at end of file | ... | ... |
pages/goods/goodsList/goodsList.js
... | ... | @@ -97,10 +97,15 @@ Page({ |
97 | 97 | }, |
98 | 98 | requestGoodsList: function(t) { |
99 | 99 | var e = this; |
100 | - this.data.requestUrl = t, | |
101 | - t += "&orderField=" + e.data.tabname; | |
102 | - t += "&orderType=" + e.data.adname; | |
103 | - t +="&page=" + e.data.currentPage, | |
100 | + this.data.requestUrl = t; | |
101 | + | |
102 | + //不是商品分组的,不是默认排序的 | |
103 | + if(t.indexOf("group_id")==-1 || e.data.tabname!="goods_id" ){ | |
104 | + t += "&orderField=" + e.data.tabname; | |
105 | + t += "&orderType=" + e.data.adname; | |
106 | + } | |
107 | + | |
108 | + t +="&page=" + e.data.currentPage; | |
104 | 109 | a.request(t, |
105 | 110 | function(t) { |
106 | 111 | e.setData({is_go:1}); | ... | ... |
pages/index/index/index.js
... | ... | @@ -149,7 +149,8 @@ Page({ |
149 | 149 | data: { |
150 | 150 | store_id: os.stoid, |
151 | 151 | pageSize: 5, |
152 | - is_show: 1 | |
152 | + is_show: 1, | |
153 | + level:1 | |
153 | 154 | } |
154 | 155 | }).then(res => { |
155 | 156 | if (res.data.data) { |
... | ... | @@ -181,7 +182,7 @@ Page({ |
181 | 182 | //读取全局是否有弄自定义模板 |
182 | 183 | await api.get_template_fir(o.stoid).then(res => { |
183 | 184 | var data = res.data.data; |
184 | - if (data.length > 0) { | |
185 | + if (data && data.length > 0) { | |
185 | 186 | var temp_data = data[0]; |
186 | 187 | var t_arr = JSON.parse(temp_data.json_str); |
187 | 188 | th.setData({ | ... | ... |
pages/user/address_list/address_list.js
... | ... | @@ -154,5 +154,59 @@ Page({ |
154 | 154 | |
155 | 155 | |
156 | 156 | |
157 | - } | |
157 | + } , | |
158 | + | |
159 | + //获取微信地址 | |
160 | + get_wx:function(){ | |
161 | + var th=this; | |
162 | + wx.getSetting({ | |
163 | + success(res) { | |
164 | + console.log("vres.authSetting['scope.address']:", res.authSetting['scope.address']) | |
165 | + if (res.authSetting['scope.address']) { | |
166 | + wx.chooseAddress({ | |
167 | + success(res) { | |
168 | + th.save_wx_addr(res); | |
169 | + } | |
170 | + }) | |
171 | + | |
172 | + } else { | |
173 | + if (res.authSetting['scope.address'] == false) { | |
174 | + console.log("222") | |
175 | + wx.openSetting({ | |
176 | + success(res) {} | |
177 | + }) | |
178 | + } else { | |
179 | + | |
180 | + wx.chooseAddress({ | |
181 | + success(res) { | |
182 | + th.save_wx_addr(res); | |
183 | + } | |
184 | + }) | |
185 | + } | |
186 | + } | |
187 | + } | |
188 | + }) | |
189 | + }, | |
190 | + | |
191 | + save_wx_addr:function (res) { | |
192 | + var pd={},th=this; | |
193 | + pd.store_id=os.stoid; | |
194 | + pd.user_id=getApp().globalData.user_id; | |
195 | + pd.userName=res.userName; | |
196 | + pd.provinceName=res.provinceName; | |
197 | + pd.countryName=res.countyName; | |
198 | + pd.cityName=res.cityName; | |
199 | + pd.detailInfo=res.detailInfo; | |
200 | + pd.postalCode=res.postalCode; | |
201 | + pd.telNumber=res.telNumber; | |
202 | + getApp().request.promisePost("/api/weshop/useraddress/saveWx",{data:pd}).then(res=>{ | |
203 | + if(res.data.code==0){ | |
204 | + getApp().my_warnning("保存成功",1,th); | |
205 | + setTimeout(function () { | |
206 | + th.onShow(); | |
207 | + },1000) | |
208 | + } | |
209 | + }) | |
210 | + | |
211 | + } | |
158 | 212 | }); |
159 | 213 | \ No newline at end of file | ... | ... |
pages/user/address_list/address_list.json
pages/user/address_list/address_list.wxml
... | ... | @@ -28,8 +28,19 @@ |
28 | 28 | <view>暂无收货地址</view> |
29 | 29 | </view> |
30 | 30 | |
31 | - <view class="address flex-level"> | |
32 | - <navigator bindtap="go_url" data-url="/pages/user/add_address/add_address">添加收货地址</navigator> | |
31 | + <view class="address flex jc_sb" style="width:76%; margin-left:12%"> | |
32 | + | |
33 | + <navigator bindtap="get_wx" class="ye"> | |
34 | + <view class="add">+</view> | |
35 | + <view class="addAddress">获取微信地址</view> | |
36 | + </navigator> | |
37 | + | |
38 | + <navigator bindtap="go_url" data-url="/pages/user/add_address/add_address"> | |
39 | + <view class="add">+</view> | |
40 | + <view class="addAddress">新建收货地址</view> | |
41 | + </navigator> | |
42 | + | |
43 | + | |
33 | 44 | </view> |
34 | 45 | </view> |
35 | 46 | |
... | ... | @@ -69,12 +80,17 @@ |
69 | 80 | |
70 | 81 | </view> |
71 | 82 | |
72 | - <!-- 新建收货地址 --> | |
73 | - <view class="new"> | |
74 | - <navigator bindtap="go_url" data-url="/pages/user/add_address/add_address"> | |
75 | - <view class="add">+</view> | |
76 | - <view class="addAddress">新建收货地址</view> | |
77 | - </navigator> | |
78 | - </view> | |
79 | - | |
80 | -</view> | |
81 | 83 | \ No newline at end of file |
84 | + <!-- 新建收货地址 --> | |
85 | + <view class="new flex jc_sb"> | |
86 | + <navigator bindtap="get_wx" class="ye"> | |
87 | + <view class="add">+</view> | |
88 | + <view class="addAddress">获取微信地址</view> | |
89 | + </navigator> | |
90 | + | |
91 | + <navigator bindtap="go_url" data-url="/pages/user/add_address/add_address"> | |
92 | + <view class="add">+</view> | |
93 | + <view class="addAddress">新建收货地址</view> | |
94 | + </navigator> | |
95 | + </view> | |
96 | +</view> | |
97 | +<warn id="warn"></warn> | |
82 | 98 | \ No newline at end of file | ... | ... |
pages/user/address_list/address_list.wxss
... | ... | @@ -213,14 +213,14 @@ page { |
213 | 213 | } |
214 | 214 | |
215 | 215 | .container .new { |
216 | - width: 100%; | |
216 | + width: 86%; | |
217 | 217 | display: flex; |
218 | - justify-content: center; | |
219 | 218 | position: fixed; |
220 | 219 | bottom: 0rpx; |
221 | 220 | height: 204rpx; |
222 | 221 | align-items: center; |
223 | 222 | background-color: rgb(255, 255, 255); |
223 | + margin-left:7% | |
224 | 224 | } |
225 | 225 | |
226 | 226 | .container .new .add { |
... | ... | @@ -229,7 +229,7 @@ page { |
229 | 229 | |
230 | 230 | .container navigator { |
231 | 231 | display: flex; |
232 | - width: 430rpx; | |
232 | + width: 300rpx; | |
233 | 233 | height: 62rpx; |
234 | 234 | background-color: rgb(239, 22, 51); |
235 | 235 | border-radius: 40rpx; |
... | ... | @@ -238,3 +238,10 @@ page { |
238 | 238 | color: rgb(255, 255, 255); |
239 | 239 | font-size: 27rpx; |
240 | 240 | } |
241 | + | |
242 | +.container navigator.ye{ | |
243 | + background-color: #fc872d; | |
244 | +} | |
245 | +.nothing .address navigator.ye{ | |
246 | + background-color: #fc872d; | |
247 | +} | ... | ... |
pages/user/order_detail/order_detail.js
1 | 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 | 2 | var regeneratorRuntime = require('../../../utils/runtime.js'); |
3 | +var ut= require('../../../utils/util.js'); | |
4 | + | |
3 | 5 | |
4 | 6 | Page({ |
5 | 7 | data: { |
... | ... | @@ -270,10 +272,206 @@ Page({ |
270 | 272 | }, |
271 | 273 | |
272 | 274 | //--------立即支付---------- |
273 | - jumpToCart4: function(e) { | |
274 | - this.data.optionIsGoup ? wx.navigateTo({ | |
275 | - url: "/pages/team/team_confirm/team_confirm?orderSn=" + this.data.order.order_sn + "&orderPay=true" | |
276 | - }) : o.jumpToCart4({ | |
275 | + async jumpToCart4(e) { | |
276 | + var th=this; | |
277 | + if(this.data.optionIsGoup) | |
278 | + wx.navigateTo({ | |
279 | + url: "/pages/team/team_confirm/team_confirm?orderSn=" + this.data.order.order_sn + "&orderPay=true" | |
280 | + }) | |
281 | + var order=this.data.order; | |
282 | + var order_goods=order.order_goods; | |
283 | + | |
284 | + for(var i in order_goods){ | |
285 | + var good=order_goods[i]; | |
286 | + //如果不是小程序有的功能,直接提示要去3.0处理 | |
287 | + if(good.prom_type==2 || good.prom_type==3 || good.prom_type==4 || good.prom_type==5){ | |
288 | + wx.showModal({ | |
289 | + title: '提示', | |
290 | + content: '小程序还未有该活动,请到3.0公众号支付' | |
291 | + }); | |
292 | + return false; | |
293 | + } | |
294 | + | |
295 | + //要每件每件的商品进行检查,看有么有超出库存,超出限购 | |
296 | + var good= order_goods[i],goodsbuynum=0,promgoodsbuynum=0,gg=null; | |
297 | + //获取单品的现在的活动状态 | |
298 | + await getApp().request.promiseGet("/api/weshop/goods/get/" + os.stoid + "/" + good.goods_id, { | |
299 | + }).then(res=>{ | |
300 | + gg=res.data.data; | |
301 | + }) | |
302 | + var limit = gg.viplimited; | |
303 | + var store_count = gg.store_count; | |
304 | + | |
305 | + //---要获得商品,该用户买了多少件,同步应用--- | |
306 | + await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", { | |
307 | + data: { | |
308 | + store_id: os.stoid, | |
309 | + user_id: getApp().globalData.user_id, | |
310 | + goods_id: good.goods_id, | |
311 | + prom_type: good.prom_type, | |
312 | + prom_id: good.prom_id | |
313 | + }, | |
314 | + }).then(res => { | |
315 | + var buy_num_data = res.data.data; | |
316 | + if (buy_num_data.promgoodsbuynum) promgoodsbuynum = buy_num_data.promgoodsbuynum; | |
317 | + goodsbuynum = buy_num_data.goodsbuynum; | |
318 | + }) | |
319 | + | |
320 | + var buyed_mum2=goodsbuynum+good.goods_num; | |
321 | + if (buyed_mum2 > limit && limit > 0) { | |
322 | + wx.showModal({ | |
323 | + title: '提示', | |
324 | + content: gg.goods_name+'购买数量超出商品限购' | |
325 | + }); | |
326 | + return false; | |
327 | + } | |
328 | + | |
329 | + if(good.prom_type==1 || good.prom_type==6){ | |
330 | + if(gg.prom_type!=good.prom_type) { | |
331 | + wx.showModal({ | |
332 | + title: '提示', | |
333 | + content: gg.goods_name+'商品的活动发生了变化' | |
334 | + }); | |
335 | + return false; | |
336 | + } | |
337 | + | |
338 | + }else{ | |
339 | + | |
340 | + if(gg.prom_type==1 || gg.prom_type==6){ | |
341 | + var prom=null; | |
342 | + //---如果是活动的时候--- | |
343 | + var prom=null,th=this; | |
344 | + if(gg.prom_type==1){ | |
345 | + await getApp().request.promiseGet("/api/ms/flash_sale/get/"+os.stoid+"/"+gg.prom_id,{ | |
346 | + }).then(res=>{ | |
347 | + if(res.data.code==0){ | |
348 | + prom=res.data.data; | |
349 | + } | |
350 | + }) | |
351 | + } | |
352 | + if(gg.prom_type==6){ | |
353 | + await getApp().request.promiseGet("/api/weshop/teamlist/get/"+os.stoid+"/"+gg.prom_id,{ | |
354 | + }).then(res=>{ | |
355 | + if(res.data.code==0){ | |
356 | + prom=res.data.data; | |
357 | + } | |
358 | + }) | |
359 | + } | |
360 | + | |
361 | + if(prom){ | |
362 | + var t_now=ut.gettimestamp(); | |
363 | + if(prom.is_end==0 && prom.start_time<t_now && prom.end_time>t_now){ | |
364 | + wx.showModal({ | |
365 | + title: '提示', | |
366 | + content: gg.goods_name+'商品的活动发生了变化' | |
367 | + }); | |
368 | + return false; | |
369 | + } | |
370 | + } | |
371 | + } | |
372 | + | |
373 | + | |
374 | + var isok=1; | |
375 | + var card_field=th.data.card_field; | |
376 | + //如果会员是等级会员,商品有等级价,且不是活动商品 | |
377 | + if(card_field && gg[card_field]>0){ | |
378 | + if (good.goods_price != gg[card_field]) isok = 0; | |
379 | + }else{ | |
380 | + if (good.goods_price != gg.shop_price) isok = 0; | |
381 | + | |
382 | + } | |
383 | + if(!isok){ | |
384 | + wx.showModal({ | |
385 | + title: '提示', | |
386 | + content: gg.goods_name+'商品的价格发生了变化' | |
387 | + }); | |
388 | + return false; | |
389 | + } | |
390 | + | |
391 | + //--如果是线下库存的时候-- | |
392 | + if(th.data.conf.sales_rules==2){ | |
393 | + var ob={}; | |
394 | + await th.check_down_line_next(gg,good.goods_num,order.pickup_id,function(obj){ | |
395 | + ob=obj; | |
396 | + }) | |
397 | + if(ob.code==-1){ | |
398 | + wx.showModal({ | |
399 | + title: '提示', | |
400 | + content: gg.goods_name+'门店库存不足' | |
401 | + }); | |
402 | + return false; | |
403 | + } | |
404 | + | |
405 | + }else{ | |
406 | + if(good.goods_num>store_count){ | |
407 | + wx.showModal({ | |
408 | + title: '提示', | |
409 | + content: gg.goods_name+'商品的库存不足' | |
410 | + }); | |
411 | + return false; | |
412 | + } | |
413 | + | |
414 | + } | |
415 | + } | |
416 | + | |
417 | + var prom=null; | |
418 | + //---如果是活动的时候--- | |
419 | + var prom=null,goodsinfo=good,th=this; | |
420 | + if(goodsinfo.prom_type==1){ | |
421 | + await getApp().request.promiseGet("/api/ms/flash_sale/get/"+os.stoid+"/"+goodsinfo.prom_id,{ | |
422 | + }).then(res=>{ | |
423 | + if(res.data.code==0){ | |
424 | + prom=res.data.data; | |
425 | + } | |
426 | + }) | |
427 | + } | |
428 | + if(goodsinfo.prom_type==6){ | |
429 | + await getApp().request.promiseGet("/api/weshop/teamlist/get/"+os.stoid+"/"+goodsinfo.prom_id,{ | |
430 | + }).then(res=>{ | |
431 | + if(res.data.code==0){ | |
432 | + prom=res.data.data; | |
433 | + } | |
434 | + }) | |
435 | + } | |
436 | + //----------如果有活动,并且在进行中,就不计算线下库存--------------- | |
437 | + if(prom){ | |
438 | + var now=ut.gettimestamp(); | |
439 | + if(prom.is_end==1 && prom.end_time<now){ | |
440 | + wx.showModal({ | |
441 | + title: '提示', | |
442 | + content: goodsinfo.goods_name+'商品的活动已经结束' | |
443 | + }); | |
444 | + return false; | |
445 | + } | |
446 | + | |
447 | + buyed_mum2=promgoodsbuynum+good.goods_num; | |
448 | + if (buyed_mum2 > prom.buy_limit && prom.buy_limit > 0) { | |
449 | + wx.showModal({ | |
450 | + title: '提示', | |
451 | + content: goodsinfo.goods_name+'购买数量超出商品活动限购' | |
452 | + }); | |
453 | + return false; | |
454 | + } | |
455 | + | |
456 | + var redis_num = 0; | |
457 | + //------判断活动是否抢光----- | |
458 | + await getApp().request.promiseGet("/api/weshop/activitylist/getActLen/" + | |
459 | + os.stoid + "/" + goodsinfo.prom_type + "/" + goodsinfo.prom_id, { | |
460 | + }).then(res => { | |
461 | + redis_num = res.data.data; | |
462 | + }); | |
463 | + | |
464 | + if (good.goods_num > redis_num) { | |
465 | + wx.showModal({ | |
466 | + title: gg.goods_name+'超出商品活动库存', | |
467 | + }); | |
468 | + return false; | |
469 | + } | |
470 | + } | |
471 | + | |
472 | + } | |
473 | + | |
474 | + o.jumpToCart4({ | |
277 | 475 | order_sn: this.data.order.order_sn, |
278 | 476 | order_amount: this.data.order.order_amount |
279 | 477 | }, 1); |
... | ... | @@ -344,14 +542,18 @@ Page({ |
344 | 542 | //-----删除订单----- |
345 | 543 | deleteOrderData: function(t) { |
346 | 544 | var th=this; |
347 | - var order_id=t.currentTarget.dataset.order_id; | |
545 | + var order_id=t.currentTarget.dataset.order_id; | |
546 | + var up_data={ | |
547 | + order_id: order_id,isdel:1 | |
548 | + }; | |
549 | + if(th.data.order.order_status!=6){ | |
550 | + up_data.order_status=5; | |
551 | + } | |
348 | 552 | wx.showModal({ |
349 | 553 | title: "是否删除订单?", |
350 | 554 | success: function(tt) { |
351 | - t.confirm && rq.put("/api/weshop/order/updatebyId", { | |
352 | - data: { | |
353 | - order_id: order_id, order_status: 5 | |
354 | - }, | |
555 | + tt.confirm && rq.put("/api/weshop/order/updatebyId", { | |
556 | + data: up_data, | |
355 | 557 | success: function (t) { |
356 | 558 | getApp().my_warnning("删除成功",1,th); |
357 | 559 | setTimeout(function () { |
... | ... | @@ -389,7 +591,48 @@ Page({ |
389 | 591 | if(item.order_amount==0 || item.user_money==0) return true; |
390 | 592 | } |
391 | 593 | return false; |
392 | - } | |
594 | + }, | |
595 | + | |
596 | + | |
597 | + | |
598 | + //---检验线下库存的数量的子函数--- | |
599 | + async check_down_line_next(gg,num,pick_id,func){ | |
600 | + | |
601 | + var lock=0,pick_no,plist; | |
602 | + //先读取门店的lock | |
603 | + await getApp().request.promiseGet("/api/weshop/order/ware/lock/page",{ | |
604 | + data:{store_id:os.stoid,wareId:gg.goods_id,storageId:pick_id} | |
605 | + }).then(res=>{ | |
606 | + if(res.data.code==0 && res.data.data.total>0){ | |
607 | + for(var i in res.data.data.pageData) | |
608 | + lock+=res.data.data.pageData[i].outQty; | |
609 | + } | |
610 | + }) | |
611 | + //先获取门店的编号 | |
612 | + await getApp().request.promiseGet("/api/weshop/pickup/get/"+os.stoid+"/"+pick_id,{ | |
613 | + data:{storeId:os.stoid,goodsId:gg.goods_id,pickupId:pick_id} | |
614 | + }).then(res=>{ | |
615 | + if(res.data.code==0){ | |
616 | + pick_no=res.data.data.pickup_no; | |
617 | + } | |
618 | + }) | |
619 | + //读取线下的门店库存 | |
620 | + await getApp().request.promiseGet("/api/weshop/goods/getWareStorages",{ | |
621 | + data:{storageNos:pick_no,wareIds:encodeURIComponent(gg.erpwareid),storeId:os.stoid} | |
622 | + }).then(res=>{ | |
623 | + if(res.data.code==0){ | |
624 | + plist=res.data.data.pageData[0]; | |
625 | + } | |
626 | + }) | |
627 | + var ob={}; ob.code=1; | |
628 | + if(num>plist.CanOutQty-lock){ | |
629 | + ob.code=-1; | |
630 | + ob.CanOutQty=plist.CanOutQty-lock | |
631 | + if(ob.CanOutQty<0) ob.CanOutQty=0; | |
632 | + } | |
633 | + func(ob) | |
634 | + }, | |
635 | + | |
393 | 636 | |
394 | 637 | |
395 | 638 | ... | ... |
pages/user/order_detail/order_detail.wxml
... | ... | @@ -137,6 +137,9 @@ |
137 | 137 | <block wx:if="{{!(order.has_rt || order.return_btn==2 || order.return_btn==4)}}"> |
138 | 138 | <navigator bindtap="confirmOrder" class="tips-btn" hidden="{{!order.receive_btn}}">收货确认</navigator> |
139 | 139 | </block> |
140 | + | |
141 | + <view class="tips-btn" wx:if="{{order.order_status==3}}" bindtap="deleteOrderData" data-order_id="{{order.order_id}}" >删除订单</view> | |
142 | + | |
140 | 143 | |
141 | 144 | <navigator class="tips-btn" hidden="{{!order.shipping_btn}}" url="/pages/user/express/express?order_id={{order.order_id}}">查看物流</navigator> |
142 | 145 | |
... | ... | @@ -146,7 +149,7 @@ |
146 | 149 | <navigator class="tips-btn" wx:if="{{(order.order_status==1&&order.pay_status==1) && !order.is_bedistri}}" url="/pages/order/refund_order/refund_order?order_id={{order.order_id}}">申请退款</navigator> |
147 | 150 | </block> |
148 | 151 | <block wx:else> |
149 | - <view class="tips-btn" wx:if="{{order.is_all_return_status==2}}" bindtap="deleteOrderData" order_id="{{order.order_id}}" >删除订单</view> | |
152 | + <view class="tips-btn" wx:if="{{order.is_all_return_status==2 && order.isdel==0}}" bindtap="deleteOrderData" data-order_id="{{order.order_id}}" >删除订单</view> | |
150 | 153 | <navigator class="tips-btn" wx:if="{{order.is_all_return_status==3}}" url="/pages/order/refund_order/refund_order?order_id={{order.order_id}}">重新退款</navigator> |
151 | 154 | <navigator class="tips-btn" wx:if="{{order.is_all_return_status==0 || order.is_all_return_status==1}}" |
152 | 155 | url="/pages/user/return_goods_info/return_goods_info?order_id={{order.order_id}}">退款详情</navigator> | ... | ... |
pages/user/order_list/order_list.js
... | ... | @@ -11,6 +11,7 @@ var t = function(t) { |
11 | 11 | a = require("../../../utils/common.js"), |
12 | 12 | s = new t.default(); |
13 | 13 | var regeneratorRuntime = require('../../../utils/runtime.js'); |
14 | +var ut= require('../../../utils/util.js'); | |
14 | 15 | |
15 | 16 | Page({ |
16 | 17 | data: { |
... | ... | @@ -39,18 +40,36 @@ Page({ |
39 | 40 | //已经读取过接口 |
40 | 41 | is_get: 0, |
41 | 42 | conf: null, |
42 | - iscodeall: null | |
43 | + iscodeall: null, | |
44 | + | |
45 | + //会员的等级价位 | |
46 | + card_field:null, | |
43 | 47 | }, |
44 | 48 | onLoad: function(t) { |
45 | 49 | var th = this; |
46 | 50 | if (t.type != undefined) this.setData({ |
47 | 51 | activeCategoryId: t.type |
48 | 52 | }) |
49 | - s.init(this, "", "orderList"); | |
53 | + s.init(this, "", "orderList"); | |
54 | + //---查看会员的等级价--- | |
50 | 55 | getApp().getConfig2(function(e) { |
51 | - th.setData({ | |
52 | - conf: e | |
53 | - }); | |
56 | + th.setData({conf: e }); | |
57 | + //--- 看后台是不是有开通等级卡 --- | |
58 | + if(e.switch_list){ | |
59 | + var s_list=JSON.parse(e.switch_list); | |
60 | + //如果后台有开启等级价的功能 | |
61 | + if(parseInt(s_list.rank_switch)==2){ | |
62 | + var user=getApp().globalData.userInfo; | |
63 | + var str = user['card_expiredate'].replace(/-/g, '/'); | |
64 | + var end = new Date(str); | |
65 | + end = Date.parse(end) / 1000; | |
66 | + var now = ut.gettimestamp(); | |
67 | + //--- 判断是等级会员,且在有效期范围内 --- | |
68 | + if(user.card_field && now<end){ | |
69 | + th.setData({card_field:user.card_field}) | |
70 | + } | |
71 | + } | |
72 | + } | |
54 | 73 | }) |
55 | 74 | }, |
56 | 75 | onShow: function() { |
... | ... | @@ -79,6 +98,7 @@ Page({ |
79 | 98 | case "4": |
80 | 99 | r += "&order_status=2"; break; |
81 | 100 | } |
101 | + r+="&isdel=0"; | |
82 | 102 | this.setData({ activeCategoryId: t }); r = r + "&page=" + e.data.currentPage; |
83 | 103 | s.request(r, function (t) { |
84 | 104 | |
... | ... | @@ -251,8 +271,7 @@ Page({ |
251 | 271 | |
252 | 272 | /*-----------确认收货-----------*/ |
253 | 273 | confirmOrder: function(t) { |
254 | - var e = this, | |
255 | - a = t.currentTarget.dataset.id; | |
274 | + var e = this,a = t.currentTarget.dataset.id; | |
256 | 275 | var is_zsorder = t.currentTarget.dataset.zsorder; |
257 | 276 | var th = this; |
258 | 277 | |
... | ... | @@ -283,14 +302,17 @@ Page({ |
283 | 302 | deleteOrderData: function(t) { |
284 | 303 | var th = this; |
285 | 304 | var order_id = t.currentTarget.dataset.order_id; |
305 | + var index = t.currentTarget.dataset.index; | |
306 | + var up_data={order_id: order_id,isdel:1}; | |
307 | + var order=th.data.orderList[index]; | |
308 | + if(order.order_status!=6){ | |
309 | + up_data.order_status=5; | |
310 | + } | |
286 | 311 | wx.showModal({ |
287 | 312 | title: "是否删除订单?", |
288 | 313 | success: function(tt) { |
289 | 314 | tt.confirm && rq.put("/api/weshop/order/updatebyId", { |
290 | - data: { | |
291 | - order_id: order_id, | |
292 | - order_status: 5 | |
293 | - }, | |
315 | + data: up_data, | |
294 | 316 | success: function(t) { |
295 | 317 | for (var e = 0; e < th.data.orderList.length; e++) |
296 | 318 | if (th.data.orderList[e].order_id == order_id) { |
... | ... | @@ -348,40 +370,278 @@ Page({ |
348 | 370 | }, |
349 | 371 | |
350 | 372 | /*----------跳转支付-----------*/ |
351 | - jumpToCart4: function(t) { | |
373 | + async jumpToCart4(t) { | |
352 | 374 | var o_index = t.currentTarget.dataset.idx; |
353 | 375 | var e = this.data.orderList[t.currentTarget.dataset.idx]; |
354 | 376 | var th = this; |
355 | - | |
356 | - console.log("jumpToCart4"); | |
357 | - console.log(e); | |
358 | - | |
359 | - if (e.order_amount == 0) { | |
360 | - var dd = { | |
361 | - parent_sn: e.order_sn, | |
362 | - store_id: e.store_id, | |
363 | - type: 1, | |
364 | - }; | |
365 | - getApp().request.post("/api/weshop/order/pay/createOrder", { | |
366 | - data: dd, | |
367 | - success: function(t) { | |
368 | - if (t.data.code == 0) { | |
369 | - th.onload(); | |
370 | - } else { | |
371 | - getApp().confirmBox(t.data.msg + "请您取消该订单"); | |
372 | - } | |
373 | - } | |
374 | - }) | |
375 | - return false; | |
376 | - } | |
377 | - | |
378 | - a.jumpToCart4({ | |
379 | - order_sn: e.order_sn, | |
380 | - order_amount: e.order_amount, | |
381 | - type: 1 //正常单 | |
382 | - }); | |
377 | + var order=e ; | |
378 | + var order_goods=e.order_goods; | |
379 | + | |
380 | + for(var i in order_goods){ | |
381 | + var good=order_goods[i]; | |
382 | + //如果不是小程序有的功能,直接提示要去3.0处理 | |
383 | + if(good.prom_type==2 || good.prom_type==3 || good.prom_type==4 || good.prom_type==5){ | |
384 | + wx.showModal({ | |
385 | + title: '提示', | |
386 | + content: '小程序还未有该活动,请到3.0公众号支付' | |
387 | + }); | |
388 | + return false; | |
389 | + } | |
390 | + | |
391 | + //要每件每件的商品进行检查,看有么有超出库存,超出限购 | |
392 | + var good= order_goods[i],goodsbuynum=0,promgoodsbuynum=0,gg=null; | |
393 | + //获取单品的现在的活动状态 | |
394 | + await getApp().request.promiseGet("/api/weshop/goods/get/" + os.stoid + "/" + good.goods_id, { | |
395 | + }).then(res=>{ | |
396 | + gg=res.data.data; | |
397 | + }) | |
398 | + var limit = gg.viplimited; | |
399 | + var store_count = gg.store_count; | |
400 | + | |
401 | + //---要获得商品,该用户买了多少件,同步应用--- | |
402 | + await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", { | |
403 | + data: { | |
404 | + store_id: os.stoid, | |
405 | + user_id: getApp().globalData.user_id, | |
406 | + goods_id: good.goods_id, | |
407 | + prom_type: good.prom_type, | |
408 | + prom_id: good.prom_id | |
409 | + }, | |
410 | + }).then(res => { | |
411 | + var buy_num_data = res.data.data; | |
412 | + if (buy_num_data.promgoodsbuynum) promgoodsbuynum = buy_num_data.promgoodsbuynum; | |
413 | + goodsbuynum = buy_num_data.goodsbuynum; | |
414 | + }) | |
415 | + | |
416 | + var buyed_mum2=goodsbuynum+good.goods_num; | |
417 | + if (buyed_mum2 > limit && limit > 0) { | |
418 | + wx.showModal({ | |
419 | + title: '提示', | |
420 | + content: gg.goods_name+'购买数量超出商品限购' | |
421 | + }); | |
422 | + return false; | |
423 | + } | |
424 | + | |
425 | + | |
426 | + console.log("-----------------111-------------------"); | |
427 | + | |
428 | + if(good.prom_type==1 || good.prom_type==6){ | |
429 | + if(gg.prom_type!=good.prom_type) { | |
430 | + wx.showModal({ | |
431 | + title: '提示', | |
432 | + content: gg.goods_name+'商品的活动发生了变化' | |
433 | + }); | |
434 | + return false; | |
435 | + } | |
436 | + | |
437 | + }else{ | |
438 | + | |
439 | + if(gg.prom_type==1 || gg.prom_type==6){ | |
440 | + var prom=null; | |
441 | + //---如果是活动的时候--- | |
442 | + var prom=null,th=this; | |
443 | + if(gg.prom_type==1){ | |
444 | + await getApp().request.promiseGet("/api/ms/flash_sale/get/"+os.stoid+"/"+gg.prom_id,{ | |
445 | + }).then(res=>{ | |
446 | + if(res.data.code==0){ | |
447 | + prom=res.data.data; | |
448 | + } | |
449 | + }) | |
450 | + } | |
451 | + if(gg.prom_type==6){ | |
452 | + await getApp().request.promiseGet("/api/weshop/teamlist/get/"+os.stoid+"/"+gg.prom_id,{ | |
453 | + }).then(res=>{ | |
454 | + if(res.data.code==0){ | |
455 | + prom=res.data.data; | |
456 | + } | |
457 | + }) | |
458 | + } | |
459 | + | |
460 | + if(prom){ | |
461 | + var t_now=ut.gettimestamp(); | |
462 | + if(prom.is_end==0 && prom.start_time<t_now && prom.end_time>t_now){ | |
463 | + wx.showModal({ | |
464 | + title: '提示', | |
465 | + content: gg.goods_name+'商品的活动发生了变化' | |
466 | + }); | |
467 | + return false; | |
468 | + } | |
469 | + } | |
470 | + } | |
471 | + | |
472 | + | |
473 | + var isok=1; | |
474 | + var card_field=th.data.card_field; | |
475 | + //如果会员是等级会员,商品有等级价,且不是活动商品 | |
476 | + if(card_field && gg[card_field]>0){ | |
477 | + if (good.goods_price != gg[card_field]) isok = 0; | |
478 | + }else{ | |
479 | + if (good.goods_price != gg.shop_price) isok = 0; | |
480 | + | |
481 | + } | |
482 | + if(!isok){ | |
483 | + wx.showModal({ | |
484 | + title: '提示', | |
485 | + content: gg.goods_name+'商品的价格发生了变化' | |
486 | + }); | |
487 | + return false; | |
488 | + } | |
489 | + | |
490 | + //--如果是线下库存的时候-- | |
491 | + if(th.data.conf.sales_rules==2){ | |
492 | + var ob={}; | |
493 | + await th.check_down_line_next(gg,good.goods_num,order.pickup_id,function(obj){ | |
494 | + ob=obj; | |
495 | + }) | |
496 | + if(ob.code==-1){ | |
497 | + wx.showModal({ | |
498 | + title: '提示', | |
499 | + content: gg.goods_name+'门店库存不足' | |
500 | + }); | |
501 | + return false; | |
502 | + } | |
503 | + | |
504 | + }else{ | |
505 | + if(good.goods_num>store_count){ | |
506 | + wx.showModal({ | |
507 | + title: '提示', | |
508 | + content: gg.goods_name+'商品的库存不足' | |
509 | + }); | |
510 | + return false; | |
511 | + } | |
512 | + | |
513 | + } | |
514 | + } | |
515 | + | |
516 | + console.log("------------------------------------"); | |
517 | + | |
518 | + var prom=null; | |
519 | + //---如果是活动的时候--- | |
520 | + var prom=null,goodsinfo=good,th=this; | |
521 | + if(goodsinfo.prom_type==1){ | |
522 | + await getApp().request.promiseGet("/api/ms/flash_sale/get/"+os.stoid+"/"+goodsinfo.prom_id,{ | |
523 | + }).then(res=>{ | |
524 | + if(res.data.code==0){ | |
525 | + prom=res.data.data; | |
526 | + } | |
527 | + }) | |
528 | + } | |
529 | + if(goodsinfo.prom_type==6){ | |
530 | + await getApp().request.promiseGet("/api/weshop/teamlist/get/"+os.stoid+"/"+goodsinfo.prom_id,{ | |
531 | + }).then(res=>{ | |
532 | + if(res.data.code==0){ | |
533 | + prom=res.data.data; | |
534 | + } | |
535 | + }) | |
536 | + } | |
537 | + //----------如果有活动,并且在进行中,就不计算线下库存--------------- | |
538 | + if(prom){ | |
539 | + var now=ut.gettimestamp(); | |
540 | + if(prom.is_end==1 && prom.end_time<now){ | |
541 | + wx.showModal({ | |
542 | + title: '提示', | |
543 | + content: goodsinfo.goods_name+'商品的活动已经结束' | |
544 | + }); | |
545 | + return false; | |
546 | + } | |
547 | + | |
548 | + buyed_mum2=promgoodsbuynum+good.goods_num; | |
549 | + if (buyed_mum2 > prom.buy_limit && prom.buy_limit > 0) { | |
550 | + wx.showModal({ | |
551 | + title: '提示', | |
552 | + content: goodsinfo.goods_name+'购买数量超出商品活动限购' | |
553 | + }); | |
554 | + return false; | |
555 | + } | |
556 | + | |
557 | + var redis_num = 0; | |
558 | + //------判断活动是否抢光----- | |
559 | + await getApp().request.promiseGet("/api/weshop/activitylist/getActLen/" + | |
560 | + os.stoid + "/" + goodsinfo.prom_type + "/" + goodsinfo.prom_id, { | |
561 | + }).then(res => { | |
562 | + redis_num = res.data.data; | |
563 | + }); | |
564 | + | |
565 | + if (good.goods_num > redis_num) { | |
566 | + wx.showModal({ | |
567 | + title: gg.goods_name+'超出商品活动库存', | |
568 | + }); | |
569 | + return false; | |
570 | + } | |
571 | + } | |
572 | + | |
573 | + | |
574 | + } | |
575 | + th.pay_next(e); | |
383 | 576 | }, |
384 | - | |
577 | + | |
578 | + | |
579 | + pay_next(e){ | |
580 | + if (e.order_amount == 0) { | |
581 | + var dd = { | |
582 | + parent_sn: e.order_sn, | |
583 | + store_id: e.store_id, | |
584 | + type: 1, | |
585 | + }; | |
586 | + getApp().request.post("/api/weshop/order/pay/createOrder", { | |
587 | + data: dd, | |
588 | + success: function(t) { | |
589 | + if (t.data.code == 0) { | |
590 | + th.onload(); | |
591 | + } else { | |
592 | + getApp().confirmBox(t.data.msg + "请您取消该订单"); | |
593 | + } | |
594 | + } | |
595 | + }) | |
596 | + return false; | |
597 | + } | |
598 | + a.jumpToCart4({ | |
599 | + order_sn: e.order_sn, | |
600 | + order_amount: e.order_amount, | |
601 | + type: 1 //正常单 | |
602 | + }); | |
603 | + }, | |
604 | + | |
605 | + //---检验线下库存的数量的子函数--- | |
606 | + async check_down_line_next(gg,num,pick_id,func){ | |
607 | + | |
608 | + var lock=0,pick_no,plist; | |
609 | + //先读取门店的lock | |
610 | + await getApp().request.promiseGet("/api/weshop/order/ware/lock/page",{ | |
611 | + data:{store_id:os.stoid,wareId:gg.goods_id,storageId:pick_id} | |
612 | + }).then(res=>{ | |
613 | + if(res.data.code==0 && res.data.data.total>0){ | |
614 | + for(var i in res.data.data.pageData) | |
615 | + lock+=res.data.data.pageData[i].outQty; | |
616 | + } | |
617 | + }) | |
618 | + //先获取门店的编号 | |
619 | + await getApp().request.promiseGet("/api/weshop/pickup/get/"+os.stoid+"/"+pick_id,{ | |
620 | + data:{storeId:os.stoid,goodsId:gg.goods_id,pickupId:pick_id} | |
621 | + }).then(res=>{ | |
622 | + if(res.data.code==0){ | |
623 | + pick_no=res.data.data.pickup_no; | |
624 | + } | |
625 | + }) | |
626 | + //读取线下的门店库存 | |
627 | + await getApp().request.promiseGet("/api/weshop/goods/getWareStorages",{ | |
628 | + data:{storageNos:pick_no,wareIds:encodeURIComponent(gg.erpwareid),storeId:os.stoid} | |
629 | + }).then(res=>{ | |
630 | + if(res.data.code==0){ | |
631 | + plist=res.data.data.pageData[0]; | |
632 | + } | |
633 | + }) | |
634 | + var ob={}; ob.code=1; | |
635 | + if(num>plist.CanOutQty-lock){ | |
636 | + ob.code=-1; | |
637 | + ob.CanOutQty=plist.CanOutQty-lock | |
638 | + if(ob.CanOutQty<0) ob.CanOutQty=0; | |
639 | + } | |
640 | + func(ob) | |
641 | + }, | |
642 | + | |
643 | + | |
644 | + | |
385 | 645 | //------图片失败,默认图片--------- |
386 | 646 | bind_bnerr: function(e) { |
387 | 647 | var _errImg = e.currentTarget.dataset.errorimg; | ... | ... |
pages/user/order_list/order_list.wxml
... | ... | @@ -24,16 +24,20 @@ |
24 | 24 | <view wx:if="{{(item.order_status==1&&item.pay_status==1&&item.shipping_status==1)}}">待收货</view> |
25 | 25 | <view wx:if="{{(item.order_status==2)}}">待评价</view> |
26 | 26 | <view wx:if="{{item.order_status==4}}">已评价</view> |
27 | - <view wx:if="{{item.order_status==3 && item.pt_status!=6}}">已取消</view> | |
27 | + <view wx:if="{{item.order_status==3 && item.pt_status!=6}}" class="flex-center" >已取消<view class="lin"></view> | |
28 | + <image src="{{iurl}}miniapp/images/trash.png" bindtap="deleteOrderData" data-index="{{index}}" data-order_id="{{item.order_id}}"></image> | |
29 | + </view> | |
28 | 30 | <view wx:if="{{item.pt_status==2 && item.pt_tail_money>0}}">待支付尾款</view> |
29 | 31 | <view wx:if="{{item.order_status==6}}">退款成功</view> |
30 | 32 | <view wx:if="{{item.pt_status==6}}"><text style="font-size: 26rpx;">支付尾款失败</text></view> |
31 | 33 | </block> |
32 | 34 | <block wx:else>退款中</block> |
35 | + <!-- | |
33 | 36 | <view class="flex" wx:if="{{(item.order_status==0&&item.pay_status==0)}}"> |
34 | 37 | <view class="lin"></view> |
35 | - <image src="{{iurl}}miniapp/images/trash.png" bindtap="deleteOrderData" data-order_id="{{item.order_id}}"></image> | |
36 | - </view> | |
38 | + <image src="{{iurl}}miniapp/images/trash.png" bindtap="deleteOrderData" data-index="{{index}}" data-order_id="{{item.order_id}}"></image> | |
39 | + </view>--> | |
40 | + | |
37 | 41 | </view> |
38 | 42 | </view> |
39 | 43 | |
... | ... | @@ -126,8 +130,6 @@ |
126 | 130 | </view> |
127 | 131 | <view class="links flex-right-vertical fs30"> |
128 | 132 | <image wx:if="{{(item.order_status==1&&item.pay_status==1 && item.shipping_status==0 && item.exp_type==1)}}" class="code" src="{{iurl}}miniapp/images/order/code.png" bindtap="code_show" data-order_sn="{{item.order_sn}}"></image> |
129 | - | |
130 | - <view class="commodity_To_evaluate flex-level View_evaluation" data-id="{{item.order_id}}" wx:if="{{item.order_status==3 && item.pt_status!=3}}">已取消</view> | |
131 | 133 | <view bindtap="cancelOrder" class="commodity_To_evaluate flex-level View_evaluation" data-id="{{item.order_id}}" data-zsorder="{{item.is_zsorder}}" data-orderindex="{{index}}" wx:if="{{(item.order_status==0 &&item.pay_status==0)}}">取消订单</view> |
132 | 134 | <view class="commodity_To_evaluate flex-level View_evaluation" wx:if="{{item.pt_status==3}}">拼团失败</view> |
133 | 135 | <!---has_rt部分退----> |
... | ... | @@ -136,7 +138,7 @@ |
136 | 138 | <navigator class="commodity_To_evaluate flex-level View_evaluation" wx:if="{{(item.order_status==1&&item.pay_status==1) && !item.is_bedistri}}" url="/pages/order/refund_order/refund_order?order_id={{item.order_id}}">申请退款</navigator> |
137 | 139 | </block> |
138 | 140 | <block wx:else> |
139 | - <view class="commodity_To_evaluate flex-level View_evaluation" wx:if="{{item.is_all_return_status==2}}" bindtap="deleteOrderData" data-order_id="{{item.order_id}}">删除订单</view> | |
141 | + <view class="commodity_To_evaluate flex-level View_evaluation" wx:if="{{item.is_all_return_status==2 && item.isdel==0}}" bindtap="deleteOrderData" data-order_id="{{item.order_id}}" data-index="{{index}}">删除订单</view> | |
140 | 142 | <navigator class="commodity_To_evaluate flex-level View_evaluation" wx:if="{{item.is_all_return_status==3}}" url="/pages/order/refund_order/refund_order?order_id={{item.order_id}}">重新退款</navigator> |
141 | 143 | <navigator class="commodity_To_evaluate flex-level View_evaluation" wx:if="{{item.is_all_return_status==0 || item.is_all_return_status==1}}" url="/pages/user/return_goods_info/return_goods_info?order_id={{item.order_id}}">退款详情</navigator> |
142 | 144 | </block> | ... | ... |
pages/user/order_list/order_list.wxss