fix(03): employee image

This commit is contained in:
puriphatt 2024-08-06 07:55:05 +00:00
parent d7df0f20f8
commit 4954f53927
2 changed files with 49 additions and 3 deletions

View file

@ -130,6 +130,7 @@ const currentPageEmployee = ref<number>(1);
const maxPageEmployee = ref<number>(1); const maxPageEmployee = ref<number>(1);
const pageSize = ref<number>(10); const pageSize = ref<number>(10);
const dialogCustomerImageUpload = ref<InstanceType<typeof ImageUploadDialog>>(); const dialogCustomerImageUpload = ref<InstanceType<typeof ImageUploadDialog>>();
const dialogEmployeeImageUpload = ref<InstanceType<typeof ImageUploadDialog>>();
watch(() => route.name, init); watch(() => route.name, init);
watch( watch(
@ -1846,8 +1847,9 @@ function createEmployeeForm() {
bgColor="linear-gradient(135deg, rgba(43,137,223,1) 0%, rgba(230,51,81,1) 100%)" bgColor="linear-gradient(135deg, rgba(43,137,223,1) 0%, rgba(230,51,81,1) 100%)"
v-model:current-tab="employeeFormState.currentTab" v-model:current-tab="employeeFormState.currentTab"
v-model:cover-url="employeeFormState.profileUrl" v-model:cover-url="employeeFormState.profileUrl"
fallbackCover="images/employee-banner.png" v-model:toggle-status="currentFromDataEmployee.status"
:img="`images/employee-avatar.png`" fallbackCover="/images/employee-banner.png"
:img="employeeFormState.profileUrl || `/images/employee-avatar.png`"
:tabs-list="[ :tabs-list="[
{ name: 'personalInfo', label: 'personalInfo' }, { name: 'personalInfo', label: 'personalInfo' },
{ name: 'healthCheck', label: 'healthCheck' }, { name: 'healthCheck', label: 'healthCheck' },
@ -1860,6 +1862,16 @@ function createEmployeeForm() {
employeeFormState.profileUrl === '' || employeeFormState.profileUrl === '' ||
employeeFormState.profileUrl === undefined employeeFormState.profileUrl === undefined
" "
@view="employeeFormState.imageDialog = true"
@edit="dialogEmployeeImageUpload && dialogEmployeeImageUpload.browse()"
@update:toggle-status="
() => {
currentFromDataEmployee.status =
currentFromDataEmployee.status === 'CREATED'
? 'INACTIVE'
: 'CREATED';
}
"
/> />
</div> </div>
@ -1965,12 +1977,16 @@ function createEmployeeForm() {
<FormAddress <FormAddress
id="form-personal-address" id="form-personal-address"
prefix-id="form-employee" prefix-id="form-employee"
v-model:same-with-employer="
employeeFormState.formDataEmployeeSameAddr
"
v-model:address="currentFromDataEmployee.address" v-model:address="currentFromDataEmployee.address"
v-model:addressEN="currentFromDataEmployee.addressEN" v-model:addressEN="currentFromDataEmployee.addressEN"
v-model:provinceId="currentFromDataEmployee.provinceId" v-model:provinceId="currentFromDataEmployee.provinceId"
v-model:districtId="currentFromDataEmployee.districtId" v-model:districtId="currentFromDataEmployee.districtId"
v-model:subDistrictId="currentFromDataEmployee.subDistrictId" v-model:subDistrictId="currentFromDataEmployee.subDistrictId"
v-model:zipCode="currentFromDataEmployee.zipCode" v-model:zipCode="currentFromDataEmployee.zipCode"
employee
dense dense
/> />
</div> </div>
@ -2027,6 +2043,33 @@ function createEmployeeForm() {
@save="() => {}" @save="() => {}"
></ImageUploadDialog> ></ImageUploadDialog>
<ImageUploadDialog
ref="dialogEmployeeImageUpload"
v-model:dialog-state="employeeFormState.imageDialog"
v-model:file="currentFromDataEmployee.image"
v-model:image-url="employeeFormState.profileUrl"
:hidden-footer="
!currentFromDataEmployee.image || !employeeFormState.profileUrl
"
clear-button
@save="() => {}"
>
<template #error>
<div class="full-height full-width" style="background: white">
<div
class="full-height full-width flex justify-center items-center"
style="background: #ee4367"
>
<q-img
src="/images/employee-avatar.png"
fit="contain"
style="height: 100%"
/>
</div>
</div>
</template>
</ImageUploadDialog>
<!-- นายจางน --> <!-- นายจางน -->
<DrawerInfo <DrawerInfo
v-model:drawer-open="employeeFormState.drawerModal" v-model:drawer-open="employeeFormState.drawerModal"

View file

@ -233,6 +233,7 @@ export const useEmployeeForm = defineStore('form-employee', () => {
const state = ref<{ const state = ref<{
dialogType: 'info' | 'create' | 'edit'; dialogType: 'info' | 'create' | 'edit';
imageDialog: boolean;
currentTab: string; currentTab: string;
dialogModal: boolean; dialogModal: boolean;
drawerModal: boolean; drawerModal: boolean;
@ -264,6 +265,7 @@ export const useEmployeeForm = defineStore('form-employee', () => {
| undefined; | undefined;
}>({ }>({
drawerModal: false, drawerModal: false,
imageDialog: false,
currentTab: 'personalInfo', currentTab: 'personalInfo',
dialogModal: false, dialogModal: false,
dialogType: 'info', dialogType: 'info',
@ -272,7 +274,7 @@ export const useEmployeeForm = defineStore('form-employee', () => {
profileUrl: '', profileUrl: '',
isEmployeeEdit: false, isEmployeeEdit: false,
profileSubmit: false, profileSubmit: false,
formDataEmployeeSameAddr: false, formDataEmployeeSameAddr: true,
infoEmployeePersonCard: [], infoEmployeePersonCard: [],
formDataEmployeeOwner: undefined, formDataEmployeeOwner: undefined,
}); });
@ -285,6 +287,7 @@ export const useEmployeeForm = defineStore('form-employee', () => {
dateOfBirth: null, dateOfBirth: null,
gender: '', gender: '',
nationality: '', nationality: '',
status: 'CREATED',
firstName: '', firstName: '',
firstNameEN: '', firstNameEN: '',