From 3ffa64648831ceade32fba83047d0e99ff92c990 Mon Sep 17 00:00:00 2001 From: 张涛 <“2538313560@qq.com”> Date: 星期一, 18 十一月 2024 14:06:00 +0800 Subject: [PATCH] fix:改动 --- src/components/menu/index.vue | 45 +++++++++++++++++++++++++++++++++++---------- 1 files changed, 35 insertions(+), 10 deletions(-) diff --git a/src/components/menu/index.vue b/src/components/menu/index.vue index a6ef80d..d565cc7 100644 --- a/src/components/menu/index.vue +++ b/src/components/menu/index.vue @@ -28,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]; @@ -38,10 +40,12 @@ } // 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){ @@ -54,6 +58,7 @@ // }); // } // Trigger router change + router.push({ name: item.name, }); @@ -81,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 ); @@ -93,6 +99,7 @@ activeMenu || menuOpenKeys[menuOpenKeys.length - 1], ]; } + console.log(selectedKey.value, 48877); }, true); const setCollapse = (val: boolean) => { if (appStore.device === 'desktop') @@ -121,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)} > @@ -136,6 +149,12 @@ }; // 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'} @@ -144,6 +163,7 @@ show-collapse-button={appStore.device !== 'mobile'} auto-open={false} auto-open-selected={true} + selected-keys={selectedKey.value} level-indent={34} style="height: 100%;width:100%;" onCollapse={setCollapse} @@ -156,15 +176,20 @@ </script> <style lang="less" scoped> - :deep(.arco-menu-inner) { - .arco-menu-inline-header { - display: flex; - align-items: center; - } - .arco-icon { - &:not(.arco-icon-down) { - font-size: 18px; - } +:deep(.arco-menu-inner) { + .arco-menu-inline-header { + display: flex; + align-items: center; + } + + .arco-icon { + &:not(.arco-icon-down) { + font-size: 18px; } } +} + +.session-manager { + display: none; +} </style> -- Gitblit v1.8.0