From 0b35f2321cd1ea6fea2ef4e0854ad2c0461ee97a Mon Sep 17 00:00:00 2001 From: Tomas <tomasysh@gmail.com> Date: 星期三, 15 十二月 2021 16:19:23 +0800 Subject: [PATCH] refactor: AgentDetail --- PAMapp/pages/agentInfo/_agentNo.vue | 44 +++++++++++++++----------------------------- 1 files changed, 15 insertions(+), 29 deletions(-) diff --git a/PAMapp/pages/agentInfo/_agentNo.vue b/PAMapp/pages/agentInfo/_agentNo.vue index c164fad..0267976 100644 --- a/PAMapp/pages/agentInfo/_agentNo.vue +++ b/PAMapp/pages/agentInfo/_agentNo.vue @@ -189,11 +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 '~/assets/ts/services/my-consultant.service'; +import { AgentInfo } from '~/assets/ts/models/agent-info.model'; import { hideReviews } from '~/assets/ts/const/hide-reviews'; +import { Role } from '~/assets/ts//models/enum/Role'; const roleStorage = namespace('localStorage'); + @Component export default class AgentInfoComponent extends Vue { @roleStorage.Getter currentRole!:string|null; @@ -204,20 +207,21 @@ 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; } @@ -236,24 +240,6 @@ } } -interface AgentInfo { - name : string; - agentNo : string; - role : string; - img : string; - avgScore : number; - title : string; - phoneNumber : string; - serveArea : string; - companyAddress : string; - seniority : string; - suitability : number; - evaluation : number; - expertise : string[]; - concept : string; - experiences : string[]; - awards : string; -} </script> <style lang="scss"> -- Gitblit v1.8.0