Commit 7801de3f3da0171e69ecb6ada9a252433e1bcd44

Authored by 后端研发-苏明海
2 parents 9c5ae84e 9263d910

Merge branch 'test' into 'qa'

Test

See merge request !365
@@ -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
1 { 1 {
2 - "navigationBarTitleText": "收货地址" 2 + "navigationBarTitleText": "收货地址",
  3 + "usingComponents": {
  4 + "warn": "/components/long_warn/long_warn"
  5 + }
3 } 6 }
4 \ No newline at end of file 7 \ No newline at end of file
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