Commit 60831945a811d59f671bc5ca81e33be19547a051
1 parent
b7ff23ec
一、线下库存测试用例
1.商品详请在显示门店的时候会计算门店的线下库存,以及门店的预出库数! 2.商品在加入购物车,或者立即购买时,也要计算门店的线下库存,以及门店的预出库数! 3.购物车中,商品在加数量,减数量时也要计算门店的线下库存,以及门店的预出库数! 4.购物车结算时也要计算门店的线下库存,以及门店的预出库数! 5.提交订单时,也要计算门店的线下库存,以及门店的预出库数! 6.多条吗商品在选择条码,加入购物车,立即购买,选择门店的时候 也要计算门店的线下库存,以及门店的预出库数! 7.在订单列表中重新支付订单,如果线上也要判断商品是不是活动商品,看价格有没有变化,同时限购是不是到了, 也要计算门店的线下库存,以及门店的预出库数! 8.在订单列表中重新支付订单,如果订单是3.0公众号下的积分购,优化购买,团购,搭配购就要提醒到3.0公众号处理 9.商品详情在开启急速库存时的显示。 10.退款完成在删除订单状态的时候,不成为已作废(小程序,3.0手店) 11.小程序已取消订单要能删除,添加了一个删除订单的按钮。订单详情页面也要能删除订单 (小程序)
Showing
10 changed files
with
1200 additions
and
413 deletions
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,7 +479,7 @@ 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 | }); |
... | ... | @@ -471,78 +487,177 @@ Page({ |
471 | 487 | return false; |
472 | 488 | } |
473 | 489 | |
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 | - | |
490 | + | |
487 | 491 | if (goodsinfo.prom_type == 1) { |
488 | - //读取秒杀 | |
489 | - rq.get("/api/ms/flash_sale/getFlashSaleOne/" + oo.stoid + "/" + goodsinfo.prom_id, { | |
492 | + //读取秒杀 | |
493 | + rq.get("/api/ms/flash_sale/getFlashSaleOne/" + oo.stoid + "/" + goodsinfo.prom_id, { | |
490 | 494 | isShowLoading: 0, |
491 | 495 | 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); | |
496 | + | |
497 | + if(res_d.data.code==0){ | |
498 | + if (t.goods_num > store_count) { | |
499 | + wx.showModal({ | |
500 | + title: '提示', | |
501 | + content: '购买数量超出商品库存' | |
502 | + }); | |
503 | + var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num"; | |
504 | + e.setData({ | |
505 | + [txt]: store_count | |
506 | + }); | |
507 | + e.doCheckAll(); | |
508 | + return false; | |
509 | + } | |
510 | + | |
511 | + var false_data = res_d.data.data; | |
512 | + //--判断库存-- | |
513 | + if (t.goods_num > false_data.goods_num - false_data.buy_num) { | |
514 | + wx.showModal({ | |
515 | + title: '提示', | |
516 | + content: '购买数量超出活动库存' | |
517 | + }); | |
518 | + var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num"; | |
519 | + e.setData({ | |
520 | + [txt]: false_data.goods_num - false_data.buy_num | |
521 | + }); | |
522 | + e.doCheckAll(); | |
523 | + return false; | |
524 | + } | |
525 | + | |
526 | + //--判断redis数量是否已经超出-- | |
527 | + if (t.goods_num > false_data.redisnum) { | |
528 | + wx.showModal({ | |
529 | + title: '提示', | |
530 | + content: '购买数量超出商品库存' | |
531 | + }); | |
532 | + var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num"; | |
533 | + e.setData({ | |
534 | + [txt]: false_data.redisnum | |
535 | + }); | |
536 | + e.doCheckAll(); | |
537 | + return false; | |
538 | + } | |
539 | + | |
540 | + //--活动的限购是不是要判断-- | |
541 | + if (t.goods_num + promgoodsbuynum > false_data.buy_limit && false_data.buy_limit > 0) { | |
542 | + wx.showModal({ | |
543 | + title: '提示', | |
544 | + content: '购买数量超出秒杀限购' | |
545 | + }); | |
546 | + var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num"; | |
547 | + e.setData({ | |
548 | + [txt]: false_data.false_data.buy_limit | |
549 | + }); | |
550 | + e.doCheckAll(); | |
551 | + return false; | |
552 | + } | |
553 | + }else{ | |
554 | + //--- 看一下是不是线下库存 --- | |
555 | + if(th.data.sales_rules==2){ | |
556 | + th.check_down_line(t, pitem, item,wareIds); | |
557 | + }else{ | |
558 | + if (t.goods_num > store_count) { | |
559 | + wx.showModal({ | |
560 | + title: '提示', | |
561 | + content: '购买数量超出商品库存' | |
562 | + }); | |
563 | + var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num"; | |
564 | + e.setData({ | |
565 | + [txt]: store_count | |
566 | + }); | |
567 | + e.doCheckAll(); | |
568 | + return false; | |
569 | + } | |
570 | + e.update_cart(t, pitem, item); | |
571 | + } | |
572 | + } | |
573 | + | |
536 | 574 | } |
537 | 575 | }) |
538 | - } else { | |
539 | - e.update_cart(t, pitem, item); | |
576 | + } else { | |
577 | + //--- 看一下是不是线下库存 --- | |
578 | + if(th.data.sales_rules==2){ | |
579 | + th.check_down_line(t, pitem, item,wareIds); | |
580 | + }else{ | |
581 | + if (t.goods_num > store_count) { | |
582 | + wx.showModal({ | |
583 | + title: '提示', | |
584 | + content: '购买数量超出商品库存' | |
585 | + }); | |
586 | + var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num"; | |
587 | + e.setData({ | |
588 | + [txt]: store_count | |
589 | + }); | |
590 | + e.doCheckAll(); | |
591 | + return false; | |
592 | + } | |
593 | + e.update_cart(t, pitem, item); | |
594 | + } | |
540 | 595 | } |
541 | 596 | } |
542 | 597 | }); |
543 | 598 | }, |
544 | - | |
545 | - //更新购物车 | |
599 | + | |
600 | + //---检验线下库存的数量--- | |
601 | + async check_down_line(t, pitem, item,erpwareid){ | |
602 | + var ob={},th=this; | |
603 | + await this.check_down_line_next(t, pitem, item,erpwareid,function(res){ | |
604 | + ob=res; | |
605 | + }); | |
606 | + var log=0; | |
607 | + if(ob.code==-1){ | |
608 | + wx.showModal({ | |
609 | + title: '提示', | |
610 | + content: '购买数量超出商品库存' | |
611 | + }); | |
612 | + var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num"; | |
613 | + th.setData({ | |
614 | + [txt]: ob.CanOutQty | |
615 | + }); | |
616 | + th.doCheckAll(); | |
617 | + return false; | |
618 | + } | |
619 | + this.update_cart(t, pitem, item); | |
620 | + }, | |
621 | + | |
622 | + //---检验线下库存的数量的子函数--- | |
623 | + async check_down_line_next(t, pitem, item,erpwareid,func){ | |
624 | + var goodsinfo = this.data.requestData[pitem].goods[item]; | |
625 | + var lock=0,pick_no,plist; | |
626 | + //先读取门店的lock | |
627 | + await getApp().request.promiseGet("/api/weshop/order/ware/lock/page",{ | |
628 | + data:{store_id:os.stoid,wareId:t.goods_id,storageId:goodsinfo.pick_id} | |
629 | + }).then(res=>{ | |
630 | + if(res.data.code==0 && res.data.data.total>0){ | |
631 | + lock=res.data.data.pageData[0].outQty; | |
632 | + } | |
633 | + }) | |
634 | + //先获取门店的编号 | |
635 | + await getApp().request.promiseGet("/api/weshop/pickup/get/"+os.stoid+"/"+goodsinfo.pick_id,{ | |
636 | + data:{storeId:os.stoid,goodsId:t.goods_id,pickupId:goodsinfo.pick_id} | |
637 | + }).then(res=>{ | |
638 | + if(res.data.code==0){ | |
639 | + pick_no=res.data.data.pickup_no; | |
640 | + } | |
641 | + }) | |
642 | + //读取线下的门店库存 | |
643 | + await getApp().request.promiseGet("/api/weshop/goods/getWareStorages",{ | |
644 | + data:{storageNos:pick_no,wareIds:encodeURIComponent(erpwareid),storeId:os.stoid} | |
645 | + }).then(res=>{ | |
646 | + if(res.data.code==0){ | |
647 | + plist=res.data.data.pageData[0]; | |
648 | + } | |
649 | + }) | |
650 | + var ob={}; ob.code=1; | |
651 | + if(t.goods_num>plist.CanOutQty-lock){ | |
652 | + ob.code=-1; | |
653 | + ob.CanOutQty=plist.CanOutQty-lock | |
654 | + if(ob.CanOutQty<0) ob.CanOutQty=0; | |
655 | + } | |
656 | + func(ob) | |
657 | + }, | |
658 | + | |
659 | + | |
660 | + //--更新购物车--- | |
546 | 661 | update_cart: function(t, pitem, item) { |
547 | 662 | var e = this; |
548 | 663 | getApp().request.put("/api/weshop/cart/update", { |
... | ... | @@ -573,7 +688,7 @@ Page({ |
573 | 688 | var th = this; |
574 | 689 | |
575 | 690 | var ab = 0; //选中 |
576 | - console.log('checkout'); | |
691 | + wx.showLoading(); | |
577 | 692 | for (var i = 0; i < this.data.requestData.length; i++) { |
578 | 693 | var i_arr = this.data.requestData[i].goods; |
579 | 694 | for (var j = 0; j < i_arr.length; j++) { |
... | ... | @@ -594,6 +709,25 @@ Page({ |
594 | 709 | } |
595 | 710 | glist += i_arr[j].goods_id + ","; |
596 | 711 | ab = 1; |
712 | + //--普通商品,如果有开启线下库存的功能,要调用线下库存进行计算--- | |
713 | + if(i_arr[j].prom_type==0 && th.data.sales_rules==2){ | |
714 | + //--获取商品的线下商品ID-- | |
715 | + var gd=null; | |
716 | + await getApp().request.promiseGet("/api/weshop/goods/get/" + oo.stoid + "/" + i_arr[j].goods_id,{}).then(res=>{ | |
717 | + if(res.data.code==0) gd=res.data.data; | |
718 | + }) | |
719 | + //--判断商品是线下库存-- | |
720 | + var ob={} | |
721 | + await th.check_down_line_next(i_arr[j],i,j,gd.erpwareid,function(rs){ | |
722 | + ob=rs; | |
723 | + }); | |
724 | + if(ob.code==-1){ | |
725 | + t.my_warnning(gd.goods_name+"门店库存不足", 0, th); | |
726 | + wx.hideLoading(); | |
727 | + return false; | |
728 | + } | |
729 | + } | |
730 | + | |
597 | 731 | } else { |
598 | 732 | rq.put("/api/weshop/cart/update", { |
599 | 733 | data: { |
... | ... | @@ -610,6 +744,7 @@ Page({ |
610 | 744 | } |
611 | 745 | if (ab == 0) { |
612 | 746 | t.my_warnning("未选择商品", 0, th); |
747 | + wx.hideLoading(); | |
613 | 748 | return false; |
614 | 749 | } |
615 | 750 | |
... | ... | @@ -657,7 +792,8 @@ Page({ |
657 | 792 | } |
658 | 793 | |
659 | 794 | try { |
660 | - ddata.forEach(function(val, ind) { | |
795 | + for(var ind in ddata) { | |
796 | + var val=ddata[ind]; | |
661 | 797 | var num = map.get(val.goods_id + ""); |
662 | 798 | if (num <= 0) { |
663 | 799 | isok = 0; |
... | ... | @@ -665,12 +801,25 @@ Page({ |
665 | 801 | throw "购买数量不能为0"; |
666 | 802 | return false; |
667 | 803 | } |
668 | - if (num > val.store_count) { | |
669 | - isok = 0; | |
670 | - gname = val.goods_name; | |
671 | - throw "超出库存"; | |
672 | - return false; | |
673 | - } | |
804 | + | |
805 | + if(val.prom_type==1 || val.prom_type==6){ | |
806 | + if (num > val.store_count) { | |
807 | + isok = 0; | |
808 | + gname = val.goods_name; | |
809 | + throw "超出库存"; | |
810 | + return false; | |
811 | + } | |
812 | + } | |
813 | + | |
814 | + if(th.data.sales_rules!=2){ | |
815 | + if (num > val.store_count) { | |
816 | + isok = 0; | |
817 | + gname = val.goods_name; | |
818 | + throw "超出库存"; | |
819 | + return false; | |
820 | + } | |
821 | + } | |
822 | + | |
674 | 823 | if (num > val.redisnum && val.redisnum) { |
675 | 824 | isok = 0; |
676 | 825 | gname = val.goods_name; |
... | ... | @@ -712,7 +861,7 @@ Page({ |
712 | 861 | throw "商品价格已经变化"; |
713 | 862 | } |
714 | 863 | }else{ |
715 | - if (g_arr[i].goods_price != val.shop_price && g_arr[i].goods_price != val.prom_price) { | |
864 | + if (g_arr[i].goods_price != val.shop_price && g_arr[i].goods_price != val.prom_price) { | |
716 | 865 | isok = 0; |
717 | 866 | gname = val.goods_name; |
718 | 867 | throw "商品价格已经变化"; |
... | ... | @@ -733,14 +882,16 @@ Page({ |
733 | 882 | } |
734 | 883 | } |
735 | 884 | |
736 | - }) | |
885 | + } | |
737 | 886 | } catch (e) { |
738 | 887 | err = e; |
739 | 888 | } |
740 | 889 | if (isok == 0) { |
741 | 890 | t.confirmBox(gname + ":" + err); |
891 | + wx.hideLoading(); | |
742 | 892 | return false; |
743 | 893 | } |
894 | + wx.hideLoading(); | |
744 | 895 | wx.navigateTo({ |
745 | 896 | url: "/pages/cart/cart2/cart2" |
746 | 897 | }); |
... | ... | @@ -821,6 +972,8 @@ Page({ |
821 | 972 | wx.switchTab({ |
822 | 973 | url: '/pages/index/index/index', |
823 | 974 | }) |
824 | - } | |
975 | + }, | |
976 | + | |
977 | + | |
825 | 978 | |
826 | 979 | }); |
827 | 980 | \ 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,49 @@ 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} | |
1015 | + }).then(res=>{ | |
1016 | + if(res.data.code==0 && res.data.data.total>0){ | |
1017 | + lock=res.data.data.pageData[0].outQty; | |
1018 | + } | |
1019 | + }) | |
1020 | + //先获取门店的编号 | |
1021 | + await getApp().request.promiseGet("/api/weshop/pickup/get/"+os.stoid+"/"+pick,{ | |
1022 | + data:{storeId:os.stoid,goodsId:t.goods_id,pickupId:pick} | |
1023 | + }).then(res=>{ | |
1024 | + if(res.data.code==0){ | |
1025 | + pick_no=res.data.data.pickup_no; | |
1026 | + } | |
1027 | + }) | |
1028 | + //先获取商品的线下库存 | |
1029 | + await getApp().request.promiseGet("/api/weshop/goods/get/"+os.stoid+"/"+goods_id,{ | |
1030 | + data:{storeId:os.stoid,goodsId:t.goods_id,pickupId:pick} | |
1031 | + }).then(res=>{ | |
1032 | + if(res.data.code==0){ | |
1033 | + erpwareid=res.data.data.erpwareid; | |
1034 | + } | |
1035 | + }) | |
1036 | + //读取线下的门店库存 | |
1037 | + await getApp().request.promiseGet("/api/weshop/goods/getWareStorages",{ | |
1038 | + data:{storageNos:pick_no,wareIds:encodeURIComponent(erpwareid),storeId:os.stoid} | |
1039 | + }).then(res=>{ | |
1040 | + if(res.data.code==0){ | |
1041 | + plist=res.data.data.pageData[0]; | |
1042 | + } | |
1043 | + }) | |
1044 | + var isok=1; | |
1045 | + if(goods_num>plist.CanOutQty-lock){ | |
1046 | + isok=0; | |
1047 | + } | |
1048 | + func(isok); | |
1049 | + }, | |
1050 | + | |
978 | 1051 | |
979 | 1052 | useCoupon: function() { |
980 | 1053 | if (this.data.order.couponNum <= 0) { | ... | ... |
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, //---拼单的普通购买--- |
... | ... | @@ -301,27 +301,27 @@ Page({ |
301 | 301 | //---回调卡的列表--- |
302 | 302 | th.getPlusCardType(function(ob){ |
303 | 303 | th.setData({card_list:ob.card_list}); |
304 | - var ti = setInterval(function () { | |
305 | - var user = getApp().globalData.userInfo; | |
306 | - if (!user) return false; | |
307 | - clearInterval(ti); | |
308 | - | |
309 | - if(user.card_field ){ | |
310 | - var str = user['card_expiredate'].replace(/-/g, '/'); | |
311 | - var end = new Date(str); | |
312 | - end = Date.parse(end) / 1000; | |
313 | - var now = ut.gettimestamp(); | |
314 | - //--- 判断是等级会员,且在有效期范围内 --- | |
315 | - if(user.card_field && now<end){ | |
316 | - var card_name=ob.name_map.get(user.card_field); | |
317 | - if(card_name.length>5) card_name=card_name.substring(0,5); | |
318 | - | |
319 | - var is_near_date=0; | |
320 | - if(end-now<60*60*30*24) is_near_date=1; //如果小于30天 | |
321 | - th.setData({card_field:user.card_field,card_name:card_name,card_list:ob.card_list,is_near_date:is_near_date}); | |
322 | - } | |
323 | - } | |
324 | - }, 500) | |
304 | + var ti = setInterval(function () { | |
305 | + var user = getApp().globalData.userInfo; | |
306 | + if (!user) return false; | |
307 | + clearInterval(ti); | |
308 | + | |
309 | + if(user.card_field ){ | |
310 | + var str = user['card_expiredate'].replace(/-/g, '/'); | |
311 | + var end = new Date(str); | |
312 | + end = Date.parse(end) / 1000; | |
313 | + var now = ut.gettimestamp(); | |
314 | + //--- 判断是等级会员,且在有效期范围内 --- | |
315 | + if(user.card_field && now<end){ | |
316 | + var card_name=ob.name_map.get(user.card_field); | |
317 | + if(card_name.length>5) card_name=card_name.substring(0,5); | |
318 | + | |
319 | + var is_near_date=0; | |
320 | + if(end-now<60*60*30*24) is_near_date=1; //如果小于30天 | |
321 | + th.setData({card_field:user.card_field,card_name:card_name,card_list:ob.card_list,is_near_date:is_near_date}); | |
322 | + } | |
323 | + } | |
324 | + }, 500) | |
325 | 325 | }) |
326 | 326 | |
327 | 327 | } |
... | ... | @@ -372,9 +372,7 @@ Page({ |
372 | 372 | sto_sele_distr: e.distr_type |
373 | 373 | }) |
374 | 374 | } |
375 | - | |
376 | - | |
377 | - | |
375 | + | |
378 | 376 | } |
379 | 377 | } |
380 | 378 | }) |
... | ... | @@ -624,11 +622,13 @@ Page({ |
624 | 622 | userInfo:getApp().globalData.userInfo |
625 | 623 | }); |
626 | 624 | |
627 | - //获取门店 | |
628 | - ee.get_sto(); | |
625 | + | |
629 | 626 | //获取统一条形码,普通商品和优惠促销的商品 |
630 | - if (ee.data.data.prom_type == 0 || ee.data.data.prom_type == 3 || ee.data.data.prom_type == 5) | |
631 | - ee.get_sku(o.stoid, t.data.data.sku, gid); | |
627 | + if (ee.data.data.prom_type == 0 || ee.data.data.prom_type == 3 || ee.data.data.prom_type == 5){ | |
628 | + //获取门店 | |
629 | + ee.get_sto(); | |
630 | + ee.get_sku(o.stoid, t.data.data.sku, gid); | |
631 | + } | |
632 | 632 | else { |
633 | 633 | var gg = "", |
634 | 634 | item = t.data.data; |
... | ... | @@ -695,11 +695,6 @@ Page({ |
695 | 695 | }); |
696 | 696 | this.data.enterAddressPage && (this.data.enterAddressPage = !1); |
697 | 697 | |
698 | - | |
699 | - | |
700 | - | |
701 | - | |
702 | - | |
703 | 698 | }, |
704 | 699 | enterAddress: function() { |
705 | 700 | this.data.enterAddressPage = !0, wx.navigateTo({ |
... | ... | @@ -812,6 +807,7 @@ Page({ |
812 | 807 | addCart: function(t) { |
813 | 808 | var th = this; |
814 | 809 | var ind = t.currentTarget.dataset.openSpecModal_ind; |
810 | + if(!ind) ind = t.currentTarget.dataset.openspecmodal_ind; | |
815 | 811 | th.setData({ |
816 | 812 | open_ind_store: ind |
817 | 813 | }); |
... | ... | @@ -838,9 +834,8 @@ Page({ |
838 | 834 | var e = this, |
839 | 835 | th = e, |
840 | 836 | a = 0, |
841 | - o = this.data.sele_g; | |
842 | - if (o.store_count <= 0) return s.my_warnning("库存已为空!", 0, th); | |
843 | - a = o.goods_id; | |
837 | + o = this.data.sele_g; | |
838 | + a = o.goods_id; | |
844 | 839 | |
845 | 840 | //----------添加到购物车时,要判断限购数量,-------- |
846 | 841 | e.get_buy_num(o, function(ee) { |
... | ... | @@ -866,7 +861,6 @@ Page({ |
866 | 861 | } |
867 | 862 | |
868 | 863 | if (th.data.goodsInputNum <= 0) return s.my_warnning("商品数量不能为0", 0, th); |
869 | - if (th.data.goodsInputNum > o.store_count) return s.my_warnning("超出商品库存", 0, th); | |
870 | 864 | if (th.data.sto_sele_name == null || th.data.sto_sele_name == undefined) |
871 | 865 | this.setData({ |
872 | 866 | sto_sele_name: "" |
... | ... | @@ -891,20 +885,76 @@ Page({ |
891 | 885 | if (th.data.prom_type == 1) { |
892 | 886 | newd.goods_price = th.data.prom_price; |
893 | 887 | newd.member_goods_price = th.data.prom_price, |
894 | - newd.prom_type = th.data.prom_type; | |
888 | + newd.prom_type = th.data.prom_type; | |
895 | 889 | newd.prom_id = th.data.prom_id; |
896 | - } else if (th.data.prom_type == 3 || th.data.prom_type == 2 || th.data.prom_type == 4 || th.data.prom_type == 5) { | |
890 | + | |
891 | + if (o.store_count <= 0) return s.my_warnning("库存已为空!", 0, th); | |
892 | + if (o.store_count <e.data.goodsInputNum) return s.my_warnning("库存不足!", 0, th); | |
893 | + | |
894 | + th.add_cart_next(e,t,a,o,newd); //加入购物车下一步 | |
895 | + | |
896 | + } 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) { | |
897 | 897 | newd.prom_type = 0; |
898 | 898 | newd.prom_id = 0; |
899 | - } | |
900 | - | |
899 | + //---如果是线下门店销售的时候--- | |
900 | + if(th.data.sales_rules==2){ | |
901 | + var pick=th.get_pick_from_list(th.data.sto_sele_id) | |
902 | + //---通过接口获取门店的线下库存信息-- | |
903 | + getApp().request.get("/api/weshop/goods/getWareStorages",{ | |
904 | + data:{storageNos:pick.pickup_no,wareIds:encodeURIComponent(th.data.sele_g.erpwareid),storeId:os.stoid}, | |
905 | + success:function(res){ | |
906 | + if(res.data.code==0){ | |
907 | + if(res.data.data.pageData.length>0){ | |
908 | + var CanOutQty=res.data.data.pageData[0].CanOutQty; | |
909 | + if(CanOutQty<e.data.goodsInputNum){ | |
910 | + return s.my_warnning("库存不足!", 0, th); | |
911 | + } | |
912 | + //在调一次接口,读取商品的预出库的数量,lock | |
913 | + getApp().request.get("/api/weshop/order/ware/lock/page",{ | |
914 | + data:{store_id:os.stoid,wareId:th.data.sele_g.goods_id,storageId:pick.pickup_id}, | |
915 | + success:function(res_data){ | |
916 | + if(res_data.data.code==0 && res_data.data.data.total>0){ | |
917 | + var lock= res_data.data.data.pageData[0].outQty; | |
918 | + if(CanOutQty<=lock){ | |
919 | + return s.my_warnning("库存不足!", 0, th); | |
920 | + } | |
921 | + th.add_cart_next(e,t,a,o,newd,CanOutQty-lock); | |
922 | + }else{ | |
923 | + th.add_cart_next(e,t,a,o,newd,CanOutQty); | |
924 | + } | |
925 | + } | |
926 | + }) | |
927 | + }else{ | |
928 | + return s.my_warnning("库存不足!", 0, th); | |
929 | + } | |
930 | + | |
931 | + } | |
932 | + } | |
933 | + }) | |
934 | + }else{ | |
935 | + if (o.store_count <= 0) return s.my_warnning("库存已为空!", 0, th); | |
936 | + if (o.store_count <e.data.goodsInputNum) return s.my_warnning("库存不足!", 0, th); | |
937 | + th.add_cart_next(e,t,a,o,newd); //加入购物车下一步 | |
938 | + } | |
939 | + } | |
940 | + }) | |
941 | + }, | |
942 | + | |
943 | + //---加入购物车的最后一步--- | |
944 | + add_cart_next(e,t,a,o,newd,CanOutQty){ | |
945 | + var th=this; | |
901 | 946 | //---如果商品不是积分购和拼团,要判断一个是否要进行等级价的判断------ |
902 | 947 | if(o.prom_type!=1 && o.prom_type!=6){ |
903 | 948 | var conf=th.data.bconfig; |
904 | 949 | if(conf.switch_list){ |
905 | 950 | var s_list=JSON.parse(conf.switch_list); |
906 | - //如果后台有开启等级价的功能 | |
907 | - if(parseInt(s_list.rank_switch)==2){ | |
951 | + var now=ut.gettimestamp(); | |
952 | + var str = getApp().globalData.userInfo['card_expiredate'].replace(/-/g, '/'); | |
953 | + var end = new Date(str); | |
954 | + end = Date.parse(end) / 1000; | |
955 | + | |
956 | + //--如果后台有开启等级价的功能,而且会员的等级没有过期的情况下-- | |
957 | + if(parseInt(s_list.rank_switch)==2 && end>now){ | |
908 | 958 | var card_price=o[getApp().globalData.userInfo['card_field']]; |
909 | 959 | //如果会员有等级价 |
910 | 960 | if(getApp().globalData.userInfo['card_field']!=undefined && getApp().globalData.userInfo['card_field']!=null |
... | ... | @@ -914,64 +964,76 @@ Page({ |
914 | 964 | } |
915 | 965 | } |
916 | 966 | } |
917 | - | |
918 | - | |
919 | - //if (this.data.data.goods.is_virtual) return this.buyVirtualGoods(d); | |
920 | - if ("add" == t.currentTarget.dataset.action) { | |
921 | - //----先看会员在购物车中是否加入了该商品----- | |
922 | - i.get("/api/weshop/cart/page", { | |
923 | - data: { | |
924 | - store_id: e.data.stoid, | |
925 | - user_id: oo.user_id, | |
926 | - goods_id: a, | |
927 | - pick_id: e.data.sto_sele_id, | |
928 | - }, | |
929 | - success: function(re) { | |
930 | - //-------如果购物车中有相关的数据--------- | |
931 | - if (re.data.data.total > 0) { | |
932 | - var item = re.data.data.pageData[0]; | |
933 | - var updata = { | |
934 | - id: item.id, | |
935 | - goods_num: e.data.goodsInputNum + item.goods_num, | |
936 | - goods_price: newd.goods_price, | |
937 | - store_id: th.data.stoid, | |
938 | - }; | |
939 | - | |
940 | - i.put("/api/weshop/cart/update", { | |
941 | - data: updata, | |
942 | - success: function(t) { | |
943 | - getApp().my_warnning('加入购物车成功', 1, th, 450); | |
944 | - var c_num = th.data.cartGoodsNum + th.data.goodsInputNum; | |
945 | - th.setData({ | |
946 | - cartGoodsNum: c_num | |
947 | - }); | |
948 | - th.closeSpecModal(); | |
949 | - } | |
950 | - }); | |
951 | - } else { | |
952 | - i.post("/api/weshop/cart/save", { | |
953 | - data: newd, | |
954 | - success: function(t) { | |
955 | - getApp().my_warnning('加入购物车成功', 1, th, 450); | |
956 | - var c_num = th.data.cartGoodsNum + e.data.goodsInputNum; | |
957 | - th.setData({ | |
958 | - cartGoodsNum: c_num | |
959 | - }); | |
960 | - th.closeSpecModal(); | |
961 | - } | |
962 | - }); | |
963 | - } | |
964 | - } | |
965 | - }); | |
966 | - } | |
967 | - //else "exchange" == t.currentTarget.dataset.action ? this.exchange(d) : this.buyNow(d); | |
968 | - else { | |
969 | - newd['pick_name'] = th.data.sto_sele_name; | |
970 | - newd['pick_dis'] = th.data.sto_sele_distr; | |
971 | - th.buyNow(newd); | |
972 | - } | |
973 | - }) | |
967 | + | |
968 | + //if (this.data.data.goods.is_virtual) return this.buyVirtualGoods(d); | |
969 | + if ("add" == t.currentTarget.dataset.action) { | |
970 | + //----先看会员在购物车中是否加入了该商品----- | |
971 | + i.get("/api/weshop/cart/page", { | |
972 | + data: { | |
973 | + store_id: e.data.stoid, | |
974 | + user_id: oo.user_id, | |
975 | + goods_id: a, | |
976 | + pick_id: e.data.sto_sele_id, | |
977 | + }, | |
978 | + success: function(re) { | |
979 | + //判断数量,要看下购物车中有没有该商品 | |
980 | + if(CanOutQty){ | |
981 | + if(th.data.cartGoodsNum + th.data.goodsInputNum>CanOutQty){ | |
982 | + return s.my_warnning("库存不足!", 0, th); | |
983 | + } | |
984 | + }else{ | |
985 | + if(th.data.cartGoodsNum + th.data.goodsInputNum>o.store_count){ | |
986 | + return s.my_warnning("库存不足!", 0, th); | |
987 | + } | |
988 | + } | |
989 | + //-------如果购物车中有相关的数据--------- | |
990 | + if (re.data.data.total > 0) { | |
991 | + var item = re.data.data.pageData[0]; | |
992 | + var updata = { | |
993 | + id: item.id, | |
994 | + goods_num: e.data.goodsInputNum + item.goods_num, | |
995 | + goods_price: newd.goods_price, | |
996 | + store_id: th.data.stoid, | |
997 | + }; | |
998 | + | |
999 | + i.put("/api/weshop/cart/update", { | |
1000 | + data: updata, | |
1001 | + success: function(t) { | |
1002 | + getApp().my_warnning('加入购物车成功', 1, th, 450); | |
1003 | + var c_num = th.data.cartGoodsNum + th.data.goodsInputNum; | |
1004 | + th.setData({ | |
1005 | + cartGoodsNum: c_num | |
1006 | + }); | |
1007 | + th.closeSpecModal(); | |
1008 | + } | |
1009 | + }); | |
1010 | + } else { | |
1011 | + i.post("/api/weshop/cart/save", { | |
1012 | + data: newd, | |
1013 | + success: function(t) { | |
1014 | + getApp().my_warnning('加入购物车成功', 1, th, 450); | |
1015 | + var c_num = th.data.cartGoodsNum + e.data.goodsInputNum; | |
1016 | + th.setData({ | |
1017 | + cartGoodsNum: c_num | |
1018 | + }); | |
1019 | + th.closeSpecModal(); | |
1020 | + } | |
1021 | + }); | |
1022 | + } | |
1023 | + } | |
1024 | + }); | |
1025 | + } | |
1026 | + //else "exchange" == t.currentTarget.dataset.action ? this.exchange(d) : this.buyNow(d); | |
1027 | + else { | |
1028 | + newd['pick_name'] = th.data.sto_sele_name; | |
1029 | + newd['pick_dis'] = th.data.sto_sele_distr; | |
1030 | + th.buyNow(newd); | |
1031 | + } | |
974 | 1032 | }, |
1033 | + | |
1034 | + | |
1035 | + | |
1036 | + | |
975 | 1037 | //----------购买虚拟商品------ |
976 | 1038 | buyVirtualGoods: function(e) { |
977 | 1039 | Object.assign(e, { |
... | ... | @@ -1275,7 +1337,7 @@ Page({ |
1275 | 1337 | |
1276 | 1338 | //----------装载同一条形码的商品---------- |
1277 | 1339 | async get_sku(stoid, sku, g_id, is_normal, func) { |
1278 | - var tt = this; | |
1340 | + var tt = this,arrdata=null; | |
1279 | 1341 | await getApp().request.promiseGet("/api/weshop/goods/page", { |
1280 | 1342 | data: { |
1281 | 1343 | store_id: o.stoid, |
... | ... | @@ -1284,17 +1346,38 @@ Page({ |
1284 | 1346 | is_on_sale: 1 |
1285 | 1347 | } |
1286 | 1348 | }).then(res => { |
1287 | - var e = res; | |
1288 | - var arrsku = new Array(); | |
1289 | - var gitem = null; | |
1290 | - if (e.data.code == 0) { | |
1291 | - var arrdata = e.data.data.pageData, | |
1292 | - gb = 1, | |
1293 | - gg = ""; | |
1294 | - for (var i = 0; i < arrdata.length; i++) { | |
1295 | - var item = arrdata[i], | |
1296 | - gg = ""; | |
1297 | - | |
1349 | + var e = res; | |
1350 | + if (e.data.code == 0) arrdata = e.data.data.pageData; | |
1351 | + }) | |
1352 | + if(!arrdata) return fasle; | |
1353 | + | |
1354 | + var arrsku = new Array(); | |
1355 | + var gitem = null; | |
1356 | + var gb = 1,gg = ""; | |
1357 | + for (var i = 0; i < arrdata.length; i++) { | |
1358 | + var goodsinfo=arrdata[i],prom=null; | |
1359 | + if (goodsinfo.goods_id != g_id) { | |
1360 | + if(goodsinfo.prom_type==1){ | |
1361 | + await getApp().request.promiseGet("/api/ms/flash_sale/get/"+os.stoid+"/"+goodsinfo.prom_id,{ | |
1362 | + }).then(res=>{ | |
1363 | + if(res.data.code==0) prom=res.data.data; | |
1364 | + }) | |
1365 | + } | |
1366 | + if(goodsinfo.prom_type==6){ | |
1367 | + await getApp().request.promiseGet("/api/weshop/teamlist/get/"+os.stoid+"/"+goodsinfo.prom_id,{ | |
1368 | + }).then(res=>{ | |
1369 | + if(res.data.code==0) prom=res.data.data; | |
1370 | + }) | |
1371 | + } | |
1372 | + } | |
1373 | + //---如果有活动,不算在一起--- | |
1374 | + if(prom){ | |
1375 | + if(prom.is_end==0 && prom.end_time>now && prom.start_time<now){ | |
1376 | + continue; | |
1377 | + } | |
1378 | + } | |
1379 | + | |
1380 | + var item = arrdata[i],gg = ""; | |
1298 | 1381 | if(item.goods_spec=="null" || item.goods_spec==null) item.goods_spec=""; |
1299 | 1382 | if(item.goods_color=="null" || item.goods_color==null) item.goods_color=""; |
1300 | 1383 | |
... | ... | @@ -1326,9 +1409,7 @@ Page({ |
1326 | 1409 | sku_g: arrsku, |
1327 | 1410 | sele_g: gitem |
1328 | 1411 | }); |
1329 | - } | |
1330 | - } | |
1331 | - }) | |
1412 | + } | |
1332 | 1413 | }, |
1333 | 1414 | |
1334 | 1415 | //-----------选择属性的按钮事件---------- |
... | ... | @@ -1345,8 +1426,58 @@ Page({ |
1345 | 1426 | if (item) this.setData({ |
1346 | 1427 | sele_g: item, |
1347 | 1428 | gid: gid |
1348 | - }); | |
1349 | - }, | |
1429 | + }); | |
1430 | + this.sele_spec_chech_activity(); | |
1431 | + }, | |
1432 | + | |
1433 | + //选择了不同的规格的时候要判断是不是有活动正在进行中 | |
1434 | + async sele_spec_chech_activity(){ | |
1435 | + //---如果是活动的时候--- | |
1436 | + var prom=null,goodsinfo=this.data.sele_g,th=this; | |
1437 | + if(goodsinfo.prom_type==1){ | |
1438 | + await getApp().request.promiseGet("/api/ms/flash_sale/get/"+os.stoid+"/"+goodsinfo.prom_id,{ | |
1439 | + }).then(res=>{ | |
1440 | + if(res.data.code==0){ | |
1441 | + prom=res.data.data; | |
1442 | + } | |
1443 | + }) | |
1444 | + } | |
1445 | + if(goodsinfo.prom_type==6){ | |
1446 | + await getApp().request.promiseGet("/api/weshop/teamlist/get/"+os.stoid+"/"+goodsinfo.prom_id,{ | |
1447 | + }).then(res=>{ | |
1448 | + if(res.data.code==0){ | |
1449 | + prom=res.data.data; | |
1450 | + } | |
1451 | + }) | |
1452 | + } | |
1453 | + //----------如果有活动,并且在进行中,就不计算线下库存--------------- | |
1454 | + var now=ut.gettimestamp(); | |
1455 | + if(prom){ | |
1456 | + if(prom.is_end==0 && prom.end_time>now && prom.start_time<now){ | |
1457 | + th.setData({ | |
1458 | + prom_type:goodsinfo.prom_type, | |
1459 | + prom_price:prom.price, | |
1460 | + prom_buy_limit:prom.buy_limit, | |
1461 | + prom_end_time:prom.end_time, | |
1462 | + prom_start_time:prom.start_time, | |
1463 | + prom_st:1, | |
1464 | + }) | |
1465 | + return false; | |
1466 | + } | |
1467 | + } | |
1468 | + //---设置普通商品--- | |
1469 | + th.setData({ | |
1470 | + prom_type:0, | |
1471 | + prom_price:null, | |
1472 | + prom_buy_limit:null, | |
1473 | + prom_end_time:null, | |
1474 | + prom_start_time:null, | |
1475 | + prom_st:null, | |
1476 | + }) | |
1477 | + | |
1478 | + }, | |
1479 | + | |
1480 | + | |
1350 | 1481 | //---------拿出门店分类和门店------------ |
1351 | 1482 | get_sto(e) { |
1352 | 1483 | var th = this; |
... | ... | @@ -1360,13 +1491,13 @@ Page({ |
1360 | 1491 | store_id: o.stoid, |
1361 | 1492 | distr_type: g_distr_type, |
1362 | 1493 | isstop: 0, |
1363 | - pageSize: 300 | |
1494 | + pageSize: 2000 | |
1364 | 1495 | } |
1365 | 1496 | } else { |
1366 | 1497 | dd = { |
1367 | 1498 | store_id: o.stoid, |
1368 | 1499 | isstop: 0, |
1369 | - pageSize: 300 | |
1500 | + pageSize: 2000 | |
1370 | 1501 | } |
1371 | 1502 | } |
1372 | 1503 | //如果有距离的话 |
... | ... | @@ -1381,7 +1512,6 @@ Page({ |
1381 | 1512 | }).then(res => { |
1382 | 1513 | var e = res; |
1383 | 1514 | if (e.data.code == 0) { |
1384 | - | |
1385 | 1515 | //如果有开启距离的功能,没有设置默认门店,要用最近的门店作为默认门店 |
1386 | 1516 | if(dd.lat && !th.data.def_pick_store && th.data.bconfig.is_sort_storage){ |
1387 | 1517 | th.setData({ |
... | ... | @@ -1403,152 +1533,246 @@ Page({ |
1403 | 1533 | e.data.data.pageData.splice(0, 0, th.data.def_pick_store); //添加 |
1404 | 1534 | } |
1405 | 1535 | |
1406 | - /*---- | |
1407 | - //--获取线下库存-- | |
1408 | - if(th.data.sales_rules){ | |
1409 | - | |
1410 | - }---*/ | |
1411 | 1536 | |
1412 | - | |
1413 | - //单总量超出5个的时候 | |
1414 | - if (e.data.data.total > 5) { | |
1415 | - i.get("/api/weshop/storagecategory/page", { | |
1416 | - data: { | |
1417 | - store_id: o.stoid, | |
1418 | - is_show: 1, | |
1419 | - pageSize: 300 | |
1420 | - }, | |
1421 | - success: function(ee) { | |
1422 | - if (ee.data.code == 0) { | |
1423 | - if (ee.data.data && ee.data.data.pageData && ee.data.data.pageData.length > 0) { | |
1424 | - var def_arr = new Array(); | |
1425 | - var ishas = 0; | |
1426 | - //-- 开始就看5个门店 -- | |
1427 | - for (var k = 0; k < 5; k++) { | |
1428 | - if (k == e.data.data.pageData.length) break; | |
1429 | - def_arr.push(e.data.data.pageData[k]); | |
1430 | - } | |
1431 | - | |
1432 | - th.setData({ | |
1433 | - def_pickpu_list: def_arr, | |
1434 | - pickpu_list: ee.data.data.pageData | |
1435 | - }); | |
1436 | - var sto_cate = ee.data.data.pageData; | |
1437 | - var sto_arr = e.data.data.pageData; | |
1438 | - var newarr = new Array(); | |
1439 | - var qita = new Array(); | |
1440 | - | |
1441 | - //----要进行门店分组-------- | |
1442 | - for (var i = 0; i < sto_arr.length; i++) { | |
1443 | - //找一下这个门店有没有在分类数组内 | |
1444 | - var find2 = 0, | |
1445 | - find2name = ""; | |
1446 | - for (var m = 0; m < sto_cate.length; m++) { | |
1447 | - if (sto_arr[i].category_id == sto_cate[m].cat_id) { | |
1448 | - find2 = sto_cate[m].cat_id; | |
1449 | - find2name = sto_cate[m].cat_name; | |
1450 | - break; | |
1451 | - } | |
1452 | - } | |
1453 | - | |
1454 | - if (newarr.length > 0) { | |
1455 | - var find = 0; | |
1456 | - //如果有找到,那门店就在这个分组内,否则,分类就要排在其他 | |
1457 | - if (find2 != 0) { | |
1458 | - for (var ii = 0; ii < newarr.length; ii++) { | |
1459 | - if (sto_arr[i].category_id == newarr[ii].cat_id) { | |
1460 | - newarr[ii].s_arr.push(sto_arr[i]); | |
1461 | - find = 1; | |
1462 | - break; | |
1463 | - } | |
1464 | - } | |
1465 | - if (find == 0) { | |
1466 | - var arr0 = new Array(); | |
1467 | - arr0.push(sto_arr[i]); | |
1468 | - var item = { | |
1469 | - cat_id: find2, | |
1470 | - name: find2name, | |
1471 | - s_arr: arr0 | |
1472 | - }; | |
1473 | - newarr.push(item); | |
1474 | - } | |
1475 | - } else { | |
1476 | - qita.push(sto_arr[i]); | |
1477 | - } | |
1478 | - } else { | |
1479 | - //如果有找到,那门店就在这个分组内,否则,分类就要排在其他 | |
1480 | - if (find2 != 0) { | |
1481 | - var arr0 = new Array(); | |
1482 | - arr0.push(sto_arr[i]); | |
1483 | - var item = { | |
1484 | - cat_id: find2, | |
1485 | - name: find2name, | |
1486 | - s_arr: arr0 | |
1487 | - }; | |
1488 | - newarr.push(item); | |
1489 | - } else { | |
1490 | - qita.push(sto_arr[i]); | |
1491 | - } | |
1492 | - } | |
1493 | - } | |
1494 | - | |
1495 | - //----安排其他的分类----- | |
1496 | - if (qita.length > 0) { | |
1497 | - var item = { | |
1498 | - cat_id: -1, | |
1499 | - name: "其他", | |
1500 | - s_arr: qita | |
1501 | - }; | |
1502 | - newarr.push(item); | |
1503 | - } | |
1504 | - th.setData({ | |
1505 | - is_show_sto_cat: 1, | |
1506 | - all_sto: newarr | |
1507 | - }); | |
1508 | - | |
1509 | - } else { | |
1510 | - th.setData({ | |
1511 | - is_show_sto_cat: -1, | |
1512 | - only_pk: e.data.data.pageData | |
1513 | - }); | |
1514 | - //-----如果没有默认门店,要取第一个门店作为默认店.此时没有门店分类的情况------ | |
1515 | - if (!th.data.def_pick_store) { | |
1516 | - th.setData({def_pick_store:e.data.data.pageData[0]}) | |
1517 | - } | |
1518 | - } | |
1519 | - } else { | |
1520 | - th.setData({ | |
1521 | - is_show_sto_cat: -1, | |
1522 | - only_pk: e.data.data.pageData | |
1523 | - }); | |
1524 | - //-----如果没有默认门店,要取第一个门店作为默认店.此时没有门店分类的情况------ | |
1525 | - if (!th.data.def_pick_store) { | |
1526 | - th.setData({def_pick_store:e.data.data.pageData[0]}) | |
1527 | - } | |
1528 | - | |
1529 | - } | |
1530 | - } | |
1531 | - }); | |
1532 | - } else { | |
1533 | - th.setData({ | |
1534 | - is_show_sto_cat: 0, | |
1535 | - only_pk: e.data.data.pageData | |
1536 | - }); | |
1537 | - //-----如果没有默认门店,要取第一个门店作为默认店------ | |
1538 | - if (!th.data.def_pick_store && th.data.bconfig.is_sort_storage) { | |
1539 | - th.setData({ | |
1540 | - def_pick_store:e.data.data.pageData[0], | |
1541 | - sto_sele_name: e.data.data.pageData[0].pickup_name, | |
1542 | - sto_sele_id: e.data.data.pageData[0].pickup_id, | |
1543 | - sto_sele_distr: e.data.data.pageData[0].distr_type | |
1544 | - }) | |
1545 | - } | |
1546 | - } | |
1547 | - } | |
1537 | + th.setData({all_pick_list:e.data.data.pageData}); | |
1538 | + | |
1539 | + //--获取线下库存,而且不是新的门店规则,同时不能是活动-- | |
1540 | + if(th.data.sales_rules==2 && !th.data.is_newsales_rules && th.data.prom_type!=1 && th.data.prom_type!=6){ | |
1541 | + th.deal_pickup_dline(e); | |
1542 | + }else{ | |
1543 | + th.deal_pickup(e); //--普通门店排版-- | |
1544 | + } | |
1545 | + } | |
1548 | 1546 | }) |
1549 | 1547 | }, 200) |
1550 | 1548 | |
1549 | + }, | |
1550 | + | |
1551 | + //------------处理门店--------------- | |
1552 | + deal_pickup(e){ | |
1553 | + var th=this; | |
1554 | + //单总量超出5个的时候 | |
1555 | + if (e.data.data.total > 5) { | |
1556 | + i.get("/api/weshop/storagecategory/page", { | |
1557 | + data: { | |
1558 | + store_id: o.stoid, | |
1559 | + is_show: 1, | |
1560 | + pageSize: 1000 | |
1561 | + }, | |
1562 | + success: function(ee) { | |
1563 | + if (ee.data.code == 0) { | |
1564 | + if (ee.data.data && ee.data.data.pageData && ee.data.data.pageData.length > 0) { | |
1565 | + var def_arr = new Array(); | |
1566 | + var ishas = 0; | |
1567 | + //-- 开始就看5个门店 -- | |
1568 | + for (var k = 0; k < 5; k++) { | |
1569 | + if (k == e.data.data.pageData.length) break; | |
1570 | + def_arr.push(e.data.data.pageData[k]); | |
1571 | + } | |
1572 | + | |
1573 | + th.setData({ | |
1574 | + def_pickpu_list: def_arr, | |
1575 | + pickpu_list: ee.data.data.pageData | |
1576 | + }); | |
1577 | + var sto_cate = ee.data.data.pageData; | |
1578 | + var sto_arr = e.data.data.pageData; | |
1579 | + var newarr = new Array(); | |
1580 | + var qita = new Array(); | |
1581 | + | |
1582 | + //----要进行门店分组-------- | |
1583 | + for (var i = 0; i < sto_arr.length; i++) { | |
1584 | + //找一下这个门店有没有在分类数组内 | |
1585 | + var find2 = 0, | |
1586 | + find2name = ""; | |
1587 | + for (var m = 0; m < sto_cate.length; m++) { | |
1588 | + if (sto_arr[i].category_id == sto_cate[m].cat_id) { | |
1589 | + find2 = sto_cate[m].cat_id; | |
1590 | + find2name = sto_cate[m].cat_name; | |
1591 | + break; | |
1592 | + } | |
1593 | + } | |
1594 | + | |
1595 | + if (newarr.length > 0) { | |
1596 | + var find = 0; | |
1597 | + //如果有找到,那门店就在这个分组内,否则,分类就要排在其他 | |
1598 | + if (find2 != 0) { | |
1599 | + for (var ii = 0; ii < newarr.length; ii++) { | |
1600 | + if (sto_arr[i].category_id == newarr[ii].cat_id) { | |
1601 | + newarr[ii].s_arr.push(sto_arr[i]); | |
1602 | + find = 1; | |
1603 | + break; | |
1604 | + } | |
1605 | + } | |
1606 | + if (find == 0) { | |
1607 | + var arr0 = new Array(); | |
1608 | + arr0.push(sto_arr[i]); | |
1609 | + var item = { | |
1610 | + cat_id: find2, | |
1611 | + name: find2name, | |
1612 | + s_arr: arr0 | |
1613 | + }; | |
1614 | + newarr.push(item); | |
1615 | + } | |
1616 | + } else { | |
1617 | + qita.push(sto_arr[i]); | |
1618 | + } | |
1619 | + } else { | |
1620 | + //如果有找到,那门店就在这个分组内,否则,分类就要排在其他 | |
1621 | + if (find2 != 0) { | |
1622 | + var arr0 = new Array(); | |
1623 | + arr0.push(sto_arr[i]); | |
1624 | + var item = { | |
1625 | + cat_id: find2, | |
1626 | + name: find2name, | |
1627 | + s_arr: arr0 | |
1628 | + }; | |
1629 | + newarr.push(item); | |
1630 | + } else { | |
1631 | + qita.push(sto_arr[i]); | |
1632 | + } | |
1633 | + } | |
1634 | + } | |
1635 | + | |
1636 | + //----安排其他的分类----- | |
1637 | + if (qita.length > 0) { | |
1638 | + var item = { | |
1639 | + cat_id: -1, | |
1640 | + name: "其他", | |
1641 | + s_arr: qita | |
1642 | + }; | |
1643 | + newarr.push(item); | |
1644 | + } | |
1645 | + th.setData({ | |
1646 | + is_show_sto_cat: 1, | |
1647 | + all_sto: newarr | |
1648 | + }); | |
1649 | + | |
1650 | + } else { | |
1651 | + th.setData({ | |
1652 | + is_show_sto_cat: -1, | |
1653 | + only_pk: e.data.data.pageData | |
1654 | + }); | |
1655 | + //-----如果没有默认门店,要取第一个门店作为默认店.此时没有门店分类的情况------ | |
1656 | + if (!th.data.def_pick_store) { | |
1657 | + th.setData({def_pick_store:e.data.data.pageData[0]}) | |
1658 | + } | |
1659 | + } | |
1660 | + } else { | |
1661 | + th.setData({ | |
1662 | + is_show_sto_cat: -1, | |
1663 | + only_pk: e.data.data.pageData | |
1664 | + }); | |
1665 | + //-----如果没有默认门店,要取第一个门店作为默认店.此时没有门店分类的情况------ | |
1666 | + if (!th.data.def_pick_store) { | |
1667 | + th.setData({def_pick_store:e.data.data.pageData[0]}) | |
1668 | + } | |
1669 | + | |
1670 | + } | |
1671 | + } | |
1672 | + }); | |
1673 | + } else { | |
1674 | + th.setData({ | |
1675 | + is_show_sto_cat: 0, | |
1676 | + only_pk: e.data.data.pageData | |
1677 | + }); | |
1678 | + //-----如果没有默认门店,要取第一个门店作为默认店------ | |
1679 | + if (!th.data.def_pick_store && th.data.bconfig.is_sort_storage) { | |
1680 | + th.setData({ | |
1681 | + def_pick_store:e.data.data.pageData[0], | |
1682 | + sto_sele_name: e.data.data.pageData[0].pickup_name, | |
1683 | + sto_sele_id: e.data.data.pageData[0].pickup_id, | |
1684 | + sto_sele_distr: e.data.data.pageData[0].distr_type | |
1685 | + }) | |
1686 | + } | |
1687 | + } | |
1688 | + | |
1689 | + }, | |
1690 | + //------------处理线下门店库存-------- | |
1691 | + async deal_pickup_dline(e){ | |
1692 | + var pkno=[],th=this; | |
1693 | + if(this.data.def_pick_store){ | |
1694 | + pkno.push(this.data.def_pick_store.pickup_no); | |
1695 | + } | |
1696 | + for(var i in e.data.data.pageData){ | |
1697 | + var item=e.data.data.pageData[i]; | |
1698 | + pkno.push(item.pickup_no); | |
1699 | + } | |
1700 | + var pkno_str=pkno.join(","); | |
1701 | + var o_plist=e.data.data.pageData; | |
1702 | + var new_list=[]; | |
1703 | + var is_find_def_store=0; | |
1704 | + | |
1705 | + var lock=[]; | |
1706 | + //先读取门店的lock | |
1707 | + await getApp().request.promiseGet("/api/weshop/order/ware/lock/page",{ | |
1708 | + data:{store_id:os.stoid,wareId:th.data.data.goods_id} | |
1709 | + }).then(res=>{ | |
1710 | + if(res.data.code==0 && res.data.data.total>0){ | |
1711 | + lock=res.data.data.pageData | |
1712 | + } | |
1713 | + }) | |
1714 | + | |
1715 | + //---通过接口获取门店的线下库存信息-- | |
1716 | + await getApp().request.promiseGet("/api/weshop/goods/getWareStorages",{ | |
1717 | + data:{storageNos:pkno_str,wareIds:encodeURIComponent(th.data.data.erpwareid),storeId:os.stoid} | |
1718 | + }).then(res=>{ | |
1719 | + if(res.data.code==0){ | |
1720 | + if(res.data.data.pageData){ | |
1721 | + var plist=res.data.data.pageData; | |
1722 | + //以原来的数组为外循环,保证距离的顺序 | |
1723 | + for(var kk in o_plist){ | |
1724 | + for(var ii in plist){ | |
1725 | + //线下的门店小心 | |
1726 | + var n_item=plist[ii]; | |
1727 | + if(n_item.StorageNo==o_plist[kk].pickup_no){ | |
1728 | + | |
1729 | + //拿到锁库的数量 | |
1730 | + var lock_num=th.find_lock_num(o_plist[kk].pickup_id,lock); | |
1731 | + //可出库数大于预出库库存的数量,可以判断为有库存 | |
1732 | + if(n_item.CanOutQty>lock_num){ | |
1733 | + o_plist[kk].CanOutQty=n_item.CanOutQty-lock_num | |
1734 | + new_list.push(o_plist[kk]); | |
1735 | + //如果找到默认门店 | |
1736 | + if(th.data.def_pick_store && n_item.StorageNo==th.data.def_pick_store.pickup_no){ | |
1737 | + th.data.def_pick_store.CanOutQty=n_item.CanOutQty; | |
1738 | + is_find_def_store=1; | |
1739 | + } | |
1740 | + } | |
1741 | + } | |
1742 | + } | |
1743 | + } | |
1744 | + | |
1745 | + //数据组装下 | |
1746 | + var em={};em.data={};em.data.data={}; | |
1747 | + em.data.data.total=new_list.length; | |
1748 | + em.data.data.pageData=new_list; | |
1749 | + | |
1750 | + //---把数组组装进去--- | |
1751 | + th.deal_pickup(em); | |
1752 | + if(th.data.def_pick_store && !is_find_def_store){ | |
1753 | + th.setData({def_pick_store:null}); | |
1754 | + } | |
1755 | + | |
1756 | + }else{ | |
1757 | + th.setData({def_pick_store:null,all_sto:null,only_pk:null}) | |
1758 | + } | |
1759 | + }else{ | |
1760 | + th.setData({def_pick_store:null,all_sto:null,only_pk:null}) | |
1761 | + } | |
1762 | + }) | |
1763 | + | |
1764 | + }, | |
1551 | 1765 | |
1766 | + find_lock_num(pick_id,lock){ | |
1767 | + var lock_num=0; | |
1768 | + if(!lock) return 0; | |
1769 | + if(lock.length<0) return 0; | |
1770 | + for(var i in lock){ | |
1771 | + if(pick_id==lock[i].pickupId){ | |
1772 | + lock_num=lock[i].outQty; | |
1773 | + } | |
1774 | + } | |
1775 | + return lock_num; | |
1552 | 1776 | }, |
1553 | 1777 | |
1554 | 1778 | //----------取货门店被点击的效果------ |
... | ... | @@ -1709,6 +1933,7 @@ Page({ |
1709 | 1933 | isshow: 1, |
1710 | 1934 | }); |
1711 | 1935 | ee.get_sku(os.stoid, ee.data.data.sku, gid); |
1936 | + ee.get_sto(); | |
1712 | 1937 | return false; |
1713 | 1938 | } |
1714 | 1939 | //----已经过期----- |
... | ... | @@ -1729,6 +1954,7 @@ Page({ |
1729 | 1954 | isshow: 1, |
1730 | 1955 | }); |
1731 | 1956 | ee.get_sku(os.stoid, ee.data.data.sku, gid); |
1957 | + ee.get_sto(); | |
1732 | 1958 | return false; |
1733 | 1959 | } |
1734 | 1960 | |
... | ... | @@ -1746,6 +1972,8 @@ Page({ |
1746 | 1972 | prom_start_time: prom_start_time, |
1747 | 1973 | isshow: 1, |
1748 | 1974 | }); |
1975 | + | |
1976 | + ee.get_sto(); | |
1749 | 1977 | |
1750 | 1978 | |
1751 | 1979 | var newTime = ut.gettimestamp(); |
... | ... | @@ -1800,6 +2028,7 @@ Page({ |
1800 | 2028 | isshow: 1, |
1801 | 2029 | }); |
1802 | 2030 | ee.get_sku(os.stoid, ee.data.data.sku, gid); |
2031 | + ee.get_sto(); | |
1803 | 2032 | return false; |
1804 | 2033 | } |
1805 | 2034 | //----已经结束----- |
... | ... | @@ -1819,6 +2048,7 @@ Page({ |
1819 | 2048 | isshow: 1, |
1820 | 2049 | }); |
1821 | 2050 | ee.get_sku(os.stoid, ee.data.data.sku, gid); |
2051 | + ee.get_sto(); | |
1822 | 2052 | return false; |
1823 | 2053 | } |
1824 | 2054 | |
... | ... | @@ -1829,6 +2059,7 @@ Page({ |
1829 | 2059 | isshow: 1, |
1830 | 2060 | }); |
1831 | 2061 | ee.get_sku(os.stoid, ee.data.data.sku, gid); |
2062 | + ee.get_sto(); | |
1832 | 2063 | return false; |
1833 | 2064 | } |
1834 | 2065 | |
... | ... | @@ -1910,6 +2141,8 @@ Page({ |
1910 | 2141 | prom_start_time: prom_start_time, |
1911 | 2142 | isshow: 1, |
1912 | 2143 | }); |
2144 | + | |
2145 | + ee.get_sto(); | |
1913 | 2146 | |
1914 | 2147 | var newTime = now; |
1915 | 2148 | var endTime2 = t.data.data.end_time; |
... | ... | @@ -3195,16 +3428,70 @@ Page({ |
3195 | 3428 | sec_pick_index: 0 |
3196 | 3429 | }); |
3197 | 3430 | }, |
3198 | - | |
3199 | - | |
3200 | - | |
3201 | 3431 | choose_for_store_fir: function(e) { |
3202 | 3432 | var index_c = e.currentTarget.dataset.ind; |
3203 | - | |
3204 | - this.setData({ | |
3205 | - fir_pick_index: index_c | |
3206 | - }) | |
3433 | + var th=this; | |
3434 | + this.check_the_pick(index_c,function(){ | |
3435 | + th.setData({ | |
3436 | + fir_pick_index: index_c | |
3437 | + }) | |
3438 | + }) | |
3439 | + | |
3440 | + }, | |
3441 | + | |
3442 | + //如果开启线下库存,已经急速库存才会使用 | |
3443 | + async check_the_pick(index,func){ | |
3444 | + var th=this; | |
3445 | + var goodsinfo=th.data.sele_g; | |
3446 | + var erpwareid=goodsinfo.erpwareid; | |
3447 | + var plist=null; | |
3448 | + | |
3449 | + //---如果是活动的时候--- | |
3450 | + if(th.data.prom_type==1 || th.data.prom_type==6){ | |
3451 | + func(); return false; | |
3452 | + } | |
3453 | + | |
3454 | + if(this.data.sales_rules!=2 && this.data.is_newsales_rules!=1){ | |
3455 | + func(); | |
3456 | + }else{ | |
3457 | + var item=null; | |
3458 | + if (th.data.choice_sort_store == 0) { | |
3459 | + if (th.data.is_show_sto_cat == 1) { | |
3460 | + item = th.data.def_pickpu_list[index]; | |
3461 | + } else { | |
3462 | + item = th.data.only_pk[index]; //当没有门店分类的时候 | |
3463 | + } | |
3464 | + } else { | |
3465 | + item = th.data.sec_sto.s_arr[index]; | |
3466 | + } | |
3467 | + | |
3468 | + //先读取门店的lock | |
3469 | + await getApp().request.promiseGet("/api/weshop/order/ware/lock/page",{ | |
3470 | + data:{store_id:os.stoid,wareId:t.goods_id,storageId:goodsinfo.pick_id} | |
3471 | + }).then(res=>{ | |
3472 | + if(res.data.code==0 && res.data.data.total>0){ | |
3473 | + lock=res.data.data.pageData[0].outQty; | |
3474 | + } | |
3475 | + }) | |
3476 | + | |
3477 | + //读取线下的门店库存 | |
3478 | + await getApp().request.promiseGet("/api/weshop/goods/getWareStorages",{ | |
3479 | + data:{storageNos:item.pickup_no,wareIds:encodeURIComponent(erpwareid),storeId:os.stoid} | |
3480 | + }).then(res=>{ | |
3481 | + if(res.data.code==0 && res.data.data.total>0){ | |
3482 | + plist=res.data.data.pageData[0]; | |
3483 | + } | |
3484 | + }) | |
3485 | + | |
3486 | + if(plist && plist.CanOutQty-lock>0){ | |
3487 | + func() | |
3488 | + return false; | |
3489 | + } | |
3490 | + getApp().my_warnning(item.pickup_name+"库存不足!", 0, th); | |
3491 | + | |
3492 | + } | |
3207 | 3493 | }, |
3494 | + | |
3208 | 3495 | |
3209 | 3496 | //确定def_pick为选择的门店 |
3210 | 3497 | sure_pick: function(e) { |
... | ... | @@ -3266,11 +3553,13 @@ Page({ |
3266 | 3553 | //---点击二级之后的选择--- |
3267 | 3554 | choose_for_store: function(e) { |
3268 | 3555 | var index_c = e.currentTarget.dataset.ind; |
3269 | - | |
3270 | - this.setData({ | |
3271 | - sec_pick_index: index_c, | |
3272 | - fir_pick_index: index_c | |
3273 | - }) | |
3556 | + var th=this; | |
3557 | + th.check_the_pick(index_c,function(){ | |
3558 | + th.setData({ | |
3559 | + sec_pick_index: index_c, | |
3560 | + fir_pick_index: index_c | |
3561 | + }) | |
3562 | + }) | |
3274 | 3563 | }, |
3275 | 3564 | //把选择的门店设置成默认的门店def_pick |
3276 | 3565 | set_def_pick: function(e) { |
... | ... | @@ -3455,7 +3744,19 @@ Page({ |
3455 | 3744 | }, |
3456 | 3745 | go_card_info:function(){ |
3457 | 3746 | getApp().goto("/pages/user/cardinfo/cardinfo"); |
3747 | + }, | |
3748 | + //-- 根据ID拿出门店 -- | |
3749 | + get_pick_from_list(pid){ | |
3750 | + var all_pick_list=this.data.all_pick_list; | |
3751 | + for(var i in all_pick_list){ | |
3752 | + var item=all_pick_list[i]; | |
3753 | + if(item.pickup_id==pid){ | |
3754 | + return item; | |
3755 | + } | |
3756 | + } | |
3458 | 3757 | } |
3758 | + | |
3759 | + | |
3459 | 3760 | |
3460 | 3761 | |
3461 | 3762 | }); | ... | ... |
pages/goods/goodsInfo/goodsInfo.wxml
... | ... | @@ -911,7 +911,7 @@ |
911 | 911 | <!----商品的属性项目----> |
912 | 912 | <view class="xc-goods-attribute"> |
913 | 913 | <view hidden="{{ismend==1}}" class="spec-name">商品属性</view> |
914 | - <view hidden="{{ismend==1}}" class="flex"> | |
914 | + <view hidden="{{ismend==1}}" style="max-height: 120rpx;overflow-y: auto;"> | |
915 | 915 | <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"> |
916 | 916 | {{item.gg}} |
917 | 917 | </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 { | ... | ... |
pages/user/order_detail/order_detail.js
... | ... | @@ -344,14 +344,18 @@ Page({ |
344 | 344 | //-----删除订单----- |
345 | 345 | deleteOrderData: function(t) { |
346 | 346 | var th=this; |
347 | - var order_id=t.currentTarget.dataset.order_id; | |
347 | + var order_id=t.currentTarget.dataset.order_id; | |
348 | + var up_data={ | |
349 | + order_id: order_id,isdel:1 | |
350 | + }; | |
351 | + if(th.data.order.order_status!=6){ | |
352 | + up_data.order_status=5; | |
353 | + } | |
348 | 354 | wx.showModal({ |
349 | 355 | title: "是否删除订单?", |
350 | 356 | success: function(tt) { |
351 | - t.confirm && rq.put("/api/weshop/order/updatebyId", { | |
352 | - data: { | |
353 | - order_id: order_id, order_status: 5 | |
354 | - }, | |
357 | + tt.confirm && rq.put("/api/weshop/order/updatebyId", { | |
358 | + data: up_data, | |
355 | 359 | success: function (t) { |
356 | 360 | getApp().my_warnning("删除成功",1,th); |
357 | 361 | setTimeout(function () { | ... | ... |
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,270 @@ 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 | + if(good.prom_type==1 || good.prom_type==6){ | |
426 | + if(gg.prom_type!=good.prom_type) | |
427 | + wx.showModal({ | |
428 | + title: '提示', | |
429 | + content: gg.goods_name+'商品的活动发生了变化' | |
430 | + }); | |
431 | + return false; | |
432 | + }else{ | |
433 | + | |
434 | + if(gg.prom_type==1 || gg.prom_type==6){ | |
435 | + var prom=null; | |
436 | + //---如果是活动的时候--- | |
437 | + var prom=null,th=this; | |
438 | + if(gg.prom_type==1){ | |
439 | + await getApp().request.promiseGet("/api/ms/flash_sale/get/"+os.stoid+"/"+gg.prom_id,{ | |
440 | + }).then(res=>{ | |
441 | + if(res.data.code==0){ | |
442 | + prom=res.data.data; | |
443 | + } | |
444 | + }) | |
445 | + } | |
446 | + if(gg.prom_type==6){ | |
447 | + await getApp().request.promiseGet("/api/weshop/teamlist/get/"+os.stoid+"/"+gg.prom_id,{ | |
448 | + }).then(res=>{ | |
449 | + if(res.data.code==0){ | |
450 | + prom=res.data.data; | |
451 | + } | |
452 | + }) | |
453 | + } | |
454 | + | |
455 | + if(prom){ | |
456 | + var t_now=ut.gettimestamp(); | |
457 | + if(prom.is_end==0 && prom.start_time<t_now && prom.end_time>t_now){ | |
458 | + wx.showModal({ | |
459 | + title: '提示', | |
460 | + content: gg.goods_name+'商品的活动发生了变化' | |
461 | + }); | |
462 | + return false; | |
463 | + } | |
464 | + } | |
465 | + } | |
466 | + | |
467 | + | |
468 | + var isok=1; | |
469 | + var card_field=th.data.card_field; | |
470 | + //如果会员是等级会员,商品有等级价,且不是活动商品 | |
471 | + if(card_field && gg[card_field]>0){ | |
472 | + if (good.goods_price != gg[card_field]) isok = 0; | |
473 | + }else{ | |
474 | + if (good.goods_price != gg.shop_price) isok = 0; | |
475 | + | |
476 | + } | |
477 | + if(!isok){ | |
478 | + wx.showModal({ | |
479 | + title: '提示', | |
480 | + content: gg.goods_name+'商品的价格发生了变化' | |
481 | + }); | |
482 | + return false; | |
483 | + } | |
484 | + | |
485 | + //--如果是线下库存的时候-- | |
486 | + if(th.data.conf.sales_rules==2){ | |
487 | + var ob={}; | |
488 | + await th.check_down_line_next(gg,good.goods_num,order.pickup_id,function(obj){ | |
489 | + ob=obj; | |
490 | + }) | |
491 | + if(ob.code==-1){ | |
492 | + wx.showModal({ | |
493 | + title: '提示', | |
494 | + content: gg.goods_name+'门店库存不足' | |
495 | + }); | |
496 | + return false; | |
497 | + } | |
498 | + | |
499 | + }else{ | |
500 | + if(good.goods_num>store_count){ | |
501 | + wx.showModal({ | |
502 | + title: '提示', | |
503 | + content: gg.goods_name+'商品的库存不足' | |
504 | + }); | |
505 | + return false; | |
506 | + } | |
507 | + | |
508 | + } | |
509 | + } | |
510 | + | |
511 | + var prom=null; | |
512 | + //---如果是活动的时候--- | |
513 | + var prom=null,goodsinfo=good,th=this; | |
514 | + if(goodsinfo.prom_type==1){ | |
515 | + await getApp().request.promiseGet("/api/ms/flash_sale/get/"+os.stoid+"/"+goodsinfo.prom_id,{ | |
516 | + }).then(res=>{ | |
517 | + if(res.data.code==0){ | |
518 | + prom=res.data.data; | |
519 | + } | |
520 | + }) | |
521 | + } | |
522 | + if(goodsinfo.prom_type==6){ | |
523 | + await getApp().request.promiseGet("/api/weshop/teamlist/get/"+os.stoid+"/"+goodsinfo.prom_id,{ | |
524 | + }).then(res=>{ | |
525 | + if(res.data.code==0){ | |
526 | + prom=res.data.data; | |
527 | + } | |
528 | + }) | |
529 | + } | |
530 | + //----------如果有活动,并且在进行中,就不计算线下库存--------------- | |
531 | + if(prom){ | |
532 | + var now=ut.gettimestamp(); | |
533 | + if(prom.is_end==1 && prom.end_time<now){ | |
534 | + wx.showModal({ | |
535 | + title: '提示', | |
536 | + content: goodsinfo.goods_name+'商品的活动已经结束' | |
537 | + }); | |
538 | + return false; | |
539 | + } | |
540 | + | |
541 | + buyed_mum2=promgoodsbuynum+good.goods_num; | |
542 | + if (buyed_mum2 > prom.buy_limit && prom.buy_limit > 0) { | |
543 | + wx.showModal({ | |
544 | + title: '提示', | |
545 | + content: goodsinfo.goods_name+'购买数量超出商品活动限购' | |
546 | + }); | |
547 | + return false; | |
548 | + } | |
549 | + | |
550 | + var redis_num = 0; | |
551 | + //------判断活动是否抢光----- | |
552 | + await getApp().request.promiseGet("/api/weshop/activitylist/getActLen/" + | |
553 | + os.stoid + "/" + goodsinfo.prom_type + "/" + goodsinfo.prom_id, { | |
554 | + }).then(res => { | |
555 | + redis_num = res.data.data; | |
556 | + }); | |
557 | + | |
558 | + if (good.goods_num > redis_num) { | |
559 | + wx.showModal({ | |
560 | + title: gg.goods_name+'超出商品活动库存', | |
561 | + }); | |
562 | + return false; | |
563 | + } | |
564 | + } | |
565 | + | |
566 | + | |
567 | + } | |
568 | + th.pay_next(e); | |
383 | 569 | }, |
384 | - | |
570 | + | |
571 | + | |
572 | + pay_next(e){ | |
573 | + if (e.order_amount == 0) { | |
574 | + var dd = { | |
575 | + parent_sn: e.order_sn, | |
576 | + store_id: e.store_id, | |
577 | + type: 1, | |
578 | + }; | |
579 | + getApp().request.post("/api/weshop/order/pay/createOrder", { | |
580 | + data: dd, | |
581 | + success: function(t) { | |
582 | + if (t.data.code == 0) { | |
583 | + th.onload(); | |
584 | + } else { | |
585 | + getApp().confirmBox(t.data.msg + "请您取消该订单"); | |
586 | + } | |
587 | + } | |
588 | + }) | |
589 | + return false; | |
590 | + } | |
591 | + a.jumpToCart4({ | |
592 | + order_sn: e.order_sn, | |
593 | + order_amount: e.order_amount, | |
594 | + type: 1 //正常单 | |
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 | + lock=res.data.data.pageData[0].outQty; | |
608 | + } | |
609 | + }) | |
610 | + //先获取门店的编号 | |
611 | + await getApp().request.promiseGet("/api/weshop/pickup/get/"+os.stoid+"/"+pick_id,{ | |
612 | + data:{storeId:os.stoid,goodsId:gg.goods_id,pickupId:pick_id} | |
613 | + }).then(res=>{ | |
614 | + if(res.data.code==0){ | |
615 | + pick_no=res.data.data.pickup_no; | |
616 | + } | |
617 | + }) | |
618 | + //读取线下的门店库存 | |
619 | + await getApp().request.promiseGet("/api/weshop/goods/getWareStorages",{ | |
620 | + data:{storageNos:pick_no,wareIds:encodeURIComponent(gg.erpwareid),storeId:os.stoid} | |
621 | + }).then(res=>{ | |
622 | + if(res.data.code==0){ | |
623 | + plist=res.data.data.pageData[0]; | |
624 | + } | |
625 | + }) | |
626 | + var ob={}; ob.code=1; | |
627 | + if(num>plist.CanOutQty-lock){ | |
628 | + ob.code=-1; | |
629 | + ob.CanOutQty=plist.CanOutQty-lock | |
630 | + if(ob.CanOutQty<0) ob.CanOutQty=0; | |
631 | + } | |
632 | + func(ob) | |
633 | + }, | |
634 | + | |
635 | + | |
636 | + | |
385 | 637 | //------图片失败,默认图片--------- |
386 | 638 | bind_bnerr: function(e) { |
387 | 639 | var _errImg = e.currentTarget.dataset.errorimg; | ... | ... |
pages/user/order_list/order_list.wxml
... | ... | @@ -24,7 +24,9 @@ |
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> |
... | ... | @@ -32,7 +34,7 @@ |
32 | 34 | <block wx:else>退款中</block> |
33 | 35 | <view class="flex" wx:if="{{(item.order_status==0&&item.pay_status==0)}}"> |
34 | 36 | <view class="lin"></view> |
35 | - <image src="{{iurl}}miniapp/images/trash.png" bindtap="deleteOrderData" data-order_id="{{item.order_id}}"></image> | |
37 | + <image src="{{iurl}}miniapp/images/trash.png" bindtap="deleteOrderData" data-index="{{index}}" data-order_id="{{item.order_id}}"></image> | |
36 | 38 | </view> |
37 | 39 | </view> |
38 | 40 | </view> |
... | ... | @@ -126,8 +128,6 @@ |
126 | 128 | </view> |
127 | 129 | <view class="links flex-right-vertical fs30"> |
128 | 130 | <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 | 131 | <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 | 132 | <view class="commodity_To_evaluate flex-level View_evaluation" wx:if="{{item.pt_status==3}}">拼团失败</view> |
133 | 133 | <!---has_rt部分退----> |
... | ... | @@ -136,7 +136,7 @@ |
136 | 136 | <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 | 137 | </block> |
138 | 138 | <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> | |
139 | + <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 | 140 | <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 | 141 | <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 | 142 | </block> | ... | ... |
pages/user/order_list/order_list.wxss