From 9e5ba2970c2ebe484d8b1e5f43ddd23201c451e5 Mon Sep 17 00:00:00 2001
From: Mila <Mila@pollex.com.tw>
Date: 星期二, 16 十一月 2021 14:23:28 +0800
Subject: [PATCH] update 我的顧問清單: 登入後若localStorage內有資料, 就呼叫加入顧問api

---
 PAMapp/components/Consultant/ConsultantCard.vue |    1 -
 PAMapp/pages/index.vue                          |    1 -
 PAMapp/pages/myConsultantList.vue               |   49 +++++++++++++++++++++++++++++--------------------
 PAMapp/components/AddAndReservedBtns.vue        |    1 -
 4 files changed, 29 insertions(+), 23 deletions(-)

diff --git a/PAMapp/components/AddAndReservedBtns.vue b/PAMapp/components/AddAndReservedBtns.vue
index 41c3e04..3e57ce8 100644
--- a/PAMapp/components/AddAndReservedBtns.vue
+++ b/PAMapp/components/AddAndReservedBtns.vue
@@ -22,7 +22,6 @@
     @Prop() cusClass!: string;
     isVisiblePopUp = false;
     addConsultant(item: Consultants) {
-        console.log('click')
         if (isLogin()) {
             addFavoriteConsultant([item.agentNo]).then(res => this.openPopUp())
         } else {
diff --git a/PAMapp/components/Consultant/ConsultantCard.vue b/PAMapp/components/Consultant/ConsultantCard.vue
index cf2564a..f4c5d8a 100644
--- a/PAMapp/components/Consultant/ConsultantCard.vue
+++ b/PAMapp/components/Consultant/ConsultantCard.vue
@@ -107,7 +107,6 @@
     };
 
     get avatarFileName() {
-        console.log('avatarFileName')
         return this.agentInfo.img ? this.agentInfo.img : this.agentInfo.image;
     }
 
diff --git a/PAMapp/pages/index.vue b/PAMapp/pages/index.vue
index 9da3bc2..a77e07b 100644
--- a/PAMapp/pages/index.vue
+++ b/PAMapp/pages/index.vue
@@ -77,7 +77,6 @@
 
     addFavoriteFromStorageToApi() {
         const agentNoList = getFavoriteFromStorage().map(i => i.agentNo)
-        console.log(agentNoList, 'agentNoList')
         if (agentNoList.length > 0) {
             addFavoriteConsultant(agentNoList).then(res => this.getMyConsutant());
             localStorage.removeItem('favoriteConsultant');
diff --git a/PAMapp/pages/myConsultantList.vue b/PAMapp/pages/myConsultantList.vue
index 4924994..3b770b2 100644
--- a/PAMapp/pages/myConsultantList.vue
+++ b/PAMapp/pages/myConsultantList.vue
@@ -26,11 +26,10 @@
 </template>
 
 <script lang='ts'>
-import { Context } from '@nuxt/types';
 import { Vue, Component, Watch } from 'vue-property-decorator';
 import { Route } from 'vue-router/types/router.d'
 import { getFavoriteFromStorage, setFavoriteToStorage } from '~/assets/ts/storageConsultant';
-import { Consultants, deleteConsultant, getFavoriteConsultant } from '~/assets/ts/api/consultant';
+import { addFavoriteConsultant, Consultants, deleteConsultant, getFavoriteConsultant } from '~/assets/ts/api/consultant';
 import { isLogin } from '~/assets/ts/auth';
 
 @Component
@@ -45,29 +44,39 @@
         this.$router.push('/myConsultantList/' + this.activeTabName)
     }
 
-    async asyncData(context: Context) {
-        let agents: Consultants[] = [];
-        let contactedList: Consultants[] = [];
-        let consultantList: Consultants[] = [];
-
+    mounted() {
         if (isLogin()) {
-            await getFavoriteConsultant().then((response) => agents = response.data);
+            this.addFavoriteFromStorageToApi();
         } else {
-            agents = getFavoriteFromStorage();
+            this.agents = getFavoriteFromStorage();
+            this.filterContactedList()
         }
+    }
 
-        contactedList = agents
-            .filter(item => item.contactStatus === 'contacted')
-            .sort((a, b) => a.updateTime > b.updateTime ? -1 : 1);
-        consultantList = agents
-            .filter(item => item.contactStatus !== 'contacted')
-            .sort((a, b) => a.updateTime > b.updateTime ? -1 : 1);
-
-        return {
-            agents,
-            contactedList,
-            consultantList
+    addFavoriteFromStorageToApi() {
+        const agentNoList = getFavoriteFromStorage().map(i => i.agentNo)
+        if (agentNoList.length > 0) {
+            addFavoriteConsultant(agentNoList).then(res => this.getMyConsutant());
+            localStorage.removeItem('favoriteConsultant');
+            return;
         }
+        this.getMyConsutant();
+    }
+
+    getMyConsutant() {
+        getFavoriteConsultant().then((response) => {
+            this.agents = response.data;
+            this.filterContactedList();
+        });
+    }
+
+    filterContactedList() {
+        this.consultantList = this.agents
+                .filter(item => item.contactStatus !== 'contacted')
+                .sort((a, b) => a.updateTime > b.updateTime ? -1 : 1);
+        this.contactedList = this.agents
+                .filter(item => item.contactStatus === 'contacted')
+                .sort((a, b) => a.updateTime > b.updateTime ? -1 : 1);
     }
 
     removeAgent(agentNo: string) {

--
Gitblit v1.8.0