From c5d06566082bfe4361944783c4e7f770126add2c Mon Sep 17 00:00:00 2001
From: Ryan Wang
Date: Fri, 22 Jul 2022 12:49:06 +0800
Subject: [PATCH] feat: show the number of permissions under the role
Signed-off-by: Ryan Wang
---
src/modules/system/roles/RoleDetail.vue | 12 +++++++++++-
src/modules/system/roles/RoleList.vue | 14 ++++++++++++--
.../system/roles/components/RoleCreationModal.vue | 3 ++-
3 files changed, 25 insertions(+), 4 deletions(-)
diff --git a/src/modules/system/roles/RoleDetail.vue b/src/modules/system/roles/RoleDetail.vue
index aeb518656..56570ac21 100644
--- a/src/modules/system/roles/RoleDetail.vue
+++ b/src/modules/system/roles/RoleDetail.vue
@@ -178,7 +178,17 @@ onMounted(() => {
- 包含 {{ formState.role?.rules?.length }} 个权限
+ 包含
+ {{
+ JSON.parse(
+ formState.role.metadata.annotations?.[
+ rbacAnnotations.DEPENDENCIES
+ ] || "[]"
+ ).length
+ }}
+ 个权限
diff --git a/src/modules/system/roles/RoleList.vue b/src/modules/system/roles/RoleList.vue
index 5e80ff717..97f2a1f8a 100644
--- a/src/modules/system/roles/RoleList.vue
+++ b/src/modules/system/roles/RoleList.vue
@@ -17,7 +17,7 @@ import { computed, onMounted, ref } from "vue";
import type { Role } from "@halo-dev/api-client";
import { apiClient } from "@halo-dev/admin-shared";
import { roleLabels } from "@/constants/labels";
-import { pluginAnnotations } from "@/constants/annotations";
+import { pluginAnnotations, rbacAnnotations } from "@/constants/annotations";
const createVisible = ref(false);
const roles = ref([]);
@@ -187,7 +187,17 @@ onMounted(() => {
- 包含 0 个权限
+
+ 包含
+ {{
+ JSON.parse(
+ role.metadata.annotations?.[
+ rbacAnnotations.DEPENDENCIES
+ ] || "[]"
+ ).length
+ }}
+ 个权限
+
diff --git a/src/modules/system/roles/components/RoleCreationModal.vue b/src/modules/system/roles/components/RoleCreationModal.vue
index bfbc79a83..742b32ecc 100644
--- a/src/modules/system/roles/components/RoleCreationModal.vue
+++ b/src/modules/system/roles/components/RoleCreationModal.vue
@@ -120,7 +120,7 @@ watch(
@@ -145,6 +145,7 @@ watch(
>