当前位置:文档之家› 工作流表单引擎系统

工作流表单引擎系统

表单系统设计
一、目的
表单定义:表单是用来呈现与存储数据的图形化界面,数据展现、数据存储、用户交互的工具。

我们用火车来比喻,数据就是货物、表单就是车厢、火车头就是工作流程引擎。

自定义表单设计器,采用数据库格式化存储表单模板。

二、实现原理
自定义表单功能概括起来如下
1、表单预览,动态报表展示(列表数据展示)
2、表单数据填报,
3、支持多数据表同时填报,一对多数据表填报,单表多条数据批量填报等
4、自定义表单支持用户自定义模板
5、大量丰富的标准表单控件
三、目标
1、新建表单(需要关联流程id,表单关联实例,历史版本)。

2、表单预览。

3、主表单和子表单相关属性管理。

4、表单字段关联表单控件。

5、实现表单模型自动布局。

6、实现表单模板与数据结合渲染控制。

7、通过表单的定义自动创建/修改自定义数据表。

四、功能实现
4.1、表单定义管理
表单基本信息管理(表单名称、描述)、表单存储表字段管理、表单布局设计、表单数据验证定义、表单字段关联/子表单管理、表单字段编辑框行为管理,表单基本信息定义。

4.2、表单存储表字段定义
定义表单中用到的数据项,包括字段名、字段类型、长度、默认值、编辑框类型、是否允许为空、是否自增长字段、分组名称、是否在列表中显示等信息。

编辑框类型一般有:文本框、文本域、复选框、单选框、列表框、时间日期选择、文件上传框等;这里定义的是表单主表字段,注意每张表单仅针对一张表,否则操作多张表的SQL不容易处理,涉及到主从表的情况可用子表单来处理。

4.3、表单布局设计
能够提供一个表单设计器。

自定义表单,有可视化表单设计界面,直接采用拖、拉、点、拽的方式来设计表单。

常见的数据获取保存等等,直接用页面构件,不需要用户写代码就能完成(有时候简单的sql语句还是需要写)。

4.4、表单数据验证定义
定义需要验证字段的规则,验证规则,可用正则表达式的方式来定义,系统内部可自带一些常用的验证规则,复杂的情况可能会出现各字段之间的值进行比较的情况。

比如判断空,是否数字,取值范围判断,是否日期,是否电话号码,省份证验证,汉字验证,等等多样的验证。

1、条件校验,
2、基础类型校验
3、逻辑表达式校验
4.5、表单字段关联/子表单管理
定义表/表单之间的关联信息,即主键外键信息。

4.6、表单字段编辑框行为定义
主要负责处理字段值发生变化时引发的其他编辑框事件,比如连动下拉框、从选择值中返回值并赋予其他字段编辑框、其他编辑框的隐藏等。

4.7、表单数据管理:
可根据字段配置信息显示表单的数据列表,并进行管理。

五、数据库设计
1.详见excel表格和pdm模型
六、接口设计
6.1、表单模板
6.1.1、表单管理界面—查询
根据表单ID、表单名称、备注表单名称查询表单数据,如图所示:
6.1.2、表单管理界面—新建
填写主表字段数据:包括字段编码,字段名称,字段类型(选择框,属性,文本长度等),提示信息,校验规则等信息。

1、新建表单页面------------填写表单信息--------创建一条表单form_data记录。

2、编辑表单页面------------可以分别点击新建主表单,新建子表单,此时分别自动在数据库中创建两张表主表master_form和子表sub_form,同时修改表单form_data中两条记录,关联
Master_form和sub_form
其中需要注意提示信息,校验规则
3、布局
A、组件样式表form_element和主表master_form,子表sub_form的关联,数据分别保存到主表master_form和子表sub_form。

4、解析执行器
查询表单form_data和主表master_form,子表sub_form数据,解析成相应的表单模板,进行渲染。

5、填写表单,发起流程同时保存表单数据
保存表单模板数据到mysql的步骤:解析表单模板数据,分别解析成表单,主表,子表数据分别创建建表sql进行存储
1.修改表单数据
2.删除、批量删除表单数据
3.根据ID查询表单数据
4.删除表单、批量删除表单
5.查询表单数据导出
6.表单是否存在(表单唯一校验)
7.表单设计
设计表单是系统中非常重要的一部分,在设置流程前应该先建立好表单(即流程发起时所需要填写的表单)表单的字段名称,字段类型、显示位置的行号/列号等。

采用可视化界面,操作简单易懂,把右侧表单栏目类型拖到左侧,并修改相应的字段属性值。

相关主题