From ab9d102ce99644f73ff365a1e70afbda1e14276d Mon Sep 17 00:00:00 2001
From: Tomas <tomasysh@gmail.com>
Date: 星期五, 28 七月 2023 12:03:32 +0800
Subject: [PATCH] Update: 顧問諮詢方式欄位(畫面)

---
 PAMapp/pages/index.vue |   60 +++++++++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 43 insertions(+), 17 deletions(-)

diff --git a/PAMapp/pages/index.vue b/PAMapp/pages/index.vue
index 31d46cb..22cbb6f 100644
--- a/PAMapp/pages/index.vue
+++ b/PAMapp/pages/index.vue
@@ -2,6 +2,7 @@
   <div>
     <Ui-Carousel></Ui-Carousel>
     <div class="page-container">
+
       <div>
         <h5 class="mdTxt">����憿批��</h5>
         <div class="mt-10 pam-reserveBtn--block">
@@ -15,6 +16,7 @@
           </el-button>
         </div>
       </div>
+
       <div class="pam-paragraph">
         <el-row class="rowStyle">
           <el-col :span="16">
@@ -29,6 +31,8 @@
         <ConsultantList class="mt-10"
           :agents="consultantList.slice(0, 3)"></ConsultantList>
       </div>
+
+
       <div class='pam-paragraph'>
         <div class="pam-recommend">
           <h5 class="mdTxt">��靽憿批��</h5>
@@ -55,7 +59,8 @@
                   <p>�批嚗{gender}}</p>
                   <p>撟湧翩嚗{appointmentDetail.age | toAgeLabel }}</p>
                   <p>�璆哨�{appointmentDetail.job}}</p>
-                  <p>��瘙�{appointmentDetail.requirement.split(',').join('��')}}</p>
+                  <p>隢株岷�撘�{appointmentDetail.consultantMode }}</p>
+                  <p>��瘙�{ appointmentDetail.requirement ? appointmentDetail.requirement.split(',').join('��') : '--'}}</p>
                   <p
                       v-for="(item, index) in hopeContactTime"
                       :key="index"
@@ -141,21 +146,21 @@
 </template>
 
 <script lang="ts">
-  import { Vue, Component, State, Action, Watch, namespace } from 'nuxt-property-decorator';
+import {Action, Component, Mutation, namespace, State, Vue, Watch} from 'nuxt-property-decorator';
 
-  import appointmentService from '~/shared/services/appointment.service';
-  import reviewsService from '~/shared/services/reviews.service';
-  import UtilsService from '~/shared/services/utils.service';
-  import myConsultantService from '~/shared/services/my-consultant.service';
-  import { Appointment, AppointmentClosedInfo } from '~/shared/models/appointment.model';
-  import { Consultant } from '~/shared/models/consultant.model';
-  import { UserReviewParams } from '~/shared/models/reviews.model';
-  import { StrictQueryParams } from '~/shared/models/strict-query.model';
-  import { AgentInfo } from '~/shared/models/agent-info.model';
-  import { ContactStatus } from '~/shared/models/enum/contact-status';
-import { SatisfactionType } from '~/shared/models/enum/satisfaction-type';
+import appointmentService from '~/shared/services/appointment.service';
+import utilService, {AccessFroms} from '~/shared/services/utils.service';
+import reviewsService from '~/shared/services/reviews.service';
+import myConsultantService from '~/shared/services/my-consultant.service';
+import {Appointment, AppointmentClosedInfo} from '~/shared/models/appointment.model';
+import {Consultant} from '~/shared/models/consultant.model';
+import {UserReviewParams} from '~/shared/models/reviews.model';
+import {StrictQueryParams} from '~/shared/models/strict-query.model';
+import {AgentInfo} from '~/shared/models/agent-info.model';
+import {ContactStatus} from '~/shared/models/enum/contact-status';
+import {SatisfactionType} from '~/shared/models/enum/satisfaction-type';
 
-  const localStorage = namespace('localStorage');
+const localStorage = namespace('localStorage');
   const roleStorage = namespace('localStorage');
 
   @Component({
@@ -180,6 +185,9 @@
 
     @Action
     storeConsultantList!: any;
+
+    @Mutation
+    setAccessSource!: (accessSource: AccessFroms) => void;
 
     @localStorage.Mutation
     storageClearQuickFilter!: () => void;
@@ -219,7 +227,7 @@
       appointmentDate   : '',
       appointmentMemoList: [],
       appointmentNoticeLogs: [],
-      communicateStatus : this.contactStatus.PICKED,
+      communicateStatus: this.contactStatus.PICKED,
       consultantReadTime: '',
       consultantViewTime: '',
       contactTime       : '',
@@ -237,6 +245,7 @@
       phone             : '',
       requirement       : '',
       satisfactionScore : 0,
+      consultantMode    : ''
     };
 
     agentInfo: Consultant = {
@@ -257,6 +266,11 @@
     //////////////////////////////////////////////////////////////////////
 
     mounted() {
+      if (this.$route.query.from) {
+        const fromSource = this.$route.query.from as AccessFroms;
+        this.setAccessSource(fromSource);
+        utilService.insertAccessFrom(fromSource);
+      }
       if (this.isAdminLogin) {
         this.$router.push('/myAppointmentList/appointmentList');
       } else {
@@ -325,7 +339,7 @@
           const appointmentInfo = values[1] as Appointment;
           this.consultantName = agentInfo.name;
           this.appointmentDetail = appointmentInfo;
-          this.appointmentDialogWidth = UtilsService.isMobileDevice() ? '80%' : '';
+          this.appointmentDialogWidth = utilService.isMobileDevice() ? '80%' : '';
           this.isShowAppointmentDialog = true;
           switch (reason) {
             case 'inviteReviewConsultant':
@@ -358,7 +372,9 @@
 
     reAppointment(): void {
       appointmentService.cancelAppointment(this.appointmentDetail.id).then(() => {
-        const requirements = this.appointmentDetail.requirement.split(',');
+        const requirements = this.appointmentDetail && this.appointmentDetail.requirement
+                            ? this.appointmentDetail.requirement.split(',')
+                            : [];
         this.storeConsultantList();
         this.storageStrickQueryItem({ requirements: requirements });
         this.storageClearNotContactAppointmentIdFromMsg();
@@ -486,6 +502,7 @@
     align-items: center;
   }
 
+
   @media (min-width: 576px) and (max-width: 767px) {
     .quickFilter.el-button--default {
       background-image: url('~/assets/images/quickFilter/banner_web.svg');
@@ -502,6 +519,15 @@
       margin: 0 auto;
     }
 
+      .landing-container {
+    border: 2px solid blue;
+    border-radius: 10px;
+    padding: 10px;
+    display: flex;
+    flex-direction: column;
+    align-items: center;
+  }
+
     .pam-reserveBtn--block {
       display: flex;
       justify-content: space-between;

--
Gitblit v1.8.0