refactor: add submitOther

This commit is contained in:
Net 2024-08-09 15:27:16 +07:00
parent de9551cd82
commit e7072869c5

View file

@ -427,6 +427,7 @@ export const useEmployeeForm = defineStore('form-employee', () => {
});
const defaultFormData: EmployeeCreate = {
id: '',
code: '',
image: null,
customerBranchId: '',
@ -538,6 +539,32 @@ export const useEmployeeForm = defineStore('form-employee', () => {
currentFromDataEmployee.value = structuredClone(resetEmployeeData);
}
async function submitOther() {
if (!currentFromDataEmployee.value.employeeOtherInfo) return;
if (!currentFromDataEmployee.value.employeeOtherInfo.id) {
const res = await employeeStore.createEmployeeOtherInfo(
currentFromDataEmployee.value?.id || '',
currentFromDataEmployee.value.employeeOtherInfo,
);
if (res) {
currentFromDataEmployee.value.employeeOtherInfo.id = res.id;
currentFromDataEmployee.value.employeeOtherInfo.statusSave = true;
}
} else {
const res = await employeeStore.editByIdEmployeeOtherInfo(
currentFromDataEmployee.value?.id || '',
currentFromDataEmployee.value.employeeOtherInfo,
);
if (res) {
currentFromDataEmployee.value.employeeOtherInfo.statusSave = true;
}
}
await assignFormDataEmployee(currentFromDataEmployee.value.id);
}
async function submitWorkHistory() {
if (!currentFromDataEmployee.value.employeeWork) return;
@ -557,9 +584,12 @@ export const useEmployeeForm = defineStore('form-employee', () => {
].statusSave = true;
}
} else {
const data =
currentFromDataEmployee.value?.employeeWork[state.value.currentIndex];
const res = await employeeStore.editByIdEmployeeWork(
currentFromDataEmployee.value?.id || '',
currentFromDataEmployee.value.employeeWork[state.value.currentIndex],
data,
);
if (res) {
@ -568,7 +598,6 @@ export const useEmployeeForm = defineStore('form-employee', () => {
].statusSave = true;
}
}
await assignFormDataEmployee(currentFromDataEmployee.value.id);
}
@ -596,11 +625,6 @@ export const useEmployeeForm = defineStore('form-employee', () => {
} else {
const data =
currentFromDataEmployee.value.employeeCheckup[state.value.currentIndex];
delete data['createdAt'];
delete data['createdByUserId'];
delete data['employeeId'];
delete data['updatedAt'];
delete data['updatedByUserId'];
const res = await employeeStore.editByIdEmployeeCheckup(
state.value.currentEmployee?.id || '',
@ -671,7 +695,6 @@ export const useEmployeeForm = defineStore('form-employee', () => {
createdAt,
createdByUserId,
statusOrder,
id,
province,
district,
subDistrict,
@ -696,11 +719,19 @@ export const useEmployeeForm = defineStore('form-employee', () => {
statusSave: true,
})),
),
employeeOtherInfo: structuredClone(playlond.employeeOtherInfo || {}),
employeeOtherInfo: structuredClone(
{
...playlond.employeeOtherInfo,
statusSave: !!playlond.employeeOtherInfo?.id ? true : false,
} || {},
),
employeeWork: structuredClone(
playlond.employeeWork?.length === 0
? defaultFormData.employeeWork
: playlond.employeeWork,
: playlond.employeeWork?.map((item) => ({
...item,
statusSave: true,
})),
),
image: null,
};
@ -753,6 +784,7 @@ export const useEmployeeForm = defineStore('form-employee', () => {
currentFromDataEmployee,
resetEmployeeData,
submitOther,
submitWorkHistory,
submitPersonal,
submitHealthCheck,