From 9d0a0b68efa0d25d340ce732188da4708cb2f2ff Mon Sep 17 00:00:00 2001
From: Tomas <tomasysh@gmail.com>
Date: 星期一, 03 一月 2022 11:20:50 +0800
Subject: [PATCH] refactor: [editConsultant]

---
 PAMapp/components/editConsultantAvatar.vue |   38 ++++++++++++++++++++------------------
 PAMapp/pages/agentInfo/edit/_agentNo.vue   |   15 +++++++++------
 2 files changed, 29 insertions(+), 24 deletions(-)

diff --git a/PAMapp/components/editConsultantAvatar.vue b/PAMapp/components/editConsultantAvatar.vue
index a02b772..02d61c9 100644
--- a/PAMapp/components/editConsultantAvatar.vue
+++ b/PAMapp/components/editConsultantAvatar.vue
@@ -6,7 +6,7 @@
       ref="upload"
       action="#"
       :auto-upload="false"
-      :on-change="handleAvatarSuccess"
+      :on-change="handleAvatarUploaded"
       :show-file-list="false"
       accept="image/png, image/jpeg, image/jpg">
         <el-avatar
@@ -28,11 +28,13 @@
 </template>
 
 <script lang="ts">
+  import { Vue, Component, Prop, PropSync } from 'nuxt-property-decorator';
+
   import { MessageBox } from 'element-ui';
   import { MessageBoxData } from 'element-ui/types/message-box';
-  import { Vue, Component, Prop, PropSync } from 'nuxt-property-decorator';
-  import myConsultantService from '~/shared/services/my-consultant.service';
   import _ from 'lodash';
+
+  import myConsultantService from '~/shared/services/my-consultant.service';
 
   @Component
   export default class editConsultantAvatar extends Vue {
@@ -52,29 +54,29 @@
       if(this.agentNo) this.initConsultantAvatar()
     }
 
-    initConsultantAvatar(): void {
+    private initConsultantAvatar(): void {
       myConsultantService.getConsultantAvatar(this.agentNo)
       .then(base64=>
        this.splitBase64WithCommon(base64)
       )
     }
 
-    handleAvatarSuccess(file:any, fileList:any) {
-      const isFollowUploadRule =_.includes(file.raw.type,'image/');
-      isFollowUploadRule ? this.getImgSrc(file) : this.showErrorMsg()
-    }
-
-    getImgSrc(file:any):void{
-      const blob = file.raw;
-      this.blobToBase64(blob).then(base64=>{
-        this.splitBase64WithCommon(base64 as string);
-      });
-    }
-
     //////////////////////////////////////////////////////////////////////
 
     resetAvatar(): void {
       this.imgSrc = this._imgSrc;
+    }
+
+    handleAvatarUploaded(file:any): void {
+      const isFollowUploadRule =_.includes(file.raw.type,'image/');
+      isFollowUploadRule ? this.getImgSrc(file) : this.showFileUploadErrorMsg()
+    }
+
+    private getImgSrc(file:any):void{
+      const blob = file.raw;
+      this.blobToBase64(blob).then(base64=>{
+        this.splitBase64WithCommon(base64 as string);
+      });
     }
 
     private blobToBase64(blob:File):Promise<string | ArrayBuffer | null> {
@@ -88,7 +90,7 @@
     }
 
     private splitBase64WithCommon(base64: string): void {
-      const splitBase64=_.split(base64, ','); // �鈭�� data:image , base64 閫������;
+      const splitBase64= _.split(base64, ','); // �鈭�� data:image , base64 閫������;
       this.syncPhotoBase64 = splitBase64[1];
       // NOTE: �����誑 agentNO ���� avatar ��仃����
       // ����迨��靘蝭���*蝷�'������'���瘜�� [Tomas, 2022/1/3]
@@ -98,7 +100,7 @@
       this.imgSrc = base64;
     }
 
-    private showErrorMsg():Promise<MessageBoxData>{
+    private showFileUploadErrorMsg():Promise<MessageBoxData>{
        return MessageBox({
           message:`<div class="message-header">銝�撘�炊</div>
                     <div class="message-content">隢�甇�蝣箏���</div>`,
diff --git a/PAMapp/pages/agentInfo/edit/_agentNo.vue b/PAMapp/pages/agentInfo/edit/_agentNo.vue
index 67235be..cbd0ce3 100644
--- a/PAMapp/pages/agentInfo/edit/_agentNo.vue
+++ b/PAMapp/pages/agentInfo/edit/_agentNo.vue
@@ -3,7 +3,9 @@
       <el-row
         type="flex"
         justify="center">
-        <EditConsultantAvatar :agentNo="agentInfo.agentNo" :photoBase64.sync="editInfoValue.photoBase64"/>
+        <EditConsultantAvatar
+          :agentNo="agentInfo.agentNo"
+          :photoBase64.sync="editInfoValue.photoBase64"/>
       </el-row>
       <el-row
         type="flex"
@@ -203,7 +205,7 @@
 
 @Component
 export default class AgentInfoComponent extends Vue {
-  @Prop({type:Object ,}) aa!:any;
+
   @localStorageTest.State('current_role')
   currentRole!:string | null;
 
@@ -233,6 +235,7 @@
 
   communicationStyleList: string[] = agentCommunicationStyleList;
   role           = Role;
+
   agentExpertList = [
     {
         title:'�摨瑁����',
@@ -290,7 +293,6 @@
     this.setAgentInfo(this.agentInfo);
   }
 
-  /////////////////////////////////////////////////////////////////////////////
   private setAgentInfo(agentInfo: AgentInfo): void {
     const [agentYear, _yearUnit , agentMonth, _monthUnit] =  agentInfo.seniority.split(" ");
     this._agentInfoSetting = {
@@ -321,27 +323,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) {

--
Gitblit v1.8.0