From bb576469eb1e2cb2bf8e1717902702ca28f5ef65 Mon Sep 17 00:00:00 2001
From: zhangwei <1504152376@qq.com>
Date: 星期一, 28 七月 2025 17:20:56 +0800
Subject: [PATCH] '-'

---
 src/layout/hooks/useNav.ts |   38 ++++++++++++++++++++++++++++++++++----
 1 files changed, 34 insertions(+), 4 deletions(-)

diff --git a/src/layout/hooks/useNav.ts b/src/layout/hooks/useNav.ts
index 56cd593..b1b0567 100644
--- a/src/layout/hooks/useNav.ts
+++ b/src/layout/hooks/useNav.ts
@@ -2,7 +2,7 @@
 import { getConfig } from "@/config";
 import { emitter } from "@/utils/mitt";
 import Avatar from "@/assets/user.jpg";
-import { getTopMenu } from "@/router/utils";
+import { initRouter, getTopMenu, handleAliveRoute } from "@/router/utils";
 import { useFullscreen } from "@vueuse/core";
 import type { routeMetaType } from "../types";
 import { useRouter, useRoute } from "vue-router";
@@ -14,6 +14,7 @@
 import { usePermissionStoreHook } from "@/store/modules/permission";
 import ExitFullscreen from "~icons/ri/fullscreen-exit-fill";
 import Fullscreen from "~icons/ri/fullscreen-fill";
+import { unref } from "vue";
 
 const errorInfo =
   "The current routing configuration is incorrect, please check the configuration";
@@ -53,7 +54,12 @@
 
   /** 瑙掕壊 */
   const userRoles = computed(() => {
-    return useUserStoreHook()?.exRoles[0];
+    return useUserStoreHook()?.nowRole;
+  });
+
+  /** 瑙掕壊 */
+  const userRolesList = computed(() => {
+    return useUserStoreHook()?.exRoles ?? [];
   });
 
   const avatarsStyle = computed(() => {
@@ -83,7 +89,29 @@
     if (Title) document.title = `${meta.title} | ${Title}`;
     else document.title = meta.title;
   }
-
+  /** 鍒锋柊璺敱 */
+  function onFresh() {
+    const { fullPath, query } = unref(route);
+    router.replace({
+      path: "/redirect" + fullPath,
+      query
+    });
+    handleAliveRoute(route as ToRouteType, "refresh");
+  }
+  /** 鍒囨崲瑙掕壊 */
+  const changRole = item => {
+    useUserStoreHook()
+      .changeLogoInExRule({
+        ruleCode: item.code
+      })
+      .then(res => {
+        if (res.code == 200) {
+          // 鑾峰彇鍚庣璺敱
+          initRouter();
+          onFresh();
+        }
+      });
+  };
   /** 閫�鍑虹櫥褰� */
   function logout() {
     useUserStoreHook().logOut();
@@ -156,8 +184,10 @@
     pureApp,
     username,
     userRoles,
+    userRolesList,
     userAvatar,
     avatarsStyle,
-    tooltipEffect
+    tooltipEffect,
+    changRole
   };
 }

--
Gitblit v1.9.1