From c4d25912d11ab9059f8165c25a161634bb9b5e97 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期二, 16 六月 2026 09:45:33 +0800
Subject: [PATCH] proapp 1.工作台分类修改

---
 src/directive/permission/hasRole.ts |   31 +++++++++++++++++++++++++++----
 1 files changed, 27 insertions(+), 4 deletions(-)

diff --git a/src/directive/permission/hasRole.ts b/src/directive/permission/hasRole.ts
index d4a5cc7..94a2b50 100644
--- a/src/directive/permission/hasRole.ts
+++ b/src/directive/permission/hasRole.ts
@@ -1,7 +1,30 @@
+/**
+* v-hasRole 瑙掕壊鏉冮檺澶勭悊
+* Copyright (c) 2019 ruoyi
+*/
+
+import useUserStore from '@/store/modules/user'
 import type { Directive } from "vue";
-
 const vHasRole: Directive = {
-  mounted() {}
-};
+  mounted(el, binding, vnode) {
+    const { value } = binding
+    const super_admin = "admin";
+    const roles = useUserStore().roles
 
-export default vHasRole;
+    if (value && value instanceof Array && value.length > 0) {
+      const roleFlag = value
+
+      const hasRole = roles.some(role => {
+        return super_admin === role || roleFlag.includes(role)
+      })
+
+      if (!hasRole) {
+        el.parentNode && el.parentNode.removeChild(el)
+      }
+    } else {
+      throw new Error(`璇疯缃鑹叉潈闄愭爣绛惧�糮)
+    }
+  }
+}
+
+export default vHasRole;
\ No newline at end of file

--
Gitblit v1.9.3