From 76c1ce3c2eb001560bfb785f7b2f62d4ec64dcb6 Mon Sep 17 00:00:00 2001 From: Mila <Mila@pollex.com.tw> Date: 星期五, 10 十二月 2021 09:49:50 +0800 Subject: [PATCH] update 使用 currentRole 判斷目前是否為顧問/客戶登入狀態 --- PAMapp/components/Consultant/ConsultantCard.vue | 49 ++++++++++++++++++++++++++++++++----------------- 1 files changed, 32 insertions(+), 17 deletions(-) diff --git a/PAMapp/components/Consultant/ConsultantCard.vue b/PAMapp/components/Consultant/ConsultantCard.vue index 20de228..2e7937e 100644 --- a/PAMapp/components/Consultant/ConsultantCard.vue +++ b/PAMapp/components/Consultant/ConsultantCard.vue @@ -45,7 +45,9 @@ @click="reserveCommunication" :class="agentInfo.contactStatus + 'Btn'" >{{ contactTxt }}</el-button> - <div class="updateTime" v-if="updateTime">{{updateTime | formatDate}}</div> + <div class="updateTime"> + {{ displayTime | formatDate }} + </div> </el-col> </el-row> </el-col> @@ -72,13 +74,13 @@ :key="index" >��蝯⊥�挾{{index + 1 | formatNumber}}嚗{ item | formatHopeContactTime }}</p> <div v-if="appointmentDetail.satisfactionScore"> - <div class="mdTxt mt-10 mb-10">皛踵�漲</div> - <el-rate - :value="appointmentDetail.satisfactionScore" - class="pam-myDemand-dialog__rate" - disabled> - </el-rate> - </div> + <div class="mdTxt mt-10 mb-10">皛踵�漲</div> + <el-rate + :value="appointmentDetail.satisfactionScore" + class="pam-myDemand-dialog__rate" + disabled> + </el-rate> + </div> </div> <div v-if="agentInfo.contactStatus === 'contacted' @@ -93,7 +95,7 @@ </div> </div> </Ui-Dialog> - <PopUpFrame :isOpen.sync="reviewsBtn" drawerSize='30%'> + <PopUpFrame :isOpen.sync="reviewsBtn"> <div class="mdTxt"> 靽憿批�遛��漲 <span class="hint">������</span> @@ -120,13 +122,13 @@ </template> <script lang="ts"> -import { Vue, Component, Prop, Action } from 'nuxt-property-decorator'; +import { Vue, Component, Prop, Action, namespace } from 'nuxt-property-decorator'; import { getAppointmentDetail, UserReviewsConsultantsParams, userReviewsConsultants, cancelAppointment } from '~/assets/ts/api/consultant'; import { Consultant, Appointment } from '~/assets/ts/models/consultant.model'; -import { isLogin } from '~/assets/ts/auth'; import { isMobileDevice } from '~/assets/ts/device'; +import { Role } from '~/assets/ts/models/enum/Role'; - +const roleStorage = namespace('localStorage'); @Component({ filters: { formatNumber(index: number) { @@ -150,6 +152,8 @@ @Action removeFromMyConsultantList!: (agentNo: string) => Promise<boolean>; @Action storeConsultantList!: any; @Prop() agentInfo!: Consultant; + @roleStorage.Getter currentRole!:string; + isVisibleDialog = false; reviewsBtn = false; status = false; @@ -175,6 +179,21 @@ } }) .sort((preAppointment, nextAppointment) => +nextAppointment.sortDate - +preAppointment.sortDate)[0]; + } + get displayTime(): string { + let time = ''; + switch(this.agentInfo.contactStatus) { + case 'reserved': + time = this.agentInfo.updateTime + break; + case 'contacted': + time = this.agentInfo.updateTime + break; + case 'picked': + time = this.agentInfo.createTime + break; + } + return time; } appointmentDetail: any = { @@ -220,10 +239,6 @@ return '�脰����'; } - get updateTime() { - return isLogin() ? this.agentInfo.updateTime : ''; - } - get hopeContactTime() { const contactList = this.appointmentDetail.hopeContactTime .split("'").map(item => item.slice(0, item.length)); @@ -233,7 +248,7 @@ reserveCommunication() { const contactStatus = this.agentInfo.contactStatus; if (!contactStatus || contactStatus === 'picked') { - isLogin() + this.currentRole === Role.USER ? this.$router.push(`/questionnaire/${this.agentInfo.agentNo}`) : this.$router.push('/login'); } else { -- Gitblit v1.8.0