diff --git a/src/modules/02_organizationalNew/components/DialogFormAgency.vue b/src/modules/02_organizationalNew/components/DialogFormAgency.vue index 3ac9508d3..69b955c82 100644 --- a/src/modules/02_organizationalNew/components/DialogFormAgency.vue +++ b/src/modules/02_organizationalNew/components/DialogFormAgency.vue @@ -108,7 +108,7 @@ function validateForm() { /** ฟังชั่น บันทึก */ function onSubmit() { dialogConfirm($q, async () => { - // showLoader(); + showLoader(); const type = store.checkLevel(level.value); const nameId = level.value === 0 @@ -142,14 +142,14 @@ function onSubmit() { await http .post(config.API.createOrgLevel(type.toLocaleLowerCase()), body) .then(() => { + props.fetchDataTree(store.draftId); success($q, "บันทึกข้อมูลสำเร็จ"); + closeClear(); }) .catch((err) => { messageError($q, err); }) .finally(() => { - props.fetchDataTree(store.draftId); - closeClear(); hideLoader(); }); } else { @@ -170,15 +170,14 @@ function onSubmit() { body, props.dataNode?.orgRootCode ); + closeClear(); success($q, "บันทึกข้อมูลสำเร็จ"); }) .catch((err) => { - console.log(err); messageError($q, err); }) .finally(async () => { // await props.fetchDataTree?.(); - closeClear(); hideLoader(); })); } @@ -289,6 +288,9 @@ const tittleName = computed(() => { for="#ocNo" :label="level == 0 ? 'รหัสหน่วยงาน' : 'รหัสส่วนราชการ'" hide-bottom-space + maxlength="2" + type="number" + class="inputNumber" :rules="[ (val) => !!val || @@ -373,3 +375,15 @@ const tittleName = computed(() => { + + diff --git a/src/modules/02_organizationalNew/components/DialogSortAgency.vue b/src/modules/02_organizationalNew/components/DialogSortAgency.vue index 1308f3c54..fbc2f1829 100644 --- a/src/modules/02_organizationalNew/components/DialogSortAgency.vue +++ b/src/modules/02_organizationalNew/components/DialogSortAgency.vue @@ -7,13 +7,6 @@ import type { QTableProps } from "quasar"; import DialogHeader from "@/components/DialogHeader.vue"; -import type { - FormDataNewStructure, - FormNewStructureRef, - DataOption, - HistoryType, -} from "@/modules/02_organizationalNew/interface/index/Main"; - import { useCounterMixin } from "@/stores/mixin"; import { useOrganizational } from "@/modules/02_organizationalNew/store/organizational"; @@ -22,6 +15,16 @@ const store = useOrganizational(); const { dialogConfirm, showLoader, success, hideLoader, messageError } = useCounterMixin(); +const type = defineModel("type", { required: true }); + +const props = defineProps({ + fetchDataTree: { + type: Function, + require: true, + default: () => "", + }, +}); + const modal = defineModel("sortAgency", { required: true }); const modalSort = defineModel>("data", { required: true }); const rows = ref([]); @@ -46,6 +49,7 @@ function onDropRow(from: any, to: any) { function save() { dialogConfirm($q, () => { + showLoader(); const data = rows.value; const dataId = data.map((item: any) => item.orgTreeId); http @@ -56,12 +60,15 @@ function save() { }) .then((res) => { modal.value = false; + props.fetchDataTree(store.draftId); success($q, "บันทึกข้อมูลสำเร็จ"); }) .catch((e) => { messageError($q, e); }) - .finally(() => {}); + .finally(() => { + hideLoader(); + }); }); } watch( @@ -90,7 +97,7 @@ watch( diff --git a/src/modules/02_organizationalNew/components/StructureDetail.vue b/src/modules/02_organizationalNew/components/StructureDetail.vue index 2e76f674f..0cad0351c 100644 --- a/src/modules/02_organizationalNew/components/StructureDetail.vue +++ b/src/modules/02_organizationalNew/components/StructureDetail.vue @@ -37,14 +37,8 @@ async function fetchDetailTree(id: string, type: string) { .then((res) => { const data = res.data.result; const range = data[`org${type}Rank`]; - formData.orgName = data[`org${type}orgRootName`] ? data[`org${type}orgRootName`] : '-'; - // range == "DEPARTMENT" - // ? data[`org${type}Name`] + ` (${data[`org${type}ShortName`]})` - // : "-"; - formData.agencyName = data[`org${type}orgName`] ? data[`org${type}orgName`] : '-'; - // range != "DEPARTMENT" - // ? data[`org${type}Name`] + ` (${data[`org${type}ShortName`]})` - // : "-"; + formData.orgName = data.orgRootName ? data.orgRootName : "-"; + formData.agencyName = data.orgName ? data.orgName : "-"; formData.orgType = range != "DEPARTMENT" ? "ส่วนราชการ" : "หน่วยงาน"; formData.orgLevel = store.convertType(range); formData.status = diff --git a/src/modules/02_organizationalNew/components/mainTree.vue b/src/modules/02_organizationalNew/components/mainTree.vue index b85ffa7cc..c06400d6d 100644 --- a/src/modules/02_organizationalNew/components/mainTree.vue +++ b/src/modules/02_organizationalNew/components/mainTree.vue @@ -65,9 +65,9 @@ const listAdd = ref([ }, { label: "จัดลำดับ", - icon: "filter_list", + icon: "mdi-sort", type: "SORT", - color: "green-7", + color: "blue-6", }, // { // label: "แก้ไขสถานะ", @@ -166,17 +166,18 @@ async function deleteUpdate(rootId: string, treeId: string) { if (breakLoop.value) break; } } else { - console.log("rootId===>", rootId); - console.log("treeId===>", treeId); nodes.value = nodes.value.filter((x: any) => x.orgTreeId != 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: [], + children: childrenNew, }; Object.assign(treeNode, newData); @@ -239,7 +240,8 @@ async function onClickDel(type: number, id: string, rootId: string) { }); } -async function onClickSort(id: string) { +async function onClickSort(id: string, level: number) { + type.value = level; modalSortAgency.value = true; if (id) { breakLoop.value = false; @@ -293,9 +295,9 @@ onMounted(async () => {}); - +