Commit 7801de3f3da0171e69ecb6ada9a252433e1bcd44
Merge branch 'test' into 'qa'
Test See merge request !365
Showing
18 changed files
with
2062 additions
and
633 deletions
app.js
@@ -395,6 +395,23 @@ App({ | @@ -395,6 +395,23 @@ App({ | ||
395 | if(n>15) clearInterval(page.data[key]); | 395 | if(n>15) clearInterval(page.data[key]); |
396 | },1000); | 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 | var t = getApp(), | 1 | var t = getApp(), |
2 | a = t.request, | 2 | a = t.request, |
3 | oo = t.globalData.setting, | 3 | oo = t.globalData.setting, |
4 | + os=oo, | ||
4 | app = getApp(), | 5 | app = getApp(), |
5 | rq = t.request, | 6 | rq = t.request, |
6 | ut = require("../../../utils/util.js"); | 7 | ut = require("../../../utils/util.js"); |
@@ -26,13 +27,24 @@ Page({ | @@ -26,13 +27,24 @@ Page({ | ||
26 | isadd: 0, //是否可以加商品数量 | 27 | isadd: 0, //是否可以加商品数量 |
27 | 28 | ||
28 | card_field:"", | 29 | card_field:"", |
30 | + bconf:null, | ||
31 | + | ||
29 | }, | 32 | }, |
30 | 33 | ||
31 | onLoad: function() { | 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 | wx.setNavigationBarTitle({ | 44 | wx.setNavigationBarTitle({ |
33 | title: "购物车", | 45 | title: "购物车", |
34 | }) | 46 | }) |
35 | - var a = this; | 47 | + |
36 | //判断是否有登陆 | 48 | //判断是否有登陆 |
37 | t.auth.hadAuth() && t.getUserInfo(function() { | 49 | t.auth.hadAuth() && t.getUserInfo(function() { |
38 | a.getCardList(); | 50 | a.getCardList(); |
@@ -117,6 +129,8 @@ Page({ | @@ -117,6 +129,8 @@ Page({ | ||
117 | var all_num = 0; | 129 | var all_num = 0; |
118 | 130 | ||
119 | for (var i = 0; i < carr.length; i++) { | 131 | for (var i = 0; i < carr.length; i++) { |
132 | + | ||
133 | + | ||
120 | var item = carr[i]; | 134 | var item = carr[i]; |
121 | all_num += item.goods_num; | 135 | all_num += item.goods_num; |
122 | item.original_img = oo.imghost + item.original_img; | 136 | item.original_img = oo.imghost + item.original_img; |
@@ -427,7 +441,7 @@ Page({ | @@ -427,7 +441,7 @@ Page({ | ||
427 | 441 | ||
428 | //----------------------更新购物数量,加减,调用接口--------------------- | 442 | //----------------------更新购物数量,加减,调用接口--------------------- |
429 | postCardList: function(t, item, pitem) { | 443 | postCardList: function(t, item, pitem) { |
430 | - var e = this; | 444 | + var e = this,th=e; |
431 | var user_id = getApp().globalData.user_id; | 445 | var user_id = getApp().globalData.user_id; |
432 | console.log('update'); | 446 | console.log('update'); |
433 | console.log(t); | 447 | console.log(t); |
@@ -436,11 +450,12 @@ Page({ | @@ -436,11 +450,12 @@ Page({ | ||
436 | async success(d) { | 450 | async success(d) { |
437 | var limit = d.data.data.viplimited; | 451 | var limit = d.data.data.viplimited; |
438 | var store_count = d.data.data.store_count; | 452 | var store_count = d.data.data.store_count; |
453 | + var wareIds=d.data.data.erpwareid; | ||
439 | 454 | ||
440 | var goodsinfo = e.data.requestData[pitem].goods[item]; | 455 | var goodsinfo = e.data.requestData[pitem].goods[item]; |
441 | var promgoodsbuynum = 0; | 456 | var promgoodsbuynum = 0; |
442 | var goodsbuynum = 0; | 457 | var goodsbuynum = 0; |
443 | - | 458 | + |
444 | //--要获得商品,该用户买了多少件,同步应用-- | 459 | //--要获得商品,该用户买了多少件,同步应用-- |
445 | await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", { | 460 | await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", { |
446 | data: { | 461 | data: { |
@@ -455,6 +470,7 @@ Page({ | @@ -455,6 +470,7 @@ Page({ | ||
455 | if (buy_num_data.promgoodsbuynum) promgoodsbuynum = buy_num_data.promgoodsbuynum; | 470 | if (buy_num_data.promgoodsbuynum) promgoodsbuynum = buy_num_data.promgoodsbuynum; |
456 | goodsbuynum = buy_num_data.goodsbuynum; | 471 | goodsbuynum = buy_num_data.goodsbuynum; |
457 | }) | 472 | }) |
473 | + | ||
458 | 474 | ||
459 | var buyed_mum2 = t.goods_num + goodsbuynum; | 475 | var buyed_mum2 = t.goods_num + goodsbuynum; |
460 | if (buyed_mum2 > limit && limit > 0) { | 476 | if (buyed_mum2 > limit && limit > 0) { |
@@ -463,86 +479,206 @@ Page({ | @@ -463,86 +479,206 @@ Page({ | ||
463 | content: '购买数量超出商品限购' | 479 | content: '购买数量超出商品限购' |
464 | }); | 480 | }); |
465 | var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num"; | 481 | var txt = "requestData[" + pitem + "].goods[" + item + "].goods_num"; |
466 | - var cbuy = limit - buyed_mum; | 482 | + var cbuy = limit - buyed_mum2; |
467 | e.setData({ | 483 | e.setData({ |
468 | [txt]: cbuy > 0 ? cbuy : 0, | 484 | [txt]: cbuy > 0 ? cbuy : 0, |
469 | }); | 485 | }); |
470 | e.doCheckAll(); | 486 | e.doCheckAll(); |
487 | + | ||
488 | + t.goods_num=cbuy > 0 ? cbuy : 0, | ||
489 | + e.update_cart(t, pitem, item); | ||
471 | return false; | 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 | if (goodsinfo.prom_type == 1) { | 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 | isShowLoading: 0, | 497 | isShowLoading: 0, |
491 | success: function(res_d) { | 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 | update_cart: function(t, pitem, item) { | 682 | update_cart: function(t, pitem, item) { |
547 | var e = this; | 683 | var e = this; |
548 | getApp().request.put("/api/weshop/cart/update", { | 684 | getApp().request.put("/api/weshop/cart/update", { |
@@ -573,7 +709,7 @@ Page({ | @@ -573,7 +709,7 @@ Page({ | ||
573 | var th = this; | 709 | var th = this; |
574 | 710 | ||
575 | var ab = 0; //选中 | 711 | var ab = 0; //选中 |
576 | - console.log('checkout'); | 712 | + wx.showLoading(); |
577 | for (var i = 0; i < this.data.requestData.length; i++) { | 713 | for (var i = 0; i < this.data.requestData.length; i++) { |
578 | var i_arr = this.data.requestData[i].goods; | 714 | var i_arr = this.data.requestData[i].goods; |
579 | for (var j = 0; j < i_arr.length; j++) { | 715 | for (var j = 0; j < i_arr.length; j++) { |
@@ -594,6 +730,25 @@ Page({ | @@ -594,6 +730,25 @@ Page({ | ||
594 | } | 730 | } |
595 | glist += i_arr[j].goods_id + ","; | 731 | glist += i_arr[j].goods_id + ","; |
596 | ab = 1; | 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 | } else { | 752 | } else { |
598 | rq.put("/api/weshop/cart/update", { | 753 | rq.put("/api/weshop/cart/update", { |
599 | data: { | 754 | data: { |
@@ -610,6 +765,7 @@ Page({ | @@ -610,6 +765,7 @@ Page({ | ||
610 | } | 765 | } |
611 | if (ab == 0) { | 766 | if (ab == 0) { |
612 | t.my_warnning("未选择商品", 0, th); | 767 | t.my_warnning("未选择商品", 0, th); |
768 | + wx.hideLoading(); | ||
613 | return false; | 769 | return false; |
614 | } | 770 | } |
615 | 771 | ||
@@ -657,7 +813,8 @@ Page({ | @@ -657,7 +813,8 @@ Page({ | ||
657 | } | 813 | } |
658 | 814 | ||
659 | try { | 815 | try { |
660 | - ddata.forEach(function(val, ind) { | 816 | + for(var ind in ddata) { |
817 | + var val=ddata[ind]; | ||
661 | var num = map.get(val.goods_id + ""); | 818 | var num = map.get(val.goods_id + ""); |
662 | if (num <= 0) { | 819 | if (num <= 0) { |
663 | isok = 0; | 820 | isok = 0; |
@@ -665,12 +822,25 @@ Page({ | @@ -665,12 +822,25 @@ Page({ | ||
665 | throw "购买数量不能为0"; | 822 | throw "购买数量不能为0"; |
666 | return false; | 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 | if (num > val.redisnum && val.redisnum) { | 844 | if (num > val.redisnum && val.redisnum) { |
675 | isok = 0; | 845 | isok = 0; |
676 | gname = val.goods_name; | 846 | gname = val.goods_name; |
@@ -712,7 +882,7 @@ Page({ | @@ -712,7 +882,7 @@ Page({ | ||
712 | throw "商品价格已经变化"; | 882 | throw "商品价格已经变化"; |
713 | } | 883 | } |
714 | }else{ | 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 | isok = 0; | 886 | isok = 0; |
717 | gname = val.goods_name; | 887 | gname = val.goods_name; |
718 | throw "商品价格已经变化"; | 888 | throw "商品价格已经变化"; |
@@ -733,14 +903,16 @@ Page({ | @@ -733,14 +903,16 @@ Page({ | ||
733 | } | 903 | } |
734 | } | 904 | } |
735 | 905 | ||
736 | - }) | 906 | + } |
737 | } catch (e) { | 907 | } catch (e) { |
738 | err = e; | 908 | err = e; |
739 | } | 909 | } |
740 | if (isok == 0) { | 910 | if (isok == 0) { |
741 | t.confirmBox(gname + ":" + err); | 911 | t.confirmBox(gname + ":" + err); |
912 | + wx.hideLoading(); | ||
742 | return false; | 913 | return false; |
743 | } | 914 | } |
915 | + wx.hideLoading(); | ||
744 | wx.navigateTo({ | 916 | wx.navigateTo({ |
745 | url: "/pages/cart/cart2/cart2" | 917 | url: "/pages/cart/cart2/cart2" |
746 | }); | 918 | }); |
@@ -821,6 +993,8 @@ Page({ | @@ -821,6 +993,8 @@ Page({ | ||
821 | wx.switchTab({ | 993 | wx.switchTab({ |
822 | url: '/pages/index/index/index', | 994 | url: '/pages/index/index/index', |
823 | }) | 995 | }) |
824 | - } | 996 | + }, |
997 | + | ||
998 | + | ||
825 | 999 | ||
826 | }); | 1000 | }); |
827 | \ No newline at end of file | 1001 | \ No newline at end of file |
pages/cart/cart2/cart2.js
1 | var t = getApp(),app=t, a = t.request, e = require("../../../utils/common.js"), | 1 | var t = getApp(),app=t, a = t.request, e = require("../../../utils/common.js"), |
2 | s = require("../../../utils/util.js"), o = require("../../../utils/md5.js"), to = getApp(); | 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 | var regeneratorRuntime = require('../../../utils/runtime.js'); | 4 | var regeneratorRuntime = require('../../../utils/runtime.js'); |
5 | var util_pay = require("../../../utils/pay.js"); | 5 | var util_pay = require("../../../utils/pay.js"); |
6 | 6 | ||
@@ -84,6 +84,9 @@ Page({ | @@ -84,6 +84,9 @@ Page({ | ||
84 | is_coupon:null, //选择券的控制属性 | 84 | is_coupon:null, //选择券的控制属性 |
85 | is_shipping_code:"",//插入用户默认地址 | 85 | is_shipping_code:"",//插入用户默认地址 |
86 | wu_arr_txt:"", //要更新的物流的字段 | 86 | wu_arr_txt:"", //要更新的物流的字段 |
87 | + | ||
88 | + sales_rules:1, //默认是显示线上库存 | ||
89 | + | ||
87 | }, | 90 | }, |
88 | onLoad: function(t) { | 91 | onLoad: function(t) { |
89 | 92 | ||
@@ -101,7 +104,7 @@ Page({ | @@ -101,7 +104,7 @@ Page({ | ||
101 | //先获取是否有关闭使用优惠券 | 104 | //先获取是否有关闭使用优惠券 |
102 | getApp().getConfig2(function (ee) { | 105 | getApp().getConfig2(function (ee) { |
103 | var json_d = JSON.parse(ee.switch_list); | 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 | th.get_wuliu(th.get_info(th.show_page)); | 109 | th.get_wuliu(th.get_info(th.show_page)); |
107 | }) | 110 | }) |
@@ -698,7 +701,7 @@ Page({ | @@ -698,7 +701,7 @@ Page({ | ||
698 | }, | 701 | }, |
699 | 702 | ||
700 | //--------------------提交订单----------------------- | 703 | //--------------------提交订单----------------------- |
701 | - submitForm: function(t) { | 704 | + async submitForm(t){ |
702 | if(this.data.is_summit_ing==1) return false; //--提交中退出-- | 705 | if(this.data.is_summit_ing==1) return false; //--提交中退出-- |
703 | this.data.is_summit_ing=1; | 706 | this.data.is_summit_ing=1; |
704 | var th=this,pdata=new Array(); | 707 | var th=this,pdata=new Array(); |
@@ -772,7 +775,20 @@ Page({ | @@ -772,7 +775,20 @@ Page({ | ||
772 | 'prom_type':th.data.bn_goods.prom_type, //促销活动类型 | 775 | 'prom_type':th.data.bn_goods.prom_type, //促销活动类型 |
773 | 'prom_id': th.data.bn_goods.prom_id, //促销活动id | 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 | if(th.data.formData.coupon_price){ | 793 | if(th.data.formData.coupon_price){ |
778 | item.coupon_price=th.data.formData.coupon_price; | 794 | item.coupon_price=th.data.formData.coupon_price; |
@@ -868,6 +884,20 @@ Page({ | @@ -868,6 +884,20 @@ Page({ | ||
868 | }else{ | 884 | }else{ |
869 | goods.prom_type = 0;goods.prom_id =0; | 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 | item.order_goods.push(goods); | 901 | item.order_goods.push(goods); |
872 | } | 902 | } |
873 | pdata.push(item); | 903 | pdata.push(item); |
@@ -975,6 +1005,50 @@ Page({ | @@ -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 | useCoupon: function() { | 1053 | useCoupon: function() { |
980 | if (this.data.order.couponNum <= 0) { | 1054 | if (this.data.order.couponNum <= 0) { |
pages/cart/cart2/cart2.wxml
@@ -376,7 +376,7 @@ | @@ -376,7 +376,7 @@ | ||
376 | <block>{{item.Sum}}元优惠券</block> | 376 | <block>{{item.Sum}}元优惠券</block> |
377 | </view> | 377 | </view> |
378 | <view class="coupon-time"> | 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 | </view> | 380 | </view> |
381 | </view> | 381 | </view> |
382 | <!-- <view wx:if="{{item.Obtain>0}}" class="code-img" bindtap="show_quan" data-ind="{{index}}" data-now="{{filter.format_time(now)}}"> | 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,8 +125,8 @@ Page({ | ||
125 | pickpu_list: null, //读出的所有门店list | 125 | pickpu_list: null, //读出的所有门店list |
126 | def_pickpu_list: null, //一开始5个门店list | 126 | def_pickpu_list: null, //一开始5个门店list |
127 | sec_pick_index: 0, //第二级门店选择ID | 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 | sku_g: null, | 131 | sku_g: null, |
132 | sku_g_pt: null, //---拼单的普通购买--- | 132 | sku_g_pt: null, //---拼单的普通购买--- |
@@ -219,6 +219,7 @@ Page({ | @@ -219,6 +219,7 @@ Page({ | ||
219 | new_user: 0, //新用户 | 219 | new_user: 0, //新用户 |
220 | 220 | ||
221 | def_pick_store: null, // 默认的门店 | 221 | def_pick_store: null, // 默认的门店 |
222 | + fir_def_store:null, //客户默认的门店的 | ||
222 | lat: null, //维度 | 223 | lat: null, //维度 |
223 | lon: null, //经度 | 224 | lon: null, //经度 |
224 | 225 | ||
@@ -233,11 +234,13 @@ Page({ | @@ -233,11 +234,13 @@ Page({ | ||
233 | is_collect_load:0, //是不是处理 | 234 | is_collect_load:0, //是不是处理 |
234 | is_newsales_rules:0, //是否开启最新的门店规则,此时会新读门店,当点击选择门店时会触发读取线下库存 | 235 | is_newsales_rules:0, //是否开启最新的门店规则,此时会新读门店,当点击选择门店时会触发读取线下库存 |
235 | sales_rules:1, //默认是线上销售 | 236 | sales_rules:1, //默认是线上销售 |
237 | + | ||
238 | + wait_for_user_store:null, | ||
239 | + | ||
236 | }, | 240 | }, |
237 | 241 | ||
238 | //------初始化加载---------- | 242 | //------初始化加载---------- |
239 | onLoad: function(t) { | 243 | onLoad: function(t) { |
240 | - | ||
241 | wx.setNavigationBarTitle({ | 244 | wx.setNavigationBarTitle({ |
242 | title: "商品详情", | 245 | title: "商品详情", |
243 | }) | 246 | }) |
@@ -279,6 +282,7 @@ Page({ | @@ -279,6 +282,7 @@ Page({ | ||
279 | var json_d = JSON.parse(e.switch_list); | 282 | var json_d = JSON.parse(e.switch_list); |
280 | ee.setData({ | 283 | ee.setData({ |
281 | store_config: e, | 284 | store_config: e, |
285 | + sys_switch:json_d, | ||
282 | is_closecoupon: json_d.is_closecoupon, | 286 | is_closecoupon: json_d.is_closecoupon, |
283 | is_newsales_rules:json_d.is_newsales_rules | 287 | is_newsales_rules:json_d.is_newsales_rules |
284 | }); | 288 | }); |
@@ -296,31 +300,30 @@ Page({ | @@ -296,31 +300,30 @@ Page({ | ||
296 | //---如果后台又开等级卡的开关--- | 300 | //---如果后台又开等级卡的开关--- |
297 | if(sw_arr.rank_switch && sw_arr.rank_switch=="2"){ | 301 | if(sw_arr.rank_switch && sw_arr.rank_switch=="2"){ |
298 | th.setData({rank_switch:true}); | 302 | th.setData({rank_switch:true}); |
299 | - | ||
300 | //---回调卡的列表--- | 303 | //---回调卡的列表--- |
301 | th.getPlusCardType(function(ob){ | 304 | th.getPlusCardType(function(ob){ |
302 | th.setData({card_list:ob.card_list}); | 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,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 | var appd=getApp().globalData; | 345 | var appd=getApp().globalData; |
343 | var w_time = setInterval(function() { | 346 | var w_time = setInterval(function() { |
344 | if (that.data.is_get_local_ok == 0) return false; | 347 | if (that.data.is_get_local_ok == 0) return false; |
345 | clearInterval(w_time); | 348 | clearInterval(w_time); |
346 | var distance = null; | 349 | var distance = null; |
350 | + var e=JSON.parse(JSON.stringify(ee)); | ||
347 | 351 | ||
348 | //如果有开启近距离的话,同时距离优不一样了 | 352 | //如果有开启近距离的话,同时距离优不一样了 |
349 | if (that.data.lat != null) { | 353 | if (that.data.lat != null) { |
350 | //如果经纬度有变化的话 | 354 | //如果经纬度有变化的话 |
351 | if( appd.lat==that.data.lat && appd.lon==that.data.lon && e.distance>0 ){ | 355 | if( appd.lat==that.data.lat && appd.lon==that.data.lon && e.distance>0 ){ |
356 | + that.data.fir_def_store=e; | ||
352 | that.setData({ | 357 | that.setData({ |
353 | def_pick_store: e, | 358 | def_pick_store: e, |
354 | sto_sele_name: e.pickup_name, | 359 | sto_sele_name: e.pickup_name, |
355 | sto_sele_id: e.pickup_id, | 360 | sto_sele_id: e.pickup_id, |
356 | sto_sele_distr: e.distr_type | 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 | //e.distance = distance; | 385 | //e.distance = distance; |
@@ -386,18 +389,16 @@ Page({ | @@ -386,18 +389,16 @@ Page({ | ||
386 | }else{ | 389 | }else{ |
387 | if (e) { | 390 | if (e) { |
388 | e.distance = null; | 391 | e.distance = null; |
392 | + that.data.fir_def_store=e; | ||
389 | that.setData({ | 393 | that.setData({ |
390 | def_pick_store: e, | 394 | def_pick_store: e, |
391 | sto_sele_name: e.pickup_name, | 395 | sto_sele_name: e.pickup_name, |
392 | sto_sele_id: e.pickup_id, | 396 | sto_sele_id: e.pickup_id, |
393 | sto_sele_distr: e.distr_type | 397 | sto_sele_distr: e.distr_type |
394 | }) | 398 | }) |
395 | - } | ||
396 | - | ||
397 | - | 399 | + } |
398 | } | 400 | } |
399 | - | ||
400 | - | 401 | + |
401 | }, 500) | 402 | }, 500) |
402 | }); | 403 | }); |
403 | 404 | ||
@@ -548,7 +549,7 @@ Page({ | @@ -548,7 +549,7 @@ Page({ | ||
548 | 549 | ||
549 | //---展示--- | 550 | //---展示--- |
550 | onShow: function() { | 551 | onShow: function() { |
551 | - var goods_list = null,th = this; | 552 | + var goods_list = null,th = this,that=this; |
552 | var ui = setInterval(function () { | 553 | var ui = setInterval(function () { |
553 | goods_list = th.selectComponent("#goods_list"); | 554 | goods_list = th.selectComponent("#goods_list"); |
554 | if (goods_list) { | 555 | if (goods_list) { |
@@ -620,13 +621,56 @@ Page({ | @@ -620,13 +621,56 @@ Page({ | ||
620 | ee.setData({ | 621 | ee.setData({ |
621 | data: t.data.data, | 622 | data: t.data.data, |
622 | sele_g: t.data.data, | 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 | else { | 674 | else { |
631 | var gg = "", | 675 | var gg = "", |
632 | item = t.data.data; | 676 | item = t.data.data; |
@@ -693,11 +737,6 @@ Page({ | @@ -693,11 +737,6 @@ Page({ | ||
693 | }); | 737 | }); |
694 | this.data.enterAddressPage && (this.data.enterAddressPage = !1); | 738 | this.data.enterAddressPage && (this.data.enterAddressPage = !1); |
695 | 739 | ||
696 | - | ||
697 | - | ||
698 | - | ||
699 | - | ||
700 | - | ||
701 | }, | 740 | }, |
702 | enterAddress: function() { | 741 | enterAddress: function() { |
703 | this.data.enterAddressPage = !0, wx.navigateTo({ | 742 | this.data.enterAddressPage = !0, wx.navigateTo({ |
@@ -810,6 +849,7 @@ Page({ | @@ -810,6 +849,7 @@ Page({ | ||
810 | addCart: function(t) { | 849 | addCart: function(t) { |
811 | var th = this; | 850 | var th = this; |
812 | var ind = t.currentTarget.dataset.openSpecModal_ind; | 851 | var ind = t.currentTarget.dataset.openSpecModal_ind; |
852 | + if(!ind) ind = t.currentTarget.dataset.openspecmodal_ind; | ||
813 | th.setData({ | 853 | th.setData({ |
814 | open_ind_store: ind | 854 | open_ind_store: ind |
815 | }); | 855 | }); |
@@ -836,9 +876,8 @@ Page({ | @@ -836,9 +876,8 @@ Page({ | ||
836 | var e = this, | 876 | var e = this, |
837 | th = e, | 877 | th = e, |
838 | a = 0, | 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 | e.get_buy_num(o, function(ee) { | 883 | e.get_buy_num(o, function(ee) { |
@@ -864,7 +903,6 @@ Page({ | @@ -864,7 +903,6 @@ Page({ | ||
864 | } | 903 | } |
865 | 904 | ||
866 | if (th.data.goodsInputNum <= 0) return s.my_warnning("商品数量不能为0", 0, th); | 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 | if (th.data.sto_sele_name == null || th.data.sto_sele_name == undefined) | 906 | if (th.data.sto_sele_name == null || th.data.sto_sele_name == undefined) |
869 | this.setData({ | 907 | this.setData({ |
870 | sto_sele_name: "" | 908 | sto_sele_name: "" |
@@ -889,20 +927,81 @@ Page({ | @@ -889,20 +927,81 @@ Page({ | ||
889 | if (th.data.prom_type == 1) { | 927 | if (th.data.prom_type == 1) { |
890 | newd.goods_price = th.data.prom_price; | 928 | newd.goods_price = th.data.prom_price; |
891 | newd.member_goods_price = th.data.prom_price, | 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 | newd.prom_id = th.data.prom_id; | 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 | newd.prom_type = 0; | 939 | newd.prom_type = 0; |
896 | newd.prom_id = 0; | 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 | if(o.prom_type!=1 && o.prom_type!=6){ | 994 | if(o.prom_type!=1 && o.prom_type!=6){ |
901 | var conf=th.data.bconfig; | 995 | var conf=th.data.bconfig; |
902 | - if(conf.switch_list){ | 996 | + if (conf.switch_list && getApp().globalData.userInfo['card_field']){ |
903 | var s_list=JSON.parse(conf.switch_list); | 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 | var card_price=o[getApp().globalData.userInfo['card_field']]; | 1005 | var card_price=o[getApp().globalData.userInfo['card_field']]; |
907 | //如果会员有等级价 | 1006 | //如果会员有等级价 |
908 | if(getApp().globalData.userInfo['card_field']!=undefined && getApp().globalData.userInfo['card_field']!=null | 1007 | if(getApp().globalData.userInfo['card_field']!=undefined && getApp().globalData.userInfo['card_field']!=null |
@@ -912,64 +1011,82 @@ Page({ | @@ -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 | buyVirtualGoods: function(e) { | 1091 | buyVirtualGoods: function(e) { |
975 | Object.assign(e, { | 1092 | Object.assign(e, { |
@@ -1018,10 +1135,17 @@ Page({ | @@ -1018,10 +1135,17 @@ Page({ | ||
1018 | 1135 | ||
1019 | //--判断商品是否超出限购-- | 1136 | //--判断商品是否超出限购-- |
1020 | if (th.data.g_buy_num != null && th.data.sele_g.viplimited > 0) { | 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 | wx.showModal({ | 1142 | wx.showModal({ |
1023 | title: '超出商品限购', | 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 | return false; | 1149 | return false; |
1026 | } | 1150 | } |
1027 | } | 1151 | } |
@@ -1032,6 +1156,10 @@ Page({ | @@ -1032,6 +1156,10 @@ Page({ | ||
1032 | wx.showModal({ | 1156 | wx.showModal({ |
1033 | title: '超出商品活动限购', | 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 | return false; | 1163 | return false; |
1036 | } | 1164 | } |
1037 | } | 1165 | } |
@@ -1049,17 +1177,31 @@ Page({ | @@ -1049,17 +1177,31 @@ Page({ | ||
1049 | if (t > redis_num) { | 1177 | if (t > redis_num) { |
1050 | wx.showModal({ | 1178 | wx.showModal({ |
1051 | title: '超出商品活动库存', | 1179 | title: '超出商品活动库存', |
1052 | - }); | 1180 | + }); |
1181 | + th.setData({goodsInputNum:redis_num}) | ||
1053 | return false; | 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,7 +1415,7 @@ Page({ | ||
1273 | 1415 | ||
1274 | //----------装载同一条形码的商品---------- | 1416 | //----------装载同一条形码的商品---------- |
1275 | async get_sku(stoid, sku, g_id, is_normal, func) { | 1417 | async get_sku(stoid, sku, g_id, is_normal, func) { |
1276 | - var tt = this; | 1418 | + var tt = this,arrdata=null; |
1277 | await getApp().request.promiseGet("/api/weshop/goods/page", { | 1419 | await getApp().request.promiseGet("/api/weshop/goods/page", { |
1278 | data: { | 1420 | data: { |
1279 | store_id: o.stoid, | 1421 | store_id: o.stoid, |
@@ -1282,17 +1424,38 @@ Page({ | @@ -1282,17 +1424,38 @@ Page({ | ||
1282 | is_on_sale: 1 | 1424 | is_on_sale: 1 |
1283 | } | 1425 | } |
1284 | }).then(res => { | 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 | if(item.goods_spec=="null" || item.goods_spec==null) item.goods_spec=""; | 1459 | if(item.goods_spec=="null" || item.goods_spec==null) item.goods_spec=""; |
1297 | if(item.goods_color=="null" || item.goods_color==null) item.goods_color=""; | 1460 | if(item.goods_color=="null" || item.goods_color==null) item.goods_color=""; |
1298 | 1461 | ||
@@ -1324,13 +1487,12 @@ Page({ | @@ -1324,13 +1487,12 @@ Page({ | ||
1324 | sku_g: arrsku, | 1487 | sku_g: arrsku, |
1325 | sele_g: gitem | 1488 | sele_g: gitem |
1326 | }); | 1489 | }); |
1327 | - } | ||
1328 | - } | ||
1329 | - }) | 1490 | + } |
1330 | }, | 1491 | }, |
1331 | 1492 | ||
1332 | //-----------选择属性的按钮事件---------- | 1493 | //-----------选择属性的按钮事件---------- |
1333 | sele_spec: function(e) { | 1494 | sele_spec: function(e) { |
1495 | + var that=this,ee=this,th=this; | ||
1334 | var gid = e.currentTarget.dataset.gid; | 1496 | var gid = e.currentTarget.dataset.gid; |
1335 | var sku_g = this.data.sku_g; | 1497 | var sku_g = this.data.sku_g; |
1336 | var item = null; | 1498 | var item = null; |
@@ -1343,11 +1505,93 @@ Page({ | @@ -1343,11 +1505,93 @@ Page({ | ||
1343 | if (item) this.setData({ | 1505 | if (item) this.setData({ |
1344 | sele_g: item, | 1506 | sele_g: item, |
1345 | gid: gid | 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 | get_sto(e) { | 1593 | get_sto(e) { |
1350 | - var th = this; | 1594 | + var th = this,that=this; |
1351 | var timer_get = setInterval(function() { | 1595 | var timer_get = setInterval(function() { |
1352 | if (th.data.is_get_local_ok == 0) return false; | 1596 | if (th.data.is_get_local_ok == 0) return false; |
1353 | var dd = null, | 1597 | var dd = null, |
@@ -1358,13 +1602,13 @@ Page({ | @@ -1358,13 +1602,13 @@ Page({ | ||
1358 | store_id: o.stoid, | 1602 | store_id: o.stoid, |
1359 | distr_type: g_distr_type, | 1603 | distr_type: g_distr_type, |
1360 | isstop: 0, | 1604 | isstop: 0, |
1361 | - pageSize: 300 | 1605 | + pageSize: 2000 |
1362 | } | 1606 | } |
1363 | } else { | 1607 | } else { |
1364 | dd = { | 1608 | dd = { |
1365 | store_id: o.stoid, | 1609 | store_id: o.stoid, |
1366 | isstop: 0, | 1610 | isstop: 0, |
1367 | - pageSize: 300 | 1611 | + pageSize: 2000 |
1368 | } | 1612 | } |
1369 | } | 1613 | } |
1370 | //如果有距离的话 | 1614 | //如果有距离的话 |
@@ -1379,15 +1623,16 @@ Page({ | @@ -1379,15 +1623,16 @@ Page({ | ||
1379 | }).then(res => { | 1623 | }).then(res => { |
1380 | var e = res; | 1624 | var e = res; |
1381 | if (e.data.code == 0) { | 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 | th.setData({ | 1629 | th.setData({ |
1386 | def_pick_store:e.data.data.pageData[0], | 1630 | def_pick_store:e.data.data.pageData[0], |
1387 | sto_sele_name: e.data.data.pageData[0].pickup_name, | 1631 | sto_sele_name: e.data.data.pageData[0].pickup_name, |
1388 | sto_sele_id: e.data.data.pageData[0].pickup_id, | 1632 | sto_sele_id: e.data.data.pageData[0].pickup_id, |
1389 | sto_sele_distr: e.data.data.pageData[0].distr_type | 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,152 +1646,260 @@ Page({ | ||
1401 | e.data.data.pageData.splice(0, 0, th.data.def_pick_store); //添加 | 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 | }, 200) | 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,6 +2060,7 @@ Page({ | ||
1707 | isshow: 1, | 2060 | isshow: 1, |
1708 | }); | 2061 | }); |
1709 | ee.get_sku(os.stoid, ee.data.data.sku, gid); | 2062 | ee.get_sku(os.stoid, ee.data.data.sku, gid); |
2063 | + ee.get_sto(); | ||
1710 | return false; | 2064 | return false; |
1711 | } | 2065 | } |
1712 | //----已经过期----- | 2066 | //----已经过期----- |
@@ -1727,6 +2081,7 @@ Page({ | @@ -1727,6 +2081,7 @@ Page({ | ||
1727 | isshow: 1, | 2081 | isshow: 1, |
1728 | }); | 2082 | }); |
1729 | ee.get_sku(os.stoid, ee.data.data.sku, gid); | 2083 | ee.get_sku(os.stoid, ee.data.data.sku, gid); |
2084 | + ee.get_sto(); | ||
1730 | return false; | 2085 | return false; |
1731 | } | 2086 | } |
1732 | 2087 | ||
@@ -1744,6 +2099,8 @@ Page({ | @@ -1744,6 +2099,8 @@ Page({ | ||
1744 | prom_start_time: prom_start_time, | 2099 | prom_start_time: prom_start_time, |
1745 | isshow: 1, | 2100 | isshow: 1, |
1746 | }); | 2101 | }); |
2102 | + | ||
2103 | + ee.get_sto(); | ||
1747 | 2104 | ||
1748 | 2105 | ||
1749 | var newTime = ut.gettimestamp(); | 2106 | var newTime = ut.gettimestamp(); |
@@ -1798,6 +2155,7 @@ Page({ | @@ -1798,6 +2155,7 @@ Page({ | ||
1798 | isshow: 1, | 2155 | isshow: 1, |
1799 | }); | 2156 | }); |
1800 | ee.get_sku(os.stoid, ee.data.data.sku, gid); | 2157 | ee.get_sku(os.stoid, ee.data.data.sku, gid); |
2158 | + ee.get_sto(); | ||
1801 | return false; | 2159 | return false; |
1802 | } | 2160 | } |
1803 | //----已经结束----- | 2161 | //----已经结束----- |
@@ -1817,6 +2175,7 @@ Page({ | @@ -1817,6 +2175,7 @@ Page({ | ||
1817 | isshow: 1, | 2175 | isshow: 1, |
1818 | }); | 2176 | }); |
1819 | ee.get_sku(os.stoid, ee.data.data.sku, gid); | 2177 | ee.get_sku(os.stoid, ee.data.data.sku, gid); |
2178 | + ee.get_sto(); | ||
1820 | return false; | 2179 | return false; |
1821 | } | 2180 | } |
1822 | 2181 | ||
@@ -1827,6 +2186,7 @@ Page({ | @@ -1827,6 +2186,7 @@ Page({ | ||
1827 | isshow: 1, | 2186 | isshow: 1, |
1828 | }); | 2187 | }); |
1829 | ee.get_sku(os.stoid, ee.data.data.sku, gid); | 2188 | ee.get_sku(os.stoid, ee.data.data.sku, gid); |
2189 | + ee.get_sto(); | ||
1830 | return false; | 2190 | return false; |
1831 | } | 2191 | } |
1832 | 2192 | ||
@@ -1891,7 +2251,7 @@ Page({ | @@ -1891,7 +2251,7 @@ Page({ | ||
1891 | t.data.data.ct_rylist = JSON.parse(t.data.data.ct_rylist); | 2251 | t.data.data.ct_rylist = JSON.parse(t.data.data.ct_rylist); |
1892 | var max_num = 0; | 2252 | var max_num = 0; |
1893 | t.data.data.ct_rylist.forEach(function(val, ind) { | 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 | t.data.data.max_ct_num = max_num; | 2256 | t.data.data.max_ct_num = max_num; |
1897 | } | 2257 | } |
@@ -1908,6 +2268,8 @@ Page({ | @@ -1908,6 +2268,8 @@ Page({ | ||
1908 | prom_start_time: prom_start_time, | 2268 | prom_start_time: prom_start_time, |
1909 | isshow: 1, | 2269 | isshow: 1, |
1910 | }); | 2270 | }); |
2271 | + | ||
2272 | + ee.get_sto(); | ||
1911 | 2273 | ||
1912 | var newTime = now; | 2274 | var newTime = now; |
1913 | var endTime2 = t.data.data.end_time; | 2275 | var endTime2 = t.data.data.end_time; |
@@ -2257,6 +2619,10 @@ Page({ | @@ -2257,6 +2619,10 @@ Page({ | ||
2257 | title: '提示', | 2619 | title: '提示', |
2258 | content: '超出商品限购' | 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 | return false; | 2626 | return false; |
2261 | } | 2627 | } |
2262 | } | 2628 | } |
@@ -2267,6 +2633,10 @@ Page({ | @@ -2267,6 +2633,10 @@ Page({ | ||
2267 | title: '提示', | 2633 | title: '提示', |
2268 | content: '超出商品活动限购' | 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 | return false; | 2640 | return false; |
2271 | } | 2641 | } |
2272 | } | 2642 | } |
@@ -2286,12 +2656,19 @@ Page({ | @@ -2286,12 +2656,19 @@ Page({ | ||
2286 | title: '提示', | 2656 | title: '提示', |
2287 | content: '超出商品活动库存' | 2657 | content: '超出商品活动库存' |
2288 | }); | 2658 | }); |
2659 | + | ||
2660 | + th.setData({goodsInputNum:redis_num}) | ||
2661 | + | ||
2289 | return false; | 2662 | return false; |
2290 | } | 2663 | } |
2291 | } | 2664 | } |
2292 | 2665 | ||
2293 | if (th.data.goodsInputNum <= 0) return s.my_warnning("商品数量不能为0", 0, th); | 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 | if (th.data.sto_sele_name == null || th.data.sto_sele_name == undefined) | 2672 | if (th.data.sto_sele_name == null || th.data.sto_sele_name == undefined) |
2296 | this.setData({ | 2673 | this.setData({ |
2297 | sto_sele_name: "" | 2674 | sto_sele_name: "" |
@@ -3107,9 +3484,24 @@ Page({ | @@ -3107,9 +3484,24 @@ Page({ | ||
3107 | // 选择门店 | 3484 | // 选择门店 |
3108 | choice_store: function(ee) { | 3485 | choice_store: function(ee) { |
3109 | var th = this; | 3486 | var th = this; |
3110 | - //var ind=ee.currentTarget.dataset.ind; | 3487 | + var ind=ee.currentTarget.dataset.ind; |
3111 | var bconfig = th.data.bconfig; | 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 | if (bconfig.is_sort_storage) { | 3505 | if (bconfig.is_sort_storage) { |
3114 | wx.getLocation({ | 3506 | wx.getLocation({ |
3115 | type: 'wgs84', | 3507 | type: 'wgs84', |
@@ -3147,23 +3539,64 @@ Page({ | @@ -3147,23 +3539,64 @@ Page({ | ||
3147 | th.data.is_get_local_ok = 1; | 3539 | th.data.is_get_local_ok = 1; |
3148 | th.get_sto(); | 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 | close_popup: function(e) { | 3559 | close_popup: function(e) { |
3160 | - | 3560 | + var th=this; |
3161 | this.setData({ | 3561 | this.setData({ |
3162 | store: 0, | 3562 | store: 0, |
3163 | choice_sort_store: 0, | 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 | more_store: function() { | 3601 | more_store: function() { |
3169 | this.setData({ | 3602 | this.setData({ |
@@ -3193,16 +3626,61 @@ Page({ | @@ -3193,16 +3626,61 @@ Page({ | ||
3193 | sec_pick_index: 0 | 3626 | sec_pick_index: 0 |
3194 | }); | 3627 | }); |
3195 | }, | 3628 | }, |
3196 | - | ||
3197 | - | ||
3198 | - | 3629 | + |
3199 | choose_for_store_fir: function(e) { | 3630 | choose_for_store_fir: function(e) { |
3200 | var index_c = e.currentTarget.dataset.ind; | 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 | //确定def_pick为选择的门店 | 3685 | //确定def_pick为选择的门店 |
3208 | sure_pick: function(e) { | 3686 | sure_pick: function(e) { |
@@ -3222,142 +3700,142 @@ Page({ | @@ -3222,142 +3700,142 @@ Page({ | ||
3222 | var index = th.data.sec_pick_index; | 3700 | var index = th.data.sec_pick_index; |
3223 | item = th.data.sec_sto.s_arr[index]; | 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 | choose_for_store: function(e) { | 3745 | choose_for_store: function(e) { |
3266 | var index_c = e.currentTarget.dataset.ind; | 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 | //把选择的门店设置成默认的门店def_pick | 3754 | //把选择的门店设置成默认的门店def_pick |
3274 | set_def_pick: function(e) { | 3755 | set_def_pick: function(e) { |
3275 | var th = this; | 3756 | var th = this; |
3276 | var item = null; | 3757 | var item = null; |
3277 | - | ||
3278 | if (th.data.choice_sort_store == 0) { | 3758 | if (th.data.choice_sort_store == 0) { |
3279 | - | ||
3280 | var index = th.data.fir_pick_index; | 3759 | var index = th.data.fir_pick_index; |
3281 | - | ||
3282 | if (th.data.is_show_sto_cat == 1) { | 3760 | if (th.data.is_show_sto_cat == 1) { |
3283 | item = th.data.def_pickpu_list[index]; | 3761 | item = th.data.def_pickpu_list[index]; |
3284 | } else { | 3762 | } else { |
3285 | item = th.data.only_pk[index]; //当没有门店分类的时候 | 3763 | item = th.data.only_pk[index]; //当没有门店分类的时候 |
3286 | - | ||
3287 | } | 3764 | } |
3288 | } else { | 3765 | } else { |
3289 | var index = th.data.sec_pick_index; | 3766 | var index = th.data.sec_pick_index; |
3290 | item = th.data.sec_sto.s_arr[index]; | 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 | wait_for_store_config: function() { | 3841 | wait_for_store_config: function() { |
@@ -3453,7 +3931,19 @@ Page({ | @@ -3453,7 +3931,19 @@ Page({ | ||
3453 | }, | 3931 | }, |
3454 | go_card_info:function(){ | 3932 | go_card_info:function(){ |
3455 | getApp().goto("/pages/user/cardinfo/cardinfo"); | 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,7 +94,7 @@ | ||
94 | <view class="word-line fs20 xc-qtunit-price">零售价¥{{data.market_price}}</view> | 94 | <view class="word-line fs20 xc-qtunit-price">零售价¥{{data.market_price}}</view> |
95 | </view> | 95 | </view> |
96 | <view class="abs white xc-nanber"> | 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 | <view class="flex" style='margin-top:-34rpx'> | 98 | <view class="flex" style='margin-top:-34rpx'> |
99 | <view class="xc-people-img"> | 99 | <view class="xc-people-img"> |
100 | <image class="imgs" src="{{prom_st==1? iurl+'/miniapp/images/r_logo_red.png':iurl+'/miniapp/images/r_logo.png'}}"></image> | 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,7 +404,15 @@ | ||
404 | 距离:{{def_pick_store.distance>1000?filters.toFix(def_pick_store.distance/1000,2)+"km":filters.toFix(def_pick_store.distance,0)+"m"}} | 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 | </view> | 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 | <view class="fs24 xc-ash-9f">地址:{{def_pick_store.fulladdress}}</view> | 416 | <view class="fs24 xc-ash-9f">地址:{{def_pick_store.fulladdress}}</view> |
409 | </view> | 417 | </view> |
410 | </view> | 418 | </view> |
@@ -733,10 +741,16 @@ | @@ -733,10 +741,16 @@ | ||
733 | 741 | ||
734 | <!-------------------底部按钮--------------------> | 742 | <!-------------------底部按钮--------------------> |
735 | <view class="join-cart"> | 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 | <image class="cs-img" src="{{iurl}}/miniapp/images/custom-service.png"></image> | 746 | <image class="cs-img" src="{{iurl}}/miniapp/images/custom-service.png"></image> |
738 | <view>客服</view> | 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 | <view bindtap="collectGoods" class="custom-service cart-ico new_split"> | 754 | <view bindtap="collectGoods" class="custom-service cart-ico new_split"> |
741 | <image hidden="{{is_collect}}" class="cs-img" src="{{iurl}}/miniapp/images/heart.png"></image> | 755 | <image hidden="{{is_collect}}" class="cs-img" src="{{iurl}}/miniapp/images/heart.png"></image> |
742 | <image hidden="{{!is_collect}}" class="cs-img" src="{{iurl}}/miniapp/images/heart-h.png"></image> | 756 | <image hidden="{{!is_collect}}" class="cs-img" src="{{iurl}}/miniapp/images/heart-h.png"></image> |
@@ -751,18 +765,17 @@ | @@ -751,18 +765,17 @@ | ||
751 | </view> | 765 | </view> |
752 | <view bindtap="openSpecModel" class="buy-btn cart-btn cart-btn-lg" wx:if="{{data.goods.is_virtual}}">立即购买</view> | 766 | <view bindtap="openSpecModel" class="buy-btn cart-btn cart-btn-lg" wx:if="{{data.goods.is_virtual}}">立即购买</view> |
753 | 767 | ||
754 | - <!---- 普通商品购买 -----> | 768 | + <!-- 普通商品购买 --> |
755 | <block wx:if="{{prom_type==0 || prom_type==2 || prom_type==3 || prom_type==4}}"> | 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 | <view bindtap="openSpecModel" data-ind="1" class="join-btn cart-btn">加入购物车</view> | 773 | <view bindtap="openSpecModel" data-ind="1" class="join-btn cart-btn">加入购物车</view> |
759 | <view bindtap="openSpecModel" data-ind="2" class="buy-btn cart-btn">立即购买</view> | 774 | <view bindtap="openSpecModel" data-ind="2" class="buy-btn cart-btn">立即购买</view> |
760 | </block> | 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 | </block> | 780 | </block> |
768 | 781 | ||
@@ -862,7 +875,13 @@ | @@ -862,7 +875,13 @@ | ||
862 | <block wx:if="{{prom_type==0}}"> | 875 | <block wx:if="{{prom_type==0}}"> |
863 | <view class="flex"> | 876 | <view class="flex"> |
864 | <view class="spec-goods-stock">已售:{{sele_g.sales_sum}}</view> | 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 | </view> | 886 | </view> |
868 | </block> | 887 | </block> |
@@ -872,7 +891,7 @@ | @@ -872,7 +891,7 @@ | ||
872 | <view class="spec-goods-stock" wx:else >已售:{{prom_act.buy_num}}</view> | 891 | <view class="spec-goods-stock" wx:else >已售:{{prom_act.buy_num}}</view> |
873 | <view class="spec-goods-stock">可售:{{prom_act.goods_num-prom_act.buy_num}}</view> | 892 | <view class="spec-goods-stock">可售:{{prom_act.goods_num-prom_act.buy_num}}</view> |
874 | 893 | ||
875 | - | 894 | + |
876 | </view> | 895 | </view> |
877 | </block> | 896 | </block> |
878 | </view> | 897 | </view> |
@@ -889,23 +908,31 @@ | @@ -889,23 +908,31 @@ | ||
889 | </view> | 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 | </view> | 914 | </view> |
896 | 915 | ||
897 | <view class="red-co fs28" bindtap="choice_store" > | 916 | <view class="red-co fs28" bindtap="choice_store" > |
898 | 更多门店 | 917 | 更多门店 |
899 | <text class="right-arrow"></text> | 918 | <text class="right-arrow"></text> |
900 | </view> | 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 | </view> | 930 | </view> |
904 | 931 | ||
905 | <!----商品的属性项目----> | 932 | <!----商品的属性项目----> |
906 | <view class="xc-goods-attribute"> | 933 | <view class="xc-goods-attribute"> |
907 | <view hidden="{{ismend==1}}" class="spec-name">商品属性</view> | 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 | <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"> | 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 | {{item.gg}} | 937 | {{item.gg}} |
911 | </view> | 938 | </view> |
@@ -922,12 +949,57 @@ | @@ -922,12 +949,57 @@ | ||
922 | </view> | 949 | </view> |
923 | </view> | 950 | </view> |
924 | </view> | 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 | </view> | 1003 | </view> |
932 | 1004 | ||
933 | <view class="clear"></view> | 1005 | <view class="clear"></view> |
@@ -1062,7 +1134,7 @@ | @@ -1062,7 +1134,7 @@ | ||
1062 | <view>购买数量</view> | 1134 | <view>购买数量</view> |
1063 | <view class="count"> | 1135 | <view class="count"> |
1064 | <view bindtap="subCartNum" class="sub">-</view> | 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 | <view bindtap="addCartNum" class="add">+</view> | 1138 | <view bindtap="addCartNum" class="add">+</view> |
1067 | </view> | 1139 | </view> |
1068 | </view> | 1140 | </view> |
@@ -1281,7 +1353,8 @@ | @@ -1281,7 +1353,8 @@ | ||
1281 | <view class="fs28 xc-black3 address_name">{{item.pickup_name}}</view> | 1353 | <view class="fs28 xc-black3 address_name">{{item.pickup_name}}</view> |
1282 | </view> | 1354 | </view> |
1283 | <view> | 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 | </view> | 1358 | </view> |
1286 | </view> | 1359 | </view> |
1287 | <view class="fs24 xc-ash-9f">地址:{{item.fulladdress}}</view> | 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,7 +599,8 @@ border-radius: 0 56rpx 55rpx 0; | ||
599 | text-align: center; | 599 | text-align: center; |
600 | } | 600 | } |
601 | .spec_bt{ | 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 | .spec_bt.act{background: #d60021;color: #fff;border: 1rpx solid #d60021;} | 605 | .spec_bt.act{background: #d60021;color: #fff;border: 1rpx solid #d60021;} |
605 | .sub { | 606 | .sub { |
@@ -2253,7 +2254,7 @@ right:17rpx; top:55rpx; | @@ -2253,7 +2254,7 @@ right:17rpx; top:55rpx; | ||
2253 | height: 90rpx; | 2254 | height: 90rpx; |
2254 | } | 2255 | } |
2255 | .sn_height{ | 2256 | .sn_height{ |
2256 | - height: 170rpx; | 2257 | + min-height: 170rpx; height: auto;padding: 10rpx 0; |
2257 | } | 2258 | } |
2258 | .xc-address_frame .address_frame{ | 2259 | .xc-address_frame .address_frame{ |
2259 | width: 92%; | 2260 | width: 92%; |
@@ -2560,4 +2561,10 @@ border-radius: 55rpx; | @@ -2560,4 +2561,10 @@ border-radius: 55rpx; | ||
2560 | .carde_frame{ | 2561 | .carde_frame{ |
2561 | height: 50rpx; | 2562 | height: 50rpx; |
2562 | line-height: 18rpx | 2563 | line-height: 18rpx |
2563 | -} | ||
2564 | \ No newline at end of file | 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 | \ No newline at end of file | 2572 | \ No newline at end of file |
pages/goods/goodsList/goodsList.js
@@ -97,10 +97,15 @@ Page({ | @@ -97,10 +97,15 @@ Page({ | ||
97 | }, | 97 | }, |
98 | requestGoodsList: function(t) { | 98 | requestGoodsList: function(t) { |
99 | var e = this; | 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 | a.request(t, | 109 | a.request(t, |
105 | function(t) { | 110 | function(t) { |
106 | e.setData({is_go:1}); | 111 | e.setData({is_go:1}); |
pages/index/index/index.js
@@ -149,7 +149,8 @@ Page({ | @@ -149,7 +149,8 @@ Page({ | ||
149 | data: { | 149 | data: { |
150 | store_id: os.stoid, | 150 | store_id: os.stoid, |
151 | pageSize: 5, | 151 | pageSize: 5, |
152 | - is_show: 1 | 152 | + is_show: 1, |
153 | + level:1 | ||
153 | } | 154 | } |
154 | }).then(res => { | 155 | }).then(res => { |
155 | if (res.data.data) { | 156 | if (res.data.data) { |
@@ -181,7 +182,7 @@ Page({ | @@ -181,7 +182,7 @@ Page({ | ||
181 | //读取全局是否有弄自定义模板 | 182 | //读取全局是否有弄自定义模板 |
182 | await api.get_template_fir(o.stoid).then(res => { | 183 | await api.get_template_fir(o.stoid).then(res => { |
183 | var data = res.data.data; | 184 | var data = res.data.data; |
184 | - if (data.length > 0) { | 185 | + if (data && data.length > 0) { |
185 | var temp_data = data[0]; | 186 | var temp_data = data[0]; |
186 | var t_arr = JSON.parse(temp_data.json_str); | 187 | var t_arr = JSON.parse(temp_data.json_str); |
187 | th.setData({ | 188 | th.setData({ |
pages/user/address_list/address_list.js
@@ -154,5 +154,59 @@ Page({ | @@ -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 | \ No newline at end of file | 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,8 +28,19 @@ | ||
28 | <view>暂无收货地址</view> | 28 | <view>暂无收货地址</view> |
29 | </view> | 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 | </view> | 44 | </view> |
34 | </view> | 45 | </view> |
35 | 46 | ||
@@ -69,12 +80,17 @@ | @@ -69,12 +80,17 @@ | ||
69 | 80 | ||
70 | </view> | 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 | \ No newline at end of file | 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 | \ No newline at end of file | 98 | \ No newline at end of file |
pages/user/address_list/address_list.wxss
@@ -213,14 +213,14 @@ page { | @@ -213,14 +213,14 @@ page { | ||
213 | } | 213 | } |
214 | 214 | ||
215 | .container .new { | 215 | .container .new { |
216 | - width: 100%; | 216 | + width: 86%; |
217 | display: flex; | 217 | display: flex; |
218 | - justify-content: center; | ||
219 | position: fixed; | 218 | position: fixed; |
220 | bottom: 0rpx; | 219 | bottom: 0rpx; |
221 | height: 204rpx; | 220 | height: 204rpx; |
222 | align-items: center; | 221 | align-items: center; |
223 | background-color: rgb(255, 255, 255); | 222 | background-color: rgb(255, 255, 255); |
223 | + margin-left:7% | ||
224 | } | 224 | } |
225 | 225 | ||
226 | .container .new .add { | 226 | .container .new .add { |
@@ -229,7 +229,7 @@ page { | @@ -229,7 +229,7 @@ page { | ||
229 | 229 | ||
230 | .container navigator { | 230 | .container navigator { |
231 | display: flex; | 231 | display: flex; |
232 | - width: 430rpx; | 232 | + width: 300rpx; |
233 | height: 62rpx; | 233 | height: 62rpx; |
234 | background-color: rgb(239, 22, 51); | 234 | background-color: rgb(239, 22, 51); |
235 | border-radius: 40rpx; | 235 | border-radius: 40rpx; |
@@ -238,3 +238,10 @@ page { | @@ -238,3 +238,10 @@ page { | ||
238 | color: rgb(255, 255, 255); | 238 | color: rgb(255, 255, 255); |
239 | font-size: 27rpx; | 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 | var e = getApp(), r = e.request,rq=r,t = require("../../../utils/util.js"), o = require("../../../utils/common.js"),oo=e.globalData,os=oo.setting; | 1 | var e = getApp(), r = e.request,rq=r,t = require("../../../utils/util.js"), o = require("../../../utils/common.js"),oo=e.globalData,os=oo.setting; |
2 | var regeneratorRuntime = require('../../../utils/runtime.js'); | 2 | var regeneratorRuntime = require('../../../utils/runtime.js'); |
3 | +var ut= require('../../../utils/util.js'); | ||
4 | + | ||
3 | 5 | ||
4 | Page({ | 6 | Page({ |
5 | data: { | 7 | data: { |
@@ -270,10 +272,206 @@ Page({ | @@ -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 | order_sn: this.data.order.order_sn, | 475 | order_sn: this.data.order.order_sn, |
278 | order_amount: this.data.order.order_amount | 476 | order_amount: this.data.order.order_amount |
279 | }, 1); | 477 | }, 1); |
@@ -344,14 +542,18 @@ Page({ | @@ -344,14 +542,18 @@ Page({ | ||
344 | //-----删除订单----- | 542 | //-----删除订单----- |
345 | deleteOrderData: function(t) { | 543 | deleteOrderData: function(t) { |
346 | var th=this; | 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 | wx.showModal({ | 552 | wx.showModal({ |
349 | title: "是否删除订单?", | 553 | title: "是否删除订单?", |
350 | success: function(tt) { | 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 | success: function (t) { | 557 | success: function (t) { |
356 | getApp().my_warnning("删除成功",1,th); | 558 | getApp().my_warnning("删除成功",1,th); |
357 | setTimeout(function () { | 559 | setTimeout(function () { |
@@ -389,7 +591,48 @@ Page({ | @@ -389,7 +591,48 @@ Page({ | ||
389 | if(item.order_amount==0 || item.user_money==0) return true; | 591 | if(item.order_amount==0 || item.user_money==0) return true; |
390 | } | 592 | } |
391 | return false; | 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,6 +137,9 @@ | ||
137 | <block wx:if="{{!(order.has_rt || order.return_btn==2 || order.return_btn==4)}}"> | 137 | <block wx:if="{{!(order.has_rt || order.return_btn==2 || order.return_btn==4)}}"> |
138 | <navigator bindtap="confirmOrder" class="tips-btn" hidden="{{!order.receive_btn}}">收货确认</navigator> | 138 | <navigator bindtap="confirmOrder" class="tips-btn" hidden="{{!order.receive_btn}}">收货确认</navigator> |
139 | </block> | 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 | <navigator class="tips-btn" hidden="{{!order.shipping_btn}}" url="/pages/user/express/express?order_id={{order.order_id}}">查看物流</navigator> | 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,7 +149,7 @@ | ||
146 | <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> | 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 | </block> | 150 | </block> |
148 | <block wx:else> | 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 | <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> | 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 | <navigator class="tips-btn" wx:if="{{order.is_all_return_status==0 || order.is_all_return_status==1}}" | 154 | <navigator class="tips-btn" wx:if="{{order.is_all_return_status==0 || order.is_all_return_status==1}}" |
152 | url="/pages/user/return_goods_info/return_goods_info?order_id={{order.order_id}}">退款详情</navigator> | 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,6 +11,7 @@ var t = function(t) { | ||
11 | a = require("../../../utils/common.js"), | 11 | a = require("../../../utils/common.js"), |
12 | s = new t.default(); | 12 | s = new t.default(); |
13 | var regeneratorRuntime = require('../../../utils/runtime.js'); | 13 | var regeneratorRuntime = require('../../../utils/runtime.js'); |
14 | +var ut= require('../../../utils/util.js'); | ||
14 | 15 | ||
15 | Page({ | 16 | Page({ |
16 | data: { | 17 | data: { |
@@ -39,18 +40,36 @@ Page({ | @@ -39,18 +40,36 @@ Page({ | ||
39 | //已经读取过接口 | 40 | //已经读取过接口 |
40 | is_get: 0, | 41 | is_get: 0, |
41 | conf: null, | 42 | conf: null, |
42 | - iscodeall: null | 43 | + iscodeall: null, |
44 | + | ||
45 | + //会员的等级价位 | ||
46 | + card_field:null, | ||
43 | }, | 47 | }, |
44 | onLoad: function(t) { | 48 | onLoad: function(t) { |
45 | var th = this; | 49 | var th = this; |
46 | if (t.type != undefined) this.setData({ | 50 | if (t.type != undefined) this.setData({ |
47 | activeCategoryId: t.type | 51 | activeCategoryId: t.type |
48 | }) | 52 | }) |
49 | - s.init(this, "", "orderList"); | 53 | + s.init(this, "", "orderList"); |
54 | + //---查看会员的等级价--- | ||
50 | getApp().getConfig2(function(e) { | 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 | onShow: function() { | 75 | onShow: function() { |
@@ -79,6 +98,7 @@ Page({ | @@ -79,6 +98,7 @@ Page({ | ||
79 | case "4": | 98 | case "4": |
80 | r += "&order_status=2"; break; | 99 | r += "&order_status=2"; break; |
81 | } | 100 | } |
101 | + r+="&isdel=0"; | ||
82 | this.setData({ activeCategoryId: t }); r = r + "&page=" + e.data.currentPage; | 102 | this.setData({ activeCategoryId: t }); r = r + "&page=" + e.data.currentPage; |
83 | s.request(r, function (t) { | 103 | s.request(r, function (t) { |
84 | 104 | ||
@@ -251,8 +271,7 @@ Page({ | @@ -251,8 +271,7 @@ Page({ | ||
251 | 271 | ||
252 | /*-----------确认收货-----------*/ | 272 | /*-----------确认收货-----------*/ |
253 | confirmOrder: function(t) { | 273 | confirmOrder: function(t) { |
254 | - var e = this, | ||
255 | - a = t.currentTarget.dataset.id; | 274 | + var e = this,a = t.currentTarget.dataset.id; |
256 | var is_zsorder = t.currentTarget.dataset.zsorder; | 275 | var is_zsorder = t.currentTarget.dataset.zsorder; |
257 | var th = this; | 276 | var th = this; |
258 | 277 | ||
@@ -283,14 +302,17 @@ Page({ | @@ -283,14 +302,17 @@ Page({ | ||
283 | deleteOrderData: function(t) { | 302 | deleteOrderData: function(t) { |
284 | var th = this; | 303 | var th = this; |
285 | var order_id = t.currentTarget.dataset.order_id; | 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 | wx.showModal({ | 311 | wx.showModal({ |
287 | title: "是否删除订单?", | 312 | title: "是否删除订单?", |
288 | success: function(tt) { | 313 | success: function(tt) { |
289 | tt.confirm && rq.put("/api/weshop/order/updatebyId", { | 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 | success: function(t) { | 316 | success: function(t) { |
295 | for (var e = 0; e < th.data.orderList.length; e++) | 317 | for (var e = 0; e < th.data.orderList.length; e++) |
296 | if (th.data.orderList[e].order_id == order_id) { | 318 | if (th.data.orderList[e].order_id == order_id) { |
@@ -348,40 +370,278 @@ Page({ | @@ -348,40 +370,278 @@ Page({ | ||
348 | }, | 370 | }, |
349 | 371 | ||
350 | /*----------跳转支付-----------*/ | 372 | /*----------跳转支付-----------*/ |
351 | - jumpToCart4: function(t) { | 373 | + async jumpToCart4(t) { |
352 | var o_index = t.currentTarget.dataset.idx; | 374 | var o_index = t.currentTarget.dataset.idx; |
353 | var e = this.data.orderList[t.currentTarget.dataset.idx]; | 375 | var e = this.data.orderList[t.currentTarget.dataset.idx]; |
354 | var th = this; | 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 | bind_bnerr: function(e) { | 646 | bind_bnerr: function(e) { |
387 | var _errImg = e.currentTarget.dataset.errorimg; | 647 | var _errImg = e.currentTarget.dataset.errorimg; |
pages/user/order_list/order_list.wxml
@@ -24,16 +24,20 @@ | @@ -24,16 +24,20 @@ | ||
24 | <view wx:if="{{(item.order_status==1&&item.pay_status==1&&item.shipping_status==1)}}">待收货</view> | 24 | <view wx:if="{{(item.order_status==1&&item.pay_status==1&&item.shipping_status==1)}}">待收货</view> |
25 | <view wx:if="{{(item.order_status==2)}}">待评价</view> | 25 | <view wx:if="{{(item.order_status==2)}}">待评价</view> |
26 | <view wx:if="{{item.order_status==4}}">已评价</view> | 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 | <view wx:if="{{item.pt_status==2 && item.pt_tail_money>0}}">待支付尾款</view> | 30 | <view wx:if="{{item.pt_status==2 && item.pt_tail_money>0}}">待支付尾款</view> |
29 | <view wx:if="{{item.order_status==6}}">退款成功</view> | 31 | <view wx:if="{{item.order_status==6}}">退款成功</view> |
30 | <view wx:if="{{item.pt_status==6}}"><text style="font-size: 26rpx;">支付尾款失败</text></view> | 32 | <view wx:if="{{item.pt_status==6}}"><text style="font-size: 26rpx;">支付尾款失败</text></view> |
31 | </block> | 33 | </block> |
32 | <block wx:else>退款中</block> | 34 | <block wx:else>退款中</block> |
35 | + <!-- | ||
33 | <view class="flex" wx:if="{{(item.order_status==0&&item.pay_status==0)}}"> | 36 | <view class="flex" wx:if="{{(item.order_status==0&&item.pay_status==0)}}"> |
34 | <view class="lin"></view> | 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 | </view> | 41 | </view> |
38 | </view> | 42 | </view> |
39 | 43 | ||
@@ -126,8 +130,6 @@ | @@ -126,8 +130,6 @@ | ||
126 | </view> | 130 | </view> |
127 | <view class="links flex-right-vertical fs30"> | 131 | <view class="links flex-right-vertical fs30"> |
128 | <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> | 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 | <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> | 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 | <view class="commodity_To_evaluate flex-level View_evaluation" wx:if="{{item.pt_status==3}}">拼团失败</view> | 134 | <view class="commodity_To_evaluate flex-level View_evaluation" wx:if="{{item.pt_status==3}}">拼团失败</view> |
133 | <!---has_rt部分退----> | 135 | <!---has_rt部分退----> |
@@ -136,7 +138,7 @@ | @@ -136,7 +138,7 @@ | ||
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> | 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 | </block> | 139 | </block> |
138 | <block wx:else> | 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 | <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> | 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 | <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> | 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 | </block> | 144 | </block> |
pages/user/order_list/order_list.wxss
@@ -152,8 +152,8 @@ page { | @@ -152,8 +152,8 @@ page { | ||
152 | } | 152 | } |
153 | 153 | ||
154 | .Commodity_number .lin { | 154 | .Commodity_number .lin { |
155 | - border-left: 2rpx solid rgb(129, 65, 81); | ||
156 | - margin: 0rpx 15rpx; | 155 | + border-right: 1rpx solid #C4182E; |
156 | + margin: 0rpx 11rpx; width: 2rpx; | ||
157 | height: 31rpx; | 157 | height: 31rpx; |
158 | } | 158 | } |
159 | 159 |