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())" >