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 |   61 ++++++++++++++++++++++++------
 1 files changed, 48 insertions(+), 13 deletions(-)

diff --git a/src/components/menu/index.vue b/src/components/menu/index.vue
index 0702897..d565cc7 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}
@@ -146,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