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 |   49 +++++++++++++++++++++++++++++++++++++------------
 1 files changed, 37 insertions(+), 12 deletions(-)

diff --git a/src/components/menu/index.vue b/src/components/menu/index.vue
index 851f437..d565cc7 100644
--- a/src/components/menu/index.vue
+++ b/src/components/menu/index.vue
@@ -2,7 +2,7 @@
   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';
@@ -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,7 +58,8 @@
         //   });
         // }
         // Trigger router change
-       router.push({
+
+        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