From 7e559136afeaab92407725c150e7709f96758044 Mon Sep 17 00:00:00 2001 From: Net Date: Fri, 23 Aug 2024 16:13:18 +0700 Subject: [PATCH] fix: branch INACTIVE can't show subBranch --- src/pages/01_branch-management/MainPage.vue | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/src/pages/01_branch-management/MainPage.vue b/src/pages/01_branch-management/MainPage.vue index 2370a4ca..df584464 100644 --- a/src/pages/01_branch-management/MainPage.vue +++ b/src/pages/01_branch-management/MainPage.vue @@ -157,14 +157,21 @@ const { locale } = useI18n(); const { data: branchData } = storeToRefs(branchStore); const treeData = computed(() => { - const arr: BranchWithChildren[] = []; + const map: Record = {}; + const children: Branch[] = []; - branchData.value?.result.forEach((a) => { - if (a.isHeadOffice) arr.push(Object.assign(a, { branch: [] })); - else arr.find((b) => b.id === a.headOfficeId)?.branch.push(a); + branchData.value?.result.forEach((v) => { + if (v.isHeadOffice) map[v.id] = Object.assign(v, { branch: [] }); + else children.push(v); }); - return arr; + children.forEach((v) => { + if (v.headOfficeId && map[v.headOfficeId]) { + map[v.headOfficeId].branch.push(v); + } + }); + + return Object.values(map); }); async function calculateStats() {