refactor: add submitWorkHistory and submitHealthCheck
This commit is contained in:
parent
5e525e43da
commit
7a81991c79
4 changed files with 170 additions and 15 deletions
|
|
@ -238,6 +238,7 @@ export const useEmployeeForm = defineStore('form-employee', () => {
|
|||
drawerModal: boolean;
|
||||
currentEmployeeCode: string;
|
||||
currentEmployee: Employee | null;
|
||||
currentIndex: number;
|
||||
profileUrl: string;
|
||||
isEmployeeEdit: boolean;
|
||||
profileSubmit: boolean;
|
||||
|
|
@ -265,6 +266,7 @@ export const useEmployeeForm = defineStore('form-employee', () => {
|
|||
}
|
||||
| undefined;
|
||||
}>({
|
||||
currentIndex: 0,
|
||||
statusSavePersonal: false,
|
||||
drawerModal: false,
|
||||
imageDialog: false,
|
||||
|
|
@ -385,6 +387,7 @@ export const useEmployeeForm = defineStore('form-employee', () => {
|
|||
|
||||
function resetFormDataEmployee(clean = false) {
|
||||
if (clean) {
|
||||
state.value.currentTab = 'personalInfo';
|
||||
state.value.formDataEmployeeOwner = undefined;
|
||||
resetEmployeeData = structuredClone(defaultFormData);
|
||||
state.value.statusSavePersonal = false;
|
||||
|
|
@ -393,6 +396,77 @@ export const useEmployeeForm = defineStore('form-employee', () => {
|
|||
currentFromDataEmployee.value = structuredClone(resetEmployeeData);
|
||||
}
|
||||
|
||||
async function submitWorkHistory() {
|
||||
if (!currentFromDataEmployee.value.employeeWork) return;
|
||||
|
||||
if (
|
||||
!currentFromDataEmployee.value.employeeWork[state.value.currentIndex].id
|
||||
) {
|
||||
const res = await employeeStore.createEmployeeWork(
|
||||
currentFromDataEmployee.value?.id || '',
|
||||
currentFromDataEmployee.value.employeeWork[state.value.currentIndex],
|
||||
);
|
||||
if (res) {
|
||||
currentFromDataEmployee.value.employeeWork[
|
||||
state.value.currentIndex
|
||||
].id = res.id;
|
||||
currentFromDataEmployee.value.employeeWork[
|
||||
state.value.currentIndex
|
||||
].statusSave = true;
|
||||
}
|
||||
} else {
|
||||
const res = await employeeStore.editByIdEmployeeWork(
|
||||
currentFromDataEmployee.value?.id || '',
|
||||
currentFromDataEmployee.value.employeeWork[state.value.currentIndex],
|
||||
);
|
||||
|
||||
if (res) {
|
||||
currentFromDataEmployee.value.employeeWork[
|
||||
state.value.currentIndex
|
||||
].statusSave = true;
|
||||
}
|
||||
}
|
||||
|
||||
await assignFormDataEmployee(currentFromDataEmployee.value.id);
|
||||
}
|
||||
|
||||
async function submitHealthCheck() {
|
||||
if (!currentFromDataEmployee.value.employeeCheckup) return;
|
||||
|
||||
if (
|
||||
!currentFromDataEmployee.value.employeeCheckup[state.value.currentIndex]
|
||||
.id
|
||||
) {
|
||||
const res = await employeeStore.createEmployeeCheckup(
|
||||
state.value.currentEmployee?.id || '',
|
||||
currentFromDataEmployee.value.employeeCheckup[state.value.currentIndex],
|
||||
);
|
||||
|
||||
if (res) {
|
||||
currentFromDataEmployee.value.employeeCheckup[
|
||||
state.value.currentIndex
|
||||
].id = res.id;
|
||||
|
||||
currentFromDataEmployee.value.employeeCheckup[
|
||||
state.value.currentIndex
|
||||
].statusSave = true;
|
||||
}
|
||||
} else {
|
||||
const res = await employeeStore.editByIdEmployeeCheckup(
|
||||
state.value.currentEmployee?.id || '',
|
||||
currentFromDataEmployee.value.employeeCheckup[state.value.currentIndex],
|
||||
);
|
||||
|
||||
if (res) {
|
||||
currentFromDataEmployee.value.employeeCheckup[
|
||||
state.value.currentIndex
|
||||
].statusSave = true;
|
||||
}
|
||||
}
|
||||
|
||||
await assignFormDataEmployee(currentFromDataEmployee.value.id);
|
||||
}
|
||||
|
||||
async function submitPersonal() {
|
||||
if (state.value.dialogType === 'create') {
|
||||
const res = await employeeStore.create({
|
||||
|
|
@ -403,8 +477,10 @@ export const useEmployeeForm = defineStore('form-employee', () => {
|
|||
employeeCheckup: [],
|
||||
employeeOtherInfo: undefined,
|
||||
});
|
||||
|
||||
if (res) {
|
||||
await assignFormDataEmployee(res.id);
|
||||
currentFromDataEmployee.value.id = res.id;
|
||||
state.value.statusSavePersonal = true;
|
||||
}
|
||||
}
|
||||
|
|
@ -462,9 +538,20 @@ export const useEmployeeForm = defineStore('form-employee', () => {
|
|||
provinceId: province?.id,
|
||||
districtId: district?.id,
|
||||
subDistrictId: subDistrict?.id,
|
||||
employeeCheckup: structuredClone(playlond.employeeCheckup),
|
||||
employeeOtherInfo: structuredClone(playlond.employeeOtherInfo),
|
||||
employeeWork: structuredClone(playlond.employeeWork),
|
||||
employeeCheckup: structuredClone(
|
||||
playlond.employeeCheckup?.length === 0
|
||||
? defaultFormData.employeeCheckup
|
||||
: playlond.employeeCheckup?.map((item) => ({
|
||||
...item,
|
||||
statusSave: true,
|
||||
})),
|
||||
),
|
||||
employeeOtherInfo: structuredClone(playlond.employeeOtherInfo || {}),
|
||||
employeeWork: structuredClone(
|
||||
playlond.employeeWork?.length === 0
|
||||
? defaultFormData.employeeWork
|
||||
: playlond.employeeWork,
|
||||
),
|
||||
image: null,
|
||||
};
|
||||
|
||||
|
|
@ -518,7 +605,9 @@ export const useEmployeeForm = defineStore('form-employee', () => {
|
|||
currentFromDataEmployee,
|
||||
resetEmployeeData,
|
||||
|
||||
submitWorkHistory,
|
||||
submitPersonal,
|
||||
submitHealthCheck,
|
||||
|
||||
resetFormDataEmployee,
|
||||
assignFormDataEmployee,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue