From 5eadfbb64d2f288b92ec1f22cfef6f096b4b9a9e Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期五, 06 二月 2026 14:24:11 +0800
Subject: [PATCH] Merge branch 'dev_new' of http://114.132.189.42:9002/r/product-inventory-APP-before into dev_new
---
src/directive/permission/hasRole.ts | 30 ++++++++++++++++++++++++++++++
1 files changed, 30 insertions(+), 0 deletions(-)
diff --git a/src/directive/permission/hasRole.ts b/src/directive/permission/hasRole.ts
new file mode 100644
index 0000000..94a2b50
--- /dev/null
+++ b/src/directive/permission/hasRole.ts
@@ -0,0 +1,30 @@
+/**
+* v-hasRole 瑙掕壊鏉冮檺澶勭悊
+* Copyright (c) 2019 ruoyi
+*/
+
+import useUserStore from '@/store/modules/user'
+import type { Directive } from "vue";
+const vHasRole: Directive = {
+ mounted(el, binding, vnode) {
+ const { value } = binding
+ const super_admin = "admin";
+ const roles = useUserStore().roles
+
+ 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