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