diff --git a/src/modules/01_metadataNew/components/calendar/CalendarList.vue b/src/modules/01_metadataNew/components/calendar/CalendarList.vue index a78838f20..f47ec5f76 100644 --- a/src/modules/01_metadataNew/components/calendar/CalendarList.vue +++ b/src/modules/01_metadataNew/components/calendar/CalendarList.vue @@ -18,67 +18,137 @@ class="q-py-xs col-6 row" /> - - - + + + + + + + + + + + + + + + diff --git a/src/modules/01_metadataNew/views/personal.vue b/src/modules/01_metadataNew/views/personal.vue index f107f339f..0830da32b 100644 --- a/src/modules/01_metadataNew/views/personal.vue +++ b/src/modules/01_metadataNew/views/personal.vue @@ -50,17 +50,32 @@ onMounted(() => { class="q-py-xs" /> - + -
- - - - - - - -
+ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/modules/01_metadataNew/views/position.vue b/src/modules/01_metadataNew/views/position.vue index bd15a4547..0c2ce6698 100644 --- a/src/modules/01_metadataNew/views/position.vue +++ b/src/modules/01_metadataNew/views/position.vue @@ -41,12 +41,21 @@ onMounted(() => { class="q-py-xs" /> - -
- - - -
+ + + + + + + + + + + + + + + diff --git a/src/modules/02_organizationalNew/components/PositionDetail.vue b/src/modules/02_organizationalNew/components/PositionDetail.vue index 87c76d73d..f47fb9624 100644 --- a/src/modules/02_organizationalNew/components/PositionDetail.vue +++ b/src/modules/02_organizationalNew/components/PositionDetail.vue @@ -43,81 +43,81 @@ const formData = reactive({ status: "", //*สถานะตำแหน่ง }); -const columns = ref([ - { - name: "no", - align: "left", - label: "ลำดับ", - sortable: false, - field: "no", - headerStyle: "font-size: 14px", - style: "font-size: 14px", - }, - { - name: "positionName", - align: "left", - label: "ตำแหน่งในสายงาน", - sortable: true, - field: "positionName", - headerStyle: "font-size: 14px", - style: "font-size: 14px", - }, - { - name: "positionField", - align: "left", - label: "สายงาน", - sortable: true, - field: "positionField", - headerStyle: "font-size: 14px", - style: "font-size: 14px", - }, - { - name: "posTypeName", - align: "left", - label: "ประเภทตำเเหน่ง", - sortable: true, - field: "posTypeName", - headerStyle: "font-size: 14px", - style: "font-size: 14px", - }, - { - name: "posLevelName", - align: "left", - label: "ระดับตำแหน่ง", - sortable: true, - field: "posLevelName", - headerStyle: "font-size: 14px", - style: "font-size: 14px", - }, - { - name: "posExecutiveName", - align: "left", - label: "ตำแหน่งทางการบริหาร", - sortable: true, - field: "posExecutiveName", - headerStyle: "font-size: 14px", - style: "font-size: 14px", - }, - { - name: "positionExecutiveField", - align: "left", - label: "ด้านทางการบริหาร", - sortable: true, - field: "positionExecutiveField", - headerStyle: "font-size: 14px", - style: "font-size: 14px", - }, - { - name: "positionArea", - align: "left", - label: "ด้าน/สาขา", - sortable: true, - field: "positionArea", - headerStyle: "font-size: 14px", - style: "font-size: 14px", - }, -]); -const row = ref([]); +// const columns = ref([ +// { +// name: "no", +// align: "left", +// label: "ลำดับ", +// sortable: false, +// field: "no", +// headerStyle: "font-size: 14px", +// style: "font-size: 14px", +// }, +// { +// name: "positionName", +// align: "left", +// label: "ตำแหน่งในสายงาน", +// sortable: true, +// field: "positionName", +// headerStyle: "font-size: 14px", +// style: "font-size: 14px", +// }, +// { +// name: "positionField", +// align: "left", +// label: "สายงาน", +// sortable: true, +// field: "positionField", +// headerStyle: "font-size: 14px", +// style: "font-size: 14px", +// }, +// { +// name: "posTypeName", +// align: "left", +// label: "ประเภทตำเเหน่ง", +// sortable: true, +// field: "posTypeName", +// headerStyle: "font-size: 14px", +// style: "font-size: 14px", +// }, +// { +// name: "posLevelName", +// align: "left", +// label: "ระดับตำแหน่ง", +// sortable: true, +// field: "posLevelName", +// headerStyle: "font-size: 14px", +// style: "font-size: 14px", +// }, +// { +// name: "posExecutiveName", +// align: "left", +// label: "ตำแหน่งทางการบริหาร", +// sortable: true, +// field: "posExecutiveName", +// headerStyle: "font-size: 14px", +// style: "font-size: 14px", +// }, +// { +// name: "positionExecutiveField", +// align: "left", +// label: "ด้านทางการบริหาร", +// sortable: true, +// field: "positionExecutiveField", +// headerStyle: "font-size: 14px", +// style: "font-size: 14px", +// }, +// { +// name: "positionArea", +// align: "left", +// label: "ด้าน/สาขา", +// sortable: true, +// field: "positionArea", +// headerStyle: "font-size: 14px", +// style: "font-size: 14px", +// }, +// ]); +// const row = ref([]); /** function ปิด popup*/ function close() { @@ -137,18 +137,26 @@ watch( : store.typeOrganizational === "draft" ? "แบบร่าง" : "ยุบเลิก"; - row.value = prosp.dataDetailPos.positions.map((e: Position) => ({ - ...e, - positionName: e.positionName ? e.positionName : "-", - positionField: e.positionField ? e.positionField : "-", - posTypeName: e.posTypeName ? e.posTypeName : "-", - posLevelName: e.posLevelName ? e.posLevelName : "-", - posExecutiveName: e.posExecutiveName ? e.posExecutiveName : "-", - positionExecutiveField: e.positionExecutiveField - ? e.positionExecutiveField - : "-", - positionArea: e.positionArea ? e.positionArea : "-", - })); + formData.positionType = prosp.dataDetailPos.posTypeName + formData.positionPathSide = prosp.dataDetailPos.positionName + formData.positionLine = prosp.dataDetailPos.positionField + formData.positionSide = prosp.dataDetailPos.positionArea ? prosp.dataDetailPos.positionArea : "-" + formData.positionLevel = prosp.dataDetailPos.posLevelName + formData.positionExecutive = prosp.dataDetailPos.posExecutiveName ? prosp.dataDetailPos.posExecutiveName : "-" + formData.positionExecutiveSide = prosp.dataDetailPos.positionExecutiveField ? prosp.dataDetailPos.positionExecutiveField : "-" + + // row.value = prosp.dataDetailPos.positions.map((e: Position) => ({ + // ...e, + // positionName: e.positionName ? e.positionName : "-", + // positionField: e.positionField ? e.positionField : "-", + // posTypeName: e.posTypeName ? e.posTypeName : "-", + // posLevelName: e.posLevelName ? e.posLevelName : "-", + // posExecutiveName: e.posExecutiveName ? e.posExecutiveName : "-", + // positionExecutiveField: e.positionExecutiveField + // ? e.positionExecutiveField + // : "-", + // positionArea: e.positionArea ? e.positionArea : "-", + // })); } } } @@ -172,7 +180,6 @@ watch(

{{ formData.positionNo }}

- + - + - + - + - + - + - +
@@ -261,7 +268,7 @@ watch(
-
+
diff --git a/src/modules/02_organizationalNew/components/listView.vue b/src/modules/02_organizationalNew/components/listView.vue index 2ff6a8217..1e6ba514e 100644 --- a/src/modules/02_organizationalNew/components/listView.vue +++ b/src/modules/02_organizationalNew/components/listView.vue @@ -34,6 +34,8 @@ const nodeTree = ref(); // ข้อมูล Tree const nodeId = ref(""); // id ของ Tree const orgLevel = ref(0); // levelTree const isLoad = ref(false); // loadTable +const isLoadTree = ref(false); // loadTable + const selected = ref(""); const reqMaster = reactive({ @@ -53,6 +55,7 @@ const posMaster = ref([]); * @param id id โครงสร้าง */ async function fetchDataTree(id: string) { + isLoadTree.value = false; showLoader(); await http .get(config.API.orgByid(id.toString())) @@ -121,6 +124,32 @@ async function fetchDataTable(id: string, level: number, action: boolean) { }); } +/** ดึงข้อมูลสถิติจำนวนด้านบน*/ +function getSummary() { + http + .post(config.API.orgSummary, { + id: reqMaster.id, //*Id node + type: reqMaster.type, //*ประเภทnode + isNode: reqMaster.isAll, //*นับทั้ง node ไหม + }) + .then(async (res: any) => { + const data = await res.data.result; + + store.getSumPosition({ + totalPosition: data.totalPosition, + totalPositionCurrentUse: data.totalPositionCurrentUse, + totalPositionCurrentVacant: data.totalPositionCurrentVacant, + totalPositionNextUse: data.totalPositionNextUse, + totalPositionNextVacant: data.totalPositionNextVacant, + totalRootPosition: data.totalPosition, + totalRootPositionCurrentUse: data.totalPositionCurrentUse, + totalRootPositionCurrentVacant: data.totalPositionCurrentVacant, + totalRootPositionNextUse: data.totalPositionNextUse, + totalRootPositionNextVacant: data.totalPositionNextVacant, + }); + }); +} + /** funcion ค้นหาข้อมูลใน Table*/ async function filterKeyword() { reqMaster.page = 1; @@ -168,6 +197,7 @@ watch([() => reqMaster.page, () => reqMaster.pageSize], () => { watch( () => reqMaster.isAll, () => { + getSummary(); if (reqMaster.page !== 1) { reqMaster.page = 1; } else { @@ -185,7 +215,6 @@ watch( diff --git a/src/modules/02_organizationalNew/components/mainTree.vue b/src/modules/02_organizationalNew/components/mainTree.vue index 88d482208..6cca066cb 100644 --- a/src/modules/02_organizationalNew/components/mainTree.vue +++ b/src/modules/02_organizationalNew/components/mainTree.vue @@ -28,7 +28,6 @@ const { dialogRemove, showLoader, hideLoader, messageError, success } = /** props*/ const nodeTEST = defineModel("nodeTree", { default: [] }); const nodeId = defineModel("nodeId", { required: true }); -const selected = defineModel("selected", { required: true }); const props = defineProps({ fetchDataTree: { type: Function, @@ -97,39 +96,39 @@ const orgId = ref(""); * @param data ข่อมูล Tree */ function updateSelected(data: DataTree) { - store.treeId = data.orgTreeId; - store.level = data.orgLevel; - // if (data.orgTreeId === nodeId.value) { - // nodeId.value = ""; - // } else { - nodeId.value = data.orgTreeId ? data.orgTreeId : "111"; + if (!store.treeId || store.treeId != data.orgTreeId) { + store.treeId = data.orgTreeId; + store.level = data.orgLevel; - data.orgTreeId && props.fetchDataTable?.(data.orgTreeId, data.orgLevel, true); - /** ดึงข้อมูลสถิติจำนวนด้านบน*/ - http - .post(config.API.orgSummary, { - id: data.orgTreeId, //*Id node - type: data.orgLevel, //*ประเภทnode - isNode: false, //*นับทั้ง node ไหม - }) - .then(async (res: any) => { - const data = await res.data.result; - if (data) { - store.getSumPosition({ - totalPosition: data.totalPosition, - totalPositionCurrentUse: data.totalPositionCurrentUse, - totalPositionCurrentVacant: data.totalPositionCurrentVacant, - totalPositionNextUse: data.totalPositionNextUse, - totalPositionNextVacant: data.totalPositionNextVacant, - totalRootPosition: data.totalPosition, - totalRootPositionCurrentUse: data.totalPositionCurrentUse, - totalRootPositionCurrentVacant: data.totalPositionCurrentVacant, - totalRootPositionNextUse: data.totalPositionNextUse, - totalRootPositionNextVacant: data.totalPositionNextVacant, - }); - } - }); - // } + nodeId.value = data.orgTreeId ? data.orgTreeId : "111"; + + data.orgTreeId && + props.fetchDataTable?.(data.orgTreeId, data.orgLevel, true); + /** ดึงข้อมูลสถิติจำนวนด้านบน*/ + http + .post(config.API.orgSummary, { + id: data.orgTreeId, //*Id node + type: data.orgLevel, //*ประเภทnode + isNode: false, //*นับทั้ง node ไหม + }) + .then(async (res: any) => { + const data = await res.data.result; + if (data) { + store.getSumPosition({ + totalPosition: data.totalPosition, + totalPositionCurrentUse: data.totalPositionCurrentUse, + totalPositionCurrentVacant: data.totalPositionCurrentVacant, + totalPositionNextUse: data.totalPositionNextUse, + totalPositionNextVacant: data.totalPositionNextVacant, + totalRootPosition: data.totalPosition, + totalRootPositionCurrentUse: data.totalPositionCurrentUse, + totalRootPositionCurrentVacant: data.totalPositionCurrentVacant, + totalRootPositionNextUse: data.totalPositionNextUse, + totalRootPositionNextVacant: data.totalPositionNextVacant, + }); + } + }); + } } const breakLoop = ref(false); @@ -366,8 +365,6 @@ watch( nodes.value = nodeTEST.value; } ); - -const modaeMenu = ref(false);