From 3324a54fa4d0840f8a5dc8adb21753180ecd3f3c Mon Sep 17 00:00:00 2001
From: zhangwei <1504152376@qq.com>
Date: 星期二, 02 九月 2025 14:25:06 +0800
Subject: [PATCH] 公告信息页面

---
 src/layout/hooks/useNav.ts |   48 +++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 41 insertions(+), 7 deletions(-)

diff --git a/src/layout/hooks/useNav.ts b/src/layout/hooks/useNav.ts
index 0937a9e..b3b11a0 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,8 @@
 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";
+import { message } from "@/utils/message";
 
 const errorInfo =
   "The current routing configuration is incorrect, please check the configuration";
@@ -51,11 +53,14 @@
       : useUserStoreHook()?.nickname;
   });
 
-  /** 瑙掕壊 */
+  /** 褰撳墠瑙掕壊 */
   const userRoles = computed(() => {
-    return isAllEmpty(useUserStoreHook()?.exRoles)
-      ? useUserStoreHook()?.exRoles
-      : {};
+    return useUserStoreHook()?.nowRole;
+  });
+
+  /** 瑙掕壊 */
+  const userRolesList = computed(() => {
+    return useUserStoreHook()?.exRoles ?? [];
   });
 
   const avatarsStyle = computed(() => {
@@ -85,7 +90,34 @@
     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().then(() => {
+            const path = getTopMenu(true);
+            router.push({ name: path.name });
+          });
+          // onFresh();
+        } else {
+          message(res?.message, { type: "warning" });
+        }
+      });
+  };
   /** 閫�鍑虹櫥褰� */
   function logout() {
     useUserStoreHook().logOut();
@@ -158,8 +190,10 @@
     pureApp,
     username,
     userRoles,
+    userRolesList,
     userAvatar,
     avatarsStyle,
-    tooltipEffect
+    tooltipEffect,
+    changRole
   };
 }

--
Gitblit v1.9.1