t20-common-lib 0.15.17 → 0.15.18
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/package.json +1 -1
- package/packages/dynamic-form/src/components/Amount.vue +1 -1
- package/packages/dynamic-form/src/components/AmountRange.vue +6 -2
- package/packages/dynamic-form/src/components/CheckboxGroup.vue +1 -0
- package/packages/dynamic-form/src/components/DMY.vue +6 -2
- package/packages/dynamic-form/src/components/Date.vue +1 -0
- package/packages/dynamic-form/src/components/DateRange.vue +1 -0
- package/packages/dynamic-form/src/components/Dialog.vue +1 -1
- package/packages/dynamic-form/src/components/Input.vue +1 -0
- package/packages/dynamic-form/src/components/InputNumber.vue +1 -0
- package/packages/dynamic-form/src/components/InputNumberRange.vue +1 -0
- package/packages/dynamic-form/src/components/LazySelect.vue +1 -1
- package/packages/dynamic-form/src/components/RadioGroup.vue +1 -0
- package/packages/dynamic-form/src/components/Rate.vue +1 -0
- package/packages/dynamic-form/src/components/SelectTree.vue +1 -1
- package/packages/dynamic-form/src/components/Switch.vue +1 -0
- package/packages/dynamic-form/src/components/Textarea.vue +1 -0
- package/packages/dynamic-form/src/main.vue +4 -39
package/package.json
CHANGED
|
@@ -51,7 +51,9 @@ export default {
|
|
|
51
51
|
return "";
|
|
52
52
|
},
|
|
53
53
|
set(val) {
|
|
54
|
-
|
|
54
|
+
const nextValue = `${val},${this._value2 || this._value2===0?this._value2 : ''}`;
|
|
55
|
+
this.$emit("input", nextValue);
|
|
56
|
+
this.$emit("change", nextValue);
|
|
55
57
|
},
|
|
56
58
|
},
|
|
57
59
|
_value2: {
|
|
@@ -62,7 +64,9 @@ export default {
|
|
|
62
64
|
return "";
|
|
63
65
|
},
|
|
64
66
|
set(val) {
|
|
65
|
-
|
|
67
|
+
const nextValue = `${this._value1},${val || val===0?val : ''}`;
|
|
68
|
+
this.$emit("input", nextValue);
|
|
69
|
+
this.$emit("change", nextValue);
|
|
66
70
|
},
|
|
67
71
|
},
|
|
68
72
|
},
|
|
@@ -79,7 +79,9 @@ export default {
|
|
|
79
79
|
return "";
|
|
80
80
|
},
|
|
81
81
|
set(val) {
|
|
82
|
-
|
|
82
|
+
const nextValue = `${val}${this.value2}`;
|
|
83
|
+
this.$emit("input", nextValue);
|
|
84
|
+
this.$emit("change", nextValue);
|
|
83
85
|
},
|
|
84
86
|
},
|
|
85
87
|
value2: {
|
|
@@ -92,7 +94,9 @@ export default {
|
|
|
92
94
|
return "D";
|
|
93
95
|
},
|
|
94
96
|
set(val) {
|
|
95
|
-
|
|
97
|
+
const nextValue = `${this.value1}${val}`;
|
|
98
|
+
this.$emit("input", nextValue);
|
|
99
|
+
this.$emit("change", nextValue);
|
|
96
100
|
},
|
|
97
101
|
},
|
|
98
102
|
},
|
|
@@ -118,7 +118,7 @@ export default {
|
|
|
118
118
|
},
|
|
119
119
|
async changeFn(val) {
|
|
120
120
|
let item = Array.isArray(this.options) ? this.options.find(t => t.value == val) : {}
|
|
121
|
-
this.$emit('change', item || {})
|
|
121
|
+
this.$emit('change', val, item || {})
|
|
122
122
|
},
|
|
123
123
|
async init() {
|
|
124
124
|
if (!this.items?.api?.apiUrl || !this.items?.api?.requestMethod) {
|
|
@@ -243,7 +243,7 @@ export default {
|
|
|
243
243
|
},
|
|
244
244
|
changeFn(val) {
|
|
245
245
|
let item = this.options.find(t => t.value == val);
|
|
246
|
-
this.$emit("change", item)
|
|
246
|
+
this.$emit("change", val, item)
|
|
247
247
|
},
|
|
248
248
|
changVariable(val){
|
|
249
249
|
if (val == '${inputValue}') return this.useDefaule ? (this.items?.api?.defaultInputValue || this.label ||this._value || "") : this.query;
|
|
@@ -86,14 +86,8 @@
|
|
|
86
86
|
|
|
87
87
|
<script>
|
|
88
88
|
/**
|
|
89
|
-
*
|
|
90
|
-
*
|
|
91
|
-
* 2. A 控制 B 必填 — setFieldRequired
|
|
92
|
-
* 3. A 控制 B 可编辑 — setFieldEditable
|
|
93
|
-
* 4. A 控制 B 值/名称回显或下拉项 — setFieldValue、setFieldLabelValue、setFieldOptions
|
|
94
|
-
* 5. A 控制 B 渲染哪种组件 — setFieldElementType(须为 elementTypeChange 中已配置的枚举)
|
|
95
|
-
*
|
|
96
|
-
* fieldControlList:与 dynamicData 同时传入,仅在收到模版时按 fieldNo 与 elements[].prop 合并一次 isShow、showName→label、isRequired;之后渲染均以合并后的 mergedTemplateBase 为唯一数据源。
|
|
89
|
+
* fieldControlList:与 dynamicData 同时传入,仅在收到模版时按 fieldNo 与 elements[].prop
|
|
90
|
+
* 合并一次 isShow、showName→label、isRequired;之后渲染均以合并后的 mergedTemplateBase 为唯一数据源。
|
|
97
91
|
*/
|
|
98
92
|
import { fileUploadTableMixin } from '../mixins/fileUpload'
|
|
99
93
|
// 复用 Demo 中的字段组件,按模板的 elementType 动态渲染
|
|
@@ -124,11 +118,6 @@ export default {
|
|
|
124
118
|
type: Object,
|
|
125
119
|
default: () => ({})
|
|
126
120
|
},
|
|
127
|
-
// 页面侧联动处理函数,由外部自由编排联动逻辑
|
|
128
|
-
linkageMethod: {
|
|
129
|
-
type: Function,
|
|
130
|
-
default: null
|
|
131
|
-
},
|
|
132
121
|
/** 字段控制配置,与 dynamicData 一并传入;仅整合一次 */
|
|
133
122
|
fieldControlList: {
|
|
134
123
|
type: Array,
|
|
@@ -173,7 +162,7 @@ export default {
|
|
|
173
162
|
runtimeTemplate: { units: [] },
|
|
174
163
|
// 联动写入的 options / elementType:每次从 mergedTemplateBase 克隆后会合并回来,避免被重置清空
|
|
175
164
|
linkageFieldOverrides: {},
|
|
176
|
-
//
|
|
165
|
+
// 避免重建模板过程中 watch 循环触发
|
|
177
166
|
isApplyingLinkage: false,
|
|
178
167
|
// 模板字段类型 -> 组件名映射;后续扩展新组件时在这里补
|
|
179
168
|
elementTypeChange: {
|
|
@@ -435,29 +424,6 @@ export default {
|
|
|
435
424
|
})
|
|
436
425
|
})
|
|
437
426
|
},
|
|
438
|
-
buildLinkageApi() {
|
|
439
|
-
return {
|
|
440
|
-
formData: this.formData,
|
|
441
|
-
formGroups: this.formGroups,
|
|
442
|
-
getGroup: this.getGroup,
|
|
443
|
-
getField: this.getField,
|
|
444
|
-
setGroupShow: this.setGroupShow,
|
|
445
|
-
setFieldShow: this.setFieldShow,
|
|
446
|
-
setFieldRequired: this.setFieldRequired,
|
|
447
|
-
setFieldEditable: this.setFieldEditable,
|
|
448
|
-
setFieldValue: this.setFieldValue,
|
|
449
|
-
setFieldLabelValue: this.setFieldLabelValue,
|
|
450
|
-
setFieldOptions: this.setFieldOptions,
|
|
451
|
-
setFieldElementType: this.setFieldElementType
|
|
452
|
-
}
|
|
453
|
-
},
|
|
454
|
-
runExternalLinkage() {
|
|
455
|
-
const linkageApi = this.buildLinkageApi()
|
|
456
|
-
if (typeof this.linkageMethod === 'function') {
|
|
457
|
-
this.linkageMethod(linkageApi)
|
|
458
|
-
}
|
|
459
|
-
this.$emit('linkage', linkageApi)
|
|
460
|
-
},
|
|
461
427
|
applyFieldStates() {
|
|
462
428
|
if (!this.mergedTemplateBase?.units) return
|
|
463
429
|
this.isApplyingLinkage = true
|
|
@@ -473,14 +439,13 @@ export default {
|
|
|
473
439
|
})
|
|
474
440
|
this.runtimeTemplate = nextTemplate
|
|
475
441
|
this.applyLinkageOverrides()
|
|
476
|
-
this.runExternalLinkage()
|
|
477
442
|
this.formGroups.forEach(group => {
|
|
478
443
|
;(group.elements || []).forEach(item => {
|
|
479
444
|
this.setFieldRule(group.prop, item)
|
|
480
445
|
})
|
|
481
446
|
})
|
|
482
447
|
this.$nextTick(() => {
|
|
483
|
-
//
|
|
448
|
+
// 模板重建后统一清理校验态,避免规则变化导致页面出现历史校验提示。
|
|
484
449
|
if (this.$refs.dynamicForms && typeof this.$refs.dynamicForms.clearValidate === 'function') {
|
|
485
450
|
this.$refs.dynamicForms.clearValidate()
|
|
486
451
|
}
|