From 8ca8d4982c4fa7476b3d54c577be749a3142e14f Mon Sep 17 00:00:00 2001 From: Net Date: Thu, 25 Jul 2024 13:16:12 +0700 Subject: [PATCH] fix: (02) edit layout Upload profile --- .../02_personnel-management/MainPage.vue | 109 +++++++----------- 1 file changed, 43 insertions(+), 66 deletions(-) diff --git a/src/pages/02_personnel-management/MainPage.vue b/src/pages/02_personnel-management/MainPage.vue index b32ce725..a605ff3d 100644 --- a/src/pages/02_personnel-management/MainPage.vue +++ b/src/pages/02_personnel-management/MainPage.vue @@ -175,10 +175,39 @@ const formData = ref({ status: 'CREATED', }); +const profileUrl = ref(''); const profileFile = ref(undefined); -const inputFile = document.createElement('input'); -inputFile.type = 'file'; -inputFile.accept = 'image/*'; + +const inputFile = (() => { + const element = document.createElement('input'); + element.type = 'file'; + element.accept = 'image/*'; + + const reader = new FileReader(); + reader.addEventListener('load', () => { + if (typeof reader.result === 'string') profileUrl.value = reader.result; + + if (infoDrawerEdit.value && currentUser.value) + currentUser.value.profileImageUrl = profileUrl.value as string; + // profileUrl.value = currentUser.value?.profileImageUrl as string; + + // if (infoDrawerEmployeeEdit.value && infoEmployeePersonCard.value) + // infoEmployeePersonCard.value[0].img = profileUrl.value as string; + }); + + element.addEventListener('change', () => { + profileFile.value = element.files?.[0]; + if (profileFile.value) { + reader.readAsDataURL(profileFile.value); + } + }); + + return element; +})(); + +// const inputFile = document.createElement('input'); +// inputFile.type = 'file'; +// inputFile.accept = 'image/*'; const reader = new FileReader(); @@ -471,6 +500,7 @@ async function assignFormData(idEdit: string) { if (foundUser) { currentUser.value = foundUser; infoPersonId.value = currentUser.value.id; + profileUrl.value = currentUser.value.profileImageUrl; formData.value = { branchId: foundUser.branch[0]?.id, provinceId: foundUser.provinceId, @@ -1280,67 +1310,6 @@ watch( - -