企业级自定义表单引擎解决方案(十三)--表单模板1
.net core研发的自定义表单引擎,采用强大的规则引擎将所有的业务串联起来的,和其他低代码平台是有本质的区别的,目标是完全解放繁琐的CRUD工作。
常规的业务,在需求以及数据库设计完成之后,可能就仅仅在界面上几分钟的配置就能够完成所有的开发、测试、部署工作,完全解放繁琐的CRUD工作。
表单模板能够快速创建常规的业务模块,系统尽量将常规的业务功能做成模板,方便快速的创建业务模块功能,选择一个模板之后,会将模板对应的表单、子表单、子视图、控件等所有自定义表单相关的定义全部自动创建出来。
模板一:单表模板(ListFormSimple_ts)
最常见的业务,即对数据库单张表的管理,包括一个表格和编辑对话框。
示例为演示创建一个常见的用户管理,单表数据。
示例演示
三步创建一个单表应用模块
-
步骤一,新建对象
新建对象的同时,会根据界面上的配置,生成对应的数据库表以及相应的字段,系统根据界面上的配置,动态拼接创建数据库的Sql语句,执行Sql代码,创建数据库物理表,具体逻辑可以查看对应的源码。
特殊字段说明:
用户名必填
登录名必填且唯一
工号为自动生成的流程号,前缀为Sprite,流水8位,采用Redis管理自增
性别、职务、职称为数据字典
电话和邮箱为自定义验证
联系地址为Text多行文本
-
步骤二,快速创建表单
快速创建表单大致逻辑: 将模块里面的表单、视图、规则等所有配置数据从数据库里面查询到内存中,将列表视图里面的列、查询、导入导出Excel配置以及编辑视图里面的行、列数据全部删除,将数据库里的所有数据的Id提取出来,并构造出IdMap数据字典,字典Key为原Id,Value为新生成的Id(所有数据都包含主键,且主键类型为Guid),按照配置,根据新的对象的字段类型生成列表视图里面的列、导入导出Excle以及编辑视图里的行、列数据,其他数据全部保留,用新的Id替换原始Id值,再一起保存到数据库,同时刷新缓存,这样,一个新的业务表单就完成了。具体逻辑可查询开源的源码。
表单字段说明:
- 表单模板选择
选择特定的模板,这里选择ListFormSimple_ts,即包含一个表格和编辑对话框管理单表,表格包含新增、编辑、删除、批量删除、导入导出Excel、分页、排序、查询、高级查询等基础功能,编辑表单包含字段各种验证、默认控件渲染等。
- 对象Map
模板其实也是一个自定义表单功能模块,对象Map即用新的对象替换模板中使用对象的地方,值为:Simple_ts:User_b
- 描述Map
替换弹窗等,界面显示的字段,值为:单表_模板:用户管理
- 业务分类
业务分类方便管理,值为:用户部门
- Item表单行
定义编辑视图生成多少列,默认为2列,这里定义显示3列,值为:User_b:3
-
步骤三,配置菜单
将最外层表单Id值拷贝过来,填写对应的字段即可。
如此三步骤,就完成了一个常规的业务功能模块,不需要任何开发工作,完全解放CRUD工作。
目前已经开发了10个左右常规模板,后续还会陆续增加其他模板,后续再写文章介绍其他模板。
wike文档地址:https://gitee.com/kuangqifu/sprite/wikis/pages
开源地址:https://gitee.com/kuangqifu/sprite
体验地址:http://47.108.141.193:8031 (首次加载可能有点慢,用的阿里云最差的服务器)
自定义表单文章地址:https://www.cnblogs.com/spritekuang/
流程引擎文章地址:https://www.cnblogs.com/spritekuang/category/834975.html (采用WWF开发,已过时,已改用Elsa实现,https://www.cnblogs.com/spritekuang/p/14970992.html )
posted on 2022-07-09 17:22 spritekuang 阅读(1432) 评论(6) 编辑 收藏 举报