CN118228698A - 动态表单生成方法、装置、设备及存储介质 - Google Patents
动态表单生成方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN118228698A CN118228698A CN202410262336.9A CN202410262336A CN118228698A CN 118228698 A CN118228698 A CN 118228698A CN 202410262336 A CN202410262336 A CN 202410262336A CN 118228698 A CN118228698 A CN 118228698A
- Authority
- CN
- China
- Prior art keywords
- dynamic
- data
- configuration information
- user role
- creation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 56
- 238000012545 processing Methods 0.000 claims abstract description 31
- 238000009877 rendering Methods 0.000 claims abstract description 22
- 238000004458 analytical method Methods 0.000 claims description 21
- 238000012795 verification Methods 0.000 claims description 11
- 230000006870 function Effects 0.000 claims description 9
- 238000007726 management method Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000003058 natural language processing Methods 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 238000013475 authorization Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013075 data extraction Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Abstract
本发明涉及物流数据领域,公开了动态表单生成方法、装置、设备及存储介质,该方法用于根据用户的输入信息快速生成动态表单。该方法包括:收集表单数据,根据收集的表单数据创建表单基础模板;预先设置与用户角色对应的表单操作权限;当收到动态表单创建请求时,获取创建信息,所述创建信息包括用户角色和表单配置信息,并根据所述用户角色获取对应的表单操作权限;对所述表单配置信息进行处理,并将处理后的表单配置信息填充至表单基础模板,得到表单配置数据;根据表单配置数据进行表单渲染,生成动态表单。
Description
技术领域
本发明涉及物流数据技术领域,尤其涉及一种动态表单生成方法、装置、设备及存储介质。
背景技术
目前,在对表单开发的过程中,一般是根据需求方的业务需求开发出对应的表单。然而,相关技术中,所提出的表单的定制性较高,在系统改版或者业务更新的过程中,需要开发人员基于新的业务需求对表单进行重复性开发,并且,在新的业务需求需要在表单嵌套子表单时,改版过程中所需要的开发量尤为大,软件改版所需要的时间较长,软件开发效率较低。为了解决这些问题,可以使用动态表单来灵活设计和显示页面。动态表单的目的是为了根据某一类或相似类型的业务流程灵活设计显示页面,可以灵活配置并扩展业务、避免在系统中硬编码的数据采集及处理表单,提高系统的可维护性。
发明内容
本发明提供了一种动态表单生成方法、装置、设备及存储介质,用于根据用户的输入信息快速生成动态表单。
本发明第一方面提供了一种动态表单生成方法,所述动态表单生成方法包括:收集表单数据,根据收集的表单数据创建表单基础模板;预先设置与用户角色对应的表单操作权限;当收到动态表单创建请求时,获取创建信息,所述创建信息包括用户角色和表单配置信息,并根据所述用户角色获取对应的表单操作权限;对所述表单配置信息进行处理,并将处理后的表单配置信息填充至所述表单基础模板,得到表单配置数据;根据所述表单配置数据进行表单渲染,生成动态表单。
可选的,在本发明第一方面的第一种实现方式中,所述收集表单数据,根据收集的表单数据创建表单基础模板,包括:收集表单数据,根据收集的表单数据确定表单字段;定义每个所述表单字段的类型,并为每个所述表单字段添加预设的验证规则;定义表单的布局结构,并根据所述表单字段和所述表单的布局结构创建表单基础模板。
可选的,在本发明第一方面的第二种实现方式中,所述预先设置与用户角色对应的表单操作权限,包括:确定参与表单处理的用户角色;获取每个所述用户角色对应的表单操作权限;将每个所述用户角色对应的表单操作权限分配给相应的用户角色。
可选的,在本发明第一方面的第三种实现方式中,所述当收到动态表单创建请求时,获取创建信息,所述创建信息包括用户角色和表单配置信息,并根据所述用户角色获取对应的表单操作权限,包括:当收到动态表单创建请求时,获取创建信息,所述创建信息包括用户角色和表单配置信息,并根据所述用户角色获取对应的表单操作权限。
可选的,在本发明第一方面的第四种实现方式中,所述对所述表单配置信息进行处理,并将处理后的表单配置信息填充至所述表单基础模板,得到表单配置数据,包括:将所述表单配置信息转换为数组,得到表单解析数据;从所述表单解析数据中提取表单配置信息的关键字段和关键字段对应的属性;根据提取的关键字段对应的属性将提取的关键字段填充至所述表单基础模板,得到表单配置数据。
可选的,在本发明第一方面的第五种实现方式中,所述根据提取的关键字段对应的属性将提取的关键字段填充至所述表单基础模板,得到表单配置数据,包括:对提取的关键字段进行合法性校验;调用预设的Python函数根据校验后的关键字段和关键字段对应的属性生成表单元素;将生成的表单元素填充至所述表单基础模板,得到表单配置数据。
可选的,在本发明第一方面的第六种实现方式中,所述根据所述表单配置数据进行表单渲染,生成动态表单,包括:从表单配置数据中读取表单结构,并根据读取的表单结构构建表单HTML代码;从表单配置数据读取关键字段和关键字段对应的属性,并将读取的关键字段和关键字段对应的属性填充到表单HTML代码中;创建HTML文件,并将填充后的表单HTML代码添加到HTML文件中,并对填充后的HTML文件应用预设的CSS样式进行美化,生成动态表单。
本发明第二方面提供了一种动态表单生成装置,包括:创建模块,用于收集表单数据,根据收集的表单数据创建表单基础模板;权限设置模块,用于预先设置与用户角色对应的表单操作权限;获取模块,用于在收到动态表单创建请求后,获取创建信息,所述创建信息包括用户角色和表单配置信息,并根据所述用户角色获取对应的表单操作权限;处理模块,用于对所述表单配置信息进行处理,并将处理后的表单配置信息填充至所述表单基础模板,得到表单配置数据;渲染模块,用于根据所述表单配置数据进行表单渲染,生成动态表单。
可选的,在本发明第二方面的第一种实现方式中,所述创建模块包括:收集单元,用于收集表单数据,根据收集的表单数据确定表单字段;添加单元,用于定义每个所述表单字段的类型,并为每个所述表单字段添加预设的验证规则;创建单元,用于定义表单的布局结构,并根据所述表单字段和所述表单的布局结构创建表单基础模板。
可选的,在本发明第二方面的第二种实现方式中,所述权限设置模块包括:确定单元,用于确定参与表单处理的用户角色;第一获取单元,用于获取每个所述用户角色对应的表单操作权限;分配单元,用于将每个所述用户角色对应的表单操作权限分配给相应的用户角色。
可选的,在本发明第二方面的第三种实现方式中,所述获取模块包括:第一解析单元,用于在收到动态表单创建请求后调用预设的解析函数对动态表单创建请求进行解析,得到请求解析数据;第二获取单元,用于使用正则表达式从所述请求解析数据中获取创建信息,所述创建信息包括用户角色和表单配置信息;第三获取单元,用于根据所述用户角色获取对应的表单操作权限。
可选的,在本发明第二方面的第四种实现方式中,所述处理模块包括:第二解析单元,用于将所述表单配置信息转换为数组,得到表单解析数据;提取单元,用于从所述表单解析数据中提取表单配置信息的关键字段和关键字段对应的属性;填充单元,用于根据提取的关键字段对应的属性将提取的关键字段填充至所述表单基础模板,得到表单配置数据。
可选的,在本发明第二方面的第五种实现方式中,所述渲染模块705包括:第一读取单元,用于从表单配置数据中读取表单结构,并根据读取的表单结构构建表单HTML代码;第二读取单元,用于从表单配置数据读取关键字段和关键字段对应的属性,并将读取的关键字段和关键字段对应的属性填充到表单HTML代码中;渲染单元,用于创建HTML文件,并将填充后的表单HTML代码添加到HTML文件中,并对填充后的HTML文件应用预设的CSS样式进行美化,生成动态表单。
本发明第三方面提供了一种动态表单生成设备,包括:存储器和至少一个处理器,所述存储器中存储有计算机可读指令,所述存储器和所述至少一个处理器通过线路互连;所述至少一个处理器调用所述存储器中的所述计算机可读指令,以使得所述动态表单生成设备执行如上所述动态表单生成方法的各个步骤。
本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可读指令,当其在计算机上运行时,使得计算机执行如上所述动态表单生成方法的各个步骤。
本发明提供的技术方案中,在收到动态表单创建请求后,根据用户角色给用户提供对应的表单操作权限,并获取用户输入的表单配置信息,对表单配置信息进行处理,并将处理后的表单配置信息填充至表单基础模板,得到表单配置数据,最后根据表单配置数据进行表单渲染,生成动态表单,根据用户角色设置表单操作权限,并根据用户输入的表单配置信息快速生成动态表单,简化了表单创建和配置的流程,而且,根据用户角色和需求的不同,可以为不同用户提供个性化的表单操作权限和配置选项,满足各种用户的特定需求,此外,根据用户角色给予对应的表单操作权限,可以避免用户填写无关或不正确的表单字段,提高了数据的准确性和完整性。
附图说明
图1为本发明实施例提供的动态表单生成方法的第一种流程图;
图2为本发明实施例提供的动态表单生成方法的第二种流程图;
图3为本发明实施例提供的动态表单生成方法的第三种流程图;
图4为本发明实施例提供的动态表单生成方法的第四种流程图;
图5为本发明实施例提供的动态表单生成方法的第五种流程图;
图6为本发明实施例提供的动态表单生成方法的第六种流程图;
图7为本发明实施例提供的动态表单生成装置的结构示意图;
图8为本发明实施例提供的动态表单生成设备的结构示意图。
具体实施方式
本发明实施例提供了动态表单生成方法、装置、设备及存储介质,该方法用于根据用户的输入信息快速生成动态表单。该方法包括:收集表单数据,根据收集的表单数据创建表单基础模板;预先设置与用户角色对应的表单操作权限;当收到动态表单创建请求时,获取创建信息,所述创建信息包括用户角色和表单配置信息,并根据所述用户角色获取对应的表单操作权限;对所述表单配置信息进行处理,并将处理后的表单配置信息填充至所述表单基础模板,得到表单配置数据;根据所述表单配置数据进行表单渲染,生成动态表单。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中一种动态表单生成方法的第一个实施例包括:
S101、收集表单数据,根据收集的表单数据创建表单基础模板。
可以理解地,本发明的执行主体可以为动态表单生成装置,还可以是终端或者服务器,具体此处不做限定。本发明实施例以服务器为执行主体为例进行说明。
在本实施例中,可以事先通过问卷、表单、360度环评等收集与表单相关的信息。在收集表单数据时,再获取与表单相关信息,通过自然语言技术分析处理,整理出表单数据。
具体地,通过自然语言技术分析处理包括但不限于以下方面:
第一,将文本分成独立的词语。
第二,去除停用词,停用词是指在文本中频繁出现但没有实际意义的词语,比如“的”、“了”、“是”等。去除停用词可以减少干扰,提高后续处理的效率和准确性。
第三,对每个词语进行词性标记,例如名词、动词、形容词等。
第四,识别文本中的具有特定意义的实体,例如人名、地名、组织机构名等。
第五,分析句子的语法结构,例如主语、谓语、宾语等。
第六,对文本进行聚类或分类,发现文本中的主题或子话题。
S102、预先设置与用户角色对应的表单操作权限。
在本实施例中,需要明确定义系统中的不同用户角色,例如管理员、普通用户、编辑等,以及每种用户角色所拥有的表单操作权限,例如查看表单、编辑表单、删除表单等。
在本实施例中,管理员拥有对所有表单的完全权限,包括创建、编辑和删除表单,以及查看和审核其他用户提交的表单数据。普通用户可能只能对特定表单进行部分操作,例如填写和提交表单,但无法创建或修改表单结构。
在本实施例中,根据具体情况,可以为不同的用户角色定义特定的表单操作权限,例如特定部门的用户可以管理该部门的表单,而跨部门的用户只能查看相关表单信息。
S103、当收到动态表单创建请求时,获取创建信息,所述创建信息包括用户角色和表单配置信息,并根据所述用户角色获取对应的表单操作权限。
在本实施例中,根据用户角色获取对应的表单操作权限,比如,在显示表单时,根据用户角色决定是否显示编辑、删除等操作按钮;在提交表单时,根据用户角色判断是否具有提交表单的权限。
在本实施例中,预先设置与用户角色对应的表单操作权限后可以形成关于用户角色与表单操作权限的关联关系表,并存储在系统中,根据用户角色获取对应的表单操作权限时,可以通过查询关于用户角色与表单操作权限的关联关系表即可获取与用户角色对应的表单操作权限。
S104、对所述表单配置信息进行处理,并将处理后的表单配置信息填充至表单基础模板,得到表单配置数据。
在本实施例中,对所述表单配置信息进行处理,可以为将表单配置信息转换为一个字典对象,其中每个键值对对应一个表单字段的名称和属性。
在本实施例中,将处理后的表单配置信息填充至表单基础模板可以动态地填充表单模板中的各个字段,例如添加新的表单元素,设置表单元素的属性等。同时,您还可以根据不同的表单类型和验证规则,对表单模板进行进一步的自定义处理。
在本实施例中,将填充后的表单模板保存为一个文件或者字符串,并将其作为表单配置数据。
S105、根据表单配置数据进行表单渲染,生成动态表单。
在本实施例中,可以使用JavaScript框架(如React、Vue.js等)或纯粹的JavaScript来根据表单配置数据进行表单渲染。
在本实施例中,还可以采用表单设计器根据表单配置数据进行表单渲染,生成动态表单。在表单设计器中,可以预先设置文本框、下拉框、复选框等不同类型的表单字段,并定义它们的显示方式和验证规则。采用表单设计器根据表单配置数据进行表单渲染时,根据收集到的表单配置信息,添加表单元素并配置其属性,通过表单设计器提供的功能,将配置好的表单元素组合在一起。
本实施例提供的是一种动态表单生成方法,其在收到动态表单创建请求后,根据用户角色给用户提供对应的表单操作权限,并获取用户输入的表单配置信息,对表单配置信息进行处理,并将处理后的表单配置信息填充至表单基础模板,得到表单配置数据,最后根据表单配置数据进行表单渲染,生成动态表单,根据用户角色设置表单操作权限,并根据用户输入的表单配置信息快速生成动态表单,简化了表单创建和配置的流程,而且,根据用户角色和需求的不同,可以为不同用户提供个性化的表单操作权限和配置选项,满足各种用户的特定需求,此外,根据用户角色给予对应的表单操作权限,可以避免用户填写无关或不正确的表单字段,提高了数据的准确性和完整性。
请参阅图2,本发明实施例中动态表单生成方法的第二个实施例包括:
S201、收集表单数据,根据收集的表单数据确定表单字段。
在本实施例中,对于收集到的表单数据进行整理,并使用自然语言处理工具或算法,如TF-IDF(词频-逆文档频率)、TextRank等提取关键信息,再根据提取的关键信息确定表单字段。
在本实施例中,也可以使用主题建模技术,如Latent Dirichlet Allocation(LDA),从文本中识别主题并提取包含关键信息的内容,或者训练机器学习模型来识别并提取文本中的关键信息,例如使用支持向量机(SVM)或深度学习模型。
S202、定义每个表单字段的类型,并为每个表单字段添加预设的验证规则。
在本实施例中,定义每个表单字段的类型,例如文本框、下拉框、日期选择器等,并确定每个字段的名称和标签。
在本实施例中,为每个字段添加适当的验证规则,以确保用户输入的数据符合预期格式和范围。例如,对于邮箱地址字段,可以添加电子邮件格式验证规则。
S203、定义表单的布局结构,并根据表单字段和表单的布局结构创建表单基础模板。
在本实施例中,表单的布局结构包括字段的排列方式、分组方式以及整体风格。在定义好表单的布局结构后,创建表单基础模板,根据确定的表单字段和其类型,将各表单字段逐一分配到创建表单基础模板的合适位置,再在创建表单基础模板中添加各种表单元素,如文本框、下拉框、单选框、复选框等,根据需要设置默认值、占位符等属性。
本实施例中,收集的表单数据定义每个表单字段的类型,并根据表单字段和表单的布局结构创建表单基础模板,能够适应不同的业务需求和变化,提高了灵活性。
请参阅图3,本发明实施例中的一种动态表单生成方法的第三个实施例包括:
S301、确定参与表单处理的用户角色;
在本实施例中,参与表单处理的用户角色包括管理员、普通用户、审批者、数据管理员和超级用户。
S302、获取每个用户角色对应的表单操作权限。
在本实施例中,管理员拥有对所有表单的完全访问权限,并且可以管理其他用户的权限和表单配置。例如,管理员的表单操作权限包括查看、编辑、删除所有类型的表单数据、创建新的表单并配置表单字段和分配审批者和其他相关角色。
普通用户的表单操作权限包括填写和提交特定类型的表单、查看自己提交的表单数据和有限制的数据导出或打印权限。
审批者具有审批权限的用户,可以对提交的表单进行审批或审核操作。审批者的表单操作权限包括审批或拒绝提交的表单和查看审批历史和相关报表。
数据管理员负责数据管理和报表生成的角色。数据管理员的表单操作权限包括导出表单数据并生成报表以及管理数据有效性和完整性。
超级用户拥有比普通用户更高级别权限的特殊用户角色,需要针对其特殊权限设置相关的表单处理权限。
在本实施例中,在获取每个用户角色对应的表单操作权限后,形成关于用户角色和表单操作权限的映射表。
S303、将每个用户角色对应的表单操作权限分配给相应的用户角色。
在本实施例中,根据映射表将每个用户角色对应的表单操作权限分配给相应的用户角色。假设使用Django框架进行权限管理,则先使用django.contrib.auth.models模块中的Group类来创建用户角色组,再通过django.contrib.auth.models模块中的Permission类来创建表单操作权限,最后用Django的管理界面或编写脚本来将权限分配给角色组,确保每个角色组被赋予其对应的表单操作权限。
本实施例中,过将表单操作权限与特定用户角色关联,可以实现对表单处理的精细化权限控制,而且,将表单操作权限与用户角色相关联可以简化管理流程,减少了在细粒度权限管理上的工作量,提高了运营效率。
请参阅图4,本发明实施例中的一种动态表单生成方法的第四个实施例包括:
S401、当收到动态表单创建请求时,调用预设的解析函数对动态表单创建请求进行解析,得到请求解析数据。
在本实施例中,使用Python中的urllib.parse模块解析URL查询字符串中的数据。当收到动态表单创建请求时,调用名为parse_create_request的预设解析函数来解析动态表单创建请求。
S402、使用正则表达式从请求解析数据中获取创建信息,所述创建信息包括用户角色和表单配置信息。
在本实施例中,用户角色可以通过已有的身份验证和授权系统进行确认。例如通过用户名和密码、多因素认证等验证用户身份信息。成功验证后,即可获取到用户的身份信息,根据用户的身份信息就可以确认用户对应的用户角色。
在本实施例中,可以使用Python、JavaScript中的正则表达式库来匹配请求解析数据并提取用户角色和表单配置信息。
S403、根据所述用户角色获取对应的表单操作权限。
在本实施例中,在确定用户角色后,根据用户角色给用户提供细粒度的表单操作权限,以确保用户只能执行其所拥有的操作权限,同时阻止未被授权的操作。
在本实施例中,根据用户的角色,系统需要进行访问控制,确保用户只能执行其角色所允许的操作。这可能涉及到前端界面的显示与隐藏,以及后端接口的访问控制。
本实施例中,根据用户角色给予不同的表单操作权限,能够为用户提供个性化的使用体验,确保用户在表单操作过程中能够得到符合其身份和职责的权限控制。
请参阅图5,本发明实施例中的一种动态表单生成方法的第五个实施例包括:
S501、将所述表单配置信息转换为数组,得到表单解析数据。
在本实施例中,可以使用内置的解析器将所述表单配置信息转换为数组。将所述表单配置信息转换为数组前,先确认获取的表单配置信息的数据格式,例如JSON、XML或其他结构化格式。再根据对应的数据格式使用对应的解析器进行转换。例如在Python中可以使用json模块来解析JSON数据,xml.etree.ElementTree模块来解析XML数据。最后调用解析器的相应方法,将所述表单配置信息转换为数组形式。例如,对于JSON数据,可以使用json.loads()方法将JSON字符串转换为Python中的字典或列表。
S502、从表单解析数据中提取表单配置信息的关键字段和关键字段对应的属性。
在本实施例中,遍历解析数据,在遍历过程中,针对每个表单配置信息,使用自然语言处理工具或算法,如TF-IDF(词频-逆文档频率)、TextRank等提取关键字段和对应的属性。
S503、根据提取的关键字段对应的属性将提取的关键字段填充至表单基础模板,得到表单配置数据。
在本实施例中,表单基础模板为HTML模板。
在本实施例中,根据提取的关键字段对应的属性将提取的关键字段填充至表单基础模板,得到表单配置数据,包括:对提取的关键字段进行合法性校验;调用预设的Python函数根据校验后的关键字段和关键字段对应的属性生成表单元素;将生成的表单元素填充至表单基础模板,得到表单配置数据。
在本实施例中,对提取的关键字段进行合法性校验包括数据类型的校验和安全性校验。
数据类型的校验指的是根据关键字段的属性,对用户输入的数据进行数据类型的校验,例如对于邮件地址字段,可以使用正则表达式来验证是否符合邮件格式。
合法性校验指的是对提取的关键字段进行安全性校验。
在本实施例中,表单配置数据可以是HTML代码、JSON格式或其他形式。
本实施例中,通过使用内置的解析器将所述表单配置信息转换为数组,能够实现对配置信息的结构化处理,便于后续的数据提取和处理,从解析数据中提取表单配置信息的关键字段和对应属性,有助于筛选出重要的配置信息,确保填充至表单基础模板的数据完整性和准确性,而且,根据提取的关键字段对应的属性,将提取的关键字段填充至表单基础模板,能够实现自动化填充表单配置信息的操作,提高工作效率。
请参阅图6,本发明实施例中的一种动态表单生成方法的第六个实施例包括:
S601、从表单配置数据中读取表单结构,并根据读取的表单结构构建表单HTML代码。
在本实施例中,从表单配置数据中读取表单的结构信息,包括表单的标题、布局、以及包含的字段或控件类型(如文本框、下拉菜单等)。然后,根据所读取的表单结构信息,动态构建表单HTML代码,包括<form>标签和其他必要的HTML元素,以初始化表单的外观和布局。
S602、从表单配置数据读取关键字段和关键字段对应的属性,并将读取的关键字段和关键字段对应的属性填充到表单HTML代码中。
在本实施例中,从表单配置数据源中读取各个字段的名称、类型、默认值、验证规则等属性信息。随后,根据读取的字段和属性信息,动态生成相应的HTML表单元素,例如文本框、下拉菜单、复选框等,并将它们插入到之前构建的表单HTML代码中,以完善表单的内容部分。
S603、创建HTML文件,并将填充后的表单HTML代码添加到HTML文件中,并对填充后的HTML文件应用预设的CSS样式进行美化,生成动态表单。
在本实施例中,使用编程语言(如Python、JavaScript)创建HTML文件,并将填充后的表单HTML代码添加到HTML文件中,形成完整的表单页面。再对填充后的HTML文件应用预设的CSS样式进行美化,生成动态表单。
本实施例中,从表单配置数据中读取表单结构、字段和属性,并将读取的表单结构、字段和属性填充到表单HTML代码中,并将填充后的表单HTML代码添加到HTML文件中,并对HTML文件应用CSS样式进行美化,生成动态表单,能够根据不同的表单配置数据动态生成不同结构和字段的表单,可以根据不同需求轻松调整表单结构和字段属性,实现灵活性配置,从而满足各种不同的业务需求。
上面对本发明实施例中动态表单生成方法进行了描述,下面对本发明实施例中装置进行描述,请参阅图7,本发明实施例中动态表单生成装置的实施方式包括:
创建模块701,用于收集表单数据,根据收集的表单数据创建表单基础模板;
权限设置模块702,用于预先设置与用户角色对应的表单操作权限;
获取模块703,用于在收到动态表单创建请求后,获取创建信息,所述创建信息包括用户角色和表单配置信息,并根据所述用户角色获取对应的表单操作权限;
处理模块704,用于对所述表单配置信息进行处理,并将处理后的表单配置信息填充至所述表单基础模板,得到表单配置数据;
渲染模块705,用于根据所述表单配置数据进行表单渲染,生成动态表单。
在本实施例中,创建模块701包括:收集单元7011,用于收集表单数据,根据收集的表单数据确定表单字段;添加单元7012,用于定义每个所述表单字段的类型,并为每个所述表单字段添加预设的验证规则;创建单元7013,用于定义表单的布局结构,并根据所述表单字段和所述表单的布局结构创建表单基础模板。
在本实施例中,权限设置模块702包括:确定单元7021,用于确定参与表单处理的用户角色;第一获取单元7022,用于获取每个所述用户角色对应的表单操作权限;分配单元7023,用于将每个所述用户角色对应的表单操作权限分配给相应的用户角色。
在本实施例中,获取模块703包括:第一解析单元7031,用于在收到动态表单创建请求后调用预设的解析函数对动态表单创建请求进行解析,得到请求解析数据;第二获取单元7032,用于使用正则表达式从所述请求解析数据中获取创建信息,所述创建信息包括用户角色和表单配置信息;第三获取单元7033,用于根据所述用户角色获取对应的表单操作权限。
在本实施例中,处理模块704包括:第二解析单元7041,用于将所述表单配置信息转换为数组,得到表单解析数据;提取单元7042,用于从所述表单解析数据中提取表单配置信息的关键字段和关键字段对应的属性;填充单元7043,用于根据提取的关键字段对应的属性将提取的关键字段填充至所述表单基础模板,得到表单配置数据。
在本实施例中,渲染模块705包括:第一读取单元7051,用于从表单配置数据中读取表单结构,并根据读取的表单结构构建表单HTML代码;第二读取单元7052,用于从表单配置数据读取关键字段和关键字段对应的属性,并将读取的关键字段和关键字段对应的属性填充到表单HTML代码中;渲染单元7053,用于创建HTML文件,并将填充后的表单HTML代码添加到HTML文件中,并对填充后的HTML文件应用预设的CSS样式进行美化,生成动态表单。
本实施例中,在收到动态表单创建请求后,根据用户角色给用户提供对应的表单操作权限,并获取用户输入的表单配置信息,对表单配置信息进行处理,并将处理后的表单配置信息填充至表单基础模板,得到表单配置数据,最后根据表单配置数据进行表单渲染,生成动态表单,根据用户角色设置表单操作权限,并根据用户输入的表单配置信息快速生成动态表单,简化了表单创建和配置的流程,而且,根据用户角色和需求的不同,可以为不同用户提供个性化的表单操作权限和配置选项,满足各种用户的特定需求,此外,根据用户角色给予对应的表单操作权限,可以避免用户填写无关或不正确的表单字段,提高了数据的准确性和完整性。
上面图7从模块化功能实体的角度对本发明实施例中的动态表单生成装置进行详细描述,下面从硬件处理的角度对本发明实施例中动态表单生成设备进行详细描述。
图8是本发明实施例提供的一种动态表单生成设备的结构示意图,该设备800可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessing units,CPU)810(例如,一个或一个以上处理器)和存储器820,一个或一个以上存储应用程序833或数据832的存储介质830(例如一个或一个以上海量存储设备)。其中,存储器820和存储介质830可以是短暂存储或持久存储。存储在存储介质830的程序可以包括一个或一个以上模块(图未示),每个模块可以包括对设备800中的一系列指令操作。更进一步地,处理器810可以设置为与存储介质830通信,在设备800上执行存储介质中的一系列指令操作。
设备800还可以包括一个或一个以上电源840,一个或一个以上有线或无线网络接口850,一个或一个以上输入输出接口860,和/或,一个或一个以上操作系统831,例如Windows Serve,Mac OS X,Unix,Linux,FreeBSD等等。
本发明实施例还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,计算机可读存储介质中存储有指令,当指令在计算机上运行时,使得计算机执行动态表单生成方法的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统或装置、单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种动态表单生成方法,其特征在于,所述动态表单生成方法包括:
收集表单数据,根据收集的表单数据创建表单基础模板;
预先设置与用户角色对应的表单操作权限;
当收到动态表单创建请求时,获取创建信息,所述创建信息包括用户角色和表单配置信息,并根据所述用户角色获取对应的表单操作权限;
对所述表单配置信息进行处理,并将处理后的表单配置信息填充至所述表单基础模板,得到表单配置数据;
根据所述表单配置数据进行表单渲染,生成动态表单。
2.根据权利要求1所述的动态表单生成方法,其特征在于,所述收集表单数据,根据收集的表单数据创建表单基础模板,包括:
收集表单数据,根据收集的表单数据确定表单字段;
定义每个所述表单字段的类型,并为每个所述表单字段添加预设的验证规则;
定义表单的布局结构,并根据所述表单字段和所述表单的布局结构创建表单基础模板。
3.根据权利要求1所述的动态表单生成方法,其特征在于,所述预先设置与用户角色对应的表单操作权限,包括:
确定参与表单处理的用户角色;
获取每个所述用户角色对应的表单操作权限;
将每个所述用户角色对应的表单操作权限分配给相应的用户角色。
4.根据权利要求1所述的动态表单生成方法,其特征在于,所述当收到动态表单创建请求时,获取创建信息,所述创建信息包括用户角色和表单配置信息,并根据所述用户角色获取对应的表单操作权限,包括:
当收到动态表单创建请求时,调用预设的解析函数对动态表单创建请求进行解析,得到请求解析数据;
使用正则表达式从所述请求解析数据中获取创建信息,所述创建信息包括用户角色和表单配置信息;
根据所述用户角色获取对应的表单操作权限。
5.根据权利要求1所述的动态表单生成方法,其特征在于,所述对所述表单配置信息进行处理,并将处理后的表单配置信息填充至所述表单基础模板,得到表单配置数据,包括:
将所述表单配置信息转换为数组,得到表单解析数据;
从所述表单解析数据中提取表单配置信息的关键字段和关键字段对应的属性;
根据提取的关键字段对应的属性将提取的关键字段填充至所述表单基础模板,得到表单配置数据。
6.根据权利要求5所述的动态表单生成方法,其特征在于,所述根据提取的关键字段对应的属性将提取的关键字段填充至所述表单基础模板,得到表单配置数据,包括:
对提取的关键字段进行合法性校验;
调用预设的Python函数根据校验后的关键字段和关键字段对应的属性生成表单元素;
将生成的表单元素填充至所述表单基础模板,得到表单配置数据。
7.根据权利要求1所述的动态表单生成方法,其特征在于,所述根据所述表单配置数据进行表单渲染,生成动态表单,包括:
从表单配置数据中读取表单结构,并根据读取的表单结构构建表单HTML代码;
从表单配置数据读取关键字段和关键字段对应的属性,并将读取的关键字段和关键字段对应的属性填充到表单HTML代码中;
创建HTML文件,并将填充后的表单HTML代码添加到HTML文件中,并对填充后的HTML文件应用预设的CSS样式进行美化,生成动态表单。
8.一种动态表单生成装置,其特征在于,包括:
创建模块,用于收集表单数据,根据收集的表单数据创建表单基础模板;
权限设置模块,用于预先设置与用户角色对应的表单操作权限;
获取模块,用于在收到动态表单创建请求后,获取创建信息,所述创建信息包括用户角色和表单配置信息,并根据所述用户角色获取对应的表单操作权限;
处理模块,用于对所述表单配置信息进行处理,并将处理后的表单配置信息填充至所述表单基础模板,得到表单配置数据;
渲染模块,用于根据所述表单配置数据进行表单渲染,生成动态表单。
9.一种动态表单生成设备,其特征在于,包括存储器和至少一个处理器,所述存储器中存储有计算机可读指令;
所述至少一个处理器调用所述存储器中的所述计算机可读指令,以执行如权利要求1-7中任一项所述动态表单生成方法的各个步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机可读指令,其特征在于,所述计算机可读指令被处理器执行时实现如权利要求1-7中任一项所述动态表单生成方法的各个步骤。
Publications (1)
Publication Number | Publication Date |
---|---|
CN118228698A true CN118228698A (zh) | 2024-06-21 |
Family
ID=
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11210456B2 (en) | Method relating to preparation of a report | |
CN111417950B (zh) | 用于提供自动文档填写功能的系统和方法 | |
AU2021212135B2 (en) | Building and managing data-processing attributes for modelled data sources | |
CN108292231B (zh) | 从数据生成应用的方法和系统 | |
CN110088749B (zh) | 自动本体生成的方法、系统和介质 | |
US9613115B2 (en) | Generating programs based on input-output examples using converter modules | |
CN106155686A (zh) | 界面生成方法、装置和系统 | |
CN101583938A (zh) | 用于万维网络社区和万维网络应用的转换数据的系统和方法 | |
US10817662B2 (en) | Expert system for automation, data collection, validation and managed storage without programming and without deployment | |
US10885087B2 (en) | Cognitive automation tool | |
CN111512315A (zh) | 文档元数据的按块提取 | |
CN111427577A (zh) | 代码处理方法、装置及服务器 | |
KR100762712B1 (ko) | 규칙기반의 전자문서 변환방법 및 그 시스템 | |
CN111126008A (zh) | 基于xsd的代码生成方法、装置、计算机设备及存储介质 | |
CN118228698A (zh) | 动态表单生成方法、装置、设备及存储介质 | |
CN110928540A (zh) | 一种页面生成方法及装置 | |
CN114564931A (zh) | 基于tinymce的电子证明文件生成方法及系统 | |
CN110716994B (zh) | 一种支持异构地理数据资源检索的检索方法及装置 | |
CN114386374A (zh) | 一种将CA签名用于数据整合生成odf文档的方法及其程序 | |
Ivkovic et al. | Using formal concept analysis to establish model dependencies | |
CN114581033B (zh) | 政务审批业务快速开发方法和装置及设备 | |
CN117891531B (zh) | 用于saas软件的系统参数配置方法、系统、介质及电子设备 | |
CN113377367B (zh) | 数据收集方法、装置、计算机设备和存储介质 | |
JP5156491B2 (ja) | 情報処理装置、情報処理方法、およびプログラム | |
CN114020722A (zh) | 整定单的管理方法、装置、电子设备及计算机存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication |