fix: 租户和系统用户的主页显示差异
This commit is contained in:
@@ -20,6 +20,7 @@ import {
|
|||||||
import { useRouter } from 'vue-router';
|
import { useRouter } from 'vue-router';
|
||||||
import useLayoutStore from '@/store/modules/layout';
|
import useLayoutStore from '@/store/modules/layout';
|
||||||
import useAppStore from '@/store/modules/app';
|
import useAppStore from '@/store/modules/app';
|
||||||
|
import useUserStore from '@/store/modules/user';
|
||||||
import useRouterStore from '@/store/modules/router';
|
import useRouterStore from '@/store/modules/router';
|
||||||
import useTabsStore from '@/store/modules/tabs';
|
import useTabsStore from '@/store/modules/tabs';
|
||||||
import useI18n from '@/hooks/useI18n';
|
import useI18n from '@/hooks/useI18n';
|
||||||
@@ -64,19 +65,28 @@ watch(
|
|||||||
{ immediate: true }
|
{ immediate: true }
|
||||||
);
|
);
|
||||||
|
|
||||||
// 动态路由添加到菜单面板
|
const menuData = computed(() => {
|
||||||
const rootRoute = router.getRoutes().find(r => r.name === 'Root');
|
// 动态路由添加到菜单面板
|
||||||
if (rootRoute) {
|
const rootRoute = router.getRoutes().find(r => r.name === 'Root');
|
||||||
const children = routerStore.setRootRouterData(rootRoute.children);
|
if (rootRoute) {
|
||||||
const buildRouterData = routerStore.buildRouterData;
|
const children = routerStore.setRootRouterData(rootRoute.children);
|
||||||
if (buildRouterData.length > 0) {
|
const buildRouterData = routerStore.buildRouterData;
|
||||||
rootRoute.children = children.concat(buildRouterData);
|
if (buildRouterData.length > 0) {
|
||||||
} else {
|
rootRoute.children = children.concat(buildRouterData);
|
||||||
rootRoute.children = children;
|
} 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(() => {
|
const breadcrumb = computed(() => {
|
||||||
@@ -214,7 +224,10 @@ function fnGetServerTime() {
|
|||||||
// serverTimeStr.value = parseDateToStr(serverTime.timestamp);
|
// serverTimeStr.value = parseDateToStr(serverTime.timestamp);
|
||||||
// 用DOM直接修改
|
// 用DOM直接修改
|
||||||
if (serverTimeDom) {
|
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);
|
}, 1000);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -30,14 +30,16 @@ const constantRoutes: RouteRecordRaw[] = [
|
|||||||
path: '/',
|
path: '/',
|
||||||
name: 'Root',
|
name: 'Root',
|
||||||
component: BasicLayout,
|
component: BasicLayout,
|
||||||
redirect: '/monitor/dashboard',
|
redirect: '/index',
|
||||||
|
// redirect: '/monitor/dashboard',
|
||||||
children: [
|
children: [
|
||||||
{
|
{
|
||||||
path: '/index',
|
path: '/index',
|
||||||
name: 'Index',
|
name: 'Index',
|
||||||
meta: { title: 'router.index', icon: 'icon-pcduan', hideInMenu: true },
|
meta: { title: 'router.index', icon: 'icon-pcduan' },
|
||||||
redirect: '/monitor/dashboard',
|
component: () => import('@/views/index.vue'),
|
||||||
// component: () => import('@/views/index.vue'),
|
// meta: { title: 'router.index', icon: 'icon-pcduan', hideInMenu: true },
|
||||||
|
// redirect: '/monitor/dashboard',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: '/account',
|
path: '/account',
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ import BaseInfo from './components/base-info.vue';
|
|||||||
import ResetPasswd from './components/reset-passwd.vue';
|
import ResetPasswd from './components/reset-passwd.vue';
|
||||||
import StyleLayout from './components/style-layout.vue';
|
import StyleLayout from './components/style-layout.vue';
|
||||||
import { useRoute } from 'vue-router';
|
import { useRoute } from 'vue-router';
|
||||||
import { hasRoles } from '@/plugins/auth-user';
|
|
||||||
import useAppStore from '@/store/modules/app';
|
import useAppStore from '@/store/modules/app';
|
||||||
import useI18n from '@/hooks/useI18n';
|
import useI18n from '@/hooks/useI18n';
|
||||||
import useUserStore from '@/store/modules/user';
|
import useUserStore from '@/store/modules/user';
|
||||||
@@ -53,7 +52,7 @@ onActivated(() => {
|
|||||||
<a-tab-pane
|
<a-tab-pane
|
||||||
key="style-layout"
|
key="style-layout"
|
||||||
:tab="t('views.account.settings.styleLayout')"
|
:tab="t('views.account.settings.styleLayout')"
|
||||||
v-if="hasRoles(['admin'])"
|
v-if="false"
|
||||||
>
|
>
|
||||||
<StyleLayout></StyleLayout>
|
<StyleLayout></StyleLayout>
|
||||||
</a-tab-pane>
|
</a-tab-pane>
|
||||||
|
|||||||
@@ -11,8 +11,9 @@ import {
|
|||||||
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
|
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
|
||||||
import useUserStore from '@/store/modules/user';
|
import useUserStore from '@/store/modules/user';
|
||||||
import useLayoutStore from '@/store/modules/layout';
|
import useLayoutStore from '@/store/modules/layout';
|
||||||
|
import { useRouter } from 'vue-router';
|
||||||
const currentComponent = shallowRef<Component | null>(null);
|
const currentComponent = shallowRef<Component | null>(null);
|
||||||
|
const router = useRouter();
|
||||||
const spinning = ref<boolean>(false);
|
const spinning = ref<boolean>(false);
|
||||||
|
|
||||||
/**匹配views里面所有的.vue或.tsx文件 */
|
/**匹配views里面所有的.vue或.tsx文件 */
|
||||||
@@ -48,6 +49,15 @@ onMounted(() => {
|
|||||||
useLayoutStore().changeConf('menuTheme', 'light');
|
useLayoutStore().changeConf('menuTheme', 'light');
|
||||||
useLayoutStore().changeConf('tabRender', false);
|
useLayoutStore().changeConf('tabRender', false);
|
||||||
} else {
|
} 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');
|
useLayoutStore().changeConf('layout', 'mix');
|
||||||
//获取当前系统设置的首页路径
|
//获取当前系统设置的首页路径
|
||||||
spinning.value = true;
|
spinning.value = true;
|
||||||
|
|||||||
Reference in New Issue
Block a user