From 8a2ba4e2bf56dd7371795e953806aa7f30f4d734 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=81=8C=E7=B3=96=E5=8C=85=E5=AD=90?= Date: Thu, 19 Mar 2026 23:24:30 +0800 Subject: [PATCH] =?UTF-8?q?=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 --- src/static/common.less | 178 ++++++++++++++++++++++++++++++----- src/views/system/Article.vue | 2 + 2 files changed, 155 insertions(+), 25 deletions(-) diff --git a/src/static/common.less b/src/static/common.less index 62ecf82..d7b5a6a 100644 --- a/src/static/common.less +++ b/src/static/common.less @@ -1,15 +1,23 @@ -html,body,#app,.layout { +html, body, #app, .layout { margin: 0; padding: 0; height: 100%; } -.layout-header{ + +/* ===== 顶部导航栏 ===== */ +.layout-header { color: #fff; - background-color: #515a6e; + background: linear-gradient(90deg, #1d2b45 0%, #2c3e60 100%); + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25); + display: flex; + align-items: center; position: relative; + div.main-title { display: inline-block; - font-size: 22px; + font-size: 20px; + font-weight: var(--el-font-weight-primary); + letter-spacing: 1px; line-height: 60px; } .nav-btns-right { @@ -20,45 +28,165 @@ html,body,#app,.layout { transform: translateY(-50%); } } + +/* ===== 侧边栏 ===== */ +.el-aside { + background: var(--el-fill-color-light); + border-right: 1px solid var(--el-border-color-light); + + .el-menu { + border-right: none; + background: transparent; + } + .el-menu-item { + border-radius: var(--el-border-radius-base); + margin: 2px 8px; + width: calc(100% - 16px); + + &.is-active { + background-color: var(--el-color-primary-light-9); + color: var(--el-color-primary); + font-weight: var(--el-font-weight-primary); + } + &:hover { + background-color: var(--el-fill-color); + } + } + .el-sub-menu__title:hover { + background-color: var(--el-fill-color); + } +} + +/* ===== 主内容区 ===== */ .layout-main { - padding: 10px !important; + padding: 0 !important; display: flex !important; flex-direction: column; - > .layout-tabs{ - margin: 15px 15px 0 15px; + background: var(--el-fill-color); + + > .layout-tabs { + margin: 12px 16px 0; } - > .layout-content{ - margin: 0 15px 15px 15px; + > .layout-content { + margin: 12px 16px; overflow: auto; - background: #fff; - border: 1px solid #e1e1e1; - padding: 10px; + background: var(--el-bg-color); + border-radius: 10px; + border: 1px solid var(--el-border-color-lighter); + padding: 20px; flex-grow: 1; flex-basis: 0; + box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04); } - > .layout-copy{ + > .layout-copy { text-align: center; - padding: 10px 0; - color: #9ea7b4; + padding: 8px 0 12px; + color: var(--el-text-color-placeholder); + font-size: var(--el-font-size-extra-small); } } + +/* ===== 表格美化 ===== */ .table-container { position: relative; -} -.btn-container { - margin-bottom: 10px; - .search-btn { - float: right; + + .el-table { + border-radius: var(--el-border-radius-base); + overflow: hidden; + border: 1px solid var(--el-border-color-lighter); + + &::before { + display: none; + } + th.el-table__cell { + background: var(--el-fill-color-light); + color: var(--el-text-color-regular); + font-weight: var(--el-font-weight-primary); + font-size: var(--el-font-size-small); + border-bottom: 1px solid var(--el-border-color-lighter); + } + td.el-table__cell { + border-bottom: 1px solid var(--el-fill-color); + color: var(--el-text-color-primary); + font-size: var(--el-font-size-small); + } + .el-table__row:hover > td { + background: var(--el-color-primary-light-9) !important; + } + .el-table__row--striped > td { + background: var(--el-fill-color-lighter); + } + .el-button.is-link { + font-size: 16px; + padding: 4px 6px; + } } } -.page-container { - padding: 10px; - text-align: center; + +/* ===== 操作栏 ===== */ +.btn-container { + margin-bottom: 14px; + display: flex; + align-items: center; + + .search-btn { + margin-left: auto; + display: flex; + gap: 8px; + } } + +/* ===== 分页 ===== */ +.page-container { + padding: 16px 0 4px; + display: flex; + justify-content: center; +} + +/* ===== 表单弹窗 ===== */ +.el-dialog { + border-radius: 12px; + overflow: hidden; + + .el-dialog__header { + background: var(--el-fill-color-light); + border-bottom: 1px solid var(--el-border-color-lighter); + padding: 16px 20px; + margin: 0; + + .el-dialog__title { + font-size: var(--el-font-size-base); + font-weight: var(--el-font-weight-primary); + color: var(--el-text-color-primary); + } + } + .el-dialog__body { + padding: 24px 24px 8px; + } + .el-dialog__footer { + border-top: 1px solid var(--el-border-color-lighter); + padding: 12px 20px; + background: var(--el-fill-color-lighter); + } +} + +/* ===== 搜索表单 ===== */ +.el-form--inline { + margin-bottom: 14px; + + .el-form-item { + margin-bottom: 0; + } +} +.search-panel { + margin-bottom: 14px; +} + +/* ===== 其他工具类 ===== */ .carsouel-img { position: relative; - left: 50%;transform: - translateX(-50%); + left: 50%; + transform: translateX(-50%); height: 500px; width: auto; } diff --git a/src/views/system/Article.vue b/src/views/system/Article.vue index c2e5a08..e1ad0fd 100644 --- a/src/views/system/Article.vue +++ b/src/views/system/Article.vue @@ -57,6 +57,7 @@ +
@@ -100,6 +101,7 @@ @current-change="pageChange">
+