ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

企业级自定义表单引擎解决方案(十三)--表单模板1

2022-07-09 17:32:40  阅读:154  来源: 互联网

标签:自定义 数据库 视图 企业级 表单 Id 模板


.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 )

标签:自定义,数据库,视图,企业级,表单,Id,模板
来源: https://www.cnblogs.com/spritekuang/p/16461431.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有