Skip to content
Toggle navigation
Toggle navigation
This project
Loading...
Sign in
csbr-daop
/
fe-data-trusted-space
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Issue Boards
Files
Commits
Network
Compare
Branches
Tags
44832634
authored
2025-04-07 10:22:34 +0800
by
lihua
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
fix报表
1 parent
2967e2d7
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
40 additions
and
14 deletions
src/layouts/components/SubSidebar/index.vue
src/layouts/components/Tabbar/index.vue
src/store/modules/menu.ts
src/layouts/components/SubSidebar/index.vue
View file @
4483263
...
...
@@ -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=
"
{
'sidebar-logo-bg': settingsStore.settings.menu.menuMode === 'single',
'shadow': sidebarScrollTop,
}"
/>
<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
;
...
...
src/layouts/components/Tabbar/index.vue
View file @
4483263
...
...
@@ -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
);
};
...
...
src/store/modules/menu.ts
View file @
4483263
...
...
@@ -63,7 +63,11 @@ const useMenuStore = defineStore(
retnPath
=
getDeepestPath
(
item
,
resolveRoutePath
(
rootPath
,
menu
.
path
))
}
else
{
retnPath
=
getDeepestPath
(
menu
.
children
[
0
],
resolveRoutePath
(
rootPath
,
menu
.
path
))
if
(
!
menu
.
children
[
0
])
{
retnPath
=
menu
.
path
;
}
else
{
retnPath
=
getDeepestPath
(
menu
.
children
[
0
],
resolveRoutePath
(
rootPath
,
menu
.
path
))
}
}
}
else
{
...
...
@@ -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
;
}
...
...
Write
Preview
Styling with
Markdown
is supported
Attach a file
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to post a comment