fix: 租户和系统用户的主页显示差异

This commit is contained in:
TsMask
2025-08-14 17:15:18 +08:00
parent 7b7907616f
commit 7bd524976a
4 changed files with 43 additions and 19 deletions

View File

@@ -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);
}

View File

@@ -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',

View File

@@ -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(() => {
<a-tab-pane
key="style-layout"
:tab="t('views.account.settings.styleLayout')"
v-if="hasRoles(['admin'])"
v-if="false"
>
<StyleLayout></StyleLayout>
</a-tab-pane>

View File

@@ -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<Component | null>(null);
const router = useRouter();
const spinning = ref<boolean>(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;