From 7724b4a3b12b6394359b17e6d84831e9eebc72ba Mon Sep 17 00:00:00 2001 From: Sisyphus Date: Tue, 7 Jul 2026 12:56:11 +0800 Subject: [PATCH] =?UTF-8?q?feat(components):=20=E9=80=9A=E7=94=A8=E7=BB=84?= =?UTF-8?q?=E4=BB=B6=E8=AE=BE=E8=AE=A1=E8=A7=84=E8=8C=83=E6=95=B4=E6=94=B9?= =?UTF-8?q?=20(ListTabs/PageHeader=E7=99=BD=E5=8D=A1/SearchBar=20chip/Data?= =?UTF-8?q?Table=20var/Content=20bg)=20W17.2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/AppLayout/AppLayout.vue | 22 ++-- src/components/DataTable/DataTable.vue | 15 +-- src/components/ListTabs/ListTabs.vue | 117 ++++++++++++++++++ src/components/PageHeader/PageHeader.vue | 25 ++-- src/components/SearchBar/SearchBar.vue | 150 +++++++++++++++++++---- src/modules/user/UserListView.vue | 86 +++++++------ 6 files changed, 320 insertions(+), 95 deletions(-) create mode 100644 src/components/ListTabs/ListTabs.vue diff --git a/src/components/AppLayout/AppLayout.vue b/src/components/AppLayout/AppLayout.vue index 4e06020..56a3681 100644 --- a/src/components/AppLayout/AppLayout.vue +++ b/src/components/AppLayout/AppLayout.vue @@ -356,7 +356,7 @@ onMounted(loadBadges) .rr-layout { display: flex; height: 100vh; - background: var(--bg-soft); + background: var(--rr-page-bg, #F1F5F9); transition: background 0.3s; &.collapsed .rr-sidebar { width: 64px; } } @@ -457,7 +457,7 @@ onMounted(loadBadges) transition: all 0.12s; white-space: nowrap; - &:hover { background: var(--bg-soft); color: var(--ink); } + &:hover { background: var(--rr-page-bg, #F1F5F9); color: var(--ink); } &.active { background: var(--brand-soft); color: var(--brand); @@ -475,7 +475,7 @@ onMounted(loadBadges) font-weight: 600; padding: 1px 7px; border-radius: 10px; - background: var(--bg-soft); + background: var(--rr-page-bg, #F1F5F9); color: var(--ink-3); .rr-sidebar-item.active & { background: rgba(255,255,255,0.18); color: var(--brand); } @@ -501,7 +501,7 @@ onMounted(loadBadges) margin-bottom: 1px; white-space: nowrap; - &:hover { background: var(--bg-soft); color: var(--ink); } + &:hover { background: var(--rr-page-bg, #F1F5F9); color: var(--ink); } &.active { background: var(--brand-soft); color: var(--brand); @@ -602,7 +602,7 @@ onMounted(loadBadges) justify-content: center; cursor: pointer; color: var(--ink-2); - &:hover { background: var(--bg-soft); color: var(--brand); } + &:hover { background: var(--rr-page-bg, #F1F5F9); color: var(--brand); } } .rr-topbar-breadcrumb { font-size: 13px; } @@ -627,7 +627,7 @@ onMounted(loadBadges) padding: 4px 8px; border-radius: 16px; cursor: pointer; - &:hover { background: var(--bg-soft); } + &:hover { background: var(--rr-page-bg, #F1F5F9); } } .rr-topbar-avatar { width: 26px; @@ -652,7 +652,7 @@ onMounted(loadBadges) flex: 1; overflow: auto; padding: 24px 28px; - background: var(--bg-soft); + background: var(--rr-page-bg, #F1F5F9); } /* ===== W5.x v2 Design Language 新增样式 ===== */ @@ -662,7 +662,7 @@ onMounted(loadBadges) width: 28px; height: 28px; border-radius: 6px; - background: var(--bg-soft); + background: var(--rr-page-bg, #F1F5F9); display: flex; align-items: center; justify-content: center; @@ -691,7 +691,7 @@ img.rr-sidebar-logo { transition: all 0.2s var(--ease); } .rr-topbar-notification:hover { - background: var(--bg-soft); + background: var(--rr-page-bg, #F1F5F9); color: var(--brand); } .rr-topbar-notification-icon { @@ -733,7 +733,7 @@ img.rr-sidebar-logo { width: 28px; height: 28px; border-radius: 6px; - background: var(--bg-soft); + background: var(--rr-page-bg, #F1F5F9); display: flex; align-items: center; justify-content: center; @@ -762,7 +762,7 @@ img.rr-sidebar-logo { transition: all 0.2s var(--ease); } .rr-topbar-notification:hover { - background: var(--bg-soft); + background: var(--rr-page-bg, #F1F5F9); color: var(--brand); } .rr-topbar-notification-icon { diff --git a/src/components/DataTable/DataTable.vue b/src/components/DataTable/DataTable.vue index ceb41f3..c30da65 100644 --- a/src/components/DataTable/DataTable.vue +++ b/src/components/DataTable/DataTable.vue @@ -59,6 +59,7 @@ interface Props { page?: number limit?: number showPagination?: boolean + carded?: boolean pageSizes?: number[] rowKey?: string stripe?: boolean @@ -111,36 +112,36 @@ function onLimitChange(l: number) {