2025-10-15 18:35:36 +08:00
|
|
|
/**
|
|
|
|
|
* @description 深色科技风主题
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
body.vab-theme-dark {
|
|
|
|
|
$base-menu-background: #0a1929;
|
|
|
|
|
$tech-primary: #00d4ff;
|
|
|
|
|
$tech-bg-primary: #0a1929;
|
|
|
|
|
$tech-bg-secondary: #1a2332;
|
|
|
|
|
$tech-border: rgba(0, 212, 255, 0.3);
|
|
|
|
|
|
|
|
|
|
// 全局背景
|
|
|
|
|
background: linear-gradient(135deg, #0a1929 0%, #1a2332 50%, #0a1929 100%);
|
|
|
|
|
|
|
|
|
|
.el-scrollbar__bar.is-horizontal {
|
|
|
|
|
height: 18px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.el-scrollbar__bar.is-vertical {
|
|
|
|
|
width: 18px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 滚动条样式
|
|
|
|
|
::-webkit-scrollbar {
|
|
|
|
|
width: 8px;
|
|
|
|
|
height: 8px;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
::-webkit-scrollbar-track {
|
|
|
|
|
background: rgba(10, 25, 41, 0.5);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
::-webkit-scrollbar-thumb {
|
|
|
|
|
background: linear-gradient(180deg, $tech-primary 0%, rgba(0, 212, 255, 0.5) 100%);
|
|
|
|
|
border-radius: 4px;
|
|
|
|
|
|
|
|
|
|
&:hover {
|
|
|
|
|
background: $tech-primary;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 卡片样式
|
|
|
|
|
.el-card {
|
|
|
|
|
background: rgba(26, 35, 50, 0.8) !important;
|
|
|
|
|
border: 1px solid $tech-border !important;
|
|
|
|
|
box-shadow: 0 4px 20px rgba(0, 212, 255, 0.1) !important;
|
|
|
|
|
|
|
|
|
|
.el-card__header {
|
|
|
|
|
background: rgba(10, 25, 41, 0.5) !important;
|
|
|
|
|
border-bottom: 1px solid $tech-border !important;
|
|
|
|
|
color: #ffffff !important;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 输入框样式
|
|
|
|
|
.el-input__wrapper {
|
|
|
|
|
background-color: rgba(10, 25, 41, 0.6) !important;
|
|
|
|
|
border: 1px solid $tech-border !important;
|
|
|
|
|
box-shadow: 0 0 8px rgba(0, 212, 255, 0.1) !important;
|
|
|
|
|
|
|
|
|
|
&:hover,
|
|
|
|
|
&.is-focus {
|
|
|
|
|
border-color: $tech-primary !important;
|
|
|
|
|
box-shadow: 0 0 12px rgba(0, 212, 255, 0.3) !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.el-input__inner {
|
|
|
|
|
color: #ffffff !important;
|
|
|
|
|
|
|
|
|
|
&::placeholder {
|
|
|
|
|
color: rgba(168, 216, 234, 0.5) !important;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.el-textarea__inner {
|
|
|
|
|
background-color: rgba(10, 25, 41, 0.6) !important;
|
|
|
|
|
border: 1px solid $tech-border !important;
|
|
|
|
|
color: #ffffff !important;
|
|
|
|
|
|
|
|
|
|
&:hover,
|
|
|
|
|
&:focus {
|
|
|
|
|
border-color: $tech-primary !important;
|
|
|
|
|
box-shadow: 0 0 12px rgba(0, 212, 255, 0.3) !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
&::placeholder {
|
|
|
|
|
color: rgba(168, 216, 234, 0.5) !important;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 按钮样式
|
|
|
|
|
.el-button {
|
|
|
|
|
&--primary {
|
|
|
|
|
background: linear-gradient(135deg, $tech-primary 0%, #0a8bff 100%) !important;
|
|
|
|
|
border-color: $tech-primary !important;
|
|
|
|
|
color: #ffffff !important;
|
|
|
|
|
box-shadow: 0 4px 12px rgba(0, 212, 255, 0.3) !important;
|
|
|
|
|
|
|
|
|
|
&:hover {
|
|
|
|
|
background: linear-gradient(135deg, #00e5ff 0%, #1a9bff 100%) !important;
|
|
|
|
|
box-shadow: 0 6px 20px rgba(0, 212, 255, 0.5) !important;
|
|
|
|
|
transform: translateY(-2px);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
&--default {
|
|
|
|
|
background: rgba(26, 35, 50, 0.8) !important;
|
|
|
|
|
border: 1px solid $tech-border !important;
|
|
|
|
|
color: #a8d8ea !important;
|
|
|
|
|
|
|
|
|
|
&:hover {
|
|
|
|
|
border-color: $tech-primary !important;
|
|
|
|
|
color: $tech-primary !important;
|
|
|
|
|
background: rgba(0, 212, 255, 0.1) !important;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 表格样式
|
|
|
|
|
.el-table {
|
|
|
|
|
background-color: transparent !important;
|
|
|
|
|
|
|
|
|
|
th.el-table__cell {
|
|
|
|
|
background-color: rgba(10, 25, 41, 0.8) !important;
|
|
|
|
|
border-bottom: 2px solid $tech-border !important;
|
|
|
|
|
color: $tech-primary !important;
|
|
|
|
|
font-weight: 600;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
tr {
|
|
|
|
|
background-color: rgba(26, 35, 50, 0.6) !important;
|
|
|
|
|
|
|
|
|
|
&:hover > td {
|
|
|
|
|
background-color: rgba(0, 212, 255, 0.1) !important;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
td.el-table__cell {
|
|
|
|
|
border-bottom: 1px solid rgba(0, 212, 255, 0.1) !important;
|
2025-10-27 10:44:45 +08:00
|
|
|
color: #040404 !important;
|
2025-10-15 18:35:36 +08:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 对话框样式
|
|
|
|
|
.el-dialog {
|
|
|
|
|
background: linear-gradient(135deg, rgba(10, 25, 41, 0.98) 0%, rgba(26, 35, 50, 0.98) 100%) !important;
|
|
|
|
|
border: 1px solid $tech-border !important;
|
|
|
|
|
box-shadow: 0 10px 40px rgba(0, 212, 255, 0.2) !important;
|
|
|
|
|
|
|
|
|
|
.el-dialog__header {
|
|
|
|
|
border-bottom: 1px solid $tech-border !important;
|
|
|
|
|
|
|
|
|
|
.el-dialog__title {
|
|
|
|
|
color: $tech-primary !important;
|
|
|
|
|
font-weight: 600;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.el-dialog__close {
|
|
|
|
|
color: #a8d8ea !important;
|
|
|
|
|
|
|
|
|
|
&:hover {
|
|
|
|
|
color: $tech-primary !important;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.el-dialog__body {
|
|
|
|
|
color: #e8f4f8 !important;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 下拉菜单样式
|
|
|
|
|
.el-dropdown-menu {
|
|
|
|
|
background: rgba(10, 25, 41, 0.98) !important;
|
|
|
|
|
border: 1px solid $tech-border !important;
|
|
|
|
|
box-shadow: 0 8px 30px rgba(0, 212, 255, 0.2) !important;
|
|
|
|
|
|
|
|
|
|
.el-dropdown-menu__item {
|
|
|
|
|
color: #a8d8ea !important;
|
|
|
|
|
|
|
|
|
|
&:hover {
|
|
|
|
|
background: rgba(0, 212, 255, 0.1) !important;
|
|
|
|
|
color: $tech-primary !important;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 选择器样式
|
|
|
|
|
.el-select-dropdown {
|
|
|
|
|
background: rgba(10, 25, 41, 0.98) !important;
|
|
|
|
|
border: 1px solid $tech-border !important;
|
|
|
|
|
box-shadow: 0 8px 30px rgba(0, 212, 255, 0.2) !important;
|
|
|
|
|
|
|
|
|
|
.el-select-dropdown__item {
|
|
|
|
|
color: #a8d8ea !important;
|
|
|
|
|
|
|
|
|
|
&:hover,
|
|
|
|
|
&.is-selected {
|
|
|
|
|
background: rgba(0, 212, 255, 0.1) !important;
|
|
|
|
|
color: $tech-primary !important;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 全屏布局特定样式
|
|
|
|
|
.vab-layout-fullscreen {
|
|
|
|
|
background: linear-gradient(135deg, #0a1929 0%, #1a2332 50%, #0a1929 100%);
|
|
|
|
|
|
|
|
|
|
.app-main-container {
|
|
|
|
|
background: transparent;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 主内容区域
|
|
|
|
|
.vab-app-main {
|
|
|
|
|
background: transparent !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 文本颜色
|
|
|
|
|
.el-text {
|
|
|
|
|
color: #e8f4f8 !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 消息提示样式
|
|
|
|
|
.el-message {
|
|
|
|
|
background: rgba(10, 25, 41, 0.95) !important;
|
|
|
|
|
border: 1px solid $tech-border !important;
|
|
|
|
|
box-shadow: 0 4px 20px rgba(0, 212, 255, 0.2) !important;
|
|
|
|
|
|
|
|
|
|
.el-message__content {
|
|
|
|
|
color: #e8f4f8 !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
&.el-message--success {
|
|
|
|
|
border-color: rgba(0, 255, 136, 0.5) !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
&.el-message--error {
|
|
|
|
|
border-color: rgba(255, 71, 87, 0.5) !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
&.el-message--warning {
|
|
|
|
|
border-color: rgba(255, 165, 0, 0.5) !important;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 通知样式
|
|
|
|
|
.el-notification {
|
|
|
|
|
background: rgba(10, 25, 41, 0.95) !important;
|
|
|
|
|
border: 1px solid $tech-border !important;
|
|
|
|
|
box-shadow: 0 8px 30px rgba(0, 212, 255, 0.3) !important;
|
|
|
|
|
|
|
|
|
|
.el-notification__title {
|
|
|
|
|
color: $tech-primary !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.el-notification__content {
|
|
|
|
|
color: #e8f4f8 !important;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 加载动画
|
|
|
|
|
.el-loading-mask {
|
|
|
|
|
background-color: rgba(10, 25, 41, 0.8) !important;
|
|
|
|
|
|
|
|
|
|
.el-loading-spinner {
|
|
|
|
|
.circular {
|
|
|
|
|
stroke: $tech-primary !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.el-loading-text {
|
|
|
|
|
color: $tech-primary !important;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 分页器样式
|
|
|
|
|
.el-pagination {
|
|
|
|
|
.el-pager li {
|
|
|
|
|
background: rgba(26, 35, 50, 0.6) !important;
|
|
|
|
|
color: #a8d8ea !important;
|
|
|
|
|
border: 1px solid transparent;
|
|
|
|
|
|
|
|
|
|
&:hover {
|
|
|
|
|
color: $tech-primary !important;
|
|
|
|
|
border-color: $tech-border !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
&.is-active {
|
|
|
|
|
background: linear-gradient(135deg, $tech-primary 0%, #0a8bff 100%) !important;
|
|
|
|
|
color: #ffffff !important;
|
|
|
|
|
border-color: $tech-primary !important;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
button {
|
|
|
|
|
background: rgba(26, 35, 50, 0.6) !important;
|
|
|
|
|
color: #a8d8ea !important;
|
|
|
|
|
|
|
|
|
|
&:hover {
|
|
|
|
|
color: $tech-primary !important;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
&:disabled {
|
|
|
|
|
color: rgba(168, 216, 234, 0.3) !important;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|