From 6bbdd6be7af431d53aab521cfc257d46e1ed2f48 Mon Sep 17 00:00:00 2001
From: HelenHuang <LinHuang@pollex.com.tw>
Date: 星期五, 21 一月 2022 22:41:03 +0800
Subject: [PATCH] Fixed#134590 修正 [ 顧問管理流程 ] 約訪中 : 新增約訪紀錄時,輸入的文字過小

---
 PAMapp/pages/agentInfo/edit/_agentNo.vue |  181 +++++++++++++++++++++++++++++++++++---------
 1 files changed, 143 insertions(+), 38 deletions(-)

diff --git a/PAMapp/pages/agentInfo/edit/_agentNo.vue b/PAMapp/pages/agentInfo/edit/_agentNo.vue
index 73029bf..93b4dce 100644
--- a/PAMapp/pages/agentInfo/edit/_agentNo.vue
+++ b/PAMapp/pages/agentInfo/edit/_agentNo.vue
@@ -1,12 +1,11 @@
 <template>
-    <div>
+    <div class="edit-agent-info-page">
       <el-row
         type="flex"
         justify="center">
-        <UiAvatar
-          :size="150"
-          :agentNo="agentInfo.agentNo">
-        </UiAvatar>
+        <EditConsultantAvatar
+          :agentNo="agentInfo.agentNo"
+          :photoBase64.sync="editInfoValue.photoBase64"/>
       </el-row>
       <el-row
         type="flex"
@@ -20,10 +19,33 @@
 
       <el-row
         type="flex"
-        class="pt-10"
+        class="pam-paragraph"
         justify="center">
         <el-input class="mdTxt" v-model="editInfoValue.name"></el-input>
       </el-row>
+
+      <el-row
+        type="flex"
+        class="pam-paragraph">
+        <el-col :span="24" class="pam-field">
+          <div class="pam-field__label pam-progress__label">
+            <div>
+              <div class="pam-field__title mb-10">
+                <i class="pam-icon icon-phone"
+                  ></i>����Ⅳ
+                  <span class="hint text--bold" v-show="!phoneValid">����Ⅳ�撘�炊</span>
+                  <span class="hint text--bold" v-show="editInfoValue.phoneNumber.length === 0">����Ⅳ�敹‵</span>
+              </div>
+            </div>
+            <el-input
+            v-model="editInfoValue.phoneNumber"
+            :class="{'is-invalid': !phoneValid}"
+            maxlength="10"
+            minlength="10"></el-input>
+          </div>
+        </el-col>
+      </el-row>
+
 
       <el-row
         type="flex"
@@ -92,26 +114,42 @@
       <el-row
         type="flex"
         class="pam-paragraph">
-        <UiField icon="flag" label="皞�◢�">
-        <el-checkbox
-            v-model="editInfoValue.communicationStyle"
-            :label="communicateStyle"
-            :key="index"
-            v-for="(communicateStyle, index) in communicationStyleList">
-          </el-checkbox>
-        </UiField>
+        <el-col :span="24" class="pam-field">
+          <div class="pam-field__label pam-progress__label">
+            <div>
+              <div class="pam-field__title">
+                <i class="pam-icon icon-flag"
+                  ></i>皞�◢�  <span class="hint text--bold">(�銴,��憭�2���)</span>
+              </div>
+            </div>
+            <MultiSelectBtn class="mt-30"
+            :mutiSelect.sync="editInfoValue.communicationStyle"
+            :options="agentCommunicationStyleList"
+            :maxLength="2"
+            >
+            </MultiSelectBtn>
+          </div>
+        </el-col>
       </el-row>
+
       <el-row
         type="flex"
         class="pam-paragraph">
-        <UiField icon="flag" label="撠����">
-          <el-checkbox
-            v-model="editInfoValue.expertise"
-            :label="expert"
-            :key="index"
-            v-for="(expert, index) in expertList">
-          </el-checkbox>
-        </UiField>
+        <el-col :span="24" class="pam-field">
+          <div class="pam-field__label pam-progress__label">
+            <div>
+              <div class="pam-field__title">
+                <i class="pam-icon icon-flag"
+                  ></i>撠����  <span class="hint text--bold">(�銴)</span>
+              </div>
+            </div>
+            <MultiSelectBtn class="mt-30"
+            :mutiSelect.sync="editInfoValue.expertise"
+            :options="agentExpertList"
+            >
+            </MultiSelectBtn>
+          </div>
+        </el-col>
       </el-row>
 
       <el-row
@@ -174,7 +212,7 @@
 <script lang="ts">
 import { Context } from '@nuxt/types';
 import { namespace } from 'nuxt-property-decorator';
-import { Vue, Component } from 'vue-property-decorator';
+import { Vue, Component, Prop } from 'vue-property-decorator';
 import * as _ from "lodash";
 
 import myConsultantService from '~/shared/services/my-consultant.service';
@@ -184,15 +222,14 @@
 import { hideReviews } from '~/shared/const/hide-reviews';
 import { AgentInfoSetting } from '~/shared/models/account.model';
 import { Role } from '~/shared/models/enum/Role';
-import { agentExpertList } from '~/shared/const/agent-expert-list';
 import { agentCommunicationStyleList } from '~/shared/const/agent-communication-style-list';
 
-const localStorage = namespace('localStorage');
+const localStorageTest = namespace('localStorage');
 
 @Component
 export default class AgentInfoComponent extends Vue {
 
-  @localStorage.State('current_role')
+  @localStorageTest.State('current_role')
   currentRole!:string | null;
 
   _agentInfoSetting!: AgentInfoSetting;
@@ -217,11 +254,55 @@
     awards            : '',
     communicationStyle: [] as string[],
     photoBase64       : '',
+    phoneNumber       : ''
   };
-  
+
   communicationStyleList: string[] = agentCommunicationStyleList;
-  expertList: string[] = agentExpertList;
   role           = Role;
+
+  agentExpertList = [
+    {
+        title:'�摨瑁����',
+        label:'�摨瑁����'
+    },
+    {
+        title:'摮戊��',
+        label:'摮戊��'
+    },
+    {
+        title:'鞈閬��',
+        label:'鞈閬��'
+    },
+    {
+        title:'璅暑��隡�',
+        label:'璅暑��隡�'
+    },
+    {
+        title:'靽�瑼�/閬��',
+        label:'靽�瑼�/閬��'
+    },
+    {
+        title:'����',
+        label:'����'
+    }];
+
+  agentCommunicationStyleList = [
+    {
+        title:'雓寞��祕',
+        label:'雓寞��祕'
+    },
+    {
+        title:'��翰銝餃��',
+        label:'��翰銝餃��'
+    },
+    {
+        title:'���',
+        label:'���'
+    },
+    {
+        title:'�隢◢頞�',
+        label:'�隢◢頞�'
+    }];
 
   //////////////////////////////////////////////////////////////////////
 
@@ -235,8 +316,7 @@
   mounted(){
     this.setAgentInfo(this.agentInfo);
   }
-  
-  /////////////////////////////////////////////////////////////////////////////
+
   private setAgentInfo(agentInfo: AgentInfo): void {
     const [agentYear, _yearUnit , agentMonth, _monthUnit] =  agentInfo.seniority.split(" ");
     this._agentInfoSetting = {
@@ -267,21 +347,28 @@
   }
 
   //////////////////////////////////////////////////////////////////////
+
   editAgentInfoSetting(): void {
     const editSettingInfo: any = {
       ...this.editInfoValue,
       communicationStyle: this.editInfoValue.communicationStyle.join('��'),
     }
     accountSettingService.editAgentInfoSetting(editSettingInfo).then((res: AgentInfoSetting) => {
-      console.log(editSettingInfo)
+      this.isInfoUpdate = true;
     });
-    this.isInfoUpdate = true;
   }
 
   backToInfo() {
     this.isInfoUpdate = false
     this.$router.push(`/agentInfo/${this.agentInfo.agentNo}`);
-    }
+  }
+
+  selectCommunicationStyles(): void {
+    if (this.editInfoValue.communicationStyle.length > 2) {
+            this.editInfoValue.communicationStyle.shift();
+        }
+  }
+
   alertFieldInfo(field: string): void {
     this.isAlertFieldInfo = true;
     switch(field) {
@@ -296,6 +383,13 @@
     }
   }
   ////////////////////////////////////////////////////////////
+  get phoneValid(): boolean {
+            const rule = /^09[0-9]{8}$/;
+            return this.editInfoValue.phoneNumber
+            ? rule.test(this.editInfoValue.phoneNumber) && _.isEqual(this.editInfoValue.phoneNumber.length,10)
+            : true;
+        }
+
   get isSubmitBtnDisabled(): boolean {
       const isFormValid =  this.editInfoValue.name
                         && this.editInfoValue.title
@@ -303,18 +397,22 @@
                         && this.editInfoValue.serveArea
                         && this.editInfoValue.concept
                         && this.editInfoValue.experiences
-                        && this.editInfoValue.awards
+                        && this.editInfoValue.phoneNumber.length
                         && this.editInfoValue.seniorityYear
-                        && this.editInfoValue.seniorityMonth
-                        && this.editInfoValue.expertise
-                        && this.editInfoValue.communicationStyle;
+                        && this.editInfoValue.expertise.length
+                        && this.editInfoValue.communicationStyle.length;
       return !isFormValid
   }
 }
 
 </script>
 
-<style lang="scss">
+<style lang="scss" >
+.edit-agent-info-page{
+  .el-textarea__inner{
+  font-size: 15px;
+}
+}
 .pam-icon {
   font-size    : 15px;
   padding-right: 8px;
@@ -372,4 +470,11 @@
   width       : 50px;
   margin-right: 5px;
 }
+.el-input--suffix .el-input__inner {
+  padding-right: 20px;
+}
+
+.el-textarea__inner{
+  font-size: 18px;
+}
 </style>

--
Gitblit v1.8.0