From 6801a24c38fe54e8ea7da699a06661012e4db999 Mon Sep 17 00:00:00 2001 From: shaohuzhang1 <80892890+shaohuzhang1@users.noreply.github.com> Date: Tue, 19 Nov 2024 14:24:38 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E8=A1=A8=E5=8D=95=E8=8A=82=E7=82=B9?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=A4=9A=E9=80=89=E6=A1=86,=E9=80=89?= =?UTF-8?q?=E9=A1=B9=E5=8D=A1=E7=AD=89=E7=BB=84=E4=BB=B6=20(#1651)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dynamics-form/constructor/data.ts | 12 ++ .../items/MultiSelectConstructor.vue | 129 ++++++++++++++++++ .../items/RadioCardConstructor.vue | 122 +++++++++++++++++ .../constructor/items/RadioRowConstructor.vue | 122 +++++++++++++++++ .../items/SingleSelectConstructor.vue | 44 ++++-- .../dynamics-form/items/radio/RadioCard.vue | 72 +++++----- .../dynamics-form/items/radio/RadioRow.vue | 79 +++++++++++ ui/src/workflow/nodes/form-node/index.vue | 2 +- 8 files changed, 528 insertions(+), 54 deletions(-) create mode 100644 ui/src/components/dynamics-form/constructor/items/MultiSelectConstructor.vue create mode 100644 ui/src/components/dynamics-form/constructor/items/RadioCardConstructor.vue create mode 100644 ui/src/components/dynamics-form/constructor/items/RadioRowConstructor.vue create mode 100644 ui/src/components/dynamics-form/items/radio/RadioRow.vue diff --git a/ui/src/components/dynamics-form/constructor/data.ts b/ui/src/components/dynamics-form/constructor/data.ts index ff100fa06..4478558b1 100644 --- a/ui/src/components/dynamics-form/constructor/data.ts +++ b/ui/src/components/dynamics-form/constructor/data.ts @@ -15,6 +15,10 @@ const input_type_list = [ label: '单选框', value: 'SingleSelect' }, + { + label: '多选框', + value: 'MultiSelect' + }, { label: '日期', value: 'DatePicker' @@ -22,6 +26,14 @@ const input_type_list = [ { label: 'JSON文本框', value: 'JsonInput' + }, + { + label: '选项卡', + value: 'RadioCard' + }, + { + label: '单行选项卡', + value: 'RadioRow' } ] export { input_type_list } diff --git a/ui/src/components/dynamics-form/constructor/items/MultiSelectConstructor.vue b/ui/src/components/dynamics-form/constructor/items/MultiSelectConstructor.vue new file mode 100644 index 000000000..253ab160a --- /dev/null +++ b/ui/src/components/dynamics-form/constructor/items/MultiSelectConstructor.vue @@ -0,0 +1,129 @@ + + + diff --git a/ui/src/components/dynamics-form/constructor/items/RadioCardConstructor.vue b/ui/src/components/dynamics-form/constructor/items/RadioCardConstructor.vue new file mode 100644 index 000000000..68748d0a6 --- /dev/null +++ b/ui/src/components/dynamics-form/constructor/items/RadioCardConstructor.vue @@ -0,0 +1,122 @@ + + + diff --git a/ui/src/components/dynamics-form/constructor/items/RadioRowConstructor.vue b/ui/src/components/dynamics-form/constructor/items/RadioRowConstructor.vue new file mode 100644 index 000000000..a606abd5e --- /dev/null +++ b/ui/src/components/dynamics-form/constructor/items/RadioRowConstructor.vue @@ -0,0 +1,122 @@ + + + diff --git a/ui/src/components/dynamics-form/constructor/items/SingleSelectConstructor.vue b/ui/src/components/dynamics-form/constructor/items/SingleSelectConstructor.vue index 4e4f2a065..077401268 100644 --- a/ui/src/components/dynamics-form/constructor/items/SingleSelectConstructor.vue +++ b/ui/src/components/dynamics-form/constructor/items/SingleSelectConstructor.vue @@ -12,18 +12,38 @@ -
+
+ 标签 +
+ 选项值 + + - - - - - - -
+
+ +
+ +
+ + + + + { - formValue.value.option_list.push({ value: '' }) + formValue.value.option_list.push({ value: '', label: '' }) } const delOption = (index: number) => { @@ -74,8 +94,8 @@ const getData = () => { input_type: 'SingleSelect', attrs: {}, default_value: formValue.value.default_value, - text_field: 'value', - value_field: 'value', + textField: 'label', + valueField: 'value', option_list: formValue.value.option_list } } diff --git a/ui/src/components/dynamics-form/items/radio/RadioCard.vue b/ui/src/components/dynamics-form/items/radio/RadioCard.vue index 492cff408..68a43d522 100644 --- a/ui/src/components/dynamics-form/items/radio/RadioCard.vue +++ b/ui/src/components/dynamics-form/items/radio/RadioCard.vue @@ -1,18 +1,19 @@ diff --git a/ui/src/components/dynamics-form/items/radio/RadioRow.vue b/ui/src/components/dynamics-form/items/radio/RadioRow.vue new file mode 100644 index 000000000..f0c00bf6f --- /dev/null +++ b/ui/src/components/dynamics-form/items/radio/RadioRow.vue @@ -0,0 +1,79 @@ + + + diff --git a/ui/src/workflow/nodes/form-node/index.vue b/ui/src/workflow/nodes/form-node/index.vue index 32abbb420..21e905fcc 100644 --- a/ui/src/workflow/nodes/form-node/index.vue +++ b/ui/src/workflow/nodes/form-node/index.vue @@ -76,7 +76,7 @@