From abfd26bb700d93a92da6a04703b0187d4acaaeb5 Mon Sep 17 00:00:00 2001
From: Tomas <tomasysh@gmail.com>
Date: 星期三, 22 十二月 2021 10:13:02 +0800
Subject: [PATCH] refactor: move ts folder to shared folder

---
 PAMapp/pages/agentInfo/_agentNo.vue |   69 ++++++++++++++++------------------
 1 files changed, 32 insertions(+), 37 deletions(-)

diff --git a/PAMapp/pages/agentInfo/_agentNo.vue b/PAMapp/pages/agentInfo/_agentNo.vue
index 5b1b045..de479db 100644
--- a/PAMapp/pages/agentInfo/_agentNo.vue
+++ b/PAMapp/pages/agentInfo/_agentNo.vue
@@ -3,14 +3,15 @@
       <el-row
         type="flex"
         justify="center">
-        <UiAvatar :size="150" :fileName="agentInfo.image"></UiAvatar>
+        <UiAvatar :size="150" :fileName="agentInfo.img"></UiAvatar>
       </el-row>
 
       <el-row
         type="flex"
         class="pt-10"
         justify="center"
-        align="middle">
+        align="middle" v-if="!hideReviews">
+        <!-- TODO:���遛��漲 -->
           <i class="pam-icon icon--primary icon-star"></i>
           <h3 class="mdTxt">{{ agentInfo.avgScore }}</h3>
       </el-row>
@@ -50,14 +51,17 @@
         type="flex"
         class="pam-paragraph">
         <UiField :span="12" icon="time" label="��敺�����">
-          {{ agentInfo.lastestLoginTime | formatDate }}
+          {{ agentInfo.latestLoginTime | formatDate }}
         </UiField>
         <UiField :span="12" icon="calender" label="����風">
           {{ agentInfo.seniority }}
         </UiField>
       </el-row>
 
-      <el-row
+      <!-- TODO: 靘�� 2021/12/10 10:30 ��� Charles ����������漲甈��*蝷� [Tomas, 2021/12/10] -->
+      <!-- REF:  https://reurl.cc/OkO6Q9-->
+
+      <!-- <el-row
         type="flex"
         v-if="agentInfo.suitability"
         class="pam-paragraph">
@@ -83,7 +87,7 @@
             </el-progress>
           </div>
         </el-col>
-      </el-row>
+      </el-row> -->
 
       <el-row
         type="flex"
@@ -111,7 +115,7 @@
         class="pam-paragraph">
         <UiField icon="flag" label="撠����">
           <div class="pam-field-experts">
-            <div class="text--orange bold pr-10" v-for="(expert, index) in agentInfo.expertises" :key="index">
+            <div class="text--orange bold pr-10" v-for="(expert, index) in agentInfo.expertise" :key="index">
               #{{ expert }}
             </div>
           </div>
@@ -144,7 +148,9 @@
         </UiField>
       </el-row>
 
+
       <AddAndReservedBtns
+        v-if="currentRole!==role.ADMIN"
         :cusClass="'pam-paragraph'"
         :agentInfo="agentInfo"
         @openPopUp="alertAddSuccess"
@@ -163,7 +169,6 @@
     </PopUpFrame>
 
     <PopUpFrame
-      drawerSize="40%"
       :isOpen.sync="isAlertFieldInfo"
       >
         <div class="text--center mdTxt fs-18">
@@ -182,37 +187,46 @@
 
 <script lang="ts">
 import { Context } from '@nuxt/types';
+import { namespace } from 'nuxt-property-decorator';
 import { Vue, Component } from 'vue-property-decorator';
-import { getConsultantDetail } from '~/assets/ts/api/consultant';
+
+import myConsultantService from '~/shared/services/my-consultant.service';
+import { AgentInfo } from '~/shared/models/agent-info.model';
+import { hideReviews } from '~/shared/const/hide-reviews';
+import { Role } from '~/shared/models/enum/role';
+
+const roleStorage = namespace('localStorage');
 
 @Component
 export default class AgentInfoComponent extends Vue {
+  @roleStorage.Getter currentRole!:string|null;
+  role = Role;
   agentInfo!: AgentInfo;
   isAlertAddSuccess = false;
   isAlertFieldInfo = false;
   fieldInfoTitle = '';
   fieldInfoDesc = '';
+  hideReviews = hideReviews ;
 
-  async asyncData(context: Context) {
-    const agentNo = context.route.params.agentNo;
-    let agentInfo = {};
-    await getConsultantDetail(agentNo).then((res) => agentInfo = res.data )
-    return {
-      agentInfo
-    }
-  }
+  //////////////////////////////////////////////////////////////////////
 
   get agentName(): string {
     return `${this.agentInfo.name}(${this.agentInfo.role})`;
   }
 
-  alertAddSuccess() {
+  async asyncData(context: Context) {
+    const agentNo = context.route.params.agentNo;
+    return {
+      agentInfo: await myConsultantService.getConsultantDetail(agentNo).then((res) => res)
+    }
+  }
+
+  alertAddSuccess(): void {
       this.isAlertAddSuccess = true;
   }
 
   alertFieldInfo(field: string): void {
     this.isAlertFieldInfo = true;
-    console.log(field);
     switch(field) {
       case 'suitability':
         this.fieldInfoTitle = '���漲';
@@ -226,25 +240,6 @@
   }
 }
 
-interface AgentInfo {
-  name: string;
-  agentNo:string;
-  role: string;
-  image: string;
-  avgScore: number;
-  title: string;
-  phoneNumber: string;
-  serveArea: string;
-  companyAddress: string;
-  lastestLoginTime: Date | null;
-  seniority: string;
-  suitability: number;
-  evaluation: number;
-  expertises: string[];
-  concept: string;
-  experiences: string[];
-  awards: string;
-}
 </script>
 
 <style lang="scss">

--
Gitblit v1.8.0