From 202254c73b118d8abef14460ba88e17f08a2ab40 Mon Sep 17 00:00:00 2001 From: gaoyunqi Date: Mon, 10 Jun 2024 11:34:27 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E5=A2=9E=E5=8A=A0=E6=98=8E=E7=BB=86?= =?UTF-8?q?=E8=A1=A8=E4=BA=8C=E5=BC=80=E7=9A=84=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/表单二开/1_拆分表单.md | 3 + docs/表单二开/2_拆分表单中的明细表 | 0 docs/表单二开/2_拆分表单中的明细表.md | 121 ++++ .../Form/src/components/SubFormV2Setup.vue | 575 ++++++++++++++++++ .../src/components/SimpleFormItemSetup.vue | 261 ++++++++ 5 files changed, 960 insertions(+) delete mode 100644 docs/表单二开/2_拆分表单中的明细表 create mode 100644 docs/表单二开/2_拆分表单中的明细表.md create mode 100644 src/components/Form/src/components/SubFormV2Setup.vue create mode 100644 src/components/SimpleForm/src/components/SimpleFormItemSetup.vue diff --git a/docs/表单二开/1_拆分表单.md b/docs/表单二开/1_拆分表单.md index d91c9d2..8c07cf8 100644 --- a/docs/表单二开/1_拆分表单.md +++ b/docs/表单二开/1_拆分表单.md @@ -1,4 +1,7 @@ ## 如何拆分表单 + +**注意:框架的部分模版部分用了非空断言,如formModel![xxx],编译器报错可以去掉叹号,或者在script上加上lang="ts"** + 默认情况下,生成的表单以JSON存储,每个字段都是由循环产生,因此在二开之前需要将每个字段拆开,以便进行二开。 首先,打开项目dev_tools/formprops.js,将其中的内容替换为 diff --git a/docs/表单二开/2_拆分表单中的明细表 b/docs/表单二开/2_拆分表单中的明细表 deleted file mode 100644 index e69de29..0000000 diff --git a/docs/表单二开/2_拆分表单中的明细表.md b/docs/表单二开/2_拆分表单中的明细表.md new file mode 100644 index 0000000..de5efeb --- /dev/null +++ b/docs/表单二开/2_拆分表单中的明细表.md @@ -0,0 +1,121 @@ +## 如何对表单中的明细表进行二开 +**注意:框架的部分模版部分用了非空断言,如formModel![xxx],编译器报错可以去掉叹号,或者在script上加上lang="ts"** + +明细表拆分比较复杂,首先,定义明细表文件,假设文件名为CascadeDetailTable.vue,如果一个表单有多个明细表需要修改,要注意文件名的语义。用下面的代码初始化文件: + +```vue + + + +``` +注意这里的div有个class,在继承模式下,scope语义会失效,导致样式无法继承,因此在基类文件的样式改成了传统的css嵌套写法。 + +如果认为SubFormV2的模版内容太多,影响开发,可以照着下面的注释进行裁剪,注意**为了文档长度注释中的代码只保留关键部分**,不要直接复制。 + +```vue + +``` +表格二开很简单,就是参照文档在#bodyCell中把对应的列的覆盖,一般用column.dataIndex进行覆盖,如果是对组件进行复写,还要将column.key !== 'index'这个条件下增加排除,因为这里是非特殊组件渲染的位置。 + +接下来,定义SimpleFormItem,假设文件名为SimpleTableItem.vue,这个组件不需要定义很多次,你可以根据表格的名称,或者是自定义参数,在一个文件里根据条件渲染多种表格: + +```vue + + + +``` +最后,在表单文件用用自定义的FormItem替换原有的组件。 +```vue + + + + +``` diff --git a/src/components/Form/src/components/SubFormV2Setup.vue b/src/components/Form/src/components/SubFormV2Setup.vue new file mode 100644 index 0000000..ce09568 --- /dev/null +++ b/src/components/Form/src/components/SubFormV2Setup.vue @@ -0,0 +1,575 @@ + + + diff --git a/src/components/SimpleForm/src/components/SimpleFormItemSetup.vue b/src/components/SimpleForm/src/components/SimpleFormItemSetup.vue new file mode 100644 index 0000000..0dfa458 --- /dev/null +++ b/src/components/SimpleForm/src/components/SimpleFormItemSetup.vue @@ -0,0 +1,261 @@ +