From 3e8c86ebf61df1ac5c9dfd96c7a829a2cd9ec4a2 Mon Sep 17 00:00:00 2001 From: Mila <Mila@pollex.com.tw> Date: 星期一, 15 十一月 2021 17:55:59 +0800 Subject: [PATCH] TODO#130023 客戶預約清單: 串接標註已聯絡 api --- PAMapp/components/Client/ClientCard.vue | 46 ++++++++++++++++++++++++++-------------------- 1 files changed, 26 insertions(+), 20 deletions(-) diff --git a/PAMapp/components/Client/ClientCard.vue b/PAMapp/components/Client/ClientCard.vue index 477cf7f..df1fceb 100644 --- a/PAMapp/components/Client/ClientCard.vue +++ b/PAMapp/components/Client/ClientCard.vue @@ -54,11 +54,12 @@ <p>�批嚗{client.gender === 'male' ? '���' : '憟單��'}}</p> <p>撟湧翩嚗{client.age}}</p> <p>�璆哨�{client.job}}</p> - <p>��瘙�{client.requirements}}</p> - <p>��蝯⊥�挾銝�嚗{hopeContactTime}}</p> + <p>��瘙�{client.requirement.replace(',', '��')}}</p> + <p v-for="(item, index) in hopeContactTime" :key="index">��蝯⊥�挾{{index + 1 | formatNumber}}嚗{item}}</p> <div class="mt-30 text--center" v-if="isReserved"> - <el-button>璅酉�撌脤��蝯�</el-button> + <el-button @click="markAppointment">璅酉�撌脤��蝯�</el-button> </div> + </div> </Ui-Dialog> </div> @@ -66,10 +67,19 @@ <script lang="ts"> import { Vue, Component, Prop } from 'nuxt-property-decorator'; -import { ClientInfo } from '~/assets/ts/api/consultant'; import { isMobileDevice } from '~/assets/ts/device'; +import { ClientInfo, markAsContact } from '~/assets/ts/api/appointment'; -@Component +@Component({ + filters: { + formatNumber(index: number) { + if (index) { + const upperNumber = ['�', '銝�', '鈭�', '銝�', '���', '鈭�', '�', '銝�', '�', '銋�', '���'] + return upperNumber[index]; + } + } + } +}) export default class ClientList extends Vue { @Prop() client!: ClientInfo; isVisibleDialog = false; @@ -80,26 +90,18 @@ } get hopeContactTime() { - return this.client.hopeContactTime.slice(1, this.client.hopeContactTime.length - 1) + const contactList = this.client.hopeContactTime.split("'").map(item => item.slice(0, item.length - 1)); + return contactList.filter(item => !!item) } + get time() { - if (this.client.appointmentDate) { - const newDate = new Date(this.client.appointmentDate); - const hours = newDate.getHours(); - const minutes = newDate.getMinutes(); - return `${hours} : ${minutes}` - } - return '' + const formatDate = (this.$options.filters as any).formatDate(this.client.appointmentDate); + return formatDate.split(' ')[1] } get date() { - if (this.client.appointmentDate) { - const newDate = new Date(this.client.appointmentDate); - const month = newDate.getMonth(); - const date = newDate.getDate(); - return `${month} / ${date}` - } - return '' + const formatDate = (this.$options.filters as any).formatDate(this.client.appointmentDate); + return formatDate.split(' ')[0] } get isReserved() { @@ -111,6 +113,10 @@ this.isVisibleDialog = true; } + markAppointment() { + markAsContact(this.client.id).then(res => console.log(res)) + } + } </script> -- Gitblit v1.8.0