refactor: employee new img dialog
This commit is contained in:
parent
893b0a8c2a
commit
685ad0cc54
7 changed files with 254 additions and 57 deletions
|
|
@ -9,9 +9,10 @@ import useCustomerStore from 'stores/customer';
|
|||
import useEmployeeStore from 'stores/employee';
|
||||
import useFlowStore from 'stores/flow';
|
||||
|
||||
import { baseUrl } from 'src/stores/utils';
|
||||
|
||||
export const useCustomerForm = defineStore('form-customer', () => {
|
||||
const { t } = useI18n();
|
||||
const apiBaseUrl = import.meta.env.VITE_API_BASE_URL;
|
||||
|
||||
const customerStore = useCustomerStore();
|
||||
const branchStore = useMyBranch();
|
||||
|
|
@ -133,8 +134,8 @@ export const useCustomerForm = defineStore('form-customer', () => {
|
|||
state.value.dialogType = 'edit';
|
||||
state.value.editCustomerId = id;
|
||||
state.value.editCustomerCode = data.code;
|
||||
state.value.customerImageUrl = `${apiBaseUrl}/customer/${id}/image/${data.selectedImage}`;
|
||||
state.value.defaultCustomerImageUrl = `${apiBaseUrl}/customer/${id}/image/${data.selectedImage}`;
|
||||
state.value.customerImageUrl = `${baseUrl}/customer/${id}/image/${data.selectedImage}`;
|
||||
state.value.defaultCustomerImageUrl = `${baseUrl}/customer/${id}/image/${data.selectedImage}`;
|
||||
|
||||
resetFormData.registeredBranchId = data.registeredBranchId;
|
||||
resetFormData.code = data.code || '';
|
||||
|
|
@ -487,6 +488,7 @@ export const useEmployeeForm = defineStore('form-employee', () => {
|
|||
currentTab: string;
|
||||
dialogModal: boolean;
|
||||
drawerModal: boolean;
|
||||
isImageEdit: boolean;
|
||||
|
||||
currentEmployeeCode: string;
|
||||
currentEmployee: Employee | null;
|
||||
|
|
@ -519,6 +521,7 @@ export const useEmployeeForm = defineStore('form-employee', () => {
|
|||
| undefined;
|
||||
ocr: boolean;
|
||||
}>({
|
||||
isImageEdit: false,
|
||||
currentIndex: -1,
|
||||
statusSavePersonal: false,
|
||||
drawerModal: false,
|
||||
|
|
@ -541,7 +544,6 @@ export const useEmployeeForm = defineStore('form-employee', () => {
|
|||
const defaultFormData: EmployeeCreate = {
|
||||
id: '',
|
||||
code: '',
|
||||
image: null,
|
||||
customerBranchId: '',
|
||||
nrcNo: '',
|
||||
dateOfBirth: null,
|
||||
|
|
@ -623,6 +625,7 @@ export const useEmployeeForm = defineStore('form-employee', () => {
|
|||
motherLastNameEN: '',
|
||||
motherBirthPlace: '',
|
||||
},
|
||||
image: null,
|
||||
};
|
||||
|
||||
let resetEmployeeData = structuredClone(defaultFormData);
|
||||
|
|
@ -650,6 +653,9 @@ export const useEmployeeForm = defineStore('form-employee', () => {
|
|||
resetEmployeeData = structuredClone(defaultFormData);
|
||||
state.value.statusSavePersonal = false;
|
||||
state.value.profileUrl = '';
|
||||
} else {
|
||||
resetEmployeeData.selectedImage =
|
||||
currentFromDataEmployee.value.selectedImage;
|
||||
}
|
||||
currentFromDataEmployee.value = structuredClone(resetEmployeeData);
|
||||
}
|
||||
|
|
@ -790,16 +796,22 @@ export const useEmployeeForm = defineStore('form-employee', () => {
|
|||
await assignFormDataEmployee(currentFromDataEmployee.value.id);
|
||||
}
|
||||
|
||||
async function submitPersonal() {
|
||||
async function submitPersonal(imgList?: {
|
||||
selectedImage: string;
|
||||
list: { url: string; imgFile: File | null; name: string }[];
|
||||
}) {
|
||||
if (state.value.dialogType === 'create') {
|
||||
const res = await employeeStore.create({
|
||||
...currentFromDataEmployee.value,
|
||||
customerBranchId: state.value.formDataEmployeeOwner?.id || '',
|
||||
const res = await employeeStore.create(
|
||||
{
|
||||
...currentFromDataEmployee.value,
|
||||
customerBranchId: state.value.formDataEmployeeOwner?.id || '',
|
||||
|
||||
employeeWork: [],
|
||||
employeeCheckup: [],
|
||||
employeeOtherInfo: undefined,
|
||||
});
|
||||
employeeWork: [],
|
||||
employeeCheckup: [],
|
||||
employeeOtherInfo: undefined,
|
||||
},
|
||||
imgList,
|
||||
);
|
||||
|
||||
if (res) {
|
||||
await assignFormDataEmployee(res.id);
|
||||
|
|
@ -898,7 +910,6 @@ export const useEmployeeForm = defineStore('form-employee', () => {
|
|||
}),
|
||||
)
|
||||
: [],
|
||||
image: null,
|
||||
};
|
||||
|
||||
currentFromDataEmployee.value = structuredClone(resetEmployeeData);
|
||||
|
|
@ -908,7 +919,8 @@ export const useEmployeeForm = defineStore('form-employee', () => {
|
|||
|
||||
state.value.currentEmployeeCode = payload.code;
|
||||
|
||||
state.value.profileUrl = profileImageUrl || '';
|
||||
state.value.profileUrl =
|
||||
`${baseUrl}/employee/${id}/image/${_data.selectedImage}` || '';
|
||||
|
||||
profileImageUrl
|
||||
? (state.value.profileSubmit = true)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue