From c0946457d311eb1ced63f7dcbcf4bc3f0e33c55a Mon Sep 17 00:00:00 2001 From: Tomas <tomasysh@gmail.com> Date: 星期三, 19 一月 2022 16:43:01 +0800 Subject: [PATCH] fixed: BackActionBar - 預約單結案後顯示的 lable 應為'結案明細' --- PAMapp/components/BackActionBar.vue | 109 +++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 90 insertions(+), 19 deletions(-) diff --git a/PAMapp/components/BackActionBar.vue b/PAMapp/components/BackActionBar.vue index dd01052..ab32947 100644 --- a/PAMapp/components/BackActionBar.vue +++ b/PAMapp/components/BackActionBar.vue @@ -1,16 +1,39 @@ <template> <nav class="pam-back-action-bar fix-chrome-click--issue"> - <a @click="$router.push('/')"> - <i class="icon-left "></i>{{ label }} + <a @click="goBack"> + <i class="icon-left "></i> </a> + <div class="label">{{ label }}</div> </nav> </template> <script lang="ts"> -import { Vue, Component } from 'vue-property-decorator'; +import { namespace } from 'nuxt-property-decorator'; +import { Vue, Component,} from 'vue-property-decorator'; + +import * as _ from 'lodash'; +import { Role } from '~/shared/models/enum/Role'; + +const appointmentStore = namespace('appointment.store'); +const roleStorage = namespace('localStorage'); @Component export default class UiCarousel extends Vue { + + @roleStorage.Getter + currentRole!:string; + + @appointmentStore.Getter + isCloseAppointment!: boolean; + + ////////////////////////////////////////////////////////////////////// + + goBack(): void { + const pathName = this.$route.name; + pathName?.includes('myConsultantList') + ? this.$router.push('/') + : this.$router.go(-1); + } get label(): string { if (this.$route.name) { @@ -18,7 +41,7 @@ let featureLabel = ''; switch(routeName) { case 'login': - featureLabel = '��'; + featureLabel = '�� | 閮餃��'; break; case 'recommendConsultant': featureLabel = '������'; @@ -30,13 +53,48 @@ featureLabel = '���“���'; break; case 'agentInfo': - featureLabel = '璆剖�鞈��' + const agentFeatureLabel = this.$route.name.includes('edit') ? '蝺刻摩撣唾����' : '���董�����'; + featureLabel = _.isEqual(this.currentRole,Role.ADMIN) + ? agentFeatureLabel + : '璆剖�鞈��' break; default: featureLabel = '�����'; break; case 'questionnaire': featureLabel = '�脰����'; + break; + case 'notification': + featureLabel = '�'; + break; + case 'userReviewsRecord': + case 'record': + featureLabel = '�������'; + break; + case 'accountSetting': + featureLabel = '�犖撣唾�身摰�'; + break; + case 'appointmentAgenda': + featureLabel = '�撠�赤����'; + break; + case 'consultantAccountSetting': + featureLabel = '���董�����'; + break; + case 'faq': + featureLabel = 'F&Q 撣貉����'; + break; + case 'appointment': + const appointmentFeatureLabel = this.$route.name.includes('close') + ? '蝯��' + : this.isCloseAppointment ? '蝯����' : '������'; + const inInterview = this.$route.name.includes('interview'); + const addNewInterview = this.$route.name.includes('new'); + if (inInterview) { + featureLabel = addNewInterview ? '�憓�赤蝝����' : '蝺刻摩蝝赤蝝����'; + } else { + featureLabel = appointmentFeatureLabel; + } + break; } return featureLabel; } else { @@ -49,25 +107,38 @@ <style lang="scss" scoped> .pam-back-action-bar { - height: $MOB_NAV_BAR; - border: 1px solid #CCCCCC; - display: flex; - align-items: center; - position: fixed; - top: 0; - left: 0; - width: 100%; + height : $MOB_NAV_BAR; + border : 1px solid #CCCCCC; + display : flex; + align-items : center; + position : fixed; + top : $MOB_NAV_BAR; + left : 0; + width : 100%; background-color: $PRIMARY_WHITE; - z-index: 6; + z-index : 6; + font-size : 20px; + font-weight : bold; i { - font-size: 20px; + display : block; padding-right: 14px; } a { - cursor: pointer; - font-size: 24px; - font-weight: bold; - padding: 20px; + cursor : pointer; + padding: 0 20px; + width : 26px; + } + .label { + margin : 0 auto; + transform: translateX(-33px); } } + +@include desktop { + .pam-back-action-bar { + top : $DESKTOP_NAV_BAR; + font-size: 24px; + } +} + </style> -- Gitblit v1.8.0