st-comp 0.0.148 → 0.0.150
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/components.d.ts +3 -0
- package/es/ChartLayout.cjs +1 -1
- package/es/ChartLayout.js +5 -4
- package/es/Dialog.cjs +1 -1
- package/es/Dialog.js +28 -24
- package/es/FactorWarning.cjs +1 -1
- package/es/FactorWarning.js +577 -631
- package/es/Kline.cjs +1 -0
- package/es/Kline.js +1903 -0
- package/es/KlineBasic.cjs +1 -1
- package/es/KlineBasic.js +677 -1428
- package/es/KlineNew.cjs +1 -3
- package/es/KlineNew.js +316 -2740
- package/es/Pagination.cjs +1 -1
- package/es/Pagination.js +60 -58
- package/es/PasswordPrompt.cjs +1 -0
- package/es/PasswordPrompt.js +13 -0
- package/es/Table.cjs +1 -1
- package/es/Table.js +102 -98
- package/es/User.cjs +1 -1
- package/es/User.js +397 -373
- package/es/VarietySearch.cjs +1 -1
- package/es/VarietySearch.js +2395 -1
- package/es/VirtualTable.cjs +5 -5
- package/es/VirtualTable.js +154 -151
- package/es/_initCloneObject-47814efa.cjs +1 -0
- package/es/{_initCloneObject-ec5c9523.js → _initCloneObject-e3d8a9ab.js} +13 -13
- package/es/base-0ca7c43a.cjs +5 -0
- package/es/base-19787dfb.js +303 -0
- package/es/{castArray-c770910d.js → castArray-8405000b.js} +1 -1
- package/es/castArray-a78ae889.cjs +1 -0
- package/es/{config-provider-feed0e8a.js → config-provider-0f6672af.js} +3 -3
- package/es/{config-provider-c87e277f.cjs → config-provider-cfbb9cd8.cjs} +1 -1
- package/es/{debounce-c64fb3b5.js → debounce-6cb0781f.js} +29 -29
- package/es/debounce-cf26af24.cjs +1 -0
- package/es/{dropdown-c9272ca3.js → dropdown-17b3ef6a.js} +4 -4
- package/es/{dropdown-6bdb3cf4.cjs → dropdown-790d31ea.cjs} +1 -1
- package/es/el-button-0bf1d532.js +236 -0
- package/es/el-button-62966947.cjs +1 -0
- package/es/el-checkbox-group-45247bbf.cjs +1 -0
- package/es/el-checkbox-group-d53bc316.js +67 -0
- package/es/el-empty-2ece1134.cjs +1 -0
- package/es/{el-empty-89a523ed.js → el-empty-bd5343a7.js} +10 -9
- package/es/{el-form-item-55d36086.js → el-form-item-05c0e335.js} +82 -81
- package/es/el-form-item-47e255d4.cjs +12 -0
- package/es/{el-input-cb528574.js → el-input-1e309239.js} +46 -45
- package/es/el-input-6a3805c5.cjs +1 -0
- package/es/{el-input-number-ce30bfa8.js → el-input-number-60ebc58f.js} +50 -48
- package/es/el-input-number-96ff2e47.cjs +1 -0
- package/es/el-menu-item-4c9eb7ad.cjs +1 -0
- package/es/el-menu-item-6c6236a1.js +772 -0
- package/es/{el-message-d51d032b.js → el-message-7d927756.js} +56 -55
- package/es/el-message-d5ed7a4f.cjs +1 -0
- package/es/el-overlay-26bf0945.js +521 -0
- package/es/el-overlay-41994f67.cjs +1 -0
- package/es/el-popover-17e2e66c.js +140 -0
- package/es/el-popover-7bd8a7c3.cjs +1 -0
- package/es/el-popper-7adbf1c6.cjs +1 -0
- package/es/{el-popper-f4b01f85.js → el-popper-b6527ae2.js} +217 -216
- package/es/{el-scrollbar-e8e93751.js → el-scrollbar-29bcab5f.js} +22 -22
- package/es/el-scrollbar-ac525239.cjs +1 -0
- package/es/el-select-31f8ac8a.cjs +1 -0
- package/es/{el-select-e71af2e6.js → el-select-7395562b.js} +42 -40
- package/es/el-table-column-47d80736.js +3804 -0
- package/es/el-table-column-bdc46568.cjs +14 -0
- package/es/{el-tag-d65768f4.js → el-tag-7414e0c7.js} +59 -58
- package/es/el-tag-9732314f.cjs +1 -0
- package/es/{index-da646183.cjs → index-1d85ba4b.cjs} +1 -1
- package/es/{index-92ba4292.js → index-273822d1.js} +26 -25
- package/es/index-2f958e56.cjs +3 -0
- package/es/index-375e8de4.cjs +5 -0
- package/es/{index-121e2861.js → index-621b092b.js} +3 -3
- package/es/index-657047bb.js +513 -0
- package/es/{index-18416440.cjs → index-65b4113e.cjs} +1 -1
- package/es/index-70372cdb.js +519 -0
- package/es/{use-form-common-props-4d37077d.js → index-72151b24.js} +151 -312
- package/es/index-9e6e8d03.cjs +1 -0
- package/es/index-ab96bbf4.js +156 -0
- package/es/index-afc88a4b.cjs +1 -0
- package/es/index-c066fe0d.js +82 -0
- package/es/index-ce3223db.cjs +1 -0
- package/es/{index-709675d5.js → index-dc22ffe4.js} +18 -18
- package/es/index-eea0bcb3.cjs +1 -0
- package/es/index.esm-8d9a2abe.js +2432 -0
- package/es/index.esm-94a95a2a.cjs +3 -0
- package/es/{raf-f55e0daa.js → raf-a532c514.js} +1 -1
- package/es/{raf-2d77cbbe.cjs → raf-f46caea0.cjs} +1 -1
- package/es/{scroll-c8ac196e.cjs → scroll-339681d4.cjs} +1 -1
- package/es/{scroll-ca84f80a.js → scroll-d787d648.js} +1 -1
- package/es/style.css +1 -1
- package/es/use-form-common-props-5ff2f51b.js +171 -0
- package/es/use-form-common-props-74a96df2.cjs +2 -0
- package/es/vnode-6a0c7411.js +14 -0
- package/es/vnode-b15eb11b.cjs +1 -0
- package/es/{zh-cn-414d7f0c.cjs → zh-cn-36f34912.cjs} +1 -1
- package/es/{zh-cn-23c8e0d1.js → zh-cn-f37255ae.js} +2 -2
- package/lib/bundle.js +1 -1
- package/lib/bundle.umd.cjs +206 -206
- package/lib/{index-ffeb163e.js → index-d0cb2fa2.js} +33754 -31705
- package/lib/{python-0ec8f68c.js → python-050ba5a4.js} +1 -1
- package/lib/style.css +1 -1
- package/package.json +1 -1
- package/packages/Kline/components/Contextmenu/index.vue +110 -0
- package/packages/Kline/components/Tips/index.vue +40 -0
- package/packages/Kline/componentsNew/KlineSlide/index.vue +155 -0
- package/packages/Kline/componentsNew/KlineSub/index.vue +297 -0
- package/packages/Kline/componentsNew/KlineTips/index.vue +66 -0
- package/packages/Kline/componentsNew/KlineUtils/index.vue +84 -0
- package/packages/Kline/componentsNew/Tips/index.vue +33 -0
- package/packages/Kline/formatKlineData.ts +109 -0
- package/packages/Kline/images/buy.svg +1 -0
- package/packages/Kline/images/pen.png +0 -0
- package/packages/Kline/images/sell.svg +1 -0
- package/packages/Kline/images/t.svg +1 -0
- package/packages/Kline/index.ts +16 -0
- package/packages/Kline/index.vue +891 -0
- package/packages/Kline/option.ts +539 -0
- package/packages/Kline/type.d.ts +219 -0
- package/packages/Kline/utils.ts +682 -0
- package/packages/PasswordPrompt/index.ts +8 -0
- package/packages/PasswordPrompt/index.vue +266 -0
- package/packages/User/index.vue +97 -58
- package/packages/index.ts +4 -0
- package/src/pages/Kline/index.vue +12 -0
- package/src/pages/PasswordPrompt/index.vue +12 -0
- package/src/router/routes.ts +10 -0
- package/es/_initCloneObject-476b02ce.cjs +0 -1
- package/es/base-6ccc8fc2.cjs +0 -9
- package/es/base-950bac7e.js +0 -816
- package/es/castArray-374558a5.cjs +0 -1
- package/es/debounce-a6b4f91b.cjs +0 -1
- package/es/el-button-b8f71c7d.cjs +0 -1
- package/es/el-button-d7b6eebd.js +0 -745
- package/es/el-empty-12eece57.cjs +0 -1
- package/es/el-form-item-ebbf096d.cjs +0 -12
- package/es/el-input-2c7e70a3.cjs +0 -1
- package/es/el-input-number-8e168e83.cjs +0 -1
- package/es/el-message-612c2346.cjs +0 -1
- package/es/el-overlay-07414277.js +0 -526
- package/es/el-overlay-fb255b83.cjs +0 -1
- package/es/el-popper-8360bd91.cjs +0 -1
- package/es/el-scrollbar-271142ad.cjs +0 -1
- package/es/el-select-2e71d4af.cjs +0 -1
- package/es/el-table-column-9fe79f05.cjs +0 -14
- package/es/el-table-column-dc562f14.js +0 -3933
- package/es/el-tag-930e7b32.cjs +0 -1
- package/es/index-0ed86daf.cjs +0 -3
- package/es/index-674d2fd7.cjs +0 -1
- package/es/index-aece600c.js +0 -81
- package/es/use-form-common-props-c1960844.cjs +0 -2
|
@@ -0,0 +1,266 @@
|
|
|
1
|
+
<script setup>
|
|
2
|
+
import { CircleCheck } from "@element-plus/icons-vue";
|
|
3
|
+
import { computed } from "vue";
|
|
4
|
+
|
|
5
|
+
const props = defineProps({
|
|
6
|
+
// 密码
|
|
7
|
+
value: {
|
|
8
|
+
type: String,
|
|
9
|
+
default: "",
|
|
10
|
+
},
|
|
11
|
+
// 是否聚焦密码框
|
|
12
|
+
isFocus: {
|
|
13
|
+
type: Boolean,
|
|
14
|
+
default: false,
|
|
15
|
+
},
|
|
16
|
+
// 文案颜色
|
|
17
|
+
textColor: {
|
|
18
|
+
type: [String, null],
|
|
19
|
+
default: null,
|
|
20
|
+
},
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
// 密码统一校验
|
|
24
|
+
const pwdValidators = [
|
|
25
|
+
{
|
|
26
|
+
text: "不能包含空格",
|
|
27
|
+
validator: (val) => {
|
|
28
|
+
return !/\s/.test(val);
|
|
29
|
+
},
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
text: "长度为8-18个字符",
|
|
33
|
+
validator: (val) => {
|
|
34
|
+
return val.length >= 8 && val.length <= 18;
|
|
35
|
+
},
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
text: "必须包含字母、数字、符号中至少2种",
|
|
39
|
+
validator: (val) => {
|
|
40
|
+
const hasLetter = /[a-zA-Z]/.test(val);
|
|
41
|
+
const hasNumber = /\d/.test(val);
|
|
42
|
+
const hasSymbol = /[^a-zA-Z0-9]/.test(val);
|
|
43
|
+
return [hasLetter, hasNumber, hasSymbol].filter(Boolean).length >= 2;
|
|
44
|
+
},
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
text: "请勿输入连续、重复6位以上字母或数字, 0123456, 1111111",
|
|
48
|
+
validator: (val) => {
|
|
49
|
+
// 检查是否有6位以上的重复字符
|
|
50
|
+
const repeatingChars = /([a-zA-Z0-9])\1{6,}/;
|
|
51
|
+
if (repeatingChars.test(val)) return false;
|
|
52
|
+
|
|
53
|
+
// 检查是否有6位以上的连续数字
|
|
54
|
+
const consecutiveNumbers = /(?:0123456|1234567|2345678|3456789|9876543|8765432|7654321|6543210)/;
|
|
55
|
+
if (consecutiveNumbers.test(val)) return false;
|
|
56
|
+
|
|
57
|
+
// 检查是否有6位以上的连续字母
|
|
58
|
+
const lowerVal = val.toLowerCase();
|
|
59
|
+
const isConsecutiveLetters = (str) => {
|
|
60
|
+
if (!/^[a-z]+$/.test(str)) return false;
|
|
61
|
+
for (let i = 1; i < str.length; i++) {
|
|
62
|
+
if (str.charCodeAt(i) !== str.charCodeAt(i - 1) + 1) {
|
|
63
|
+
return false;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
return true;
|
|
67
|
+
};
|
|
68
|
+
for (let i = 0; i <= lowerVal.length - 7; i++) {
|
|
69
|
+
const segment = lowerVal.substr(i, 7);
|
|
70
|
+
if (isConsecutiveLetters(segment)) {
|
|
71
|
+
return false;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
return true;
|
|
75
|
+
},
|
|
76
|
+
},
|
|
77
|
+
];
|
|
78
|
+
|
|
79
|
+
// 基础规则校验是否全部通过
|
|
80
|
+
const allSuccessValidator = computed(() => {
|
|
81
|
+
const result = pwdValidators.map((item) => item.validator(props.value));
|
|
82
|
+
return !result.includes(false);
|
|
83
|
+
});
|
|
84
|
+
|
|
85
|
+
// 密码强度等级(得分制)
|
|
86
|
+
const levelValue = computed(() => {
|
|
87
|
+
const password = props.value;
|
|
88
|
+
if (!password) return 0;
|
|
89
|
+
// 初始得分
|
|
90
|
+
let score = 0;
|
|
91
|
+
{
|
|
92
|
+
// 长度检查
|
|
93
|
+
if (password.length >= 8) score++;
|
|
94
|
+
if (password.length >= 12) score++;
|
|
95
|
+
// 包含数字
|
|
96
|
+
if (/\d/.test(password)) score++;
|
|
97
|
+
// 包含小写字母
|
|
98
|
+
if (/[a-z]/.test(password)) score++;
|
|
99
|
+
// 包含大写字母
|
|
100
|
+
if (/[A-Z]/.test(password)) score++;
|
|
101
|
+
// 包含特殊字符
|
|
102
|
+
if (/[^a-zA-Z0-9]/.test(password)) score++;
|
|
103
|
+
}
|
|
104
|
+
// 将分数映射到1-3的强度等级
|
|
105
|
+
if (score <= 2) return 1;
|
|
106
|
+
else if (score <= 4) return 2;
|
|
107
|
+
else return 3;
|
|
108
|
+
});
|
|
109
|
+
const levelClass = computed(() => {
|
|
110
|
+
switch (levelValue.value) {
|
|
111
|
+
case 1:
|
|
112
|
+
return "lv1";
|
|
113
|
+
case 2:
|
|
114
|
+
return "lv2";
|
|
115
|
+
case 3:
|
|
116
|
+
return "lv3";
|
|
117
|
+
default:
|
|
118
|
+
return "";
|
|
119
|
+
}
|
|
120
|
+
});
|
|
121
|
+
const levelText = computed(() => {
|
|
122
|
+
switch (levelValue.value) {
|
|
123
|
+
case 1:
|
|
124
|
+
return "弱";
|
|
125
|
+
case 2:
|
|
126
|
+
return "中";
|
|
127
|
+
case 3:
|
|
128
|
+
return "强";
|
|
129
|
+
default:
|
|
130
|
+
return "";
|
|
131
|
+
}
|
|
132
|
+
});
|
|
133
|
+
|
|
134
|
+
defineExpose({
|
|
135
|
+
pwdValidators,
|
|
136
|
+
// 提供给表单校验使用
|
|
137
|
+
ruleFormPassword: [
|
|
138
|
+
{ required: true, trigger: "blur", message: "密码不能为空" },
|
|
139
|
+
...pwdValidators.map((item) => {
|
|
140
|
+
return {
|
|
141
|
+
trigger: "blur",
|
|
142
|
+
validator: (rule, value, callback) => {
|
|
143
|
+
if (!item.validator(value)) callback(item.text);
|
|
144
|
+
else callback();
|
|
145
|
+
},
|
|
146
|
+
};
|
|
147
|
+
}),
|
|
148
|
+
],
|
|
149
|
+
});
|
|
150
|
+
</script>
|
|
151
|
+
|
|
152
|
+
<template>
|
|
153
|
+
<div
|
|
154
|
+
class="password-prompt"
|
|
155
|
+
:style="{ color: textColor ?? 'var(--el-color-info)' }"
|
|
156
|
+
>
|
|
157
|
+
<transition name="slide-down">
|
|
158
|
+
<div
|
|
159
|
+
v-if="isFocus"
|
|
160
|
+
class="rule-box"
|
|
161
|
+
>
|
|
162
|
+
<div
|
|
163
|
+
class="rule-item"
|
|
164
|
+
v-for="(item, index) in pwdValidators"
|
|
165
|
+
:key="index"
|
|
166
|
+
>
|
|
167
|
+
<el-icon v-show="item.validator(value)">
|
|
168
|
+
<CircleCheck />
|
|
169
|
+
</el-icon>
|
|
170
|
+
<span>{{ item.text }}</span>
|
|
171
|
+
</div>
|
|
172
|
+
</div>
|
|
173
|
+
</transition>
|
|
174
|
+
<div
|
|
175
|
+
v-if="!isFocus && allSuccessValidator"
|
|
176
|
+
class="level-box"
|
|
177
|
+
>
|
|
178
|
+
<div class="level-color">
|
|
179
|
+
<div
|
|
180
|
+
class="levelValue-block"
|
|
181
|
+
:class="[levelValue >= 1 ? levelClass : '']"
|
|
182
|
+
/>
|
|
183
|
+
<div
|
|
184
|
+
class="levelValue-block"
|
|
185
|
+
:class="[levelValue >= 2 ? levelClass : '']"
|
|
186
|
+
/>
|
|
187
|
+
<div
|
|
188
|
+
class="levelValue-block"
|
|
189
|
+
:class="[levelValue >= 3 ? levelClass : '']"
|
|
190
|
+
/>
|
|
191
|
+
</div>
|
|
192
|
+
<div class="level-text">密码强度: {{ levelText }}</div>
|
|
193
|
+
</div>
|
|
194
|
+
</div>
|
|
195
|
+
</template>
|
|
196
|
+
|
|
197
|
+
<style scoped>
|
|
198
|
+
.password-prompt {
|
|
199
|
+
width: 100%;
|
|
200
|
+
position: relative;
|
|
201
|
+
.rule-box {
|
|
202
|
+
.rule-item {
|
|
203
|
+
position: relative;
|
|
204
|
+
.el-icon {
|
|
205
|
+
font-size: 16px;
|
|
206
|
+
color: green;
|
|
207
|
+
position: absolute;
|
|
208
|
+
left: 0;
|
|
209
|
+
top: 9px;
|
|
210
|
+
}
|
|
211
|
+
span {
|
|
212
|
+
font-size: 12px;
|
|
213
|
+
display: inline-block;
|
|
214
|
+
padding-left: 20px;
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
.level-box {
|
|
219
|
+
position: absolute;
|
|
220
|
+
top: -7px;
|
|
221
|
+
width: 100%;
|
|
222
|
+
display: flex;
|
|
223
|
+
align-items: center;
|
|
224
|
+
justify-content: end;
|
|
225
|
+
gap: 10px;
|
|
226
|
+
.level-color {
|
|
227
|
+
display: flex;
|
|
228
|
+
gap: 4px;
|
|
229
|
+
.levelValue-block {
|
|
230
|
+
width: 30px;
|
|
231
|
+
height: 8px;
|
|
232
|
+
background-color: #ebeef5;
|
|
233
|
+
border-radius: 2px;
|
|
234
|
+
transition: all 0.3s;
|
|
235
|
+
}
|
|
236
|
+
.lv1 {
|
|
237
|
+
background-color: #f33434;
|
|
238
|
+
}
|
|
239
|
+
.lv2 {
|
|
240
|
+
background-color: #e6a23c;
|
|
241
|
+
}
|
|
242
|
+
.lv3 {
|
|
243
|
+
background-color: #67c23a;
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
.level-text {
|
|
247
|
+
font-size: 12px;
|
|
248
|
+
color: #909399;
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
/* 校验规则平滑过渡效果 */
|
|
253
|
+
.slide-down-enter-active,
|
|
254
|
+
.slide-down-leave-active {
|
|
255
|
+
transition: all 0.3s ease;
|
|
256
|
+
max-height: 200px;
|
|
257
|
+
overflow: hidden;
|
|
258
|
+
}
|
|
259
|
+
.slide-down-enter-from,
|
|
260
|
+
.slide-down-leave-to {
|
|
261
|
+
opacity: 0;
|
|
262
|
+
max-height: 0;
|
|
263
|
+
transform: translateY(0px);
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
</style>
|
package/packages/User/index.vue
CHANGED
|
@@ -23,11 +23,14 @@
|
|
|
23
23
|
前往登录
|
|
24
24
|
<el-icon class="user-login-icon"><Right /></el-icon>
|
|
25
25
|
</div>
|
|
26
|
+
|
|
27
|
+
<!-- 修改密码弹窗 -->
|
|
26
28
|
<el-dialog
|
|
27
29
|
v-model="changePasswordVisible"
|
|
28
30
|
title="修改密码"
|
|
29
31
|
width="500"
|
|
30
32
|
:z-index="200"
|
|
33
|
+
@opened="changePasswordDialogOpen"
|
|
31
34
|
@closed="changePasswordDialogClose"
|
|
32
35
|
>
|
|
33
36
|
<el-form
|
|
@@ -38,21 +41,42 @@
|
|
|
38
41
|
@keyup.enter.native="changePasswordFn"
|
|
39
42
|
label-width="auto"
|
|
40
43
|
>
|
|
41
|
-
<el-form-item
|
|
44
|
+
<el-form-item
|
|
45
|
+
label="原密码"
|
|
46
|
+
prop="oldPassword"
|
|
47
|
+
>
|
|
42
48
|
<el-input
|
|
43
49
|
v-model="changePasswordForm.oldPassword"
|
|
44
50
|
type="password"
|
|
45
51
|
:show-password="true"
|
|
46
52
|
/>
|
|
47
53
|
</el-form-item>
|
|
48
|
-
<el-form-item
|
|
54
|
+
<el-form-item
|
|
55
|
+
label="新密码"
|
|
56
|
+
prop="newPassword"
|
|
57
|
+
>
|
|
49
58
|
<el-input
|
|
50
59
|
v-model="changePasswordForm.newPassword"
|
|
51
60
|
type="password"
|
|
52
61
|
:show-password="true"
|
|
62
|
+
@focus="
|
|
63
|
+
() => {
|
|
64
|
+
changePasswordFormRef.clearValidate(['newPassword']);
|
|
65
|
+
isFocusNewPassword = true;
|
|
66
|
+
}
|
|
67
|
+
"
|
|
68
|
+
@blur="isFocusNewPassword = false"
|
|
69
|
+
/>
|
|
70
|
+
<PasswordPrompt
|
|
71
|
+
ref="PasswordPromptRef"
|
|
72
|
+
:value="changePasswordForm.newPassword"
|
|
73
|
+
:isFocus="isFocusNewPassword"
|
|
53
74
|
/>
|
|
54
75
|
</el-form-item>
|
|
55
|
-
<el-form-item
|
|
76
|
+
<el-form-item
|
|
77
|
+
label="确认密码"
|
|
78
|
+
prop="confirmPassword"
|
|
79
|
+
>
|
|
56
80
|
<el-input
|
|
57
81
|
v-model="changePasswordForm.confirmPassword"
|
|
58
82
|
type="password"
|
|
@@ -63,7 +87,10 @@
|
|
|
63
87
|
<template #footer>
|
|
64
88
|
<div class="dialog-footer">
|
|
65
89
|
<el-button @click="changePasswordVisible = false">取消</el-button>
|
|
66
|
-
<el-button
|
|
90
|
+
<el-button
|
|
91
|
+
type="primary"
|
|
92
|
+
@click="changePasswordFn"
|
|
93
|
+
>
|
|
67
94
|
修改
|
|
68
95
|
</el-button>
|
|
69
96
|
</div>
|
|
@@ -73,86 +100,98 @@
|
|
|
73
100
|
</template>
|
|
74
101
|
|
|
75
102
|
<script setup>
|
|
76
|
-
import { ref, inject } from
|
|
77
|
-
import { UserFilled, ArrowDown, Right } from "@element-plus/icons-vue"
|
|
78
|
-
import { getUserData, login, loginout } from
|
|
103
|
+
import { ref, inject, nextTick } from "vue";
|
|
104
|
+
import { UserFilled, ArrowDown, Right } from "@element-plus/icons-vue";
|
|
105
|
+
import { getUserData, login, loginout } from "st-func";
|
|
106
|
+
import PasswordPrompt from "../PasswordPrompt/index.vue";
|
|
79
107
|
|
|
80
108
|
const stConfig = inject("stConfig");
|
|
81
|
-
const userData = getUserData()
|
|
109
|
+
const userData = getUserData();
|
|
110
|
+
const PasswordPromptRef = ref(null); // 密码校验强度组件
|
|
82
111
|
|
|
83
|
-
const emit = defineEmits([
|
|
112
|
+
const emit = defineEmits(["loginout"]);
|
|
84
113
|
const props = defineProps({
|
|
85
114
|
config: {
|
|
86
115
|
type: Object,
|
|
87
|
-
default: () => ({
|
|
116
|
+
default: () => ({}), // loginUrl: 登录后的跳转地址 loginoutToLogin: 是否跳转到登录页 loginoutUrl: 退出登录后的跳转地址
|
|
88
117
|
},
|
|
89
|
-
})
|
|
118
|
+
});
|
|
90
119
|
|
|
91
|
-
const changePasswordFormRef = ref(null)
|
|
92
|
-
const changePasswordVisible = ref(false)
|
|
120
|
+
const changePasswordFormRef = ref(null);
|
|
121
|
+
const changePasswordVisible = ref(false);
|
|
93
122
|
const changePasswordForm = ref({
|
|
94
|
-
oldPassword:
|
|
95
|
-
newPassword:
|
|
96
|
-
confirmPassword:
|
|
97
|
-
})
|
|
98
|
-
const checkPassword = (rule, value, callback) => {
|
|
99
|
-
if (value === '') {
|
|
100
|
-
callback(new Error('请输入确认密码'))
|
|
101
|
-
} else if (value !== changePasswordForm.value.newPassword) {
|
|
102
|
-
callback(new Error("两次输入密码不一致!"))
|
|
103
|
-
} else {
|
|
104
|
-
callback()
|
|
105
|
-
}
|
|
106
|
-
}
|
|
123
|
+
oldPassword: "",
|
|
124
|
+
newPassword: "",
|
|
125
|
+
confirmPassword: "",
|
|
126
|
+
});
|
|
107
127
|
const changePasswordRules = ref({
|
|
108
128
|
oldPassword: [
|
|
109
|
-
{ required: true, message:
|
|
110
|
-
{ min: 6, max: 18, trigger: "blur", message: "密码长度为6到18位" },
|
|
111
|
-
],
|
|
112
|
-
newPassword: [
|
|
113
|
-
{ required: true, message: '请输入新密码', trigger: 'blur' },
|
|
129
|
+
{ required: true, message: "请输入原密码", trigger: "blur" },
|
|
114
130
|
{ min: 6, max: 18, trigger: "blur", message: "密码长度为6到18位" },
|
|
115
131
|
],
|
|
132
|
+
newPassword: [],
|
|
116
133
|
confirmPassword: [
|
|
117
|
-
{ required: true, message:
|
|
118
|
-
{
|
|
134
|
+
{ required: true, message: "请输入确认密码", trigger: "blur" },
|
|
135
|
+
{
|
|
136
|
+
validator: (rule, value, callback) => {
|
|
137
|
+
if (value === "") {
|
|
138
|
+
callback(new Error("请输入确认密码"));
|
|
139
|
+
} else if (value !== changePasswordForm.value.newPassword) {
|
|
140
|
+
callback(new Error("两次输入密码不一致!"));
|
|
141
|
+
} else {
|
|
142
|
+
callback();
|
|
143
|
+
}
|
|
144
|
+
},
|
|
145
|
+
trigger: "blur",
|
|
146
|
+
},
|
|
119
147
|
{ min: 6, max: 18, trigger: "blur", message: "密码长度为6到18位" },
|
|
120
148
|
],
|
|
121
|
-
})
|
|
149
|
+
});
|
|
150
|
+
const isFocusNewPassword = ref(false); // 是否聚焦新密码
|
|
122
151
|
|
|
123
152
|
const loginFn = () => {
|
|
124
|
-
const { loginUrl } = props.config || {}
|
|
125
|
-
login(loginUrl)
|
|
126
|
-
}
|
|
127
|
-
|
|
153
|
+
const { loginUrl } = props.config || {};
|
|
154
|
+
login(loginUrl);
|
|
155
|
+
};
|
|
128
156
|
const loginoutFn = () => {
|
|
129
|
-
const { loginoutToLogin, loginoutUrl } = props.config || {}
|
|
130
|
-
loginout(loginoutToLogin, loginoutUrl)
|
|
131
|
-
emit(
|
|
132
|
-
}
|
|
133
|
-
|
|
157
|
+
const { loginoutToLogin, loginoutUrl } = props.config || {};
|
|
158
|
+
loginout(loginoutToLogin, loginoutUrl);
|
|
159
|
+
emit("loginout");
|
|
160
|
+
};
|
|
134
161
|
const changePasswordFn = () => {
|
|
135
|
-
changePasswordFormRef.value.validate(async(valid, fields) => {
|
|
162
|
+
changePasswordFormRef.value.validate(async (valid, fields) => {
|
|
136
163
|
if (valid) {
|
|
137
|
-
const res = await stConfig.request.post(
|
|
164
|
+
const res = await stConfig.request.post("/invest/sys/user/password", {
|
|
138
165
|
password: changePasswordForm.value.oldPassword,
|
|
139
166
|
newPassword: changePasswordForm.value.newPassword,
|
|
140
167
|
newPassword2: changePasswordForm.value.confirmPassword,
|
|
141
|
-
})
|
|
142
|
-
ElMessage.success(`修改成功!`)
|
|
143
|
-
changePasswordVisible.value = false
|
|
144
|
-
} else {
|
|
145
|
-
|
|
146
|
-
}
|
|
147
|
-
|
|
168
|
+
});
|
|
169
|
+
ElMessage.success(`修改成功!`);
|
|
170
|
+
changePasswordVisible.value = false;
|
|
171
|
+
} else {
|
|
172
|
+
}
|
|
173
|
+
});
|
|
174
|
+
};
|
|
175
|
+
const changePasswordDialogOpen = () => {
|
|
176
|
+
if (changePasswordRules.value.newPassword.length === 0) {
|
|
177
|
+
nextTick(() => {
|
|
178
|
+
changePasswordRules.value.newPassword = PasswordPromptRef.value?.ruleFormPassword;
|
|
179
|
+
// 宏任务清除element-plus表单规则调整后的自动校验
|
|
180
|
+
let timer = setTimeout(() => {
|
|
181
|
+
changePasswordFormRef.value.resetFields();
|
|
182
|
+
clearTimeout(timer);
|
|
183
|
+
}, 0);
|
|
184
|
+
});
|
|
185
|
+
}
|
|
186
|
+
};
|
|
148
187
|
const changePasswordDialogClose = () => {
|
|
149
188
|
changePasswordForm.value = {
|
|
150
|
-
oldPassword:
|
|
151
|
-
newPassword:
|
|
152
|
-
confirmPassword:
|
|
153
|
-
}
|
|
154
|
-
changePasswordFormRef.value.resetFields()
|
|
155
|
-
}
|
|
189
|
+
oldPassword: "",
|
|
190
|
+
newPassword: "",
|
|
191
|
+
confirmPassword: "",
|
|
192
|
+
};
|
|
193
|
+
changePasswordFormRef.value.resetFields();
|
|
194
|
+
};
|
|
156
195
|
</script>
|
|
157
196
|
|
|
158
197
|
<style lang="scss" scoped>
|
package/packages/index.ts
CHANGED
|
@@ -4,12 +4,14 @@ import StConfigProvider from "./ConfigProvider/index.ts"
|
|
|
4
4
|
import StDialog from "./Dialog/index.ts"
|
|
5
5
|
import StFactorWarning from "./FactorWarning/index.ts"
|
|
6
6
|
import StHeatMap from "./HeatMap/index.ts"
|
|
7
|
+
import StKline from "./Kline/index.ts"
|
|
7
8
|
import StKlineBasic from "./KlineBasic/index.ts"
|
|
8
9
|
import StKlineNew from "./KlineNew/index.ts"
|
|
9
10
|
import StLinearLegend from "./LinearLegend/index.ts"
|
|
10
11
|
import StMap from "./Map/index.ts"
|
|
11
12
|
import StMonacoEditor from "./MonacoEditor/index.ts"
|
|
12
13
|
import StPagination from "./Pagination/index.ts"
|
|
14
|
+
import StPasswordPrompt from "./PasswordPrompt/index.ts"
|
|
13
15
|
import StPie from "./Pie/index.ts"
|
|
14
16
|
import StTable from "./Table/index.ts"
|
|
15
17
|
import StTreeMap from "./TreeMap/index.ts"
|
|
@@ -24,12 +26,14 @@ export default {
|
|
|
24
26
|
StDialog.install(app)
|
|
25
27
|
StFactorWarning.install(app)
|
|
26
28
|
StHeatMap.install(app)
|
|
29
|
+
StKline.install(app)
|
|
27
30
|
StKlineBasic.install(app)
|
|
28
31
|
StKlineNew.install(app)
|
|
29
32
|
StLinearLegend.install(app)
|
|
30
33
|
StMap.install(app)
|
|
31
34
|
StMonacoEditor.install(app)
|
|
32
35
|
StPagination.install(app)
|
|
36
|
+
StPasswordPrompt.install(app)
|
|
33
37
|
StPie.install(app)
|
|
34
38
|
StTable.install(app)
|
|
35
39
|
StTreeMap.install(app)
|
package/src/router/routes.ts
CHANGED
|
@@ -24,6 +24,11 @@ export default [
|
|
|
24
24
|
name: 'HeatMap',
|
|
25
25
|
component: () => import('../pages/HeatMap/index.vue'),
|
|
26
26
|
},
|
|
27
|
+
{
|
|
28
|
+
path: '/kline',
|
|
29
|
+
name: 'Kline',
|
|
30
|
+
component: () => import('../pages/Kline/index.vue'),
|
|
31
|
+
},
|
|
27
32
|
{
|
|
28
33
|
path: '/klineBasic',
|
|
29
34
|
name: 'KlineBasic',
|
|
@@ -54,6 +59,11 @@ export default [
|
|
|
54
59
|
name: 'Pagination',
|
|
55
60
|
component: () => import('../pages/Pagination/index.vue'),
|
|
56
61
|
},
|
|
62
|
+
{
|
|
63
|
+
path: '/passwordPrompt',
|
|
64
|
+
name: 'PasswordPrompt',
|
|
65
|
+
component: () => import('../pages/PasswordPrompt/index.vue'),
|
|
66
|
+
},
|
|
57
67
|
{
|
|
58
68
|
path: '/pie',
|
|
59
69
|
name: 'Pie',
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";const c=require("./use-form-common-props-c1960844.cjs"),o=require("./el-popper-8360bd91.cjs"),s=require("./base-6ccc8fc2.cjs");var a=Object.create,P=function(){function e(){}return function(n){if(!s.isObject(n))return{};if(a)return a(n);e.prototype=n;var r=new e;return e.prototype=void 0,r}}();const w=P;function A(e,n){var r=-1,t=e.length;for(n||(n=Array(t));++r<t;)n[r]=e[r];return n}function b(e,n,r,t){var d=!r;r||(r={});for(var f=-1,h=n.length;++f<h;){var i=n[f],u=t?t(r[i],e[i],i,r,e):void 0;u===void 0&&(u=e[i]),d?c.baseAssignValue(r,i,u):c.assignValue(r,i,u)}return r}function C(e){var n=[];if(e!=null)for(var r in Object(e))n.push(r);return n}var x=Object.prototype,B=x.hasOwnProperty;function I(e){if(!s.isObject(e))return C(e);var n=o.isPrototype(e),r=[];for(var t in e)t=="constructor"&&(n||!B.call(e,t))||r.push(t);return r}function T(e){return o.isArrayLike(e)?o.arrayLikeKeys(e,!0):I(e)}var U=o.overArg(Object.getPrototypeOf,Object);const y=U;var g=typeof exports=="object"&&exports&&!exports.nodeType&&exports,l=g&&typeof module=="object"&&module&&!module.nodeType&&module,m=l&&l.exports===g,p=m?s.root.Buffer:void 0,v=p?p.allocUnsafe:void 0;function q(e,n){if(n)return e.slice();var r=e.length,t=v?v(r):new e.constructor(r);return e.copy(t),t}function O(e){var n=new e.constructor(e.byteLength);return new o.Uint8Array(n).set(new o.Uint8Array(e)),n}function K(e,n){var r=n?O(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.length)}function L(e){return typeof e.constructor=="function"&&!o.isPrototype(e)?w(y(e)):{}}exports.cloneArrayBuffer=O;exports.cloneBuffer=q;exports.cloneTypedArray=K;exports.copyArray=A;exports.copyObject=b;exports.getPrototype=y;exports.initCloneObject=L;exports.keysIn=T;
|
package/es/base-6ccc8fc2.cjs
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
"use strict";const i=require("vue"),S="el",Ce="is-",y=(e,t,r,n,o)=>{let a=`${e}-${t}`;return r&&(a+=`-${r}`),n&&(a+=`__${n}`),o&&(a+=`--${o}`),a},Q=Symbol("namespaceContextKey"),z=e=>{const t=e||(i.getCurrentInstance()?i.inject(Q,i.ref(S)):i.ref(S));return i.computed(()=>i.unref(t)||S)},Te=(e,t)=>{const r=z(t);return{namespace:r,b:(s="")=>y(r.value,e,s,"",""),e:s=>s?y(r.value,e,"",s,""):"",m:s=>s?y(r.value,e,"","",s):"",be:(s,c)=>s&&c?y(r.value,e,s,c,""):"",em:(s,c)=>s&&c?y(r.value,e,"",s,c):"",bm:(s,c)=>s&&c?y(r.value,e,s,"",c):"",bem:(s,c,h)=>s&&c&&h?y(r.value,e,s,c,h):"",is:(s,...c)=>{const h=c.length>=1?c[0]:!0;return s&&h?`${Ce}${s}`:""},cssVar:s=>{const c={};for(const h in s)s[h]&&(c[`--${r.value}-${h}`]=s[h]);return c},cssVarName:s=>`--${r.value}-${s}`,cssVarBlock:s=>{const c={};for(const h in s)s[h]&&(c[`--${r.value}-${e}-${h}`]=s[h]);return c},cssVarBlockName:s=>`--${r.value}-${e}-${s}`}};/**
|
|
2
|
-
* @vue/shared v3.4.19
|
|
3
|
-
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
|
4
|
-
* @license MIT
|
|
5
|
-
**/process.env.NODE_ENV!=="production"&&Object.freeze({});process.env.NODE_ENV!=="production"&&Object.freeze([]);const ee=()=>{},Ne=Object.prototype.hasOwnProperty,A=(e,t)=>Ne.call(e,t),je=Array.isArray,Ie=e=>typeof e=="function",T=e=>typeof e=="string",K=e=>e!==null&&typeof e=="object",xe=Object.prototype.toString,Ee=e=>xe.call(e),De=e=>Ee(e)==="[object Object]",te=e=>{const t=Object.create(null);return r=>t[r]||(t[r]=e(r))},Fe=/-(\w)/g,Ae=te(e=>e.replace(Fe,(t,r)=>r?r.toUpperCase():"")),Me=/\B([A-Z])/g,Le=te(e=>e.replace(Me,"-$1").toLowerCase());var ze=typeof global=="object"&&global&&global.Object===Object&&global;const re=ze;var Ke=typeof self=="object"&&self&&self.Object===Object&&self,Re=re||Ke||Function("return this")();const N=Re;var Ve=N.Symbol;const b=Ve;var ne=Object.prototype,Ge=ne.hasOwnProperty,Ue=ne.toString,w=b?b.toStringTag:void 0;function Je(e){var t=Ge.call(e,w),r=e[w];try{e[w]=void 0;var n=!0}catch{}var o=Ue.call(e);return n&&(t?e[w]=r:delete e[w]),o}var Be=Object.prototype,He=Be.toString;function ke(e){return He.call(e)}var We="[object Null]",Ye="[object Undefined]",B=b?b.toStringTag:void 0;function R(e){return e==null?e===void 0?Ye:We:B&&B in Object(e)?Je(e):ke(e)}function oe(e){return e!=null&&typeof e=="object"}var qe="[object Symbol]";function j(e){return typeof e=="symbol"||oe(e)&&R(e)==qe}function ae(e,t){for(var r=-1,n=e==null?0:e.length,o=Array(n);++r<n;)o[r]=t(e[r],r,e);return o}var Ze=Array.isArray;const I=Ze;var Xe=1/0,H=b?b.prototype:void 0,k=H?H.toString:void 0;function se(e){if(typeof e=="string")return e;if(I(e))return ae(e,se)+"";if(j(e))return k?k.call(e):"";var t=e+"";return t=="0"&&1/e==-Xe?"-0":t}function V(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var Qe="[object AsyncFunction]",et="[object Function]",tt="[object GeneratorFunction]",rt="[object Proxy]";function ie(e){if(!V(e))return!1;var t=R(e);return t==et||t==tt||t==Qe||t==rt}var nt=N["__core-js_shared__"];const F=nt;var W=function(){var e=/[^.]+$/.exec(F&&F.keys&&F.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function ot(e){return!!W&&W in e}var at=Function.prototype,st=at.toString;function ce(e){if(e!=null){try{return st.call(e)}catch{}try{return e+""}catch{}}return""}var it=/[\\^$.*+?()[\]{}|]/g,ct=/^\[object .+?Constructor\]$/,ut=Function.prototype,lt=Object.prototype,dt=ut.toString,ft=lt.hasOwnProperty,pt=RegExp("^"+dt.call(ft).replace(it,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function ht(e){if(!V(e)||ot(e))return!1;var t=ie(e)?pt:ct;return t.test(ce(e))}function gt(e,t){return e==null?void 0:e[t]}function G(e,t){var r=gt(e,t);return ht(r)?r:void 0}function ue(e,t){return e===t||e!==e&&t!==t}var mt=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,yt=/^\w*$/;function le(e,t){if(I(e))return!1;var r=typeof e;return r=="number"||r=="symbol"||r=="boolean"||e==null||j(e)?!0:yt.test(e)||!mt.test(e)||t!=null&&e in Object(t)}var bt=G(Object,"create");const O=bt;function vt(){this.__data__=O?O(null):{},this.size=0}function _t(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var wt="__lodash_hash_undefined__",Ot=Object.prototype,Pt=Ot.hasOwnProperty;function $t(e){var t=this.__data__;if(O){var r=t[e];return r===wt?void 0:r}return Pt.call(t,e)?t[e]:void 0}var St=Object.prototype,Ct=St.hasOwnProperty;function Tt(e){var t=this.__data__;return O?t[e]!==void 0:Ct.call(t,e)}var Nt="__lodash_hash_undefined__";function jt(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=O&&t===void 0?Nt:t,this}function v(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}v.prototype.clear=vt;v.prototype.delete=_t;v.prototype.get=$t;v.prototype.has=Tt;v.prototype.set=jt;function It(){this.__data__=[],this.size=0}function x(e,t){for(var r=e.length;r--;)if(ue(e[r][0],t))return r;return-1}var xt=Array.prototype,Et=xt.splice;function Dt(e){var t=this.__data__,r=x(t,e);if(r<0)return!1;var n=t.length-1;return r==n?t.pop():Et.call(t,r,1),--this.size,!0}function Ft(e){var t=this.__data__,r=x(t,e);return r<0?void 0:t[r][1]}function At(e){return x(this.__data__,e)>-1}function Mt(e,t){var r=this.__data__,n=x(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this}function _(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}_.prototype.clear=It;_.prototype.delete=Dt;_.prototype.get=Ft;_.prototype.has=At;_.prototype.set=Mt;var Lt=G(N,"Map");const de=Lt;function zt(){this.size=0,this.__data__={hash:new v,map:new(de||_),string:new v}}function Kt(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}function E(e,t){var r=e.__data__;return Kt(t)?r[typeof t=="string"?"string":"hash"]:r.map}function Rt(e){var t=E(this,e).delete(e);return this.size-=t?1:0,t}function Vt(e){return E(this,e).get(e)}function Gt(e){return E(this,e).has(e)}function Ut(e,t){var r=E(this,e),n=r.size;return r.set(e,t),this.size+=r.size==n?0:1,this}function m(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}m.prototype.clear=zt;m.prototype.delete=Rt;m.prototype.get=Vt;m.prototype.has=Gt;m.prototype.set=Ut;var Jt="Expected a function";function D(e,t){if(typeof e!="function"||t!=null&&typeof t!="function")throw new TypeError(Jt);var r=function(){var n=arguments,o=t?t.apply(this,n):n[0],a=r.cache;if(a.has(o))return a.get(o);var l=e.apply(this,n);return r.cache=a.set(o,l)||a,l};return r.cache=new(D.Cache||m),r}D.Cache=m;var Bt=500;function Ht(e){var t=D(e,function(n){return r.size===Bt&&r.clear(),n}),r=t.cache;return t}var kt=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Wt=/\\(\\)?/g,Yt=Ht(function(e){var t=[];return e.charCodeAt(0)===46&&t.push(""),e.replace(kt,function(r,n,o,a){t.push(o?a.replace(Wt,"$1"):n||r)}),t});const qt=Yt;function Zt(e){return e==null?"":se(e)}function fe(e,t){return I(e)?e:le(e,t)?[e]:qt(Zt(e))}var Xt=1/0;function pe(e){if(typeof e=="string"||j(e))return e;var t=e+"";return t=="0"&&1/e==-Xt?"-0":t}function he(e,t){t=fe(t,e);for(var r=0,n=t.length;e!=null&&r<n;)e=e[pe(t[r++])];return r&&r==n?e:void 0}function ge(e,t,r){var n=e==null?void 0:he(e,t);return n===void 0?r:n}function me(e){for(var t=-1,r=e==null?0:e.length,n={};++t<r;){var o=e[t];n[o[0]]=o[1]}return n}function ye(e){return e==null}const Qt=e=>e===void 0,er=e=>typeof e=="boolean",be=e=>typeof e=="number",tr=e=>typeof Element>"u"?!1:e instanceof Element,rr=e=>ye(e),nr=e=>T(e)?!Number.isNaN(Number(e)):!1;var or=Object.defineProperty,ar=Object.defineProperties,sr=Object.getOwnPropertyDescriptors,Y=Object.getOwnPropertySymbols,ir=Object.prototype.hasOwnProperty,cr=Object.prototype.propertyIsEnumerable,q=(e,t,r)=>t in e?or(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,ur=(e,t)=>{for(var r in t||(t={}))ir.call(t,r)&&q(e,r,t[r]);if(Y)for(var r of Y(t))cr.call(t,r)&&q(e,r,t[r]);return e},lr=(e,t)=>ar(e,sr(t));function dr(e,t){var r;const n=i.shallowRef();return i.watchEffect(()=>{n.value=e()},lr(ur({},t),{flush:(r=t==null?void 0:t.flush)!=null?r:"sync"})),i.readonly(n)}var Z;const P=typeof window<"u",X=e=>typeof e=="function",fr=e=>typeof e=="string",M=()=>{},pr=P&&((Z=window==null?void 0:window.navigator)==null?void 0:Z.userAgent)&&/iP(ad|hone|od)/.test(window.navigator.userAgent);function C(e){return typeof e=="function"?e():i.unref(e)}function hr(e,t){function r(...n){return new Promise((o,a)=>{Promise.resolve(e(()=>t.apply(this,n),{fn:t,thisArg:this,args:n})).then(o).catch(a)})}return r}function gr(e,t={}){let r,n,o=M;const a=f=>{clearTimeout(f),o(),o=M};return f=>{const p=C(e),u=C(t.maxWait);return r&&a(r),p<=0||u!==void 0&&u<=0?(n&&(a(n),n=null),Promise.resolve(f())):new Promise((d,g)=>{o=t.rejectOnCancel?g:d,u&&!n&&(n=setTimeout(()=>{r&&a(r),n=null,d(f())},u)),r=setTimeout(()=>{n&&a(n),n=null,d(f())},p)})}}function mr(e){return e}function yr(e,t){let r,n,o;const a=i.ref(!0),l=()=>{a.value=!0,o()};i.watch(e,l,{flush:"sync"});const f=X(t)?t:t.get,p=X(t)?void 0:t.set,u=i.customRef((d,g)=>(n=d,o=g,{get(){return a.value&&(r=f(),a.value=!1),n(),r},set($){p==null||p($)}}));return Object.isExtensible(u)&&(u.trigger=l),u}function ve(e){return i.getCurrentScope()?(i.onScopeDispose(e),!0):!1}function br(e,t=200,r={}){return hr(gr(t,r),e)}function vr(e,t=200,r={}){const n=i.ref(e.value),o=br(()=>{n.value=e.value},t,r);return i.watch(e,()=>o()),n}function _r(e,t=!0){i.getCurrentInstance()?i.onMounted(e):t?e():i.nextTick(e)}function wr(e,t,r={}){const{immediate:n=!0}=r,o=i.ref(!1);let a=null;function l(){a&&(clearTimeout(a),a=null)}function f(){o.value=!1,l()}function p(...u){l(),o.value=!0,a=setTimeout(()=>{o.value=!1,a=null,e(...u)},C(t))}return n&&(o.value=!0,P&&p()),ve(f),{isPending:i.readonly(o),start:p,stop:f}}class _e extends Error{constructor(t){super(t),this.name="ElementPlusError"}}function Or(e,t){throw new _e(`[${e}] ${t}`)}function U(e,t){if(process.env.NODE_ENV!=="production"){const r=T(e)?new _e(`[${e}] ${t}`):e;console.warn(r)}}var Pr={name:"en",el:{breadcrumb:{label:"Breadcrumb"},colorpicker:{confirm:"OK",clear:"Clear",defaultLabel:"color picker",description:"current color is {color}. press enter to select a new color.",alphaLabel:"pick alpha value"},datepicker:{now:"Now",today:"Today",cancel:"Cancel",clear:"Clear",confirm:"OK",dateTablePrompt:"Use the arrow keys and enter to select the day of the month",monthTablePrompt:"Use the arrow keys and enter to select the month",yearTablePrompt:"Use the arrow keys and enter to select the year",selectedDate:"Selected date",selectDate:"Select date",selectTime:"Select time",startDate:"Start Date",startTime:"Start Time",endDate:"End Date",endTime:"End Time",prevYear:"Previous Year",nextYear:"Next Year",prevMonth:"Previous Month",nextMonth:"Next Month",year:"",month1:"January",month2:"February",month3:"March",month4:"April",month5:"May",month6:"June",month7:"July",month8:"August",month9:"September",month10:"October",month11:"November",month12:"December",week:"week",weeks:{sun:"Sun",mon:"Mon",tue:"Tue",wed:"Wed",thu:"Thu",fri:"Fri",sat:"Sat"},weeksFull:{sun:"Sunday",mon:"Monday",tue:"Tuesday",wed:"Wednesday",thu:"Thursday",fri:"Friday",sat:"Saturday"},months:{jan:"Jan",feb:"Feb",mar:"Mar",apr:"Apr",may:"May",jun:"Jun",jul:"Jul",aug:"Aug",sep:"Sep",oct:"Oct",nov:"Nov",dec:"Dec"}},inputNumber:{decrease:"decrease number",increase:"increase number"},select:{loading:"Loading",noMatch:"No matching data",noData:"No data",placeholder:"Select"},mention:{loading:"Loading"},dropdown:{toggleDropdown:"Toggle Dropdown"},cascader:{noMatch:"No matching data",loading:"Loading",placeholder:"Select",noData:"No data"},pagination:{goto:"Go to",pagesize:"/page",total:"Total {total}",pageClassifier:"",page:"Page",prev:"Go to previous page",next:"Go to next page",currentPage:"page {pager}",prevPages:"Previous {pager} pages",nextPages:"Next {pager} pages",deprecationWarning:"Deprecated usages detected, please refer to the el-pagination documentation for more details"},dialog:{close:"Close this dialog"},drawer:{close:"Close this dialog"},messagebox:{title:"Message",confirm:"OK",cancel:"Cancel",error:"Illegal input",close:"Close this dialog"},upload:{deleteTip:"press delete to remove",delete:"Delete",preview:"Preview",continue:"Continue"},slider:{defaultLabel:"slider between {min} and {max}",defaultRangeStartLabel:"pick start value",defaultRangeEndLabel:"pick end value"},table:{emptyText:"No Data",confirmFilter:"Confirm",resetFilter:"Reset",clearFilter:"All",sumText:"Sum"},tour:{next:"Next",previous:"Previous",finish:"Finish"},tree:{emptyText:"No Data"},transfer:{noMatch:"No matching data",noData:"No data",titles:["List 1","List 2"],filterPlaceholder:"Enter keyword",noCheckedFormat:"{total} items",hasCheckedFormat:"{checked}/{total} checked"},image:{error:"FAILED"},pageHeader:{title:"Back"},popconfirm:{confirmButtonText:"Yes",cancelButtonText:"No"},carousel:{leftArrow:"Carousel arrow left",rightArrow:"Carousel arrow right",indicator:"Carousel switch to index {index}"}}};const $r=e=>(t,r)=>Sr(t,r,i.unref(e)),Sr=(e,t,r)=>ge(r,e,e).replace(/\{(\w+)\}/g,(n,o)=>{var a;return`${(a=t==null?void 0:t[o])!=null?a:`{${o}}`}`}),Cr=e=>{const t=i.computed(()=>i.unref(e).name),r=i.isRef(e)?e:i.ref(e);return{lang:t,locale:r,t:$r(e)}},we=Symbol("localeContextKey"),Tr=e=>{const t=e||i.inject(we,i.ref());return Cr(i.computed(()=>t.value||Pr))},Oe="__epPropKey",Nr=e=>e,jr=e=>K(e)&&!!e[Oe],Pe=(e,t)=>{if(!K(e)||jr(e))return e;const{values:r,required:n,default:o,type:a,validator:l}=e,p={type:a,required:!!n,validator:r||l?u=>{let d=!1,g=[];if(r&&(g=Array.from(r),A(e,"default")&&g.push(o),d||(d=g.includes(u))),l&&(d||(d=l(u))),!d&&g.length>0){const $=[...new Set(g)].map(J=>JSON.stringify(J)).join(", ");i.warn(`Invalid prop: validation failed${t?` for prop "${t}"`:""}. Expected one of [${$}], got value ${JSON.stringify(u)}.`)}return d}:void 0,[Oe]:!0};return A(e,"default")&&(p.default=o),p},Ir=e=>me(Object.entries(e).map(([t,r])=>[t,Pe(r,t)]));var xr=(e,t)=>{const r=e.__vccOpts||e;for(const[n,o]of t)r[n]=o;return r};const Er="utils/dom/style",$e=(e="")=>e.split(" ").filter(t=>!!t.trim()),Dr=(e,t)=>{if(!e||!t)return!1;if(t.includes(" "))throw new Error("className should not contain space.");return e.classList.contains(t)},Fr=(e,t)=>{!e||!t.trim()||e.classList.add(...$e(t))},Ar=(e,t)=>{!e||!t.trim()||e.classList.remove(...$e(t))},Mr=(e,t)=>{var r;if(!P||!e||!t)return"";let n=Ae(t);n==="float"&&(n="cssFloat");try{const o=e.style[n];if(o)return o;const a=(r=document.defaultView)==null?void 0:r.getComputedStyle(e,"");return a?a[n]:""}catch{return e.style[n]}};function Lr(e,t="px"){if(!e)return"";if(be(e)||nr(e))return`${e}${t}`;if(T(e))return e;U(Er,"binding value must be a string or number")}const zr=(e,t)=>{if(e.install=r=>{for(const n of[e,...Object.values(t??{})])r.component(n.name,n)},t)for(const[r,n]of Object.entries(t))e[r]=n;return e},Kr=(e,t)=>(e.install=r=>{e._context=r._context,r.config.globalProperties[t]=e},e),Rr=(e,t)=>(e.install=r=>{r.directive(t,e)},e),Vr=e=>(e.install=ee,e),L={prefix:Math.floor(Math.random()*1e4),current:0},Gr=Symbol("elIdInjection"),Se=()=>i.getCurrentInstance()?i.inject(Gr,L):L,Ur=e=>{const t=Se();!P&&t===L&&U("IdInjection",`Looks like you are using server rendering, you must provide a id provider to ensure the hydration process to be succeed
|
|
6
|
-
usage: app.provide(ID_INJECTION_KEY, {
|
|
7
|
-
prefix: number,
|
|
8
|
-
current: number,
|
|
9
|
-
})`);const r=z();return dr(()=>i.unref(e)||`${r.value}-id-${t.prefix}-${t.current++}`)};exports.ListCache=_;exports.Map=de;exports.MapCache=m;exports.NOOP=ee;exports.Symbol=b;exports._export_sfc=xr;exports.addClass=Fr;exports.addUnit=Lr;exports.arrayMap=ae;exports.baseGet=he;exports.baseGetTag=R;exports.buildProp=Pe;exports.buildProps=Ir;exports.castPath=fe;exports.computedWithControl=yr;exports.debugWarn=U;exports.defaultNamespace=S;exports.definePropType=Nr;exports.eq=ue;exports.freeGlobal=re;exports.fromPairs=me;exports.get=ge;exports.getNative=G;exports.getStyle=Mr;exports.hasClass=Dr;exports.hasOwn=A;exports.hyphenate=Le;exports.identity=mr;exports.isArray=I;exports.isArray$1=je;exports.isBoolean=er;exports.isClient=P;exports.isElement=tr;exports.isFunction=Ie;exports.isFunction$1=ie;exports.isIOS=pr;exports.isKey=le;exports.isNil=ye;exports.isNumber=be;exports.isObject=V;exports.isObject$1=K;exports.isObjectLike=oe;exports.isPlainObject=De;exports.isPropAbsent=rr;exports.isString=fr;exports.isString$1=T;exports.isSymbol=j;exports.isUndefined=Qt;exports.localeContextKey=we;exports.memoize=D;exports.namespaceContextKey=Q;exports.noop=M;exports.refDebounced=vr;exports.removeClass=Ar;exports.resolveUnref=C;exports.root=N;exports.throwError=Or;exports.toKey=pe;exports.toSource=ce;exports.tryOnMounted=_r;exports.tryOnScopeDispose=ve;exports.useGetDerivedNamespace=z;exports.useId=Ur;exports.useIdInjection=Se;exports.useLocale=Tr;exports.useNamespace=Te;exports.useTimeoutFn=wr;exports.withInstall=zr;exports.withInstallDirective=Rr;exports.withInstallFunction=Kr;exports.withNoopInstall=Vr;
|