@hbdlzy/ui-core 0.1.7 → 0.1.9
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/README.md +30 -2
- package/components.manifest.json +16 -2
- package/dist/components/BaseTable/BaseTable.types.d.ts +6 -1
- package/dist/components/OutlinedCascader/OutlinedCascader.vue.d.ts +1 -1
- package/dist/components/OutlinedDatePicker/OutlinedDatePicker.vue.d.ts +3 -3
- package/dist/components/OutlinedSelect/OutlinedSelect.vue.d.ts +4 -4
- package/dist/components/OutlinedTimePicker/OutlinedTimePicker.vue.d.ts +6 -6
- package/dist/components/OutlinedTreeSelect/OutlinedTreeSelect.vue.d.ts +4 -4
- package/dist/index.cjs +5 -5
- package/dist/index.d.ts +50 -13
- package/dist/index.js +531 -147
- package/dist/ripple/index.cjs +42 -0
- package/dist/ripple/index.d.ts +8 -1
- package/dist/ripple/index.js +171 -0
- package/dist/style.css +1 -1
- package/package.json +17 -2
- package/src/components/BaseCard/BaseCard.types.d.ts +36 -0
- package/src/components/BaseCard/BaseCard.vue.d.ts +122 -0
- package/src/components/BaseCard/README.md +33 -0
- package/src/components/BaseCard/index.d.ts +3 -0
- package/src/components/BaseEChart/BaseEChart.types.d.ts +26 -0
- package/src/components/BaseEChart/BaseEChart.vue.d.ts +66 -0
- package/src/components/BaseEChart/README.md +33 -0
- package/src/components/BaseEChart/index.d.ts +3 -0
- package/src/components/BaseExportButton/BaseExportButton.types.d.ts +21 -0
- package/src/components/BaseExportButton/BaseExportButton.utils.d.ts +4 -0
- package/src/components/BaseExportButton/BaseExportButton.vue.d.ts +128 -0
- package/src/components/BaseExportButton/README.md +34 -0
- package/src/components/BaseExportButton/index.d.ts +5 -0
- package/src/components/BaseTable/BaseTable.types.d.ts +183 -0
- package/src/components/BaseTable/BaseTable.types.ts +15 -1
- package/src/components/BaseTable/BaseTable.vue +340 -111
- package/src/components/BaseTable/BaseTable.vue.d.ts +157 -0
- package/src/components/BaseTable/README.md +121 -2
- package/src/components/BaseTable/index.d.ts +3 -0
- package/src/components/OutlinedCascader/OutlinedCascader.types.d.ts +28 -0
- package/src/components/OutlinedCascader/OutlinedCascader.vue.d.ts +94 -0
- package/src/components/OutlinedCascader/README.md +34 -0
- package/src/components/OutlinedCascader/index.d.ts +3 -0
- package/src/components/OutlinedDatePicker/OutlinedDatePicker.types.d.ts +30 -0
- package/src/components/OutlinedDatePicker/OutlinedDatePicker.vue.d.ts +97 -0
- package/src/components/OutlinedDatePicker/README.md +34 -0
- package/src/components/OutlinedDatePicker/index.d.ts +3 -0
- package/src/components/OutlinedDateTimePicker/OutlinedDateTimePicker.types.d.ts +29 -0
- package/src/components/OutlinedDateTimePicker/OutlinedDateTimePicker.vue.d.ts +106 -0
- package/src/components/OutlinedDateTimePicker/README.md +33 -0
- package/src/components/OutlinedDateTimePicker/index.d.ts +3 -0
- package/src/components/OutlinedInput/OutlinedInput.types.d.ts +32 -0
- package/src/components/OutlinedInput/OutlinedInput.vue.d.ts +106 -0
- package/src/components/OutlinedInput/README.md +34 -0
- package/src/components/OutlinedInput/index.d.ts +3 -0
- package/src/components/OutlinedSelect/OutlinedSelect.types.d.ts +41 -0
- package/src/components/OutlinedSelect/OutlinedSelect.vue.d.ts +125 -0
- package/src/components/OutlinedSelect/README.md +34 -0
- package/src/components/OutlinedSelect/index.d.ts +3 -0
- package/src/components/OutlinedTimePicker/OutlinedTimePicker.types.d.ts +31 -0
- package/src/components/OutlinedTimePicker/OutlinedTimePicker.vue.d.ts +103 -0
- package/src/components/OutlinedTimePicker/README.md +33 -0
- package/src/components/OutlinedTimePicker/index.d.ts +3 -0
- package/src/components/OutlinedTreeSelect/OutlinedTreeSelect.types.d.ts +49 -0
- package/src/components/OutlinedTreeSelect/OutlinedTreeSelect.vue.d.ts +146 -0
- package/src/components/OutlinedTreeSelect/README.md +34 -0
- package/src/components/OutlinedTreeSelect/index.d.ts +3 -0
- package/src/components/SvgIcon/README.md +33 -0
- package/src/components/SvgIcon/SvgIcon.types.d.ts +6 -0
- package/src/components/SvgIcon/SvgIcon.vue.d.ts +32 -0
- package/src/components/SvgIcon/index.d.ts +3 -0
- package/src/echarts/index.d.ts +9 -0
- package/src/excel/exportExcel.d.ts +18 -0
- package/src/index.d.ts +66 -0
- package/src/index.ts +78 -13
- package/src/ripple/README.md +160 -0
- package/src/ripple/index.d.ts +9 -0
- package/src/ripple/index.ts +15 -1
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const r="__HBDL_UI_RIPPLE__",f="hbdl-ui-ripple-style",l="hbdl-ripple-host",a="hbdl-ripple__wave",L=["button",'[role="button"]',".el-button",".el-radio-button__inner",".el-checkbox-button__inner"].join(","),P=[":disabled","[disabled]",'[aria-disabled="true"]',".is-disabled",".is-loading"].join(","),R='[data-hbdl-ripple="false"]',v=`
|
|
2
|
+
.${l} {
|
|
3
|
+
overflow: hidden;
|
|
4
|
+
-webkit-tap-highlight-color: transparent;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
.${l} > .${a} {
|
|
8
|
+
position: absolute;
|
|
9
|
+
left: var(--hbdl-ripple-x);
|
|
10
|
+
top: var(--hbdl-ripple-y);
|
|
11
|
+
width: var(--hbdl-ripple-size);
|
|
12
|
+
height: var(--hbdl-ripple-size);
|
|
13
|
+
border-radius: 999px;
|
|
14
|
+
background: var(--hbdl-ripple-color, currentColor);
|
|
15
|
+
pointer-events: none;
|
|
16
|
+
opacity: 0;
|
|
17
|
+
transform: scale(0);
|
|
18
|
+
animation: hbdl-ripple-wave 560ms cubic-bezier(0.22, 1, 0.36, 1);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
@keyframes hbdl-ripple-wave {
|
|
22
|
+
0% {
|
|
23
|
+
opacity: 0.22;
|
|
24
|
+
transform: scale(0);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
55% {
|
|
28
|
+
opacity: 0.18;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
100% {
|
|
32
|
+
opacity: 0;
|
|
33
|
+
transform: scale(1);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
@media (prefers-reduced-motion: reduce) {
|
|
38
|
+
.${l} > .${a} {
|
|
39
|
+
animation-duration: 1ms;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
`,S=()=>{};function b(e){if(!_())return S;const t=window;if(t[r])return t[r].teardown;I(),document.addEventListener("pointerdown",h,!0),document.addEventListener("keydown",m,!0);const n=()=>{document.removeEventListener("pointerdown",h,!0),document.removeEventListener("keydown",m,!0),delete t[r]};return t[r]={teardown:n},n}function g(){var t;if(!_())return;(t=window[r])==null||t.teardown()}const E={install:b};function _(){return typeof window!="undefined"&&typeof document!="undefined"}function I(){if(document.getElementById(f))return;const e=document.createElement("style");e.id=f,e.textContent=v,document.head.appendChild(e)}function h(e){if(e.defaultPrevented||e.button!==0)return;const t=w(e.target);!t||y(t,e.clientX,e.clientY)}function m(e){if(e.defaultPrevented||e.repeat||!x(e.key))return;const t=w(e.target);if(!t)return;const n=t.getBoundingClientRect();y(t,n.left+n.width/2,n.top+n.height/2)}function w(e){if(!(e instanceof Element))return null;const t=e.closest(L);return!(t instanceof HTMLElement)||t.closest(R)||t.closest(P)?null:t}function y(e,t,n){const o=e.getBoundingClientRect();if(o.width<=0||o.height<=0)return;const s=t-o.left,d=n-o.top,c=Math.max(s,o.width-s),u=Math.max(d,o.height-d),p=Math.ceil(Math.sqrt(c*c+u*u)*2),i=document.createElement("span");T(e),i.className=a,i.setAttribute("aria-hidden","true"),i.style.setProperty("--hbdl-ripple-size",`${p}px`),i.style.setProperty("--hbdl-ripple-x",`${s-p/2}px`),i.style.setProperty("--hbdl-ripple-y",`${d-p/2}px`),e.insertBefore(i,e.firstChild),i.addEventListener("animationend",()=>i.remove(),{once:!0}),window.setTimeout(()=>i.remove(),700)}function T(e){e.classList.add(l),getComputedStyle(e).position==="static"&&(e.style.position="relative")}function x(e){return e==="Enter"||e===" "||e==="Spacebar"}exports.Ripple=E;exports.default=E;exports.installRipple=b;exports.uninstallRipple=g;
|
package/dist/ripple/index.d.ts
CHANGED
|
@@ -1,2 +1,9 @@
|
|
|
1
|
-
|
|
1
|
+
import type { App } from 'vue';
|
|
2
|
+
export type RippleTeardown = () => void;
|
|
3
|
+
export interface RipplePlugin {
|
|
4
|
+
install: (app?: App) => RippleTeardown;
|
|
5
|
+
}
|
|
6
|
+
export declare function installRipple(_app?: App): RippleTeardown;
|
|
2
7
|
export declare function uninstallRipple(): void;
|
|
8
|
+
export declare const Ripple: RipplePlugin;
|
|
9
|
+
export default Ripple;
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
const HBDL_RIPPLE_KEY = "__HBDL_UI_RIPPLE__";
|
|
2
|
+
const RIPPLE_STYLE_ID = "hbdl-ui-ripple-style";
|
|
3
|
+
const RIPPLE_HOST_CLASS = "hbdl-ripple-host";
|
|
4
|
+
const RIPPLE_WAVE_CLASS = "hbdl-ripple__wave";
|
|
5
|
+
const RIPPLE_TARGET_SELECTOR = [
|
|
6
|
+
"button",
|
|
7
|
+
'[role="button"]',
|
|
8
|
+
".el-button",
|
|
9
|
+
".el-radio-button__inner",
|
|
10
|
+
".el-checkbox-button__inner"
|
|
11
|
+
].join(",");
|
|
12
|
+
const RIPPLE_DISABLED_SELECTOR = [
|
|
13
|
+
":disabled",
|
|
14
|
+
"[disabled]",
|
|
15
|
+
'[aria-disabled="true"]',
|
|
16
|
+
".is-disabled",
|
|
17
|
+
".is-loading"
|
|
18
|
+
].join(",");
|
|
19
|
+
const RIPPLE_SKIP_SELECTOR = '[data-hbdl-ripple="false"]';
|
|
20
|
+
const RIPPLE_STYLE = `
|
|
21
|
+
.${RIPPLE_HOST_CLASS} {
|
|
22
|
+
overflow: hidden;
|
|
23
|
+
-webkit-tap-highlight-color: transparent;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.${RIPPLE_HOST_CLASS} > .${RIPPLE_WAVE_CLASS} {
|
|
27
|
+
position: absolute;
|
|
28
|
+
left: var(--hbdl-ripple-x);
|
|
29
|
+
top: var(--hbdl-ripple-y);
|
|
30
|
+
width: var(--hbdl-ripple-size);
|
|
31
|
+
height: var(--hbdl-ripple-size);
|
|
32
|
+
border-radius: 999px;
|
|
33
|
+
background: var(--hbdl-ripple-color, currentColor);
|
|
34
|
+
pointer-events: none;
|
|
35
|
+
opacity: 0;
|
|
36
|
+
transform: scale(0);
|
|
37
|
+
animation: hbdl-ripple-wave 560ms cubic-bezier(0.22, 1, 0.36, 1);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
@keyframes hbdl-ripple-wave {
|
|
41
|
+
0% {
|
|
42
|
+
opacity: 0.22;
|
|
43
|
+
transform: scale(0);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
55% {
|
|
47
|
+
opacity: 0.18;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
100% {
|
|
51
|
+
opacity: 0;
|
|
52
|
+
transform: scale(1);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
@media (prefers-reduced-motion: reduce) {
|
|
57
|
+
.${RIPPLE_HOST_CLASS} > .${RIPPLE_WAVE_CLASS} {
|
|
58
|
+
animation-duration: 1ms;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
`;
|
|
62
|
+
const noop = () => void 0;
|
|
63
|
+
function installRipple(_app) {
|
|
64
|
+
if (!canUseDOM()) {
|
|
65
|
+
return noop;
|
|
66
|
+
}
|
|
67
|
+
const rippleWindow = window;
|
|
68
|
+
if (rippleWindow[HBDL_RIPPLE_KEY]) {
|
|
69
|
+
return rippleWindow[HBDL_RIPPLE_KEY].teardown;
|
|
70
|
+
}
|
|
71
|
+
injectRippleStyle();
|
|
72
|
+
document.addEventListener("pointerdown", handlePointerDown, true);
|
|
73
|
+
document.addEventListener("keydown", handleKeyDown, true);
|
|
74
|
+
const teardown = () => {
|
|
75
|
+
document.removeEventListener("pointerdown", handlePointerDown, true);
|
|
76
|
+
document.removeEventListener("keydown", handleKeyDown, true);
|
|
77
|
+
delete rippleWindow[HBDL_RIPPLE_KEY];
|
|
78
|
+
};
|
|
79
|
+
rippleWindow[HBDL_RIPPLE_KEY] = {
|
|
80
|
+
teardown
|
|
81
|
+
};
|
|
82
|
+
return teardown;
|
|
83
|
+
}
|
|
84
|
+
function uninstallRipple() {
|
|
85
|
+
var _a;
|
|
86
|
+
if (!canUseDOM()) {
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
const rippleWindow = window;
|
|
90
|
+
(_a = rippleWindow[HBDL_RIPPLE_KEY]) == null ? void 0 : _a.teardown();
|
|
91
|
+
}
|
|
92
|
+
const Ripple = {
|
|
93
|
+
install: installRipple
|
|
94
|
+
};
|
|
95
|
+
function canUseDOM() {
|
|
96
|
+
return typeof window !== "undefined" && typeof document !== "undefined";
|
|
97
|
+
}
|
|
98
|
+
function injectRippleStyle() {
|
|
99
|
+
if (document.getElementById(RIPPLE_STYLE_ID)) {
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
const style = document.createElement("style");
|
|
103
|
+
style.id = RIPPLE_STYLE_ID;
|
|
104
|
+
style.textContent = RIPPLE_STYLE;
|
|
105
|
+
document.head.appendChild(style);
|
|
106
|
+
}
|
|
107
|
+
function handlePointerDown(event) {
|
|
108
|
+
if (event.defaultPrevented || event.button !== 0) {
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
const target = findRippleTarget(event.target);
|
|
112
|
+
if (!target) {
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
115
|
+
createRipple(target, event.clientX, event.clientY);
|
|
116
|
+
}
|
|
117
|
+
function handleKeyDown(event) {
|
|
118
|
+
if (event.defaultPrevented || event.repeat || !isActivationKey(event.key)) {
|
|
119
|
+
return;
|
|
120
|
+
}
|
|
121
|
+
const target = findRippleTarget(event.target);
|
|
122
|
+
if (!target) {
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
125
|
+
const rect = target.getBoundingClientRect();
|
|
126
|
+
createRipple(target, rect.left + rect.width / 2, rect.top + rect.height / 2);
|
|
127
|
+
}
|
|
128
|
+
function findRippleTarget(target) {
|
|
129
|
+
if (!(target instanceof Element)) {
|
|
130
|
+
return null;
|
|
131
|
+
}
|
|
132
|
+
const rippleTarget = target.closest(RIPPLE_TARGET_SELECTOR);
|
|
133
|
+
if (!(rippleTarget instanceof HTMLElement)) {
|
|
134
|
+
return null;
|
|
135
|
+
}
|
|
136
|
+
if (rippleTarget.closest(RIPPLE_SKIP_SELECTOR) || rippleTarget.closest(RIPPLE_DISABLED_SELECTOR)) {
|
|
137
|
+
return null;
|
|
138
|
+
}
|
|
139
|
+
return rippleTarget;
|
|
140
|
+
}
|
|
141
|
+
function createRipple(target, clientX, clientY) {
|
|
142
|
+
const rect = target.getBoundingClientRect();
|
|
143
|
+
if (rect.width <= 0 || rect.height <= 0) {
|
|
144
|
+
return;
|
|
145
|
+
}
|
|
146
|
+
const offsetX = clientX - rect.left;
|
|
147
|
+
const offsetY = clientY - rect.top;
|
|
148
|
+
const maxX = Math.max(offsetX, rect.width - offsetX);
|
|
149
|
+
const maxY = Math.max(offsetY, rect.height - offsetY);
|
|
150
|
+
const size = Math.ceil(Math.sqrt(maxX * maxX + maxY * maxY) * 2);
|
|
151
|
+
const ripple = document.createElement("span");
|
|
152
|
+
prepareRippleHost(target);
|
|
153
|
+
ripple.className = RIPPLE_WAVE_CLASS;
|
|
154
|
+
ripple.setAttribute("aria-hidden", "true");
|
|
155
|
+
ripple.style.setProperty("--hbdl-ripple-size", `${size}px`);
|
|
156
|
+
ripple.style.setProperty("--hbdl-ripple-x", `${offsetX - size / 2}px`);
|
|
157
|
+
ripple.style.setProperty("--hbdl-ripple-y", `${offsetY - size / 2}px`);
|
|
158
|
+
target.insertBefore(ripple, target.firstChild);
|
|
159
|
+
ripple.addEventListener("animationend", () => ripple.remove(), { once: true });
|
|
160
|
+
window.setTimeout(() => ripple.remove(), 700);
|
|
161
|
+
}
|
|
162
|
+
function prepareRippleHost(target) {
|
|
163
|
+
target.classList.add(RIPPLE_HOST_CLASS);
|
|
164
|
+
if (getComputedStyle(target).position === "static") {
|
|
165
|
+
target.style.position = "relative";
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
function isActivationKey(key) {
|
|
169
|
+
return key === "Enter" || key === " " || key === "Spacebar";
|
|
170
|
+
}
|
|
171
|
+
export { Ripple, Ripple as default, installRipple, uninstallRipple };
|
package/dist/style.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.base-card[data-v-6bfddf1c]{display:flex;flex-direction:column;min-width:0;min-height:0;padding:var(--base-card-padding);border:1px solid var(--base-card-border-color);background:var(--base-card-background-color);box-shadow:0 0 2px 0 var(--base-card-shadow-color);border-radius:var(--base-card-radius)}.base-card__header[data-v-6bfddf1c]{display:flex;align-items:center;justify-content:space-between;gap:var(--base-card-header-gap);margin-bottom:var(--base-card-header-margin-bottom);min-height:24px;flex-wrap:wrap}.base-card__header-left[data-v-6bfddf1c],.base-card__header-right[data-v-6bfddf1c]{display:flex;align-items:center;min-width:0;flex-wrap:wrap}.base-card__header-left[data-v-6bfddf1c]{flex:1 1 auto;gap:var(--base-card-left-gap)}.base-card__header-right[data-v-6bfddf1c]{flex:0 1 auto;justify-content:flex-end;gap:var(--base-card-right-gap)}.base-card__title-wrap[data-v-6bfddf1c]{display:flex;align-items:center;min-width:0}.base-card__title-marker[data-v-6bfddf1c]{width:var(--base-card-marker-width);height:var(--base-card-marker-height);background:var(--base-card-marker-color);border-radius:var(--base-card-marker-radius);margin-right:var(--base-card-marker-gap);flex:0 0 auto}.base-card__title[data-v-6bfddf1c]{margin:0;min-width:0;color:var(--base-card-title-color);font-size:var(--base-card-title-size);font-weight:var(--base-card-title-weight);line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.base-card__meta[data-v-6bfddf1c]{color:var(--base-card-meta-color);font-size:var(--base-card-meta-size);line-height:1.4}.base-card__export[data-v-6bfddf1c]{border:none;background:transparent;padding:0;color:var(--base-card-export-color);cursor:pointer;font-size:var(--base-card-meta-size);line-height:1.4}.base-card__export[data-v-6bfddf1c]:disabled{opacity:.5;cursor:not-allowed}.base-card__body[data-v-6bfddf1c]{display:flex;flex:1 1 auto;flex-direction:column;min-height:0}.base-card__tip[data-v-6bfddf1c]{flex:0 0 auto}.base-card__content[data-v-6bfddf1c]{flex:1 1 auto;min-height:0}.svg-icon[data-v-318312b1]{width:1em;height:1em;vertical-align:-.15em;fill:currentColor;overflow:hidden}.svg-external-icon[data-v-318312b1]{display:inline-block;background-color:currentColor;mask-size:cover!important;-webkit-mask-size:cover!important}.base-table[data-v-20fa814c]{display:flex;flex-direction:column;height:100%;min-height:0}.base-table__svg-sprite[data-v-20fa814c]{position:absolute;width:0;height:0;overflow:hidden}.base-table__toolbar[data-v-20fa814c]{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;min-height:32px;flex-wrap:wrap}.base-table__toolbar-left[data-v-20fa814c]{flex:1 1 auto;min-width:0}.base-table__toolbar-right[data-v-20fa814c]{flex:0 1 auto}.base-table__actions[data-v-20fa814c]{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.base-table__header[data-v-20fa814c]{display:flex;align-items:center;gap:6px;width:100%;min-width:0}.base-table__header--center.base-table__header--has-actions[data-v-20fa814c]:before{content:"";display:block;width:24px;flex:0 0 24px}.base-table__header--center[data-v-20fa814c]{justify-content:center}.base-table__header--right[data-v-20fa814c]{justify-content:flex-end}.base-table__header-main[data-v-20fa814c]{display:inline-flex;align-items:center;gap:4px;min-width:0}.base-table__header-label[data-v-20fa814c]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.base-table__header--left .base-table__header-main[data-v-20fa814c]{flex:1 1 auto}.base-table__header--center .base-table__header-main[data-v-20fa814c],.base-table__header--right .base-table__header-main[data-v-20fa814c]{flex:0 1 auto}.base-table__header-sort[data-v-20fa814c]{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:16px;height:16px;color:#8c8c8c}.base-table__header-sort.is-active[data-v-20fa814c]{color:#0938f7}.base-table__header-sort-icon[data-v-20fa814c]{width:15.351px;height:16.031px;font-size:16px;vertical-align:middle}.base-table__header-actions[data-v-20fa814c]{display:flex;align-items:center;flex-shrink:0}.base-table__header--left .base-table__header-actions[data-v-20fa814c]{margin-left:auto}.base-table__header-icon[data-v-20fa814c]{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;border-radius:999px;background:transparent;color:var(--el-text-color-secondary);cursor:pointer;transition:color .2s ease,background-color .2s ease}.base-table__header-icon[data-v-20fa814c]:hover,.base-table__header-icon.is-active[data-v-20fa814c]{color:var(--el-color-primary);background:rgba(64,158,255,.12)}.base-table__header-search-icon[data-v-20fa814c]{width:17.814px;height:14.035px;font-size:16px;vertical-align:middle}.base-table[data-v-20fa814c] .el-table__cell.is-sortable .caret-wrapper{display:none}.base-table__header-search-panel[data-v-20fa814c]{position:fixed;z-index:3000;display:flex;flex-direction:column;gap:12px;padding:var(--el-popover-padding, 12px);border:1px solid var(--el-border-color-light);border-radius:var(--el-popover-border-radius, 4px);background:var(--el-bg-color-overlay);box-shadow:var(--el-box-shadow-light);box-sizing:border-box}.base-table__header-search-input[data-v-20fa814c]{width:100%;height:32px;padding:1px 11px;border:none;border-radius:var(--el-border-radius-base);outline:none;color:var(--el-text-color-regular);background:var(--el-fill-color-blank);box-shadow:0 0 0 1px var(--el-border-color) inset;box-sizing:border-box;font-size:var(--el-font-size-base);line-height:30px;transition:box-shadow var(--el-transition-duration)}.base-table__header-search-input[data-v-20fa814c]:hover{box-shadow:0 0 0 1px var(--el-border-color-hover) inset}.base-table__header-search-input[data-v-20fa814c]:focus{box-shadow:0 0 0 1px var(--el-color-primary) inset}.base-table__header-search-input[data-v-20fa814c]::placeholder{color:var(--el-text-color-placeholder)}.base-table__header-select[data-v-20fa814c],.base-table__header-cascader[data-v-20fa814c]{position:relative;width:100%}.base-table__header-select-trigger[data-v-20fa814c]{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:32px;padding:4px 11px;border:none;border-radius:var(--el-border-radius-base);outline:none;color:var(--el-text-color-regular);background:var(--el-fill-color-blank);box-shadow:0 0 0 1px var(--el-border-color) inset;box-sizing:border-box;cursor:pointer;font-size:var(--el-font-size-base);line-height:24px;text-align:left;transition:box-shadow var(--el-transition-duration)}.base-table__header-select-trigger[data-v-20fa814c]:hover,.base-table__header-select-trigger[data-v-20fa814c]:focus{box-shadow:0 0 0 1px var(--el-color-primary) inset}.base-table__header-select-text[data-v-20fa814c]{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.base-table__header-select-text.is-placeholder[data-v-20fa814c]{color:var(--el-text-color-placeholder)}.base-table__header-select-tags[data-v-20fa814c]{display:flex;align-items:center;gap:4px;min-width:0;flex:1 1 auto;overflow:hidden}.base-table__header-select-tag[data-v-20fa814c]{display:inline-flex;align-items:center;max-width:92px;min-height:22px;padding:0 6px;border-radius:4px;background:var(--el-fill-color-light);color:var(--el-text-color-regular);box-sizing:border-box;font-size:12px;line-height:22px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.base-table__header-select-tag--count[data-v-20fa814c]{flex:0 0 auto;color:var(--el-color-primary)}.base-table__header-select-arrow[data-v-20fa814c]{width:8px;height:8px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;color:var(--el-text-color-placeholder);transform:rotate(45deg);transition:transform var(--el-transition-duration);flex:0 0 auto}.base-table__header-select-arrow.is-open[data-v-20fa814c]{transform:rotate(225deg)}.base-table__header-select-options[data-v-20fa814c]{max-height:180px;margin-top:6px;padding:4px 0;border:1px solid var(--el-border-color-light);border-radius:var(--el-border-radius-base);background:var(--el-bg-color-overlay);box-shadow:var(--el-box-shadow-light);overflow-y:auto}.base-table__header-select-option[data-v-20fa814c]{display:flex;align-items:center;width:100%;min-height:32px;padding:0 12px;border:none;color:var(--el-text-color-regular);background:transparent;cursor:pointer;font-size:var(--el-font-size-base);line-height:32px;text-align:left}.base-table__header-select-option-label[data-v-20fa814c]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.base-table__header-select-option[data-v-20fa814c]:hover{background:var(--el-fill-color-light)}.base-table__header-select-option.is-selected[data-v-20fa814c]{color:var(--el-color-primary);font-weight:700}.base-table__header-select-option[data-v-20fa814c]:disabled{color:var(--el-text-color-placeholder);cursor:not-allowed}.base-table__header-cascader-panel[data-v-20fa814c]{display:flex;max-width:calc(100vw - 24px);min-height:180px;max-height:260px;margin-top:6px;border:1px solid var(--el-border-color-light);border-radius:var(--el-border-radius-base);background:var(--el-bg-color-overlay);box-shadow:var(--el-box-shadow-light);overflow:auto}.base-table__header-cascader-menu[data-v-20fa814c]{min-width:132px;padding:4px 0;border-right:1px solid var(--el-border-color-lighter);box-sizing:border-box}.base-table__header-cascader-menu[data-v-20fa814c]:last-child{border-right:none}.base-table__header-cascader-option[data-v-20fa814c]{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:32px;padding:0 10px 0 12px;border:none;color:var(--el-text-color-regular);background:transparent;cursor:pointer;font-size:var(--el-font-size-base);line-height:32px;text-align:left}.base-table__header-cascader-option[data-v-20fa814c]:hover,.base-table__header-cascader-option.is-active[data-v-20fa814c]{background:var(--el-fill-color-light)}.base-table__header-cascader-option.is-selected[data-v-20fa814c]{color:var(--el-color-primary);font-weight:700}.base-table__header-cascader-option[data-v-20fa814c]:disabled{color:var(--el-text-color-placeholder);cursor:not-allowed}.base-table__header-cascader-label[data-v-20fa814c]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.base-table__header-cascader-arrow[data-v-20fa814c]{width:7px;height:7px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;color:var(--el-text-color-placeholder);transform:rotate(-45deg);flex:0 0 auto}.base-table__header-search-footer[data-v-20fa814c]{display:flex;align-items:center;justify-content:space-between}.base-table__link[data-v-20fa814c]{padding:0;border:none;background:transparent;color:var(--el-color-primary);cursor:pointer}.base-table__text[data-v-20fa814c]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.base-table__tags[data-v-20fa814c]{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.base-table__image[data-v-20fa814c]{border-radius:4px;overflow:hidden}.base-echart[data-v-51bc4772],.base-echart__inner[data-v-51bc4772]{width:100%;height:100%}.outlined-input[data-v-3c232c9a]{position:relative}.outlined-input__label[data-v-3c232c9a]{position:absolute;left:-2px;display:inline-flex;align-items:center;gap:2px;padding:2px 5px;border-radius:2px;background-color:#fff;font-size:12px;line-height:1;transition:color .2s cubic-bezier(0,0,.2,1),transform .2s cubic-bezier(0,0,.2,1);pointer-events:none}.outlined-input__label--floating[data-v-3c232c9a]{top:18px;z-index:1;opacity:1;transform:translate(14px,-6px) scale(1);color:var(--el-color-primary)}.outlined-input__label--placeholder[data-v-3c232c9a]{top:50%;left:1px;z-index:-1;opacity:0;transform:translate(14px,6px) scale(1)}.outlined-input__label--filled[data-v-3c232c9a]{color:var(--el-text-color-regular)}.outlined-input--error[data-v-3c232c9a]{--el-input-focus-border-color: var(--el-color-danger);--el-input-hover-border-color: var(--el-color-danger)}.outlined-input__required[data-v-3c232c9a],.outlined-input--error .outlined-input__label[data-v-3c232c9a],.outlined-input__error[data-v-3c232c9a]{color:var(--el-color-danger)}.outlined-input__error[data-v-3c232c9a]{margin:6px 0 0;font-size:12px;line-height:1.2}.outlined-input__suffix-text[data-v-3c232c9a]{white-space:nowrap}.outlined-input--bordered[data-v-3c232c9a] .el-input__wrapper{box-shadow:none;border-radius:0;border-bottom:1px solid #cccccc}.outlined-input--bordered[data-v-3c232c9a] .el-input__wrapper.is-focus{border-bottom-color:var(--el-color-primary)}.outlined-input--bordered[data-v-3c232c9a] .el-textarea__inner{border-width:0 0 1px;border-radius:0;box-shadow:none}.outlined-input--bordered[data-v-3c232c9a] .el-textarea__inner:focus{border-bottom-color:var(--el-color-primary)}.outlined-input--textarea-default[data-v-3c232c9a] .el-textarea__inner{min-height:100px!important;max-height:180px}.outlined-input--error[data-v-3c232c9a] .el-input__wrapper,.outlined-input--error[data-v-3c232c9a] .el-input__wrapper.is-focus,.outlined-input--error[data-v-3c232c9a] .el-input__wrapper:hover,.outlined-input--error[data-v-3c232c9a] .el-textarea__inner{box-shadow:0 0 0 1px var(--el-color-danger) inset}.outlined-input--error[data-v-3c232c9a] .el-textarea__inner:focus,.outlined-input--error[data-v-3c232c9a] .el-textarea__inner:hover{box-shadow:0 0 0 1px var(--el-color-danger) inset}.outlined-input--error.outlined-input--bordered[data-v-3c232c9a] .el-input__wrapper,.outlined-input--error.outlined-input--bordered[data-v-3c232c9a] .el-textarea__inner{box-shadow:0 0 0 1px var(--el-color-danger) inset;border-bottom-color:transparent}.outlined-select[data-v-2a354461]{position:relative}.outlined-select__label[data-v-2a354461]{position:absolute;left:-2px;display:inline-flex;align-items:center;gap:2px;padding:2px 5px;border-radius:2px;background-color:#fff;font-size:12px;line-height:1;transition:color .2s cubic-bezier(0,0,.2,1),transform .2s cubic-bezier(0,0,.2,1);pointer-events:none}.outlined-select__label--floating[data-v-2a354461]{top:18px;z-index:1;opacity:1;transform:translate(14px,-6px) scale(1);color:var(--el-color-primary)}.outlined-select__label--placeholder[data-v-2a354461]{top:50%;left:1px;z-index:-1;opacity:0;transform:translate(14px,6px) scale(1)}.outlined-select__label--filled[data-v-2a354461]{color:var(--el-text-color-regular)}.outlined-select--error[data-v-2a354461]{--el-input-focus-border-color: var(--el-color-danger);--el-input-hover-border-color: var(--el-color-danger)}.outlined-select__required[data-v-2a354461],.outlined-select--error .outlined-select__label[data-v-2a354461],.outlined-select__error[data-v-2a354461]{color:var(--el-color-danger)}.outlined-select__error[data-v-2a354461]{margin:6px 0 0;font-size:12px;line-height:1.2}[data-v-2a354461] .outlined-select__control.el-select{width:100%}[data-v-2a354461] .outlined-select__control .el-select__wrapper{min-height:inherit;height:inherit}[data-v-2a354461] .outlined-select__control .el-select__tags{padding-top:4px}[data-v-2a354461] .outlined-select__control .el-select__selection{min-height:inherit}.outlined-select--bordered[data-v-2a354461] .el-select__wrapper{box-shadow:none;border-radius:0;border-bottom:1px solid #cccccc}.outlined-select--bordered[data-v-2a354461] .el-select__wrapper.is-focused{border-bottom-color:var(--el-color-primary)}.outlined-select--error[data-v-2a354461] .el-select__wrapper,.outlined-select--error[data-v-2a354461] .el-select__wrapper.is-focused,.outlined-select--error[data-v-2a354461] .el-select__wrapper.is-focus,.outlined-select--error[data-v-2a354461] .el-select__wrapper:hover{box-shadow:0 0 0 1px var(--el-color-danger) inset}.outlined-select--error.outlined-select--bordered[data-v-2a354461] .el-select__wrapper{box-shadow:0 0 0 1px var(--el-color-danger) inset;border-bottom-color:transparent}.outlined-date-picker[data-v-47219caf]{position:relative}.outlined-date-picker__label[data-v-47219caf]{position:absolute;left:-2px;display:inline-flex;align-items:center;gap:2px;padding:2px 5px;border-radius:2px;background-color:#fff;font-size:12px;line-height:1;transition:color .2s cubic-bezier(0,0,.2,1),transform .2s cubic-bezier(0,0,.2,1);pointer-events:none}.outlined-date-picker__label--floating[data-v-47219caf]{top:18px;z-index:1;opacity:1;transform:translate(14px,-6px) scale(1);color:var(--el-color-primary)}.outlined-date-picker__label--placeholder[data-v-47219caf]{top:50%;left:1px;z-index:-1;opacity:0;transform:translate(14px,6px) scale(1)}.outlined-date-picker__label--filled[data-v-47219caf]{color:var(--el-text-color-regular)}.outlined-date-picker--error[data-v-47219caf]{--el-input-focus-border-color: var(--el-color-danger);--el-input-hover-border-color: var(--el-color-danger)}.outlined-date-picker__required[data-v-47219caf],.outlined-date-picker--error .outlined-date-picker__label[data-v-47219caf],.outlined-date-picker__error[data-v-47219caf]{color:var(--el-color-danger)}.outlined-date-picker__error[data-v-47219caf]{margin:6px 0 0;font-size:12px;line-height:1.2}[data-v-47219caf] .outlined-date-picker__control.el-date-editor{width:100%}[data-v-47219caf] .outlined-date-picker__control .el-input__wrapper{position:relative;min-height:inherit;height:inherit}[data-v-47219caf] .outlined-date-picker__control .el-input__prefix{position:absolute;right:0}[data-v-47219caf] .outlined-date-picker__control .el-input__suffix{position:absolute;right:30px}.outlined-date-picker--bordered[data-v-47219caf] .el-input__wrapper{box-shadow:none;border-radius:0;border-bottom:1px solid #cccccc}.outlined-date-picker--bordered[data-v-47219caf] .el-input__wrapper.is-focus{border-bottom-color:var(--el-color-primary)}.outlined-date-picker--error[data-v-47219caf] .el-input__wrapper,.outlined-date-picker--error[data-v-47219caf] .el-input__wrapper.is-focus,.outlined-date-picker--error[data-v-47219caf] .el-input__wrapper:hover{box-shadow:0 0 0 1px var(--el-color-danger) inset}.outlined-date-picker--error.outlined-date-picker--bordered[data-v-47219caf] .el-input__wrapper{box-shadow:0 0 0 1px var(--el-color-danger) inset;border-bottom-color:transparent}.outlined-date-time-picker[data-v-ee2ef524]{position:relative}.outlined-date-time-picker__inner[data-v-ee2ef524]{display:flex;align-items:center;gap:8px}.outlined-date-time-picker__field[data-v-ee2ef524]{position:relative;flex:1}.outlined-date-time-picker__separator[data-v-ee2ef524]{flex:0 0 auto;color:var(--el-text-color-regular)}.outlined-date-time-picker__label[data-v-ee2ef524]{position:absolute;left:-2px;display:inline-flex;align-items:center;gap:2px;padding:2px 5px;border-radius:2px;background-color:#fff;font-size:12px;line-height:1;transition:color .2s cubic-bezier(0,0,.2,1),transform .2s cubic-bezier(0,0,.2,1);pointer-events:none}.outlined-date-time-picker__label--floating[data-v-ee2ef524]{top:18px;z-index:1;opacity:1;transform:translate(14px,-6px) scale(1);color:var(--el-color-primary)}.outlined-date-time-picker__label--placeholder[data-v-ee2ef524]{top:50%;left:1px;z-index:-1;opacity:0;transform:translate(14px,6px) scale(1)}.outlined-date-time-picker__label--filled[data-v-ee2ef524]{color:var(--el-text-color-regular)}.outlined-date-time-picker--error[data-v-ee2ef524]{--el-input-focus-border-color: var(--el-color-danger);--el-input-hover-border-color: var(--el-color-danger)}.outlined-date-time-picker__required[data-v-ee2ef524],.outlined-date-time-picker--error .outlined-date-time-picker__label[data-v-ee2ef524],.outlined-date-time-picker__error[data-v-ee2ef524]{color:var(--el-color-danger)}.outlined-date-time-picker__error[data-v-ee2ef524]{margin:6px 0 0;font-size:12px;line-height:1.2}[data-v-ee2ef524] .outlined-date-time-picker__control.el-date-editor{width:100%}[data-v-ee2ef524] .outlined-date-time-picker__control .el-input__wrapper{position:relative;min-height:inherit;height:inherit}[data-v-ee2ef524] .outlined-date-time-picker__control .el-input__prefix{position:absolute;right:0}[data-v-ee2ef524] .outlined-date-time-picker__control .el-input__suffix{position:absolute;right:30px}.outlined-date-time-picker__field--bordered[data-v-ee2ef524] .el-input__wrapper{box-shadow:none;border-radius:0;border-bottom:1px solid #cccccc}.outlined-date-time-picker__field--bordered[data-v-ee2ef524] .el-input__wrapper.is-focus{border-bottom-color:var(--el-color-primary)}.outlined-date-time-picker__field--error[data-v-ee2ef524] .el-input__wrapper,.outlined-date-time-picker__field--error[data-v-ee2ef524] .el-input__wrapper.is-focus,.outlined-date-time-picker__field--error[data-v-ee2ef524] .el-input__wrapper:hover{box-shadow:0 0 0 1px var(--el-color-danger) inset}.outlined-date-time-picker__field--error.outlined-date-time-picker__field--bordered[data-v-ee2ef524] .el-input__wrapper{box-shadow:0 0 0 1px var(--el-color-danger) inset;border-bottom-color:transparent}.outlined-time-picker[data-v-0257087e]{position:relative}.outlined-time-picker__label[data-v-0257087e]{position:absolute;left:-2px;display:inline-flex;align-items:center;gap:2px;padding:2px 5px;border-radius:2px;background-color:#fff;font-size:12px;line-height:1;transition:color .2s cubic-bezier(0,0,.2,1),transform .2s cubic-bezier(0,0,.2,1);pointer-events:none}.outlined-time-picker__label--floating[data-v-0257087e]{top:18px;z-index:1;opacity:1;transform:translate(14px,-6px) scale(1);color:var(--el-color-primary)}.outlined-time-picker__label--placeholder[data-v-0257087e]{top:50%;left:1px;z-index:-1;opacity:0;transform:translate(14px,6px) scale(1)}.outlined-time-picker__label--filled[data-v-0257087e]{color:var(--el-text-color-regular)}.outlined-time-picker--error[data-v-0257087e]{--el-input-focus-border-color: var(--el-color-danger);--el-input-hover-border-color: var(--el-color-danger)}.outlined-time-picker__required[data-v-0257087e],.outlined-time-picker--error .outlined-time-picker__label[data-v-0257087e],.outlined-time-picker__error[data-v-0257087e]{color:var(--el-color-danger)}.outlined-time-picker__error[data-v-0257087e]{margin:6px 0 0;font-size:12px;line-height:1.2}[data-v-0257087e] .outlined-time-picker__control.el-date-editor{width:100%}[data-v-0257087e] .outlined-time-picker__control .el-input__wrapper{position:relative;min-height:inherit;height:inherit}[data-v-0257087e] .outlined-time-picker__control .el-input__prefix{position:absolute;right:0}[data-v-0257087e] .outlined-time-picker__control .el-input__suffix{position:absolute;right:30px}.outlined-time-picker--bordered[data-v-0257087e] .el-input__wrapper{box-shadow:none;border-radius:0;border-bottom:1px solid #cccccc}.outlined-time-picker--bordered[data-v-0257087e] .el-input__wrapper.is-focus{border-bottom-color:var(--el-color-primary)}.outlined-time-picker--error[data-v-0257087e] .el-input__wrapper,.outlined-time-picker--error[data-v-0257087e] .el-input__wrapper.is-focus,.outlined-time-picker--error[data-v-0257087e] .el-input__wrapper:hover{box-shadow:0 0 0 1px var(--el-color-danger) inset}.outlined-time-picker--error.outlined-time-picker--bordered[data-v-0257087e] .el-input__wrapper{box-shadow:0 0 0 1px var(--el-color-danger) inset;border-bottom-color:transparent}.outlined-cascader[data-v-033e3fab]{position:relative}.outlined-cascader__label[data-v-033e3fab]{position:absolute;left:-2px;display:inline-flex;align-items:center;gap:2px;padding:2px 5px;border-radius:2px;background-color:#fff;font-size:12px;line-height:1;transition:color .2s cubic-bezier(0,0,.2,1),transform .2s cubic-bezier(0,0,.2,1);pointer-events:none}.outlined-cascader__label--floating[data-v-033e3fab]{top:18px;z-index:1;opacity:1;transform:translate(14px,-6px) scale(1);color:var(--el-color-primary)}.outlined-cascader__label--placeholder[data-v-033e3fab]{top:50%;left:1px;z-index:-1;opacity:0;transform:translate(14px,6px) scale(1)}.outlined-cascader__label--filled[data-v-033e3fab]{color:var(--el-text-color-regular)}.outlined-cascader--error[data-v-033e3fab]{--el-input-focus-border-color: var(--el-color-danger);--el-input-hover-border-color: var(--el-color-danger)}.outlined-cascader__required[data-v-033e3fab],.outlined-cascader--error .outlined-cascader__label[data-v-033e3fab],.outlined-cascader__error[data-v-033e3fab]{color:var(--el-color-danger)}.outlined-cascader__error[data-v-033e3fab]{margin:6px 0 0;font-size:12px;line-height:1.2}[data-v-033e3fab] .outlined-cascader__control .el-input{height:100%}.outlined-cascader--bordered[data-v-033e3fab] .el-input__wrapper{box-shadow:none;border-radius:0;border-bottom:1px solid #cccccc}.outlined-cascader--bordered[data-v-033e3fab] .el-input__wrapper.is-focus{border-bottom-color:var(--el-color-primary)}.outlined-cascader--error[data-v-033e3fab] .el-input__wrapper,.outlined-cascader--error[data-v-033e3fab] .el-input.is-focus .el-input__wrapper,.outlined-cascader--error[data-v-033e3fab] .el-input__wrapper:hover{box-shadow:0 0 0 1px var(--el-color-danger) inset}.outlined-cascader--error.outlined-cascader--bordered[data-v-033e3fab] .el-input__wrapper{box-shadow:0 0 0 1px var(--el-color-danger) inset;border-bottom-color:transparent}.outlined-tree-select[data-v-30d7dee0]{position:relative}.outlined-tree-select__label[data-v-30d7dee0]{position:absolute;left:-2px;display:inline-flex;align-items:center;gap:2px;padding:2px 5px;border-radius:2px;background-color:#fff;font-size:12px;line-height:1;transition:color .2s cubic-bezier(0,0,.2,1),transform .2s cubic-bezier(0,0,.2,1);pointer-events:none}.outlined-tree-select__label--floating[data-v-30d7dee0]{top:18px;z-index:1;opacity:1;transform:translate(14px,-6px) scale(1);color:var(--el-color-primary)}.outlined-tree-select__label--placeholder[data-v-30d7dee0]{top:50%;left:1px;z-index:-1;opacity:0;transform:translate(14px,6px) scale(1)}.outlined-tree-select__label--filled[data-v-30d7dee0]{color:var(--el-text-color-regular)}.outlined-tree-select--error[data-v-30d7dee0]{--el-input-focus-border-color: var(--el-color-danger);--el-input-hover-border-color: var(--el-color-danger)}.outlined-tree-select__required[data-v-30d7dee0],.outlined-tree-select--error .outlined-tree-select__label[data-v-30d7dee0],.outlined-tree-select__error[data-v-30d7dee0]{color:var(--el-color-danger)}.outlined-tree-select__error[data-v-30d7dee0]{margin:6px 0 0;font-size:12px;line-height:1.2}[data-v-30d7dee0] .outlined-tree-select__control.el-select{width:100%}[data-v-30d7dee0] .outlined-tree-select__control .el-select__wrapper{min-height:inherit;height:inherit}[data-v-30d7dee0] .outlined-tree-select__control .el-select__selection{min-height:inherit}[data-v-30d7dee0] .outlined-tree-select__control .el-select__tags{padding-top:4px}.outlined-tree-select--bordered[data-v-30d7dee0] .el-select__wrapper{box-shadow:none;border-radius:0;border-bottom:1px solid #cccccc}.outlined-tree-select--bordered[data-v-30d7dee0] .el-select__wrapper.is-focused{border-bottom-color:var(--el-color-primary)}.outlined-tree-select--error[data-v-30d7dee0] .el-select__wrapper,.outlined-tree-select--error[data-v-30d7dee0] .el-select__wrapper.is-focused,.outlined-tree-select--error[data-v-30d7dee0] .el-select__wrapper.is-focus,.outlined-tree-select--error[data-v-30d7dee0] .el-select__wrapper:hover{box-shadow:0 0 0 1px var(--el-color-danger) inset}.outlined-tree-select--error.outlined-tree-select--bordered[data-v-30d7dee0] .el-select__wrapper{box-shadow:0 0 0 1px var(--el-color-danger) inset;border-bottom-color:transparent}
|
|
1
|
+
.base-card[data-v-6bfddf1c]{display:flex;flex-direction:column;min-width:0;min-height:0;padding:var(--base-card-padding);border:1px solid var(--base-card-border-color);background:var(--base-card-background-color);box-shadow:0 0 2px 0 var(--base-card-shadow-color);border-radius:var(--base-card-radius)}.base-card__header[data-v-6bfddf1c]{display:flex;align-items:center;justify-content:space-between;gap:var(--base-card-header-gap);margin-bottom:var(--base-card-header-margin-bottom);min-height:24px;flex-wrap:wrap}.base-card__header-left[data-v-6bfddf1c],.base-card__header-right[data-v-6bfddf1c]{display:flex;align-items:center;min-width:0;flex-wrap:wrap}.base-card__header-left[data-v-6bfddf1c]{flex:1 1 auto;gap:var(--base-card-left-gap)}.base-card__header-right[data-v-6bfddf1c]{flex:0 1 auto;justify-content:flex-end;gap:var(--base-card-right-gap)}.base-card__title-wrap[data-v-6bfddf1c]{display:flex;align-items:center;min-width:0}.base-card__title-marker[data-v-6bfddf1c]{width:var(--base-card-marker-width);height:var(--base-card-marker-height);background:var(--base-card-marker-color);border-radius:var(--base-card-marker-radius);margin-right:var(--base-card-marker-gap);flex:0 0 auto}.base-card__title[data-v-6bfddf1c]{margin:0;min-width:0;color:var(--base-card-title-color);font-size:var(--base-card-title-size);font-weight:var(--base-card-title-weight);line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.base-card__meta[data-v-6bfddf1c]{color:var(--base-card-meta-color);font-size:var(--base-card-meta-size);line-height:1.4}.base-card__export[data-v-6bfddf1c]{border:none;background:transparent;padding:0;color:var(--base-card-export-color);cursor:pointer;font-size:var(--base-card-meta-size);line-height:1.4}.base-card__export[data-v-6bfddf1c]:disabled{opacity:.5;cursor:not-allowed}.base-card__body[data-v-6bfddf1c]{display:flex;flex:1 1 auto;flex-direction:column;min-height:0}.base-card__tip[data-v-6bfddf1c]{flex:0 0 auto}.base-card__content[data-v-6bfddf1c]{flex:1 1 auto;min-height:0}.svg-icon[data-v-318312b1]{width:1em;height:1em;vertical-align:-.15em;fill:currentColor;overflow:hidden}.svg-external-icon[data-v-318312b1]{display:inline-block;background-color:currentColor;mask-size:cover!important;-webkit-mask-size:cover!important}.base-table[data-v-13040b10]{display:flex;flex-direction:column;height:100%;min-height:0}.base-table__svg-sprite[data-v-13040b10]{position:absolute;width:0;height:0;overflow:hidden}.base-table__toolbar[data-v-13040b10]{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;min-height:32px;flex-wrap:wrap}.base-table__toolbar-left[data-v-13040b10]{flex:1 1 auto;min-width:0}.base-table__toolbar-right[data-v-13040b10]{flex:0 1 auto}.base-table__actions[data-v-13040b10]{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.base-table__header[data-v-13040b10]{display:flex;align-items:center;gap:6px;width:100%;min-width:0}.base-table__header--center.base-table__header--has-actions[data-v-13040b10]:before{content:"";display:block;width:24px;flex:0 0 24px}.base-table__header--center[data-v-13040b10]{justify-content:center}.base-table__header--right[data-v-13040b10]{justify-content:flex-end}.base-table__header-main[data-v-13040b10]{display:inline-flex;align-items:center;gap:4px;min-width:0}.base-table__header-label[data-v-13040b10]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.base-table__header--left .base-table__header-main[data-v-13040b10]{flex:1 1 auto}.base-table__header--center .base-table__header-main[data-v-13040b10],.base-table__header--right .base-table__header-main[data-v-13040b10]{flex:0 1 auto}.base-table__header-sort[data-v-13040b10]{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:16px;height:16px;color:#8c8c8c}.base-table__header-sort.is-active[data-v-13040b10]{color:#0938f7}.base-table__header-sort-icon[data-v-13040b10]{width:15.351px;height:16.031px;font-size:16px;vertical-align:middle}.base-table__header-actions[data-v-13040b10]{display:flex;align-items:center;flex-shrink:0}.base-table__header--left .base-table__header-actions[data-v-13040b10]{margin-left:auto}.base-table__header-icon[data-v-13040b10]{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;border-radius:999px;background:transparent;color:var(--el-text-color-secondary);cursor:pointer;transition:color .2s ease,background-color .2s ease}.base-table__header-icon[data-v-13040b10]:hover,.base-table__header-icon.is-active[data-v-13040b10]{color:var(--el-color-primary);background:rgba(64,158,255,.12)}.base-table__header-search-icon[data-v-13040b10]{width:17.814px;height:14.035px;font-size:16px;vertical-align:middle}.base-table[data-v-13040b10] .el-table__cell.is-sortable .caret-wrapper{display:none}.base-table__header-search-panel[data-v-13040b10]{position:fixed;z-index:3000;display:flex;flex-direction:column;gap:12px;padding:var(--el-popover-padding, 12px);border:1px solid var(--el-border-color-light);border-radius:var(--el-popover-border-radius, 4px);background:var(--el-bg-color-overlay);box-shadow:var(--el-box-shadow-light);box-sizing:border-box}.base-table__header-search-input[data-v-13040b10]{width:100%;height:32px;padding:1px 11px;border:none;border-radius:var(--el-border-radius-base);outline:none;color:var(--el-text-color-regular);background:var(--el-fill-color-blank);box-shadow:0 0 0 1px var(--el-border-color) inset;box-sizing:border-box;font-size:var(--el-font-size-base);line-height:30px;transition:box-shadow var(--el-transition-duration)}.base-table__header-search-input[data-v-13040b10]:hover{box-shadow:0 0 0 1px var(--el-border-color-hover) inset}.base-table__header-search-input[data-v-13040b10]:focus{box-shadow:0 0 0 1px var(--el-color-primary) inset}.base-table__header-search-input[data-v-13040b10]::placeholder{color:var(--el-text-color-placeholder)}.base-table__header-select[data-v-13040b10],.base-table__header-cascader[data-v-13040b10]{position:relative;width:100%}.base-table__header-el-select[data-v-13040b10]{width:100%}.base-table__header-el-select[data-v-13040b10] .el-select__wrapper{min-height:32px}.base-table__header-picker[data-v-13040b10]{width:100%}.base-table__header-picker[data-v-13040b10] .el-input__wrapper,.base-table__header-picker[data-v-13040b10] .el-range-editor.el-input__wrapper{width:100%;min-height:32px;box-sizing:border-box}.base-table__header-select-trigger[data-v-13040b10]{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:32px;padding:4px 11px;border:none;border-radius:var(--el-border-radius-base);outline:none;color:var(--el-text-color-regular);background:var(--el-fill-color-blank);box-shadow:0 0 0 1px var(--el-border-color) inset;box-sizing:border-box;cursor:pointer;font-size:var(--el-font-size-base);line-height:24px;text-align:left;transition:box-shadow var(--el-transition-duration)}.base-table__header-select-trigger[data-v-13040b10]:hover,.base-table__header-select-trigger[data-v-13040b10]:focus{box-shadow:0 0 0 1px var(--el-color-primary) inset}.base-table__header-select-text[data-v-13040b10]{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.base-table__header-select-text.is-placeholder[data-v-13040b10]{color:var(--el-text-color-placeholder)}.base-table__header-select-tags[data-v-13040b10]{display:flex;align-items:center;gap:4px;min-width:0;flex:1 1 auto;overflow:hidden}.base-table__header-select-tag[data-v-13040b10]{display:inline-flex;align-items:center;max-width:92px;min-height:22px;padding:0 6px;border-radius:4px;background:var(--el-fill-color-light);color:var(--el-text-color-regular);box-sizing:border-box;font-size:12px;line-height:22px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.base-table__header-select-tag--count[data-v-13040b10]{flex:0 0 auto;color:var(--el-color-primary)}.base-table__header-select-arrow[data-v-13040b10]{width:8px;height:8px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;color:var(--el-text-color-placeholder);transform:rotate(45deg);transition:transform var(--el-transition-duration);flex:0 0 auto}.base-table__header-select-arrow.is-open[data-v-13040b10]{transform:rotate(225deg)}.base-table__header-select-options[data-v-13040b10]{max-height:180px;margin-top:6px;padding:4px 0;border:1px solid var(--el-border-color-light);border-radius:var(--el-border-radius-base);background:var(--el-bg-color-overlay);box-shadow:var(--el-box-shadow-light);overflow-y:auto}.base-table__header-select-option[data-v-13040b10]{display:flex;align-items:center;width:100%;min-height:32px;padding:0 12px;border:none;color:var(--el-text-color-regular);background:transparent;cursor:pointer;font-size:var(--el-font-size-base);line-height:32px;text-align:left}.base-table__header-select-option-label[data-v-13040b10]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.base-table__header-select-option[data-v-13040b10]:hover{background:var(--el-fill-color-light)}.base-table__header-select-option.is-selected[data-v-13040b10]{color:var(--el-color-primary);font-weight:700}.base-table__header-select-option[data-v-13040b10]:disabled{color:var(--el-text-color-placeholder);cursor:not-allowed}.base-table__header-cascader-panel[data-v-13040b10]{display:flex;max-width:calc(100vw - 24px);min-height:180px;max-height:260px;margin-top:6px;border:1px solid var(--el-border-color-light);border-radius:var(--el-border-radius-base);background:var(--el-bg-color-overlay);box-shadow:var(--el-box-shadow-light);overflow:auto}.base-table__header-cascader-menu[data-v-13040b10]{min-width:132px;padding:4px 0;border-right:1px solid var(--el-border-color-lighter);box-sizing:border-box}.base-table__header-cascader-menu[data-v-13040b10]:last-child{border-right:none}.base-table__header-cascader-option[data-v-13040b10]{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:32px;padding:0 10px 0 12px;border:none;color:var(--el-text-color-regular);background:transparent;cursor:pointer;font-size:var(--el-font-size-base);line-height:32px;text-align:left}.base-table__header-cascader-option[data-v-13040b10]:hover,.base-table__header-cascader-option.is-active[data-v-13040b10]{background:var(--el-fill-color-light)}.base-table__header-cascader-option.is-selected[data-v-13040b10]{color:var(--el-color-primary);font-weight:700}.base-table__header-cascader-option[data-v-13040b10]:disabled{color:var(--el-text-color-placeholder);cursor:not-allowed}.base-table__header-cascader-label[data-v-13040b10]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.base-table__header-cascader-arrow[data-v-13040b10]{width:7px;height:7px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;color:var(--el-text-color-placeholder);transform:rotate(-45deg);flex:0 0 auto}.base-table__header-search-footer[data-v-13040b10]{display:flex;align-items:center;justify-content:space-between}.base-table__link[data-v-13040b10]{padding:0;border:none;background:transparent;color:var(--el-color-primary);cursor:pointer}.base-table__text[data-v-13040b10]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.base-table__tags[data-v-13040b10]{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.base-table__image[data-v-13040b10]{border-radius:4px;overflow:hidden}.base-echart[data-v-51bc4772],.base-echart__inner[data-v-51bc4772]{width:100%;height:100%}.outlined-input[data-v-3c232c9a]{position:relative}.outlined-input__label[data-v-3c232c9a]{position:absolute;left:-2px;display:inline-flex;align-items:center;gap:2px;padding:2px 5px;border-radius:2px;background-color:#fff;font-size:12px;line-height:1;transition:color .2s cubic-bezier(0,0,.2,1),transform .2s cubic-bezier(0,0,.2,1);pointer-events:none}.outlined-input__label--floating[data-v-3c232c9a]{top:18px;z-index:1;opacity:1;transform:translate(14px,-6px) scale(1);color:var(--el-color-primary)}.outlined-input__label--placeholder[data-v-3c232c9a]{top:50%;left:1px;z-index:-1;opacity:0;transform:translate(14px,6px) scale(1)}.outlined-input__label--filled[data-v-3c232c9a]{color:var(--el-text-color-regular)}.outlined-input--error[data-v-3c232c9a]{--el-input-focus-border-color: var(--el-color-danger);--el-input-hover-border-color: var(--el-color-danger)}.outlined-input__required[data-v-3c232c9a],.outlined-input--error .outlined-input__label[data-v-3c232c9a],.outlined-input__error[data-v-3c232c9a]{color:var(--el-color-danger)}.outlined-input__error[data-v-3c232c9a]{margin:6px 0 0;font-size:12px;line-height:1.2}.outlined-input__suffix-text[data-v-3c232c9a]{white-space:nowrap}.outlined-input--bordered[data-v-3c232c9a] .el-input__wrapper{box-shadow:none;border-radius:0;border-bottom:1px solid #cccccc}.outlined-input--bordered[data-v-3c232c9a] .el-input__wrapper.is-focus{border-bottom-color:var(--el-color-primary)}.outlined-input--bordered[data-v-3c232c9a] .el-textarea__inner{border-width:0 0 1px;border-radius:0;box-shadow:none}.outlined-input--bordered[data-v-3c232c9a] .el-textarea__inner:focus{border-bottom-color:var(--el-color-primary)}.outlined-input--textarea-default[data-v-3c232c9a] .el-textarea__inner{min-height:100px!important;max-height:180px}.outlined-input--error[data-v-3c232c9a] .el-input__wrapper,.outlined-input--error[data-v-3c232c9a] .el-input__wrapper.is-focus,.outlined-input--error[data-v-3c232c9a] .el-input__wrapper:hover,.outlined-input--error[data-v-3c232c9a] .el-textarea__inner{box-shadow:0 0 0 1px var(--el-color-danger) inset}.outlined-input--error[data-v-3c232c9a] .el-textarea__inner:focus,.outlined-input--error[data-v-3c232c9a] .el-textarea__inner:hover{box-shadow:0 0 0 1px var(--el-color-danger) inset}.outlined-input--error.outlined-input--bordered[data-v-3c232c9a] .el-input__wrapper,.outlined-input--error.outlined-input--bordered[data-v-3c232c9a] .el-textarea__inner{box-shadow:0 0 0 1px var(--el-color-danger) inset;border-bottom-color:transparent}.outlined-select[data-v-2a354461]{position:relative}.outlined-select__label[data-v-2a354461]{position:absolute;left:-2px;display:inline-flex;align-items:center;gap:2px;padding:2px 5px;border-radius:2px;background-color:#fff;font-size:12px;line-height:1;transition:color .2s cubic-bezier(0,0,.2,1),transform .2s cubic-bezier(0,0,.2,1);pointer-events:none}.outlined-select__label--floating[data-v-2a354461]{top:18px;z-index:1;opacity:1;transform:translate(14px,-6px) scale(1);color:var(--el-color-primary)}.outlined-select__label--placeholder[data-v-2a354461]{top:50%;left:1px;z-index:-1;opacity:0;transform:translate(14px,6px) scale(1)}.outlined-select__label--filled[data-v-2a354461]{color:var(--el-text-color-regular)}.outlined-select--error[data-v-2a354461]{--el-input-focus-border-color: var(--el-color-danger);--el-input-hover-border-color: var(--el-color-danger)}.outlined-select__required[data-v-2a354461],.outlined-select--error .outlined-select__label[data-v-2a354461],.outlined-select__error[data-v-2a354461]{color:var(--el-color-danger)}.outlined-select__error[data-v-2a354461]{margin:6px 0 0;font-size:12px;line-height:1.2}[data-v-2a354461] .outlined-select__control.el-select{width:100%}[data-v-2a354461] .outlined-select__control .el-select__wrapper{min-height:inherit;height:inherit}[data-v-2a354461] .outlined-select__control .el-select__tags{padding-top:4px}[data-v-2a354461] .outlined-select__control .el-select__selection{min-height:inherit}.outlined-select--bordered[data-v-2a354461] .el-select__wrapper{box-shadow:none;border-radius:0;border-bottom:1px solid #cccccc}.outlined-select--bordered[data-v-2a354461] .el-select__wrapper.is-focused{border-bottom-color:var(--el-color-primary)}.outlined-select--error[data-v-2a354461] .el-select__wrapper,.outlined-select--error[data-v-2a354461] .el-select__wrapper.is-focused,.outlined-select--error[data-v-2a354461] .el-select__wrapper.is-focus,.outlined-select--error[data-v-2a354461] .el-select__wrapper:hover{box-shadow:0 0 0 1px var(--el-color-danger) inset}.outlined-select--error.outlined-select--bordered[data-v-2a354461] .el-select__wrapper{box-shadow:0 0 0 1px var(--el-color-danger) inset;border-bottom-color:transparent}.outlined-date-picker[data-v-47219caf]{position:relative}.outlined-date-picker__label[data-v-47219caf]{position:absolute;left:-2px;display:inline-flex;align-items:center;gap:2px;padding:2px 5px;border-radius:2px;background-color:#fff;font-size:12px;line-height:1;transition:color .2s cubic-bezier(0,0,.2,1),transform .2s cubic-bezier(0,0,.2,1);pointer-events:none}.outlined-date-picker__label--floating[data-v-47219caf]{top:18px;z-index:1;opacity:1;transform:translate(14px,-6px) scale(1);color:var(--el-color-primary)}.outlined-date-picker__label--placeholder[data-v-47219caf]{top:50%;left:1px;z-index:-1;opacity:0;transform:translate(14px,6px) scale(1)}.outlined-date-picker__label--filled[data-v-47219caf]{color:var(--el-text-color-regular)}.outlined-date-picker--error[data-v-47219caf]{--el-input-focus-border-color: var(--el-color-danger);--el-input-hover-border-color: var(--el-color-danger)}.outlined-date-picker__required[data-v-47219caf],.outlined-date-picker--error .outlined-date-picker__label[data-v-47219caf],.outlined-date-picker__error[data-v-47219caf]{color:var(--el-color-danger)}.outlined-date-picker__error[data-v-47219caf]{margin:6px 0 0;font-size:12px;line-height:1.2}[data-v-47219caf] .outlined-date-picker__control.el-date-editor{width:100%}[data-v-47219caf] .outlined-date-picker__control .el-input__wrapper{position:relative;min-height:inherit;height:inherit}[data-v-47219caf] .outlined-date-picker__control .el-input__prefix{position:absolute;right:0}[data-v-47219caf] .outlined-date-picker__control .el-input__suffix{position:absolute;right:30px}.outlined-date-picker--bordered[data-v-47219caf] .el-input__wrapper{box-shadow:none;border-radius:0;border-bottom:1px solid #cccccc}.outlined-date-picker--bordered[data-v-47219caf] .el-input__wrapper.is-focus{border-bottom-color:var(--el-color-primary)}.outlined-date-picker--error[data-v-47219caf] .el-input__wrapper,.outlined-date-picker--error[data-v-47219caf] .el-input__wrapper.is-focus,.outlined-date-picker--error[data-v-47219caf] .el-input__wrapper:hover{box-shadow:0 0 0 1px var(--el-color-danger) inset}.outlined-date-picker--error.outlined-date-picker--bordered[data-v-47219caf] .el-input__wrapper{box-shadow:0 0 0 1px var(--el-color-danger) inset;border-bottom-color:transparent}.outlined-date-time-picker[data-v-ee2ef524]{position:relative}.outlined-date-time-picker__inner[data-v-ee2ef524]{display:flex;align-items:center;gap:8px}.outlined-date-time-picker__field[data-v-ee2ef524]{position:relative;flex:1}.outlined-date-time-picker__separator[data-v-ee2ef524]{flex:0 0 auto;color:var(--el-text-color-regular)}.outlined-date-time-picker__label[data-v-ee2ef524]{position:absolute;left:-2px;display:inline-flex;align-items:center;gap:2px;padding:2px 5px;border-radius:2px;background-color:#fff;font-size:12px;line-height:1;transition:color .2s cubic-bezier(0,0,.2,1),transform .2s cubic-bezier(0,0,.2,1);pointer-events:none}.outlined-date-time-picker__label--floating[data-v-ee2ef524]{top:18px;z-index:1;opacity:1;transform:translate(14px,-6px) scale(1);color:var(--el-color-primary)}.outlined-date-time-picker__label--placeholder[data-v-ee2ef524]{top:50%;left:1px;z-index:-1;opacity:0;transform:translate(14px,6px) scale(1)}.outlined-date-time-picker__label--filled[data-v-ee2ef524]{color:var(--el-text-color-regular)}.outlined-date-time-picker--error[data-v-ee2ef524]{--el-input-focus-border-color: var(--el-color-danger);--el-input-hover-border-color: var(--el-color-danger)}.outlined-date-time-picker__required[data-v-ee2ef524],.outlined-date-time-picker--error .outlined-date-time-picker__label[data-v-ee2ef524],.outlined-date-time-picker__error[data-v-ee2ef524]{color:var(--el-color-danger)}.outlined-date-time-picker__error[data-v-ee2ef524]{margin:6px 0 0;font-size:12px;line-height:1.2}[data-v-ee2ef524] .outlined-date-time-picker__control.el-date-editor{width:100%}[data-v-ee2ef524] .outlined-date-time-picker__control .el-input__wrapper{position:relative;min-height:inherit;height:inherit}[data-v-ee2ef524] .outlined-date-time-picker__control .el-input__prefix{position:absolute;right:0}[data-v-ee2ef524] .outlined-date-time-picker__control .el-input__suffix{position:absolute;right:30px}.outlined-date-time-picker__field--bordered[data-v-ee2ef524] .el-input__wrapper{box-shadow:none;border-radius:0;border-bottom:1px solid #cccccc}.outlined-date-time-picker__field--bordered[data-v-ee2ef524] .el-input__wrapper.is-focus{border-bottom-color:var(--el-color-primary)}.outlined-date-time-picker__field--error[data-v-ee2ef524] .el-input__wrapper,.outlined-date-time-picker__field--error[data-v-ee2ef524] .el-input__wrapper.is-focus,.outlined-date-time-picker__field--error[data-v-ee2ef524] .el-input__wrapper:hover{box-shadow:0 0 0 1px var(--el-color-danger) inset}.outlined-date-time-picker__field--error.outlined-date-time-picker__field--bordered[data-v-ee2ef524] .el-input__wrapper{box-shadow:0 0 0 1px var(--el-color-danger) inset;border-bottom-color:transparent}.outlined-time-picker[data-v-0257087e]{position:relative}.outlined-time-picker__label[data-v-0257087e]{position:absolute;left:-2px;display:inline-flex;align-items:center;gap:2px;padding:2px 5px;border-radius:2px;background-color:#fff;font-size:12px;line-height:1;transition:color .2s cubic-bezier(0,0,.2,1),transform .2s cubic-bezier(0,0,.2,1);pointer-events:none}.outlined-time-picker__label--floating[data-v-0257087e]{top:18px;z-index:1;opacity:1;transform:translate(14px,-6px) scale(1);color:var(--el-color-primary)}.outlined-time-picker__label--placeholder[data-v-0257087e]{top:50%;left:1px;z-index:-1;opacity:0;transform:translate(14px,6px) scale(1)}.outlined-time-picker__label--filled[data-v-0257087e]{color:var(--el-text-color-regular)}.outlined-time-picker--error[data-v-0257087e]{--el-input-focus-border-color: var(--el-color-danger);--el-input-hover-border-color: var(--el-color-danger)}.outlined-time-picker__required[data-v-0257087e],.outlined-time-picker--error .outlined-time-picker__label[data-v-0257087e],.outlined-time-picker__error[data-v-0257087e]{color:var(--el-color-danger)}.outlined-time-picker__error[data-v-0257087e]{margin:6px 0 0;font-size:12px;line-height:1.2}[data-v-0257087e] .outlined-time-picker__control.el-date-editor{width:100%}[data-v-0257087e] .outlined-time-picker__control .el-input__wrapper{position:relative;min-height:inherit;height:inherit}[data-v-0257087e] .outlined-time-picker__control .el-input__prefix{position:absolute;right:0}[data-v-0257087e] .outlined-time-picker__control .el-input__suffix{position:absolute;right:30px}.outlined-time-picker--bordered[data-v-0257087e] .el-input__wrapper{box-shadow:none;border-radius:0;border-bottom:1px solid #cccccc}.outlined-time-picker--bordered[data-v-0257087e] .el-input__wrapper.is-focus{border-bottom-color:var(--el-color-primary)}.outlined-time-picker--error[data-v-0257087e] .el-input__wrapper,.outlined-time-picker--error[data-v-0257087e] .el-input__wrapper.is-focus,.outlined-time-picker--error[data-v-0257087e] .el-input__wrapper:hover{box-shadow:0 0 0 1px var(--el-color-danger) inset}.outlined-time-picker--error.outlined-time-picker--bordered[data-v-0257087e] .el-input__wrapper{box-shadow:0 0 0 1px var(--el-color-danger) inset;border-bottom-color:transparent}.outlined-cascader[data-v-033e3fab]{position:relative}.outlined-cascader__label[data-v-033e3fab]{position:absolute;left:-2px;display:inline-flex;align-items:center;gap:2px;padding:2px 5px;border-radius:2px;background-color:#fff;font-size:12px;line-height:1;transition:color .2s cubic-bezier(0,0,.2,1),transform .2s cubic-bezier(0,0,.2,1);pointer-events:none}.outlined-cascader__label--floating[data-v-033e3fab]{top:18px;z-index:1;opacity:1;transform:translate(14px,-6px) scale(1);color:var(--el-color-primary)}.outlined-cascader__label--placeholder[data-v-033e3fab]{top:50%;left:1px;z-index:-1;opacity:0;transform:translate(14px,6px) scale(1)}.outlined-cascader__label--filled[data-v-033e3fab]{color:var(--el-text-color-regular)}.outlined-cascader--error[data-v-033e3fab]{--el-input-focus-border-color: var(--el-color-danger);--el-input-hover-border-color: var(--el-color-danger)}.outlined-cascader__required[data-v-033e3fab],.outlined-cascader--error .outlined-cascader__label[data-v-033e3fab],.outlined-cascader__error[data-v-033e3fab]{color:var(--el-color-danger)}.outlined-cascader__error[data-v-033e3fab]{margin:6px 0 0;font-size:12px;line-height:1.2}[data-v-033e3fab] .outlined-cascader__control .el-input{height:100%}.outlined-cascader--bordered[data-v-033e3fab] .el-input__wrapper{box-shadow:none;border-radius:0;border-bottom:1px solid #cccccc}.outlined-cascader--bordered[data-v-033e3fab] .el-input__wrapper.is-focus{border-bottom-color:var(--el-color-primary)}.outlined-cascader--error[data-v-033e3fab] .el-input__wrapper,.outlined-cascader--error[data-v-033e3fab] .el-input.is-focus .el-input__wrapper,.outlined-cascader--error[data-v-033e3fab] .el-input__wrapper:hover{box-shadow:0 0 0 1px var(--el-color-danger) inset}.outlined-cascader--error.outlined-cascader--bordered[data-v-033e3fab] .el-input__wrapper{box-shadow:0 0 0 1px var(--el-color-danger) inset;border-bottom-color:transparent}.outlined-tree-select[data-v-30d7dee0]{position:relative}.outlined-tree-select__label[data-v-30d7dee0]{position:absolute;left:-2px;display:inline-flex;align-items:center;gap:2px;padding:2px 5px;border-radius:2px;background-color:#fff;font-size:12px;line-height:1;transition:color .2s cubic-bezier(0,0,.2,1),transform .2s cubic-bezier(0,0,.2,1);pointer-events:none}.outlined-tree-select__label--floating[data-v-30d7dee0]{top:18px;z-index:1;opacity:1;transform:translate(14px,-6px) scale(1);color:var(--el-color-primary)}.outlined-tree-select__label--placeholder[data-v-30d7dee0]{top:50%;left:1px;z-index:-1;opacity:0;transform:translate(14px,6px) scale(1)}.outlined-tree-select__label--filled[data-v-30d7dee0]{color:var(--el-text-color-regular)}.outlined-tree-select--error[data-v-30d7dee0]{--el-input-focus-border-color: var(--el-color-danger);--el-input-hover-border-color: var(--el-color-danger)}.outlined-tree-select__required[data-v-30d7dee0],.outlined-tree-select--error .outlined-tree-select__label[data-v-30d7dee0],.outlined-tree-select__error[data-v-30d7dee0]{color:var(--el-color-danger)}.outlined-tree-select__error[data-v-30d7dee0]{margin:6px 0 0;font-size:12px;line-height:1.2}[data-v-30d7dee0] .outlined-tree-select__control.el-select{width:100%}[data-v-30d7dee0] .outlined-tree-select__control .el-select__wrapper{min-height:inherit;height:inherit}[data-v-30d7dee0] .outlined-tree-select__control .el-select__selection{min-height:inherit}[data-v-30d7dee0] .outlined-tree-select__control .el-select__tags{padding-top:4px}.outlined-tree-select--bordered[data-v-30d7dee0] .el-select__wrapper{box-shadow:none;border-radius:0;border-bottom:1px solid #cccccc}.outlined-tree-select--bordered[data-v-30d7dee0] .el-select__wrapper.is-focused{border-bottom-color:var(--el-color-primary)}.outlined-tree-select--error[data-v-30d7dee0] .el-select__wrapper,.outlined-tree-select--error[data-v-30d7dee0] .el-select__wrapper.is-focused,.outlined-tree-select--error[data-v-30d7dee0] .el-select__wrapper.is-focus,.outlined-tree-select--error[data-v-30d7dee0] .el-select__wrapper:hover{box-shadow:0 0 0 1px var(--el-color-danger) inset}.outlined-tree-select--error.outlined-tree-select--bordered[data-v-30d7dee0] .el-select__wrapper{box-shadow:0 0 0 1px var(--el-color-danger) inset;border-bottom-color:transparent}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hbdlzy/ui-core",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.9",
|
|
4
4
|
"description": "Company shared Vue UI core package.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -17,8 +17,23 @@
|
|
|
17
17
|
"require": "./dist/index.cjs",
|
|
18
18
|
"types": "./dist/index.d.ts"
|
|
19
19
|
},
|
|
20
|
+
"./ripple": {
|
|
21
|
+
"import": "./dist/ripple/index.js",
|
|
22
|
+
"require": "./dist/ripple/index.cjs",
|
|
23
|
+
"types": "./dist/ripple/index.d.ts"
|
|
24
|
+
},
|
|
20
25
|
"./components.manifest.json": "./components.manifest.json"
|
|
21
26
|
},
|
|
27
|
+
"typesVersions": {
|
|
28
|
+
"*": {
|
|
29
|
+
"ripple": [
|
|
30
|
+
"dist/ripple/index.d.ts"
|
|
31
|
+
],
|
|
32
|
+
"components.manifest.json": [
|
|
33
|
+
"components.manifest.json"
|
|
34
|
+
]
|
|
35
|
+
}
|
|
36
|
+
},
|
|
22
37
|
"files": [
|
|
23
38
|
"dist",
|
|
24
39
|
"src",
|
|
@@ -48,7 +63,7 @@
|
|
|
48
63
|
"registry": "https://registry.npmjs.org/"
|
|
49
64
|
},
|
|
50
65
|
"scripts": {
|
|
51
|
-
"build": "vite build && pnpm run build:types",
|
|
66
|
+
"build": "vite build && vite build --config vite.ripple.config.ts && pnpm run build:types",
|
|
52
67
|
"build:types": "vue-tsc -p tsconfig.build.json --declaration --emitDeclarationOnly"
|
|
53
68
|
}
|
|
54
69
|
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
export type BaseCardCssValue = string | number;
|
|
2
|
+
export interface BaseCardDefaultExportPayload {
|
|
3
|
+
title?: string;
|
|
4
|
+
metaText?: string;
|
|
5
|
+
}
|
|
6
|
+
export interface BaseCardProps {
|
|
7
|
+
title?: string;
|
|
8
|
+
metaText?: string;
|
|
9
|
+
showHeader?: boolean;
|
|
10
|
+
showRight?: boolean;
|
|
11
|
+
showTitleMarker?: boolean;
|
|
12
|
+
showExport?: boolean;
|
|
13
|
+
exportText?: string;
|
|
14
|
+
exportDisabled?: boolean;
|
|
15
|
+
exportPayload?: unknown;
|
|
16
|
+
padding?: BaseCardCssValue;
|
|
17
|
+
radius?: BaseCardCssValue;
|
|
18
|
+
borderColor?: string;
|
|
19
|
+
backgroundColor?: string;
|
|
20
|
+
shadowColor?: string;
|
|
21
|
+
headerGap?: BaseCardCssValue;
|
|
22
|
+
headerMarginBottom?: BaseCardCssValue;
|
|
23
|
+
leftGap?: BaseCardCssValue;
|
|
24
|
+
rightGap?: BaseCardCssValue;
|
|
25
|
+
titleColor?: string;
|
|
26
|
+
titleSize?: BaseCardCssValue;
|
|
27
|
+
titleWeight?: string | number;
|
|
28
|
+
markerColor?: string;
|
|
29
|
+
markerWidth?: BaseCardCssValue;
|
|
30
|
+
markerHeight?: BaseCardCssValue;
|
|
31
|
+
markerRadius?: BaseCardCssValue;
|
|
32
|
+
markerGap?: BaseCardCssValue;
|
|
33
|
+
metaColor?: string;
|
|
34
|
+
metaSize?: BaseCardCssValue;
|
|
35
|
+
exportColor?: string;
|
|
36
|
+
}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import type { BaseCardCssValue, BaseCardProps } from './BaseCard.types';
|
|
2
|
+
declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<BaseCardProps>, {
|
|
3
|
+
title: string;
|
|
4
|
+
metaText: string;
|
|
5
|
+
showHeader: boolean;
|
|
6
|
+
showRight: boolean;
|
|
7
|
+
showTitleMarker: boolean;
|
|
8
|
+
showExport: boolean;
|
|
9
|
+
exportText: string;
|
|
10
|
+
exportDisabled: boolean;
|
|
11
|
+
padding: number;
|
|
12
|
+
radius: number;
|
|
13
|
+
borderColor: string;
|
|
14
|
+
backgroundColor: string;
|
|
15
|
+
shadowColor: string;
|
|
16
|
+
headerGap: number;
|
|
17
|
+
headerMarginBottom: number;
|
|
18
|
+
leftGap: number;
|
|
19
|
+
rightGap: number;
|
|
20
|
+
titleColor: string;
|
|
21
|
+
titleSize: number;
|
|
22
|
+
titleWeight: number;
|
|
23
|
+
markerColor: string;
|
|
24
|
+
markerWidth: number;
|
|
25
|
+
markerHeight: number;
|
|
26
|
+
markerRadius: string;
|
|
27
|
+
markerGap: number;
|
|
28
|
+
metaColor: string;
|
|
29
|
+
metaSize: number;
|
|
30
|
+
exportColor: string;
|
|
31
|
+
}>>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
32
|
+
export: (payload?: unknown) => void;
|
|
33
|
+
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<BaseCardProps>, {
|
|
34
|
+
title: string;
|
|
35
|
+
metaText: string;
|
|
36
|
+
showHeader: boolean;
|
|
37
|
+
showRight: boolean;
|
|
38
|
+
showTitleMarker: boolean;
|
|
39
|
+
showExport: boolean;
|
|
40
|
+
exportText: string;
|
|
41
|
+
exportDisabled: boolean;
|
|
42
|
+
padding: number;
|
|
43
|
+
radius: number;
|
|
44
|
+
borderColor: string;
|
|
45
|
+
backgroundColor: string;
|
|
46
|
+
shadowColor: string;
|
|
47
|
+
headerGap: number;
|
|
48
|
+
headerMarginBottom: number;
|
|
49
|
+
leftGap: number;
|
|
50
|
+
rightGap: number;
|
|
51
|
+
titleColor: string;
|
|
52
|
+
titleSize: number;
|
|
53
|
+
titleWeight: number;
|
|
54
|
+
markerColor: string;
|
|
55
|
+
markerWidth: number;
|
|
56
|
+
markerHeight: number;
|
|
57
|
+
markerRadius: string;
|
|
58
|
+
markerGap: number;
|
|
59
|
+
metaColor: string;
|
|
60
|
+
metaSize: number;
|
|
61
|
+
exportColor: string;
|
|
62
|
+
}>>> & Readonly<{
|
|
63
|
+
onExport?: ((payload?: unknown) => any) | undefined;
|
|
64
|
+
}>, {
|
|
65
|
+
title: string;
|
|
66
|
+
metaText: string;
|
|
67
|
+
showHeader: boolean;
|
|
68
|
+
showRight: boolean;
|
|
69
|
+
showTitleMarker: boolean;
|
|
70
|
+
showExport: boolean;
|
|
71
|
+
exportText: string;
|
|
72
|
+
exportDisabled: boolean;
|
|
73
|
+
padding: BaseCardCssValue;
|
|
74
|
+
radius: BaseCardCssValue;
|
|
75
|
+
borderColor: string;
|
|
76
|
+
backgroundColor: string;
|
|
77
|
+
shadowColor: string;
|
|
78
|
+
headerGap: BaseCardCssValue;
|
|
79
|
+
headerMarginBottom: BaseCardCssValue;
|
|
80
|
+
leftGap: BaseCardCssValue;
|
|
81
|
+
rightGap: BaseCardCssValue;
|
|
82
|
+
titleColor: string;
|
|
83
|
+
titleSize: BaseCardCssValue;
|
|
84
|
+
titleWeight: string | number;
|
|
85
|
+
markerColor: string;
|
|
86
|
+
markerWidth: BaseCardCssValue;
|
|
87
|
+
markerHeight: BaseCardCssValue;
|
|
88
|
+
markerRadius: BaseCardCssValue;
|
|
89
|
+
markerGap: BaseCardCssValue;
|
|
90
|
+
metaColor: string;
|
|
91
|
+
metaSize: BaseCardCssValue;
|
|
92
|
+
exportColor: string;
|
|
93
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, {
|
|
94
|
+
"title-label"?(_: {}): any;
|
|
95
|
+
title?(_: {}): any;
|
|
96
|
+
"header-right"?(_: {}): any;
|
|
97
|
+
tip?(_: {}): any;
|
|
98
|
+
default?(_: {}): any;
|
|
99
|
+
}>;
|
|
100
|
+
export default _default;
|
|
101
|
+
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
|
102
|
+
type __VLS_TypePropsToRuntimeProps<T> = {
|
|
103
|
+
[K in keyof T]-?: {} extends Pick<T, K> ? {
|
|
104
|
+
type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
|
|
105
|
+
} : {
|
|
106
|
+
type: import('vue').PropType<T[K]>;
|
|
107
|
+
required: true;
|
|
108
|
+
};
|
|
109
|
+
};
|
|
110
|
+
type __VLS_WithDefaults<P, D> = {
|
|
111
|
+
[K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
|
|
112
|
+
default: D[K];
|
|
113
|
+
}> : P[K];
|
|
114
|
+
};
|
|
115
|
+
type __VLS_Prettify<T> = {
|
|
116
|
+
[K in keyof T]: T[K];
|
|
117
|
+
} & {};
|
|
118
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
119
|
+
new (): {
|
|
120
|
+
$slots: S;
|
|
121
|
+
};
|
|
122
|
+
};
|
|
@@ -162,3 +162,36 @@ const handleExport = (payload?: unknown) => {
|
|
|
162
162
|
- 只要不是强业务容器,就尽量不要在页面层重复写卡片壳子
|
|
163
163
|
- 简单场景直接用 `title + 默认插槽`
|
|
164
164
|
- 需要扩展时优先使用 `title` 和 `header-right` 插槽,而不是复制组件结构
|
|
165
|
+
|
|
166
|
+
## AI 使用指引
|
|
167
|
+
|
|
168
|
+
AI 在生成页面时,如果遇到统计块、图表块、列表块、详情块等需要统一外壳的区域,应优先使用 `BaseCard`,不要在页面里重新手写卡片标题、左侧竖杠、右侧时间和导出区域。
|
|
169
|
+
|
|
170
|
+
推荐优先从统一入口导入:
|
|
171
|
+
|
|
172
|
+
```ts
|
|
173
|
+
import { BaseCard } from '@hbdlzy/ui'
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
如果当前只安装了核心包,也可以从 `@hbdlzy/ui-core` 导入。
|
|
177
|
+
|
|
178
|
+
AI 生成代码时按下面顺序判断:
|
|
179
|
+
|
|
180
|
+
1. 只有标题和内容时,使用 `title + 默认插槽`
|
|
181
|
+
2. 标题右侧有更新时间、单位、按钮时,优先使用 `metaText`、`header-right` 插槽
|
|
182
|
+
3. 标题旁有单选、筛选、标签时,优先使用 `title` 插槽
|
|
183
|
+
4. 内容顶部有单位提示或说明时,优先使用 `tip` 插槽
|
|
184
|
+
5. 需要导出入口时,优先使用 `showExport + @export`,复杂导出可配合 `BaseExportButton`
|
|
185
|
+
|
|
186
|
+
AI 不应该做这些事:
|
|
187
|
+
|
|
188
|
+
- 不要复制 `BaseCard` 的 DOM 和 CSS 到业务页面
|
|
189
|
+
- 不要在每个页面重复实现标题左侧标记、卡片边框、标题区 flex 布局
|
|
190
|
+
- 不要为了一个右侧按钮而重写整个卡片结构,优先用插槽扩展
|
|
191
|
+
- 不要把接口请求、图表初始化、表格逻辑塞进 `BaseCard`,这些能力应由 `BaseEChart`、`BaseTable` 或业务页面负责
|
|
192
|
+
|
|
193
|
+
生成代码前建议同时读取:
|
|
194
|
+
|
|
195
|
+
- `packages/ui-core/components.manifest.json`
|
|
196
|
+
- `packages/ui-core/src/components/BaseCard/BaseCard.types.ts`
|
|
197
|
+
- 本 README 的 `Props / Slots / Events` 部分
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { EChartInitOptions, EChartInstance, EChartLoadingOptions, EChartOption, EChartResizeOptions, EChartSetOptionOptions } from '../../echarts';
|
|
2
|
+
export interface BaseEChartProps {
|
|
3
|
+
option?: EChartOption;
|
|
4
|
+
theme?: string | Record<string, unknown>;
|
|
5
|
+
initOptions?: EChartInitOptions;
|
|
6
|
+
setOptionOptions?: boolean | EChartSetOptionOptions;
|
|
7
|
+
loading?: boolean;
|
|
8
|
+
loadingOptions?: EChartLoadingOptions;
|
|
9
|
+
autoResize?: boolean;
|
|
10
|
+
useDefaultColors?: boolean;
|
|
11
|
+
colorStorageKey?: string;
|
|
12
|
+
defaultColors?: string[];
|
|
13
|
+
group?: string;
|
|
14
|
+
}
|
|
15
|
+
export interface BaseEChartExpose {
|
|
16
|
+
getInstance: () => EChartInstance | null;
|
|
17
|
+
setOption: (option: EChartOption, setOptionOptions?: boolean | EChartSetOptionOptions) => EChartInstance | null;
|
|
18
|
+
resize: (resizeOptions?: EChartResizeOptions) => void;
|
|
19
|
+
dispatchAction: (payload: Record<string, unknown>) => void;
|
|
20
|
+
showLoading: (type?: string, loadingOptions?: EChartLoadingOptions) => void;
|
|
21
|
+
hideLoading: () => void;
|
|
22
|
+
clear: () => void;
|
|
23
|
+
dispose: () => void;
|
|
24
|
+
on: (eventName: string, handler: (...args: any[]) => void, context?: unknown) => void;
|
|
25
|
+
off: (eventName?: string, handler?: (...args: any[]) => void) => void;
|
|
26
|
+
}
|