| | |
| | | <template> |
| | | <div> |
| | | |
| | | <template v-if="agentList.length > 0"> |
| | | <ConsultantCard |
| | | v-for="(agent, index) in agentList" |
| | |
| | | :agentInfo="agent" |
| | | ></ConsultantCard> |
| | | </template> |
| | | <template v-if="isLogin && agentList.length === 0"> |
| | | <template v-if="isUserLogin && agentList.length === 0"> |
| | | <div class="emptyRowStyle"> |
| | | <div class="smTxt txt">您目前無已選顧問</div> |
| | | <div class="smTxt txt">{{ noDataPlaceholder }}</div> |
| | | </div> |
| | | </template> |
| | | <template v-if="!isLogin"> |
| | | <template v-if="!isUserLogin"> |
| | | <div class="emptyRowStyle"> |
| | | <div class="mdTxt login fix-chrome-click--issue" @click="$router.push('/login')">登入 | 註冊</div> |
| | | <div class="smTxt txt ">查看更多</div> |
| | |
| | | </template> |
| | | |
| | | <script lang="ts"> |
| | | import { Vue, Component, Prop, namespace } from 'nuxt-property-decorator'; |
| | | import { Consultant } from '~/assets/ts/models/consultant.model'; |
| | | import { Role } from '~/assets/ts/models/enum/Role'; |
| | | |
| | | const roleStorage = namespace('localStorage'); |
| | | import { Consultant } from '~/shared/models/consultant.model'; |
| | | import { Vue, Component, Prop } from 'nuxt-property-decorator'; |
| | | import authService from '~/shared/services/auth.service'; |
| | | |
| | | @Component |
| | | export default class ConsultantList extends Vue { |
| | | @Prop() agents!: Consultant[]; |
| | | @roleStorage.Getter currentRole!:string; |
| | | @Prop() |
| | | agents!: Consultant[]; |
| | | |
| | | get isLogin() { |
| | | return this.currentRole === Role.USER; |
| | | } |
| | | @Prop() |
| | | title! : string; |
| | | |
| | | isUserLogin = false; |
| | | |
| | | ////////////////////////////////////////////////////////////////////// |
| | | |
| | | get agentList(){ |
| | | return this.agents.map((agentDto)=> |
| | | ({...agentDto,customerScore:0,}) |
| | | ) |
| | | return this.agents.map((agentDto)=> |
| | | ({...agentDto,customerScore:0,}) |
| | | ) |
| | | } |
| | | |
| | | get noDataPlaceholder(): string { |
| | | return this.title === 'contactedList' |
| | | ? '您目前無已聯絡顧問' |
| | | : '您目前無已選顧問'; |
| | | } |
| | | |
| | | ////////////////////////////////////////////////////////////////////// |
| | | |
| | | mounted() { |
| | | this.isUserLogin = authService.isUserLogin(); |
| | | } |
| | | |
| | | } |