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 @@
-
-
+
{{ item[textField] }}
-
+
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 @@
+
+
+
+ {{ item[textField] }}
+
+
+
+
+
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 @@
-
+