diff --git a/src/api/02_organizational/api.organization.ts b/src/api/02_organizational/api.organization.ts index 17f21f7eb..154dc1bee 100644 --- a/src/api/02_organizational/api.organization.ts +++ b/src/api/02_organizational/api.organization.ts @@ -78,4 +78,6 @@ export default { orgPosMasterListEmp: `${orgEmployeePos}/master/list`, orgPosMasterEmp: `${orgEmployeePos}/master`, orgPosSortEmp: `${orgEmployeePos}/sort`, + orgPosPositionEmpById: (id: string) => `${orgEmployeePos}/position/${id}`, + orgPosMoveEmp: `${orgEmployeePos}/move`, }; diff --git a/src/modules/16_positionEmployee/components/DialogFormPosition.vue b/src/modules/16_positionEmployee/components/DialogFormPosition.vue index 60d4e1ec2..6961595ca 100644 --- a/src/modules/16_positionEmployee/components/DialogFormPosition.vue +++ b/src/modules/16_positionEmployee/components/DialogFormPosition.vue @@ -154,7 +154,7 @@ const visibleColumns = ref([ async function fetchPosition(id: string) { showLoader(); await http - .get(config.API.orgPosPositionById(id)) + .get(config.API.orgPosPositionEmpById(id)) .then((res) => { const data = res.data.result; formData.prefixNo = data.posMasterNoPrefix; diff --git a/src/modules/16_positionEmployee/components/DialogMovePos.vue b/src/modules/16_positionEmployee/components/DialogMovePos.vue index c63eb86ce..9c61c1c6a 100644 --- a/src/modules/16_positionEmployee/components/DialogMovePos.vue +++ b/src/modules/16_positionEmployee/components/DialogMovePos.vue @@ -101,9 +101,9 @@ function onClickMovePos() { }; showLoader(); await http - .post(config.API.orgPosMove, body) + .post(config.API.orgPosMoveEmp, body) .then(() => { - props.fetchDataTree?.(store.draftId); + props.fetchDataTree?.(store.activeId); modal.value = false; success($q, "ย้ายตำแหน่งสำเร็จ"); }) diff --git a/src/modules/16_positionEmployee/components/TreeMain.vue b/src/modules/16_positionEmployee/components/TreeMain.vue index cdba203f6..fba317160 100644 --- a/src/modules/16_positionEmployee/components/TreeMain.vue +++ b/src/modules/16_positionEmployee/components/TreeMain.vue @@ -40,57 +40,12 @@ const props = defineProps({ }, }); -/** ListMenuTree*/ -const listAdd = ref([ - { - label: "เพิ่ม", - icon: "add", - type: "ADD", - color: "primary", - }, - { - label: "แก้ไข", - icon: "edit", - type: "EDIT", - color: "edit", - }, - { - label: "ลบ", - icon: "delete", - type: "DEL", - color: "red", - }, - - { - label: "ประวัติ", - icon: "history", - type: "HISTORY", - color: "purple", - }, - { - label: "จัดลำดับ", - icon: "mdi-sort", - type: "SORT", - color: "blue-6", - }, - { - label: "ดูรายละเอียด", - icon: "mdi-eye", - type: "DETAIL", - color: "blue-9", - }, -]); - const filter = ref(""); const nodes = ref>([]); -const dataSort = ref>([]); const lazy = ref(nodes); const expanded = ref>([]); const notFound = ref("ไม่พบข้อมูลที่ค้นหา"); const noData = ref("ไม่มีข้อมูล"); -const orgLevel = ref(0); -const type = ref(0); -const orgId = ref(""); /** * funtion เลือกข้อมูล Tree @@ -134,236 +89,6 @@ function updateSelected(data: DataTree) { } } -const breakLoop = ref(false); - -/** - * function แก้ไขโครสร้าง - * @param id ID โครงสร้าง - * @param type ละดับโครงสร้าง - * @param data ข้อมูลโครงสร้าง - * @param orgRootCode - */ -async function edit(id: string, type: string, data: any, orgRootCode: string) { - breakLoop.value = false; - const targetNodeId = id; - - for (let index = 0; index < nodes.value.length; index++) { - const element = nodes.value[index]; - - searchAndReplace(element, targetNodeId, data, type, orgRootCode); - - if (breakLoop.value) break; - } -} - -/** - * function แก้ไขโครสร้าง - * @param treeNode - * @param organizationId ID โครงสร้าง - * @param data ข้อมูลโครงสร้าง - * @param type ละดับโครงสร้าง - * @param orgRootCode - */ -function searchAndReplace( - treeNode: any, - organizationId: string, - data: any, - type: string, - orgRootCode: string -) { - if (treeNode.orgTreeId === organizationId) { - let newData = { - ...treeNode, - orgTreeName: data[`org${type}Name`], - orgTreeShortName: data[`org${type}ShortName`], - orgCode: - data.orgRootRank == "DEPARTMENT" - ? data[`org${type}Code`] + "00" - : orgRootCode + data[`org${type}Code`], - orgTreeCode: data[`org${type}Code`], - orgTreePhoneEx: data[`org${type}PhoneEx`], - orgTreePhoneIn: data[`org${type}PhoneIn`], - orgTreeFax: data[`org${type}Fax`], - orgTreeRank: data[`org${type}Rank`], - }; - - Object.assign(treeNode, newData); - breakLoop.value = true; - } else if (treeNode.children) { - for (const child of treeNode.children) { - searchAndReplace(child, organizationId, data, type, orgRootCode); - } - } -} - -/** - * function ลบข้อมูลโครงสร้าง - * @param rootId RootID - * @param treeId TreeID - */ -async function deleteUpdate(rootId: string, treeId: string) { - breakLoop.value = false; - if (rootId) { - for (let index = 0; index < nodes.value.length; index++) { - const element = nodes.value[index]; - deleteNode(element, rootId, treeId); - - if (breakLoop.value) break; - } - } else { - nodes.value = nodes.value.filter((x: any) => x.orgTreeId != treeId); - } -} - -/** - * function ลบข้อมูลโครงสร้าง - * @param treeNode ข้อมูล Tree - * @param rootId RootID - * @param treeId TreeID - */ -function deleteNode(treeNode: any, rootId: string, treeId: string): boolean { - if (treeNode.orgTreeId === rootId) { - const childrenNew = treeNode.children.filter( - (x: any) => x.orgTreeId != treeId - ); - let newData = { - ...treeNode, - children: childrenNew, - }; - Object.assign(treeNode, newData); - - breakLoop.value = true; - } else if (treeNode.children) { - for (const child of treeNode.children) { - deleteNode(child, rootId, treeId); - } - } - - return false; -} - -const modalHistory = ref(false); -const modalSortAgency = ref(false); -const dialogAgency = ref(false); -const actionType = ref(""); -const dataNode = ref(); -const treeId = ref(""); - -/** - * funcion openPopup เพิ่มหน่วยงาน - * @param level ระดับโครงสร้าง - * @param node ข้อมูล โครงสร้าง - */ -function onClickAgency(level: number, node: OrgTree | {}) { - dialogAgency.value = !dialogAgency.value; - orgLevel.value = level; - dataNode.value = node; - actionType.value = "ADD"; -} - -const dialogDetail = ref(false); -/** - * funtion ดูรายละเอียดโครงสร้าง - * @param id ID โครงสร้าง - * @param level ระดับโครงสร้าง - */ -function onClickDetail(id: string, level: number) { - showLoader(); - treeId.value = id; - dialogDetail.value = !dialogDetail.value; - orgLevel.value = level; -} - -/** - * function openPopup แก้ไขข้อมูลโครงสร้าง - * @param node ข้อมูล โครงสร้าง - */ -async function onClickEdit(node: OrgTree) { - console.log(node); - - dialogAgency.value = !dialogAgency.value; - actionType.value = "EDIT"; - orgLevel.value = node.orgLevel; - dataNode.value = node; -} - -/** - * function ยื่นยันการลบโครงสร้าง - * @param type ระดับโครงสร้าง - * @param id ID โครงสร้าง - * @param rootId RootID - */ -async function onClickDel(type: number, id: string, rootId: string) { - const level = store.checkLevel(type); - dialogRemove($q, async () => { - showLoader(); - await http - .delete(config.API.orgLevelByid(level.toLocaleLowerCase(), id)) - .then(() => { - success($q, "ลบข้อมูลสำเร็จ"); - deleteUpdate(rootId, id); - }) - .catch((err) => { - messageError($q, err); - }) - .finally(async () => { - hideLoader(); - }); - }); -} - -/** - * function การจัดลำดับโครงสร้าง - * @param id ID โครงสร้าง - * @param level ระดับโครงสร้าง - */ -async function onClickSort(id: string, level: number) { - type.value = level; - modalSortAgency.value = true; - if (id) { - breakLoop.value = false; - const orgId = id; - for (let index = 0; index < nodes.value.length; index++) { - const data = nodes.value[index]; - searchAndReplace(data, orgId); - if (breakLoop.value) break; - } - } else { - const dataList = nodes.value; - const dataMap = dataList.map((item: any) => ({ - orgTreeId: item.orgTreeId, - orgLevel: item.orgLevel, - orgTreeName: item.orgTreeName, - orgTreeShortName: item.orgTreeShortName, - orgRevisionId: item.orgRevisionId, - })); - - dataSort.value = dataMap; - } - - function searchAndReplace(data: any, id: string) { - if (data.orgTreeId === id) { - dataSort.value = data.children; - breakLoop.value = true; - } else if (data.children) { - for (const child of data.children) { - searchAndReplace(child, id); - } - } - } -} - -/** - * function ดูประวัดโครงสร้าง - * @param level ระดับโครงสร้าง - * @param id ID โครงสร้าง - */ -function onClickHistory(level: number, id: string) { - type.value = level; - orgId.value = id; - modalHistory.value = true; -} - watch( () => nodeTEST.value, () => { @@ -376,22 +101,7 @@ watch(
-
- - เพิ่มหน่วยงาน - -
- -
+
- - - - - - - - -