| | |
| | | <template> |
| | | <div class="appointment-client-detail-page"> |
| | | <div class="date-detail"> |
| | | <!-- TODO: 要依據不同 step 顯示不同 Date [Tomas, 2022/1/11] --> |
| | | <div>{{ appointmentDetail.appointmentDate }}</div> |
| | | <div>{{ appointmentDetail.consultantReadTime }}</div> |
| | | <div>{{ appointmentDetail.appointmentDate | formatDate }}</div> |
| | | <div>{{ appointmentDetail.consultantReadTime | formatDate }}</div> |
| | | </div> |
| | | <!-- TODO: re-send api to update progress [Tomas, 2022/1/17 17:02] --> |
| | | <AppointmentProgress |
| | | class="mt-10" |
| | | :currentStep="appointmentDetail.communicateStatus" |
| | |
| | | </div> |
| | | </div> |
| | | <div class="client-detail-info__information"> |
| | | <div>{{ appointmentDetail.age || '--' }}歲</div> |
| | | <div>{{ appointmentDetail.age | toAgeLabel }}</div> |
| | | <div>{{ appointmentDetail.phone }}</div> |
| | | <div class="text--underline"> |
| | | {{ appointmentDetail.email }} |
| | |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="client-detail-action"> |
| | | <div class="client-detail-action" v-if="showWhenAppointmentHasClosed"> |
| | | <el-button >發送滿意度</el-button> |
| | | </div> |
| | | |
| | | <div class="client-detail-action" v-else> |
| | | <el-button @click="closeAppointment" >結案</el-button> |
| | | <el-button @click="$router.go(-1)" style="margin-left: 0px">通知/採訪</el-button> |
| | | <el-button @click="sendMsg" style="margin-left: 0px">通知/約訪</el-button> |
| | | </div> |
| | | |
| | | </section> |
| | | |
| | | <section class="close-appointment-detail" v-if="showWhenAppointmentHasClosed"> |
| | | |
| | | <div class="close-appointment-detail-nav"> |
| | | <div class="mdTxt">結案方式</div> |
| | | <div class="mdTxt text--primary text--underline cursor--pointer" @click="editAppointmentHasClosed">編輯</div> |
| | | </div> |
| | | <span class="mt-10 mb-30">成交</span> |
| | | |
| | | <div class="mdTxt mb-10">保戶身份證字號</div> |
| | | <div class="mb-30">A123456789</div> |
| | | <div class="mdTxt mb-10">商品代碼Plan Code</div> |
| | | <div class="mb-30">8888888</div> |
| | | <div class="mdTxt mb-10">進件時間</div> |
| | | <div class="mb-30">2021/12/2</div> |
| | | <div class="mdTxt mb-10">備註</div> |
| | | <div class="">約訪4次,客戶很喜歡聊寶可夢。</div> |
| | | |
| | | </section> |
| | | |
| | | <InterviewMsg |
| | | :isVisible.sync="isVisibleDialog" |
| | | :client="appointmentDetail"> |
| | | </InterviewMsg> |
| | | |
| | | |
| | | <section class="mt-30"> |
| | | <AppointmentInterviewList /> |
| | | <AppointmentInterviewList :interviewList="appointmentDetail.interviewRecordDTOs" /> |
| | | </section> |
| | | |
| | | <section class="mt-30"> |
| | |
| | | |
| | | import appointmentService from '~/shared/services/appointment.service'; |
| | | import { AppointmentDetail } from '~/shared/models/appointment.model'; |
| | | import { ContactStatus } from '~/shared/models/enum/contact-status'; |
| | | |
| | | @Component |
| | | export default class AppointmentDetailComponent extends Vue { |
| | | |
| | | appointmentDetail!: AppointmentDetail; |
| | | isVisibleDialog = false; |
| | | interviewTxt = ""; |
| | | contactStatus = ContactStatus; |
| | | |
| | | ////////////////////////////////////////////////////////////////////// |
| | | |
| | |
| | | this.$router.push(`/appointment/${this.appointmentDetail.id}/close`); |
| | | } |
| | | |
| | | sendMsg():void { |
| | | this.isVisibleDialog = true; |
| | | } |
| | | |
| | | editAppointmentHasClosed(): void{ |
| | | this.$router.push(`/appointment/${this.appointmentDetail.id}/close`); |
| | | } |
| | | |
| | | get showWhenAppointmentHasClosed(): boolean { |
| | | return this.appointmentDetail.communicateStatus === this.contactStatus.DONE |
| | | || this.appointmentDetail.communicateStatus === this.contactStatus.CLOSE |
| | | || this.appointmentDetail.communicateStatus === this.contactStatus.CANCEL; |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | <style lang="scss"> |
| | | .appointment-client-detail-page{ |
| | | .date-detail{ |
| | | display : flex; |
| | |
| | | } |
| | | } |
| | | } |
| | | .close-appointment-detail{ |
| | | background-color: #fff; |
| | | display: flex; |
| | | margin-top: 30px; |
| | | padding: 20px; |
| | | display: flex; |
| | | flex-direction: column; |
| | | font-size: 20px; |
| | | } |
| | | .close-appointment-detail-nav{ |
| | | display: flex; |
| | | justify-content: space-between; |
| | | flex: 1; |
| | | } |
| | | |
| | | </style> |