Commit 60831945a811d59f671bc5ca81e33be19547a051

Authored by yvan.ni
1 parent b7ff23ec

一、线下库存测试用例

1.商品详请在显示门店的时候会计算门店的线下库存,以及门店的预出库数!
2.商品在加入购物车,或者立即购买时,也要计算门店的线下库存,以及门店的预出库数!
3.购物车中,商品在加数量,减数量时也要计算门店的线下库存,以及门店的预出库数!
4.购物车结算时也要计算门店的线下库存,以及门店的预出库数!
5.提交订单时,也要计算门店的线下库存,以及门店的预出库数!
6.多条吗商品在选择条码,加入购物车,立即购买,选择门店的时候
也要计算门店的线下库存,以及门店的预出库数!
7.在订单列表中重新支付订单,如果线上也要判断商品是不是活动商品,看价格有没有变化,同时限购是不是到了,
  也要计算门店的线下库存,以及门店的预出库数!
8.在订单列表中重新支付订单,如果订单是3.0公众号下的积分购,优化购买,团购,搭配购就要提醒到3.0公众号处理
9.商品详情在开启急速库存时的显示。

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