From 936541fe8054c08fac161ba81f05a765fa0be793 Mon Sep 17 00:00:00 2001
From: Tomas <tomasysh@gmail.com>
Date: 星期三, 01 十二月 2021 11:10:14 +0800
Subject: [PATCH] fixed#131386: 客戶登入後進行顧問(預約單填寫後,馬上進行另一個顧問的預約,此時預約到的顧問都會是第一個預約的顧問; fixed#131387: 填寫預約單自動帶入前一次預約單資料時,如果是填寫全天和全時段顯示會有問題

---
 PAMapp/pages/questionnaire/_agentNo.vue |   26 +++++++++++++++++++-------
 1 files changed, 19 insertions(+), 7 deletions(-)

diff --git a/PAMapp/pages/questionnaire/_agentNo.vue b/PAMapp/pages/questionnaire/_agentNo.vue
index 94298a4..08b426d 100644
--- a/PAMapp/pages/questionnaire/_agentNo.vue
+++ b/PAMapp/pages/questionnaire/_agentNo.vue
@@ -51,7 +51,7 @@
                 <span v-show="!phoneValid">����Ⅳ�撘�炊</span>
               </div>
           </div>
-          <div class="mt-30" v-if="phoneValid">
+          <div class="mt-30" v-if="myRequest.phone && phoneValid">
               <div class="datepicker">
                   <span class="mdTxt">�����蝯∠�靘踵���</span>
                   <PhoneContactTimePicker
@@ -249,7 +249,7 @@
         selectWeekOptions: [],
         selectTimesOptions: [],
       }],
-      agentNo: this.$route.params.agentNo,
+      agentNo: '',
     };
 
     showDrawer= false;
@@ -258,13 +258,23 @@
     mounted() {
       const storageMyRequest = getRequestsFromStorage();
       if (storageMyRequest) {
-        this.myRequest = storageMyRequest;
+        this.myRequest = {
+          ...storageMyRequest,
+          hopeContactTime: storageMyRequest.hopeContactTime?.length
+                            ? storageMyRequest.hopeContactTime
+                            : [{
+                                selectWeekOptions: [],
+                                selectTimesOptions: [],
+                              }],
+        };
       }
     }
 
     get phoneValid(): boolean {
       const rule = /^09[0-9]{8}$/;
-      return this.myRequest.phone ? rule.test(this.myRequest.phone) && _.isEqual(this.myRequest.phone.length,10) : true;
+      return this.myRequest.phone
+            ? rule.test(this.myRequest.phone) && _.isEqual(this.myRequest.phone.length,10)
+            : true;
     }
 
     get userInfo(): RegisterInfo {
@@ -279,22 +289,24 @@
     }
 
     private isHopeContactTimeDone():boolean{
-      return this.myRequest.hopeContactTime[0].selectWeekOptions.length >0 && this.myRequest.hopeContactTime[0].selectTimesOptions.length >0;
+      return this.myRequest.hopeContactTime[0]?.selectWeekOptions.length >0 && this.myRequest.hopeContactTime[0]?.selectTimesOptions.length >0;
     }
 
     sentDemand() {
-      addFavoriteConsultant([this.myRequest.agentNo]).then(res => this.sentAppointmentDemand());
+      addFavoriteConsultant([this.$route.params.agentNo]).then(res => this.sentAppointmentDemand());
     }
 
     private sentAppointmentDemand() {
         const data: AppointmentParams = {
           ...this.myRequest,
           requirement: _.map(this.myRequest.requirement,o=>o).toString(),
-          hopeContactTime:this.phoneValid ? this.getHopeContactTime() :'',
+          hopeContactTime: this.myRequest.phone && this.phoneValid ? this.getHopeContactTime() :'',
+          agentNo: this.$route.params.agentNo
         };
 
         appointmentDemand(data).then(res => {
             this.sendReserve = true;
+            this.myRequest.hopeContactTime = [];
             setRequestsToStorage(this.myRequest);
         });
     }

--
Gitblit v1.8.0