| | |
| | | <Ui-Dialog |
| | | :isVisible.sync="isVisibleDialog" |
| | | :width="width" |
| | | class="pam-myDemand-dialog" |
| | | > |
| | | <div v-if="appointmentDetail"> |
| | | <h5 class="subTitle text--center mb-30">預約成功</h5> |
| | |
| | | <p>性別:{{gender}}</p> |
| | | <p>年齡:{{appointmentDetail.age}}</p> |
| | | <p>職業:{{appointmentDetail.job}}</p> |
| | | <p>需求:{{appointmentDetail.requirement.replace(',', '、')}}</p> |
| | | <p>需求:{{appointmentDetail.requirement.split(',').join('、')}}</p> |
| | | <p |
| | | v-for="(item, index) in hopeContactTime" |
| | | :key="index" |
| | | >連絡時段{{index + 1 | formatNumber}}:{{item}}</p> |
| | | >連絡時段{{index + 1 | formatNumber}}:{{ item | formatHopeContactTime }}</p> |
| | | </div> |
| | | </div> |
| | | </Ui-Dialog> |
| | |
| | | </template> |
| | | |
| | | <script lang="ts"> |
| | | import { Vue, Component, Prop, Emit } from 'nuxt-property-decorator'; |
| | | import { AppointmentDetail, Consultants, getAppointmentDetail } from '~/assets/ts/api/consultant'; |
| | | import { Vue, Component, Prop, Emit, Action } from 'nuxt-property-decorator'; |
| | | import { Consultants, getAppointmentDetail } from '~/assets/ts/api/consultant'; |
| | | import { AppointmentDetail } from '~/assets/ts/models/AppointmentDetail'; |
| | | import { isLogin } from '~/assets/ts/auth'; |
| | | import { isMobileDevice } from '~/assets/ts/device'; |
| | | |
| | |
| | | const upperNumber = ['零', '一', '二', '三', '四', '五', '六', '七', '八', '九', '十'] |
| | | return upperNumber[index]; |
| | | } |
| | | }, |
| | | formatHopeContactTime(item: string): string { |
| | | if (item) { |
| | | const [hopeDay, hopeTime] = item.split('、'); |
| | | const day = hopeDay.split(',').length > 6 ? '不限日期' : hopeDay; |
| | | const time = hopeTime.split(',').length > 3 ? '不限時間' : hopeTime; |
| | | return `${day}、${time}`; |
| | | } |
| | | return ''; |
| | | } |
| | | } |
| | | }) |
| | | export default class ConsultantCard extends Vue { |
| | | @Action removeFromMyConsultantList!: (agentNo: string) => Promise<boolean>; |
| | | |
| | | @Prop() agentInfo!: Consultants; |
| | | isVisibleDialog = false; |
| | | width: string = ''; |
| | |
| | | get hopeContactTime() { |
| | | const contactList = this.appointmentDetail.hopeContactTime |
| | | .split("'").map(item => item.slice(0, item.length)); |
| | | return contactList.filter(item => !!item) |
| | | return contactList.filter(item => !!item && item !== ",") |
| | | } |
| | | reserveCommunication() { |
| | | const contactStatus = this.agentInfo.contactStatus; |
| | |
| | | }); |
| | | } |
| | | |
| | | @Emit('removeAgent') removeAgent() { |
| | | return this.agentInfo.agentNo; |
| | | removeAgent() { |
| | | this.removeFromMyConsultantList(this.agentInfo.agentNo).then((removeOk) => { |
| | | console.log('removeOk?', removeOk); |
| | | }); |
| | | } |
| | | |
| | | showAgentDetail(agentNo: string): void { |
| | |
| | | |
| | | .dialogInfo { |
| | | font-size: 20px; |
| | | overflow-y:scroll; |
| | | height: 400px; |
| | | } |
| | | |
| | | </style> |
| | | </style> |