fix报表
Showing
3 changed files
with
37 additions
and
11 deletions
| ... | @@ -19,8 +19,18 @@ function onSidebarScroll(e: Event) { | ... | @@ -19,8 +19,18 @@ function onSidebarScroll(e: Event) { |
| 19 | const defaultMenuActive = computed(() => { | 19 | const defaultMenuActive = computed(() => { |
| 20 | let path = route.meta.activeMenu || route.path; | 20 | let path = route.meta.activeMenu || route.path; |
| 21 | let sideMenus = menuStore.sidebarMenus; | 21 | let sideMenus = menuStore.sidebarMenus; |
| 22 | let isSide = sideMenus.some(s => s.path === path || s.children?.some(c => path === `${s.path}/${c.path}`)); | 22 | 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'))); |
| 23 | if (isSide) { | 23 | if (isSide) { |
| 24 | if (path.includes('/data-meta/report')) { | ||
| 25 | let index = route.fullPath.indexOf("?"); | ||
| 26 | if (index > -1) { | ||
| 27 | let params = route.fullPath.substring(index + 1); | ||
| 28 | let searchParams: any = new URLSearchParams(params); | ||
| 29 | return `${path}?title=${searchParams.get('title')}&url=${encodeURIComponent(searchParams.get('url'))}` | ||
| 30 | } else { | ||
| 31 | return route.fullPath; | ||
| 32 | } | ||
| 33 | } | ||
| 24 | return path; | 34 | return path; |
| 25 | } | 35 | } |
| 26 | let matched = route.matched; | 36 | let matched = route.matched; |
| ... | @@ -38,22 +48,26 @@ const defaultMenuActive = computed(() => { | ... | @@ -38,22 +48,26 @@ const defaultMenuActive = computed(() => { |
| 38 | </script> | 48 | </script> |
| 39 | 49 | ||
| 40 | <template> | 50 | <template> |
| 41 | <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"> | 51 | <div |
| 42 | <Logo | 52 | v-if="['side', 'head', 'single'].includes(settingsStore.settings.menu.menuMode) || settingsStore.mode === 'mobile'" |
| 43 | :show-logo="settingsStore.settings.menu.menuMode === 'single'" class="sidebar-logo" :class="{ | 53 | class="sub-sidebar-container" |
| 54 | :class="{ 'is-collapse': settingsStore.mode === 'pc' && (settingsStore.settings.menu.subMenuCollapse || defaultMenuActive == '/data-asset-index') }" | ||
| 55 | @scroll="onSidebarScroll"> | ||
| 56 | <Logo :show-logo="settingsStore.settings.menu.menuMode === 'single'" class="sidebar-logo" :class="{ | ||
| 44 | 'sidebar-logo-bg': settingsStore.settings.menu.menuMode === 'single', | 57 | 'sidebar-logo-bg': settingsStore.settings.menu.menuMode === 'single', |
| 45 | 'shadow': sidebarScrollTop, | 58 | 'shadow': sidebarScrollTop, |
| 46 | }" | 59 | }" /> |
| 47 | /> | ||
| 48 | <!-- 侧边栏模式(无主导航) --> | 60 | <!-- 侧边栏模式(无主导航) --> |
| 49 | <el-menu | 61 | <el-menu :unique-opened="settingsStore.settings.menu.subMenuUniqueOpened" |
| 50 | :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="{ | 62 | :default-openeds="menuStore.defaultOpenedPaths" :default-active="defaultMenuActive" |
| 63 | :collapse="settingsStore.mode === 'pc' && (settingsStore.settings.menu.subMenuCollapse || defaultMenuActive == '/data-asset-index')" | ||
| 64 | :collapse-transition="false" :class="{ | ||
| 51 | 'is-collapse-without-logo': settingsStore.settings.menu.menuMode !== 'single' && settingsStore.settings.menu.subMenuCollapse, | 65 | 'is-collapse-without-logo': settingsStore.settings.menu.menuMode !== 'single' && settingsStore.settings.menu.subMenuCollapse, |
| 52 | }" | 66 | }"> |
| 53 | > | ||
| 54 | <transition-group name="sub-sidebar"> | 67 | <transition-group name="sub-sidebar"> |
| 55 | <template v-for="(route, index) in menuStore.sidebarMenus"> | 68 | <template v-for="(route, index) in menuStore.sidebarMenus"> |
| 56 | <SidebarItem v-if="route.meta?.sidebar !== false" :key="route.path || index" :item="route" :base-path="route.path" /> | 69 | <SidebarItem v-if="route.meta?.sidebar !== false" :key="route.path || index" :item="route" |
| 70 | :base-path="route.path" /> | ||
| 57 | </template> | 71 | </template> |
| 58 | </transition-group> | 72 | </transition-group> |
| 59 | </el-menu> | 73 | </el-menu> |
| ... | @@ -140,6 +154,7 @@ const defaultMenuActive = computed(() => { | ... | @@ -140,6 +154,7 @@ const defaultMenuActive = computed(() => { |
| 140 | 154 | ||
| 141 | :deep(.el-menu-item), | 155 | :deep(.el-menu-item), |
| 142 | :deep(.el-sub-menu__title) { | 156 | :deep(.el-sub-menu__title) { |
| 157 | |||
| 143 | span, | 158 | span, |
| 144 | .el-sub-menu__icon-arrow { | 159 | .el-sub-menu__icon-arrow { |
| 145 | display: none; | 160 | display: none; | ... | ... |
| ... | @@ -66,6 +66,10 @@ const changeTab = (pane: any, ev: any) => { | ... | @@ -66,6 +66,10 @@ const changeTab = (pane: any, ev: any) => { |
| 66 | query: paneData.query | 66 | query: paneData.query |
| 67 | }); | 67 | }); |
| 68 | } | 68 | } |
| 69 | // router.push({ | ||
| 70 | // name: paneData.name, | ||
| 71 | // query: paneData.query | ||
| 72 | // }); | ||
| 69 | const combPath = paneData.fullPath.split('/')[1] || 'app-scenes' | 73 | const combPath = paneData.fullPath.split('/')[1] || 'app-scenes' |
| 70 | userStore.setActiveTabbar(combPath, paneData.fullPath); | 74 | userStore.setActiveTabbar(combPath, paneData.fullPath); |
| 71 | }; | 75 | }; | ... | ... |
| ... | @@ -63,9 +63,13 @@ const useMenuStore = defineStore( | ... | @@ -63,9 +63,13 @@ const useMenuStore = defineStore( |
| 63 | retnPath = getDeepestPath(item, resolveRoutePath(rootPath, menu.path)) | 63 | retnPath = getDeepestPath(item, resolveRoutePath(rootPath, menu.path)) |
| 64 | } | 64 | } |
| 65 | else { | 65 | else { |
| 66 | if (!menu.children[0]) { | ||
| 67 | retnPath = menu.path; | ||
| 68 | } else { | ||
| 66 | retnPath = getDeepestPath(menu.children[0], resolveRoutePath(rootPath, menu.path)) | 69 | retnPath = getDeepestPath(menu.children[0], resolveRoutePath(rootPath, menu.path)) |
| 67 | } | 70 | } |
| 68 | } | 71 | } |
| 72 | } | ||
| 69 | else { | 73 | else { |
| 70 | retnPath = resolveRoutePath(rootPath, menu.path) | 74 | retnPath = resolveRoutePath(rootPath, menu.path) |
| 71 | } | 75 | } |
| ... | @@ -170,6 +174,9 @@ const useMenuStore = defineStore( | ... | @@ -170,6 +174,9 @@ const useMenuStore = defineStore( |
| 170 | else { | 174 | else { |
| 171 | // 如果是 string 类型,则认为是路由,需要查找对应的主导航索引 | 175 | // 如果是 string 类型,则认为是路由,需要查找对应的主导航索引 |
| 172 | const findIndex = allMenus.value.findIndex(item => item.children.some(r => { | 176 | const findIndex = allMenus.value.findIndex(item => item.children.some(r => { |
| 177 | if (data== "/data-meta/report/budgetDataIndex" && r.path?.includes('/data-meta/report')) { | ||
| 178 | return true; | ||
| 179 | } | ||
| 173 | if (data.indexOf(`${r.path}/`) === 0 || data === r.path) { | 180 | if (data.indexOf(`${r.path}/`) === 0 || data === r.path) { |
| 174 | return true; | 181 | return true; |
| 175 | } | 182 | } | ... | ... |
-
Please register or sign in to post a comment