refactor: add submitOther
This commit is contained in:
parent
de9551cd82
commit
e7072869c5
1 changed files with 42 additions and 10 deletions
|
|
@ -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,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue