@agile-team/wl-skills-ui 1.9.0 → 1.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +9 -0
- package/README.md +12 -5
- package/SKILL.md +1 -1
- package/design/spec/color.md +23 -8
- package/design/tokens/base.css +15 -14
- package/dist/tokens.css +15 -14
- package/package.json +1 -1
- package/scanner/rules/_shared.mjs +16 -0
- package/skills/runtime/design-tokens/SKILL.md +9 -6
- package/standards/ui/02-button.md +9 -0
- package/styles/element/_button.scss +39 -0
- package/styles/element/_upload.scss +2 -2
- package/styles/element/index.scss +1 -0
- package/styles/presets/security.scss +15 -14
- package/styles/tokens/index.scss +15 -14
- package/styles/vendors/_ag-grid.scss +8 -8
- package/styles/vendors/_base-components.scss +19 -19
- package/styles/vendors/_base-query-toolbar.scss +14 -14
- package/styles/vendors/_jh-drag-col.scss +4 -4
- package/styles/vendors/_jh-drag-row.scss +4 -4
- package/styles/vendors/_jh-pagination.scss +2 -2
- package/styles/vendors/_jh-tree.scss +3 -3
- package/styles/vendors/_jh-ui.scss +2 -2
- package/styles/vendors/_portal.scss +17 -17
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,15 @@ All notable changes to **@agile-team/wl-skills-ui** will be documented in this f
|
|
|
4
4
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
|
|
6
6
|
|
|
7
|
+
## [1.9.1] - 2026-07-20
|
|
8
|
+
|
|
9
|
+
### Fixed
|
|
10
|
+
|
|
11
|
+
- 按《烟台华新数智化信息化改造项目 UI 规范 v1》纠正主色色阶:常规 `#002A8F`、悬停 `#1A3F9A`、点击 `#002681`、禁用 `#B2BFDD`,不再把 PPT 元数据中的 `#2254F4` 当作业务按钮主色。
|
|
12
|
+
- 新增 Element Plus 主按钮四态强覆盖;BaseQuery/BaseToolbar 查询与主操作按钮的 hover 从旧 `primary-light-3` 改为客户规范 `primary-light-1`。
|
|
13
|
+
- 所有 vendor 半透明主色效果统一读取 `--el-color-primary-rgb`,清除 SCSS 中旧亮蓝 RGB 和 fallback,避免 token 已改但阴影、选中态仍有色差。
|
|
14
|
+
- 同步颜色规范、Design Token Skill、README 和发布产物;发布校验新增客户主色色阶与旧亮蓝残留检查。
|
|
15
|
+
|
|
7
16
|
## [1.9.0] - 2026-07-18
|
|
8
17
|
|
|
9
18
|
### Added
|
package/README.md
CHANGED
|
@@ -62,6 +62,7 @@ wl-skills-ui/
|
|
|
62
62
|
├── styles/ # L1+L2+L3 SCSS 实现
|
|
63
63
|
│ ├── tokens/ # SCSS 变量映射层($wk-* → CSS 变量)
|
|
64
64
|
│ ├── element/ # L1 Element Plus 控件对齐
|
|
65
|
+
│ │ ├── _button.scss # 主按钮四态强覆盖(设计规范色阶)
|
|
65
66
|
│ │ ├── _table.scss
|
|
66
67
|
│ │ ├── _form.scss
|
|
67
68
|
│ │ ├── _dialog.scss
|
|
@@ -199,7 +200,7 @@ yarn add @agile-team/wl-skills-ui
|
|
|
199
200
|
|---|---|---|
|
|
200
201
|
| `element-plus` | **`2.2.6-prod.3`** | 集团 jh- 定制版;EP 2.3.0 起引入 `.el-input__wrapper`,与 jh-ui 3.x 不兼容 |
|
|
201
202
|
| `@jhlc/jh-ui` | **`3.1.0`** | SCSS 皮肤包,`.com-text` label 包裹 + `.has-colon` 冒号注入(wl-skills-ui 已统一屏蔽表单冒号) |
|
|
202
|
-
| `@agile-team/wl-skills-ui` | `^1.9.
|
|
203
|
+
| `@agile-team/wl-skills-ui` | `^1.9.1` | 已对齐上述组合的 DOM 假设与客户主色色阶 |
|
|
203
204
|
|
|
204
205
|
三种识别方式,任选其一:
|
|
205
206
|
|
|
@@ -213,7 +214,13 @@ yarn add @agile-team/wl-skills-ui
|
|
|
213
214
|
|
|
214
215
|
## 版本亮点
|
|
215
216
|
|
|
216
|
-
当前 v1.9.
|
|
217
|
+
当前 v1.9.1:
|
|
218
|
+
|
|
219
|
+
- **客户主色纠偏**:严格按《烟台华新数智化信息化改造项目 UI 规范 v1》统一主色为 `#002A8F`,并同步完整深浅色阶。
|
|
220
|
+
- **按钮四态强覆盖**:主按钮常规 `#002A8F`、悬停 `#1A3F9A`、点击 `#002681`、禁用 `#B2BFDD`;`html body` 高特异性和填充按钮 `!important` 抵御 Element Plus、jh-ui 与旧业务皮肤覆盖。
|
|
221
|
+
- **单源防漂移**:主色半透明场景统一读取 `--el-color-primary-rgb`,发布校验会阻断 token、SCSS、按钮状态或文档重新漂移到旧亮蓝。
|
|
222
|
+
|
|
223
|
+
上一版 v1.9.0:
|
|
217
224
|
|
|
218
225
|
- **独立闭环**:不依赖 kit/design/bd 即可安装、审计、修复、复检、快照和回退;存在 kit 的 page-spec 时只复用页面模式与组件命名约定,不形成运行时硬依赖。
|
|
219
226
|
- **CLI 真实一致**:统一入口正式支持 `audit/drift/exempt/snapshot`,未知命令非零退出,`audit --refresh-baseline` 可维护增量治理基线。
|
|
@@ -230,8 +237,8 @@ yarn add @agile-team/wl-skills-ui
|
|
|
230
237
|
|
|
231
238
|
上一版 v1.8.15:
|
|
232
239
|
|
|
233
|
-
- **jh-drag-row 上下分栏手柄覆盖**:新增 `styles/vendors/_jh-drag-row.scss`,补齐此前缺失的 `jh-drag-row`(上下/主从表)手柄覆盖,与 `_jh-drag-col.scss
|
|
234
|
-
- **平台包职责澄清**:`@jhlc/jh-ui` 是纯 SCSS 包(零组件),所有 `jh-*`/`Base*`/`C_*` 组件来自 `@jhlc/common-core`。本包作为化妆层精准层叠覆盖二者视觉,不改平台层源码——L0 token 用 `:root body` 压过 jh-ui 编译产物的 `:root
|
|
240
|
+
- **jh-drag-row 上下分栏手柄覆盖**:新增 `styles/vendors/_jh-drag-row.scss`,补齐此前缺失的 `jh-drag-row`(上下/主从表)手柄覆盖,与 `_jh-drag-col.scss`(左右)同源风格。手柄颜色统一跟随 `--el-color-primary`,不再保留独立色值
|
|
241
|
+
- **平台包职责澄清**:`@jhlc/jh-ui` 是纯 SCSS 包(零组件),所有 `jh-*`/`Base*`/`C_*` 组件来自 `@jhlc/common-core`。本包作为化妆层精准层叠覆盖二者视觉,不改平台层源码——L0 token 用 `:root body` 压过 jh-ui 编译产物的 `:root`,L2 直接写目标属性 + `!important` 绕过组件 `var()` 引用。**项目装了本包后,一切以本包为准**
|
|
235
242
|
|
|
236
243
|
上一版 v1.8.14:
|
|
237
244
|
|
|
@@ -642,7 +649,7 @@ export const myRules = [
|
|
|
642
649
|
| 字号 | [design/spec/typography.md](design/spec/typography.md) |
|
|
643
650
|
| 间距 | [design/spec/spacing.md](design/spec/spacing.md) |
|
|
644
651
|
|
|
645
|
-
|
|
652
|
+
客户规范主色:`#002a8f` → `--el-color-primary`;业务代码只引用 token,不直接硬编码色值。
|
|
646
653
|
|
|
647
654
|
---
|
|
648
655
|
|
package/SKILL.md
CHANGED
|
@@ -282,7 +282,7 @@ npx wl-ui check --project [项目根目录]
|
|
|
282
282
|
- background: #fb2323;
|
|
283
283
|
+ background: var(--el-color-danger);
|
|
284
284
|
```
|
|
285
|
-
**已覆盖颜色**:`#409eff/#3a7afe/#4368ff`→primary,`#fb2323/#f56c6c`→danger,`#0cc859/#67c23a`→success,`#ffaf27/#e6a23c`→warning,`#ecf5ff`→primary-light-9
|
|
285
|
+
**已覆盖颜色**:`#409eff/#3a7afe/#4368ff/#2254f4/#002a8f`→primary,`#fb2323/#f56c6c/#bb2d3f`→danger,`#0cc859/#67c23a/#2bb268`→success,`#ffaf27/#e6a23c/#ea9a13`→warning,`#ecf5ff/#e5eaf4`→primary-light-9
|
|
286
286
|
|
|
287
287
|
#### R017 — 编号/工号/证件号列缺少 renderBadge【高危】
|
|
288
288
|
**检测**:`columnsDef()` / `columns` 数组中,label 含“编号”“工号”“证件号”但没有 `renderBadge` / `defaultSlot`(脚本式列定义)
|
package/design/spec/color.md
CHANGED
|
@@ -2,14 +2,29 @@
|
|
|
2
2
|
|
|
3
3
|
## 品牌色系
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
|
8
|
-
|
|
|
9
|
-
| `--el-color-
|
|
10
|
-
| `--el-color-
|
|
11
|
-
| `--el-color-
|
|
12
|
-
| `--el-color-
|
|
5
|
+
> 单一依据:《烟台华新数智化信息化改造项目 UI 规范 v1》“颜色-主色/功能色”页。
|
|
6
|
+
|
|
7
|
+
| Token | 值 | 用途 |
|
|
8
|
+
| ----------------------------- | --------------- | ---------------------------- |
|
|
9
|
+
| `--el-color-primary` | `#002a8f` | 主按钮常规、链接、选中态 |
|
|
10
|
+
| `--el-color-primary-rgb` | `0, 42, 143` | 主色透明背景、阴影和选中底色 |
|
|
11
|
+
| `--el-color-primary-light-1` | `#1a3f9a` | 主按钮悬停 |
|
|
12
|
+
| `--el-color-primary-light-2` | `#3355a5` | 柔和主题蓝 |
|
|
13
|
+
| `--el-color-primary-light-3` | `#4d6ab1` | 辅助高亮 |
|
|
14
|
+
| `--el-color-primary-light-4` | `#667fbc` | 辅助高亮 |
|
|
15
|
+
| `--el-color-primary-light-5` | `#8094c7` | 主色边框 |
|
|
16
|
+
| `--el-color-primary-light-6` | `#99aad2` | 浅色辅助 |
|
|
17
|
+
| `--el-color-primary-light-7` | `#b2bfdd` | 主按钮禁用 |
|
|
18
|
+
| `--el-color-primary-light-8` | `#ccd4e9` | 浅色辅助 |
|
|
19
|
+
| `--el-color-primary-light-9` | `#e5eaf4` | 浅色/白底悬浮 |
|
|
20
|
+
| `--el-color-primary-dark-1` | `#002681` | 主按钮点击 |
|
|
21
|
+
| `--el-color-primary-dark-2` | `#002272` | 深色辅助 |
|
|
22
|
+
| `--el-color-primary-dark-3` | `#001d64` | 深色辅助 |
|
|
23
|
+
| `--el-color-primary-dark-4` | `#001956` | 最深品牌蓝 |
|
|
24
|
+
| `--el-color-success` | `#2bb268` | 成功/正常/启用状态 |
|
|
25
|
+
| `--el-color-warning` | `#ea9a13` | 警告/待处理状态 |
|
|
26
|
+
| `--el-color-danger` | `#bb2d3f` | 危险/失败/停用状态 |
|
|
27
|
+
| `--el-color-info` | `#909399` | 中性/辅助信息 |
|
|
13
28
|
|
|
14
29
|
## 文本色系
|
|
15
30
|
|
package/design/tokens/base.css
CHANGED
|
@@ -1,18 +1,19 @@
|
|
|
1
1
|
:root body {
|
|
2
|
-
--el-color-primary: #
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
2
|
+
--el-color-primary: #002a8f;
|
|
3
|
+
--el-color-primary-rgb: 0, 42, 143;
|
|
4
|
+
--el-color-primary-light-1: #1a3f9a;
|
|
5
|
+
--el-color-primary-light-2: #3355a5;
|
|
6
|
+
--el-color-primary-light-3: #4d6ab1;
|
|
7
|
+
--el-color-primary-light-4: #667fbc;
|
|
8
|
+
--el-color-primary-light-5: #8094c7;
|
|
9
|
+
--el-color-primary-light-6: #99aad2;
|
|
10
|
+
--el-color-primary-light-7: #b2bfdd;
|
|
11
|
+
--el-color-primary-light-8: #ccd4e9;
|
|
12
|
+
--el-color-primary-light-9: #e5eaf4;
|
|
13
|
+
--el-color-primary-dark-1: #002681;
|
|
14
|
+
--el-color-primary-dark-2: #002272;
|
|
15
|
+
--el-color-primary-dark-3: #001d64;
|
|
16
|
+
--el-color-primary-dark-4: #001956;
|
|
16
17
|
--el-color-success: #2bb268;
|
|
17
18
|
--el-color-success-light-1: #40ba77;
|
|
18
19
|
--el-color-success-light-2: #55c286;
|
package/dist/tokens.css
CHANGED
|
@@ -1,18 +1,19 @@
|
|
|
1
1
|
:root body {
|
|
2
|
-
--el-color-primary: #
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
2
|
+
--el-color-primary: #002a8f;
|
|
3
|
+
--el-color-primary-rgb: 0, 42, 143;
|
|
4
|
+
--el-color-primary-light-1: #1a3f9a;
|
|
5
|
+
--el-color-primary-light-2: #3355a5;
|
|
6
|
+
--el-color-primary-light-3: #4d6ab1;
|
|
7
|
+
--el-color-primary-light-4: #667fbc;
|
|
8
|
+
--el-color-primary-light-5: #8094c7;
|
|
9
|
+
--el-color-primary-light-6: #99aad2;
|
|
10
|
+
--el-color-primary-light-7: #b2bfdd;
|
|
11
|
+
--el-color-primary-light-8: #ccd4e9;
|
|
12
|
+
--el-color-primary-light-9: #e5eaf4;
|
|
13
|
+
--el-color-primary-dark-1: #002681;
|
|
14
|
+
--el-color-primary-dark-2: #002272;
|
|
15
|
+
--el-color-primary-dark-3: #001d64;
|
|
16
|
+
--el-color-primary-dark-4: #001956;
|
|
16
17
|
--el-color-success: #2bb268;
|
|
17
18
|
--el-color-success-light-1: #40ba77;
|
|
18
19
|
--el-color-success-light-2: #55c286;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agile-team/wl-skills-ui",
|
|
3
|
-
"version": "1.9.
|
|
3
|
+
"version": "1.9.1",
|
|
4
4
|
"description": "企业级 UI 风格对齐框架 — Vue + Element Plus 项目通用化妆/原生双模式(tokens / element / vendors / layouts / runtime / scanner / fixer / skills)",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./es/index.js",
|
|
@@ -118,7 +118,21 @@ export const TOKEN_MAP = {
|
|
|
118
118
|
"#409eff": "var(--el-color-primary)",
|
|
119
119
|
"#3a7afe": "var(--el-color-primary)",
|
|
120
120
|
"#4368ff": "var(--el-color-primary)",
|
|
121
|
+
"#2254f4": "var(--el-color-primary)",
|
|
121
122
|
"#002a8f": "var(--el-color-primary)",
|
|
123
|
+
"#1a3f9a": "var(--el-color-primary-light-1)",
|
|
124
|
+
"#3355a5": "var(--el-color-primary-light-2)",
|
|
125
|
+
"#4d6ab1": "var(--el-color-primary-light-3)",
|
|
126
|
+
"#667fbc": "var(--el-color-primary-light-4)",
|
|
127
|
+
"#8094c7": "var(--el-color-primary-light-5)",
|
|
128
|
+
"#99aad2": "var(--el-color-primary-light-6)",
|
|
129
|
+
"#b2bfdd": "var(--el-color-primary-light-7)",
|
|
130
|
+
"#ccd4e9": "var(--el-color-primary-light-8)",
|
|
131
|
+
"#e5eaf4": "var(--el-color-primary-light-9)",
|
|
132
|
+
"#002681": "var(--el-color-primary-dark-1)",
|
|
133
|
+
"#002272": "var(--el-color-primary-dark-2)",
|
|
134
|
+
"#001d64": "var(--el-color-primary-dark-3)",
|
|
135
|
+
"#001956": "var(--el-color-primary-dark-4)",
|
|
122
136
|
"#1890ff": "var(--el-color-primary)",
|
|
123
137
|
"#fb2323": "var(--el-color-danger)",
|
|
124
138
|
"#f56c6c": "var(--el-color-danger)",
|
|
@@ -127,8 +141,10 @@ export const TOKEN_MAP = {
|
|
|
127
141
|
"#0cc859": "var(--el-color-success)",
|
|
128
142
|
"#67c23a": "var(--el-color-success)",
|
|
129
143
|
"#52c41a": "var(--el-color-success)",
|
|
144
|
+
"#2bb268": "var(--el-color-success)",
|
|
130
145
|
"#ffaf27": "var(--el-color-warning)",
|
|
131
146
|
"#e6a23c": "var(--el-color-warning)",
|
|
132
147
|
"#faad14": "var(--el-color-warning)",
|
|
148
|
+
"#ea9a13": "var(--el-color-warning)",
|
|
133
149
|
"#ecf5ff": "var(--el-color-primary-light-9)",
|
|
134
150
|
};
|
|
@@ -18,11 +18,14 @@ applyTo: "**/*.{vue,scss,css}"
|
|
|
18
18
|
### 品牌色
|
|
19
19
|
|
|
20
20
|
```css
|
|
21
|
-
--el-color-primary
|
|
22
|
-
--el-color-primary-light-
|
|
23
|
-
--el-color-
|
|
24
|
-
--el-color-
|
|
25
|
-
--el-color-
|
|
21
|
+
--el-color-primary /* #002a8f — 主按钮常规/链接/选中 */
|
|
22
|
+
--el-color-primary-light-1 /* #1a3f9a — 主按钮悬停 */
|
|
23
|
+
--el-color-primary-dark-1 /* #002681 — 主按钮点击 */
|
|
24
|
+
--el-color-primary-light-7 /* #b2bfdd — 主按钮禁用 */
|
|
25
|
+
--el-color-primary-light-9 /* #e5eaf4 — 主色浅底/Tag背景 */
|
|
26
|
+
--el-color-success /* #2bb268 — 成功/正常/启用 */
|
|
27
|
+
--el-color-warning /* #ea9a13 — 警告/待处理 */
|
|
28
|
+
--el-color-danger /* #bb2d3f — 危险/失败/停用 */
|
|
26
29
|
--el-color-info /* #909399 — 中性/辅助 */
|
|
27
30
|
```
|
|
28
31
|
|
|
@@ -81,7 +84,7 @@ npx wl-ui fix --target src
|
|
|
81
84
|
|
|
82
85
|
| hex | → CSS Token |
|
|
83
86
|
| ----------------------------- | --------------------------------- |
|
|
84
|
-
| `#409eff` `#3a7afe` `#4368ff` | `var(--el-color-primary)` |
|
|
87
|
+
| `#409eff` `#3a7afe` `#4368ff` `#2254f4` `#002a8f` | `var(--el-color-primary)` |
|
|
85
88
|
| `#fb2323` `#f56c6c` | `var(--el-color-danger)` |
|
|
86
89
|
| `#0cc859` `#67c23a` | `var(--el-color-success)` |
|
|
87
90
|
| `#ffaf27` `#e6a23c` | `var(--el-color-warning)` |
|
|
@@ -8,6 +8,15 @@
|
|
|
8
8
|
|
|
9
9
|
### 类型规则
|
|
10
10
|
|
|
11
|
+
主按钮色值严格遵循客户 UI 规范,禁止使用 `#2254F4`、`#4368FF` 或 Element Plus 默认蓝替代:
|
|
12
|
+
|
|
13
|
+
| 状态 | Token | 规范色值 |
|
|
14
|
+
|---|---|---|
|
|
15
|
+
| 常规 | `--el-color-primary` | `#002A8F` |
|
|
16
|
+
| hover / focus | `--el-color-primary-light-1` | `#1A3F9A` |
|
|
17
|
+
| active / 点击 | `--el-color-primary-dark-1` | `#002681` |
|
|
18
|
+
| disabled | `--el-color-primary-light-7` | `#B2BFDD` |
|
|
19
|
+
|
|
11
20
|
| 操作语义 | type | plain | 说明 |
|
|
12
21
|
|----------|-------------|--------|----------------|
|
|
13
22
|
| 新增/添加 | `primary` | false | 蓝色填充 |
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
// Element Plus 主按钮 — 严格对齐《烟台华新数智化信息化改造项目 UI 规范 v1》
|
|
2
|
+
// 常规 #002A8F / 悬停 #1A3F9A / 点击 #002681 / 禁用 #B2BFDD。
|
|
3
|
+
// 使用 html body 提升 token 覆盖特异性;填充按钮同时以 !important 抵御 jh-ui/业务旧皮肤硬编码。
|
|
4
|
+
|
|
5
|
+
html body .el-button--primary {
|
|
6
|
+
--el-button-bg-color: var(--el-color-primary);
|
|
7
|
+
--el-button-border-color: var(--el-color-primary);
|
|
8
|
+
--el-button-hover-bg-color: var(--el-color-primary-light-1);
|
|
9
|
+
--el-button-hover-border-color: var(--el-color-primary-light-1);
|
|
10
|
+
--el-button-active-color: var(--el-color-primary-dark-1);
|
|
11
|
+
--el-button-active-bg-color: var(--el-color-primary-dark-1);
|
|
12
|
+
--el-button-active-border-color: var(--el-color-primary-dark-1);
|
|
13
|
+
--el-button-disabled-bg-color: var(--el-color-primary-light-7);
|
|
14
|
+
--el-button-disabled-border-color: var(--el-color-primary-light-7);
|
|
15
|
+
--el-button-outline-color: var(--el-color-primary-light-5);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
html body
|
|
19
|
+
.el-button.el-button--primary:not(.is-link):not(.is-text):not(.is-plain):not(.is-disabled) {
|
|
20
|
+
background-color: var(--el-color-primary) !important;
|
|
21
|
+
border-color: var(--el-color-primary) !important;
|
|
22
|
+
|
|
23
|
+
&:hover,
|
|
24
|
+
&:focus {
|
|
25
|
+
background-color: var(--el-color-primary-light-1) !important;
|
|
26
|
+
border-color: var(--el-color-primary-light-1) !important;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
&:active {
|
|
30
|
+
background-color: var(--el-color-primary-dark-1) !important;
|
|
31
|
+
border-color: var(--el-color-primary-dark-1) !important;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
html body
|
|
36
|
+
.el-button.el-button--primary.is-disabled:not(.is-link):not(.is-text):not(.is-plain) {
|
|
37
|
+
background-color: var(--el-color-primary-light-7) !important;
|
|
38
|
+
border-color: var(--el-color-primary-light-7) !important;
|
|
39
|
+
}
|
|
@@ -8,8 +8,8 @@ html body .el-upload {
|
|
|
8
8
|
|
|
9
9
|
.el-upload-dragger:hover,
|
|
10
10
|
.el-upload-dragger.is-dragover {
|
|
11
|
-
border-color: var(--el-color-primary, #
|
|
12
|
-
background: var(--el-color-primary-light-9, #
|
|
11
|
+
border-color: var(--el-color-primary, #002a8f);
|
|
12
|
+
background: var(--el-color-primary-light-9, #e5eaf4);
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
.el-upload__tip {
|
|
@@ -13,20 +13,21 @@
|
|
|
13
13
|
@forward '../vendors/index';
|
|
14
14
|
|
|
15
15
|
:root body {
|
|
16
|
-
--el-color-primary: #
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
16
|
+
--el-color-primary: #002a8f;
|
|
17
|
+
--el-color-primary-rgb: 0, 42, 143;
|
|
18
|
+
--el-color-primary-light-1: #1a3f9a;
|
|
19
|
+
--el-color-primary-light-2: #3355a5;
|
|
20
|
+
--el-color-primary-light-3: #4d6ab1;
|
|
21
|
+
--el-color-primary-light-4: #667fbc;
|
|
22
|
+
--el-color-primary-light-5: #8094c7;
|
|
23
|
+
--el-color-primary-light-6: #99aad2;
|
|
24
|
+
--el-color-primary-light-7: #b2bfdd;
|
|
25
|
+
--el-color-primary-light-8: #ccd4e9;
|
|
26
|
+
--el-color-primary-light-9: #e5eaf4;
|
|
27
|
+
--el-color-primary-dark-1: #002681;
|
|
28
|
+
--el-color-primary-dark-2: #002272;
|
|
29
|
+
--el-color-primary-dark-3: #001d64;
|
|
30
|
+
--el-color-primary-dark-4: #001956;
|
|
30
31
|
|
|
31
32
|
--el-color-danger: #bb2d3f;
|
|
32
33
|
--el-color-danger-light-3: #d16b78;
|
package/styles/tokens/index.scss
CHANGED
|
@@ -85,20 +85,21 @@ $wk-sidebar-width: var(--el-sidebar-width) !default;
|
|
|
85
85
|
// 选择器 :root body 特异性 (0,1,1) > Element Plus 的 :root (0,1,0),
|
|
86
86
|
// 保证无论 CSS 加载顺序如何,我们的变量始终优先。
|
|
87
87
|
:root body {
|
|
88
|
-
--el-color-primary: #
|
|
89
|
-
--el-color-primary-
|
|
90
|
-
--el-color-primary-light-
|
|
91
|
-
--el-color-primary-light-
|
|
92
|
-
--el-color-primary-light-
|
|
93
|
-
--el-color-primary-light-
|
|
94
|
-
--el-color-primary-light-
|
|
95
|
-
--el-color-primary-light-
|
|
96
|
-
--el-color-primary-light-
|
|
97
|
-
--el-color-primary-light-
|
|
98
|
-
--el-color-primary-
|
|
99
|
-
--el-color-primary-dark-
|
|
100
|
-
--el-color-primary-dark-
|
|
101
|
-
--el-color-primary-dark-
|
|
88
|
+
--el-color-primary: #002a8f;
|
|
89
|
+
--el-color-primary-rgb: 0, 42, 143;
|
|
90
|
+
--el-color-primary-light-1: #1a3f9a;
|
|
91
|
+
--el-color-primary-light-2: #3355a5;
|
|
92
|
+
--el-color-primary-light-3: #4d6ab1;
|
|
93
|
+
--el-color-primary-light-4: #667fbc;
|
|
94
|
+
--el-color-primary-light-5: #8094c7;
|
|
95
|
+
--el-color-primary-light-6: #99aad2;
|
|
96
|
+
--el-color-primary-light-7: #b2bfdd;
|
|
97
|
+
--el-color-primary-light-8: #ccd4e9;
|
|
98
|
+
--el-color-primary-light-9: #e5eaf4;
|
|
99
|
+
--el-color-primary-dark-1: #002681;
|
|
100
|
+
--el-color-primary-dark-2: #002272;
|
|
101
|
+
--el-color-primary-dark-3: #001d64;
|
|
102
|
+
--el-color-primary-dark-4: #001956;
|
|
102
103
|
--el-color-success: #2bb268;
|
|
103
104
|
--el-color-success-light-1: #40ba77;
|
|
104
105
|
--el-color-success-light-2: #55c286;
|
|
@@ -12,9 +12,9 @@
|
|
|
12
12
|
--ag-header-foreground-color: #374151;
|
|
13
13
|
--ag-border-color: rgba(0, 0, 0, 0.06);
|
|
14
14
|
--ag-row-border-color: rgba(0, 0, 0, 0.06);
|
|
15
|
-
--ag-row-hover-color: rgba(
|
|
16
|
-
--ag-selected-row-background-color: rgba(
|
|
17
|
-
--ag-range-selection-border-color: rgba(
|
|
15
|
+
--ag-row-hover-color: rgba(var(--el-color-primary-rgb), 0.06);
|
|
16
|
+
--ag-selected-row-background-color: rgba(var(--el-color-primary-rgb), 0.10);
|
|
17
|
+
--ag-range-selection-border-color: rgba(var(--el-color-primary-rgb), 0.4);
|
|
18
18
|
--ag-font-size: 13px;
|
|
19
19
|
--ag-font-family: inherit;
|
|
20
20
|
--ag-row-height: 26px;
|
|
@@ -98,11 +98,11 @@
|
|
|
98
98
|
|
|
99
99
|
.ag-row:hover,
|
|
100
100
|
.ag-row.ag-row-hover {
|
|
101
|
-
background-color: rgba(
|
|
101
|
+
background-color: rgba(var(--el-color-primary-rgb), 0.06) !important;
|
|
102
102
|
}
|
|
103
103
|
|
|
104
104
|
.ag-row.ag-row-selected {
|
|
105
|
-
background-color: rgba(
|
|
105
|
+
background-color: rgba(var(--el-color-primary-rgb), 0.10) !important;
|
|
106
106
|
}
|
|
107
107
|
|
|
108
108
|
// ── 单元格 ────────────────────────────────────────────────────────────────────
|
|
@@ -266,9 +266,9 @@
|
|
|
266
266
|
height: 12px;
|
|
267
267
|
// 三个点用 box-shadow 模拟
|
|
268
268
|
width: 36px;
|
|
269
|
-
background: radial-gradient(circle at 6px 6px,
|
|
270
|
-
radial-gradient(circle at 18px 6px,
|
|
271
|
-
radial-gradient(circle at 30px 6px,
|
|
269
|
+
background: radial-gradient(circle at 6px 6px, var(--el-color-primary) 3.5px, transparent 3.5px),
|
|
270
|
+
radial-gradient(circle at 18px 6px, var(--el-color-primary) 3.5px, transparent 3.5px),
|
|
271
|
+
radial-gradient(circle at 30px 6px, var(--el-color-primary) 3.5px, transparent 3.5px);
|
|
272
272
|
animation: ag-dot-bounce 1.2s ease-in-out infinite;
|
|
273
273
|
opacity: 0.7;
|
|
274
274
|
}
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
outline: none;
|
|
39
39
|
border: none;
|
|
40
40
|
background: transparent;
|
|
41
|
-
color: var(--el-color-primary-light-2, #
|
|
41
|
+
color: var(--el-color-primary-light-2, #3355a5);
|
|
42
42
|
transition: background-color 0.13s ease, color 0.13s ease;
|
|
43
43
|
flex-shrink: 0;
|
|
44
44
|
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
&.jh-op-view {
|
|
50
50
|
&:hover:not(:disabled) {
|
|
51
51
|
color: var(--el-color-primary);
|
|
52
|
-
background: rgba(
|
|
52
|
+
background: rgba(var(--el-color-primary-rgb), 0.09);
|
|
53
53
|
}
|
|
54
54
|
}
|
|
55
55
|
// 编辑 — hover 翠绿
|
|
@@ -70,7 +70,7 @@
|
|
|
70
70
|
&.jh-op-log {
|
|
71
71
|
&:hover:not(:disabled) {
|
|
72
72
|
color: var(--el-color-primary);
|
|
73
|
-
background: rgba(
|
|
73
|
+
background: rgba(var(--el-color-primary-rgb), 0.09);
|
|
74
74
|
}
|
|
75
75
|
}
|
|
76
76
|
// 审核 — hover 翠绿
|
|
@@ -83,8 +83,8 @@
|
|
|
83
83
|
// 提交 — hover 主色
|
|
84
84
|
&.jh-op-send {
|
|
85
85
|
&:hover:not(:disabled) {
|
|
86
|
-
color: var(--el-color-primary, #
|
|
87
|
-
background: rgba(
|
|
86
|
+
color: var(--el-color-primary, #002a8f);
|
|
87
|
+
background: rgba(var(--el-color-primary-rgb), 0.09);
|
|
88
88
|
}
|
|
89
89
|
}
|
|
90
90
|
// 保存(内联表格用)— hover 翠绿
|
|
@@ -139,8 +139,8 @@
|
|
|
139
139
|
|
|
140
140
|
svg { width: 12px; height: 12px; flex-shrink: 0; }
|
|
141
141
|
&:hover:not(:disabled) {
|
|
142
|
-
background: rgba(
|
|
143
|
-
color: var(--el-color-primary, #
|
|
142
|
+
background: rgba(var(--el-color-primary-rgb), 0.10);
|
|
143
|
+
color: var(--el-color-primary, #002a8f);
|
|
144
144
|
}
|
|
145
145
|
&:active:not(:disabled) { opacity: 0.65; }
|
|
146
146
|
&:disabled {
|
|
@@ -163,7 +163,7 @@
|
|
|
163
163
|
border-radius: 4px;
|
|
164
164
|
border: none;
|
|
165
165
|
background: transparent;
|
|
166
|
-
color: var(--el-color-primary, #
|
|
166
|
+
color: var(--el-color-primary, #002a8f);
|
|
167
167
|
font-size: 12px;
|
|
168
168
|
font-weight: 500;
|
|
169
169
|
cursor: pointer;
|
|
@@ -174,8 +174,8 @@
|
|
|
174
174
|
flex-shrink: 0;
|
|
175
175
|
|
|
176
176
|
&:hover:not(:disabled) {
|
|
177
|
-
background: rgba(
|
|
178
|
-
color: var(--el-color-primary, #
|
|
177
|
+
background: rgba(var(--el-color-primary-rgb), 0.08);
|
|
178
|
+
color: var(--el-color-primary, #002a8f);
|
|
179
179
|
}
|
|
180
180
|
&:active:not(:disabled) { opacity: 0.55; }
|
|
181
181
|
&:disabled {
|
|
@@ -248,14 +248,14 @@
|
|
|
248
248
|
.jh-riskno-badge {
|
|
249
249
|
display: inline-block;
|
|
250
250
|
padding: 2px 6px;
|
|
251
|
-
background: rgba(
|
|
251
|
+
background: rgba(var(--el-color-primary-rgb), 0.08);
|
|
252
252
|
color: var(--el-color-primary);
|
|
253
253
|
border-radius: 4px;
|
|
254
254
|
font-family: 'SFMono-Regular', 'Consolas', 'Monaco', monospace;
|
|
255
255
|
font-size: 11.5px;
|
|
256
256
|
font-weight: 600;
|
|
257
257
|
letter-spacing: 0.03em;
|
|
258
|
-
border: 1px solid rgba(
|
|
258
|
+
border: 1px solid rgba(var(--el-color-primary-rgb), 0.18);
|
|
259
259
|
white-space: nowrap;
|
|
260
260
|
max-width: 100%;
|
|
261
261
|
overflow: hidden;
|
|
@@ -308,12 +308,12 @@
|
|
|
308
308
|
}
|
|
309
309
|
|
|
310
310
|
&--info {
|
|
311
|
-
background: rgba(
|
|
311
|
+
background: rgba(var(--el-color-primary-rgb), 0.10);
|
|
312
312
|
color: var(--el-color-primary);
|
|
313
313
|
}
|
|
314
314
|
|
|
315
315
|
&--default {
|
|
316
|
-
background: rgba(
|
|
316
|
+
background: rgba(var(--el-color-primary-rgb), 0.10);
|
|
317
317
|
color: var(--el-color-primary);
|
|
318
318
|
}
|
|
319
319
|
}
|
|
@@ -328,7 +328,7 @@
|
|
|
328
328
|
transition: background-color 0.15s, color 0.15s;
|
|
329
329
|
|
|
330
330
|
&:not(.el-button--danger):hover {
|
|
331
|
-
background-color: rgba(
|
|
331
|
+
background-color: rgba(var(--el-color-primary-rgb), 0.08) !important;
|
|
332
332
|
color: var(--el-color-primary) !important;
|
|
333
333
|
}
|
|
334
334
|
}
|
|
@@ -401,7 +401,7 @@
|
|
|
401
401
|
&:hover {
|
|
402
402
|
border-color: var(--el-color-primary);
|
|
403
403
|
color: var(--el-color-primary);
|
|
404
|
-
background: rgba(
|
|
404
|
+
background: rgba(var(--el-color-primary-rgb), 0.04);
|
|
405
405
|
}
|
|
406
406
|
}
|
|
407
407
|
}
|
|
@@ -437,7 +437,7 @@
|
|
|
437
437
|
&:hover {
|
|
438
438
|
border-color: var(--el-color-primary) !important;
|
|
439
439
|
color: var(--el-color-primary) !important;
|
|
440
|
-
background: rgba(
|
|
440
|
+
background: rgba(var(--el-color-primary-rgb), 0.04) !important;
|
|
441
441
|
}
|
|
442
442
|
}
|
|
443
443
|
}
|
|
@@ -460,7 +460,7 @@
|
|
|
460
460
|
}
|
|
461
461
|
&:focus {
|
|
462
462
|
border-color: var(--el-color-primary) !important;
|
|
463
|
-
box-shadow: 0 0 0 2px rgba(
|
|
463
|
+
box-shadow: 0 0 0 2px rgba(var(--el-color-primary-rgb), 0.12) !important;
|
|
464
464
|
}
|
|
465
465
|
}
|
|
466
466
|
|
|
@@ -493,7 +493,7 @@
|
|
|
493
493
|
.el-date-editor.el-input__wrapper.is-focus,
|
|
494
494
|
.el-date-editor.el-input__wrapper:focus-within,
|
|
495
495
|
.el-textarea__inner:focus {
|
|
496
|
-
box-shadow: 0 0 0 1.5px var(--el-color-primary, #
|
|
496
|
+
box-shadow: 0 0 0 1.5px var(--el-color-primary, #002a8f) inset !important;
|
|
497
497
|
}
|
|
498
498
|
|
|
499
499
|
.el-form-item__label,
|
|
@@ -95,15 +95,15 @@
|
|
|
95
95
|
line-height: 1 !important;
|
|
96
96
|
padding: 0 10px !important;
|
|
97
97
|
font-size: 12px !important;
|
|
98
|
-
background-color: var(--el-color-primary, #
|
|
99
|
-
border-color: var(--el-color-primary, #
|
|
98
|
+
background-color: var(--el-color-primary, #002a8f) !important;
|
|
99
|
+
border-color: var(--el-color-primary, #002a8f) !important;
|
|
100
100
|
color: #ffffff !important;
|
|
101
101
|
transition: background-color 0.15s, box-shadow 0.15s;
|
|
102
102
|
|
|
103
103
|
&:hover {
|
|
104
|
-
background-color: var(--el-color-primary-light-
|
|
105
|
-
border-color: var(--el-color-primary-light-
|
|
106
|
-
box-shadow: 0 2px 8px rgba(
|
|
104
|
+
background-color: var(--el-color-primary-light-1, #1a3f9a) !important;
|
|
105
|
+
border-color: var(--el-color-primary-light-1, #1a3f9a) !important;
|
|
106
|
+
box-shadow: 0 2px 8px rgba(var(--el-color-primary-rgb), 0.25);
|
|
107
107
|
}
|
|
108
108
|
&:active { opacity: 0.85; }
|
|
109
109
|
}
|
|
@@ -123,7 +123,7 @@
|
|
|
123
123
|
&:hover {
|
|
124
124
|
color: var(--el-color-primary) !important;
|
|
125
125
|
border-color: var(--el-color-primary-light-5) !important;
|
|
126
|
-
background-color: rgba(
|
|
126
|
+
background-color: rgba(var(--el-color-primary-rgb), 0.04) !important;
|
|
127
127
|
}
|
|
128
128
|
}
|
|
129
129
|
}
|
|
@@ -178,14 +178,14 @@
|
|
|
178
178
|
|
|
179
179
|
// ── 主操作:填充蓝(新增/新建/申请)─────────────────────────────────
|
|
180
180
|
&.el-button--primary {
|
|
181
|
-
background-color: var(--el-color-primary, #
|
|
182
|
-
border-color: var(--el-color-primary, #
|
|
181
|
+
background-color: var(--el-color-primary, #002a8f) !important;
|
|
182
|
+
border-color: var(--el-color-primary, #002a8f) !important;
|
|
183
183
|
color: #ffffff !important;
|
|
184
184
|
|
|
185
185
|
&:hover {
|
|
186
|
-
background-color: var(--el-color-primary-light-
|
|
187
|
-
border-color: var(--el-color-primary-light-
|
|
188
|
-
box-shadow: 0 2px 8px rgba(
|
|
186
|
+
background-color: var(--el-color-primary-light-1, #1a3f9a) !important;
|
|
187
|
+
border-color: var(--el-color-primary-light-1, #1a3f9a) !important;
|
|
188
|
+
box-shadow: 0 2px 8px rgba(var(--el-color-primary-rgb), 0.28);
|
|
189
189
|
}
|
|
190
190
|
&:active { opacity: 0.85; }
|
|
191
191
|
}
|
|
@@ -225,7 +225,7 @@
|
|
|
225
225
|
&:hover {
|
|
226
226
|
color: var(--el-color-primary) !important;
|
|
227
227
|
border-color: var(--el-color-primary-light-5) !important;
|
|
228
|
-
background-color: rgba(
|
|
228
|
+
background-color: rgba(var(--el-color-primary-rgb), 0.04) !important;
|
|
229
229
|
}
|
|
230
230
|
}
|
|
231
231
|
|
|
@@ -312,8 +312,8 @@
|
|
|
312
312
|
|
|
313
313
|
.el-dropdown-menu .el-dropdown-menu__item:hover,
|
|
314
314
|
.el-dropdown-menu .el-dropdown-menu__item:focus {
|
|
315
|
-
color: var(--el-color-primary, #
|
|
316
|
-
background-color: rgba(
|
|
315
|
+
color: var(--el-color-primary, #002a8f) !important;
|
|
316
|
+
background-color: rgba(var(--el-color-primary-rgb), 0.08) !important;
|
|
317
317
|
}
|
|
318
318
|
|
|
319
319
|
.el-dropdown-menu .el-dropdown-menu__item .el-icon,
|
|
@@ -38,10 +38,10 @@ html .drag-col-container > .slider-col {
|
|
|
38
38
|
&:hover {
|
|
39
39
|
background: linear-gradient(
|
|
40
40
|
to right,
|
|
41
|
-
rgba(
|
|
41
|
+
rgba(var(--el-color-primary-rgb), 0.06) 3px,
|
|
42
42
|
var(--el-color-primary) 3px,
|
|
43
43
|
var(--el-color-primary) 7px,
|
|
44
|
-
rgba(
|
|
44
|
+
rgba(var(--el-color-primary-rgb), 0.06) 7px
|
|
45
45
|
) !important;
|
|
46
46
|
|
|
47
47
|
&::after {
|
|
@@ -54,10 +54,10 @@ html .drag-col-container > .slider-col {
|
|
|
54
54
|
&:active {
|
|
55
55
|
background: linear-gradient(
|
|
56
56
|
to right,
|
|
57
|
-
rgba(
|
|
57
|
+
rgba(var(--el-color-primary-rgb), 0.1) 2.5px,
|
|
58
58
|
var(--el-color-primary) 2.5px,
|
|
59
59
|
var(--el-color-primary) 7.5px,
|
|
60
|
-
rgba(
|
|
60
|
+
rgba(var(--el-color-primary-rgb), 0.1) 7.5px
|
|
61
61
|
) !important;
|
|
62
62
|
}
|
|
63
63
|
}
|
|
@@ -47,10 +47,10 @@ html .drager_row > .slider_row {
|
|
|
47
47
|
&:hover {
|
|
48
48
|
background: linear-gradient(
|
|
49
49
|
to bottom,
|
|
50
|
-
rgba(
|
|
50
|
+
rgba(var(--el-color-primary-rgb), 0.06) 3px,
|
|
51
51
|
var(--el-color-primary) 3px,
|
|
52
52
|
var(--el-color-primary) 7px,
|
|
53
|
-
rgba(
|
|
53
|
+
rgba(var(--el-color-primary-rgb), 0.06) 7px
|
|
54
54
|
) !important;
|
|
55
55
|
|
|
56
56
|
&::after {
|
|
@@ -63,10 +63,10 @@ html .drager_row > .slider_row {
|
|
|
63
63
|
&:active {
|
|
64
64
|
background: linear-gradient(
|
|
65
65
|
to bottom,
|
|
66
|
-
rgba(
|
|
66
|
+
rgba(var(--el-color-primary-rgb), 0.1) 2.5px,
|
|
67
67
|
var(--el-color-primary) 2.5px,
|
|
68
68
|
var(--el-color-primary) 7.5px,
|
|
69
|
-
rgba(
|
|
69
|
+
rgba(var(--el-color-primary-rgb), 0.1) 7.5px
|
|
70
70
|
) !important;
|
|
71
71
|
}
|
|
72
72
|
}
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
|
|
18
18
|
&:hover {
|
|
19
19
|
color: var(--el-color-primary) !important;
|
|
20
|
-
background-color: rgba(
|
|
20
|
+
background-color: rgba(var(--el-color-primary-rgb), 0.06) !important;
|
|
21
21
|
}
|
|
22
22
|
|
|
23
23
|
// 当前页 → 品牌蓝填充
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
|
|
50
50
|
&:hover:not(:disabled) {
|
|
51
51
|
color: var(--el-color-primary) !important;
|
|
52
|
-
background-color: rgba(
|
|
52
|
+
background-color: rgba(var(--el-color-primary-rgb), 0.06) !important;
|
|
53
53
|
}
|
|
54
54
|
|
|
55
55
|
&:disabled { opacity: 0.4; cursor: not-allowed; }
|
|
@@ -89,7 +89,7 @@
|
|
|
89
89
|
|
|
90
90
|
// ── Hover(非选中行)──────────────────────────────────────────────────────
|
|
91
91
|
&:hover {
|
|
92
|
-
background-color: rgba(
|
|
92
|
+
background-color: rgba(var(--el-color-primary-rgb), 0.07) !important;
|
|
93
93
|
|
|
94
94
|
&::before { transform: translateY(-50%) scale(1); opacity: 0.55; }
|
|
95
95
|
|
|
@@ -113,7 +113,7 @@
|
|
|
113
113
|
|
|
114
114
|
// ── 选中状态 ──────────────────────────────────────────────────────────────────
|
|
115
115
|
.drag-left .el-tree-node.is-current > .el-tree-node__content {
|
|
116
|
-
background-color: rgba(
|
|
116
|
+
background-color: rgba(var(--el-color-primary-rgb), 0.10) !important;
|
|
117
117
|
box-shadow: inset 3px 0 0 var(--el-color-primary) !important;
|
|
118
118
|
font-weight: 500;
|
|
119
119
|
color: var(--el-color-primary) !important;
|
|
@@ -147,7 +147,7 @@
|
|
|
147
147
|
|
|
148
148
|
// hover 时加深一点
|
|
149
149
|
&:hover {
|
|
150
|
-
background-color: rgba(
|
|
150
|
+
background-color: rgba(var(--el-color-primary-rgb), 0.15) !important;
|
|
151
151
|
}
|
|
152
152
|
}
|
|
153
153
|
|
|
@@ -107,8 +107,8 @@ html body .el-select .el-input > .el-input__inner {
|
|
|
107
107
|
.el-select .el-input.is-focus > .el-input__inner,
|
|
108
108
|
.el-date-editor.is-focus > .el-input__inner,
|
|
109
109
|
.el-date-editor .el-input.is-focus > .el-input__inner {
|
|
110
|
-
border-color: var(--el-color-primary, #
|
|
111
|
-
box-shadow: 0 0 0 1px var(--el-color-primary, #
|
|
110
|
+
border-color: var(--el-color-primary, #002a8f) !important;
|
|
111
|
+
box-shadow: 0 0 0 1px var(--el-color-primary, #002a8f) inset;
|
|
112
112
|
}
|
|
113
113
|
|
|
114
114
|
// 4) error 红色边框(兼容 EP 2.2.x DOM;
|
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
// 主背景:双径向渐变替换纯灰
|
|
9
9
|
html body .portal-main {
|
|
10
10
|
background:
|
|
11
|
-
radial-gradient(ellipse at 15% 0%, rgba(
|
|
12
|
-
radial-gradient(ellipse at 85% 85%, rgba(
|
|
11
|
+
radial-gradient(ellipse at 15% 0%, rgba(var(--el-color-primary-rgb), 0.09) 0%, transparent 45%),
|
|
12
|
+
radial-gradient(ellipse at 85% 85%, rgba(var(--el-color-primary-rgb), 0.05) 0%, transparent 45%),
|
|
13
13
|
#eef0f8 !important;
|
|
14
14
|
}
|
|
15
15
|
|
|
@@ -18,13 +18,13 @@ html body .portal-header {
|
|
|
18
18
|
background: rgba(255, 255, 255, 0.88) !important;
|
|
19
19
|
backdrop-filter: blur(12px) !important;
|
|
20
20
|
-webkit-backdrop-filter: blur(12px) !important;
|
|
21
|
-
box-shadow: 0 1px 16px rgba(
|
|
22
|
-
border-bottom: 1px solid rgba(
|
|
21
|
+
box-shadow: 0 1px 16px rgba(var(--el-color-primary-rgb), 0.08) !important;
|
|
22
|
+
border-bottom: 1px solid rgba(var(--el-color-primary-rgb), 0.07) !important;
|
|
23
23
|
}
|
|
24
24
|
|
|
25
25
|
// 平台标题:蓝紫渐变文字
|
|
26
26
|
html body .portal-text {
|
|
27
|
-
background: linear-gradient(135deg,
|
|
27
|
+
background: linear-gradient(135deg, var(--el-color-primary) 0%, var(--el-color-primary-light-3) 100%) !important;
|
|
28
28
|
-webkit-background-clip: text !important;
|
|
29
29
|
-webkit-text-fill-color: transparent !important;
|
|
30
30
|
background-clip: text !important;
|
|
@@ -35,7 +35,7 @@ html body .portal-text {
|
|
|
35
35
|
html body .portal-bg {
|
|
36
36
|
border-radius: 14px !important;
|
|
37
37
|
overflow: hidden !important;
|
|
38
|
-
box-shadow: 0 8px 32px rgba(
|
|
38
|
+
box-shadow: 0 8px 32px rgba(var(--el-color-primary-rgb), 0.12) !important;
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
// 综合待办卡片:玻璃质感
|
|
@@ -44,21 +44,21 @@ html body .portal-zh {
|
|
|
44
44
|
backdrop-filter: blur(20px) !important;
|
|
45
45
|
-webkit-backdrop-filter: blur(20px) !important;
|
|
46
46
|
border-radius: 14px !important;
|
|
47
|
-
border: 1px solid rgba(
|
|
48
|
-
box-shadow: 0 8px 32px rgba(
|
|
47
|
+
border: 1px solid rgba(var(--el-color-primary-rgb), 0.12) !important;
|
|
48
|
+
box-shadow: 0 8px 32px rgba(var(--el-color-primary-rgb), 0.1) !important;
|
|
49
49
|
overflow: hidden !important;
|
|
50
50
|
}
|
|
51
51
|
|
|
52
52
|
// 通知待办 Tab 激活下划线
|
|
53
53
|
html body .portal-tabs .el-tabs__active-bar {
|
|
54
|
-
background: linear-gradient(90deg,
|
|
54
|
+
background: linear-gradient(90deg, var(--el-color-primary) 0%, var(--el-color-primary-light-3) 100%) !important;
|
|
55
55
|
}
|
|
56
56
|
html body .portal-tabs .el-tabs__item.is-active {
|
|
57
|
-
color:
|
|
57
|
+
color: var(--el-color-primary) !important;
|
|
58
58
|
font-weight: 600 !important;
|
|
59
59
|
}
|
|
60
60
|
html body .portal-tabs .el-tabs__item:hover {
|
|
61
|
-
color:
|
|
61
|
+
color: var(--el-color-primary) !important;
|
|
62
62
|
}
|
|
63
63
|
|
|
64
64
|
// 子系统区域卡片:玻璃质感
|
|
@@ -68,8 +68,8 @@ html body .portal-mainMiddle {
|
|
|
68
68
|
backdrop-filter: blur(20px) !important;
|
|
69
69
|
-webkit-backdrop-filter: blur(20px) !important;
|
|
70
70
|
border-radius: 14px !important;
|
|
71
|
-
border: 1px solid rgba(
|
|
72
|
-
box-shadow: 0 8px 32px rgba(
|
|
71
|
+
border: 1px solid rgba(var(--el-color-primary-rgb), 0.12) !important;
|
|
72
|
+
box-shadow: 0 8px 32px rgba(var(--el-color-primary-rgb), 0.1) !important;
|
|
73
73
|
overflow: hidden !important;
|
|
74
74
|
}
|
|
75
75
|
|
|
@@ -83,14 +83,14 @@ html body .portal-childrenSystem {
|
|
|
83
83
|
}
|
|
84
84
|
|
|
85
85
|
&:hover .children-name {
|
|
86
|
-
color: var(--el-color-primary, #
|
|
86
|
+
color: var(--el-color-primary, #002a8f) !important;
|
|
87
87
|
font-weight: 600 !important;
|
|
88
88
|
}
|
|
89
89
|
}
|
|
90
90
|
|
|
91
91
|
// 区块标题左竖线:蓝紫渐变
|
|
92
92
|
html body .portal-line {
|
|
93
|
-
background: linear-gradient(180deg,
|
|
93
|
+
background: linear-gradient(180deg, var(--el-color-primary) 0%, var(--el-color-primary-light-3) 100%) !important;
|
|
94
94
|
border-radius: 2px !important;
|
|
95
95
|
}
|
|
96
96
|
|
|
@@ -102,7 +102,7 @@ html body .portal-font {
|
|
|
102
102
|
|
|
103
103
|
// 消息数量角标:主色背景
|
|
104
104
|
html body .portal-tabs-label .num {
|
|
105
|
-
background: var(--el-color-primary, #
|
|
105
|
+
background: var(--el-color-primary, #002a8f) !important;
|
|
106
106
|
color: #fff !important;
|
|
107
107
|
border-radius: 10px !important;
|
|
108
108
|
font-weight: 600 !important;
|
|
@@ -110,5 +110,5 @@ html body .portal-tabs-label .num {
|
|
|
110
110
|
|
|
111
111
|
// 消息行 hover
|
|
112
112
|
html body .portal-tabs-row:hover {
|
|
113
|
-
color: var(--el-color-primary, #
|
|
113
|
+
color: var(--el-color-primary, #002a8f) !important;
|
|
114
114
|
}
|