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