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 | 60 +++++++++++++++++++++++++----------------------------------- 1 files changed, 25 insertions(+), 35 deletions(-) diff --git a/PAMapp/pages/agentInfo/_agentNo.vue b/PAMapp/pages/agentInfo/_agentNo.vue index 2fa6903..de479db 100644 --- a/PAMapp/pages/agentInfo/_agentNo.vue +++ b/PAMapp/pages/agentInfo/_agentNo.vue @@ -10,7 +10,8 @@ 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> @@ -57,7 +58,10 @@ </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> @@ -165,7 +169,6 @@ </PopUpFrame> <PopUpFrame - drawerSize="40%" :isOpen.sync="isAlertFieldInfo" > <div class="text--center mdTxt fs-18"> @@ -186,9 +189,14 @@ 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 { Role } from '~/assets/ts//models/enum/Role'; + +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; @@ -198,21 +206,22 @@ 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; } @@ -231,25 +240,6 @@ } } -interface AgentInfo { - name : string; - agentNo : string; - role : string; - img : 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