From 3e08ae95c3f5679046ee3403ee7e26890845833f Mon Sep 17 00:00:00 2001 From: jingrow Date: Sat, 24 Jan 2026 03:59:11 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0form=5Fbuilder=E7=BB=84?= =?UTF-8?q?=E4=BB=B6=EF=BC=8C=E5=AE=9E=E7=8E=B0=E5=8F=AF=E8=A7=86=E5=8C=96?= =?UTF-8?q?=E6=8B=96=E6=8B=BD=E7=BC=96=E6=8E=92pagetype=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + .../features/form_builder/FormBuilder.vue | 503 +++++++++++ .../components/AddFieldButton.vue | 160 ++++ .../form_builder/components/Autocomplete.vue | 182 ++++ .../form_builder/components/Column.vue | 185 ++++ .../form_builder/components/Dropdown.vue | 165 ++++ .../form_builder/components/EditableInput.vue | 99 ++ .../form_builder/components/Field.vue | 226 +++++ .../components/FieldProperties.vue | 171 ++++ .../form_builder/components/SearchBox.vue | 73 ++ .../form_builder/components/Section.vue | 370 ++++++++ .../form_builder/components/Sidebar.vue | 137 +++ .../features/form_builder/components/Tabs.vue | 373 ++++++++ .../components/controls/AttachControl.vue | 49 + .../components/controls/ButtonControl.vue | 56 ++ .../components/controls/CheckControl.vue | 87 ++ .../components/controls/CodeControl.vue | 95 ++ .../components/controls/DataControl.vue | 133 +++ .../controls/GeolocationControl.vue | 54 ++ .../components/controls/ImageControl.vue | 45 + .../components/controls/LinkControl.vue | 89 ++ .../components/controls/RatingControl.vue | 51 ++ .../components/controls/SelectControl.vue | 144 +++ .../components/controls/SignatureControl.vue | 42 + .../components/controls/TableControl.vue | 95 ++ .../components/controls/TextControl.vue | 93 ++ .../components/controls/TextEditorControl.vue | 90 ++ .../src/core/features/form_builder/globals.js | 77 ++ .../src/core/features/form_builder/index.js | 176 ++++ .../src/core/features/form_builder/store.js | 464 ++++++++++ .../form_builder/styles/form-builder.css | 845 ++++++++++++++++++ .../features/form_builder/styles/index.css | 5 + .../src/core/features/form_builder/utils.js | 330 +++++++ .../src/core/pagetype/form/controls/HTML.vue | 85 +- 34 files changed, 5749 insertions(+), 1 deletion(-) create mode 100644 apps/jingrow/frontend/src/core/features/form_builder/FormBuilder.vue create mode 100644 apps/jingrow/frontend/src/core/features/form_builder/components/AddFieldButton.vue create mode 100644 apps/jingrow/frontend/src/core/features/form_builder/components/Autocomplete.vue create mode 100644 apps/jingrow/frontend/src/core/features/form_builder/components/Column.vue create mode 100644 apps/jingrow/frontend/src/core/features/form_builder/components/Dropdown.vue create mode 100644 apps/jingrow/frontend/src/core/features/form_builder/components/EditableInput.vue create mode 100644 apps/jingrow/frontend/src/core/features/form_builder/components/Field.vue create mode 100644 apps/jingrow/frontend/src/core/features/form_builder/components/FieldProperties.vue create mode 100644 apps/jingrow/frontend/src/core/features/form_builder/components/SearchBox.vue create mode 100644 apps/jingrow/frontend/src/core/features/form_builder/components/Section.vue create mode 100644 apps/jingrow/frontend/src/core/features/form_builder/components/Sidebar.vue create mode 100644 apps/jingrow/frontend/src/core/features/form_builder/components/Tabs.vue create mode 100644 apps/jingrow/frontend/src/core/features/form_builder/components/controls/AttachControl.vue create mode 100644 apps/jingrow/frontend/src/core/features/form_builder/components/controls/ButtonControl.vue create mode 100644 apps/jingrow/frontend/src/core/features/form_builder/components/controls/CheckControl.vue create mode 100644 apps/jingrow/frontend/src/core/features/form_builder/components/controls/CodeControl.vue create mode 100644 apps/jingrow/frontend/src/core/features/form_builder/components/controls/DataControl.vue create mode 100644 apps/jingrow/frontend/src/core/features/form_builder/components/controls/GeolocationControl.vue create mode 100644 apps/jingrow/frontend/src/core/features/form_builder/components/controls/ImageControl.vue create mode 100644 apps/jingrow/frontend/src/core/features/form_builder/components/controls/LinkControl.vue create mode 100644 apps/jingrow/frontend/src/core/features/form_builder/components/controls/RatingControl.vue create mode 100644 apps/jingrow/frontend/src/core/features/form_builder/components/controls/SelectControl.vue create mode 100644 apps/jingrow/frontend/src/core/features/form_builder/components/controls/SignatureControl.vue create mode 100644 apps/jingrow/frontend/src/core/features/form_builder/components/controls/TableControl.vue create mode 100644 apps/jingrow/frontend/src/core/features/form_builder/components/controls/TextControl.vue create mode 100644 apps/jingrow/frontend/src/core/features/form_builder/components/controls/TextEditorControl.vue create mode 100644 apps/jingrow/frontend/src/core/features/form_builder/globals.js create mode 100644 apps/jingrow/frontend/src/core/features/form_builder/index.js create mode 100644 apps/jingrow/frontend/src/core/features/form_builder/store.js create mode 100644 apps/jingrow/frontend/src/core/features/form_builder/styles/form-builder.css create mode 100644 apps/jingrow/frontend/src/core/features/form_builder/styles/index.css create mode 100644 apps/jingrow/frontend/src/core/features/form_builder/utils.js diff --git a/.gitignore b/.gitignore index 86b47e1..42b72c4 100644 --- a/.gitignore +++ b/.gitignore @@ -23,6 +23,7 @@ frontend/.env.production # 忽略名为 test 的文件夹 test/ .cursor/ +.qoder/ # 忽略所有 文件夹 diff --git a/apps/jingrow/frontend/src/core/features/form_builder/FormBuilder.vue b/apps/jingrow/frontend/src/core/features/form_builder/FormBuilder.vue new file mode 100644 index 0000000..90b9606 --- /dev/null +++ b/apps/jingrow/frontend/src/core/features/form_builder/FormBuilder.vue @@ -0,0 +1,503 @@ + + + + + diff --git a/apps/jingrow/frontend/src/core/features/form_builder/components/AddFieldButton.vue b/apps/jingrow/frontend/src/core/features/form_builder/components/AddFieldButton.vue new file mode 100644 index 0000000..f1d3b5f --- /dev/null +++ b/apps/jingrow/frontend/src/core/features/form_builder/components/AddFieldButton.vue @@ -0,0 +1,160 @@ + + + + + diff --git a/apps/jingrow/frontend/src/core/features/form_builder/components/Autocomplete.vue b/apps/jingrow/frontend/src/core/features/form_builder/components/Autocomplete.vue new file mode 100644 index 0000000..d86ac74 --- /dev/null +++ b/apps/jingrow/frontend/src/core/features/form_builder/components/Autocomplete.vue @@ -0,0 +1,182 @@ + + + + + diff --git a/apps/jingrow/frontend/src/core/features/form_builder/components/Column.vue b/apps/jingrow/frontend/src/core/features/form_builder/components/Column.vue new file mode 100644 index 0000000..e432ee3 --- /dev/null +++ b/apps/jingrow/frontend/src/core/features/form_builder/components/Column.vue @@ -0,0 +1,185 @@ + + + + + diff --git a/apps/jingrow/frontend/src/core/features/form_builder/components/Dropdown.vue b/apps/jingrow/frontend/src/core/features/form_builder/components/Dropdown.vue new file mode 100644 index 0000000..c7603ea --- /dev/null +++ b/apps/jingrow/frontend/src/core/features/form_builder/components/Dropdown.vue @@ -0,0 +1,165 @@ + + + + + diff --git a/apps/jingrow/frontend/src/core/features/form_builder/components/EditableInput.vue b/apps/jingrow/frontend/src/core/features/form_builder/components/EditableInput.vue new file mode 100644 index 0000000..8b4d5b8 --- /dev/null +++ b/apps/jingrow/frontend/src/core/features/form_builder/components/EditableInput.vue @@ -0,0 +1,99 @@ + + + + + diff --git a/apps/jingrow/frontend/src/core/features/form_builder/components/Field.vue b/apps/jingrow/frontend/src/core/features/form_builder/components/Field.vue new file mode 100644 index 0000000..8f09a78 --- /dev/null +++ b/apps/jingrow/frontend/src/core/features/form_builder/components/Field.vue @@ -0,0 +1,226 @@ + + + + + diff --git a/apps/jingrow/frontend/src/core/features/form_builder/components/FieldProperties.vue b/apps/jingrow/frontend/src/core/features/form_builder/components/FieldProperties.vue new file mode 100644 index 0000000..28132cb --- /dev/null +++ b/apps/jingrow/frontend/src/core/features/form_builder/components/FieldProperties.vue @@ -0,0 +1,171 @@ + + + + + diff --git a/apps/jingrow/frontend/src/core/features/form_builder/components/SearchBox.vue b/apps/jingrow/frontend/src/core/features/form_builder/components/SearchBox.vue new file mode 100644 index 0000000..5c68a52 --- /dev/null +++ b/apps/jingrow/frontend/src/core/features/form_builder/components/SearchBox.vue @@ -0,0 +1,73 @@ + + + + + diff --git a/apps/jingrow/frontend/src/core/features/form_builder/components/Section.vue b/apps/jingrow/frontend/src/core/features/form_builder/components/Section.vue new file mode 100644 index 0000000..eb3fa0f --- /dev/null +++ b/apps/jingrow/frontend/src/core/features/form_builder/components/Section.vue @@ -0,0 +1,370 @@ + + + + + diff --git a/apps/jingrow/frontend/src/core/features/form_builder/components/Sidebar.vue b/apps/jingrow/frontend/src/core/features/form_builder/components/Sidebar.vue new file mode 100644 index 0000000..54e0606 --- /dev/null +++ b/apps/jingrow/frontend/src/core/features/form_builder/components/Sidebar.vue @@ -0,0 +1,137 @@ + + + + + diff --git a/apps/jingrow/frontend/src/core/features/form_builder/components/Tabs.vue b/apps/jingrow/frontend/src/core/features/form_builder/components/Tabs.vue new file mode 100644 index 0000000..fd6b6ac --- /dev/null +++ b/apps/jingrow/frontend/src/core/features/form_builder/components/Tabs.vue @@ -0,0 +1,373 @@ + + + + + diff --git a/apps/jingrow/frontend/src/core/features/form_builder/components/controls/AttachControl.vue b/apps/jingrow/frontend/src/core/features/form_builder/components/controls/AttachControl.vue new file mode 100644 index 0000000..cfd3785 --- /dev/null +++ b/apps/jingrow/frontend/src/core/features/form_builder/components/controls/AttachControl.vue @@ -0,0 +1,49 @@ + + + + + + diff --git a/apps/jingrow/frontend/src/core/features/form_builder/components/controls/ButtonControl.vue b/apps/jingrow/frontend/src/core/features/form_builder/components/controls/ButtonControl.vue new file mode 100644 index 0000000..cdd1c7a --- /dev/null +++ b/apps/jingrow/frontend/src/core/features/form_builder/components/controls/ButtonControl.vue @@ -0,0 +1,56 @@ + + + + + + diff --git a/apps/jingrow/frontend/src/core/features/form_builder/components/controls/CheckControl.vue b/apps/jingrow/frontend/src/core/features/form_builder/components/controls/CheckControl.vue new file mode 100644 index 0000000..ab78d5f --- /dev/null +++ b/apps/jingrow/frontend/src/core/features/form_builder/components/controls/CheckControl.vue @@ -0,0 +1,87 @@ + + + + + diff --git a/apps/jingrow/frontend/src/core/features/form_builder/components/controls/CodeControl.vue b/apps/jingrow/frontend/src/core/features/form_builder/components/controls/CodeControl.vue new file mode 100644 index 0000000..d2dfa21 --- /dev/null +++ b/apps/jingrow/frontend/src/core/features/form_builder/components/controls/CodeControl.vue @@ -0,0 +1,95 @@ + + + +