| | |
| | | <p>性別:{{gender}}</p> |
| | | <p>年齡:{{appointmentDetail.age | toAgeLabel }}</p> |
| | | <p>職業:{{appointmentDetail.job}}</p> |
| | | <p>諮詢方式:{{appointmentDetail.consultantMode }}</p> |
| | | <p>需求:{{ appointmentDetail.requirement ? appointmentDetail.requirement.split(',').join('、') : '--'}}</p> |
| | | <p |
| | | v-for="(item, index) in hopeContactTime" |
| | |
| | | </div> |
| | | </div> |
| | | </PopUpFrame> |
| | | <iframe width=”780″ |
| | | height=”440″ |
| | | style="position: fixed; bottom: 30px; right: 30px; z-index: 9999;" |
| | | allowfullscreen |
| | | src="https://www.youtube.com/embed/655JnwbuRGA?autoplay=1&mute=1" |
| | | ></iframe> |
| | | </div> |
| | | </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({ |
| | |
| | | |
| | | @Action |
| | | storeConsultantList!: any; |
| | | |
| | | @Mutation |
| | | setAccessSource!: (accessSource: AccessFroms) => void; |
| | | |
| | | @localStorage.Mutation |
| | | storageClearQuickFilter!: () => void; |
| | |
| | | appointmentDate : '', |
| | | appointmentMemoList: [], |
| | | appointmentNoticeLogs: [], |
| | | communicateStatus : this.contactStatus.PICKED, |
| | | communicateStatus: this.contactStatus.PICKED, |
| | | consultantReadTime: '', |
| | | consultantViewTime: '', |
| | | contactTime : '', |
| | |
| | | phone : '', |
| | | requirement : '', |
| | | satisfactionScore : 0, |
| | | consultantMode : '' |
| | | }; |
| | | |
| | | agentInfo: Consultant = { |
| | |
| | | ////////////////////////////////////////////////////////////////////// |
| | | |
| | | 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 { |
| | |
| | | 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': |