| | |
| | | <script lang="ts"> |
| | | import { Vue, Component } from 'vue-property-decorator'; |
| | | import { namespace } from 'nuxt-property-decorator'; |
| | | import { Role } from '~/assets/ts/models/enum/role.enum'; |
| | | import { Role } from '~/shared/models/enum/Role'; |
| | | import * as _ from 'lodash'; |
| | | |
| | | const roleStorage = namespace('localStorage'); |
| | | @Component |
| | | export default class NavBar extends Vue { |
| | | @roleStorage.Mutation storageClear!: () => void; |
| | | @roleStorage.Mutation storageClearQuickFilter!: () => void; |
| | | @roleStorage.Mutation storageClearRecommendConsultant!: () => void; |
| | | |
| | | @roleStorage.Getter idToken!: string | null; |
| | | @roleStorage.Getter currentRole!: string | null; |
| | | @roleStorage.Getter consultantId!: string | null; |
| | |
| | | title: '查看帳號資訊', |
| | | }, |
| | | { |
| | | authorityOfRoleList:[Role.ADMIN, Role.USER], |
| | | authorityOfRoleList:[Role.ADMIN], |
| | | routeUrl: '/record', |
| | | title: '查看紀錄', |
| | | }, |
| | | { |
| | | authorityOfRoleList: [Role.USER], |
| | | routeUrl: '/userReviewsRecord', |
| | | title: '查看紀錄', |
| | | }, |
| | | { |
| | | authorityOfRoleList: [Role.NOT_LOGIN, Role.USER], |
| | | routeUrl: '/myConsultantList/consultantList', |
| | | title: '我的顧問清單', |
| | | }, |
| | | { |
| | | authorityOfRoleList: [Role.NOT_LOGIN, Role.USER], |
| | | routeUrl: '/faq', |
| | | title: 'F&Q 常見問題', |
| | | }, |
| | | { |
| | | authorityOfRoleList: [Role.USER, Role.ADMIN], |
| | |
| | | login_role = Role.NOT_LOGIN; |
| | | isOpenDropdown = false; |
| | | |
| | | get loginRole(): string { |
| | | return this.idToken && this.currentRole ? this.currentRole : Role.NOT_LOGIN; |
| | | get loginRole(): Role { |
| | | return this.idToken && this.currentRole ? (this.currentRole as Role): Role.NOT_LOGIN; |
| | | } |
| | | |
| | | routerNavigateTo(url: string): void { |
| | |
| | | |
| | | logout(): void { |
| | | this.storageClear(); |
| | | this.storageClearQuickFilter(); |
| | | this.storageClearRecommendConsultant(); |
| | | _.isEqual(this.$route.name, 'index') ? location.reload() : this.$router.push('/'); |
| | | } |
| | | } |