From 95d0e5524c3ab1e55a9909e2c38e7cc35901220f Mon Sep 17 00:00:00 2001
From: 劉鈞霖 <benson@gmail.com>
Date: 星期三, 15 十二月 2021 14:52:58 +0800
Subject: [PATCH] [ Update ] :新增 pamService class 將 consultant interface 移出

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

diff --git a/PAMapp/pages/questionnaire/_agentNo.vue b/PAMapp/pages/questionnaire/_agentNo.vue
index 402e190..ba67ffb 100644
--- a/PAMapp/pages/questionnaire/_agentNo.vue
+++ b/PAMapp/pages/questionnaire/_agentNo.vue
@@ -1,12 +1,12 @@
 <template>
-  <div class="ques-page--reset" v-if="isLogin">
+  <div class="ques-page--reset" v-if="isUserLogin">
     <div class="ques-header">
         <div class="ques-header__mob-banner"></div>
         <div
           class="ques-header__info"
           v-if="myRequest.contactType==='phone'">
           <div class="text--middle">
-              <div class="mdTxt">雿���蝜急撘�</div>
+              <div class="mdTxt">�����蝜急撘�</div>
               <div class="mt-10">
                   <span>�����</span>
                   <span>{{myRequest.phone}}</span>
@@ -31,7 +31,7 @@
         </div>
         <div class="ques-header__info" v-else>
           <div class="text--middle">
-              <div class="mdTxt">雿���蝜急撘�</div>
+              <div class="mdTxt">�����蝜急撘�</div>
               <div class="mt-10 ques-header__input-block">
                   <span>Email嚗�</span>
                   <span>{{myRequest.email}}</span>
@@ -80,7 +80,7 @@
           :options="genderOptions" />
       </div>
       <div class="pam-paragraph">
-        <div class="mdTxt">撟湧翩</div>
+        <div class="mdTxt">���僑朣�</div>
         <SingleSelectBtn class="mt-10"
           :singleSelected.sync="myRequest.age"
           :options="ageRangeOptions" />
@@ -116,7 +116,7 @@
 
     <PopUpFrame :isOpen.sync="sendReserve" @update:isOpen="closeReservePopUp">
         <div class="text--middle  mt-30 sendReserve-txt">�����������憿批���</div>
-        <div class="text--middle  sendReserve-txt">�����蝯∴��</div>
+        <div class="text--middle sendReserve-txt">�����蝯∴��</div>
         <div class="text--center mdTxt">
           <el-button type="primary"
             @click="closeReservePopUp">
@@ -126,7 +126,10 @@
     </PopUpFrame>
 
     <PopUpFrame :isOpen.sync="isEditPopup">
-      <div class="text--middle mt-30 sendReserve-txt">��蝜潛�楊頛舫��嚗�</div>
+      <div class="text--middle text--center mb-10">撌脫
+        <span class="bold">{{appointmentTime | formatDate}}</span>
+      �脰�����</div>
+      <div class="text--middle text--center mb-30">��蝜潛�楊頛荔��</div>
       <div class="text--center mdTxt">
         <el-button @click="$router.go(-1)">餈��</el-button>
         <el-button @click="isEditPopup = false" type="primary">蝺刻摩</el-button>
@@ -143,14 +146,13 @@
 import { Consultant } from '~/assets/ts/models/consultant.model';
 import { ContactType } from '~/assets/ts/models/enum/ContactType';
 import { Gender } from '~/assets/ts/models/enum/Gender';
-import { Role } from '~/assets/ts/models/enum/Role';
 
   const roleStorage = namespace('localStorage');
   @Component
   export default class Questionnaire extends Vue {
     @State('myConsultantList') myConsultantList!: Consultant[];
     @Action storeConsultantList!: () => Promise<number>;
-    @roleStorage.Getter currentRole!:string;
+    @roleStorage.Getter isUserLogin!:boolean;
 
     genderOptions=[
       {
@@ -244,7 +246,7 @@
                   },
                   {
                       title:'����',
-                      content:'���� ���������憸券�����鈭怒�����嚗���摰帘摰漲嚗��隞亙��澈��ˊ�靽���嚗�'
+                      content:'���������憸券�����鈭怒�����嚗���摰帘摰漲嚗��隞亙��澈��ˊ�靽���嚗�'
                   }
     ];
 
@@ -269,22 +271,24 @@
     isEditBtn = false;
 
     appointmentId = 0;
+    appointmentTime = '';
 
     beforeRouteEnter(to: any, from: any, next: any) {
       next(vm => {
-        if (from.name === 'login' && !vm.isLogin) {
+        const isUserLogin = vm.$store.getters['localStorage/isUserLogin'];
+        if (from.name === 'login' && !isUserLogin) {
           vm.$router.go(-1);
           return;
         }
 
-        if (!vm.isLogin) {
+        if (!isUserLogin) {
           vm.$router.push('/login');
         }
       })
     }
 
     async fetch() {
-      if (this.isLogin) {
+      if (this.isUserLogin) {
         await this.storeConsultantList();
       };
     }
@@ -334,10 +338,6 @@
            return _.includes(this.myRequest.contactType,ContactType.PHONE)
       ? !this.isHopeContactTimeDone()
       : !this.phoneValid;
-    }
-
-    get isLogin() {
-      return this.currentRole === Role.USER;
     }
 
     private isHopeContactTimeDone():boolean{
@@ -416,7 +416,7 @@
       if (appointmentInfo) {
         const hopeContactTime = appointmentInfo!.hopeContactTime.split("'")
               .filter(item => item && item !== ',');
-        this.appointmentId = appointmentInfo.id;
+        this.getAppointmentId(appointmentInfo);
         return {
             age: appointmentInfo.age,
             agentNo: appointmentInfo.agentNo,
@@ -435,25 +435,21 @@
             requirement: appointmentInfo.requirement.split(',')
           }
       } else {
-        return {
-          age: '',
-          agentNo: '',
-          contactType: '',
-          email: '',
-          gender: '',
-          hopeContactTime: [],
-          job: '',
-          phone: '',
-          requirement: []
-        }
+        return null;
       }
     }
 
+    private getAppointmentId(appointmentInfo) {
+      this.appointmentId = appointmentInfo.id;
+      this.appointmentTime = appointmentInfo.lastModifiedDate
+                  ? appointmentInfo.lastModifiedDate
+                  : appointmentInfo.appointmentDate;
+    }
     @Watch('myConsultantList') onMyConsultantListChange() {
-      if (this.isLogin && this.myConsultantList.length > 0) {
+      if (this.isUserLogin && this.myConsultantList.length > 0) {
           const editAppointment = this.getLatestReserved(this.$route.params.agentNo);
 
-          if (editAppointment.agentNo) {
+          if (editAppointment && editAppointment.agentNo) {
             this.myRequest = JSON.parse(JSON.stringify(editAppointment));
             if (!this.$route.query || this.$route.query.edit !== 'true') {
               this.isEditPopup = true;

--
Gitblit v1.8.0