diff --git a/apps/hand-factory/config.js b/apps/hand-factory/config.js
index b5f8e87..14fb220 100644
--- a/apps/hand-factory/config.js
+++ b/apps/hand-factory/config.js
@@ -1,7 +1,7 @@
// 应用全局配置
module.exports = {
- baseUrl: 'http://192.168.31.116:8080',
- // baseUrl: 'http://140.143.206.120:8080',
+ // baseUrl: 'http://192.168.31.116:8080',
+ baseUrl: 'http://140.143.206.120:8080',
// baseUrl: 'http://localhost:8080',
// 应用信息
appInfo: {
diff --git a/apps/hand-factory/manifest.json b/apps/hand-factory/manifest.json
index afd1b07..e2dbaee 100644
--- a/apps/hand-factory/manifest.json
+++ b/apps/hand-factory/manifest.json
@@ -2,8 +2,8 @@
"name" : "科伦普",
"appid" : "__UNI__E781B49",
"description" : "",
- "versionName" : "1.2.0",
- "versionCode" : "100",
+ "versionName" : "3.4",
+ "versionCode" : 1,
"transformPx" : false,
"app-plus" : {
"usingComponents" : true,
diff --git a/apps/hand-factory/pages.json b/apps/hand-factory/pages.json
index 1ce4cc7..1572e23 100644
--- a/apps/hand-factory/pages.json
+++ b/apps/hand-factory/pages.json
@@ -1,11 +1,12 @@
{
"pages": [
{
- "path": "pages/index",
- "style": {
- "navigationBarTitleText": "首页",
+ "path" : "pages/easycode/easycode",
+ "style" :
+ {
+ "navigationBarTitleText" : "扫码",
"navigationStyle": "custom"
- }
+ }
},
{
"path": "pages/login",
@@ -13,6 +14,13 @@
"navigationBarTitleText": "登录"
}
},
+ {
+ "path": "pages/index",
+ "style": {
+ "navigationBarTitleText": "首页",
+ "navigationStyle": "custom"
+ }
+ },
{
"path": "pages/mine/index",
@@ -91,28 +99,28 @@
"navigationBarTitleText": "RuoYi",
"navigationBarBackgroundColor": "#FFFFFF"
},
- "tabBar": {
- "list": [
- {
- "text": "产线",
- "pagePath": "pages/index",
- "selectedIconPath": "/static/images/tabbar/home_.png",
- "iconPath": "/static/images/tabbar/home.png"
- },
- {
- "text": "扫码",
- "pagePath": "pages/code/code",
- "selectedIconPath": "/static/images/tabbar/work_.png",
- "iconPath": "/static/images/tabbar/work.png"
- },
- {
- "text": "我的",
- "pagePath": "pages/mine/index",
- "selectedIconPath": "/static/images/tabbar/mine_.png",
- "iconPath": "/static/images/tabbar/mine.png"
- }
- ]
- },
+ // "tabBar": {
+ // "list": [
+ // {
+ // "text": "产线",
+ // "pagePath": "pages/index",
+ // "selectedIconPath": "/static/images/tabbar/home_.png",
+ // "iconPath": "/static/images/tabbar/home.png"
+ // },
+ // {
+ // "text": "扫码",
+ // "pagePath": "pages/code/code",
+ // "selectedIconPath": "/static/images/tabbar/work_.png",
+ // "iconPath": "/static/images/tabbar/work.png"
+ // },
+ // {
+ // "text": "我的",
+ // "pagePath": "pages/mine/index",
+ // "selectedIconPath": "/static/images/tabbar/mine_.png",
+ // "iconPath": "/static/images/tabbar/mine.png"
+ // }
+ // ]
+ // },
"easycom": {
"autoscan": true,
"custom": {
diff --git a/apps/hand-factory/pages/easycode/easycode.vue b/apps/hand-factory/pages/easycode/easycode.vue
new file mode 100644
index 0000000..d15d4c1
--- /dev/null
+++ b/apps/hand-factory/pages/easycode/easycode.vue
@@ -0,0 +1,60 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/hand-factory/pages/login.vue b/apps/hand-factory/pages/login.vue
index 0ea5f4b..772a0e3 100644
--- a/apps/hand-factory/pages/login.vue
+++ b/apps/hand-factory/pages/login.vue
@@ -64,7 +64,7 @@
onLoad() {
//#ifdef H5
if (getToken()) {
- this.$tab.reLaunch('/pages/index')
+ this.$tab.reLaunch('/pages/easycode/easycode')
}
//#endif
},
@@ -122,7 +122,7 @@
loginSuccess(result) {
// 设置用户信息
this.$store.dispatch('GetInfo').then(res => {
- this.$tab.reLaunch('/pages/index')
+ this.$tab.reLaunch('/pages/easycode/easycode')
})
}
}
diff --git a/apps/hand-factory/pages/mine/index.vue b/apps/hand-factory/pages/mine/index.vue
index 7965153..1ed71f8 100644
--- a/apps/hand-factory/pages/mine/index.vue
+++ b/apps/hand-factory/pages/mine/index.vue
@@ -103,9 +103,9 @@
},
handleLogout() {
this.$modal.confirm('确定注销并退出系统吗?').then(() => {
- // this.$store.dispatch('LogOut').then(() => {}).finally(() => {
+ this.$store.dispatch('LogOut').then(() => {}).finally(() => {
this.$tab.reLaunch('/pages/login')
- // })
+ })
})
},
handleToEditInfo() {
diff --git a/apps/l2/src/assets/styles/btn.scss b/apps/l2/src/assets/styles/btn.scss
index e6ba1a8..49a40e8 100644
--- a/apps/l2/src/assets/styles/btn.scss
+++ b/apps/l2/src/assets/styles/btn.scss
@@ -41,11 +41,11 @@
@include colorBtn($yellow)
}
-.pan-btn {
+.el-button.pan-btn {
font-size: 14px;
color: #fff;
- padding: 14px 36px;
- border-radius: 8px;
+ padding: 4px !important;
+ border-radius: 4px;
border: none;
outline: none;
transition: 600ms ease all;
@@ -81,7 +81,7 @@
}
}
-.custom-button {
+.el-button.custom-button {
display: inline-block;
line-height: 1;
white-space: nowrap;
@@ -93,7 +93,21 @@
box-sizing: border-box;
outline: 0;
margin: 0;
- padding: 10px 15px;
+ padding: 2px !important;
font-size: 14px;
- border-radius: 4px;
+ border-radius: 2px;
}
+
+
+.el-table__cell {
+ padding: 0 !important;
+}
+
+.el-table__cell .el-button {
+ padding: 0 !important;
+}
+
+.el-table__cell + .el-button {
+ margin-left: 4px !important;
+ padding: 0;
+}
\ No newline at end of file
diff --git a/apps/l2/src/assets/styles/element-ui.scss b/apps/l2/src/assets/styles/element-ui.scss
index 798a4cb..c8ae50c 100644
--- a/apps/l2/src/assets/styles/element-ui.scss
+++ b/apps/l2/src/assets/styles/element-ui.scss
@@ -1,89 +1,197 @@
-// element-variables.scss - 工业金属风(深色高对比,表格/按钮强化)
-// 适配 Element UI 2.x
+// ====================== 1. 基础颜色变量(Sass直接处理)======================
+$primary-base: #5F7BA0;
+// $primary-base: #2bf;
+/* 工业蓝灰(主色原始值) */
+$success-base: #2ECC71;
+/* 成功色原始值 */
+$warning-base: #E67E22;
+/* 警告色原始值 */
+$danger-base: #E74C3C;
+/* 危险色原始值 */
+$info-base: #AEB6BF;
+/* 次主色原始值 */
-// ====================== 基础品牌色 ======================
-$--color-primary: #5F7BA0 !default; // 工业蓝灰
-$--color-success: #2ECC71 !default;
-$--color-warning: #E67E22 !default;
-$--color-danger: #E74C3C !default;
-$--color-info: #AEB6BF !default; // 次主色(冷灰)
+// 背景色原始值
+// 暗色
+// $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;
-// ====================== 背景层级 ======================
-$--color-background: #2B2F36 !default; // 页面底色
-$--color-background-light: lighten($--color-background, 5%) !default;
-$--color-background-lighter: lighten($--color-background, 10%) !default;
+// // 暗色边框色原始值
+// $border-color-base: #6E757D;
+// $border-color-light: #828991;
+// $border-color-lighter: #9AA1A9;
-// 面板/卡片/输入等容器底色(层次更亮一点)
-$--panel-bg: #3A3F45 !default;
-$--table-bg: #1E2227 !default;
+// 亮色
+$background-base: #F5F5F5;
+$background-light-base: lighten($background-base, 5%);
+$background-lighter-base: lighten($background-base, 10%);
+$--color-text-primary: #1a1a1a;
+$panel-bg-base: $--color-text-primary;
+$table-bg-base: transparent;
-// ====================== 文字(高对比) ======================
-// 深背景上使用浅文字,确保对比度(WCAG AA+)
-$--color-text-primary: #FFFFFF !default; // 标题/重点
-$--color-text-regular: #EAEAEA !default; // 主体文本
-$--color-text-secondary: #B6BDC5 !default; // 次要文本
-$--color-text-placeholder:#8A9098 !default; // 占位/禁用
+// 亮色边框色原始值
+$border-color-base: #6E757D;
+$border-color-light: #828991;
+$border-color-lighter: #9AA1A9;
-// 与 Element 内置变量兼容(可选)
-$--font-color-primary: $--color-text-regular !default;
-$--font-color-regular: $--color-text-regular !default;
+
+// ====================== 2. 间距/尺寸变量(Sass变量)======================
+$--spacing-sm: 4px;
+$--spacing-base: 8px;
+$--spacing-md: $--spacing-base;
+$--spacing-lg: $--spacing-base * 2;
+$--form-item-margin: $--spacing-base;
+$--btn-height: 24px;
+
+// 关键修复:添加缺失的$--border-color变量,指向基础边框色
+$--border-color: $border-color-base;
+
+
+// ====================== 3. CSS变量(与Sass变量同步)======================
+:root {
+ /* 颜色体系 - 同步自Sass原始变量 */
+ --color-primary: #{$primary-base};
+ --color-success: #{$success-base};
+ --color-warning: #{$warning-base};
+ --color-danger: #{$danger-base};
+ --color-info: #{$info-base};
+
+ /* 背景层级 */
+ --color-background: #{$background-base};
+ --color-background-light: #{$background-light-base};
+ --color-background-lighter: #{$background-lighter-base};
+ --panel-bg: #{$panel-bg-base};
+ --table-bg: #{$table-bg-base};
+
+ /* 文本色 */
+ --color-text-primary: #{$--color-text-primary};
+ --color-text-regular: #333333;
+ --color-text-secondary: #555555;
+ --color-text-placeholder: #777777;
+
+ /* 边框色 */
+ --border-color-base: #{$border-color-base};
+ --border-color-light: #{$border-color-light};
+ --border-color-lighter: #{$border-color-lighter};
+ --border-color: #{$--border-color};
+ /* 同步新增的边框色变量 */
+
+ /* 间距/尺寸体系 */
+ --spacing-sm: #{$--spacing-sm};
+ --spacing-base: #{$--spacing-base};
+ --spacing-md: #{$--spacing-md};
+ --spacing-lg: #{$--spacing-lg};
+ --form-item-margin: #{$--form-item-margin};
+ --btn-height: #{$--btn-height};
+
+ /* 金属质感变量 */
+ // --metal-gradient-light: linear-gradient(145deg, #3E434A, #363B41);
+ // --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-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);
+}
+
+
+// ====================== 4. Element UI适配变量 =======================
+$--color-primary: $primary-base !default;
+$--color-success: $success-base !default;
+$--color-warning: $warning-base !default;
+$--color-danger: $danger-base !default;
+$--color-info: $info-base !default;
+
+$--color-background: $background-base !default;
+$--color-background-light: $background-light-base !default;
+$--color-background-lighter: $background-lighter-base !default;
+$--panel-bg: $panel-bg-base !default;
+$--table-bg: $table-bg-base !default;
+
+$--color-text-primary: var(--color-text-primary) !default;
+$--color-text-regular: var(--color-text-regular) !default;
+$--color-text-secondary: var(--color-text-secondary) !default;
+$--color-text-placeholder: var(--color-text-placeholder) !default;
+
+// 边框色变量(包括新增的$--border-color)
+$--border-color-base: $border-color-base !default;
+$--border-color-light: $border-color-light !default;
+$--border-color-lighter: $border-color-lighter !default;
+$--border-color: $--border-color !default;
+/* 关键修复:同步到Element变量 */
+
+// 间距变量
+$--spacing-sm: $--spacing-sm !default;
+$--spacing-base: $--spacing-base !default;
+$--spacing-md: $--spacing-md !default;
+$--spacing-lg: $--spacing-lg !default;
+$--form-item-margin: $--form-item-margin !default;
+$--btn-height: $--btn-height !default;
+
+$--metal-gradient-light: var(--metal-gradient-light) !default;
+$--metal-gradient-dark: var(--metal-gradient-dark) !default;
+$--metal-highlight: var(--metal-highlight) !default;
+$--metal-shadow: var(--metal-shadow) !default;
+$--metal-shadow-inset: var(--metal-shadow-inset) !default;
+
+// Element UI兼容变量
+$--font-color-primary: $--color-text-regular !default;
+$--font-color-regular: $--color-text-regular !default;
$--font-color-secondary: $--color-text-secondary !default;
-$--font-color-placeholder:$--color-text-placeholder !default;
+$--font-color-placeholder: $--color-text-placeholder !default;
+$--color-loading: $--color-primary !default;
-// ====================== 边框/分割线 ======================
-$--border-color-base: #6E757D !default;
-$--border-color-light: #828991 !default;
-$--border-color-lighter: #9AA1A9 !default;
-// ====================== 拟物金属质感 ======================
-$--metal-gradient-light: linear-gradient(
- 145deg,
- lighten($--panel-bg, 6%),
- darken($--panel-bg, 4%)
-) !default;
-
-$--metal-gradient-dark: linear-gradient(
- 145deg,
- darken($--panel-bg, 6%),
- lighten($--panel-bg, 2%)
-) !default;
-
-$--metal-highlight: rgba(255,255,255,.14) !default;
-$--metal-shadow: 5px 5px 12px rgba(0,0,0,.22),
--5px -5px 12px rgba(255,255,255,.06) !default;
-
-$--metal-shadow-inset: inset 3px 3px 6px rgba(0,0,0,.28),
-inset -3px -3px 6px rgba(255,255,255,.06) !default;
-
-// ====================== 全局基底 ======================
+// ====================== 2. 全局样式 ======================
body {
background: $--color-background;
color: $--color-text-regular;
+ font-size: 14px;
+ line-height: 1.5;
+ margin: 0;
+ padding: 0;
}
+// Element容器适配
.el-container,
-.el-main {
+.el-main,
+.el-aside,
+.el-header,
+.el-footer {
background: $--color-background;
color: $--color-text-regular;
+ border: none;
}
-// ====================== 按钮 ======================
-@mixin button-variant($color, $bg, $border) {
- color: $color;
+// 标签页内容溢出修复
+.el-tabs__content {
+ overflow: visible !important;
+}
+
+
+// ====================== 3. 组件样式(按优先级合并)======================
+// ---------------------- 3.1 按钮(金属质感 + 紧凑尺寸)----------------------
+@mixin button-variant($text-color, $border-color) {
+ color: $text-color;
background: $--metal-gradient-light;
- border: 1px solid $--border-color-light;
+ border: 1px solid $border-color;
box-shadow: $--metal-shadow;
border-radius: 6px;
- text-shadow: 0 1px 0 rgba(0,0,0,.16);
+ text-shadow: 0 1px 0 rgba(0, 0, 0, .16);
transition: all .25s ease;
+ height: $--btn-height;
+ padding: 0 var(--spacing-lg);
+ font-size: 13px;
&:hover,
&:focus {
- color: $color;
+ color: $text-color;
background: $--metal-gradient-dark;
border-color: $--border-color-base;
- box-shadow: 6px 6px 14px rgba(0,0,0,.28),
- -6px -6px 14px rgba(255,255,255,.08);
+ box-shadow: 6px 6px 14px rgba(0, 0, 0, .28), -6px -6px 14px rgba(255, 255, 255, .08);
transform: translateY(-1px);
}
@@ -103,187 +211,590 @@ body {
// 主按钮(品牌梯度)
.el-button--primary {
- @include button-variant(#fff, $--color-primary, darken($--color-primary, 10%));
- background: linear-gradient(145deg, lighten($--color-primary,6%), darken($--color-primary,6%));
- border-color: 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%));
+ border-color: darken($--color-primary, 10%);
&:hover {
- background: linear-gradient(145deg, $--color-primary, darken($--color-primary,8%));
+ background: linear-gradient(145deg, $--color-primary, darken($--color-primary, 8%));
}
}
-// 成功/警告/危险按钮统一风格
-.el-button--success { @include button-variant(#fff, $--color-success, darken($--color-success, 10%)); background: linear-gradient(145deg, lighten($--color-success,6%), darken($--color-success,6%)); }
-.el-button--warning { @include button-variant(#fff, $--color-warning, darken($--color-warning, 10%)); background: linear-gradient(145deg, lighten($--color-warning,6%), darken($--color-warning,6%)); }
-.el-button--danger { @include button-variant(#fff, $--color-danger, darken($--color-danger, 10%)); background: linear-gradient(145deg, lighten($--color-danger,6%), darken($--color-danger,6%)); }
-.el-button--info { @include button-variant(#111, $--color-info, darken($--color-info, 10%)); background: linear-gradient(145deg, lighten($--color-info,6%), darken($--color-info,6%)); }
+// 功能按钮(统一风格)
+.el-button--success {
+ @include button-variant($--color-text-primary, darken($--color-success, 10%));
+ background: linear-gradient(145deg, lighten($--color-success, 6%), darken($--color-success, 6%));
+}
-// 文本按钮(少干扰,高对比悬停)
+.el-button--warning {
+ @include button-variant($--color-text-primary, darken($--color-warning, 10%));
+ background: linear-gradient(145deg, lighten($--color-warning, 6%), darken($--color-warning, 6%));
+}
+
+.el-button--danger {
+ @include button-variant($--color-text-primary, darken($--color-danger, 10%));
+ background: linear-gradient(145deg, lighten($--color-danger, 6%), darken($--color-danger, 6%));
+}
+
+.el-button--info {
+ @include button-variant(#111, darken($--color-info, 10%));
+ background: linear-gradient(145deg, lighten($--color-info, 6%), darken($--color-info, 6%));
+}
+
+// 文本按钮(低干扰)
.el-button--text {
color: $--color-text-secondary;
background: transparent;
border: none;
box-shadow: none;
+ height: auto;
+ padding: 4px 8px;
&:hover {
color: $--color-primary;
background: rgba($--color-primary, .12);
+ transform: none;
}
}
+// 图标按钮(圆形紧凑)
.el-button--icon {
- width: 36px; height: 36px; padding: 0; border-radius: 8px;
- &:only-child { padding: 0; }
+ width: 36px;
+ height: 36px;
+ padding: 0;
+ border-radius: 8px;
+
+ &:only-child {
+ padding: 0;
+ }
}
-// 按钮组
+// 按钮组(无缝衔接)
.el-button-group {
.el-button {
border-radius: 0;
margin: 0;
border-left: 1px solid $--border-color-lighter;
- &:first-child { border-radius: 6px 0 0 6px; border-left: none; }
- &:last-child { border-radius: 0 6px 6px 0; }
- &:not(:last-child) { border-right: none; }
+ &:first-child {
+ border-radius: 6px 0 0 6px;
+ border-left: none;
+ }
+
+ &:last-child {
+ border-radius: 0 6px 6px 0;
+ }
+
+ &:not(:last-child) {
+ border-right: none;
+ }
}
}
-// ====================== 表格 ======================
+.el-button--medium {
+ padding: 4px 8px !important;
+ font-size: 12px;
+ height: $--btn-height - 4px;
+}
+
+// 迷你按钮(超紧凑)
+.el-button--mini {
+ padding: 4px 8px !important;
+ font-size: 12px;
+ height: $--btn-height - 4px;
+ &.is-circle {
+ padding: 4px !important;
+ }
+}
+
+.el-button--small {
+ padding: 4px 8px !important;
+ font-size: 12px;
+ height: $--btn-height - 4px;
+}
+
+
+// ---------------------- 3.2 表格(深色交替 + 金属边框)----------------------
.el-table {
background: $--table-bg;
- border: 1px solid $--border-color-light;
+ // border: 1px solid $--border-color-light;
border-radius: 8px;
box-shadow: $--metal-shadow;
color: $--color-text-regular;
overflow: hidden;
+ margin-top: $--form-item-margin * 2; // 与表单间距
- // 分割线颜色
- &::before { background-color: $--border-color-lighter; }
+ // 分割线
+ &::before {
+ background-color: $--border-color-lighter;
+ }
- // 表格主体
+ // 表头(深灰黑 + 纯白文字)
+ .el-table__header-wrapper {
+ th.el-table__cell {
+ background: $--color-background;
+ color: $--color-text-primary;
+ font-weight: 600;
+ border-bottom: 1px solid $--border-color-lighter;
+ // padding: 4px !important; // 紧凑 padding
+ height: auto;
+ font-size: 13px;
+ }
+ }
+
+ // 表体(奇偶行交替 + hover高亮)
.el-table__body-wrapper {
.el-table__row {
- // 奇数行背景(深一点)
- &:nth-child(odd) {
- .el-table__cell {
- background: #2F3339; // 中深灰
- color: #EAEAEA; // 浅灰白文字
- }
+
+ // 奇数行
+ &:nth-child(odd) .el-table__cell {
+ background: $--color-background-light;
+ color: $--color-text-regular;
}
- // 偶数行背景(稍亮一点)
- &:nth-child(even) {
- .el-table__cell {
- background: #353A40; // 稍亮的工业灰
- color: #EAEAEA;
- }
+ // 偶数行
+ &:nth-child(even) .el-table__cell {
+ background: $--color-background-light;
+ color: $--color-text-regular;
}
- // 鼠标悬停高亮
- &:hover {
- .el-table__cell {
- background: rgba(95, 123, 160, 0.25); // 工业蓝高亮
- color: #888888;
- }
+ // hover
+ &:hover .el-table__cell {
+ background: rgba($--color-primary, 0.25);
+ color: #888888;
}
// 当前行
- &.current-row {
- .el-table__cell {
- background: rgba(95, 123, 160, 0.35); // 工业蓝更高对比
- color: #FFFFFF;
- font-weight: 600;
- }
+ &.current-row .el-table__cell {
+ background: rgba($--color-primary, 0.35);
+ color: $--color-text-primary;
+ // font-weight: 600;
}
}
+ // 单元格(统一边框 + 紧凑 padding)
.el-table__cell {
- border-bottom: 1px solid #444A52; // 工业灰分隔线
- color: #EAEAEA; // 主体文字清晰可见
+ border-bottom: 1px solid $--border-color-lighter;
+ color: $--color-text-regular;
+ // padding: 2px 4px !important; // 超紧凑
+ font-size: 13px;
}
}
- // 表头
- .el-table__header-wrapper {
- th {
- background: #1F2227; // 深灰黑表头
- color: #FFFFFF; // 纯白标题
- font-weight: 600;
- border-bottom: 1px solid #444A52;
- }
- }
-
-
- .el-table__column-resize-proxy { background-color: $--color-primary; }
-
- // 底
+ // 表尾
.el-table__footer-wrapper {
border-top: 1px solid $--border-color-lighter;
td {
- background: linear-gradient(0deg, lighten($--color-background, 3%), $--color-background);
+ background: linear-gradient(0deg, $--color-background-light, $--color-background);
color: $--color-text-secondary;
+ // padding: 4px !important;
+ }
+ }
+
+ // 列宽调整线
+ .el-table__column-resize-proxy {
+ background-color: $--color-primary;
+ }
+
+ // 展开图标
+ .el-table__expand-icon {
+ color: $--color-text-secondary;
+
+ &.is-expanded,
+ &:hover {
+ color: $--color-primary;
+ }
+ }
+
+ &__empty-block {
+ background: $--color-background;
+ }
+
+ // 适配尺寸类(统一紧凑)
+ // &.el-table--medium .el-table__cell,
+ // &.el-table--mini .el-table__cell {
+ // padding: 0 !important;
+ // }
+}
+
+.el-table__fixed-right {
+ // 表头(深灰黑 + 纯白文字)
+ .el-table__fixed-header-wrapper {
+ th.el-table__cell {
+ background: $--color-background;
+ color: $--color-text-primary;
+ font-weight: 600;
+ border-bottom: 1px solid $--border-color-lighter;
+ // padding: 4px !important; // 紧凑 padding
+ // font-size: 13px;
+ }
+ }
+
+ // 表体(奇偶行交替 + hover高亮)
+ .el-table__fixed-body-wrapper {
+ .el-table__row {
+
+ // 奇数行
+ &:nth-child(odd) .el-table__cell {
+ background: $--color-background-light;
+ color: $--color-text-regular;
+ }
+
+ // 偶数行
+ &:nth-child(even) .el-table__cell {
+ background: $--color-background-light;
+ color: $--color-text-regular;
+ }
+
+ // 当前行
+ &.current-row .el-table__cell {
+ background: rgba($--color-primary, 0.35);
+ color: $--color-text-primary;
+ font-weight: 600;
+ }
}
}
}
-// 展开图标
-.el-table__expand-icon {
- color: $--color-text-secondary;
+// ---------------------- 3.2 日期范围选择器 ----------------------
+// 日期范围选择器主题样式
+.el-date-editor {
+ height: $--btn-height;
- &.is-expanded { color: $--color-primary; }
- &:hover { color: $--color-primary; }
+ // 基础样式
+ &.el-range-editor {
+ background: $--color-background;
+ border: 1px solid $--border-color;
+ border-radius: 4px;
+ color: $--color-text-regular;
+ height: $--btn-height;
+ padding: 0 8px;
+ box-shadow: none;
+ transition: all 0.2s ease;
+
+ // 悬停状态
+ &:hover {
+ border-color: $--color-primary;
+ box-shadow: 0 0 0 2px rgba($--color-primary, 0.2);
+ }
+
+ // 聚焦状态
+ &.is-focus {
+ border-color: $--color-primary;
+ box-shadow: 0 0 0 2px rgba($--color-primary, 0.2);
+ outline: none;
+ }
+
+ // 图标样式
+ .el-input__icon {
+ color: $--color-text-secondary;
+ width: 18px;
+ height: 18px;
+ line-height: 18px;
+
+ &:hover {
+ color: $--color-primary;
+ }
+ }
+
+ // 输入框样式
+ .el-range-input {
+ background: transparent;
+ border: none;
+ color: $--color-text-regular;
+ padding: 0 4px;
+ height: 100%;
+ font-size: 13px;
+ width: 80px;
+
+ &::placeholder {
+ color: $--color-text-placeholder;
+ }
+
+ &:focus {
+ outline: none;
+ }
+ }
+
+ // 分隔符样式
+ .el-range-separator {
+ color: $--color-text-secondary;
+ padding: 0 4px;
+ font-size: 13px;
+ }
+
+ // 清除图标
+ .el-range__close-icon {
+ margin-left: 4px;
+
+ &:hover {
+ color: $--color-danger;
+ }
+ }
+ }
+
+ &--medium.el-input__inner {
+ height: auto;
+ }
}
-// 选择框(与 Element 状态类配合)
-.el-checkbox {
- .el-checkbox__inner {
+.el-range-editor--medium.el-input__inner {
+ height: $--btn-height !important;
+ width: auto !important;
+
+ .el-range-separator {
+ padding: 0;
+ line-height: 16px;
+ font-size: 13px;
+ color: $--color-text-secondary;
+ }
+}
+
+// 日期选择面板样式
+.el-picker-panel {
+ background: $--color-background;
+ border: 1px solid $--border-color;
+ border-radius: 6px;
+ box-shadow: $--metal-shadow;
+ color: $--color-text-regular;
+
+ // 头部导航
+ .el-picker-panel__header {
+ border-bottom: 1px solid $--border-color-lighter;
+ padding: 6px 10px;
+
+ button {
+ color: $--color-text-secondary;
+
+ &:hover {
+ color: $--color-primary;
+ background: rgba($--color-primary, 0.1);
+ }
+ }
+
+ .el-picker-panel__icon-btn {
+ width: 24px;
+ height: 24px;
+ line-height: 24px;
+ border-radius: 4px;
+ }
+
+ .el-date-picker__header-label {
+ color: $--color-text-primary;
+ font-weight: 500;
+ }
+ }
+
+ // 日期表格
+ .el-date-table {
+ border-collapse: separate;
+ border-spacing: 2px;
+
+ th {
+ color: $--color-text-secondary;
+ font-weight: normal;
+ padding: 4px 0;
+ font-size: 12px;
+ }
+
+ td {
+ padding: 0;
+
+ .el-date-table__cell {
+ width: 28px;
+ height: 28px;
+ line-height: 28px;
+ border-radius: 4px;
+ margin: 1px;
+ font-size: 13px;
+
+ &:hover {
+ background: rgba($--color-primary, 0.2);
+ }
+
+ &.current {
+ background: $--color-primary;
+ color: $--color-text-primary;
+ }
+
+ &.in-range {
+ background: rgba($--color-primary, 0.1);
+
+ &::before {
+ background: $--color-primary;
+ }
+ }
+
+ &.start-date,
+ &.end-date {
+ background: $--color-primary;
+ color: $--color-text-primary;
+ }
+ }
+ }
+
+ .available.in-range div {
+ background-color: $--color-background;
+ }
+ }
+
+ // 范围选择器底部按钮
+ .el-range-picker__footer {
+ border-top: 1px solid $--border-color-lighter;
+ padding: 6px 10px;
+
+ button {
+ background: $--color-background-light;
+ border: 1px solid $--border-color;
+ color: $--color-text-regular;
+ height: 24px;
+ line-height: 22px;
+ padding: 0 12px;
+ font-size: 12px;
+ border-radius: 4px;
+
+ &:hover {
+ background: rgba($--color-primary, 0.2);
+ border-color: $--color-primary;
+ }
+
+ &.el-button--primary {
+ background: $--color-primary;
+ border-color: $--color-primary;
+ color: $--color-text-primary;
+
+ &:hover {
+ background: lighten($--color-primary, 10%);
+ border-color: lighten($--color-primary, 10%);
+ }
+ }
+ }
+ }
+}
+
+// 自定义表格工具类(补充紧凑)
+.small-padding .cell {
+ padding-left: $--spacing-base / 2;
+ padding-right: $--spacing-base / 2;
+}
+
+.status-col .cell {
+ padding: 0 10px !important;
+ text-align: center;
+}
+
+
+// ---------------------- 3.3 表单/输入(金属内阴影 + 统一高度)----------------------
+// 表单项布局
+.el-form-item {
+ margin-bottom: $--form-item-margin !important;
+ font-size: 13px;
+
+ // 标签样式
+ .el-form-item__label {
+ color: $--color-text-secondary;
+ padding-right: $--spacing-base;
+ font-size: 13px;
+ }
+
+ // 搜索表单 inline 布局
+ &.search-form-item {
+ display: inline-block;
+ margin-right: $--spacing-base;
+ vertical-align: middle;
+ }
+}
+
+// 输入框(统一高度 + 金属内阴影)
+.el-input {
+ height: $--btn-height;
+
+ .el-input__inner {
background: $--metal-gradient-light;
border-color: $--border-color-light;
- box-shadow: $--metal-shadow-inset;
+ color: $--color-text-regular;
+ // box-shadow: $--metal-shadow-inset;
+ border-radius: 0;
+ height: $--btn-height;
+ line-height: $--btn-height;
+ font-size: 13px;
+
+ &::placeholder {
+ color: $--color-text-placeholder;
+ }
+
+ &:focus {
+ border-color: $--color-primary;
+ box-shadow: $--metal-shadow-inset;
+ }
}
- &.is-checked .el-checkbox__inner {
- background: $--metal-gradient-dark;
- border-color: $--border-color-base;
+ // 输入框图标
+ .el-input__icon {
+ color: $--color-text-secondary;
+ height: $--btn-height;
+ line-height: $--btn-height;
- &::after { border-color: $--color-text-primary; }
+ &:hover {
+ color: $--color-primary;
+ }
+ }
+
+ // 尺寸适配(统一高度)
+ &.el-input--small .el-input__inner,
+ &.el-input--medium .el-input__inner,
+ &.el-input--large .el-input__inner {
+ height: $--btn-height;
+ line-height: $--btn-height;
+ }
+
+ .el-input-group__append,
+ .el-input-group__prepend {
+ border-radius: 0;
+ border-left: 1px solid $--border-color-light;
+ background: $--metal-gradient-light;
+ color: $--color-text-regular;
+ // box-shadow: $--metal-shadow-inset;
+ font-size: 13px;
}
}
-// ====================== 表单/输入 ======================
-.el-form-item__label { color: $--color-text-secondary; }
-
-.el-input__inner {
+// 文本域
+.el-textarea .el-textarea__inner {
background: $--metal-gradient-light;
border-color: $--border-color-light;
color: $--color-text-regular;
- box-shadow: $--metal-shadow-inset;
+ // box-shadow: $--metal-shadow-inset;
+ border-radius: 0;
+ padding: $--spacing-base;
+ font-size: 13px;
+
+ &::placeholder {
+ color: $--color-text-placeholder;
+ }
- &::placeholder { color: $--color-text-placeholder; }
&:focus {
border-color: $--color-primary;
box-shadow: $--metal-shadow-inset, 0 0 0 2px rgba($--color-primary, .22);
}
}
-// 数字输入
+// 数字输入框
.el-input-number {
.el-input__inner {
- background: $--metal-gradient-light;
- border-color: $--border-color-light;
- box-shadow: $--metal-shadow-inset;
- color: $--color-text-regular;
- border-radius: 6px 0 0 6px;
+ border-radius: 0;
}
+ // 增减按钮
.el-input-number__increase,
.el-input-number__decrease {
background: $--metal-gradient-light;
border-color: $--border-color-light;
box-shadow: $--metal-shadow;
transition: all .2s ease;
+ height: $--btn-height;
+ line-height: $--btn-height;
&:hover {
background: $--metal-gradient-dark;
@@ -300,28 +811,73 @@ body {
}
}
- .el-input-number__increase { border-radius: 0 6px 6px 0; .el-icon-plus { color: $--color-text-regular; } }
- .el-input-number__decrease { border-radius: 6px 0 0 6px; .el-icon-minus { color: $--color-text-regular; } }
+ .el-input-number__increase {
+ border-radius: 0;
- &.el-input-number--small {
- .el-input-number__increase, .el-input-number__decrease { width: 24px; height: 24px; }
+ .el-icon-plus {
+ color: $--color-text-regular;
+ }
}
- &.is-without-controls .el-input__inner { border-radius: 6px; }
+ .el-input-number__decrease {
+ border-radius: 0;
+
+ .el-icon-minus {
+ color: $--color-text-regular;
+ }
+ }
+
+ // 迷你尺寸
+ &.el-input-number--small {
+
+ .el-input-number__increase,
+ .el-input-number__decrease {
+ width: 24px;
+ height: 24px;
+ }
+ }
+
+ // 无控制按钮
+ &.is-without-controls .el-input__inner {
+ border-radius: 0;
+ }
}
-// 选择器/下拉
-.el-select-dropdown {
- background: $--metal-gradient-light;
- border: 1px solid $--border-color-light;
- box-shadow: $--metal-shadow;
- color: $--color-text-regular;
+// 选择器/下拉框
+.el-select {
+ .el-input__inner {
+ border-radius: 0;
+ height: 24px !important;
+ }
- .el-select-dropdown__item {
+ .el-select__tags {
+ .el-tag {
+ max-width: 100px;
+ }
+ }
+
+ // 下拉面板
+ .el-select-dropdown {
+ background: $--metal-gradient-light;
+ border: 1px solid $--border-color-light;
+ box-shadow: $--metal-shadow;
color: $--color-text-regular;
+ border-radius: 6px;
- &:hover { background-color: rgba($--color-primary, .12); }
- &.selected{ background-color: rgba($--color-primary, .20); color: #fff; }
+ .el-select-dropdown__item {
+ color: $--color-text-regular;
+ padding: 6px 16px;
+ font-size: 13px;
+
+ &:hover {
+ background-color: rgba($--color-primary, .12);
+ }
+
+ &.selected {
+ background-color: rgba($--color-primary, .20);
+ color: $--color-text-primary;
+ }
+ }
}
}
@@ -331,30 +887,44 @@ body {
background-color: $--border-color-base;
box-shadow: $--metal-shadow-inset;
}
- &.is-checked .el-switch__core { background-color: $--color-primary; }
+
+ &.is-checked .el-switch__core {
+ background-color: $--color-primary;
+ }
}
// 滑块
-.el-slider__bar { background: $--metal-gradient-dark; }
-.el-slider__button {
+.el-slider__bar {
+ background: $--metal-gradient-dark;
+}
+
+.el-slider__button {
background: $--metal-gradient-light;
border-color: $--border-color-light;
box-shadow: $--metal-shadow;
}
-// 标签
-.el-tag {
- background: $--metal-gradient-light;
- border-color: $--border-color-light;
- color: $--color-text-regular;
+// 复选框
+.el-checkbox {
+ .el-checkbox__inner {
+ background: $--metal-gradient-light;
+ border-color: $--border-color-light;
+ box-shadow: $--metal-shadow-inset;
+ border-radius: 4px;
+ }
- &.el-tag--primary {
- background: rgba($--color-primary, .22);
- color: $--color-primary;
- border-color: transparent;
+ &.is-checked .el-checkbox__inner {
+ background: $--metal-gradient-dark;
+ border-color: $--border-color-base;
+
+ &::after {
+ border-color: $--color-text-primary;
+ }
}
}
+
+// ---------------------- 3.4 卡片/对话框(金属外阴影 + 层级)----------------------
// 卡片
.el-card {
background: $--metal-gradient-light;
@@ -362,152 +932,114 @@ body {
box-shadow: $--metal-shadow;
border-radius: 8px;
color: $--color-text-regular;
+ overflow: hidden;
- .el-card__header { border-bottom: 1px solid $--border-color-lighter; color: $--color-text-primary; }
+ // 卡片头部
+ .el-card__header {
+ padding: $--spacing-md $--spacing-lg;
+ border-bottom: 1px solid $--border-color-lighter;
+ color: $--color-text-primary;
+ background: transparent;
+ }
+
+ // 卡片主体
+ .el-card__body {
+ padding: $--spacing-lg;
+ }
}
// 对话框
.el-dialog {
- background: $--metal-gradient-light;
+ transform: none;
+ left: 0;
+ position: relative;
+ margin: 10vh auto 0;
+ // background: $--metal-gradient-light !important;
+ background-color: white !important;
+ border: 1px solid $--border-color-light;
+ box-shadow: $--metal-shadow;
+ border-radius: 8px;
+ color: $--color-text-regular;
+
+ // 对话框头部
+ .el-dialog__header {
+ padding: $--spacing-lg;
+ border-bottom: 1px solid $--border-color-lighter;
+ }
+
+ .el-dialog__title {
+ color: $--color-text-primary;
+ }
+
+ // 对话框主体
+ .el-dialog__body {
+ padding: $--spacing-lg;
+ max-height: 60vh;
+ overflow-y: auto;
+ }
+
+ // 对话框底部
+ .el-dialog__footer {
+ padding: $--spacing-md $--spacing-lg;
+ border-top: 1px solid $--border-color-lighter;
+ text-align: right;
+ }
+}
+
+// 抽屉
+.el-drawer {
+ // background: $--metal-gradient-light;
border: 1px solid $--border-color-light;
box-shadow: $--metal-shadow;
border-radius: 8px;
color: $--color-text-regular;
}
-// Popover(使用 popper 箭头)
+// Popover
.el-popover {
- background: $--metal-gradient-light;
+ // background: $--metal-gradient-light;
border: 1px solid $--border-color-light;
border-radius: 8px;
box-shadow: $--metal-shadow;
color: $--color-text-regular;
+ padding: $--spacing-lg;
+ &:focus {
+ outline: none;
+ }
+
+ // Popover 标题
.el-popover__title {
color: $--color-text-primary;
border-bottom: 1px solid $--border-color-lighter;
- padding-bottom: 8px; margin-bottom: 8px; font-weight: 600;
+ padding-bottom: $--spacing-md;
+ margin-bottom: $--spacing-md;
+ font-weight: 600;
}
+ // Popover 底部
.el-popover__footer {
border-top: 1px solid $--border-color-lighter;
- padding-top: 12px; margin-top: 8px; text-align: right;
+ padding-top: $--spacing-md;
+ margin-top: $--spacing-md;
+ text-align: right;
}
- .popper__arrow { // 兼容 element 的箭头类
- &::after { background: $--metal-gradient-light; }
+ // 箭头样式
+ .popper__arrow {
+ &::after {
+ background: $--metal-gradient-light;
+ }
+
border-color: $--border-color-light;
}
}
-.el-popover:focus { outline: none; }
-.el-button-group + .el-popover { margin-left: 5px; }
-
-// 日期选择器
-.el-date-picker {
- .el-picker-panel {
- background: $--metal-gradient-light;
- border: 1px solid $--border-color-light;
- border-radius: 8px;
- box-shadow: $--metal-shadow;
- color: $--color-text-regular;
-
- .el-date-picker__header {
- border-bottom: 1px solid $--border-color-lighter;
- color: $--color-text-primary;
-
- .el-date-picker__header-label { cursor: pointer; transition: color .2s; &:hover { color: $--color-primary; } }
- .el-date-picker__header-btn { color: $--color-text-secondary; cursor: pointer; transition: color .2s;
- &:hover { color: $--color-primary; }
- &.is-disabled { color: $--color-text-placeholder; cursor: not-allowed; }
- }
- }
-
- .el-date-table {
- th { color: $--color-text-secondary; font-weight: normal; }
- td {
- color: $--color-text-regular;
- border-radius: 4px;
- transition: all .2s;
-
- &.available { cursor: pointer; &:hover { background: $--metal-highlight; } }
- &.today { color: $--color-primary; font-weight: 600; }
- &.current,
- &.selected { background: $--color-primary; color: #fff; &:hover { background: darken($--color-primary, 5%); } }
- &.disabled { color: $--color-text-placeholder; cursor: not-allowed; &:hover { background: transparent; } }
- }
- }
-
- .el-picker-panel__shortcut {
- padding: 10px; border-top: 1px solid $--border-color-lighter;
-
- .el-picker-panel__shortcut-btn {
- padding: 4px 10px; border-radius: 4px; cursor: pointer; transition: all .2s;
- color: $--color-text-regular;
-
- &:hover { background: $--metal-highlight; color: $--color-text-primary; }
- &.is-selected { background: $--color-primary; color: #fff; &:hover { background: darken($--color-primary, 5%); } }
- }
- }
- }
-
- .el-input__inner {
- background: $--metal-gradient-light;
- border-color: $--border-color-light;
- box-shadow: $--metal-shadow-inset;
- color: $--color-text-regular;
-
- &:focus {
- border-color: $--color-primary;
- box-shadow: $--metal-shadow-inset, 0 0 0 2px rgba($--color-primary,.22);
- }
- }
-
- .el-input__icon {
- color: $--color-text-secondary;
- transition: color .2s;
- &:hover { color: $--color-primary; }
- }
-}
-
-// 其他
-$--color-loading: $--color-primary !default;
-
-.pagination-container { background-color: transparent !important; }
-
-.el-range-separator { color: $--color-text-regular; padding: 0 8px; }
-
-.el-range-input {
- background-color: transparent !important;
-}
-
-.el-tree {
- background-color: transparent !important;
- color: white
-}
-
-.el-form-item__label {
- color: white;
-}
-
-.is-center.is-leaf.el-table__cell {
- background-color: #1F2227;
-}
-
-// 描述列表
-.el-descriptions {
- .el-descriptions__body {
- background-color: transparent !important;
- }
-
- .el-descriptions-item__label {
- color: white;
- }
- .el-descriptions-item__content {
- color: white;
- }
+.el-button-group+.el-popover {
+ margin-left: 5px;
}
+// ====================== 标签页组件(el-tabs)样式 =======================
.el-tabs {
// 标签页容器
background-color: transparent;
@@ -527,7 +1059,7 @@ $--color-loading: $--color-primary !default;
// background-color: $--color-background-light;
border-radius: 6px 6px 0 0;
padding: 0 var(--spacing-base);
- box-shadow: inset 0 -1px 0 $--border-color-light;
+ // box-shadow: inset 0 -1px 0 $--border-color-light;
}
// 标签项
@@ -604,10 +1136,10 @@ $--color-loading: $--color-primary !default;
// 标签内容区
.el-tabs__content {
- padding: var(--spacing-lg);
+ // padding: var(--spacing-lg);
background-color: $--metal-gradient-light;
- border: 1px solid $--border-color-light;
- border-radius: 0 0 6px 6px;
+ // border: 1px solid $--border-color-light;
+ // border-radius: 0 0 6px 6px;
}
// 卡片类型标签页
@@ -625,14 +1157,15 @@ $--color-loading: $--color-primary !default;
.el-tabs__item {
border: 1px solid $--border-color-light;
border-bottom: none;
- border-radius: 6px 6px 0 0;
+ // border-radius: 6px 6px 0 0;
margin: 0 2px;
background-color: $--metal-gradient-light;
&.is-active {
border-color: $--border-color-light;
border-bottom-color: $--metal-gradient-light;
- background-color: $--metal-gradient-light;
+ background-color: $--color-primary;
+ color: $--metal-gradient-light;
position: relative;
bottom: -1px;
}
@@ -718,4 +1251,424 @@ $--color-loading: $--color-primary !default;
background-color: rgba($--color-primary, 0.08);
}
}
+}
+
+// ---------------------- 3.5 日期选择器(深色适配 + 交互优化)----------------------
+.el-date-picker {
+ .el-picker-panel {
+ background: $--metal-gradient-light;
+ border: 1px solid $--border-color-light;
+ border-radius: 8px;
+ box-shadow: $--metal-shadow;
+ color: $--color-text-regular;
+
+ // 头部(年月切换)
+ .el-date-picker__header {
+ border-bottom: 1px solid $--border-color-lighter;
+ color: $--color-text-primary;
+ padding: $--spacing-md;
+
+ .el-date-picker__header-label {
+ cursor: pointer;
+ transition: color .2s;
+
+ &:hover {
+ color: $--color-primary;
+ }
+ }
+
+ .el-date-picker__header-btn {
+ color: $--color-text-secondary;
+ cursor: pointer;
+ transition: color .2s;
+
+ &:hover {
+ color: $--color-primary;
+ }
+
+ &.is-disabled {
+ color: $--color-text-placeholder;
+ cursor: not-allowed;
+ }
+ }
+ }
+
+ // 日期表格
+ .el-date-table {
+ th {
+ color: $--color-text-secondary;
+ font-weight: normal;
+ padding: $--spacing-sm;
+ }
+
+ td {
+ color: $--color-text-regular;
+ border-radius: 4px;
+ transition: all .2s;
+ padding: $--spacing-sm;
+
+ &.available {
+ cursor: pointer;
+
+ &:hover {
+ background: $--metal-highlight;
+ }
+ }
+
+ &.today {
+ color: $--color-primary;
+ font-weight: 600;
+ }
+
+ &.current,
+ &.selected {
+ background: $--color-primary;
+ color: $--color-text-primary;
+
+ &:hover {
+ background: darken($--color-primary, 5%);
+ }
+ }
+
+ &.disabled {
+ color: $--color-text-placeholder;
+ cursor: not-allowed;
+
+ &:hover {
+ background: transparent;
+ }
+ }
+ }
+ }
+
+ // 快捷选项
+ .el-picker-panel__shortcut {
+ padding: $--spacing-md;
+ border-top: 1px solid $--border-color-lighter;
+
+ .el-picker-panel__shortcut-btn {
+ padding: 4px 10px;
+ border-radius: 4px;
+ cursor: pointer;
+ transition: all .2s;
+ color: $--color-text-regular;
+
+ &:hover {
+ background: $--metal-highlight;
+ color: $--color-text-primary;
+ }
+
+ &.is-selected {
+ background: $--color-primary;
+ color: $--color-text-primary;
+
+ &:hover {
+ background: darken($--color-primary, 5%);
+ }
+ }
+ }
+ }
+ }
+
+ // 范围选择器分隔符
+ .el-range-separator {
+ color: $--color-text-regular;
+ padding: 0 $--spacing-md;
+ box-sizing: content-box;
+ }
+
+ // 范围输入框
+ .el-range-input {
+ background-color: transparent !important;
+ }
+
+ .el-range-editor.el-input__inner {
+ display: inline-flex !important;
+ }
+}
+
+// ====================== 描述列表组件(el-descriptions)- 深色模式 ======================
+.el-descriptions {
+ width: 100%;
+ // background: $--color-background !important; // 黑色背景
+ box-shadow: $--metal-shadow;
+ overflow: hidden;
+ color: $--color-text-primary; // 白色文字
+
+ // 描述列表头部
+ &__header {
+ padding: $--spacing-base $--spacing-lg;
+ border-bottom: 1px solid $--border-color-lighter;
+ // background: $--metal-gradient-dark;
+ color: $--color-text-primary; // 白色标题
+ font-weight: 600;
+ font-size: 14px;
+ }
+
+ // 描述列表主体容器
+ &__body {
+ width: 100%;
+ background-color: transparent;
+ }
+
+ // 描述列表行
+ &__row {
+ display: flex;
+ width: 100%;
+ border-bottom: 1px solid $--border-color-lighter;
+
+ // 最后一行移除底部边框
+ &:last-child {
+ border-bottom: none;
+ }
+ }
+
+ // 描述列表标签项(左侧)
+ .el-descriptions-item__label {
+ // padding: $--spacing-lg;
+ // background: $--color-background !important; // 极浅灰背景区分标签
+ color: $--color-text-secondary; // 浅灰文字
+ font-weight: 500;
+ // border-right: 1px solid $--border-color-lighter;
+ box-sizing: border-box;
+ white-space: nowrap;
+ font-size: 13px;
+ }
+
+ // 描述列表内容项(右侧)
+ &-item__content {
+ // padding: $--spacing-lg;
+ // background: $--color-background-light;
+ color: $--color-text-primary; // 白色文字
+ flex: 1;
+ box-sizing: border-box;
+ font-size: 13px;
+ word-break: break-word;
+ }
+
+ // 带边框模式适配
+ &--border {
+ border: 1px solid $--border-color-light;
+ border-radius: 8px;
+ overflow: hidden;
+
+ .el-descriptions__label,
+ .el-descriptions__content {
+ border-color: $--border-color-lighter;
+ }
+
+ .el-descriptions__header {
+ border-bottom: 1px solid $--border-color-light;
+ }
+ }
+
+ // 尺寸适配
+ &--small {
+
+ .el-descriptions__label,
+ .el-descriptions__content {
+ padding: $--spacing-base / 2 $--spacing-base;
+ font-size: 12px;
+ }
+
+ .el-descriptions__header {
+ padding: $--spacing-base / 2 $--spacing-base;
+ font-size: 13px;
+ }
+ }
+
+ &--large {
+
+ .el-descriptions__label,
+ .el-descriptions__content {
+ padding: $--spacing-lg $--spacing-lg;
+ font-size: 14px;
+ }
+
+ .el-descriptions__header {
+ padding: $--spacing-base $--spacing-lg;
+ font-size: 15px;
+ }
+ }
+
+ // 响应式适配
+ @media (max-width: 768px) {
+ .el-descriptions__row {
+ flex-direction: column;
+ }
+
+ .el-descriptions__label {
+ border-right: none;
+ border-bottom: 1px solid $--border-color-lighter;
+ width: 100%;
+ }
+ }
+}
+
+
+// ---------------------- 3.6 导航类(面包屑/菜单)----------------------
+// 面包屑
+.el-breadcrumb {
+ padding: $--spacing-md 0;
+ font-size: 13px;
+
+ .el-breadcrumb__inner,
+ .el-breadcrumb__inner a {
+ font-weight: 400 !important;
+ color: $--color-text-secondary !important;
+ }
+
+ .el-breadcrumb__separator {
+ margin: 0 $--spacing-sm;
+ color: $--border-color;
+ }
+}
+
+// 菜单
+.el-menu {
+ border-right: 1px solid $--border-color;
+ background: $--color-background;
+
+ .el-menu-item,
+ .el-submenu__title {
+ padding: 0 16px !important;
+ height: 40px !important;
+ line-height: 40px !important;
+ color: $--color-text-secondary;
+ font-size: 13px;
+
+ &:hover {
+ background: rgba($--color-primary, .12);
+ color: $--color-primary;
+ }
+ }
+
+ // 折叠菜单
+ &.el-menu--collapse>div>.el-submenu>.el-submenu__title .el-submenu__icon-arrow {
+ display: none;
+ }
+
+ // 激活菜单
+ .el-menu-item.is-active {
+ color: $--color-primary;
+ background: rgba($--color-primary, .15);
+ border-right: 3px solid $--color-primary;
+ }
+}
+
+
+// ---------------------- 3.7 其他组件(标签/分页/上传)----------------------
+// 标签
+.el-tag {
+ background: $--metal-gradient-light;
+ border-color: $--border-color-light;
+ color: $--color-text-regular;
+ padding: 2px 4px;
+ border-radius: 4px;
+ font-size: 12px;
+ height: auto;
+ margin-right: 0;
+
+ // 主色标签
+ &.el-tag--primary {
+ background: rgba($--color-primary, .22);
+ color: $--color-primary;
+ border-color: transparent;
+ }
+
+ // 表格内标签(无圆角)
+ .cell & {
+ margin-right: 0;
+ padding: 1px !important;
+ border-radius: 4px !important;
+ }
+}
+
+// 分页
+.el-pagination {
+ margin-top: 16px;
+ padding: 8px 0;
+ text-align: right;
+
+ .el-pager li {
+ margin: 0 2px;
+ min-width: 30px;
+ height: 30px;
+ line-height: 30px;
+ border-radius: 4px;
+ background: $--metal-gradient-light;
+ border: 1px solid $--border-color-light;
+
+ &:hover {
+ background: $--metal-gradient-dark;
+ color: $--color-primary;
+ }
+
+ &.active {
+ background: $--color-primary;
+ color: $--color-text-primary;
+ border-color: $--color-primary;
+ }
+ }
+
+ // 输入框后缀
+ .el-input__suffix {
+ position: absolute;
+ line-height: 0;
+ }
+}
+
+// 分页容器(透明背景)
+div.pagination-container {
+ background-color: transparent !important;
+ padding: 0 !important;
+ margin-top: 0 !important;
+ margin-bottom: 0 !important;
+
+ .el-pagination {
+ padding: 0 !important;
+ }
+}
+
+// 上传组件
+.el-upload {
+ input[type="file"] {
+ display: none !important;
+ }
+
+ .el-upload__input {
+ display: none;
+ }
+
+ // 拖拽上传容器
+ .el-upload-dragger {
+ width: 100%;
+ height: 200px;
+ border-radius: 6px;
+ border: 2px dashed $--border-color;
+ background: $--metal-gradient-light;
+ color: $--color-text-secondary;
+
+ &:hover {
+ border-color: $--color-primary;
+ background: $--metal-gradient-dark;
+ }
+ }
+}
+
+// 树形组件
+.el-tree {
+ background-color: transparent !important;
+ color: $--color-text-regular;
+
+ .el-tree-node {
+ // &:hover {
+ // background: rgba($--color-primary, .12);
+ // }
+
+ &.is-current>.el-tree-node__content {
+ background: rgba($--color-primary, .2);
+ color: $--color-primary;
+ }
+ }
}
\ No newline at end of file
diff --git a/apps/l2/src/assets/styles/element-variables.scss b/apps/l2/src/assets/styles/element-variables.scss
index a3fc9b7..3369236 100644
--- a/apps/l2/src/assets/styles/element-variables.scss
+++ b/apps/l2/src/assets/styles/element-variables.scss
@@ -4,7 +4,8 @@
**/
/* theme color */
-$--color-primary: #647b98;
+$--color-primary: #5F7BA0;
+// $--color-primary: #2bf;
$--color-success: #13ce66;
$--color-warning: #ffba00;
$--color-danger: #ff4949;
@@ -26,6 +27,6 @@ $--font-path: '~element-ui/lib/theme-chalk/fonts';
// the :export directive is the magic sauce for webpack
// https://www.bluematador.com/blog/how-to-share-variables-between-js-and-sass
-:export {
- theme: $--color-primary;
-}
+// :export {
+// theme: $--color-primary;
+// }
diff --git a/apps/l2/src/assets/styles/index.scss b/apps/l2/src/assets/styles/index.scss
index 93e3aec..2f3b9ef 100644
--- a/apps/l2/src/assets/styles/index.scss
+++ b/apps/l2/src/assets/styles/index.scss
@@ -10,7 +10,6 @@ body {
-moz-osx-font-smoothing: grayscale;
-webkit-font-smoothing: antialiased;
text-rendering: optimizeLegibility;
- background-color: #a1a6ac;
font-family: Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB, Microsoft YaHei, Arial, sans-serif;
}
diff --git a/apps/l2/src/assets/styles/klp.scss b/apps/l2/src/assets/styles/klp.scss
new file mode 100644
index 0000000..8c70623
--- /dev/null
+++ b/apps/l2/src/assets/styles/klp.scss
@@ -0,0 +1,291 @@
+/**
+* 通用css样式布局处理
+* Copyright (c) 2019 klp
+*/
+
+/** 基础通用 **/
+.pt5 {
+ padding-top: 5px;
+}
+
+.pr5 {
+ padding-right: 5px;
+}
+
+.pb5 {
+ padding-bottom: 5px;
+}
+
+.mt5 {
+ margin-top: 5px;
+}
+
+.mr5 {
+ margin-right: 5px;
+}
+
+.mb5 {
+ margin-bottom: 5px;
+}
+
+.mb8 {
+ margin-bottom: 8px;
+}
+
+.ml5 {
+ margin-left: 5px;
+}
+
+.mt10 {
+ margin-top: 10px;
+}
+
+.mr10 {
+ margin-right: 10px;
+}
+
+.mb10 {
+ margin-bottom: 10px;
+}
+.ml10 {
+ margin-left: 10px;
+}
+
+.mt20 {
+ margin-top: 20px;
+}
+
+.mr20 {
+ margin-right: 20px;
+}
+
+.mb20 {
+ margin-bottom: 20px;
+}
+.ml20 {
+ margin-left: 20px;
+}
+
+.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
+ font-family: inherit;
+ font-weight: 500;
+ line-height: 1.1;
+ color: inherit;
+}
+
+.el-message-box__status + .el-message-box__message{
+ word-break: break-word;
+}
+
+.el-dialog:not(.is-fullscreen) {
+ margin-top: 6vh !important;
+}
+
+.el-dialog__wrapper.scrollbar .el-dialog .el-dialog__body {
+ overflow: auto;
+ overflow-x: hidden;
+ max-height: 70vh;
+ padding: 10px 20px 0;
+}
+
+// .el-table {
+// .el-table__header-wrapper, .el-table__fixed-header-wrapper {
+// th {
+// word-break: break-word;
+// background-color: #f8f8f9;
+// color: #515a6e;
+// height: 40px;
+// font-size: 13px;
+// }
+// }
+
+// .el-table__body-wrapper {
+// .el-button [class*="el-icon-"] + span {
+// margin-left: 1px;
+// }
+// }
+// }
+
+/** 表单布局 **/
+// .form-header {
+// font-size: 15px;
+// color: #6379bb;
+// border-bottom: 1px solid #ddd;
+// margin: 8px 10px 25px 10px;
+// padding-bottom: 5px
+// }
+
+// /** 表格布局 **/
+// .pagination-container {
+// position: relative;
+// height: 25px;
+// margin-bottom: 10px;
+// margin-top: 15px;
+// padding: 10px 20px !important;
+// }
+
+/* tree border */
+// .tree-border {
+// margin-top: 5px;
+// border: 1px solid #e5e6e7;
+// background: #FFFFFF none;
+// border-radius: 4px;
+// }
+
+// .pagination-container .el-pagination {
+// right: 0;
+// position: absolute;
+// }
+
+// @media (max-width: 768px) {
+// .pagination-container .el-pagination > .el-pagination__jump {
+// display: none !important;
+// }
+// .pagination-container .el-pagination > .el-pagination__sizes {
+// display: none !important;
+// }
+// }
+
+// .el-table .fixed-width .el-button--mini {
+// padding-left: 0;
+// padding-right: 0;
+// width: inherit;
+// }
+
+// /** 表格更多操作下拉样式 */
+// .el-table .el-dropdown-link,.el-table .el-dropdown-selfdefine {
+// cursor: pointer;
+// margin-left: 5px;
+// }
+
+// .el-table .el-dropdown, .el-icon-arrow-down {
+// font-size: 12px;
+// }
+
+// .el-tree-node__content > .el-checkbox {
+// margin-right: 8px;
+// }
+
+.list-group-striped > .list-group-item {
+ border-left: 0;
+ border-right: 0;
+ border-radius: 0;
+ padding-left: 0;
+ padding-right: 0;
+}
+
+.list-group {
+ padding-left: 0px;
+ list-style: none;
+}
+
+.list-group-item {
+ border-bottom: 1px solid #e7eaec;
+ border-top: 1px solid #e7eaec;
+ margin-bottom: -1px;
+ padding: 11px 0px;
+ font-size: 13px;
+}
+
+.pull-right {
+ float: right !important;
+}
+
+.el-card__header {
+ padding: 14px 15px 7px;
+ min-height: 40px;
+}
+
+.el-card__body {
+ padding: 15px 20px 20px 20px;
+}
+
+.card-box {
+ padding-right: 15px;
+ padding-left: 15px;
+ margin-bottom: 10px;
+}
+
+/* button color */
+.el-button--cyan.is-active,
+.el-button--cyan:active {
+ background: #20B2AA;
+ border-color: #20B2AA;
+ color: #FFFFFF;
+}
+
+.el-button--cyan:focus,
+.el-button--cyan:hover {
+ background: #48D1CC;
+ border-color: #48D1CC;
+ color: #FFFFFF;
+}
+
+.el-button--cyan {
+ background-color: #20B2AA;
+ border-color: #20B2AA;
+ color: #FFFFFF;
+}
+
+/* text color */
+.text-navy {
+ color: #1ab394;
+}
+
+.text-primary {
+ color: inherit;
+}
+
+.text-success {
+ color: #1c84c6;
+}
+
+.text-info {
+ color: #23c6c8;
+}
+
+.text-warning {
+ color: #f8ac59;
+}
+
+.text-danger {
+ color: #ed5565;
+}
+
+.text-muted {
+ color: #888888;
+}
+
+/* image */
+.img-circle {
+ border-radius: 50%;
+}
+
+.img-lg {
+ width: 120px;
+ height: 120px;
+}
+
+.avatar-upload-preview {
+ position: relative;
+ top: 50%;
+ left: 50%;
+ transform: translate(-50%, -50%);
+ width: 200px;
+ height: 200px;
+ border-radius: 50%;
+ box-shadow: 0 0 4px #ccc;
+ overflow: hidden;
+}
+
+/* 拖拽列样式 */
+.sortable-ghost {
+ opacity: .8;
+ color: #fff !important;
+ background: #42b983 !important;
+}
+
+.top-right-btn {
+ position: relative;
+ float: right;
+}
diff --git a/apps/l2/src/assets/styles/ruoyi.scss b/apps/l2/src/assets/styles/ruoyi.scss
deleted file mode 100644
index 18815c4..0000000
--- a/apps/l2/src/assets/styles/ruoyi.scss
+++ /dev/null
@@ -1,415 +0,0 @@
-/**
-* 通用css样式布局处理
-* Copyright (c) 2019 ruoyi
-*/
-
-/** 基础通用 **/
-.pt5 {
- padding-top: 5px;
-}
-
-.pr5 {
- padding-right: 5px;
-}
-
-.pb5 {
- padding-bottom: 5px;
-}
-
-.mt5 {
- margin-top: 5px;
-}
-
-.mr5 {
- margin-right: 5px;
-}
-
-.mb5 {
- margin-bottom: 5px;
-}
-
-.mb8 {
- margin-bottom: 8px;
-}
-
-.ml5 {
- margin-left: 5px;
-}
-
-.mt10 {
- margin-top: 10px;
-}
-
-.mr10 {
- margin-right: 10px;
-}
-
-.mb10 {
- margin-bottom: 10px;
-}
-.ml10 {
- margin-left: 10px;
-}
-
-.mt20 {
- margin-top: 20px;
-}
-
-.mr20 {
- margin-right: 20px;
-}
-
-.mb20 {
- margin-bottom: 20px;
-}
-.ml20 {
- margin-left: 20px;
-}
-
-.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
- font-family: inherit;
- font-weight: 500;
- line-height: 1.1;
- color: inherit;
-}
-
-.el-message-box__status + .el-message-box__message{
- word-break: break-word;
-}
-
-.el-dialog:not(.is-fullscreen) {
- margin-top: 6vh !important;
-}
-
-.el-dialog__wrapper.scrollbar .el-dialog .el-dialog__body {
- overflow: auto;
- overflow-x: hidden;
- max-height: 70vh;
- padding: 10px 20px 0;
-}
-
-.el-table {
- /* 固定列表格容器背景与分割线 */
- .el-table__fixed,
- .el-table__fixed-left,
- .el-table__fixed-right {
- background: transparent; /* 让内部单元格背景生效 */
- }
-
- .el-table__fixed::before,
- .el-table__fixed-left::before,
- .el-table__fixed-right::before {
- /* 顶部那条细线颜色 */
- background-color: #444A52;
- }
-
- /* 固定列表头 */
- .el-table__fixed-header-wrapper th,
- .el-table__fixed-left .el-table__fixed-header-wrapper th,
- .el-table__fixed-right .el-table__fixed-header-wrapper th {
- background: #1F2227 !important; /* 与主表头一致的深灰 */
- color: #FFFFFF !important; /* 白字 */
- border-bottom: 1px solid #444A52 !important;
- font-weight: 600;
- }
-
- /* 固定列表体单元格(奇偶行) */
- .el-table__fixed-body-wrapper .el-table__row:nth-child(odd) .el-table__cell,
- .el-table__fixed-left .el-table__fixed-body-wrapper .el-table__row:nth-child(odd) .el-table__cell,
- .el-table__fixed-right .el-table__fixed-body-wrapper .el-table__row:nth-child(odd) .el-table__cell {
- background: #2F3339 !important; /* 中深灰 */
- color: #EAEAEA !important; /* 浅灰白字 */
- border-bottom: 1px solid #444A52 !important;
- }
-
- .el-table__fixed-body-wrapper .el-table__row:nth-child(even) .el-table__cell,
- .el-table__fixed-left .el-table__fixed-body-wrapper .el-table__row:nth-child(even) .el-table__cell,
- .el-table__fixed-right .el-table__fixed-body-wrapper .el-table__row:nth-child(even) .el-table__cell {
- background: #353A40 !important; /* 稍亮一档 */
- color: #EAEAEA !important;
- border-bottom: 1px solid #444A52 !important;
- }
-
- /* 固定列 hover / current-row 同步 */
- .el-table__fixed-body-wrapper .el-table__row:hover .el-table__cell,
- .el-table__fixed-left .el-table__fixed-body-wrapper .el-table__row:hover .el-table__cell,
- .el-table__fixed-right .el-table__fixed-body-wrapper .el-table__row:hover .el-table__cell {
- background: rgba(95, 123, 160, 0.25) !important; /* 工业蓝 hover */
- color: #FFFFFF !important;
- }
-
- .el-table__fixed-body-wrapper .el-table__row.current-row .el-table__cell,
- .el-table__fixed-left .el-table__fixed-body-wrapper .el-table__row.current-row .el-table__cell,
- .el-table__fixed-right .el-table__fixed-body-wrapper .el-table__row.current-row .el-table__cell {
- background: rgba(95, 123, 160, 0.35) !important; /* current-row 更明显 */
- color: #FFFFFF !important;
- font-weight: 600;
- }
-
- /* 固定列滚动条(可选) */
- .el-table__fixed-body-wrapper::-webkit-scrollbar,
- .el-table__fixed-left .el-table__fixed-body-wrapper::-webkit-scrollbar,
- .el-table__fixed-right .el-table__fixed-body-wrapper::-webkit-scrollbar {
- width: 8px; height: 8px;
- }
- .el-table__fixed-body-wrapper::-webkit-scrollbar-thumb,
- .el-table__fixed-left .el-table__fixed-body-wrapper::-webkit-scrollbar-thumb,
- .el-table__fixed-right .el-table__fixed-body-wrapper::-webkit-scrollbar-thumb {
- background: #4A525B; border-radius: 6px;
- }
-}
-/* =========================
- Splitpanes 工业风深色主题
- 仍保留 default-theme 类名
- ========================= */
-
-/* 根容器:与页面主背景统一,去掉默认白底 */
-.splitpanes.default-theme {
- background: #2B2F36; /* 页面主底色 */
- border: none;
-}
-
-/* pane:统一深灰金属风,提供一致的内边距 */
-.splitpanes.default-theme .splitpanes__pane {
- background: linear-gradient(145deg, #1F242A, #21262D) !important; /* 深灰渐变 */
- color: #EAEAEA !important;
- padding: 12px 12px; /* 两侧内容留白一致 */
- box-sizing: border-box;
- overflow: hidden; /* 保持干净 */
-}
-
-/* 左/右外侧圆角,仅在最外侧边缘展示,避免中缝突兀 */
-.splitpanes.default-theme .splitpanes__pane:first-child {
- border-radius: 8px 0 0 8px;
-}
-.splitpanes.default-theme .splitpanes__pane:last-child {
- border-radius: 0 8px 8px 0;
-}
-
-/* 分隔条(splitter):工业灰,hover 工业蓝,带内嵌“握把” */
-.splitpanes.default-theme .splitpanes__splitter {
- position: relative;
- background: #39414A !important; /* 静态 */
- transition: background .2s ease;
-}
-.splitpanes.default-theme .splitpanes__splitter:hover {
- background: #46505A !important; /* 悬停稍亮 */
-}
-/* 把握把做成中线,水平/垂直两种方向都美观 */
-.splitpanes.default-theme .splitpanes__splitter::before {
- content: "";
- position: absolute;
- left: 50%;
- top: 50%;
- transform: translate(-50%,-50%);
- border-radius: 2px;
- background: #4A525B;
-}
-.splitpanes.default-theme.splitpanes--vertical .splitpanes__splitter::before {
- width: 2px; height: 60%;
-}
-.splitpanes.default-theme.splitpanes--horizontal .splitpanes__splitter::before {
- height: 2px; width: 60%;
-}
-
-/* pane 内滚动条(如果有)与全站一致 */
-.splitpanes.default-theme .splitpanes__pane::-webkit-scrollbar { width: 8px; height: 8px; }
-.splitpanes.default-theme .splitpanes__pane::-webkit-scrollbar-thumb {
- background: #4A525B; border-radius: 6px;
-}
-.splitpanes.default-theme .splitpanes__pane::-webkit-scrollbar-track { background: transparent; }
-
-/* 可选:让右侧主区域看起来像一张卡片(若你的右 pane 是内容主区) */
-.splitpanes.default-theme .splitpanes__pane:last-child {
- box-shadow: 0 12px 24px rgba(0,0,0,.25) inset,
- 0 1px 0 rgba(255,255,255,.04) inset;
-}
-
-/* 可选:在窄屏时减小 pane 内边距,避免拥挤 */
-@media (max-width: 992px) {
- .splitpanes.default-theme .splitpanes__pane { padding: 8px; }
-}
-
-/** 表单布局 **/
-.form-header {
- font-size: 15px;
- color: #6379bb;
- border-bottom: 1px solid #ddd;
- margin: 8px 10px 25px 10px;
- padding-bottom: 5px
-}
-
-/** 表格布局 **/
-.pagination-container {
- position: relative;
- height: 25px;
- margin-bottom: 10px;
- margin-top: 15px;
- padding: 10px 20px !important;
-}
-
-/* tree border */
-.tree-border {
- margin-top: 5px;
- border: 1px solid #e5e6e7;
- background: #FFFFFF none;
- border-radius: 4px;
-}
-
-.pagination-container .el-pagination {
- right: 0;
- position: absolute;
-}
-
-@media (max-width: 768px) {
- .pagination-container .el-pagination > .el-pagination__jump {
- display: none !important;
- }
- .pagination-container .el-pagination > .el-pagination__sizes {
- display: none !important;
- }
-}
-
-.el-table .fixed-width .el-button--mini {
- padding-left: 0;
- padding-right: 0;
- width: inherit;
-}
-
-/** 表格更多操作下拉样式 */
-.el-table .el-dropdown-link,.el-table .el-dropdown-selfdefine {
- cursor: pointer;
- margin-left: 5px;
-}
-
-.el-table .el-dropdown, .el-icon-arrow-down {
- font-size: 12px;
-}
-
-.el-tree-node__content > .el-checkbox {
- margin-right: 8px;
-}
-
-.list-group-striped > .list-group-item {
- border-left: 0;
- border-right: 0;
- border-radius: 0;
- padding-left: 0;
- padding-right: 0;
-}
-
-.list-group {
- padding-left: 0px;
- list-style: none;
-}
-
-.list-group-item {
- border-bottom: 1px solid #e7eaec;
- border-top: 1px solid #e7eaec;
- margin-bottom: -1px;
- padding: 11px 0px;
- font-size: 13px;
-}
-
-.pull-right {
- float: right !important;
-}
-
-.el-card__header {
- padding: 14px 15px 7px;
- min-height: 40px;
-}
-
-.el-card__body {
- padding: 15px 20px 20px 20px;
-}
-
-.card-box {
- padding-right: 15px;
- padding-left: 15px;
- margin-bottom: 10px;
-}
-
-/* button color */
-.el-button--cyan.is-active,
-.el-button--cyan:active {
- background: #20B2AA;
- border-color: #20B2AA;
- color: #FFFFFF;
-}
-
-.el-button--cyan:focus,
-.el-button--cyan:hover {
- background: #48D1CC;
- border-color: #48D1CC;
- color: #FFFFFF;
-}
-
-.el-button--cyan {
- background-color: #20B2AA;
- border-color: #20B2AA;
- color: #FFFFFF;
-}
-
-/* text color */
-.text-navy {
- color: #1ab394;
-}
-
-.text-primary {
- color: inherit;
-}
-
-.text-success {
- color: #1c84c6;
-}
-
-.text-info {
- color: #23c6c8;
-}
-
-.text-warning {
- color: #f8ac59;
-}
-
-.text-danger {
- color: #ed5565;
-}
-
-.text-muted {
- color: #888888;
-}
-
-/* image */
-.img-circle {
- border-radius: 50%;
-}
-
-.img-lg {
- width: 120px;
- height: 120px;
-}
-
-.avatar-upload-preview {
- position: relative;
- top: 50%;
- left: 50%;
- transform: translate(-50%, -50%);
- width: 200px;
- height: 200px;
- border-radius: 50%;
- box-shadow: 0 0 4px #ccc;
- overflow: hidden;
-}
-
-/* 拖拽列样式 */
-.sortable-ghost {
- opacity: .8;
- color: #fff !important;
- background: #42b983 !important;
-}
-
-.top-right-btn {
- position: relative;
- float: right;
-}
diff --git a/apps/l2/src/assets/styles/sidebar.scss b/apps/l2/src/assets/styles/sidebar.scss
index cde39c2..578353f 100644
--- a/apps/l2/src/assets/styles/sidebar.scss
+++ b/apps/l2/src/assets/styles/sidebar.scss
@@ -4,24 +4,25 @@
--text-regular: #333333;
--text-secondary: #555555;
--text-placeholder: #777777;
+ --background-color: #fff;
.main-container {
height: 100%;
transition: margin-left .28s, box-shadow .3s ease;
margin-left: $base-sidebar-width;
position: relative;
- background: #3f4449; // 金属浅色渐变
+ // background: #1E2227; // 金属浅色渐变
}
.sidebarHide {
- margin-left: 0!important;
+ margin-left: 0 !important;
}
.sidebar-container {
-webkit-transition: width .28s, background .3s ease;
transition: width 0.28s, background .3s ease;
width: $base-sidebar-width !important;
- background: #3f4449; // 金属深色渐变
+ background: var(--background-color); // 金属深色渐变
border-right: 1px solid #8d939b;
height: 100%;
position: fixed;
@@ -44,11 +45,12 @@
.el-scrollbar__bar.is-vertical {
right: 0px;
- background: rgba(0, 0, 0, 0.05);
+ background: #2Bf;
+ width: 0;
}
.el-scrollbar__thumb {
- background: #1E2227;
+ background: var(--background-color);
border-radius: 3px;
}
@@ -86,7 +88,8 @@
background: transparent;
}
- .el-menu-item, .el-submenu__title {
+ .el-menu-item,
+ .el-submenu__title {
// 明确默认状态样式(关键修复)
background: transparent !important;
box-shadow: none !important;
@@ -96,7 +99,7 @@
white-space: nowrap !important;
color: var(--text-regular); // 菜单项文本偏黑
border-radius: 4px;
- margin: 0 6px;
+ margin: 0;
transition: all 0.2s ease;
}
@@ -107,17 +110,10 @@
background: rgba(255, 255, 255, 0.1) !important;
color: var(--text-primary) !important; // hover时文本更深
box-shadow: inset 1px 1px 2px rgba(0, 0, 0, 0.1),
- inset -1px -1px 2px rgba(255, 255, 255, 0.05);
+ inset -1px -1px 2px rgba(255, 255, 255, 0.05);
}
}
- // 深色主题下子菜单选中高亮
- & .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,
& .el-submenu .el-menu-item {
// 子菜单默认样式
@@ -145,13 +141,20 @@
&.is-active {
background: rgba(95, 123, 160, 0.28) !important; // 激活背景
- color: #fff !important; // 激活文字白色
+ color: #000 !important; // 激活文字白色
font-weight: 600;
border-left: 3px solid #5F7BA0; // 左边高亮条
}
}
}
+ .el-menu-item.is-active.submenu-title-noDropdown {
+ background: #657b96; // 激活背景
+ color: #000; // 激活文字白色
+ font-weight: 600;
+ border-left: 3px solid #657b96; // 左边高亮条
+ }
+
.hideSidebar {
.sidebar-container {
width: 54px !important;
@@ -205,6 +208,10 @@
min-width: $base-sidebar-width !important;
}
+ .el-submenu .el-menu {
+ padding-left: 10px;
+ }
+
// mobile responsive
.mobile {
.main-container {
@@ -227,6 +234,7 @@
}
.withoutAnimation {
+
.main-container,
.sidebar-container {
transition: none;
@@ -234,7 +242,7 @@
}
}
-// when menu collapsed
+// 收起状态下的菜单
.el-menu--vertical {
&>.el-menu {
.svg-icon {
@@ -252,7 +260,7 @@
background: rgba(255, 255, 255, 0.1) !important;
color: var(--text-primary) !important;
box-shadow: inset 1px 1px 2px rgba(0, 0, 0, 0.1),
- inset -1px -1px 2px rgba(255, 255, 255, 0.05);
+ inset -1px -1px 2px rgba(255, 255, 255, 0.05);
}
::v-deep &.is-active {
@@ -261,7 +269,7 @@
font-weight: 600;
border-left: 3px solid #5F7BA0;
box-shadow: inset 1px 1px 2px rgba(0, 0, 0, 0.15),
- inset -1px -1px 2px rgba(255, 255, 255, 0.08);
+ inset -1px -1px 2px rgba(255, 255, 255, 0.08);
}
::v-deep .el-menu-item.is-active span,
@@ -288,12 +296,11 @@
&::-webkit-scrollbar-thumb {
background: #8d939b;
- border-radius: 3px;
+ border-radius: 3px;
}
}
}
-#app .sidebar-container .el-menu-item,
-#app .sidebar-container .el-submenu__title {
- margin: 0;
+#app .sidebar-container .nest-menu .el-submenu .el-submenu__title {
+ margin: 0 4px;
}
\ No newline at end of file
diff --git a/apps/l2/src/assets/styles/variables.scss b/apps/l2/src/assets/styles/variables.scss
index fdf34bb..6f7c6a1 100644
--- a/apps/l2/src/assets/styles/variables.scss
+++ b/apps/l2/src/assets/styles/variables.scss
@@ -1,38 +1,45 @@
-// 基础金属色调
-$metal-dark: #637994; // 主色调1 - 深金属色
-$metal-light: #bec3c9; // 主色调2 - 浅金属色
-$metal-bg: #a1a6ac; // 背景主色调
-$metal-highlight: #d0d5db; // 金属高光色
-$metal-shadow: #8c949d; // 金属阴影色
+// base color
+$blue:#324157;
+$light-blue:#3A71A8;
+$red:#C03639;
+$pink: #E65D6E;
+$green: #30B08F;
+$tiffany: #4AB7BD;
+$yellow:#FEC171;
+$panGreen: #30B08F;
-// 功能色(保持原有,但调整为金属质感)
-$blue: mix($metal-dark, #324157, 30%);
-$light-blue: mix($metal-light, #3A71A8, 30%);
-$red: mix($metal-light, #C03639, 20%);
-$pink: mix($metal-light, #E65D6E, 20%);
-$green: mix($metal-light, #30B08F, 20%);
-$tiffany: mix($metal-light, #4AB7BD, 20%);
-$yellow: mix($metal-light, #FEC171, 20%);
-$panGreen: mix($metal-light, #30B08F, 20%);
+// 默认菜单主题风格
+$base-menu-color:#bfcbd9;
+$base-menu-color-active:#f4f4f5;
+$base-menu-background:#304156;
+$base-logo-title-color: #ffffff;
-// 金属风格菜单主题
-$base-menu-color: mix($metal-light, rgba(255, 255, 255, 0.7), 60%); // 菜单文字色
-$base-menu-color-active: #ffffff; // 激活菜单文字色
-$base-menu-background: linear-gradient(145deg, darken($metal-bg, 3%), $metal-bg); // 菜单背景
-$base-logo-title-color: $metal-highlight; // Logo文字色
+$base-menu-light-color:rgba(0,0,0,.70);
+$base-menu-light-background:#ffffff;
+$base-logo-light-title-color: #001529;
-// 浅色金属菜单风格
-$base-menu-light-color: mix($metal-dark, rgba(0, 0, 0, 0.7), 70%); // 浅色菜单文字色
-$base-menu-light-background: linear-gradient(145deg, $metal-bg, lighten($metal-bg, 3%)); // 浅色菜单背景
-$base-logo-light-title-color: $metal-dark; // 浅色Logo文字色
+$base-sub-menu-background:#1f2d3d;
+$base-sub-menu-hover:#001528;
-// 子菜单样式
-$base-sub-menu-background: darken($metal-bg, 5%); // 子菜单背景
-$base-sub-menu-hover: linear-gradient(145deg, $metal-bg, $metal-dark); // 子菜单悬停背景
+// 自定义暗色菜单风格
+/**
+$base-menu-color:hsla(0,0%,100%,.65);
+$base-menu-color-active:#fff;
+$base-menu-background:#001529;
+$base-logo-title-color: #ffffff;
-$base-sidebar-width: 200px; // 侧边栏宽度
+$base-menu-light-color:rgba(0,0,0,.70);
+$base-menu-light-background:#ffffff;
+$base-logo-light-title-color: #001529;
-// 导出变量供JS使用
+$base-sub-menu-background:#000c17;
+$base-sub-menu-hover:#001528;
+*/
+
+$base-sidebar-width: 200px;
+
+// the :export directive is the magic sauce for webpack
+// https://www.bluematador.com/blog/how-to-share-variables-between-js-and-sass
:export {
menuColor: $base-menu-color;
menuLightColor: $base-menu-light-color;
@@ -43,9 +50,5 @@ $base-sidebar-width: 200px; // 侧边栏宽度
subMenuHover: $base-sub-menu-hover;
sideBarWidth: $base-sidebar-width;
logoTitleColor: $base-logo-title-color;
- logoLightTitleColor: $base-logo-light-title-color;
- // 导出金属主题基础色供全局使用
- metalDark: $metal-dark;
- metalLight: $metal-light;
- metalBg: $metal-bg;
-}
\ No newline at end of file
+ logoLightTitleColor: $base-logo-light-title-color
+}
diff --git a/apps/l2/src/components/Breadcrumb/index.vue b/apps/l2/src/components/Breadcrumb/index.vue
index 6d1d561..a0a0371 100644
--- a/apps/l2/src/components/Breadcrumb/index.vue
+++ b/apps/l2/src/components/Breadcrumb/index.vue
@@ -93,9 +93,9 @@ export default {
.app-breadcrumb.el-breadcrumb {
display: inline-block;
font-size: 14px;
- line-height: 50px;
+ line-height: 40px;
margin-left: 8px;
- color: #fff;
+ color: #111;
.no-redirect {
color: #ddd;
cursor: text;
@@ -103,6 +103,6 @@ export default {
}
.el-breadcrumb__inner.is-link, .el-breadcrumb__inner a {
- color: #fff;
+ color: #111;
}
diff --git a/apps/l2/src/components/Hamburger/index.vue b/apps/l2/src/components/Hamburger/index.vue
index e249032..ed643bd 100644
--- a/apps/l2/src/components/Hamburger/index.vue
+++ b/apps/l2/src/components/Hamburger/index.vue
@@ -43,6 +43,6 @@ export default {
}
svg {
- fill: #fff;
+ fill: #111;
}
diff --git a/apps/l2/src/components/Pagination/index.vue b/apps/l2/src/components/Pagination/index.vue
index 0bd39c4..f89fd5a 100644
--- a/apps/l2/src/components/Pagination/index.vue
+++ b/apps/l2/src/components/Pagination/index.vue
@@ -65,7 +65,7 @@ export default {
}
-
+ -->
diff --git a/apps/l2/src/layout/components/AppMain.vue b/apps/l2/src/layout/components/AppMain.vue
index 85c4836..41b0a9d 100644
--- a/apps/l2/src/layout/components/AppMain.vue
+++ b/apps/l2/src/layout/components/AppMain.vue
@@ -30,7 +30,7 @@ export default {
.app-main {
/* 50= navbar 50 */
min-height: calc(100vh - 50px);
- background-color: #3f4449;
+ // background-color: #3f4449;
width: 100%;
position: relative;
overflow: hidden;
diff --git a/apps/l2/src/layout/components/Navbar.vue b/apps/l2/src/layout/components/Navbar.vue
index 17e9fc0..66d4341 100644
--- a/apps/l2/src/layout/components/Navbar.vue
+++ b/apps/l2/src/layout/components/Navbar.vue
@@ -104,7 +104,7 @@ export default {
overflow: hidden;
position: relative;
// 金属质感渐变背景
- background: #454c51;
+ // background: #454c51;
border-bottom: 1px solid #8d939b;
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1),
0 1px 1px rgba(255, 255, 255, 0.08) inset;
@@ -156,7 +156,7 @@ export default {
height: 100%;
font-size: 18px;
// 金属风格文字色
- color: #ddd;
+ color: #111;
vertical-align: text-bottom;
transition: all 0.2s ease;
diff --git a/apps/l2/src/layout/components/Sidebar/index.vue b/apps/l2/src/layout/components/Sidebar/index.vue
index c6dde8f..df92709 100644
--- a/apps/l2/src/layout/components/Sidebar/index.vue
+++ b/apps/l2/src/layout/components/Sidebar/index.vue
@@ -3,12 +3,12 @@
diff --git a/apps/l2/src/layout/components/TagsView/index.vue b/apps/l2/src/layout/components/TagsView/index.vue
index 14a3137..012d1a0 100644
--- a/apps/l2/src/layout/components/TagsView/index.vue
+++ b/apps/l2/src/layout/components/TagsView/index.vue
@@ -242,7 +242,7 @@ export default {
height: 34px;
width: 100%;
// 金属浅色渐变背景(直接写死渐变值)
- background: #454c51;
+ // background: #454c51;
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;
@@ -254,9 +254,9 @@ export default {
height: 26px;
line-height: 26px;
border: 1px solid #a0a6ad;
- color: #fff;
+ // color: #fff;
// 标签金属渐变背景
- background: #454c51;
+ // background: #454c51;
padding: 0 8px;
font-size: 12px;
margin-left: 5px;
diff --git a/apps/l2/src/layout/index.vue b/apps/l2/src/layout/index.vue
index 4b15d86..7386c98 100644
--- a/apps/l2/src/layout/index.vue
+++ b/apps/l2/src/layout/index.vue
@@ -76,7 +76,6 @@ export default {
}
.drawer-bg {
- background: #000;
opacity: 0.3;
width: 100%;
top: 0;
diff --git a/apps/l2/src/main.js b/apps/l2/src/main.js
index 1a4ba65..cee09f5 100644
--- a/apps/l2/src/main.js
+++ b/apps/l2/src/main.js
@@ -7,7 +7,7 @@ import Element from 'element-ui'
import './assets/styles/element-variables.scss'
import '@/assets/styles/index.scss' // global css
-import '@/assets/styles/ruoyi.scss' // ruoyi css
+// import '@/assets/styles/ruoyi.scss' // ruoyi css
import App from './App'
import store from './store'
import router from './router'
diff --git a/apps/l2/src/settings.js b/apps/l2/src/settings.js
index 2479265..d124119 100644
--- a/apps/l2/src/settings.js
+++ b/apps/l2/src/settings.js
@@ -7,7 +7,7 @@ module.exports = {
/**
* 侧边栏主题 深色主题theme-dark,浅色主题theme-light
*/
- sideTheme: 'theme-dark',
+ sideTheme: 'theme-light',
/**
* 系统布局配置
diff --git a/apps/l2/src/views/index.vue b/apps/l2/src/views/index.vue
index 1a00498..fc696fc 100644
--- a/apps/l2/src/views/index.vue
+++ b/apps/l2/src/views/index.vue
@@ -60,7 +60,7 @@
-
+