Skip to content

Commit 92ea2fc

Browse files
committed
refactor: 支持配置必填项是否展示
--story=1017498 --user=刘瑞斌 【高级编排应用】用户输入参数默认值增加显示设置优化 https://www.tapd.cn/57709429/s/1635457
1 parent 6c7ae3f commit 92ea2fc

File tree

9 files changed

+65
-8
lines changed

9 files changed

+65
-8
lines changed

ui/src/components/dynamics-form/constructor/index.vue

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,7 @@ const getData = () => {
100100
required: form_data.value.required,
101101
field: form_data.value.field,
102102
default_value: form_data.value.default_value,
103+
show_default_value: form_data.value.show_default_value,
103104
...componentFormRef.value.getData()
104105
}
105106
}

ui/src/components/dynamics-form/constructor/items/DatePickerConstructor.vue

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,16 @@
2626
</el-select>
2727
</el-form-item>
2828
<el-form-item
29-
label="默认值"
3029
:required="formValue.required"
3130
prop="default_value"
3231
:rules="formValue.required ? [{ required: true, message: '默认值 为必填属性' }] : []"
3332
>
33+
<template #label>
34+
<div class="flex-between">
35+
默认值
36+
<el-checkbox v-model="formValue.show_default_value" label="显示默认值" />
37+
</div>
38+
</template>
3439
<el-date-picker
3540
v-model="formValue.default_value"
3641
:type="formValue.type"
@@ -91,19 +96,22 @@ const getData = () => {
9196
format: formValue.value.format,
9297
'value-format': formValue.value.format
9398
},
94-
default_value: formValue.value.default_value
99+
default_value: formValue.value.default_value,
100+
show_default_value: formValue.value.show_default_value,
95101
}
96102
}
97103
const rander = (form_data: any) => {
98104
formValue.value.type = form_data.attrs.type
99105
formValue.value.format = form_data.attrs?.format
100106
formValue.value.default_value = form_data.default_value || ''
107+
formValue.value.show_default_value = form_data.show_default_value
101108
}
102109
defineExpose({ getData, rander })
103110
onBeforeMount(() => {
104111
formValue.value.type = 'datetime'
105112
formValue.value.format = 'YYYY-MM-DD HH:mm:ss'
106113
formValue.value.default_value = ''
114+
formValue.value.show_default_value = true
107115
})
108116
</script>
109117
<style lang="scss"></style>

ui/src/components/dynamics-form/constructor/items/JsonInputConstructor.vue

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,15 @@
11
<template>
22
<el-form-item
3-
label="默认值"
43
:required="formValue.required"
54
prop="default_value"
65
:rules="[default_value_rule]"
76
>
7+
<template #label>
8+
<div class="flex-between">
9+
默认值
10+
<el-checkbox v-model="formValue.show_default_value" label="显示默认值" />
11+
</div>
12+
</template>
813
<JsonInput ref="jsonInputRef" v-model="formValue.default_value"> </JsonInput>
914
</el-form-item>
1015
</template>
@@ -40,7 +45,8 @@ const getData = () => {
4045
}
4146
]
4247
},
43-
default_value: formValue.value.default_value
48+
default_value: formValue.value.default_value,
49+
show_default_value: formValue.value.show_default_value,
4450
}
4551
}
4652
@@ -55,10 +61,12 @@ const default_value_rule = {
5561
5662
const rander = (form_data: any) => {
5763
formValue.value.default_value = form_data.default_value
64+
formValue.value.show_default_value = form_data.show_default_value
5865
}
5966
defineExpose({ getData, rander })
6067
onMounted(() => {
6168
formValue.value.default_value = {}
69+
formValue.value.show_default_value = true
6270
})
6371
</script>
6472
<style lang="scss"></style>

ui/src/components/dynamics-form/constructor/items/MultiSelectConstructor.vue

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,11 +46,16 @@
4646
</el-row>
4747
</el-form-item>
4848
<el-form-item
49-
label="默认值"
5049
:required="formValue.required"
5150
prop="default_value"
5251
:rules="formValue.required ? [{ required: true, message: '默认值 为必填属性' }] : []"
5352
>
53+
<template #label>
54+
<div class="flex-between">
55+
默认值
56+
<el-checkbox v-model="formValue.show_default_value" label="显示默认值" />
57+
</div>
58+
</template>
5459
<el-select
5560
class="m-2"
5661
multiple
@@ -103,6 +108,7 @@ const getData = () => {
103108
input_type: 'MultiSelect',
104109
attrs: {},
105110
default_value: formValue.value.default_value,
111+
show_default_value: formValue.value.show_default_value,
106112
text_field: 'label',
107113
value_field: 'value',
108114
option_list: formValue.value.option_list
@@ -111,12 +117,14 @@ const getData = () => {
111117
const rander = (form_data: any) => {
112118
formValue.value.option_list = form_data.option_list || []
113119
formValue.value.default_value = form_data.default_value
120+
formValue.value.show_default_value = form_data.show_default_value
114121
}
115122
116123
defineExpose({ getData, rander })
117124
onMounted(() => {
118125
formValue.value.option_list = []
119126
formValue.value.default_value = ''
127+
formValue.value.show_default_value = true
120128
121129
addOption()
122130
})

ui/src/components/dynamics-form/constructor/items/RadioCardConstructor.vue

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,11 +47,16 @@
4747
</el-row>
4848
</el-form-item>
4949
<el-form-item
50-
label="默认值"
5150
:required="formValue.required"
5251
prop="default_value"
5352
:rules="formValue.required ? [{ required: true, message: '默认值 为必填属性' }] : []"
5453
>
54+
<template #label>
55+
<div class="flex-between">
56+
默认值
57+
<el-checkbox v-model="formValue.show_default_value" label="显示默认值" />
58+
</div>
59+
</template>
5560
<RadioCard
5661
:form-field="formField"
5762
v-model="formValue.default_value"
@@ -96,6 +101,7 @@ const getData = () => {
96101
input_type: 'RadioCard',
97102
attrs: {},
98103
default_value: formValue.value.default_value,
104+
show_default_value: formValue.value.show_default_value,
99105
text_field: 'label',
100106
value_field: 'value',
101107
option_list: formValue.value.option_list
@@ -104,12 +110,14 @@ const getData = () => {
104110
const rander = (form_data: any) => {
105111
formValue.value.option_list = form_data.option_list || []
106112
formValue.value.default_value = form_data.default_value
113+
formValue.value.show_default_value = form_data.show_default_value
107114
}
108115
109116
defineExpose({ getData, rander })
110117
onMounted(() => {
111118
formValue.value.option_list = []
112119
formValue.value.default_value = ''
120+
formValue.value.show_default_value = true
113121
114122
addOption()
115123
})

ui/src/components/dynamics-form/constructor/items/SingleSelectConstructor.vue

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,11 +47,16 @@
4747
</el-row>
4848
</el-form-item>
4949
<el-form-item
50-
label="默认值"
5150
:required="formValue.required"
5251
prop="default_value"
5352
:rules="formValue.required ? [{ required: true, message: '默认值 为必填属性' }] : []"
5453
>
54+
<template #label>
55+
<div class="flex-between">
56+
默认值
57+
<el-checkbox v-model="formValue.show_default_value" label="显示默认值" />
58+
</div>
59+
</template>
5560
<el-select v-model="formValue.default_value" :teleported="false" popper-class="default-select">
5661
<el-option
5762
v-for="(option, index) in formValue.option_list"
@@ -95,6 +100,7 @@ const getData = () => {
95100
input_type: 'SingleSelect',
96101
attrs: {},
97102
default_value: formValue.value.default_value,
103+
show_default_value: formValue.value.show_default_value,
98104
text_field: 'label',
99105
value_field: 'value',
100106
option_list: formValue.value.option_list
@@ -109,6 +115,7 @@ defineExpose({ getData, rander })
109115
onMounted(() => {
110116
formValue.value.option_list = []
111117
formValue.value.default_value = ''
118+
formValue.value.show_default_value = true
112119
113120
addOption()
114121
})

ui/src/components/dynamics-form/constructor/items/TextInputConstructor.vue

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,13 +47,18 @@
4747
</el-form-item>
4848

4949
<el-form-item
50-
label="默认值"
5150
:required="formValue.required"
5251
prop="default_value"
5352
:rules="
5453
formValue.required ? [{ required: true, message: '默认值 为必填属性' }, ...rules] : rules
5554
"
5655
>
56+
<template #label>
57+
<div class="flex-between">
58+
默认值
59+
<el-checkbox v-model="formValue.show_default_value" label="显示默认值" />
60+
</div>
61+
</template>
5762
<el-input
5863
v-model="formValue.default_value"
5964
:maxlength="formValue.maxlength"
@@ -96,6 +101,7 @@ const getData = () => {
96101
'show-word-limit': true
97102
},
98103
default_value: formValue.value.default_value,
104+
show_default_value: formValue.value.show_default_value,
99105
props_info: {
100106
rules: formValue.value.required
101107
? [
@@ -153,6 +159,7 @@ onMounted(() => {
153159
formValue.value.minlength = 0
154160
formValue.value.maxlength = 20
155161
formValue.value.default_value = ''
162+
formValue.value.show_default_value = true
156163
})
157164
</script>
158165
<style lang="scss"></style>

ui/src/components/dynamics-form/index.vue

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,12 @@ const initDefaultData = (formField: FormField) => {
151151
) {
152152
formValue.value[formField.field] = formField.default_value
153153
}
154+
155+
// 配置不展示默认值
156+
if (!formField.show_default_value) {
157+
formValue.value[formField.field] = undefined
158+
console.log(formField.show_default_value, formValue.value[formField.field])
159+
}
154160
}
155161
156162
onBeforeMount(() => {

ui/src/components/dynamics-form/type.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,10 @@ interface FormField {
126126
* 默认值
127127
*/
128128
default_value?: any
129+
/**
130+
* 是否显示默认值
131+
*/
132+
show_default_value?: boolean
129133
/**
130134
* {field:field_value_list} 表示在 field有值 ,并且值在field_value_list中才显示
131135
*/

0 commit comments

Comments
 (0)