From b4d6944076f1df6eedaae35c4c2a7072fe988e8a Mon Sep 17 00:00:00 2001 From: Tomas <tomasysh@gmail.com> Date: 星期二, 30 四月 2024 15:34:02 +0800 Subject: [PATCH] update: package-lock.json --- PAMapp/pages/myConsultantList.vue | 55 +++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 35 insertions(+), 20 deletions(-) diff --git a/PAMapp/pages/myConsultantList.vue b/PAMapp/pages/myConsultantList.vue index ad2efeb..6914ee7 100644 --- a/PAMapp/pages/myConsultantList.vue +++ b/PAMapp/pages/myConsultantList.vue @@ -27,6 +27,8 @@ <script lang='ts'> import { Vue, Component, Watch, State, Action } from 'nuxt-property-decorator'; + +import authService from '~/shared/services/auth.service'; import { Consultant, ConsultantWithAppointmentId } from '~/shared/models/consultant.model'; @Component @@ -34,6 +36,9 @@ @State('myConsultantList') myConsultantList!: Consultant[]; + + @State('myAppointmentGroupByConsultantList') + myAppointmentGroupByConsultantList!: ConsultantWithAppointmentId[]; @Action storeConsultantList!: any; @@ -68,35 +73,45 @@ this.setList(); } + @Watch('myAppointmentGroupByConsultantList') + omMyAppointmentGroupByConsultantList() { + this.setContactedList(); + } + private setList() { - // reset contacted list - this.contactedList = []; // format consultant list this.consultantList = (this.myConsultantList || []) .filter(item => item.contactStatus !== 'contacted') .map((item) => ({ ...item, formatDate: new Date(item.updateTime || item.createTime)})) .sort((preItem, nextItem) => +nextItem.formatDate - +preItem.formatDate ); + } - // format contacted list - this.myConsultantList.filter((consultant) => consultant.appointments!.length) - .forEach((consultant) => { - consultant.appointments!.forEach((appointment) => { - const consultantWithAppointmentId: ConsultantWithAppointmentId = { - ...consultant, - appointmentId: appointment.id, - appointmentDate: appointment.appointmentDate, - appointmentScore: appointment.satisfactionScore, - appointmentStatus: appointment.communicateStatus, - }; - this.contactedList.push(consultantWithAppointmentId); - }) - }); + private setContactedList() { + // reset contacted list + this.contactedList = []; - this.contactedList = this.contactedList - .filter((appointment) => appointment['appointmentStatus'] === 'contacted') - .map((appointment) => ({ ...appointment, sortTime: new Date(appointment.appointmentDate)})) - .sort((preAppointment, nextAppointment) => +nextAppointment.sortTime - +preAppointment.sortTime); + if (authService.isUserLogin()) { + this.myAppointmentGroupByConsultantList.filter((consultant) => consultant.appointments!.length) + .forEach((consultant) => { + consultant.appointments!.forEach((appointment) => { + const consultantWithAppointmentId: ConsultantWithAppointmentId = { + ...consultant, + appointmentId: appointment.id, + appointmentDate: appointment.appointmentDate, + appointmentScore: appointment.satisfactionScore, + appointmentStatus: appointment.communicateStatus, + appointmentLastModifiedDate: appointment.lastModifiedDate + }; + this.contactedList.push(consultantWithAppointmentId); + }) + }); + + this.contactedList = this.contactedList + .filter((appointment) => appointment['appointmentStatus'] !== 'reserved') + .map((appointment) => ({ ...appointment, sortTime: new Date(appointment.appointmentLastModifiedDate)})) + .sort((preAppointment, nextAppointment) => +nextAppointment.sortTime - +preAppointment.sortTime); + } } ////////////////////////////////////////////////////////////////////// -- Gitblit v1.8.0