style: 全局 UI 主题皮肤重构与样式模块化

引入 Element Plus 主题定制和主题皮肤 composable,将全局
样式拆分为组件级独立 CSS 文件(侧边栏、顶栏、工作台等),
统一色彩变量和间距规范,重构所有视图和组件样式以适配新
主题系统,优化图表和知识图谱组件视觉表现,提取审计和差
旅报销相关子组件。
This commit is contained in:
caoxiaozhu
2026-05-27 09:17:57 +08:00
parent df49103f23
commit 2dcc72102d
112 changed files with 10983 additions and 8996 deletions

View File

@@ -24,8 +24,8 @@
}
.status-pill.success {
background: #ecfdf5;
color: #059669;
background: var(--success-soft);
color: var(--success);
}
.status-pill.warning {
@@ -94,9 +94,12 @@
background: #cbd5e1;
}
.timeline-list li.done .timeline-dot,
.timeline-list li.done .timeline-dot {
background: var(--success);
}
.timeline-list li.current .timeline-dot {
background: #10b981;
background: var(--theme-primary);
}
.timeline-list strong {
@@ -347,8 +350,8 @@
background: linear-gradient(180deg, rgba(255, 255, 255, 0.82) 0%, rgba(251, 248, 243, 0.82) 100%);
}
/* 已删除review-alert-chip-row 相关样式(冗余气泡) */
/* 已删除主对话框中的风险提示与右侧栏重复,已移除) */
/* 已删除 review-alert-chip-row 相关冗余样式 */
/* 已删除主对话框中的风险提示,避免与右侧栏重复 */
/* 风险提示样式已统一到 review-pending-item */
.review-risk-brief-list {
@@ -402,12 +405,12 @@
display: grid;
place-items: center;
border-radius: 10px;
background: rgba(236, 253, 245, 0.95);
color: #059669;
background: var(--theme-primary-soft);
color: var(--theme-primary-active);
font-size: 16px;
}
/* 风险级别图标样式(已删除主对话框中的风险提示,保留样式备用 */
/* 风险级别图标样式保留备用 */
.review-pending-icon.high {
background: rgba(254, 226, 226, 0.95);
color: #dc2626;
@@ -473,9 +476,9 @@
}
.review-pending-status.ready {
background: rgba(240, 253, 244, 0.96);
color: #059669;
border: 1px solid #86efac;
background: var(--success-soft);
color: var(--success);
border: 1px solid color-mix(in srgb, var(--success) 28%, transparent);
}
.review-footer-actions {
@@ -507,10 +510,10 @@
}
.review-footer-btn.primary {
border-color: rgba(16, 185, 129, 0.26);
background: linear-gradient(135deg, #10b981, #059669);
border-color: rgba(var(--theme-primary-rgb, 58, 124, 165), 0.26);
background: linear-gradient(135deg, var(--theme-primary), var(--theme-primary-active));
color: #fff;
box-shadow: 0 6px 14px rgba(16, 185, 129, 0.16);
box-shadow: 0 6px 14px rgba(var(--theme-primary-rgb, 58, 124, 165), 0.16);
}
.review-footer-btn:disabled {
@@ -555,10 +558,10 @@
.review-inline-btn.primary,
.primary-dialog-btn {
border: 1px solid rgba(16, 185, 129, 0.22);
background: linear-gradient(135deg, #10b981, #059669);
border: 1px solid rgba(var(--theme-primary-rgb, 58, 124, 165), 0.22);
background: linear-gradient(135deg, var(--theme-primary), var(--theme-primary-active));
color: #fff;
box-shadow: 0 10px 22px rgba(16, 185, 129, 0.18);
box-shadow: 0 10px 22px rgba(var(--theme-primary-rgb, 58, 124, 165), 0.18);
}
.review-inline-btn.secondary,
@@ -593,7 +596,7 @@
.review-inline-guidance {
margin: 0;
color: #0f766e;
color: var(--theme-primary-active);
font-size: 12px;
line-height: 1.7;
}
@@ -608,8 +611,8 @@
}
.review-status-banner.ready {
border-color: #bbf7d0;
background: linear-gradient(180deg, #f5fffa 0%, #ecfdf5 100%);
border-color: color-mix(in srgb, var(--success) 28%, transparent);
background: linear-gradient(180deg, #ffffff 0%, var(--success-soft) 100%);
}
.review-status-banner.pending {
@@ -921,8 +924,8 @@
}
.action-card.primary {
border-color: #bbf7d0;
background: #f0fdf4;
border-color: rgba(var(--theme-primary-rgb, 58, 124, 165), 0.28);
background: var(--theme-primary-soft);
}
.action-card.secondary {
@@ -987,7 +990,7 @@
}
.recognition-bubble-label {
color: #0f766e;
color: var(--theme-primary-active);
font-size: 11px;
font-weight: 850;
letter-spacing: 0.02em;
@@ -1064,7 +1067,7 @@
width: min(720px, calc(100vw - 40px));
border-radius: 24px;
background:
radial-gradient(circle at top right, rgba(16, 185, 129, 0.08), transparent 28%),
radial-gradient(circle at top right, rgba(var(--theme-primary-rgb, 58, 124, 165), 0.08), transparent 28%),
linear-gradient(180deg, #fbfdff 0%, #f6f9fc 100%);
box-shadow:
0 24px 80px rgba(15, 23, 42, 0.22),