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