From dbdf05da89c536d310394cd3e09fc0b16d762fd8 Mon Sep 17 00:00:00 2001 From: Mila <Mila@pollex.com.tw> Date: 星期一, 24 一月 2022 16:34:43 +0800 Subject: [PATCH] fixed TODO#134626 調整移除按鈕點選範圍、點選移除時增加確認dialog --- PAMapp/components/Appointment/AppointmentInterviewList.vue | 127 +++++++++++++---------------------------- 1 files changed, 41 insertions(+), 86 deletions(-) diff --git a/PAMapp/components/Appointment/AppointmentInterviewList.vue b/PAMapp/components/Appointment/AppointmentInterviewList.vue index 66c1774..8366632 100644 --- a/PAMapp/components/Appointment/AppointmentInterviewList.vue +++ b/PAMapp/components/Appointment/AppointmentInterviewList.vue @@ -1,63 +1,58 @@ <template> <div> - <div class="interview__header"> - <div class="mdTxt">蝝赤蝝����</div> - <div class="mdTxt text--underline text--primary" - @click="addInterview">+�憓�</div> - </div> - - <template v-if="!interviewList.length"> - <div class="record-card record-card--empty"> - �蝝赤蝝���� - </div> - </template> - - <template v-if="interviewList.length"> - <div class="interview--future"> - - <div class="record-card"> - <div class="record-card-date"> - <span class="bold">01/10</span> - <span class="mt-5 line-space">09:00</span> - </div> - <div class="record-card-content"> - <span>�����恥�蝝��璅��撱喉�����������靽</span> - </div> - </div> + <div class="interview__header"> + <div class="mdTxt">蝝赤蝝����</div> + <div class="pam-link-button" + @click="addInterview">+�憓�</div> </div> + <InterviewCard :interviewList="displayList.slice(0, 3)"></InterviewCard> - <section class="interview--past"> - <div class="record-card"> - <div class="record-card-date"> - <span class="bold">01/08</span> - <span class="mt-5 line-space">09:00</span> - </div> - <div class="record-card-content"> - <span>�����縑���閰梯�Ⅳ嚗���������</span> - </div> - </div> + <section class="text--right mt-30 interview-check-more" v-if="interviewList.length > 3"> + <div class="pam-link-button" @click="readMoreBtn"> + 撅��憭� + <i class="icon-expand"></i> + </div> </section> - - <section class="more-log-action"> - <div class="mdTxt text--primary text--underline">撅��憭�</div> - </section> - </template> </div> </template> <script lang="ts"> -import { Vue, Component } from 'nuxt-property-decorator'; +import { Vue, Component, Prop, Watch } from 'nuxt-property-decorator'; +import { InterviewRecord } from '~/shared/models/appointment.model'; @Component export default class AppointmentInterviewList extends Vue { + @Prop() + interviewList!: InterviewRecord[]; - interviewList = []; + appointmentId!: string; + displayList: InterviewRecord[] = []; + + ////////////////////////////////////////////////////////////////////// + + mounted() { + this.appointmentId = this.$route.params.appointmentId; + } + + ////////////////////////////////////////////////////////////////////// + + @Watch('interviewList', {immediate: true}) + updateInterviewList() { + if (this.interviewList && this.interviewList.length > 0) { + this.displayList = this.interviewList + .map((i) => ({ ...i, sortDate: new Date(i.interviewDate)})) + .sort((preItem, nextItem) => +nextItem.sortDate - +preItem.sortDate); + } + } ////////////////////////////////////////////////////////////////////// addInterview(): void { - const appointmentId = this.$route.params.appointmentId; - this.$router.push(`/appointment/${appointmentId}/interview/new`); + this.$router.push(`/appointment/${this.appointmentId}/interview/new`); + } + + readMoreBtn() { + this.$router.push(`/appointment/${this.appointmentId}/interviewList`); } } @@ -69,48 +64,8 @@ justify-content: space-between; margin-bottom : 10px; } -.interview--future{ - border-bottom: 1px solid #CCCCCC; - padding-bottom: 17px; - margin-bottom: 17px; - .record{ - display: flex; - justify-content: space-between; - margin-bottom: 10px; - } -} -.record-card { - height: 62px; - border: 1px solid #707070; - border-radius: 5px; - display: flex; - border-bottom: 1px solid #000; - .record-card-date{ - display: flex; - flex-direction: column; - margin-left: 10px; - margin-right: 10px; - margin-top: 10px; - } - .record-card-content{ - height: 42px; - margin-top: 10px; - margin-right: 10px; - line-height: 1.2; - } - &.record-card--empty { - align-items : center; - background-color: #fff; - color : $MID_GREY; - justify-content : center; - } -} -.line-space{ - letter-spacing: 1px; -} -.more-log-action{ - margin-top: 30px; - display: flex; - justify-content:flex-end; +.interview-check-more{ + display: flex; + justify-content: center; } </style> -- Gitblit v1.8.0