From 89d44ebbbffd9138e3e56ca091643fd3ce1f321d Mon Sep 17 00:00:00 2001
From: Mila <Mila@pollex.com.tw>
Date: 星期四, 02 十二月 2021 11:36:53 +0800
Subject: [PATCH] fixed TODO#131428 從我的顧問清單或是進行預約來登入,登入成功後自動跳轉回原來頁面

---
 PAMapp/pages/questionnaire/_agentNo.vue |   23 ++++++++++++++++++++---
 1 files changed, 20 insertions(+), 3 deletions(-)

diff --git a/PAMapp/pages/questionnaire/_agentNo.vue b/PAMapp/pages/questionnaire/_agentNo.vue
index 08b426d..f524899 100644
--- a/PAMapp/pages/questionnaire/_agentNo.vue
+++ b/PAMapp/pages/questionnaire/_agentNo.vue
@@ -1,5 +1,5 @@
 <template>
-  <div class="ques-page--reset">
+  <div class="ques-page--reset" v-if="isLogin">
     <div class="ques-header">
         <div class="ques-header__mob-banner"></div>
         <div
@@ -128,12 +128,13 @@
 </template>
 
 <script lang="ts">
-  import { Vue, Component } from 'vue-property-decorator';
+  import { Vue, Component, namespace } from 'nuxt-property-decorator';
   import { addFavoriteConsultant, appointmentDemand, AppointmentParams, AppointmentRequests ,RegisterInfo } from '~/assets/ts/api/consultant';
   import { getRequestsFromStorage, setRequestsToStorage } from '~/assets/ts/storageRequests';
   import { Gender } from '~/assets/ts/models/enum/Gender';
   import { ContactType } from '~/assets/ts/models/enum/ContactType';
   import _ from 'lodash';
+import { isLogin } from '~/assets/ts/auth';
 
   @Component
   export default class Questionnaire extends Vue {
@@ -240,7 +241,7 @@
     myRequest: AppointmentRequests = {
       phone: this.userInfo?.phone ? this.userInfo.phone :'',
       email: this.userInfo?.email ? this.userInfo.email :'',
-      contactType: _.isEqual(this.userInfo.contactType,ContactType.SMS) ? ContactType.PHONE : ContactType.EMAIL  ,
+      contactType: _.isEqual(this.userInfo?.contactType,ContactType.SMS) ? ContactType.PHONE : ContactType.EMAIL  ,
       gender: '',
       age: '',
       job: '',
@@ -255,6 +256,18 @@
     showDrawer= false;
     sendReserve = false;
 
+    beforeRouteEnter (to, from, next) {
+      next(vm => {
+        if (from.name === 'login' && !isLogin()) {
+          vm.$router.go(-1);
+          return;
+        }
+
+        if (!isLogin()) {
+          vm.$router.push('/login');
+        }
+      })
+    }
     mounted() {
       const storageMyRequest = getRequestsFromStorage();
       if (storageMyRequest) {
@@ -288,6 +301,10 @@
       : !this.phoneValid;
     }
 
+    get isLogin() {
+      return isLogin();
+    }
+
     private isHopeContactTimeDone():boolean{
       return this.myRequest.hopeContactTime[0]?.selectWeekOptions.length >0 && this.myRequest.hopeContactTime[0]?.selectTimesOptions.length >0;
     }

--
Gitblit v1.8.0