| | |
| | | ></AppointmentProgress> |
| | | </div> |
| | | </div> |
| | | <el-col :xs="5" :sm="3" align="middle"> |
| | | <!-- <el-col :xs="5" :sm="3" align="middle"> |
| | | <el-avatar |
| | | :size="50" |
| | | ></el-avatar> |
| | |
| | | <div class="unfilled">未填滿意度</div> |
| | | </template> |
| | | </div> |
| | | </el-col> |
| | | </el-col> --> |
| | | |
| | | <div class="flex-column contactInfo" :xs="4" :sm="6"> |
| | | |
| | |
| | | v-else-if="client.communicateStatus === contactStatus.CONTACTED"> |
| | | 結案 |
| | | </div> |
| | | <div |
| | | <!-- <div |
| | | class="invite-msg smTxt_bold" |
| | | @click.stop="inviteReview" |
| | | v-else-if="!client.satisfactionScore"> |
| | | 發送滿意度 |
| | | </div> |
| | | </div> --> |
| | | |
| | | <div |
| | | class="date xsTxt text--black" |
| | |
| | | <p>性別:<span>{{gender}}</span></p> |
| | | <p>年齡:<span>{{client.age | toAgeLabel }}</span></p> |
| | | <p>職業:<span>{{client.job}}</span></p> |
| | | <p>需求:<span>{{client.requirement.split(',').join('、')}}</span></p> |
| | | <p>諮詢方式:<span>{{client.consultationMethod | toConsultationMethod }}</span></p> |
| | | <p>需求:<span>{{ client.requirement ? client.requirement.split(',').join('、') : '--' }}</span></p> |
| | | <p v-for="(item, index) in hopeContactTime" |
| | | :key="index" |
| | | >連絡時段{{index + 1 | formatNumber}}:<span>{{ item | formatHopeContactTime}}</span></p> |
| | |
| | | this.clearAppointmentIdFromMsg(); |
| | | } |
| | | |
| | | private readAppointment(): void { |
| | | appointmentService.recordRead(this.client.id).then((_) => { |
| | | const updatedClient = {...this.client}; |
| | | updatedClient.consultantReadTime = new Date().toString(); |
| | | this.updateMyAppointmentList(updatedClient); |
| | | this.updateAppointmentDetail(this.client.id); |
| | | }); |
| | | private async readAppointment(): Promise<void> { |
| | | try { |
| | | const response = await appointmentService.recordRead(this.client.id); |
| | | if (response !== null) { |
| | | const updatedClient = { ...this.client }; |
| | | updatedClient.consultantReadTime = new Date().toString(); |
| | | this.updateMyAppointmentList(updatedClient); |
| | | this.updateAppointmentDetail(this.client.id); |
| | | } else { |
| | | throw new Error('appointmentService.recordRead returned null-like value.'); |
| | | } |
| | | } catch (error) { |
| | | console.error('An error occurred while reading appointment:', error); |
| | | // 可以在此處處理錯誤或回傳預設值 |
| | | throw error; |
| | | } |
| | | } |
| | | |
| | | |
| | | private clearAppointmentIdFromMsg() { |
| | | this.storageClearAppointmentIdFromMsg(); |
| | |
| | | } |
| | | |
| | | get requirements() { |
| | | return this.client.requirement.split(','); |
| | | return this.client.requirement ? this.client.requirement.split(',') : []; |
| | | } |
| | | |
| | | get gender() { |