From 8b4ea6da386e4de44107ba5a72a1cfb0b519a7d5 Mon Sep 17 00:00:00 2001 From: "DESKTOP-1R2VSQH\\Lenovo ThinkPad E490" Date: Tue, 4 Nov 2025 11:46:54 +0700 Subject: [PATCH] fix:hideBtnAction --- src/interface/response/Main.ts | 60 +++++++++++++++ .../components/Permissions/DialogAdd.vue | 25 +++++-- .../RoleOrganization/DialogAddPerson.vue | 18 ++++- .../RolePositionSalary/DialogAddPerson.vue | 17 +++++ .../02_users/interface/request/Main.ts | 1 + .../02_users/views/02_rolesAndPermissions.vue | 31 +++++++- .../02_users/views/03_permissionsView.vue | 29 +++++++- .../02_users/views/04_roleOrganization.vue | 13 ++++ .../02_users/views/05_responsIbilities.vue | 19 ++++- .../02_users/views/06_rolePositionSalary.vue | 13 ++++ .../page02_rolesAndPermissionsDetail.vue | 73 +++++++++++++++---- src/views/MainLayout.vue | 4 + 12 files changed, 277 insertions(+), 26 deletions(-) create mode 100644 src/interface/response/Main.ts diff --git a/src/interface/response/Main.ts b/src/interface/response/Main.ts new file mode 100644 index 00000000..e165fe41 --- /dev/null +++ b/src/interface/response/Main.ts @@ -0,0 +1,60 @@ +interface KeycloakPosition { + amountSpecial: number; + avatar: string; + avatarName: string; + birthDate: string; + child1: string; + child1DnaId: string; + child1Id: string; + child1ShortName: string; + child2: string; + child2DnaId: string; + child2Id: string; + child2ShortName: string; + child3: string; + child3DnaId: string; + child3Id: string; + child3ShortName: string; + child4: string; + child4DnaId: string; + child4Id: string; + child4ShortName: string; + citizenId: string; + dateRetireLaw: string; + dateStart: string; + firstName: string; + isDirector: boolean; + isProbation: boolean; + keycloak: string; + lastName: string; + leaveDate: string; + node: number; + nodeDnaId: string; + nodeId: string; + nodeShortName: string; + posExecutiveId: string; + posExecutiveName: string; + posExecutivePriority: string; + posLevelId: string; + posLevelName: string; + posLevelRank: number; + posMaster: number; + posMasterNo: number; + posNo: string; + posTypeId: string; + posTypeName: string; + posTypeRank: number; + position: string; + positionArea: string; + positionExecutiveField: string; + prefix: string; + profileId: string; + profileType: string; + rank: string; + root: string; + rootDnaId: string; + rootId: string; + rootShortName: string; + salary: number; +} +export type { KeycloakPosition }; diff --git a/src/modules/02_users/components/Permissions/DialogAdd.vue b/src/modules/02_users/components/Permissions/DialogAdd.vue index 7d81ee17..d415b06f 100644 --- a/src/modules/02_users/components/Permissions/DialogAdd.vue +++ b/src/modules/02_users/components/Permissions/DialogAdd.vue @@ -5,6 +5,7 @@ import { useQuasar } from "quasar"; import http from "@/plugins/http"; import config from "@/app.config"; import { useCounterMixin } from "@/stores/mixin"; +import { tokenParsed } from "@/plugins/auth"; /** importComponents*/ import DialogHeader from "@/components/DialogHeader.vue"; @@ -67,6 +68,7 @@ const columns = ref([ const visibleColumns = ref(["roleName", "roleDescription"]); const selected = ref([]); +const roleUser = ref([]); function closeDialog() { modal.value = false; @@ -74,10 +76,19 @@ function closeDialog() { keyword.value = ""; } -function fetchListRoles() { +async function fetchListRoles() { showLoader(); - http - .get(config.API.managementAuth + `/list`) + const isCheckRole = roleUser.value.includes("SUPER_ADMIN") ? true : false; + + const param: { params?: { isAdminVisibled: string } } = {}; + if (!isCheckRole) { + param.params = { + isAdminVisibled: "true", + }; + } + + await http + .get(config.API.managementAuth + `/list`, param) .then((res) => { const data = res.data.result; rows.value = data; @@ -138,8 +149,12 @@ function serchDataTable() { watch( () => modal.value, - () => { - modal.value && fetchListRoles(); + async () => { + if (modal.value) { + const token = await tokenParsed(); + roleUser.value = token?.role || []; + await fetchListRoles(); + } } ); diff --git a/src/modules/02_users/components/RoleOrganization/DialogAddPerson.vue b/src/modules/02_users/components/RoleOrganization/DialogAddPerson.vue index 1b2f0da3..9fa24abc 100644 --- a/src/modules/02_users/components/RoleOrganization/DialogAddPerson.vue +++ b/src/modules/02_users/components/RoleOrganization/DialogAddPerson.vue @@ -1,11 +1,13 @@