style: 全局 UI 主题皮肤重构与样式模块化
引入 Element Plus 主题定制和主题皮肤 composable,将全局 样式拆分为组件级独立 CSS 文件(侧边栏、顶栏、工作台等), 统一色彩变量和间距规范,重构所有视图和组件样式以适配新 主题系统,优化图表和知识图谱组件视觉表现,提取审计和差 旅报销相关子组件。
This commit is contained in:
@@ -70,7 +70,7 @@
|
||||
|
||||
.console-tabs button:hover,
|
||||
.console-tabs button.active {
|
||||
color: #0f766e;
|
||||
color: var(--theme-primary-active);
|
||||
}
|
||||
|
||||
.console-tabs button.active::after {
|
||||
@@ -81,7 +81,7 @@
|
||||
bottom: -11px;
|
||||
height: 2px;
|
||||
border-radius: 999px;
|
||||
background: #10b981;
|
||||
background: var(--theme-primary);
|
||||
}
|
||||
|
||||
.console-toolbar {
|
||||
@@ -102,7 +102,6 @@
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.filter-field select,
|
||||
.field-input {
|
||||
min-height: 38px;
|
||||
border: 1px solid #d8e1eb;
|
||||
@@ -110,12 +109,6 @@
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
.filter-field select {
|
||||
padding: 0 12px;
|
||||
color: #0f172a;
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
.field-input {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
@@ -148,7 +141,7 @@
|
||||
}
|
||||
|
||||
.toolbar-btn.primary {
|
||||
background: linear-gradient(135deg, #0f9f8d, #10b981);
|
||||
background: var(--theme-gradient-primary);
|
||||
border-color: transparent;
|
||||
color: #fff;
|
||||
}
|
||||
@@ -247,12 +240,12 @@
|
||||
}
|
||||
|
||||
.log-table tbody tr:hover {
|
||||
background: rgba(16, 185, 129, 0.04);
|
||||
background: rgba(var(--theme-primary-rgb), 0.04);
|
||||
}
|
||||
|
||||
.log-table tbody tr.active {
|
||||
background: rgba(16, 185, 129, 0.08);
|
||||
box-shadow: inset 3px 0 0 #10b981;
|
||||
background: rgba(var(--theme-primary-rgb), 0.08);
|
||||
box-shadow: inset 3px 0 0 var(--theme-primary);
|
||||
}
|
||||
|
||||
.log-table tbody td {
|
||||
@@ -363,14 +356,14 @@
|
||||
|
||||
.pager button:hover:not(.active):not(:disabled) {
|
||||
background: #fff;
|
||||
color: #059669;
|
||||
color: var(--theme-primary-active);
|
||||
box-shadow: 0 1px 4px rgba(15, 23, 42, 0.08);
|
||||
}
|
||||
|
||||
.pager button.active {
|
||||
background: #059669;
|
||||
background: var(--theme-primary);
|
||||
color: #fff;
|
||||
box-shadow: 0 8px 16px rgba(5, 150, 105, 0.2);
|
||||
box-shadow: 0 8px 16px var(--theme-primary-shadow);
|
||||
}
|
||||
|
||||
.page-nav:disabled {
|
||||
@@ -378,63 +371,11 @@
|
||||
opacity: 0.45;
|
||||
}
|
||||
|
||||
.page-size-wrap {
|
||||
position: relative;
|
||||
.page-size-select {
|
||||
width: 112px;
|
||||
justify-self: end;
|
||||
}
|
||||
|
||||
.page-size {
|
||||
min-width: 112px;
|
||||
min-height: 38px;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
gap: 9px;
|
||||
padding: 0 14px;
|
||||
border: 1px solid #d7e0ea;
|
||||
border-radius: 10px;
|
||||
background: #fff;
|
||||
color: #334155;
|
||||
font-size: 14px;
|
||||
font-weight: 750;
|
||||
box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
|
||||
}
|
||||
|
||||
.page-size-dropdown {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
bottom: calc(100% + 6px);
|
||||
z-index: 40;
|
||||
display: grid;
|
||||
overflow: hidden;
|
||||
border: 1px solid #d7e0ea;
|
||||
border-radius: 10px;
|
||||
background: #fff;
|
||||
box-shadow: 0 12px 32px rgba(15, 23, 42, 0.14);
|
||||
}
|
||||
|
||||
.page-size-dropdown button {
|
||||
height: 36px;
|
||||
padding: 0 20px;
|
||||
border: 0;
|
||||
border-radius: 0;
|
||||
background: transparent;
|
||||
color: #334155;
|
||||
font-size: 13px;
|
||||
font-weight: 750;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.page-size-dropdown button:hover {
|
||||
background: #f0fdf4;
|
||||
color: #059669;
|
||||
}
|
||||
|
||||
.page-size-dropdown button.active {
|
||||
background: #059669;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.analytics-row {
|
||||
display: grid;
|
||||
grid-template-columns: minmax(0, 1fr) minmax(260px, 0.48fr);
|
||||
@@ -473,8 +414,8 @@
|
||||
align-items: center;
|
||||
padding: 0 9px;
|
||||
border-radius: 999px;
|
||||
background: #ecfdf5;
|
||||
color: #059669;
|
||||
background: var(--theme-primary-light-9);
|
||||
color: var(--theme-primary-active);
|
||||
font-size: 12px;
|
||||
font-weight: 700;
|
||||
}
|
||||
@@ -540,7 +481,7 @@
|
||||
}
|
||||
|
||||
.trend-line.total {
|
||||
stroke: #10b981;
|
||||
stroke: var(--theme-primary);
|
||||
}
|
||||
|
||||
.trend-line.failed {
|
||||
@@ -644,9 +585,9 @@
|
||||
}
|
||||
|
||||
.status-pill.success {
|
||||
background: rgba(22, 163, 74, 0.12);
|
||||
border-color: rgba(22, 163, 74, 0.2);
|
||||
color: #166534;
|
||||
background: rgba(var(--success-rgb), 0.12);
|
||||
border-color: rgba(var(--success-rgb), 0.2);
|
||||
color: var(--success-active);
|
||||
}
|
||||
|
||||
.status-pill.warning {
|
||||
@@ -761,8 +702,7 @@
|
||||
}
|
||||
|
||||
.pager,
|
||||
.page-size,
|
||||
.page-size-wrap {
|
||||
.page-size-select {
|
||||
justify-self: stretch;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user