From a4ca216c5b215f323b3c439b2f445dad72bbfce1 Mon Sep 17 00:00:00 2001
From: zhangxiao <898441624@qq.com>
Date: 星期一, 26 八月 2024 16:44:31 +0800
Subject: [PATCH] fix: 修改bug

---
 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