@jari-ace/element-plus-component 0.2.1 → 0.2.3
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/dist/components/form/JaForm.vue.d.ts +3 -0
- package/dist/components/form/JaForm.vue.d.ts.map +1 -1
- package/dist/components/form/JaForm.vue.js +22 -68
- package/dist/components/form/JaForm.vue.js.map +1 -1
- package/dist/components/formItem/JaFormItem.vue.d.ts +4 -0
- package/dist/components/formItem/JaFormItem.vue.d.ts.map +1 -1
- package/dist/components/formItem/JaFormItem.vue.js +26 -8
- package/dist/components/formItem/JaFormItem.vue.js.map +1 -1
- package/dist/components/rolePicker/baseRolePicker.vue.d.ts.map +1 -1
- package/dist/components/rolePicker/baseRolePicker.vue.js +4 -2
- package/dist/components/rolePicker/baseRolePicker.vue.js.map +1 -1
- package/dist/components/userPicker/src/JaUserList.vue.d.ts.map +1 -1
- package/dist/components/userPicker/src/JaUserList.vue.js +41 -7
- package/dist/components/userPicker/src/JaUserList.vue.js.map +1 -1
- package/dist/components/userPicker/src/JaUserPicker.vue.d.ts +9 -2
- package/dist/components/userPicker/src/JaUserPicker.vue.d.ts.map +1 -1
- package/dist/components/userPicker/src/JaUserPicker.vue.js +7 -2
- package/dist/components/userPicker/src/JaUserPicker.vue.js.map +1 -1
- package/dist/components/userPicker/src/UserPicker.vue.d.ts +33 -112
- package/dist/components/userPicker/src/UserPicker.vue.d.ts.map +1 -1
- package/dist/components/userPicker/src/UserPicker.vue.js +262 -288
- package/dist/components/userPicker/src/UserPicker.vue.js.map +1 -1
- package/dist/utils/formUtils.d.ts +7 -0
- package/dist/utils/formUtils.d.ts.map +1 -0
- package/dist/utils/formUtils.js +54 -0
- package/dist/utils/formUtils.js.map +1 -0
- package/lib/index.css +1 -1
- package/lib/index.js +1965 -1929
- package/lib/index.umd.cjs +2 -2
- package/package.json +2 -2
- package/packages/components/form/JaForm.vue +29 -69
- package/packages/components/formItem/JaFormItem.vue +35 -16
- package/packages/components/rolePicker/baseRolePicker.vue +6 -2
- package/packages/components/userPicker/src/JaUserList.vue +45 -11
- package/packages/components/userPicker/src/JaUserPicker.vue +4 -1
- package/packages/components/userPicker/src/UserPicker.vue +129 -33
- package/packages/utils/formUtils.ts +57 -0
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import {type FormRules,type FormItemRule} from "element-plus";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* 合并 rules 方法
|
|
5
|
+
* 将后端的rules合并到props.rules中
|
|
6
|
+
*/
|
|
7
|
+
export function mergeRules(frontendRules: FormRules, backendRules: FormRules): FormRules {
|
|
8
|
+
//合并里面的rules
|
|
9
|
+
let newRules: FormRules = {}
|
|
10
|
+
|
|
11
|
+
//浅拷贝
|
|
12
|
+
frontendRules = {...frontendRules};
|
|
13
|
+
backendRules = {...backendRules};
|
|
14
|
+
|
|
15
|
+
const frontendRulesKey: string[] = Object.keys(frontendRules);
|
|
16
|
+
const backendRulesKey: string[] = Object.keys(backendRules);
|
|
17
|
+
|
|
18
|
+
if (frontendRulesKey.length > 0 && backendRulesKey.length === 0) {
|
|
19
|
+
return frontendRules;
|
|
20
|
+
} else if (frontendRulesKey.length === 0 && backendRulesKey.length > 0) {
|
|
21
|
+
return backendRules;
|
|
22
|
+
} else if (
|
|
23
|
+
frontendRulesKey.length === 0 && backendRulesKey.length === 0
|
|
24
|
+
) {
|
|
25
|
+
return {}
|
|
26
|
+
} else { //frontendRulesKey 和 backendRulesKey 都有值
|
|
27
|
+
backendRulesKey.forEach(key => {
|
|
28
|
+
//frontendRulesKey中是否存在key
|
|
29
|
+
if (frontendRulesKey.includes(key)) {
|
|
30
|
+
if (Array.isArray(frontendRules[key]) && Array.isArray(backendRules[key])) {
|
|
31
|
+
newRules[key] = [...frontendRules[key] as FormItemRule[], ...backendRules[key] as FormItemRule[]];
|
|
32
|
+
}
|
|
33
|
+
//props.rules[key] 为对象 props.validator.rules[key]为数组
|
|
34
|
+
else if (!Array.isArray(frontendRules[key]) && Array.isArray(backendRules[key])) {
|
|
35
|
+
newRules[key] = [frontendRules[key] as FormItemRule, ...backendRules[key] as FormItemRule[]];
|
|
36
|
+
}
|
|
37
|
+
//props.rules[key] 为数组 props.validator.rules[key]为对象
|
|
38
|
+
else if (Array.isArray(frontendRules[key]) && !Array.isArray(backendRules[key])) {
|
|
39
|
+
newRules[key] = [...frontendRules[key] as FormItemRule[], backendRules[key] as FormItemRule];
|
|
40
|
+
}
|
|
41
|
+
//判断当前key的值类型是否都为对象
|
|
42
|
+
else if (!Array.isArray(frontendRules[key]) && !Array.isArray(backendRules[key])) {
|
|
43
|
+
newRules[key] = [frontendRules[key] as FormItemRule, backendRules[key] as FormItemRule];
|
|
44
|
+
}
|
|
45
|
+
} else {
|
|
46
|
+
newRules[key] = backendRules[key];
|
|
47
|
+
}
|
|
48
|
+
//删除对应的 key
|
|
49
|
+
delete frontendRules[key];
|
|
50
|
+
delete backendRules[key];
|
|
51
|
+
})
|
|
52
|
+
newRules = {...newRules, ...frontendRules};
|
|
53
|
+
return newRules;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
}
|