From f5c3e5e9254b7af10ddbc8b5cb81cd78f531e8d1 Mon Sep 17 00:00:00 2001
From: Tomas <tomasysh@gmail.com>
Date: 星期五, 10 六月 2022 14:01:00 +0800
Subject: [PATCH] Merge branch 'Phase3' of ssh://192.168.0.10:29418/pcalife/PAM into Phase3

---
 PAMapp/components/BackActionBar.vue |  150 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 148 insertions(+), 2 deletions(-)

diff --git a/PAMapp/components/BackActionBar.vue b/PAMapp/components/BackActionBar.vue
index 3b20418..9623972 100644
--- a/PAMapp/components/BackActionBar.vue
+++ b/PAMapp/components/BackActionBar.vue
@@ -1,3 +1,149 @@
 <template>
-    <div>backActionBar</div>
-</template>
\ No newline at end of file
+    <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 { 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) {
+      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 = 'FAQ 撣貉����';
+          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          : $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 {
+    display      : block;
+    padding-right: 14px;
+  }
+  a {
+    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