From bfa47846f34ea7248a06c44de5725f4645c87269 Mon Sep 17 00:00:00 2001 From: Tomas <tomasysh@gmail.com> Date: 星期三, 27 四月 2022 16:34:20 +0800 Subject: [PATCH] Merge branch 'Phase3' of https://dev.pollex.com.tw:8443/r/pcalife/PAM into Phase3 --- PAMapp/components/BackActionBar.vue | 140 ++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 126 insertions(+), 14 deletions(-) diff --git a/PAMapp/components/BackActionBar.vue b/PAMapp/components/BackActionBar.vue index f527239..29fc5ee 100644 --- a/PAMapp/components/BackActionBar.vue +++ b/PAMapp/components/BackActionBar.vue @@ -1,37 +1,149 @@ <template> - <nav class="pam-back-action-bar"> - <a @click="$router.push('/')"> - <i class="icon-left"></i>{{ label }} + <nav class="pam-back-action-bar fix-chrome-click--issue"> + <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 { - label = 'back-action-label-text'; + @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) { + const routeName = this.$route.name.split('-')[0]; + let featureLabel = ''; + switch(routeName) { + case 'login': + featureLabel = '�� | 閮餃��'; + break; + case 'recommendConsultant': + featureLabel = '������'; + break; + case 'quickFilter': + featureLabel = '敹恍�祟�'; + break; + case 'myConsultantList': + featureLabel = '���“���'; + break; + case 'agentInfo': + 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 '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'); + const interviewList = this.$route.name.includes('interviewList'); + const recordList = this.$route.name.includes('recordList'); + if (interviewList) { + featureLabel = '蝝赤蝝����'; + } else if (recordList) { + featureLabel = '蝟餌絞�蝝����'; + } else if (inInterview) { + featureLabel = addNewInterview + ? '�憓�赤蝝����' + : '蝺刻摩蝝赤蝝����'; + } else { + featureLabel = appointmentFeatureLabel; + } + break; + } + return featureLabel; + } else { + return '�����'; + } + } } </script> <style lang="scss" scoped> .pam-back-action-bar { - height: 53px; - border: 1px solid #CCCCCC; - display: flex; - align-items: center; + 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; + 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