From b6661a090e8bcf8f45be24a01b6a7bb08e3aaff1 Mon Sep 17 00:00:00 2001 From: Tomas <tomasysh@gmail.com> Date: 星期三, 08 十二月 2021 08:50:04 +0800 Subject: [PATCH] refactor: pages component - separate vue files --- PAMapp/components/BackActionBar.vue | 45 +++++++++++++++++++++++++++++++++++++++------ 1 files changed, 39 insertions(+), 6 deletions(-) diff --git a/PAMapp/components/BackActionBar.vue b/PAMapp/components/BackActionBar.vue index dd01052..a26b20f 100644 --- a/PAMapp/components/BackActionBar.vue +++ b/PAMapp/components/BackActionBar.vue @@ -1,24 +1,30 @@ <template> <nav class="pam-back-action-bar fix-chrome-click--issue"> - <a @click="$router.push('/')"> + <a @click="pushRouterByLoginRole" v-if="questionnaireState"> <i class="icon-left "></i>{{ label }} </a> </nav> </template> <script lang="ts"> -import { Vue, Component } from 'vue-property-decorator'; +import { namespace, Watch } from 'nuxt-property-decorator'; +import { Vue, Component,} from 'vue-property-decorator'; +import { Role } from '~/assets/ts/models/enum/role.enum'; +import * as _ from 'lodash'; +import { isLogin } from '~/assets/ts/auth'; +const roleStorage = namespace('localStorage'); @Component export default class UiCarousel extends Vue { - + @roleStorage.Getter currentRole!:string; + questionnaireState: boolean = true; get label(): string { if (this.$route.name) { const routeName = this.$route.name.split('-')[0]; let featureLabel = ''; switch(routeName) { case 'login': - featureLabel = '��'; + featureLabel = '�� | 閮餃��'; break; case 'recommendConsultant': featureLabel = '������'; @@ -30,13 +36,26 @@ featureLabel = '���“���'; break; case 'agentInfo': - featureLabel = '璆剖�鞈��' + featureLabel = _.isEqual(this.currentRole,Role.ADMIN) ? '���董�����' : '璆剖�鞈��' break; default: featureLabel = '�����'; break; case 'questionnaire': featureLabel = '�脰����'; + break; + case 'notification': + featureLabel = '�'; + break; + case 'record': + featureLabel = '�������'; + break; + case 'accountSetting': + featureLabel = '�犖撣唾�身摰�'; + break; + case 'consultantAccountSetting': + featureLabel = '���董�����'; + break; } return featureLabel; } else { @@ -44,6 +63,14 @@ } } + pushRouterByLoginRole():void{ + const pathName = this.$route.name; + pathName?.includes('myConsultantList') ? this.$router.push('/') : this.$router.go(-1); + } + + set label(value) { + this.questionnaireState = value === '�脰����' ? isLogin() : true; + } } </script> @@ -54,7 +81,7 @@ display: flex; align-items: center; position: fixed; - top: 0; + top: $MOB_NAV_BAR; left: 0; width: 100%; background-color: $PRIMARY_WHITE; @@ -70,4 +97,10 @@ padding: 20px; } } + +@include desktop { + .pam-back-action-bar { + top: $DESKTOP_NAV_BAR; + } +} </style> -- Gitblit v1.8.0