Commit 5a491db8fe7d04ee9e8b9bcf95574570e2b42413
1 parent
77d548a0
1、项目剩余1次,第二次预约时提示:当前项目已有预约是否修改?是变动,否不变取消;
2、项目剩余多次时,多次预约直至预约次数结束时,提示当前项目预约次数已超出项目剩余数请先修改?
Showing
1 changed file
with
150 additions
and
131 deletions
packageA/pages/my_service2/appment_main.js
| ... | ... | @@ -53,6 +53,9 @@ Page({ |
| 53 | 53 | wp:[], |
| 54 | 54 | datet:null, |
| 55 | 55 | s_top:0, |
| 56 | + | |
| 57 | + cur_sele_i:-1, | |
| 58 | + cur_sele_j:-1 | |
| 56 | 59 | |
| 57 | 60 | }, |
| 58 | 61 | //控制备注输入 |
| ... | ... | @@ -605,48 +608,7 @@ Page({ |
| 605 | 608 | write: position |
| 606 | 609 | }); |
| 607 | 610 | }, |
| 608 | - | |
| 609 | - touchend:function(e){ | |
| 610 | - var that = this,th=that; | |
| 611 | - if(!that.data.copy_btn) return false; | |
| 612 | - var position =th.data.write; | |
| 613 | - var arr=th.data.col_arr; | |
| 614 | - for(var i=0;i<this.data.md.length;i++){//i是列 | |
| 615 | - var item=this.data.md[i]; | |
| 616 | - | |
| 617 | - for(var j=0; j<this.data.timeArr.length;j++){//j是行 | |
| 618 | - if(arr.indexOf(j)!=-1) continue; | |
| 619 | - var tn=this.data.timeArr[j]; | |
| 620 | - | |
| 621 | - //如果坐标在网格内 | |
| 622 | - if( position[0]>th.data.f_x+i*th.data.f_width && position[0]<th.data.f_x+ (i+1)*th.data.f_width && | |
| 623 | - position[1]>th.data.f_y +j*th.data.f_hei && position[1]<th.data.f_y+(j+1)*th.data.f_hei){ | |
| 624 | - | |
| 625 | - for(var i in item.listtime){ | |
| 626 | - | |
| 627 | - //判断一下有没有在时间内,可以不可以预约 | |
| 628 | - if(tn==item.listtime[i].stime && item.listtime[i].iskyy){ | |
| 629 | - th.checK_is_can_yy(item,tn,function(){ | |
| 630 | - var txt="v["+i+"]["+j+"]"; | |
| 631 | - arr.push(j); | |
| 632 | - th.setData({ | |
| 633 | - [txt]: th.data.sele_project, | |
| 634 | - col_arr:arr | |
| 635 | - }); | |
| 636 | - | |
| 637 | - }) | |
| 638 | - return true | |
| 639 | - } | |
| 640 | - } | |
| 641 | - | |
| 642 | - | |
| 643 | - } | |
| 644 | - | |
| 645 | - } | |
| 646 | - } | |
| 647 | - th.setData({copy_btn:0}) | |
| 648 | - }, | |
| 649 | - | |
| 611 | + | |
| 650 | 612 | //-- 点击空格选择 -- |
| 651 | 613 | sele_tab:function(e){ |
| 652 | 614 | if(!this.data.sele_project){ |
| ... | ... | @@ -704,52 +666,102 @@ Page({ |
| 704 | 666 | }) |
| 705 | 667 | return false; |
| 706 | 668 | } |
| 707 | - | |
| 708 | - | |
| 709 | - | |
| 710 | - | |
| 711 | - //同一美导同一项目,不能选择两次,只能留一个 | |
| 712 | - if(this.data.v[i]){ | |
| 669 | + | |
| 670 | + //同一美导同一项目,能选择两次,只要时间段不重复 | |
| 671 | + if(this.data.v[i] && Object.keys(this.data.v[i]).length){ | |
| 713 | 672 | for(var sj in this.data.v[i]){ |
| 714 | - if(this.data.v[i][sj] && this.data.v[i][sj].ProjectID==this.data.sele_project.ProjectID){ | |
| 715 | - wx.showModal({ | |
| 716 | - title: "您已经预约了同一个项目和导购,要修改吗?", | |
| 717 | - success: function (res) { | |
| 718 | - if (res.cancel) { | |
| 719 | - //点击取消,默认隐藏弹框 | |
| 720 | - } else { | |
| 721 | - th.checK_is_can_yy(item,tn,function(){ | |
| 722 | - delete th.data.v[i][sj]; | |
| 723 | - th.data.v[i][j]=th.data.sele_project; | |
| 724 | - var ind=arr.indexOf(sj); | |
| 725 | - arr.splice(ind, 1), | |
| 726 | - arr.push(j), | |
| 727 | - th.setData({ | |
| 728 | - v: th.data.v, | |
| 729 | - col_arr:arr | |
| 730 | - }); | |
| 731 | - }) | |
| 732 | - | |
| 733 | - } | |
| 734 | - }, | |
| 735 | - | |
| 736 | - }); | |
| 737 | - return false; | |
| 673 | + if(this.data.v[i][sj] && this.data.v[i][sj].ProjectID==this.data.sele_project.ProjectID){ | |
| 674 | + th.checK_is_can_yy(item,tn,function(res){ | |
| 675 | + if(res){ | |
| 676 | + if(res>1){ | |
| 677 | + wx.showToast({ | |
| 678 | + title: '当前项目预约次数已超出项目剩余数,请先修改', icon: 'none', duration: 2000 | |
| 679 | + }); | |
| 680 | + return false; | |
| 681 | + } | |
| 682 | + wx.showModal({ | |
| 683 | + title: "当前项目已有预约是否修改?", | |
| 684 | + success: function (res) { | |
| 685 | + if(res.confirm){ | |
| 686 | + delete th.data.v[i][sj]; | |
| 687 | + if(!th.data.v[i]) | |
| 688 | + th.data.v[i]={} | |
| 689 | + th.data.v[i][j]=th.data.sele_project; | |
| 690 | + var ind=arr.indexOf(sj); | |
| 691 | + arr.splice(ind, 1); | |
| 692 | + arr.push(j); | |
| 693 | + th.setData({ | |
| 694 | + v: th.data.v,col_arr:arr | |
| 695 | + }); | |
| 696 | + | |
| 697 | + } | |
| 698 | + } | |
| 699 | + }) | |
| 700 | + return false; | |
| 701 | + }else{ | |
| 702 | + var txt="v["+i+"]["+j+"]"; | |
| 703 | + arr.push(j); | |
| 704 | + th.setData({ | |
| 705 | + [txt]: th.data.sele_project, | |
| 706 | + col_arr:arr | |
| 707 | + }); | |
| 708 | + return false; | |
| 709 | + } | |
| 710 | + }) | |
| 711 | + | |
| 738 | 712 | } |
| 739 | 713 | } |
| 714 | + | |
| 740 | 715 | } |
| 741 | 716 | |
| 742 | - th.checK_is_can_yy(item,tn,function(){ | |
| 743 | - | |
| 744 | - var txt="v["+i+"]["+j+"]"; | |
| 745 | - arr.push(j); | |
| 746 | - th.setData({ | |
| 747 | - [txt]: th.data.sele_project, | |
| 748 | - col_arr:arr | |
| 749 | - }); | |
| 717 | + th.checK_is_can_yy(item,tn,function(res){ | |
| 718 | + if(res){ | |
| 719 | + if(res>1){ | |
| 720 | + wx.showToast({ | |
| 721 | + title: '当前项目预约次数已超出项目剩余数,请先修改', icon: 'none', duration: 2000 | |
| 722 | + }); | |
| 723 | + return false; | |
| 724 | + } | |
| 725 | + | |
| 726 | + wx.showModal({ | |
| 727 | + title: "当前项目已有预约是否修改?", | |
| 728 | + success: function (res) { | |
| 729 | + if(res.confirm){ | |
| 730 | + | |
| 731 | + var ii=th.data.cur_sele_i; | |
| 732 | + var jj=th.data.cur_sele_j; | |
| 733 | + delete th.data.v[ii][jj]; | |
| 734 | + if(!th.data.v[i]) | |
| 735 | + th.data.v[i]={} | |
| 736 | + th.data.v[i][j]=th.data.sele_project; | |
| 737 | + var ind=arr.indexOf(jj); | |
| 738 | + arr.splice(ind, 1); | |
| 739 | + arr.push(j); | |
| 740 | + th.setData({ | |
| 741 | + v: th.data.v,col_arr:arr | |
| 742 | + }); | |
| 743 | + } | |
| 744 | + } | |
| 745 | + }) | |
| 746 | + | |
| 747 | + }else{ | |
| 748 | + var txt="v["+i+"]["+j+"]"; | |
| 749 | + arr.push(j); | |
| 750 | + th.setData({ | |
| 751 | + [txt]: th.data.sele_project, | |
| 752 | + col_arr:arr | |
| 753 | + }); | |
| 754 | + } | |
| 755 | + | |
| 756 | + | |
| 757 | + | |
| 750 | 758 | }); |
| 751 | 759 | }, |
| 752 | 760 | |
| 761 | + | |
| 762 | + | |
| 763 | + | |
| 764 | + | |
| 753 | 765 | //删除响应的预约 |
| 754 | 766 | close_this:function (e){ |
| 755 | 767 | var txt=e.currentTarget.dataset.txt; |
| ... | ... | @@ -764,58 +776,65 @@ Page({ |
| 764 | 776 | onPageScroll(e) { this.data.scrolltop = e.scrollTop;}, |
| 765 | 777 | |
| 766 | 778 | //确认有没有预约 |
| 767 | - checK_is_can_yy(item,tn,back){ | |
| 768 | - var th=this; | |
| 769 | - var req={ | |
| 770 | - beauticianId:encodeURIComponent(item.staffid), | |
| 771 | - seekTime:this.data.datet+" "+tn+":00", | |
| 772 | - serviceId:encodeURIComponent(this.data.sele_project.ServiceID), | |
| 773 | - storageId:encodeURIComponent(this.data.storageId), | |
| 774 | - storeId:os.stoid | |
| 775 | - } | |
| 776 | - getApp().request.get("/api/weshop/marketing/reservation/can/reservation/countnew",{ | |
| 777 | - data:req, | |
| 778 | - success:function(res){ | |
| 779 | - th.setData({copy_btn:0}); | |
| 780 | - if(res.data.code==0){ | |
| 781 | - if(!th.data.v){ back(); return false; } | |
| 782 | - | |
| 783 | - var arr = Object.keys(th.data.v); | |
| 784 | - if(arr.length==0){ back(); return false; } | |
| 785 | - | |
| 786 | - var num=0; | |
| 787 | - for(var i in th.data.v){ | |
| 788 | - if(!th.data.v[i]) continue; | |
| 789 | - for(var j in th.data.v[i]){ | |
| 790 | - if(th.data.v[i][j] && th.data.v[i][j].ProjectID==th.data.sele_project.ProjectID){ | |
| 791 | - num++; | |
| 792 | - } | |
| 793 | - } | |
| 794 | - } | |
| 795 | - | |
| 796 | - if(!num){ back(); return false; } | |
| 797 | - | |
| 798 | - //如果已经超出次数的时候,就不能预约了 | |
| 799 | - if(num>=parseInt(res.data.data.CanReservation) ){ | |
| 800 | - wx.showToast({ | |
| 801 | - title: "已经超出可预约次数", | |
| 802 | - icon: 'none', | |
| 803 | - duration: 2000 | |
| 804 | - }) | |
| 805 | - return false; | |
| 779 | + checK_is_can_yy(item, tn, back) { | |
| 780 | + var th = this; | |
| 781 | + var req = { | |
| 782 | + beauticianId: encodeURIComponent(item.staffid), | |
| 783 | + seekTime: this.data.datet + " " + tn + ":00", | |
| 784 | + serviceId: encodeURIComponent(this.data.sele_project.ServiceID), | |
| 785 | + storageId: encodeURIComponent(this.data.storageId), | |
| 786 | + storeId: os.stoid | |
| 787 | + } | |
| 788 | + getApp().request.get("/api/weshop/marketing/reservation/can/reservation/countnew", { | |
| 789 | + data: req, | |
| 790 | + success: function (res) { | |
| 791 | + th.setData({ copy_btn: 0 }); | |
| 792 | + if (res.data.code == 0) { | |
| 793 | + if (!res.data.data.CanReservation && parseInt(res.data.data.canReservation) <= 0) { | |
| 794 | + wx.showToast({ | |
| 795 | + title: '该项目不可以预约', icon: 'none', duration: 2000 | |
| 796 | + }); | |
| 797 | + return false; | |
| 798 | + } | |
| 799 | + | |
| 800 | + if (!th.data.v) { back(); return false; } | |
| 801 | + | |
| 802 | + var arr = Object.keys(th.data.v); | |
| 803 | + if (arr.length == 0) { back(); return false; } | |
| 804 | + | |
| 805 | + var num = 0; | |
| 806 | + var sele_arr=[]; | |
| 807 | + for (var i in th.data.v) { | |
| 808 | + if (!th.data.v[i]) continue; | |
| 809 | + for (var j in th.data.v[i]) { | |
| 810 | + if (th.data.v[i][j] && th.data.v[i][j].ProjectID == th.data.sele_project.ProjectID) { | |
| 811 | + num++; | |
| 812 | + th.data.cur_sele_i=i; | |
| 813 | + th.data.cur_sele_j=j; | |
| 814 | + } | |
| 815 | + } | |
| 816 | + } | |
| 817 | + | |
| 818 | + if (!num) { back(); return false; } | |
| 819 | + | |
| 820 | + //如果已经超出次数的时候,就不能预约了 | |
| 821 | + if (num >= parseInt(res.data.data.CanReservation)) { | |
| 822 | + | |
| 823 | + back(num); | |
| 824 | + return false; | |
| 825 | + } | |
| 826 | + back(); | |
| 827 | + | |
| 828 | + } else { | |
| 829 | + wx.showToast({ | |
| 830 | + title: res.data.msg, | |
| 831 | + icon: 'none', | |
| 832 | + duration: 2000 | |
| 833 | + }) | |
| 806 | 834 | } |
| 807 | - back(); | |
| 808 | - | |
| 809 | - }else{ | |
| 810 | - wx.showToast({ | |
| 811 | - title: res.data.msg, | |
| 812 | - icon: 'none', | |
| 813 | - duration: 2000 | |
| 814 | - }) | |
| 815 | - } | |
| 816 | - } | |
| 817 | - }) | |
| 818 | - }, | |
| 835 | + } | |
| 836 | + }) | |
| 837 | + }, | |
| 819 | 838 | |
| 820 | 839 | //声明节点查询的方法 |
| 821 | 840 | queryMultipleNodes: function() { | ... | ... |