ahjung %!s(int64=2) %!d(string=hai) anos
pai
achega
9eb4ff9cf9

+ 16 - 3
src/layout/components/Sider/Sider.vue

@@ -1,7 +1,7 @@
 <template>
   <el-menu
     :default-openeds="openKeys"
-    :default-active="selectedKeys"
+    :default-active="getSelectedKeys"
     :theme="getTheme"
     :collapse="getCollapsed"
     :collapse-transition="false"
@@ -12,7 +12,7 @@
     @open="subMenuItemClick"
   >
     <template v-for="item in menus" :key="item.key">
-      <el-menu-item v-if="!item.children" :index="item.key">
+      <el-menu-item v-if="!item.children" :key="getMenuKey(item.key)" :index="item.key">
         <template #title>
           <el-icon v-if="item.icon"><component :is="item.icon" /></el-icon>
           <span>{{ item.title }}</span>
@@ -36,7 +36,9 @@
 
   const collapsed = inject('collapsed');
 
-  const { getMenuSetting, getNavTheme } = useProjectSetting();
+  const { getMenuSetting, getNavMode, getNavTheme } = useProjectSetting();
+
+  const navMode = getNavMode;
 
   defineEmits(['update:collapsed']);
 
@@ -82,6 +84,13 @@
     return getMenuSetting.value.uniqueOpened;
   });
 
+  const getSelectedKeys = computed(() => {
+    let location = props.location;
+    return location === 'left' || (location === 'header' && unref(navMode) === 'horizontal')
+      ? unref(selectedKeys)
+      : unref(headerMenuSelectKey);
+  });
+
   // 监听分割菜单
   watch(
     () => settingStore.menuSetting.mixMenu,
@@ -102,6 +111,10 @@
     },
   );
 
+  function getMenuKey(key) {
+    return `${props.location}_${key}`;
+  }
+
   function updateMenu() {
     if (!settingStore.menuSetting.mixMenu) {
       menus.value = generatorMenu(asyncRouteStore.getMenus);

+ 2 - 2
src/styles/theme/light.scss

@@ -52,9 +52,9 @@
   .admin-layout {
     .admin-layout-header {
       .layout-header {
-        .el-menu--horizontal .el-menu-item:not(.is-disabled):hover {
+        .el-menu--horizontal .el-menu-item:not(.is-disabled):hover,.el-menu--horizontal .el-menu-item:not(.is-disabled):focus {
           background: none;
-          color: var(--el-menu-active-color);
+          color: var(--el-menu-active-color) !important;
         }
       }
     }

+ 4 - 4
src/views/setting/account/SafetySetting.vue

@@ -7,7 +7,7 @@
           <div class="description">
             <el-space>
               <span class="text-gray-400">绑定手机和邮箱,并设置密码,帐号更安全</span>
-              <el-button type="text" class="ml-4">修改</el-button>
+              <el-link type="primary" class="ml-4">修改</el-link>
             </el-space>
           </div>
         </li>
@@ -16,7 +16,7 @@
           <div class="description">
             <el-space>
               <span class="text-gray-400">已绑定手机号:+86189****4877</span>
-              <el-button type="text" class="ml-4">修改</el-button>
+              <el-link type="primary" class="ml-4">修改</el-link>
             </el-space>
           </div>
         </li>
@@ -25,7 +25,7 @@
           <div class="description">
             <el-space>
               <span class="text-gray-400">未设置密保问题,密保问题可有效保护账户安全</span>
-              <el-button type="text" class="ml-4">设置</el-button>
+              <el-link type="primary" class="ml-4">设置</el-link>
             </el-space>
           </div>
         </li>
@@ -34,7 +34,7 @@
           <div class="description">
             <el-space>
               <span class="text-gray-400">已绑定域名:https://www.naiveui.com</span>
-              <el-button type="text" class="ml-4">修改</el-button>
+              <el-link type="primary" class="ml-4">修改</el-link>
             </el-space>
           </div>
         </li>