From 573707bd905b0b4df1a9ba0f0de554f7c079b41d Mon Sep 17 00:00:00 2001
From: zhangxiao <898441624@qq.com>
Date: 星期二, 27 八月 2024 10:50:28 +0800
Subject: [PATCH] fix: 修改自适应问题
---
src/components/menu/index.vue | 41 +++++++++++++++++++++++++++++++++++++----
1 files changed, 37 insertions(+), 4 deletions(-)
diff --git a/src/components/menu/index.vue b/src/components/menu/index.vue
index 0702897..1987bb5 100644
--- a/src/components/menu/index.vue
+++ b/src/components/menu/index.vue
@@ -2,12 +2,11 @@
import { defineComponent, ref, h, compile, computed } from 'vue';
import { useI18n } from 'vue-i18n';
import { useRoute, useRouter, RouteRecordRaw } from 'vue-router';
- import type { RouteMeta } from 'vue-router';
+ import type, { RouteMeta } from 'vue-router';
import { useAppStore } from '@/store';
import { listenerRouteChange } from '@/utils/route-listener';
import { openWindow, regexUrl } from '@/utils';
import useMenuTree from './use-menu-tree';
-
export default defineComponent({
emit: ['collapse'],
setup() {
@@ -29,9 +28,11 @@
const topMenu = computed(() => appStore.topMenu);
const openKeys = ref<string[]>([]);
const selectedKey = ref<string[]>([]);
+ const flog = ref(false);
const goto = (item: RouteRecordRaw) => {
// Open external link
+
if (regexUrl.test(item.path)) {
openWindow(item.path);
selectedKey.value = [item.name as string];
@@ -39,11 +40,25 @@
}
// Eliminate external link side effects
const { hideInMenu, activeMenu } = item.meta as RouteMeta;
+
if (route.name === item.name && !hideInMenu && !activeMenu) {
selectedKey.value = [item.name as string];
return;
}
+
+ // const firstMenuNameArr=['model','knowledge','session','sessionRecords'];
+ // const suffix='Manager';
+ // if(firstMenuNameArr.indexOf(item.name)!=-1){
+ // router.push({
+ // name: `${item.name}${suffix}`,
+ // });
+ // } else{
+ // router.push({
+ // name: item.name,
+ // });
+ // }
// Trigger router change
+
router.push({
name: item.name,
});
@@ -71,7 +86,8 @@
};
listenerRouteChange((newRoute) => {
const { requiresAuth, activeMenu, hideInMenu } = newRoute.meta;
- if (requiresAuth && (!hideInMenu || activeMenu)) {
+ // if (requiresAuth && (!hideInMenu || activeMenu)) {//闄ゅ幓杩欎袱涓垽鏂悗锛屽彲浠ユ甯稿睍寮�鑿滃崟
+ if (requiresAuth) {
const menuOpenKeys = findMenuOpenKeys(
(activeMenu || newRoute.name) as string
);
@@ -83,6 +99,7 @@
activeMenu || menuOpenKeys[menuOpenKeys.length - 1],
];
}
+ console.log(selectedKey.value, 48877);
}, true);
const setCollapse = (val: boolean) => {
if (appStore.device === 'desktop')
@@ -111,6 +128,12 @@
) : (
<a-menu-item
key={element?.name}
+ class={
+ menuTree.value.length == 1 &&
+ menuTree.value[0].name == 'sessionManager'
+ ? 'session-manager'
+ : ''
+ }
v-slots={{ icon }}
onClick={() => goto(element)}
>
@@ -125,6 +148,13 @@
return travel(menuTree.value);
};
+ // selected-keys={selectedKey.value}
+ // v-if={
+ // menuTree.value.length == 1 &&
+ // menuTree.value[0].name != 'sessionManager'
+ // }
+ console.log(menuTree.value, 68877);
+
return () => (
<a-menu
mode={topMenu.value ? 'horizontal' : 'vertical'}
@@ -132,8 +162,8 @@
v-model:open-keys={openKeys.value}
show-collapse-button={appStore.device !== 'mobile'}
auto-open={false}
- selected-keys={selectedKey.value}
auto-open-selected={true}
+ selected-keys={selectedKey.value}
level-indent={34}
style="height: 100%;width:100%;"
onCollapse={setCollapse}
@@ -157,4 +187,7 @@
}
}
}
+ .session-manager {
+ display: none;
+ }
</style>
--
Gitblit v1.8.0