From ab9d102ce99644f73ff365a1e70afbda1e14276d Mon Sep 17 00:00:00 2001 From: Tomas <tomasysh@gmail.com> Date: 星期五, 28 七月 2023 12:03:32 +0800 Subject: [PATCH] Update: 顧問諮詢方式欄位(畫面) --- PAMapp/pages/index.vue | 60 +++++++++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 43 insertions(+), 17 deletions(-) diff --git a/PAMapp/pages/index.vue b/PAMapp/pages/index.vue index 31d46cb..22cbb6f 100644 --- a/PAMapp/pages/index.vue +++ b/PAMapp/pages/index.vue @@ -2,6 +2,7 @@ <div> <Ui-Carousel></Ui-Carousel> <div class="page-container"> + <div> <h5 class="mdTxt">����憿批��</h5> <div class="mt-10 pam-reserveBtn--block"> @@ -15,6 +16,7 @@ </el-button> </div> </div> + <div class="pam-paragraph"> <el-row class="rowStyle"> <el-col :span="16"> @@ -29,6 +31,8 @@ <ConsultantList class="mt-10" :agents="consultantList.slice(0, 3)"></ConsultantList> </div> + + <div class='pam-paragraph'> <div class="pam-recommend"> <h5 class="mdTxt">��靽憿批��</h5> @@ -55,7 +59,8 @@ <p>�批嚗{gender}}</p> <p>撟湧翩嚗{appointmentDetail.age | toAgeLabel }}</p> <p>�璆哨�{appointmentDetail.job}}</p> - <p>��瘙�{appointmentDetail.requirement.split(',').join('��')}}</p> + <p>隢株岷�撘�{appointmentDetail.consultantMode }}</p> + <p>��瘙�{ appointmentDetail.requirement ? appointmentDetail.requirement.split(',').join('��') : '--'}}</p> <p v-for="(item, index) in hopeContactTime" :key="index" @@ -141,21 +146,21 @@ </template> <script lang="ts"> - import { Vue, Component, State, Action, Watch, namespace } from 'nuxt-property-decorator'; +import {Action, Component, Mutation, namespace, State, Vue, Watch} from 'nuxt-property-decorator'; - import appointmentService from '~/shared/services/appointment.service'; - import reviewsService from '~/shared/services/reviews.service'; - import UtilsService from '~/shared/services/utils.service'; - import myConsultantService from '~/shared/services/my-consultant.service'; - import { Appointment, AppointmentClosedInfo } from '~/shared/models/appointment.model'; - import { Consultant } from '~/shared/models/consultant.model'; - import { UserReviewParams } from '~/shared/models/reviews.model'; - import { StrictQueryParams } from '~/shared/models/strict-query.model'; - import { AgentInfo } from '~/shared/models/agent-info.model'; - import { ContactStatus } from '~/shared/models/enum/contact-status'; -import { SatisfactionType } from '~/shared/models/enum/satisfaction-type'; +import appointmentService from '~/shared/services/appointment.service'; +import utilService, {AccessFroms} from '~/shared/services/utils.service'; +import reviewsService from '~/shared/services/reviews.service'; +import myConsultantService from '~/shared/services/my-consultant.service'; +import {Appointment, AppointmentClosedInfo} from '~/shared/models/appointment.model'; +import {Consultant} from '~/shared/models/consultant.model'; +import {UserReviewParams} from '~/shared/models/reviews.model'; +import {StrictQueryParams} from '~/shared/models/strict-query.model'; +import {AgentInfo} from '~/shared/models/agent-info.model'; +import {ContactStatus} from '~/shared/models/enum/contact-status'; +import {SatisfactionType} from '~/shared/models/enum/satisfaction-type'; - const localStorage = namespace('localStorage'); +const localStorage = namespace('localStorage'); const roleStorage = namespace('localStorage'); @Component({ @@ -180,6 +185,9 @@ @Action storeConsultantList!: any; + + @Mutation + setAccessSource!: (accessSource: AccessFroms) => void; @localStorage.Mutation storageClearQuickFilter!: () => void; @@ -219,7 +227,7 @@ appointmentDate : '', appointmentMemoList: [], appointmentNoticeLogs: [], - communicateStatus : this.contactStatus.PICKED, + communicateStatus: this.contactStatus.PICKED, consultantReadTime: '', consultantViewTime: '', contactTime : '', @@ -237,6 +245,7 @@ phone : '', requirement : '', satisfactionScore : 0, + consultantMode : '' }; agentInfo: Consultant = { @@ -257,6 +266,11 @@ ////////////////////////////////////////////////////////////////////// mounted() { + if (this.$route.query.from) { + const fromSource = this.$route.query.from as AccessFroms; + this.setAccessSource(fromSource); + utilService.insertAccessFrom(fromSource); + } if (this.isAdminLogin) { this.$router.push('/myAppointmentList/appointmentList'); } else { @@ -325,7 +339,7 @@ const appointmentInfo = values[1] as Appointment; this.consultantName = agentInfo.name; this.appointmentDetail = appointmentInfo; - this.appointmentDialogWidth = UtilsService.isMobileDevice() ? '80%' : ''; + this.appointmentDialogWidth = utilService.isMobileDevice() ? '80%' : ''; this.isShowAppointmentDialog = true; switch (reason) { case 'inviteReviewConsultant': @@ -358,7 +372,9 @@ reAppointment(): void { appointmentService.cancelAppointment(this.appointmentDetail.id).then(() => { - const requirements = this.appointmentDetail.requirement.split(','); + const requirements = this.appointmentDetail && this.appointmentDetail.requirement + ? this.appointmentDetail.requirement.split(',') + : []; this.storeConsultantList(); this.storageStrickQueryItem({ requirements: requirements }); this.storageClearNotContactAppointmentIdFromMsg(); @@ -486,6 +502,7 @@ align-items: center; } + @media (min-width: 576px) and (max-width: 767px) { .quickFilter.el-button--default { background-image: url('~/assets/images/quickFilter/banner_web.svg'); @@ -502,6 +519,15 @@ margin: 0 auto; } + .landing-container { + border: 2px solid blue; + border-radius: 10px; + padding: 10px; + display: flex; + flex-direction: column; + align-items: center; + } + .pam-reserveBtn--block { display: flex; justify-content: space-between; -- Gitblit v1.8.0