From b5f7d75599d286ceaae6cded8bc40b9230b9ad6c Mon Sep 17 00:00:00 2001 From: "DESKTOP-1R2VSQH\\Lenovo ThinkPad E490" Date: Thu, 5 Sep 2024 10:54:04 +0700 Subject: [PATCH] =?UTF-8?q?=E0=B9=82=E0=B8=84=E0=B8=A3=E0=B8=87=E0=B8=AA?= =?UTF-8?q?=E0=B8=A3=E0=B9=89=E0=B8=B2=E0=B8=87=E0=B8=97=E0=B8=B0=E0=B9=80?= =?UTF-8?q?=E0=B8=9A=E0=B8=B5=E0=B8=A2=E0=B8=99=E0=B8=9B=E0=B8=A3=E0=B8=B0?= =?UTF-8?q?=E0=B8=A7=E0=B8=B1=E0=B8=95=E0=B8=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/interface/main.ts | 33 +++++++++- src/modules/04_registryPerson/views/list.vue | 9 ++- .../components/DialogSelectPos.vue | 62 ++++++------------- .../08_registryEmployee/views/Main.vue | 10 +-- src/stores/structureTree.ts | 32 ++++++++-- 5 files changed, 92 insertions(+), 54 deletions(-) diff --git a/src/interface/main.ts b/src/interface/main.ts index f34950b8f..edc4228f4 100644 --- a/src/interface/main.ts +++ b/src/interface/main.ts @@ -23,4 +23,35 @@ interface RoleData { parentNode: string; } -export type { DataOption, FormProfile, RoleData }; +interface DataStructureTree { + labelName: string; + orgCode: string; + orgLevel: number; + orgName: string; + orgRevisionId: string; + orgRootName: string; + orgTreeCode: string; + orgTreeFax: string; + orgTreeId: string; + orgTreeName: string; + orgTreeOrder: number; + orgTreePhoneEx: string; + orgTreePhoneIn: string; + orgTreeRank: string; + orgTreeRankSub: string; + orgTreeShortName: string; + responsibility: string; + totalPosition: number; + totalPositionCurrentUse: number; + totalPositionCurrentVacant: number; + totalPositionNextUse: number; + totalPositionNextVacant: number; + totalRootPosition: number; + totalRootPositionCurrentUse: number; + totalRootPositionCurrentVacant: number; + totalRootPositionNextUse: number; + totalRootPositionNextVacant: number; + children: DataStructureTree[]; +} + +export type { DataOption, FormProfile, RoleData, DataStructureTree }; diff --git a/src/modules/04_registryPerson/views/list.vue b/src/modules/04_registryPerson/views/list.vue index efeb09e1e..a63a89338 100644 --- a/src/modules/04_registryPerson/views/list.vue +++ b/src/modules/04_registryPerson/views/list.vue @@ -333,9 +333,11 @@ function clearSelect(t: string) { fetchDataPerson(); } +const isLoad = ref(false); async function fetchTree() { const data = await fetchStructureTree(route.meta.Key as string); if (data) { + isLoad.value = true; node.value = data; store.formFilter.node = nodeData.node; store.formFilter.nodeId = nodeData.nodeId; @@ -365,6 +367,11 @@ function updateSelectedTreeMain(data: any) { } } +/** callback function เมื่อมีการเปิด popup*/ +watch(selectNode, () => { + isLoad.value && hideLoader(); +}); + onMounted(async () => { selectType(); fetchTree(); @@ -453,7 +460,7 @@ onMounted(async () => { label-color="white" dropdown-icon="mdi-chevron-down" class="q-px-sm" - @click="() => (selectNode = true)" + @click="() => ((selectNode = true), showLoader())" >