44832634 by lihua

fix报表

1 parent 2967e2d7
......@@ -19,8 +19,18 @@ function onSidebarScroll(e: Event) {
const defaultMenuActive = computed(() => {
let path = route.meta.activeMenu || route.path;
let sideMenus = menuStore.sidebarMenus;
let isSide = sideMenus.some(s => s.path === path || s.children?.some(c => path === `${s.path}/${c.path}`));
let isSide = sideMenus.some(s => s.path === path || s.children?.some(c => path === `${s.path}/${c.path}`) || (path.includes('/data-meta/report') && s.path?.includes('/data-meta/report')));
if (isSide) {
if (path.includes('/data-meta/report')) {
let index = route.fullPath.indexOf("?");
if (index > -1) {
let params = route.fullPath.substring(index + 1);
let searchParams: any = new URLSearchParams(params);
return `${path}?title=${searchParams.get('title')}&url=${encodeURIComponent(searchParams.get('url'))}`
} else {
return route.fullPath;
}
}
return path;
}
let matched = route.matched;
......@@ -38,22 +48,26 @@ const defaultMenuActive = computed(() => {
</script>
<template>
<div v-if="['side', 'head', 'single'].includes(settingsStore.settings.menu.menuMode) || settingsStore.mode === 'mobile'" class="sub-sidebar-container" :class="{ 'is-collapse': settingsStore.mode === 'pc' && (settingsStore.settings.menu.subMenuCollapse || defaultMenuActive =='/data-asset-index') }" @scroll="onSidebarScroll">
<Logo
:show-logo="settingsStore.settings.menu.menuMode === 'single'" class="sidebar-logo" :class="{
<div
v-if="['side', 'head', 'single'].includes(settingsStore.settings.menu.menuMode) || settingsStore.mode === 'mobile'"
class="sub-sidebar-container"
:class="{ 'is-collapse': settingsStore.mode === 'pc' && (settingsStore.settings.menu.subMenuCollapse || defaultMenuActive == '/data-asset-index') }"
@scroll="onSidebarScroll">
<Logo :show-logo="settingsStore.settings.menu.menuMode === 'single'" class="sidebar-logo" :class="{
'sidebar-logo-bg': settingsStore.settings.menu.menuMode === 'single',
'shadow': sidebarScrollTop,
}"
/>
}" />
<!-- 侧边栏模式(无主导航) -->
<el-menu
:unique-opened="settingsStore.settings.menu.subMenuUniqueOpened" :default-openeds="menuStore.defaultOpenedPaths" :default-active="defaultMenuActive" :collapse="settingsStore.mode === 'pc' && (settingsStore.settings.menu.subMenuCollapse || defaultMenuActive =='/data-asset-index')" :collapse-transition="false" :class="{
<el-menu :unique-opened="settingsStore.settings.menu.subMenuUniqueOpened"
:default-openeds="menuStore.defaultOpenedPaths" :default-active="defaultMenuActive"
:collapse="settingsStore.mode === 'pc' && (settingsStore.settings.menu.subMenuCollapse || defaultMenuActive == '/data-asset-index')"
:collapse-transition="false" :class="{
'is-collapse-without-logo': settingsStore.settings.menu.menuMode !== 'single' && settingsStore.settings.menu.subMenuCollapse,
}"
>
}">
<transition-group name="sub-sidebar">
<template v-for="(route, index) in menuStore.sidebarMenus">
<SidebarItem v-if="route.meta?.sidebar !== false" :key="route.path || index" :item="route" :base-path="route.path" />
<SidebarItem v-if="route.meta?.sidebar !== false" :key="route.path || index" :item="route"
:base-path="route.path" />
</template>
</transition-group>
</el-menu>
......@@ -140,6 +154,7 @@ const defaultMenuActive = computed(() => {
:deep(.el-menu-item),
:deep(.el-sub-menu__title) {
span,
.el-sub-menu__icon-arrow {
display: none;
......
......@@ -66,6 +66,10 @@ const changeTab = (pane: any, ev: any) => {
query: paneData.query
});
}
// router.push({
// name: paneData.name,
// query: paneData.query
// });
const combPath = paneData.fullPath.split('/')[1] || 'app-scenes'
userStore.setActiveTabbar(combPath, paneData.fullPath);
};
......
......@@ -63,9 +63,13 @@ const useMenuStore = defineStore(
retnPath = getDeepestPath(item, resolveRoutePath(rootPath, menu.path))
}
else {
if (!menu.children[0]) {
retnPath = menu.path;
} else {
retnPath = getDeepestPath(menu.children[0], resolveRoutePath(rootPath, menu.path))
}
}
}
else {
retnPath = resolveRoutePath(rootPath, menu.path)
}
......@@ -170,6 +174,9 @@ const useMenuStore = defineStore(
else {
// 如果是 string 类型,则认为是路由,需要查找对应的主导航索引
const findIndex = allMenus.value.findIndex(item => item.children.some(r => {
if (data== "/data-meta/report/budgetDataIndex" && r.path?.includes('/data-meta/report')) {
return true;
}
if (data.indexOf(`${r.path}/`) === 0 || data === r.path) {
return true;
}
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!