From e912d42c4a9d806c2a498fef458ef8cb4e9ba405 Mon Sep 17 00:00:00 2001
From: Tomas <tomasysh@gmail.com>
Date: 星期三, 23 二月 2022 15:54:12 +0800
Subject: [PATCH] update#135494: [ 客戶端 ] 加入顧問到我的顧問清單後,未顯示加入日期

---
 PAMapp/store/index.ts                              |    8 ++++----
 PAMapp/pages/questionnaire/_agentNo.vue            |    2 +-
 PAMapp/shared/services/query-consultant.service.ts |   12 ++++++++++--
 PAMapp/components/AddAndReservedBtns.vue           |   11 +++++++++++
 4 files changed, 26 insertions(+), 7 deletions(-)

diff --git a/PAMapp/components/AddAndReservedBtns.vue b/PAMapp/components/AddAndReservedBtns.vue
index f2f3177..b42bee8 100644
--- a/PAMapp/components/AddAndReservedBtns.vue
+++ b/PAMapp/components/AddAndReservedBtns.vue
@@ -14,6 +14,8 @@
 import { Vue, Component, Prop, Emit, Action, State, namespace } from 'nuxt-property-decorator';
 import { Consultant } from '~/shared/models/consultant.model';
 
+const roleStorage = namespace('localStorage');
+
 @Component
 export default class AddAndReservedBtns extends Vue {
 
@@ -29,6 +31,9 @@
     @Prop()
     cusClass!: string;
 
+    @roleStorage.Getter
+    isUserLogin!: boolean;
+
     isVisiblePopUp = false;
 
     //////////////////////////////////////////////////////////////////////
@@ -41,6 +46,12 @@
     //////////////////////////////////////////////////////////////////////
 
     addConsultant(item: Consultant): void {
+        if (!this.isUserLogin) {
+          item = {
+            ...item,
+            updateTime: new Date().toString()
+          };
+        }
         this.addToMyConsultantList(item).then(addOk => {
             addOk && this.openPopUp();
         });
diff --git a/PAMapp/pages/questionnaire/_agentNo.vue b/PAMapp/pages/questionnaire/_agentNo.vue
index 213a636..7134a4d 100644
--- a/PAMapp/pages/questionnaire/_agentNo.vue
+++ b/PAMapp/pages/questionnaire/_agentNo.vue
@@ -433,7 +433,7 @@
       if (this.isEditBtn) {
         this.editAppointmentDemand();
       } else {
-        queryConsultantService.addFavoriteConsultant([this.$route.params.agentNo]).then(res => this.sentAppointmentDemand());
+        queryConsultantService.addFavoriteConsultant([{ agentNo: this.$route.params.agentNo, createdTime: new Date().toString()}]).then(res => this.sentAppointmentDemand());
       }
        const editSettingInfo: UserSetting = {
           name: this.myRequest.name,
diff --git a/PAMapp/shared/services/query-consultant.service.ts b/PAMapp/shared/services/query-consultant.service.ts
index 8a5a139..fdc5507 100644
--- a/PAMapp/shared/services/query-consultant.service.ts
+++ b/PAMapp/shared/services/query-consultant.service.ts
@@ -23,8 +23,11 @@
   }
 
   // ��憿批��
-  async addFavoriteConsultant(agentNoList: string[]) {
-    return http.post('/consultant/favorite', { agentNoList });
+  async addFavoriteConsultant(addFavoriteConsultantList: AddFavoriteConsultantItem[]) {
+    const payload = {
+      consultantList: addFavoriteConsultantList
+    };
+    return http.post('/consultant/favorite', payload);
   }
 
   // ����岷���
@@ -35,3 +38,8 @@
 }
 
 export default new QueryConsultantService();
+
+export interface AddFavoriteConsultantItem {
+  agentNo    : string;
+  createdTime: string;
+}
diff --git a/PAMapp/store/index.ts b/PAMapp/store/index.ts
index b4cd250..9dd6256 100644
--- a/PAMapp/store/index.ts
+++ b/PAMapp/store/index.ts
@@ -1,7 +1,7 @@
 import { Module, VuexModule, Mutation, Action } from 'vuex-module-decorators'
 
 import myConsultantService from '~/shared/services/my-consultant.service';
-import queryConsultantService from '~/shared/services/query-consultant.service';
+import queryConsultantService, { AddFavoriteConsultantItem } from '~/shared/services/query-consultant.service';
 import reviewsService from '~/shared/services/reviews.service';
 import { Consultant } from '~/shared/models/consultant.model';
 import { getFavoriteFromStorage, setFavoriteToStorage } from '~/shared/storageConsultant';
@@ -78,8 +78,8 @@
 
 
         if (localData?.length) {
-            const agentNoList = localData.map(i => i.agentNo)
-            await queryConsultantService.addFavoriteConsultant(agentNoList).then(res => {
+            const addFavoriteAgentList: AddFavoriteConsultantItem[] = localData.map(i => ({ agentNo: i.agentNo, createdTime: i.updateTime}));
+            await queryConsultantService.addFavoriteConsultant(addFavoriteAgentList).then(res => {
                 localStorage.removeItem('favoriteConsultant')
             })
         }
@@ -114,7 +114,7 @@
             if (!found) {
                 const newData = [consultantToAdd].concat(this.myConsultantList);
                 if (this.isUserLogin) {
-                    await queryConsultantService.addFavoriteConsultant([consultantToAdd.agentNo])
+                    await queryConsultantService.addFavoriteConsultant([{ agentNo: consultantToAdd.agentNo, createdTime: consultantToAdd.updateTime  }])
                 } else {
                     setFavoriteToStorage(newData);
                 }

--
Gitblit v1.8.0