feat: 主题变更为白色

This commit is contained in:
砂糖
2025-09-24 17:23:06 +08:00
parent 3c30290b50
commit 833c16a0e9
26 changed files with 221 additions and 196 deletions

View File

@@ -1,5 +1,5 @@
# 页面标题 # 页面标题
VUE_APP_TITLE = 科伦普综合办公系统 VUE_APP_TITLE = 科伦普冷轧涂镀数智运营一体化平台
# 开发环境配置 # 开发环境配置
ENV = 'development' ENV = 'development'

View File

@@ -1,5 +1,5 @@
# 页面标题 # 页面标题
VUE_APP_TITLE = 科伦普综合办公系统 VUE_APP_TITLE = 科伦普冷轧涂镀数智运营一体化平台
# 生产环境配置 # 生产环境配置
ENV = 'production' ENV = 'production'

View File

@@ -1,5 +1,5 @@
# 页面标题 # 页面标题
VUE_APP_TITLE = 科伦普综合办公系统 VUE_APP_TITLE = 科伦普冷轧涂镀数智运营一体化平台
# 开发环境配置 # 开发环境配置
ENV = 'development' ENV = 'development'

View File

@@ -11,13 +11,27 @@ $info-base: #AEB6BF;
/* 次主色原始值 */ /* 次主色原始值 */
// 背景色原始值 // 背景色原始值
$background-base: #2B2F36; // 暗色
// $background-base: #2B2F36;
// $background-light-base: lighten($background-base, 5%);
// $background-lighter-base: lighten($background-base, 10%);
// $panel-bg-base: #3A3F45;
// $table-bg-base: #1E2227;
// // 暗色边框色原始值
// $border-color-base: #6E757D;
// $border-color-light: #828991;
// $border-color-lighter: #9AA1A9;
// 亮色
$background-base: #F5F5F5;
$background-light-base: lighten($background-base, 5%); $background-light-base: lighten($background-base, 5%);
$background-lighter-base: lighten($background-base, 10%); $background-lighter-base: lighten($background-base, 10%);
$panel-bg-base: #3A3F45; $--color-text-primary: #1a1a1a;
$table-bg-base: #1E2227; $panel-bg-base: $--color-text-primary;
$table-bg-base: $--color-text-primary;
// 边框色原始值(新增基础边框色变量) // 亮色边框色原始值
$border-color-base: #6E757D; $border-color-base: #6E757D;
$border-color-light: #828991; $border-color-light: #828991;
$border-color-lighter: #9AA1A9; $border-color-lighter: #9AA1A9;
@@ -52,10 +66,10 @@ $--border-color: $border-color-base;
--table-bg: #{$table-bg-base}; --table-bg: #{$table-bg-base};
/* 文本色 */ /* 文本色 */
--color-text-primary: #FFFFFF; --color-text-primary: #{$--color-text-primary};
--color-text-regular: #EAEAEA; --color-text-regular: #333333;
--color-text-secondary: #B6BDC5; --color-text-secondary: #555555;
--color-text-placeholder: #8A9098; --color-text-placeholder: #777777;
/* 边框色 */ /* 边框色 */
--border-color-base: #{$border-color-base}; --border-color-base: #{$border-color-base};
@@ -73,8 +87,10 @@ $--border-color: $border-color-base;
--btn-height: #{$--btn-height}; --btn-height: #{$--btn-height};
/* 金属质感变量 */ /* 金属质感变量 */
--metal-gradient-light: linear-gradient(145deg, #3E434A, #363B41); // --metal-gradient-light: linear-gradient(145deg, #3E434A, #363B41);
--metal-gradient-dark: linear-gradient(145deg, #363B41, #3E434A); // --metal-gradient-dark: linear-gradient(145deg, #363B41, #3E434A);
--metal-gradient-light: linear-gradient(145deg, $--color-background-light, $--color-background);
--metal-gradient-dark: linear-gradient(145deg, $--color-background, $--color-background-light);
--metal-highlight: rgba(255, 255, 255, .14); --metal-highlight: rgba(255, 255, 255, .14);
--metal-shadow: 5px 5px 12px rgba(0, 0, 0, .22), -5px -5px 12px rgba(255, 255, 255, .06); --metal-shadow: 5px 5px 12px rgba(0, 0, 0, .22), -5px -5px 12px rgba(255, 255, 255, .06);
--metal-shadow-inset: inset 3px 3px 6px rgba(0, 0, 0, .28), inset -3px -3px 6px rgba(255, 255, 255, .06); --metal-shadow-inset: inset 3px 3px 6px rgba(0, 0, 0, .28), inset -3px -3px 6px rgba(255, 255, 255, .06);
@@ -194,7 +210,7 @@ body {
// 主按钮(品牌梯度) // 主按钮(品牌梯度)
.el-button--primary { .el-button--primary {
@include button-variant(#fff, darken($--color-primary, 10%)); @include button-variant($--color-text-primary, darken($--color-primary, 10%));
background: linear-gradient(145deg, lighten($--color-primary, 6%), darken($--color-primary, 6%)); background: linear-gradient(145deg, lighten($--color-primary, 6%), darken($--color-primary, 6%));
border-color: darken($--color-primary, 10%); border-color: darken($--color-primary, 10%);
@@ -205,17 +221,17 @@ body {
// 功能按钮(统一风格) // 功能按钮(统一风格)
.el-button--success { .el-button--success {
@include button-variant(#fff, darken($--color-success, 10%)); @include button-variant($--color-text-primary, darken($--color-success, 10%));
background: linear-gradient(145deg, lighten($--color-success, 6%), darken($--color-success, 6%)); background: linear-gradient(145deg, lighten($--color-success, 6%), darken($--color-success, 6%));
} }
.el-button--warning { .el-button--warning {
@include button-variant(#fff, darken($--color-warning, 10%)); @include button-variant($--color-text-primary, darken($--color-warning, 10%));
background: linear-gradient(145deg, lighten($--color-warning, 6%), darken($--color-warning, 6%)); background: linear-gradient(145deg, lighten($--color-warning, 6%), darken($--color-warning, 6%));
} }
.el-button--danger { .el-button--danger {
@include button-variant(#fff, darken($--color-danger, 10%)); @include button-variant($--color-text-primary, darken($--color-danger, 10%));
background: linear-gradient(145deg, lighten($--color-danger, 6%), darken($--color-danger, 6%)); background: linear-gradient(145deg, lighten($--color-danger, 6%), darken($--color-danger, 6%));
} }
@@ -300,7 +316,7 @@ body {
// ---------------------- 3.2 表格(深色交替 + 金属边框)---------------------- // ---------------------- 3.2 表格(深色交替 + 金属边框)----------------------
.el-table { .el-table {
background: $--table-bg; background: $--table-bg;
border: 1px solid $--border-color-light; // border: 1px solid $--border-color-light;
border-radius: 8px; border-radius: 8px;
box-shadow: $--metal-shadow; box-shadow: $--metal-shadow;
color: $--color-text-regular; color: $--color-text-regular;
@@ -315,10 +331,10 @@ body {
// 表头(深灰黑 + 纯白文字) // 表头(深灰黑 + 纯白文字)
.el-table__header-wrapper { .el-table__header-wrapper {
th.el-table__cell { th.el-table__cell {
background: #1F2227; background: $--color-background;
color: $--color-text-primary; color: $--color-text-primary;
font-weight: 600; font-weight: 600;
border-bottom: 1px solid #444A52; border-bottom: 1px solid $--border-color-lighter;
padding: 4px !important; // 紧凑 padding padding: 4px !important; // 紧凑 padding
height: auto; height: auto;
font-size: 13px; font-size: 13px;
@@ -331,14 +347,14 @@ body {
// 奇数行 // 奇数行
&:nth-child(odd) .el-table__cell { &:nth-child(odd) .el-table__cell {
background: #2F3339; background: $--color-background-light;
color: #EAEAEA; color: $--color-text-regular;
} }
// 偶数行 // 偶数行
&:nth-child(even) .el-table__cell { &:nth-child(even) .el-table__cell {
background: #353A40; background: $--color-background-light;
color: #EAEAEA; color: $--color-text-regular;
} }
// hover // hover
@@ -357,8 +373,8 @@ body {
// 单元格(统一边框 + 紧凑 padding // 单元格(统一边框 + 紧凑 padding
.el-table__cell { .el-table__cell {
border-bottom: 1px solid #444A52; border-bottom: 1px solid $--border-color-lighter;
color: #EAEAEA; color: $--color-text-regular;
padding: 2px 4px !important; // 超紧凑 padding: 2px 4px !important; // 超紧凑
font-size: 13px; font-size: 13px;
} }
@@ -391,7 +407,7 @@ body {
} }
&__empty-block { &__empty-block {
background: #1e2227; background: $--color-background;
} }
// 适配尺寸类(统一紧凑) // 适配尺寸类(统一紧凑)
@@ -405,10 +421,10 @@ body {
// 表头(深灰黑 + 纯白文字) // 表头(深灰黑 + 纯白文字)
.el-table__fixed-header-wrapper { .el-table__fixed-header-wrapper {
th.el-table__cell { th.el-table__cell {
background: #1F2227; background: $--color-background;
color: $--color-text-primary; color: $--color-text-primary;
font-weight: 600; font-weight: 600;
border-bottom: 1px solid #444A52; border-bottom: 1px solid $--border-color-lighter;
padding: 4px !important; // 紧凑 padding padding: 4px !important; // 紧凑 padding
font-size: 13px; font-size: 13px;
} }
@@ -420,14 +436,14 @@ body {
// 奇数行 // 奇数行
&:nth-child(odd) .el-table__cell { &:nth-child(odd) .el-table__cell {
background: #2F3339; background: $--color-background-light;
color: #EAEAEA; color: $--color-text-regular;
} }
// 偶数行 // 偶数行
&:nth-child(even) .el-table__cell { &:nth-child(even) .el-table__cell {
background: #353A40; background: $--color-background-light;
color: #EAEAEA; color: $--color-text-regular;
} }
// 当前行 // 当前行
@@ -598,7 +614,7 @@ body {
&.current { &.current {
background: $--color-primary; background: $--color-primary;
color: #fff; color: $--color-text-primary;
} }
&.in-range { &.in-range {
@@ -612,13 +628,13 @@ body {
&.start-date, &.start-date,
&.end-date { &.end-date {
background: $--color-primary; background: $--color-primary;
color: #fff; color: $--color-text-primary;
} }
} }
} }
.available.in-range div { .available.in-range div {
background-color: #111; background-color: $--color-background;
} }
} }
@@ -645,7 +661,7 @@ body {
&.el-button--primary { &.el-button--primary {
background: $--color-primary; background: $--color-primary;
border-color: $--color-primary; border-color: $--color-primary;
color: #fff; color: $--color-text-primary;
&:hover { &:hover {
background: lighten($--color-primary, 10%); background: lighten($--color-primary, 10%);
@@ -697,7 +713,7 @@ body {
background: $--metal-gradient-light; background: $--metal-gradient-light;
border-color: $--border-color-light; border-color: $--border-color-light;
color: $--color-text-regular; color: $--color-text-regular;
box-shadow: $--metal-shadow-inset; // box-shadow: $--metal-shadow-inset;
border-radius: 0; border-radius: 0;
height: $--btn-height; height: $--btn-height;
line-height: $--btn-height; line-height: $--btn-height;
@@ -709,7 +725,7 @@ body {
&:focus { &:focus {
border-color: $--color-primary; border-color: $--color-primary;
box-shadow: $--metal-shadow-inset, 0 0 0 2px rgba($--color-primary, .22); box-shadow: $--metal-shadow-inset;
} }
} }
@@ -738,7 +754,7 @@ body {
border-left: 1px solid $--border-color-light; border-left: 1px solid $--border-color-light;
background: $--metal-gradient-light; background: $--metal-gradient-light;
color: $--color-text-regular; color: $--color-text-regular;
box-shadow: $--metal-shadow-inset; // box-shadow: $--metal-shadow-inset;
font-size: 13px; font-size: 13px;
} }
} }
@@ -748,7 +764,7 @@ body {
background: $--metal-gradient-light; background: $--metal-gradient-light;
border-color: $--border-color-light; border-color: $--border-color-light;
color: $--color-text-regular; color: $--color-text-regular;
box-shadow: $--metal-shadow-inset; // box-shadow: $--metal-shadow-inset;
border-radius: 0; border-radius: 0;
padding: $--spacing-base; padding: $--spacing-base;
font-size: 13px; font-size: 13px;
@@ -851,7 +867,7 @@ body {
&.selected { &.selected {
background-color: rgba($--color-primary, .20); background-color: rgba($--color-primary, .20);
color: #fff; color: $--color-text-primary;
} }
} }
} }
@@ -930,12 +946,12 @@ body {
left: 0; left: 0;
position: relative; position: relative;
margin: 10vh auto 0; margin: 10vh auto 0;
background: $--metal-gradient-light !important; // background: $--metal-gradient-light !important;
background-color: white !important;
border: 1px solid $--border-color-light; border: 1px solid $--border-color-light;
box-shadow: $--metal-shadow; box-shadow: $--metal-shadow;
border-radius: 8px; border-radius: 8px;
color: $--color-text-regular; color: $--color-text-regular;
width: 60% !important; // 自适应宽度
// 对话框头部 // 对话框头部
.el-dialog__header { .el-dialog__header {
@@ -1299,7 +1315,7 @@ body {
&.current, &.current,
&.selected { &.selected {
background: $--color-primary; background: $--color-primary;
color: #fff; color: $--color-text-primary;
&:hover { &:hover {
background: darken($--color-primary, 5%); background: darken($--color-primary, 5%);
@@ -1336,7 +1352,7 @@ body {
&.is-selected { &.is-selected {
background: $--color-primary; background: $--color-primary;
color: #fff; color: $--color-text-primary;
&:hover { &:hover {
background: darken($--color-primary, 5%); background: darken($--color-primary, 5%);
@@ -1581,7 +1597,7 @@ body {
&.active { &.active {
background: $--color-primary; background: $--color-primary;
color: #fff; color: $--color-text-primary;
border-color: $--color-primary; border-color: $--color-primary;
} }
} }
@@ -1637,28 +1653,13 @@ div.pagination-container {
color: $--color-text-regular; color: $--color-text-regular;
.el-tree-node { .el-tree-node {
&:hover { // &:hover {
background: rgba($--color-primary, .12); // background: rgba($--color-primary, .12);
} // }
&.is-current>.el-tree-node__content { &.is-current>.el-tree-node__content {
background: rgba($--color-primary, .2); background: rgba($--color-primary, .2);
color: $--color-primary; color: $--color-primary;
} }
} }
}
// ---------------------- 3.8 自定义工具类 ----------------------
// 固定按钮宽度
// .fixed-width {
// .el-button--mini {
// padding: 7px 10px;
// width: 60px;
// }
// }
// 居中单元格(深色表头)
.is-center.is-leaf.el-table__cell {
background-color: #1F2227;
} }

View File

@@ -88,83 +88,83 @@
padding: 10px 20px 0; padding: 10px 20px 0;
} }
.el-table { // .el-table {
.el-table__header-wrapper, .el-table__fixed-header-wrapper { // .el-table__header-wrapper, .el-table__fixed-header-wrapper {
th { // th {
word-break: break-word; // word-break: break-word;
background-color: #f8f8f9; // background-color: #f8f8f9;
color: #515a6e; // color: #515a6e;
height: 40px; // height: 40px;
font-size: 13px; // font-size: 13px;
} // }
} // }
.el-table__body-wrapper { // .el-table__body-wrapper {
.el-button [class*="el-icon-"] + span { // .el-button [class*="el-icon-"] + span {
margin-left: 1px; // margin-left: 1px;
} // }
} // }
} // }
/** 表单布局 **/ /** 表单布局 **/
.form-header { // .form-header {
font-size: 15px; // font-size: 15px;
color: #6379bb; // color: #6379bb;
border-bottom: 1px solid #ddd; // border-bottom: 1px solid #ddd;
margin: 8px 10px 25px 10px; // margin: 8px 10px 25px 10px;
padding-bottom: 5px // padding-bottom: 5px
} // }
/** 表格布局 **/ // /** 表格布局 **/
.pagination-container { // .pagination-container {
position: relative; // position: relative;
height: 25px; // height: 25px;
margin-bottom: 10px; // margin-bottom: 10px;
margin-top: 15px; // margin-top: 15px;
padding: 10px 20px !important; // padding: 10px 20px !important;
} // }
/* tree border */ /* tree border */
.tree-border { // .tree-border {
margin-top: 5px; // margin-top: 5px;
border: 1px solid #e5e6e7; // border: 1px solid #e5e6e7;
background: #FFFFFF none; // background: #FFFFFF none;
border-radius: 4px; // border-radius: 4px;
} // }
.pagination-container .el-pagination { // .pagination-container .el-pagination {
right: 0; // right: 0;
position: absolute; // position: absolute;
} // }
@media (max-width: 768px) { // @media (max-width: 768px) {
.pagination-container .el-pagination > .el-pagination__jump { // .pagination-container .el-pagination > .el-pagination__jump {
display: none !important; // display: none !important;
} // }
.pagination-container .el-pagination > .el-pagination__sizes { // .pagination-container .el-pagination > .el-pagination__sizes {
display: none !important; // display: none !important;
} // }
} // }
.el-table .fixed-width .el-button--mini { // .el-table .fixed-width .el-button--mini {
padding-left: 0; // padding-left: 0;
padding-right: 0; // padding-right: 0;
width: inherit; // width: inherit;
} // }
/** 表格更多操作下拉样式 */ // /** 表格更多操作下拉样式 */
.el-table .el-dropdown-link,.el-table .el-dropdown-selfdefine { // .el-table .el-dropdown-link,.el-table .el-dropdown-selfdefine {
cursor: pointer; // cursor: pointer;
margin-left: 5px; // margin-left: 5px;
} // }
.el-table .el-dropdown, .el-icon-arrow-down { // .el-table .el-dropdown, .el-icon-arrow-down {
font-size: 12px; // font-size: 12px;
} // }
.el-tree-node__content > .el-checkbox { // .el-tree-node__content > .el-checkbox {
margin-right: 8px; // margin-right: 8px;
} // }
.list-group-striped > .list-group-item { .list-group-striped > .list-group-item {
border-left: 0; border-left: 0;

View File

@@ -4,13 +4,14 @@
--text-regular: #333333; --text-regular: #333333;
--text-secondary: #555555; --text-secondary: #555555;
--text-placeholder: #777777; --text-placeholder: #777777;
--background-color: #fff;
.main-container { .main-container {
height: 100%; height: 100%;
transition: margin-left .28s, box-shadow .3s ease; transition: margin-left .28s, box-shadow .3s ease;
margin-left: $base-sidebar-width; margin-left: $base-sidebar-width;
position: relative; position: relative;
background: #1E2227; // 金属浅色渐变 // background: #1E2227; // 金属浅色渐变
} }
.sidebarHide { .sidebarHide {
@@ -21,7 +22,7 @@
-webkit-transition: width .28s, background .3s ease; -webkit-transition: width .28s, background .3s ease;
transition: width 0.28s, background .3s ease; transition: width 0.28s, background .3s ease;
width: $base-sidebar-width !important; width: $base-sidebar-width !important;
background: #1E2227; // 金属深色渐变 background: var(--background-color); // 金属深色渐变
border-right: 1px solid #8d939b; border-right: 1px solid #8d939b;
height: 100%; height: 100%;
position: fixed; position: fixed;
@@ -44,11 +45,12 @@
.el-scrollbar__bar.is-vertical { .el-scrollbar__bar.is-vertical {
right: 0px; right: 0px;
background: rgba(0, 0, 0, 0.05); background: #2Bf;
width: 0;
} }
.el-scrollbar__thumb { .el-scrollbar__thumb {
background: #1E2227; background: var(--background-color);
border-radius: 3px; border-radius: 3px;
} }
@@ -112,13 +114,6 @@
} }
} }
// 深色主题下子菜单选中高亮
& .theme-dark .is-active>.el-submenu__title {
color: #fff !important; // 选中时文字纯白
// background-color: rgba(95, 123, 160, 0.25) !important; // 工业蓝浅高亮
// border-left: 3px solid #5F7BA0; // 左边高亮条
}
// & .nest-menu .el-submenu>.el-submenu__title, // & .nest-menu .el-submenu>.el-submenu__title,
& .el-submenu .el-menu-item { & .el-submenu .el-menu-item {
// 子菜单默认样式 // 子菜单默认样式
@@ -146,7 +141,7 @@
&.is-active { &.is-active {
background: rgba(95, 123, 160, 0.28) !important; // 激活背景 background: rgba(95, 123, 160, 0.28) !important; // 激活背景
color: #fff !important; // 激活文字白色 color: #000 !important; // 激活文字白色
font-weight: 600; font-weight: 600;
border-left: 3px solid #5F7BA0; // 左边高亮条 border-left: 3px solid #5F7BA0; // 左边高亮条
} }
@@ -154,10 +149,10 @@
} }
.el-menu-item.is-active.submenu-title-noDropdown { .el-menu-item.is-active.submenu-title-noDropdown {
background: rgba(95, 123, 160, 0.28) !important; // 激活背景 background: #657b96; // 激活背景
color: #fff !important; // 激活文字白色 color: #fff; // 激活文字白色
font-weight: 600; font-weight: 600;
border-left: 3px solid #5F7BA0; // 左边高亮条 border-left: 3px solid #657b96; // 左边高亮条
} }
.hideSidebar { .hideSidebar {
@@ -247,7 +242,7 @@
} }
} }
// when menu collapsed // 收起状态下的菜单
.el-menu--vertical { .el-menu--vertical {
&>.el-menu { &>.el-menu {
.svg-icon { .svg-icon {

View File

@@ -270,7 +270,7 @@ export default {
/* 列表项选中状态(左侧高亮边框+背景色) */ /* 列表项选中状态(左侧高亮边框+背景色) */
.klp-list-item.active { .klp-list-item.active {
border-left: 3px solid #2bf; border-left: 3px solid #2bf;
background-color: #222; /* background-color: #fff; */
} }
/* 列表标题区域(占满中间空间,让操作按钮靠右) */ /* 列表标题区域(占满中间空间,让操作按钮靠右) */
@@ -284,7 +284,7 @@ export default {
/* 标题前置标签样式 */ /* 标题前置标签样式 */
.klp-list-title .title-label { .klp-list-title .title-label {
color: #ddd; color: #111;
margin-right: 6px; margin-right: 6px;
font-size: 13px; font-size: 13px;
white-space: nowrap; /* 标签不换行 */ white-space: nowrap; /* 标签不换行 */
@@ -293,7 +293,7 @@ export default {
/* 标题内容样式(溢出省略) */ /* 标题内容样式(溢出省略) */
.klp-list-title .title-value { .klp-list-title .title-value {
color: #ddd; color: #111;
font-weight: 500; font-weight: 500;
font-size: 14px; font-size: 14px;
white-space: nowrap; /* 禁止换行 */ white-space: nowrap; /* 禁止换行 */

View File

@@ -48,7 +48,7 @@ export default {
.markdown-preview { .markdown-preview {
border-radius: 4px; border-radius: 4px;
padding: 8px; padding: 8px;
background: #393d46; background: var(--color-background);
color: white; color: var(--color-text-primary);
} }
</style> </style>

View File

@@ -72,7 +72,8 @@ export default {
<style scoped> <style scoped>
#vditor { #vditor {
border: 1px solid #e4e7ed; border: 1px solid #e4e7ed;
color: white; color: black;
background-color: white;
border-radius: 4px; border-radius: 4px;
} }
</style> </style>

View File

@@ -107,10 +107,10 @@ export default {
overflow: hidden; overflow: hidden;
position: relative; position: relative;
// 金属质感渐变背景 // 金属质感渐变背景
background: #454c51; // background: #454c51;
border-bottom: 1px solid #8d939b; // border-bottom: 1px solid #8d939b;
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1), // box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1),
0 1px 1px rgba(255, 255, 255, 0.08) inset; // 0 1px 1px rgba(255, 255, 255, 0.08) inset;
.hamburger-container { .hamburger-container {
line-height: 46px; line-height: 46px;

View File

@@ -1,13 +1,13 @@
<template> <template>
<div class="sidebar-logo-container" :class="{'collapse':collapse}" :style="{ backgroundColor: '#1e2227'}"> <div class="sidebar-logo-container" :class="{'collapse':collapse}" :style="{ backgroundColor: '#fff'}">
<transition name="sidebarLogoFade"> <transition name="sidebarLogoFade">
<router-link v-if="collapse" key="collapse" class="sidebar-logo-link" to="/"> <router-link v-if="collapse" key="collapse" class="sidebar-logo-link" to="/">
<img v-if="logo" :src="logo" class="sidebar-logo" /> <img v-if="logo" :src="logo" class="sidebar-logo" />
<h1 v-else class="sidebar-title" :style="{ color: sideTheme === 'theme-dark' ? variables.logoTitleColor : variables.logoLightTitleColor }">{{ title }} </h1> <h1 v-else class="sidebar-title">{{ title }} </h1>
</router-link> </router-link>
<router-link v-else key="expand" class="sidebar-logo-link" to="/"> <router-link v-else key="expand" class="sidebar-logo-link" to="/">
<img v-if="logo" :src="logo" class="sidebar-logo" /> <img v-if="logo" :src="logo" class="sidebar-logo" />
<h1 class="sidebar-title" :style="{ color: sideTheme === 'theme-dark' ? variables.logoTitleColor : variables.logoLightTitleColor }">{{ title }} </h1> <h1 class="sidebar-title">{{ title }} </h1>
</router-link> </router-link>
</transition> </transition>
</div> </div>
@@ -35,7 +35,7 @@ export default {
}, },
data() { data() {
return { return {
title: '科伦普综合办公系统', title: '科伦普一体化平台',
logo: logoImg logo: logoImg
} }
} }
@@ -57,7 +57,7 @@ export default {
width: 100%; width: 100%;
height: 50px; height: 50px;
line-height: 50px; line-height: 50px;
background: #111; background: #fff;
text-align: center; text-align: center;
overflow: hidden; overflow: hidden;
@@ -75,7 +75,7 @@ export default {
& .sidebar-title { & .sidebar-title {
display: inline-block; display: inline-block;
margin: 0; margin: 0;
color: #fff; color: #111;
font-weight: 600; font-weight: 600;
line-height: 50px; line-height: 50px;
font-size: 14px; font-size: 14px;

View File

@@ -1,14 +1,14 @@
<template> <template>
<div :class="{'has-logo':showLogo}" :style="{ backgroundColor: '#1e2227' }"> <div :class="{'has-logo':showLogo}" :style="{ backgroundColor: '#fff' }">
<logo v-if="showLogo" :collapse="isCollapse" /> <logo v-if="showLogo" :collapse="isCollapse" />
<el-scrollbar :class="settings.sideTheme" wrap-class="scrollbar-wrapper"> <el-scrollbar :class="settings.sideTheme" wrap-class="scrollbar-wrapper">
<el-menu <el-menu
:default-active="activeMenu" :default-active="activeMenu"
:collapse="isCollapse" :collapse="isCollapse"
background-color="#1e2227" background-color="#fff"
:text-color="settings.sideTheme === 'theme-dark' ? variables.menuColor : variables.menuLightColor" text-color="#111"
:unique-opened="true" :unique-opened="true"
active-text-color="#fff" active-text-color="#111"
:collapse-transition="false" :collapse-transition="false"
mode="vertical" mode="vertical"
> >

View File

@@ -242,7 +242,7 @@ export default {
height: 34px; height: 34px;
width: 100%; width: 100%;
// 金属浅色渐变背景(直接写死渐变值) // 金属浅色渐变背景(直接写死渐变值)
background: #454c51; // background: #454c51;
border-bottom: 1px solid #a0a6ad; border-bottom: 1px solid #a0a6ad;
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(255, 255, 255, 0.05) inset; box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1), 0 1px 1px rgba(255, 255, 255, 0.05) inset;
@@ -254,9 +254,9 @@ export default {
height: 26px; height: 26px;
line-height: 26px; line-height: 26px;
border: 1px solid #a0a6ad; border: 1px solid #a0a6ad;
color: #ddd; color: #111;
// 标签金属渐变背景 // 标签金属渐变背景
background: #454c51; // background: linear-gradient(145deg, #6b809d, #637994);
padding: 0 8px; padding: 0 8px;
font-size: 12px; font-size: 12px;
margin-left: 5px; margin-left: 5px;

View File

@@ -79,7 +79,7 @@ export default {
} }
.drawer-bg { .drawer-bg {
background: #000; // background: #000;
opacity: 0.3; opacity: 0.3;
width: 100%; width: 100%;
top: 0; top: 0;

View File

@@ -216,7 +216,7 @@ export default {
.frequently-used-section { .frequently-used-section {
margin-bottom: 32px; /* 增大间距 */ margin-bottom: 32px; /* 增大间距 */
padding-bottom: 20px; padding-bottom: 20px;
border-bottom: 1px solid #111; /* 飞书浅灰边框色 */ border-bottom: 1px solid #ddd; /* 飞书浅灰边框色 */
} }
.frequently-used-header { .frequently-used-header {
@@ -229,7 +229,7 @@ export default {
.frequently-title { .frequently-title {
font-size: 16px; /* 稍小字体,飞书风格更简洁 */ font-size: 16px; /* 稍小字体,飞书风格更简洁 */
font-weight: 500; /* 调整 FontWeight */ font-weight: 500; /* 调整 FontWeight */
color: #ddd; /* 深一点的标题色 */ color: #111; /* 深一点的标题色 */
} }
.edit-btn { .edit-btn {
@@ -253,10 +253,10 @@ export default {
border-radius: 12px; /* 大圆角 */ border-radius: 12px; /* 大圆角 */
transition: all 0.3s ease; transition: all 0.3s ease;
position: relative; position: relative;
background-color: #222; /* 飞书卡片常用浅灰底色 */ // background-color: ; /* 飞书卡片常用浅灰底色 */
&:hover { &:hover {
background-color: #444; /* hover 时的浅灰 */ background-color: #fff; /* hover 时的浅灰 */
} }
} }
@@ -285,10 +285,10 @@ export default {
border-radius: 12px; border-radius: 12px;
transition: background-color 0.3s ease; transition: background-color 0.3s ease;
position: relative; position: relative;
background-color: #222; // background-color: #222;
&:hover { &:hover {
background-color: #444; background-color: #fff;
} }
} }
@@ -301,7 +301,7 @@ export default {
align-items: center; align-items: center;
justify-content: center; justify-content: center;
margin-bottom: 12px; margin-bottom: 12px;
background-color: #222; /* 飞书风格的浅蓝底色 */ background-color: #fff; /* 飞书风格的浅蓝底色 */
position: relative; position: relative;
} }

View File

@@ -9,7 +9,6 @@
size="mini" size="mini"
v-if="optType !='view'" v-if="optType !='view'"
@click="handleAdd" @click="handleAdd"
v-hasPermi="['mes:dv:checkplan:add']"
>新增</el-button> >新增</el-button>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
@@ -21,7 +20,6 @@
v-if="optType !='view'" v-if="optType !='view'"
:disabled="multiple" :disabled="multiple"
@click="handleDelete" @click="handleDelete"
v-hasPermi="['mes:dv:checkplan:remove']"
>删除</el-button> >删除</el-button>
</el-col> </el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>

View File

@@ -9,7 +9,6 @@
size="mini" size="mini"
@click="handleAdd" @click="handleAdd"
v-if="optType !='view'" v-if="optType !='view'"
v-hasPermi="['mes:dv:checkplan:add']"
>新增</el-button> >新增</el-button>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
@@ -21,7 +20,6 @@
:disabled="multiple" :disabled="multiple"
@click="handleDelete" @click="handleDelete"
v-if="optType !='view'" v-if="optType !='view'"
v-hasPermi="['mes:dv:checkplan:remove']"
>删除</el-button> >删除</el-button>
</el-col> </el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
@@ -40,7 +38,6 @@
type="text" type="text"
icon="el-icon-delete" icon="el-icon-delete"
@click="handleDelete(scope.row)" @click="handleDelete(scope.row)"
v-hasPermi="['mes:dv:checkplan:remove']"
>删除</el-button> >删除</el-button>
</template> </template>
</el-table-column> </el-table-column>

View File

@@ -43,7 +43,7 @@ import {getCheckPlan} from "@/api/mes/dv/checkplan";
export default { export default {
name: "CheckPlan", name: "CheckPlan",
dicts: ['mes_cycle_type','mes_order_status','dv_plan_type'], dicts: ['mes_cycle_type','mes_order_status'],
data() { data() {
return { return {
// 遮罩层 // 遮罩层

View File

@@ -25,6 +25,42 @@
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['mes:dv:maintenrecord:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['mes:dv:maintenrecord:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['mes:dv:maintenrecord:remove']"
>删除</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<KLPTable <KLPTable
v-loading="loading" v-loading="loading"
:data="machinerytypeList" :data="machinerytypeList"
@@ -243,6 +279,7 @@ export default {
this.form.parentTypeId = row.machineryTypeId; this.form.parentTypeId = row.machineryTypeId;
} else { } else {
this.form.parentTypeId = 0; this.form.parentTypeId = 0;
this.form.ancestors = 0;
} }
this.open = true; this.open = true;
this.title = "添加设备类型"; this.title = "添加设备类型";

View File

@@ -123,7 +123,6 @@ export default {
optType: null, optType: null,
recordId: null, recordId: null,
}, },
dicts: ['dv_cm_result_status'],
components:{ DvSubjectSelect }, components:{ DvSubjectSelect },
data() { data() {
return { return {

View File

@@ -107,10 +107,10 @@ export default {
<style scoped> <style scoped>
.chart-container { .chart-container {
background-color: #ffffff; /* background-color: #ffffff; */
border-radius: 8px; border-radius: 8px;
padding: 20px; padding: 20px;
box-shadow: 0 2px 12px 0 rgba(0,0,0,0.1); /* box-shadow: 0 2px 12px 0 rgba(0,0,0,0.1); */
height: 100%; height: 100%;
box-sizing: border-box; box-sizing: border-box;
} }

View File

@@ -113,7 +113,6 @@ export default {
} }
.el-card { .el-card {
border-radius: 16px; border-radius: 16px;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
padding: 16px; padding: 16px;
display: flex; display: flex;
flex-direction: column; flex-direction: column;

View File

@@ -108,9 +108,9 @@ export default {
align-items: center; align-items: center;
padding: 24px 30px; padding: 24px 30px;
border-radius: 16px; border-radius: 16px;
box-shadow: 0 6px 20px rgba(31, 47, 70, 0.08); /* box-shadow: 0 6px 20px rgba(31, 47, 70, 0.08); */
cursor: default; cursor: default;
background: #fff; /* background: #fff; */
user-select: none; user-select: none;
transition: box-shadow 0.3s ease; transition: box-shadow 0.3s ease;
min-width: 0; /* 防止子元素过大撑破flex */ min-width: 0; /* 防止子元素过大撑破flex */
@@ -172,7 +172,7 @@ export default {
width: 56px; width: 56px;
height: 56px; height: 56px;
border-radius: 50%; border-radius: 50%;
background-color: rgba(0, 0, 0, 0.05); /* background-color: rgba(0, 0, 0, 0.05); */
display: flex; display: flex;
justify-content: center; justify-content: center;
align-items: center; align-items: center;

View File

@@ -328,9 +328,7 @@ export default {
.stat-item { .stat-item {
text-align: center; text-align: center;
padding: 15px; padding: 15px;
background: #222;
border-radius: 8px; border-radius: 8px;
border: 1px solid #111;
} }
.stat-number { .stat-number {

View File

@@ -96,7 +96,7 @@
/> />
<!-- 添加或修改涉及项目汇报概述对话框 --> <!-- 添加或修改涉及项目汇报概述对话框 -->
<el-dialog :title="title" :visible.sync="open" width="50%" append-to-body> <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="100px"> <el-form ref="form" :model="form" :rules="rules" label-width="100px">
<el-form-item label="收发货标题" prop="reportTitle"> <el-form-item label="收发货标题" prop="reportTitle">
<el-input v-model="form.reportTitle" placeholder="请输入收发货标题" /> <el-input v-model="form.reportTitle" placeholder="请输入收发货标题" />

View File

@@ -106,15 +106,15 @@
/> />
<!-- 添加或修改摄像头管理对话框 --> <!-- 添加或修改摄像头管理对话框 -->
<el-dialog :title="title" :visible.sync="open" width="800px" append-to-body> <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="200px"> <el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="摄像头编号" prop="cameraCode"> <el-form-item label="摄像头编号" prop="cameraCode">
<el-input v-model="form.cameraCode" placeholder="请输入摄像头编号" /> <el-input v-model="form.cameraCode" placeholder="请输入摄像头编号" />
</el-form-item> </el-form-item>
<el-form-item label="摄像头名称" prop="cameraName"> <el-form-item label="摄像头名称" prop="cameraName">
<el-input v-model="form.cameraName" placeholder="请输入摄像头名称" /> <el-input v-model="form.cameraName" placeholder="请输入摄像头名称" />
</el-form-item> </el-form-item>
<el-form-item label="RTSP 推流地址" prop="rtspUrl"> <el-form-item label="RTSP" prop="rtspUrl">
<el-input v-model="form.rtspUrl" placeholder="请输入RTSP 推流地址" /> <el-input v-model="form.rtspUrl" placeholder="请输入RTSP 推流地址" />
</el-form-item> </el-form-item>
<!-- <el-form-item label="ws - fmp4 播放地址" prop="wsFmp4"> <!-- <el-form-item label="ws - fmp4 播放地址" prop="wsFmp4">