From 7bd524976a64f518022f7b6707b95e27cc356c33 Mon Sep 17 00:00:00 2001
From: TsMask <340112800@qq.com>
Date: Thu, 14 Aug 2025 17:15:18 +0800
Subject: [PATCH] =?UTF-8?q?fix:=20=E7=A7=9F=E6=88=B7=E5=92=8C=E7=B3=BB?=
=?UTF-8?q?=E7=BB=9F=E7=94=A8=E6=88=B7=E7=9A=84=E4=B8=BB=E9=A1=B5=E6=98=BE?=
=?UTF-8?q?=E7=A4=BA=E5=B7=AE=E5=BC=82?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/layouts/BasicLayout.vue | 37 +++++++++++++++++++++++-----------
src/router/index.ts | 10 +++++----
src/views/account/settings.vue | 3 +--
src/views/index.vue | 12 ++++++++++-
4 files changed, 43 insertions(+), 19 deletions(-)
diff --git a/src/layouts/BasicLayout.vue b/src/layouts/BasicLayout.vue
index 322fd6ed..ca811f84 100644
--- a/src/layouts/BasicLayout.vue
+++ b/src/layouts/BasicLayout.vue
@@ -20,6 +20,7 @@ import {
import { useRouter } from 'vue-router';
import useLayoutStore from '@/store/modules/layout';
import useAppStore from '@/store/modules/app';
+import useUserStore from '@/store/modules/user';
import useRouterStore from '@/store/modules/router';
import useTabsStore from '@/store/modules/tabs';
import useI18n from '@/hooks/useI18n';
@@ -64,19 +65,28 @@ watch(
{ immediate: true }
);
-// 动态路由添加到菜单面板
-const rootRoute = router.getRoutes().find(r => r.name === 'Root');
-if (rootRoute) {
- const children = routerStore.setRootRouterData(rootRoute.children);
- const buildRouterData = routerStore.buildRouterData;
- if (buildRouterData.length > 0) {
- rootRoute.children = children.concat(buildRouterData);
- } else {
- rootRoute.children = children;
+const menuData = computed(() => {
+ // 动态路由添加到菜单面板
+ const rootRoute = router.getRoutes().find(r => r.name === 'Root');
+ if (rootRoute) {
+ const children = routerStore.setRootRouterData(rootRoute.children);
+ const buildRouterData = routerStore.buildRouterData;
+ if (buildRouterData.length > 0) {
+ rootRoute.children = children.concat(buildRouterData);
+ } else {
+ rootRoute.children = children;
+ }
+ // console.log(JSON.parse(JSON.stringify(rootRoute.children)));
+ if (!useUserStore().roles.includes('tenant')) {
+ rootRoute.children = rootRoute.children.filter(
+ item => item.name !== 'Index'
+ );
+ }
}
-}
-const { menuData } = getMenuData(clearMenuItem(router.getRoutes()));
+ const { menuData } = getMenuData(clearMenuItem(router.getRoutes()));
+ return menuData;
+});
/**面包屑数据对象,排除根节点和首页不显示 */
const breadcrumb = computed(() => {
@@ -214,7 +224,10 @@ function fnGetServerTime() {
// serverTimeStr.value = parseDateToStr(serverTime.timestamp);
// 用DOM直接修改
if (serverTimeDom) {
- serverTimeDom.innerText = parseDateToStr(serverTime.timestamp, YYYY_MM_DD_HH_MM_SSZ);
+ serverTimeDom.innerText = parseDateToStr(
+ serverTime.timestamp,
+ YYYY_MM_DD_HH_MM_SSZ
+ );
}
}, 1000);
}
diff --git a/src/router/index.ts b/src/router/index.ts
index dda2c5ee..4b958499 100644
--- a/src/router/index.ts
+++ b/src/router/index.ts
@@ -30,14 +30,16 @@ const constantRoutes: RouteRecordRaw[] = [
path: '/',
name: 'Root',
component: BasicLayout,
- redirect: '/monitor/dashboard',
+ redirect: '/index',
+ // redirect: '/monitor/dashboard',
children: [
{
path: '/index',
name: 'Index',
- meta: { title: 'router.index', icon: 'icon-pcduan', hideInMenu: true },
- redirect: '/monitor/dashboard',
- // component: () => import('@/views/index.vue'),
+ meta: { title: 'router.index', icon: 'icon-pcduan' },
+ component: () => import('@/views/index.vue'),
+ // meta: { title: 'router.index', icon: 'icon-pcduan', hideInMenu: true },
+ // redirect: '/monitor/dashboard',
},
{
path: '/account',
diff --git a/src/views/account/settings.vue b/src/views/account/settings.vue
index 0605fb9b..04e941a9 100644
--- a/src/views/account/settings.vue
+++ b/src/views/account/settings.vue
@@ -5,7 +5,6 @@ import BaseInfo from './components/base-info.vue';
import ResetPasswd from './components/reset-passwd.vue';
import StyleLayout from './components/style-layout.vue';
import { useRoute } from 'vue-router';
-import { hasRoles } from '@/plugins/auth-user';
import useAppStore from '@/store/modules/app';
import useI18n from '@/hooks/useI18n';
import useUserStore from '@/store/modules/user';
@@ -53,7 +52,7 @@ onActivated(() => {
diff --git a/src/views/index.vue b/src/views/index.vue
index f4450100..a4fdad03 100644
--- a/src/views/index.vue
+++ b/src/views/index.vue
@@ -11,8 +11,9 @@ import {
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
import useUserStore from '@/store/modules/user';
import useLayoutStore from '@/store/modules/layout';
+import { useRouter } from 'vue-router';
const currentComponent = shallowRef(null);
-
+const router = useRouter();
const spinning = ref(false);
/**匹配views里面所有的.vue或.tsx文件 */
@@ -48,6 +49,15 @@ onMounted(() => {
useLayoutStore().changeConf('menuTheme', 'light');
useLayoutStore().changeConf('tabRender', false);
} else {
+ useLayoutStore().changeConf('layout', 'mix');
+ useLayoutStore().changeConf('menuTheme', 'light');
+ useLayoutStore().changeConf('tabRender', true);
+
+ // location.replace(location.origin);
+ router.replace({ name: 'Monitor_2087' }).finally(() => {
+ location.reload();
+ });
+ return;
useLayoutStore().changeConf('layout', 'mix');
//获取当前系统设置的首页路径
spinning.value = true;