fix fetch StructrueTree

This commit is contained in:
DESKTOP-1R2VSQH\Lenovo ThinkPad E490 2025-02-28 14:50:11 +07:00
parent 74fa0f664c
commit e8c830454a
3 changed files with 59 additions and 17 deletions

View file

@ -11,6 +11,7 @@ import { useCounterMixin } from "@/stores/mixin";
import { useReportStore } from "@/modules/21_report/store";
import { useRegistryNewDataStore } from "@/modules/04_registryPerson/store";
import { useStructureTree } from "@/stores/structureTree";
import { useMenuDataStore } from "@/stores/menuList";
import type { OptionData } from "@/modules/07_insignia/interface/index/Main";
import type {
@ -27,15 +28,18 @@ import type { DataStructureTree } from "@/interface/main";
import DialogOrg from "@/modules/21_report/components/01_org/DialogOrg.vue";
import PopupPersonal from "@/components/Dialogs/PopupPersonalNew.vue";
import LoadView from "@/components/LoadView.vue";
const $q = useQuasar();
const route = useRoute();
const storeReport = useReportStore();
const stroeRegistry = useRegistryNewDataStore();
const { fetchStructureTree } = useStructureTree();
const mixin = useCounterMixin();
const storeMenu = useMenuDataStore();
const { messageError, showLoader, hideLoader, date2Thai, formatDatePosition } =
mixin;
useCounterMixin();
const loadingBtn = ref<boolean>(false);
const total = ref<number>(0);
@ -325,6 +329,7 @@ const rangeTerm = ref<RangeAge>({
min: 0,
max: 20,
});
const isLoadStructureTree = ref<boolean>(true);
function onOpenOrg() {
modalOrg.value = true;
@ -660,21 +665,27 @@ const expandedModal = ref<boolean>(false);
async function fetchTree() {
try {
const res = await http.get(config.API.orgPermissionsSys);
const response = res.data.result.roles;
if (storeMenu.permissions) {
isLoadStructureTree.value = true;
const response = storeMenu.permissions.roles ?? [];
const sysName = response.find(
(e: DataRoles) =>
e.authSysId === "SYS_REGISTRY_OFFICER" ||
e.authSysId === "REPORT_REGISTRY"
)?.authSysId;
const sysName = response
?.find(
(e: DataRoles) =>
e.authSysId === "SYS_REGISTRY_OFFICER" ||
e.authSysId === "REPORT_REGISTRY"
)
?.authSysId.toString();
const data = await fetchStructureTree(sysName ?? "REPORT_REGISTRY", true);
if (data) {
node.value = data;
const data = await fetchStructureTree(sysName ?? "REPORT_REGISTRY");
if (data) {
node.value = data;
}
}
} catch (err) {
messageError($q, err);
} finally {
isLoadStructureTree.value = false;
}
}
@ -712,7 +723,7 @@ onMounted(async () => {
getOptions(),
getExecutive(),
getDataPerson(),
getEducationLevel(),
// getEducationLevel(),
fetchTree(),
])
@ -726,6 +737,15 @@ onMounted(async () => {
}, 500);
});
});
watch(
() => storeMenu.permissions,
() => {
if (storeMenu.permissions) {
fetchTree();
}
}
);
</script>
<template>
@ -896,7 +916,10 @@ onMounted(async () => {
</template>
<q-separator />
<q-card-section>
<q-card-section v-if="isLoadStructureTree">
<LoadView />
</q-card-section>
<q-card-section v-else>
<q-input
dense
outlined