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/Consultant/ConsultantCard.vue |   33 ++++++++++++++++-----------------
 1 files changed, 16 insertions(+), 17 deletions(-)

diff --git a/PAMapp/components/Consultant/ConsultantCard.vue b/PAMapp/components/Consultant/ConsultantCard.vue
index baa10d8..383c739 100644
--- a/PAMapp/components/Consultant/ConsultantCard.vue
+++ b/PAMapp/components/Consultant/ConsultantCard.vue
@@ -5,12 +5,11 @@
             <el-col :xs="22" :sm="23">
                 <el-row type="flex">
                     <el-col class="flex_column" :xs="5" :sm="3">
-                        <el-avatar
+                        <UiAvatar
                             :size="50"
-                            :src="agentInfo.img"
-                            class="cursor--pointer"
-                            @click.native="$router.push(`/agentInfo`)"
-                        ></el-avatar>
+                            :fileName="agentInfo.img"
+                            @click.native="showAgentDetail(agentInfo.agentNo)"
+                        ></UiAvatar>
                         <div class="satisfaction">
                             <i class="icon-star pam-icon icon--yellow satisfaction"></i>
                             <span>{{agentInfo.avgScore }}</span>
@@ -27,7 +26,8 @@
                         </div>
                         <div
                             class="delete"
-                            v-if="agentInfo.contactStatus === 'picked'"
+                            v-if="agentInfo.contactStatus !== 'reserved'
+                                || agentInfo.contactStatus !== 'contacted'"
                             @click="removeAgent"
                         >蝘駁</div>
                     </el-col>
@@ -37,7 +37,7 @@
                             @click="reserveCommunication"
                             :class="agentInfo.contactStatus + 'Btn'"
                         >{{ contactTxt }}</el-button>
-                        <div class="updateTime">{{updateTime}}</div>
+                        <div class="updateTime" v-if="updateTime">{{updateTime | formatDate}}</div>
                     </el-col>
                 </el-row>
             </el-col>
@@ -66,6 +66,7 @@
 <script lang="ts">
 import { Vue, Component, Prop, Emit } from 'nuxt-property-decorator';
 import { Consultants } from '~/assets/ts/api/consultant';
+import { isLogin } from '~/assets/ts/auth';
 import { isMobileDevice } from '~/assets/ts/device';
 
 @Component
@@ -85,18 +86,12 @@
     }
 
     get updateTime() {
-        const newDate = new Date(this.agentInfo.updateTime);
-        let year = newDate.getFullYear();
-        let month = newDate.getMonth() + 1;
-        let date = newDate.getDate();
-        let hours = newDate.getHours();
-        let minutes = newDate.getMinutes();
-        return `${year}/${month}/${date} ${hours} : ${minutes}`
+        return isLogin() ? this.agentInfo.updateTime : '';
     }
-
     reserveCommunication() {
-        if (this.agentInfo.contactStatus === 'picked') {
-            this.$router.push('/communication/myDemand')
+        const contactStatus = this.agentInfo.contactStatus;
+        if (contactStatus !== 'reserved' && contactStatus !== 'contacted') {
+            isLogin() ? this.$router.push(`/questionnaire/${this.agentInfo.agentNo}`) : this.$router.push('/login');
         } else {
             this.width = isMobileDevice() ? '80%' : '';
             this.isVisibleDialog = true;
@@ -106,6 +101,10 @@
     @Emit('removeAgent') removeAgent() {
         return this.agentInfo.agentNo;
     }
+
+    showAgentDetail(agentNo: string): void {
+        this.$router.push(`/agentInfo/${agentNo}`);
+    }
 }
 </script>
 

--
Gitblit v1.8.0