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,6 +53,9 @@ Page({ | ||
53 | wp:[], | 53 | wp:[], |
54 | datet:null, | 54 | datet:null, |
55 | s_top:0, | 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,48 +608,7 @@ Page({ | ||
605 | write: position | 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 | sele_tab:function(e){ | 613 | sele_tab:function(e){ |
652 | if(!this.data.sele_project){ | 614 | if(!this.data.sele_project){ |
@@ -704,52 +666,102 @@ Page({ | @@ -704,52 +666,102 @@ Page({ | ||
704 | }) | 666 | }) |
705 | return false; | 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 | for(var sj in this.data.v[i]){ | 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 | close_this:function (e){ | 766 | close_this:function (e){ |
755 | var txt=e.currentTarget.dataset.txt; | 767 | var txt=e.currentTarget.dataset.txt; |
@@ -764,58 +776,65 @@ Page({ | @@ -764,58 +776,65 @@ Page({ | ||
764 | onPageScroll(e) { this.data.scrolltop = e.scrollTop;}, | 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 | queryMultipleNodes: function() { | 840 | queryMultipleNodes: function() { |