From 893f74dc3ef994876057c7c7a3937216271f5120 Mon Sep 17 00:00:00 2001
From: zouawen <846027729@qq.com>
Date: Mon, 9 Feb 2026 16:31:29 +0800
Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BC=98=E5=8C=96=E6=A8=AA=E5=90=91?=
=?UTF-8?q?=E5=B8=83=E5=B1=80=E6=97=B6=E8=8F=9C=E5=8D=95=E6=BF=80=E6=B4=BB?=
=?UTF-8?q?=E6=88=96=E8=81=9A=E7=84=A6=E6=97=B6=E8=83=8C=E6=99=AF=E8=89=B2?=
=?UTF-8?q?=EF=BC=8C=E6=A0=87=E7=AD=BE=E5=B7=A5=E5=85=B7=E6=A0=8F=E6=96=B0?=
=?UTF-8?q?=E5=A2=9E=E5=88=B7=E6=96=B0=E6=8C=89=E9=92=AE=EF=BC=8C=E5=85=B6?=
=?UTF-8?q?=E4=BB=96=E6=A0=B7=E5=BC=8F=E4=BC=98=E5=8C=96?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
packages/@core/base/icons/src/lucide.ts | 2 +
packages/@core/preferences/src/config.ts | 1 +
packages/@core/preferences/src/constants.ts | 3 --
packages/@core/preferences/src/types.ts | 2 +
.../ui-kit/menu-ui/src/components/menu.vue | 53 +++++++++++--------
.../menu-ui/src/components/sub-menu.vue | 1 +
.../src/components/tabs-chrome/tabs.vue | 2 +-
.../tabs-ui/src/components/tabs/tabs.vue | 2 +-
.../tabs-ui/src/components/widgets/index.ts | 1 +
.../src/components/widgets/tool-more.vue | 4 +-
.../src/components/widgets/tool-refresh.vue | 18 +++++++
.../@core/ui-kit/tabs-ui/src/tabs-view.vue | 6 +--
packages/effects/layouts/src/basic/layout.vue | 2 +-
.../layouts/src/basic/tabbar/tabbar.vue | 13 ++++-
.../preferences/blocks/theme/builtin.vue | 1 -
.../plugins/src/vxe-table/use-vxe-grid.vue | 6 ++-
16 files changed, 79 insertions(+), 38 deletions(-)
create mode 100644 packages/@core/ui-kit/tabs-ui/src/components/widgets/tool-refresh.vue
diff --git a/packages/@core/base/icons/src/lucide.ts b/packages/@core/base/icons/src/lucide.ts
index a167aea04..973251317 100644
--- a/packages/@core/base/icons/src/lucide.ts
+++ b/packages/@core/base/icons/src/lucide.ts
@@ -29,6 +29,7 @@ export {
FoldHorizontal,
Fullscreen,
Github,
+ Grid,
Grip,
GripVertical,
Menu as IconDefault,
@@ -36,6 +37,7 @@ export {
Info,
InspectionPanel,
Languages,
+ LayoutGrid,
LoaderCircle,
LockKeyhole,
LogOut,
diff --git a/packages/@core/preferences/src/config.ts b/packages/@core/preferences/src/config.ts
index f788e895f..43cc73fac 100644
--- a/packages/@core/preferences/src/config.ts
+++ b/packages/@core/preferences/src/config.ts
@@ -105,6 +105,7 @@ const defaultPreferences: Preferences = {
showIcon: true,
showMaximize: true,
showMore: true,
+ showRefresh: true,
styleType: 'chrome',
visitHistory: true,
wheelable: true,
diff --git a/packages/@core/preferences/src/constants.ts b/packages/@core/preferences/src/constants.ts
index 7ec2007d0..562a7afa9 100644
--- a/packages/@core/preferences/src/constants.ts
+++ b/packages/@core/preferences/src/constants.ts
@@ -38,12 +38,10 @@ const BUILT_IN_THEME_PRESETS: BuiltinThemePreset[] = [
primaryColor: 'hsl(240 5.9% 10%)',
type: 'zinc',
},
-
{
color: 'hsl(181 84% 32%)',
type: 'deep-green',
},
-
{
color: 'hsl(211 91% 39%)',
type: 'deep-blue',
@@ -56,7 +54,6 @@ const BUILT_IN_THEME_PRESETS: BuiltinThemePreset[] = [
color: 'hsl(0 75% 42%)',
type: 'rose',
},
-
{
color: 'hsl(0 0% 25%)',
darkPrimaryColor: 'hsl(0 0% 98%)',
diff --git a/packages/@core/preferences/src/types.ts b/packages/@core/preferences/src/types.ts
index e1ef0a384..6db64af2a 100644
--- a/packages/@core/preferences/src/types.ts
+++ b/packages/@core/preferences/src/types.ts
@@ -222,6 +222,8 @@ interface TabbarPreferences {
showMaximize: boolean;
/** 显示更多按钮 */
showMore: boolean;
+ /** 显示刷新按钮 */
+ showRefresh: boolean;
/** 标签页风格 */
styleType: TabsStyleType;
/** 是否开启访问历史记录 */
diff --git a/packages/@core/ui-kit/menu-ui/src/components/menu.vue b/packages/@core/ui-kit/menu-ui/src/components/menu.vue
index 644ff59e8..4d3ed6174 100644
--- a/packages/@core/ui-kit/menu-ui/src/components/menu.vue
+++ b/packages/@core/ui-kit/menu-ui/src/components/menu.vue
@@ -463,33 +463,33 @@ $namespace: vben;
&.is-dark {
--menu-background-color: hsl(var(--menu));
// --menu-submenu-opened-background-color: hsl(var(--menu-opened-dark));
- --menu-item-background-color: var(--menu-background-color);
--menu-item-color: hsl(var(--foreground) / 80%);
+ --menu-item-background-color: var(--menu-background-color);
--menu-item-hover-color: hsl(var(--accent-foreground));
--menu-item-hover-background-color: hsl(var(--accent));
--menu-item-active-color: hsl(var(--accent-foreground));
--menu-item-active-background-color: hsl(var(--accent));
- --menu-submenu-hover-color: hsl(var(--foreground));
- --menu-submenu-hover-background-color: hsl(var(--accent));
- --menu-submenu-active-color: hsl(var(--foreground));
- --menu-submenu-active-background-color: transparent;
--menu-submenu-background-color: var(--menu-background-color);
+ --menu-submenu-hover-color: hsl(var(--accent-foreground));
+ --menu-submenu-hover-background-color: hsl(var(--accent));
+ --menu-submenu-active-color: hsl(var(--accent-foreground));
+ --menu-submenu-active-background-color: transparent;
}
&.is-light {
--menu-background-color: hsl(var(--menu));
// --menu-submenu-opened-background-color: hsl(var(--menu-opened));
+ --menu-item-color: hsl(var(--accent-foreground));
--menu-item-background-color: var(--menu-background-color);
- --menu-item-color: hsl(var(--foreground));
--menu-item-hover-color: var(--menu-item-color);
--menu-item-hover-background-color: hsl(var(--accent));
--menu-item-active-color: hsl(var(--primary));
--menu-item-active-background-color: hsl(var(--primary) / 15%);
+ --menu-submenu-background-color: var(--menu-background-color);
--menu-submenu-hover-color: hsl(var(--primary));
--menu-submenu-hover-background-color: hsl(var(--accent));
--menu-submenu-active-color: hsl(var(--primary));
--menu-submenu-active-background-color: transparent;
- --menu-submenu-background-color: var(--menu-background-color);
}
&.is-rounded {
@@ -518,25 +518,33 @@ $namespace: vben;
--menu-background-color: transparent;
&.is-dark {
+ --menu-background-color: hsl(var(--menu));
+ --menu-item-color: hsl(var(--foreground) / 80%);
+ --menu-item-background-color: var(--menu-background-color);
--menu-item-hover-color: hsl(var(--accent-foreground));
--menu-item-hover-background-color: hsl(var(--accent));
--menu-item-active-color: hsl(var(--accent-foreground));
--menu-item-active-background-color: hsl(var(--accent));
- --menu-submenu-active-color: hsl(var(--foreground));
- --menu-submenu-active-background-color: hsl(var(--accent));
+ --menu-submenu-background-color: var(--menu-background-color);
--menu-submenu-hover-color: hsl(var(--accent-foreground));
--menu-submenu-hover-background-color: hsl(var(--accent));
+ --menu-submenu-active-color: hsl(var(--accent-foreground));
+ --menu-submenu-active-background-color: hsl(var(--accent));
}
&.is-light {
+ --menu-background-color: hsl(var(--menu));
+ --menu-item-color: hsl(var(--accent-foreground));
+ --menu-item-background-color: var(--menu-background-color);
+ --menu-item-hover-color: hsl(var(--menu-item-color));
+ --menu-item-hover-background-color: hsl(var(--accent));
--menu-item-active-color: hsl(var(--primary));
--menu-item-active-background-color: hsl(var(--primary) / 15%);
- --menu-item-hover-background-color: hsl(var(--accent));
- --menu-item-hover-color: hsl(var(--primary));
- --menu-submenu-active-color: hsl(var(--primary));
- --menu-submenu-active-background-color: hsl(var(--primary) / 15%);
+ --menu-submenu-background-color: var(--menu-background-color);
--menu-submenu-hover-color: hsl(var(--primary));
--menu-submenu-hover-background-color: hsl(var(--accent));
+ --menu-submenu-active-color: hsl(var(--primary));
+ --menu-submenu-active-background-color: hsl(var(--primary) / 15%);
}
}
}
@@ -862,16 +870,17 @@ $namespace: vben;
padding-right: 12px !important;
}
- // &:not(.is-active):hover {
- &:hover {
- color: var(--menu-submenu-hover-color);
- text-decoration: none;
- cursor: pointer;
- background: var(--menu-submenu-hover-background-color) !important;
+ &:not(.is-active):hover {
+ &:hover {
+ //color: var(--menu-submenu-hover-color);
+ text-decoration: none;
+ cursor: pointer;
+ background: var(--menu-submenu-hover-background-color) !important;
- // svg {
- // fill: var(--menu-submenu-hover-color);
- // }
+ // svg {
+ // fill: var(--menu-submenu-hover-color);
+ // }
+ }
}
}
diff --git a/packages/@core/ui-kit/menu-ui/src/components/sub-menu.vue b/packages/@core/ui-kit/menu-ui/src/components/sub-menu.vue
index 6dfeb77f0..5c8c8a860 100644
--- a/packages/@core/ui-kit/menu-ui/src/components/sub-menu.vue
+++ b/packages/@core/ui-kit/menu-ui/src/components/sub-menu.vue
@@ -210,6 +210,7 @@ onBeforeUnmount(() => {
opened ? '' : 'hidden',
'overflow-auto',
'max-h-[calc(var(--reka-hover-card-content-available-height)-20px)]',
+ mode === 'horizontal' ? 'is-horizontal' : '',
]"
:content-props="contentProps"
:open="true"
diff --git a/packages/@core/ui-kit/tabs-ui/src/components/tabs-chrome/tabs.vue b/packages/@core/ui-kit/tabs-ui/src/components/tabs-chrome/tabs.vue
index 941ecfe26..dfb4a5e15 100644
--- a/packages/@core/ui-kit/tabs-ui/src/components/tabs-chrome/tabs.vue
+++ b/packages/@core/ui-kit/tabs-ui/src/components/tabs-chrome/tabs.vue
@@ -158,7 +158,7 @@ function onMouseDown(e: MouseEvent, tab: TabConfig) {