diff --git a/src/modules/01_metadataNew/components/position-employee/03ListLevel.vue b/src/modules/01_metadataNew/components/position-employee/03ListLevel.vue index 2cfcbdf08..8301bdeb0 100644 --- a/src/modules/01_metadataNew/components/position-employee/03ListLevel.vue +++ b/src/modules/01_metadataNew/components/position-employee/03ListLevel.vue @@ -103,33 +103,19 @@ const objectLevelRef: ObjectLevelRef = { posLevelAuthority: commanderRef, }; -function fetchPosGroup() { +const id = ref(route.params.id.toString()); + +function fetchData() { showLoader(); http - .get(config.API.orgEmployeeType) + .get(config.API.orgEmployeeTypeById(id.value)) .then((res) => { - const data: ResGroup[] = res.data.result; - const group = data.find((e: ResGroup) => e.id === posTypeId.value); - - titleName.value = group?.posTypeName ?? null; - }) - .catch((err) => { - messageError($q, err); - }) - .finally(() => { - hideLoader(); - }); -} - -function fetchData(id: string) { - showLoader(); - http - .get(config.API.orgEmployeelevel) - .then((res) => { - const data: ResLevel[] = res.data.result; - const list = data.filter((e: ResLevel) => e.posTypeId === id); - - rows.value = list ? list : []; + titleName.value = res.data.result.posTypeName ?? null; + formDataLevel.posTypeName = res.data.result.posTypeName; + rows.value = res.data.result.posLevels.map((x: any) => ({ + ...x, + posTypeName: res.data.result.posTypeName, + })); }) .catch((err) => { messageError($q, err); @@ -148,7 +134,7 @@ function onClickOpenDialog(statusEdit: boolean = false, data: any = []) { if (statusEdit) { levelId.value = data.id; formDataLevel.posLevelName = data.posLevelName; - formDataLevel.posTypeName = data.posTypeName; + formDataLevel.posTypeName = titleName.value; formDataLevel.posLevelAuthority = data.posLevelAuthority; } else { formDataLevel.posTypeName = titleName.value ? titleName.value : ""; @@ -194,7 +180,7 @@ async function submit() { : config.API.orgEmployeelevelById(levelId.value); await http[!isStatusEdit.value ? "post" : "put"](url, body); success($q, "บันทีกข้อมูลสำเร็จ"); - fetchData(posTypeId.value); + fetchData(); onClickCloseDialog(); } catch (err) { messageError($q, err); @@ -209,7 +195,7 @@ function onClickDelete(id: string) { .delete(config.API.orgEmployeelevelById(id)) .then(() => { success($q, "ลบข้อมูลสำเร็จ"); - fetchData(posTypeId.value); + fetchData(); }) .catch((err) => { messageError($q, err); @@ -223,8 +209,7 @@ function convertPosLevelAuthority(val: string) { } onMounted(() => { - posTypeId.value && fetchData(posTypeId.value); - fetchPosGroup(); + posTypeId.value && fetchData(); }); diff --git a/src/modules/01_metadataNew/interface/request/positionEmployee.ts b/src/modules/01_metadataNew/interface/request/positionEmployee.ts index d4cbeeb37..4212b731d 100644 --- a/src/modules/01_metadataNew/interface/request/positionEmployee.ts +++ b/src/modules/01_metadataNew/interface/request/positionEmployee.ts @@ -6,7 +6,7 @@ interface FrmDataGroup { interface FormDataLevel { posLevelName: number | null; - posTypeName: string | undefined; + posTypeName: string | null; posLevelAuthority: string; }