From fa482274a588e97784c10099e45d030664aa4ceb Mon Sep 17 00:00:00 2001 From: zhangxiao <898441624@qq.com> Date: 星期四, 26 九月 2024 10:42:02 +0800 Subject: [PATCH] 登录界面添加新用户注册功能 --- 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