CN117540712A - 表单的创建方法、装置、设备及存储介质 - Google Patents

表单的创建方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN117540712A
CN117540712A CN202311472745.3A CN202311472745A CN117540712A CN 117540712 A CN117540712 A CN 117540712A CN 202311472745 A CN202311472745 A CN 202311472745A CN 117540712 A CN117540712 A CN 117540712A
Authority
CN
China
Prior art keywords
target
data
field
cell
attribute
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
Application number
CN202311472745.3A
Other languages
English (en)
Inventor
汪杨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xiaohongshu Technology Co ltd
Original Assignee
Xiaohongshu Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xiaohongshu Technology Co ltd filed Critical Xiaohongshu Technology Co ltd
Priority to CN202311472745.3A priority Critical patent/CN117540712A/zh
Publication of CN117540712A publication Critical patent/CN117540712A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/174Form filling; Merging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/177Editing, e.g. inserting or deleting of tables; using ruled lines
    • G06F40/18Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请实施例公开了表单的创建方法、装置、设备及存储介质。该方法包括:在检测到表单创建对象的建表操作之后,生成目标表单的至少一个配置字段;基于至少一个配置字段,以及至少一个配置字段的结构关系,获取目标表单的表头数据,表头数据包括各个配置字段表征的属性以及结构描述信息,结构描述信息用于描述各个配置字段表征的属性的结构关系;基于各个配置字段表征的属性以及结构描述信息,创建目标表单,目标表单包括至少一行显示区域或者至少一列显示区域,以及表头,表头包括各个配置字段表征的属性,各行显示区域或者各列显示区域包括至少一个单元格。采用本申请实施例能够方便快捷地创建表单,从而提高表单的创建效率。

Description

表单的创建方法、装置、设备及存储介质
技术领域
本申请涉及计算机应用技术领域,尤其涉及表单的创建方法、装置、设备及存储介质。
背景技术
表单在网页中主要负责数据采集功能。一个表单有三个基本组成部分:表单标签、表单域、表单按钮。表单标签:这里面包含了处理表单数据所用公共网关接口(CommonGateway Interface,CGI)程序的统一资源定位系统(uniform resource locator,URL)以及数据提交到服务器的方法。表单域:包含了文本框、密码框、隐藏域、多行文本框、复选框、单选框、下拉选择框和文件上传框等。表单按钮:包括提交按钮、复位按钮和一般按钮;用于将数据传送到服务器上的CGI脚本或者取消输入,还可以用表单按钮来控制其他定义了处理脚本的处理工作。
传统的表单的创建过程为:依次点击表单->组件->资源位->数据集等菜单执行操作,彼此之间交互割裂,创建流程繁琐且复杂,导致表单的创建效率较低。
发明内容
本申请实施例提供了表单的创建方法、装置、设备及存储介质,能够方便快捷地创建表单,从而提高表单的创建效率。
一方面,本申请实施例提供一种表单的创建方法,该方法包括:
在检测到表单创建对象的建表操作之后,生成目标表单的至少一个配置字段;其中,一个配置字段用于表征一个属性;
基于所述至少一个配置字段,以及所述至少一个配置字段的结构关系,获取所述目标表单的表头数据;其中,所述表头数据包括各个配置字段表征的属性,以及结构描述信息,所述结构描述信息用于描述所述各个配置字段表征的属性的结构关系;
基于所述各个配置字段表征的属性,以及所述结构描述信息,创建所述目标表单;其中,所述目标表单包括至少一行显示区域或者至少一列显示区域,以及表头,所述表头包括所述各个配置字段表征的属性,各行显示区域或者各列显示区域包括至少一个单元格,任一单元格用于填充所述任一单元格对应的属性的属性数据。
在一个实施例中,所述基于所述各个配置字段表征的属性,以及所述结构描述信息,创建所述目标表单,包括:
从数据库中查找所述目标表单的表单内容数据;其中,所述表单内容数据指的是:上一次创建的所述目标表单的表单内容数据,所述表单内容数据包括上一次创建的所述目标表单的表头数据以及至少一个单元格所填充的属性数据;
基于所述各个配置字段表征的属性,所述结构描述信息以及所述表单内容数据,创建所述目标表单。
在一个实施例中,所述方法还包括:
显示所述目标表单;
在检测到表单填写对象对所述目标表单的编辑操作之后,对所述目标表单进行更新,得到更新后的目标表单;
显示所述更新后的目标表单。
在一个实施例中,所述方法还包括:
获取所述更新后的目标表单中各个单元格所填充的属性数据;
基于获取到的属性数据,生成所述目标表单的表单内容数据;其中,所述表单内容数据包括所述获取到的属性数据,以及用于填充所述获取到的属性数据的单元格标识;
将所述目标表单的表单内容数据存储至数据库中。
在一个实施例中,所述在检测到表单填写对象对所述目标表单的编辑操作之后,对所述目标表单进行更新,得到更新后的目标表单,包括:
在检测到所述表单填写对象对所述目标表单的填写操作之后,获取所述表单填写对象操作的目标单元格,以及所述表单填写对象提交的属性数据;
将所述属性数据填充至所述目标单元格中,以对所述目标表单进行更新,得到所述更新后的目标表单。
在一个实施例中,所述在检测到表单填写对象对所述目标表单的编辑操作之后,对所述目标表单进行更新,得到更新后的目标表单,包括:
在检测到所述表单填写对象对所述目标表单中的任一单元格的控制操作之后,确定与所述任一单元格的关联单元格;其中,所述关联单元格所对应属性为所述任一单元格所对应属性的子孙节点;
对所述任一单元格以及所述任一单元格的关联单元格进行控制,以对所述目标表单进行更新,得到所述更新后的目标表单。
在一个实施例中,所述在检测到表单创建对象的建表操作之后,生成目标表单的至少一个配置字段,包括:
显示表单配置界面;其中,所述表单配置界面包括至少一个字段控件;
在检测到所述表单创建对象对所述至少一个字段控件的点击操作之后,确定所述表单创建对象所点击的各个字段控件;
基于所述确定的各个字段控件所指示的字段信息,生成所述目标表单的至少一个配置字段。
另一方面,本申请实施例提供了一种表单的创建装置,该表单的创建装置包括:
字段生成单元,用于在检测到表单创建对象的建表操作之后,生成目标表单的至少一个配置字段;其中,一个配置字段用于表征一个属性;
数据获取单元,用于基于所述至少一个配置字段,以及所述至少一个配置字段的结构关系,获取所述目标表单的表头数据;其中,所述表头数据包括各个配置字段表征的属性,以及结构描述信息,所述结构描述信息用于描述所述各个配置字段表征的属性的结构关系;
表单创建单元,用于基于所述各个配置字段表征的属性,以及所述结构描述信息,创建所述目标表单;其中,所述目标表单包括至少一行显示区域或者至少一列显示区域,以及表头,所述表头包括所述各个配置字段表征的属性,各行显示区域或者各列显示区域包括至少一个单元格,任一单元格用于填充所述任一单元格对应的属性的属性数据。
另一方面,本申请实施例提供一种电子设备,包括处理器、存储装置和通信接口,处理器、存储装置和通信接口相互连接,其中,存储装置用于存储支持计算机设备执行上述方法的计算机程序,计算机程序包括程序指令,处理器被配置用于调用程序指令,执行如下步骤:
在检测到表单创建对象的建表操作之后,生成目标表单的至少一个配置字段;其中,一个配置字段用于表征一个属性;
基于所述至少一个配置字段,以及所述至少一个配置字段的结构关系,获取所述目标表单的表头数据;其中,所述表头数据包括各个配置字段表征的属性,以及结构描述信息,所述结构描述信息用于描述所述各个配置字段表征的属性的结构关系;
基于所述各个配置字段表征的属性,以及所述结构描述信息,创建所述目标表单;其中,所述目标表单包括至少一行显示区域或者至少一列显示区域,以及表头,所述表头包括所述各个配置字段表征的属性,各行显示区域或者各列显示区域包括至少一个单元格,任一单元格用于填充所述任一单元格对应的属性的属性数据。
另一方面,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序包括程序指令,程序指令当被处理器执行时使处理器执行上述表单的创建方法。
另一方面,本申请实施例提供了一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序适于由处理器加载并执行上述表单的创建方法。
本申请实施例在检测到表单创建对象的建表操作之后,生成目标表单的至少一个配置字段,基于至少一个配置字段,以及至少一个配置字段的结构关系,获取目标表单的表头数据,表头数据包括各个配置字段表征的属性以及结构描述信息,结构描述信息用于描述各个配置字段表征的属性的结构关系,基于各个配置字段表征的属性以及结构描述信息,创建目标表单,目标表单包括至少一行显示区域或者至少一列显示区域,以及表头,表头包括各个配置字段表征的属性,各行显示区域或者各列显示区域包括至少一个单元格,任一单元格用于填充任一单元格对应的属性的属性数据。由此可见,从用户侧而言,仅需表单创建对象进行建表操作,就可以实现表单的创建,操作简单。从电子设备侧而言,通过生成配置字段,基于配置字段以及配置字段的结构关系,获取表头数据,并基于配置字段表征的属性以及结构描述信息,就可以创建得到目标表单。因此,本申请实施例能够方便快捷地创建表单,从而提高表单的创建效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种表单的创建方法的流程示意图;
图2是本申请实施例提供的另一种表单的创建方法的流程示意图;
图3是本申请实施例提供的一种表单配置界面的示意图;
图4是本申请实施例提供的一种目标表单的界面示意图;
图5是本申请实施例提供的另一种表单的创建方法的流程示意图;
图6是本申请实施例提供的一种表单创建工具的架构示意图;
图7是本申请实施例提供的一种引擎内核的架构示意图;
图8是本申请实施例提供的一种生态的架构示意图;
图9是本申请实施例提供的一种业务场景的示意图;
图10是本申请实施例提供的一种表单的创建装置的结构示意图;
图11是本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供的表单的创建方法可以应用在电子设备中,电子设备可以包括客户端、服务器或者计算机设备中。客户端或者服务器可以用于显示渲染得到的表单(即JsonTable)等,客户端或者服务器可以安装或者集成在内容发布平台或者浏览器中,内容发布平台或者浏览器可以运行在计算机设备中。计算机设备包括但不限定于智能手机、相机、可穿戴设备或者电脑等。
在本申请的具体实施方式中,涉及到用户相关的数据,例如建表操作等,当本申请实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守当地法律法规和标准。
如图1所示,本申请实施例提供的表单的创建方法可以为:表单创建者(即图1中的表格创建者)进入JsonTree页面,通过一系列可视化交互最终完成建表动作的过程。完成建表后,引擎会生成对应字段配置,即treeData。另外,treeData转化成initTableData,这一步需要用到函数generateInitTableData(),该函数内部会依次遍历treeData中的各个树节点,采用递归算法计算得出相应的初始化表单数据,它记录了表单字段结构和具体的内容。进一步的,可以通过执行inittableData内部包含复杂的运算逻辑,得到trList,然后基于trList渲染得到JsonTable,即目标表单。
基于上述描述,请参见图2,图2是本申请实施例提供的另一种表单的创建方法的流程示意图,该表单的创建方法可以由电子设备执行;如图2所示的表单的创建方案包括但不限于步骤S201~S203,其中:
S201,在检测到表单创建对象的建表操作之后,生成目标表单的至少一个配置字段,一个配置字段用于表征一个属性。
举例来说,表单创建对象(即表单创建者)进入JsonTree页面,通过一系列可视化交互最终完成建表动作的过程。完成建表后,引擎会生成对应字段配置,即treeData。
在一种实现方式中,电子设备可以显示表单配置界面,表单配置界面包括至少一个字段控件,在检测到表单创建对象对至少一个字段控件的点击操作之后,确定表单创建对象所点击的各个字段控件,基于确定的各个字段控件所指示的字段信息,生成目标表单的至少一个配置字段。
示例性的,表单配置界面可以如图3所示,该表单配置界面可以为JsonTree组件的界面,即JsonTree页面。该表单配置界面可以包括图3左侧所示的至少一个字段控件。电子设备在检测到表单创建对象对至少一个字段控件的点击操作之后,表单创建对象所点击的各个字段控件所指示的字段信息可以通过可视化视图的方式呈现给表单创建对象,如图3右侧所示。电子设备在检测到表单创建对象对至少一个字段控件的点击操作之后,可以确定表单创建对象所点击的各个字段控件,基于确定的各个字段控件所指示的字段信息,生成目标表单的至少一个配置字段,即treeData。例如,假设表单创建对象点击图3左侧所示的基础字段下的“文本”字段控件,该“文本”字段控件所指示的字段信息可以包括图3右侧的第二行显示区域中的信息,例如字段标识,字段名称,字段类型,字段配置,备注说明,主键以及必填等。
示例性的,如图3所示,JsonTree组件呈现左右式布局,左侧是“快捷字段列表”,右侧是“字段树主体”,下面详细介绍该组件的细节:
图3中右侧每一行数据都是通过点击左侧快捷字段一一添加的,组件已经内置了左侧这些快捷字段,也支持各业务域配置自己的快捷字段;
右侧字段树中的每一列具体配置项(字段标识、字段名称、字段类型等)都支持自定义,只需传入一个配置列表,便能立即反应在视图上。
也就是说,在建表时,建表者新增的每一个字段都支持效果预览。因此,当建表者在设置一些特定的配置时,能在第一时间基于视图得到反馈,这样可以及时对配置做出调整。
字段标识:一个字段唯一的key值,在程序中扮演着身份ID的角色,程序依赖它来唯一确定该字段。这个配置项还支持“隐藏”,因为当建表群体是运营人员,那么将这列非常具备程序性质的配置项展示出来就是不友好的。
字段名称:一个字段具体的名称,它会在将来渲染的JsonTable中扮演表头标题的角色,这个字段是给人读的,应尽量通俗易懂。
字段类型:一个字段具体的类型,是文本、整数、还是单选、多选……(组件内置了十余种基础类型),它决定将来填表者是采用什么样的输入控件来录入内容,比如文本对应的就是输入框,整数对应的是数字型输入框,单选和多选对应的则是下拉框……
字段配置:一个字段所具备的各种属性,好比一个人的穿衣打扮,是否戴了帽子、穿了外套、打了领带、穿了皮鞋以及各种服饰的颜色、款式等等,所以,对于一个文本字段,它的配置项可以是——是否多行文本、最大输入长度、前缀后缀内容、提示文本等等,它最终会体现在渲染的表单中的控件上,比如若打开了多行文本,则最终会渲染成textarea(文本域),而这些效果,都可以在字段配置的弹框中实时预览到。
备注说明:一个字段的额外说明或者提醒,它会体现在最终表单表头的问号提示框中,给填表者起到一个提醒的作用。
主键:告知后端程序应该以哪个字段作为唯一值或者作为不可重复的依据,如果没有它,那么填表者输入两行或者多行一模一样的数据就没办法约束了,同时,它还兼顾着表单数据索引的角色。
必填:告知前端程序如何校验填入数据的合法性,打开了“必填”开关的字段,在最终的表单中会显示红色星星符号(*),以提醒填表者该项必填。
排序/增/删:这列有3个功能,可分别做到改变当前行的顺序、在当前行下新增一行、删除当前行。值得注意的是,当某几行很类似时,不必一条一条添加然后重新设置,可以在按住键盘的Option(windows是Alt)键的同时点击想复制的行的+号按钮,即可实现该行的复制逻辑。
检测到鼠标指针悬浮在渲染图像中某个字段上方时,可以突出显示该字段所属的行数据。例如可以显示该字段所属的行数据的背景颜色,例如绿色,作用是给用户一个聚焦行内各配置项的提示,能有效减少错行设置等误操作。
对于类似“组件/xx搜索”这种类型的字段,支持用户输入某ID时立即查询接口获取该ID所对应的具体业务信息,比如“组件/商品搜索”型组件,在用户输入商品规格ID后,会自动带出商品头图、商品价格、商品库存、商家名称等信息。
左右面板中间有一根竖直的分隔线,线中间有个“手柄”,鼠标拖拽该手柄可以收缩左边面板,在小屏幕电脑上也能很好适配。
可选的,在JsonTree界面中,表单创建者可以通过长按预设按键的同时点击+号的方式执行该+号对应的节点的复制逻辑。示例性的,预设按键可以为Option(Windows是Alt)键或者其他按键(例如Ctrl键)等。具体实现中,JsonTree组件的+号是个高频操作的按钮,仅点击+号就是在当前行的下方新增一个空白行。当需要定义很多字段并且大多数字段或结构的相似度很高的时候,就可以通过“复制”功能实现,即长按预设按键的同时点击+号。
可选的,JsonTree界面可以支持快捷字段一键添加的能力。JsonTree左侧提供了快捷字段列表,包含基础字段(文本、数字、单选、日期、图片等十几种)和业务字段(商品ID、笔记ID、商家ID等)。建表者点击快捷字段后会立即加入到右侧树状视图中,并自动带入该字段所有信息,省去了繁杂的字段命名、更换字段类型等操作,可提高建表效率。
S202,基于至少一个配置字段,以及至少一个配置字段的结构关系,获取目标表单的表头数据,表头数据包括各个配置字段表征的属性以及结构描述信息,结构描述信息用于描述各个配置字段表征的属性的结构关系。
举例来说,电子设备可以将treeData转化成TableData,这一步需要用到函数generateInitTableData(),该函数内部会依次遍历treeData中的各个树节点,采用递归算法计算得出相应的初始化表单数据。
以图3为例,假设表单创建对象点击了“文本”字段控件,并设置“文本”字段控件所指示的字段信息中的字段名称为xx文本。表单创建对象还点击了“整数”字段控件,并设置“整数”字段控件所指示的字段信息中的字段名称为xx整数。表单创建对象还点击了“小数”字段控件,并设置“小数”字段控件所指示的字段信息中的字段名称为xx小数。表单创建对象还点击了“金额”字段控件,并设置“金额”字段控件所指示的字段信息中的字段名称为xx金额,等等。那么电子设备基于至少一个配置字段,以及至少一个配置字段的结构关系,获取目标表单的表头数据,表头数据可以包括“xx文本”、“xx整数”、“xx小数”、“xx金额”等,表头数据还可以包括“xx文本”、“xx整数”、“xx小数”以及“xx金额”之间的结构关系,例如表头数据中的任意两个属性为从属关系,或者兄弟关系等。
S203,基于各个配置字段表征的属性以及结构描述信息,创建目标表单,目标表单包括至少一行显示区域或者至少一列显示区域,以及表头,表头包括各个配置字段表征的属性,各行显示区域或者各列显示区域包括至少一个单元格,任一单元格用于填充任一单元格对应的属性的属性数据。
举例来说,可以通过执行tableData内部包含复杂的运算逻辑,得到trList,然后基于trList渲染得到目标表单。
示例性的,目标表单可以如图4所示,该目标表单可以为JsonTable组件的界面,图3所示的JsonTree中的配置最终会生成图4所示的表单。
JsonTree中第一行的备注说明填写了“这是一段备注”,它最终反映在JsonTable表头的问号悬浮框内,给填表者提示反馈的作用。
JsonTree中的字段名称的值会反映在JsonTable的表头标题上。
JsonTree中的必填与否决定JsonTable的表头标题右侧是否展示红色星型符号(*),并且在保存JsonTable数据时组件会对这些必填项做非空校验。
图片上传型的字段,JsonTable会渲染出一个图片上传组件。
结构列表型的字段会采用+/-控制区的形式渲染,可无限新增一行,也可随意删除一行,它左右两侧的部分都会自动合并单元格,以表示数据间的从属关系。
搜素组件类型的字段,在输入错误ID时会显示“当前ID无效”(如上图的商品ID、笔记ID),否则会展示该ID所对应的业务数据(如上图的规格ID、商家ID)。
对于每次新增的空白行,行内控件都会显示友好的提示文本。
JsonTable所示的表单支持分页,可以满足大量数据的场景。
在一种实现方式中,在创建目标表单之后,表单填写对象可以通过与目标表单进行交互的方式,实现在目标表单中填写数据。具体的,电子设备可以显示目标表单,在检测到表单填写对象对目标表单的编辑操作之后,对目标表单进行更新,得到更新后的目标表单,并显示更新后的目标表单。
在一种实现方式中,电子设备在检测到表单填写对象对目标表单的填写操作之后,可以获取表单填写对象操作的目标单元格,以及表单填写对象提交的属性数据,将属性数据填充至目标单元格中,以对目标表单进行更新,得到更新后的目标表单。
具体的,表单填写对象可以通过在目标表单的任一单元格中输入属性数据的方式,向目标表单填写数据。示例性的,显示的目标表单可以如图4所示,目标表单的第一行显示区域包括表头,表单填写对象可以点击第二行第二列的单元格,并在该单元格中输入属性数据,电子设备检测到表单填写对象的填写操作之后,可以确定表单填写对象针对第二行第二列的单元格提交了属性数据,进而将该属性数据填充至目标单元格中,以对目标表单进行更新,得到更新后的目标表单。
在一种实现方式中,电子设备在检测到表单填写对象对目标表单中的任一单元格的控制操作之后,可以确定与任一单元格的关联单元格,关联单元格所对应属性为任一单元格所对应属性的子孙节点,对任一单元格以及任一单元格的关联单元格进行控制,以对目标表单进行更新,得到更新后的目标表单。
举例来说,表单填写对象可以通过点击目标表单中的任一+/-按钮的方式,对该按钮对应的单元格及其关联单元格进行控制。示例性的,显示的目标表单可以如图4所示,目标表单的第一行显示区域包括表头,表单填写对象如果点击第二行第一列的+按钮,由于该按钮对应的单元格包括第二行所有的单元格,那么可以在第二行的下方新增一行单元格,以对目标表单进行更新,得到更新后的目标表单。表单填写对象如果点击第二行第一列的-按钮,由于该按钮对应的单元格包括第二行所有的单元格,那么可以删除第二行所有的单元格,以对目标表单进行更新,得到更新后的目标表单。
在本申请实施例中,在检测到表单创建对象的建表操作之后,生成目标表单的至少一个配置字段,基于至少一个配置字段,以及至少一个配置字段的结构关系,获取目标表单的表头数据,表头数据包括各个配置字段表征的属性以及结构描述信息,结构描述信息用于描述各个配置字段表征的属性的结构关系,基于各个配置字段表征的属性以及结构描述信息,创建目标表单,目标表单包括至少一行显示区域或者至少一列显示区域,以及表头,表头包括各个配置字段表征的属性,各行显示区域或者各列显示区域包括至少一个单元格,任一单元格用于填充任一单元格对应的属性的属性数据,能够方便快捷地创建表单,从而提高表单的创建效率。
本申请实施例提供另一种表单的创建方法,如图1所示,该表单的创建方法可以为:表单创建者进入JsonTree页面,通过一系列可视化交互最终完成建表动作的过程。完成建表后,引擎会生成对应字段配置,即treeData。引擎产出字段配置后,字段配置可以存入数据库,以备后续使用。另外,treeData转化成initTableData,这一步需要用到函数generateInitTableData(),该函数内部会依次遍历treeData中的各个树节点,采用递归算法计算得出相应的初始化表单数据。表单填写者欲进入页面做填写操作时,引擎会在页面初始化的生命周期钩子中从数据库取出对应配置,即之前保存入库的treeData,引擎还会从数据库中取出当前表单的内容数据(即contentList),例如图1中的通过取表格内容得到contentList。引擎会对上一步取出的表单内容数据进行判断,根据其是否有值做不同处理,再与initTableData一起经过计算最终得出一份数据——tableData,它记录了表单字段结构和具体的内容。进一步的,可以通过执行tableData内部包含复杂的运算逻辑,得到trList,然后基于trList渲染得到JsonTable。现在,表单填写者可以在JsonTable中录入数据了,数据录入后,会得到新的tableData,新的tableData和录入数据之前的tableData的结构相似,但数据已发生变化。新的tableData依然还是前端概念的数据,要被后端数据库存储,就需要使用函数frontToServer()进行转换,该函数的产物是后端能识别的contentList,最终将转换后的表单内容数据存入数据库。
通过上述描述可知,对于表单创建者和表单填写者而言,仅需进入JsonTree页面,通过一系列可视化交互完成建表动作,然后表单填写者在JsonTable中录入数据,即可实现表单的创建,人机交互过程方便快捷。另外,表单创建者通过JsonTree树形视图定义并产出字段配置,JsonTable消费该字段配置,渲染成表单视图,供表单填写者录入数据,以实现表单的创建,由此可见,表单的创建流程简单,可提高表单的创建效率。
基于上述描述,请参见图5,图5是本申请实施例提供的另一种表单的创建方法的流程示意图,该表单的创建方法可以由电子设备执行;如图5所示的表单的创建方案包括但不限于步骤S501~S510,其中:
S501,在检测到表单创建对象的建表操作之后,生成目标表单的至少一个配置字段,一个配置字段用于表征一个属性。
本申请实施例中关于步骤S501的具体描述可以参见上述实施例中步骤S201的相关描述,本申请实施例不再赘述。
S502,基于至少一个配置字段,以及至少一个配置字段的结构关系,获取目标表单的表头数据,表头数据包括各个配置字段表征的属性以及结构描述信息,结构描述信息用于描述各个配置字段表征的属性的结构关系。
举例来说,电子设备可以将至少一个配置字段转化成目标表单的表头数据,这一步需要用到函数generateInitTableData(),该函数内部会依次遍历至少一个配置字段中的各个树节点,采用递归算法计算得出相应的初始化表单数据,即表头数据。
S503,从数据库中查找目标表单的表单内容数据,表单内容数据指的是:上一次创建的目标表单的表单内容数据,表单内容数据包括上一次创建的目标表单的表头数据以及至少一个单元格所填充的属性数据。
举例来说,电子设备可以在页面初始化的生命周期钩子中从数据库取出对应配置,即之前保存入库的至少一个配置字段,电子设备还会从数据库中取出表单内容数据(即contentList)。
S504,基于各个配置字段表征的属性,结构描述信息以及表单内容数据,创建目标表单。
举例来说,电子设备会对上一步取出的表单内容数据进行判断,根据其是否有值做不同处理,再与初始化表单数据一起经过计算最终得出一份数据——tableData,它记录了表单字段结构和具体的内容。
S505,显示目标表单。
S506,在检测到表单填写对象对目标表单的编辑操作之后,对目标表单进行更新,得到更新后的目标表单。
在一种实现方式中,电子设备在检测到表单填写对象对目标表单的填写操作之后,可以获取表单填写对象操作的目标单元格,以及表单填写对象提交的属性数据,将属性数据填充至目标单元格中,以对目标表单进行更新,得到更新后的目标表单。
具体的,表单填写对象可以通过在目标表单的任一单元格中输入属性数据的方式,向目标表单填写数据。示例性的,显示的目标表单可以如图4所示,目标表单的第一行显示区域包括表头,表单填写对象可以点击第二行第二列的单元格,并在该单元格中输入属性数据,电子设备检测到表单填写对象的填写操作之后,可以确定表单填写对象针对第二行第二列的单元格提交了属性数据,进而将该属性数据填充至目标单元格中,以对目标表单进行更新,得到更新后的目标表单。
在一种实现方式中,电子设备在检测到表单填写对象对目标表单中的任一单元格的控制操作之后,可以确定与任一单元格的关联单元格,关联单元格所对应属性为任一单元格所对应属性的子孙节点,对任一单元格以及任一单元格的关联单元格进行控制,以对目标表单进行更新,得到更新后的目标表单。
举例来说,表单填写对象可以通过点击目标表单中的任一+/-按钮的方式,对该按钮对应的单元格及其关联单元格进行控制。示例性的,显示的目标表单可以如图4所示,目标表单的第一行显示区域包括表头,表单填写对象如果点击第二行第一列的+按钮,由于该按钮对应的单元格包括第二行所有的单元格,那么可以在第二行的下方新增一行单元格,以对目标表单进行更新,得到更新后的目标表单。表单填写对象如果点击第二行第一列的-按钮,由于该按钮对应的单元格包括第二行所有的单元格,那么可以删除第二行所有的单元格,以对目标表单进行更新,得到更新后的目标表单。
S507,显示更新后的目标表单。
S508,获取更新后的目标表单中各个单元格所填充的属性数据。
S509,基于获取到的属性数据,生成目标表单的表单内容数据,表单内容数据包括获取到的属性数据,以及用于填充获取到的属性数据的单元格标识。
S510,将目标表单的表单内容数据存储至数据库中。
由于更新后的目标表单依然还是前端概念的数据,要被后端数据库存储,就需要使用函数frontToServer()进行转换,该函数的产物是后端能识别的contentList,最终将转换后的表单内容数据存入数据库。
本申请实施例提供的表单的创建方法可以通过表单创建工具实现,下面对表单创建工具的架构进行描述,请参见图6,图6是本申请实施例提供的一种表单创建工具的架构示意图。表单创建工具的架构是自下而上型的,分别是协议-引擎-生态-平台。
其中,底层协议栈定义的是标准,标准的统一是决定上层产物可互通的关键。可选的,该表单创建工具可以采用treeData(JsonSchema)作为底层领域专用语言(domainspecific language,DSL)协议栈。treeData指的是可以实现无限层级的树形数据结构。JsonSchema用于描述JSON数据格式,JSON(JavaScript Object Notation)缩写,JSON是一种数据格式,具有简洁、可读性高、支持广泛的特点,通过JSON可以灵活地表示任意复杂的数据结构。
引擎是对协议的实现,同时提供能力的输出,向上支撑各业务平台,提供各种生态扩展能力。
生态是基于引擎核心能力扩展出来的,比如可以根据自身业务属性自定义快捷字段列表、表单配置项以及字段间的联动规则等。
各个平台基于引擎内核以及生态中的配置进行组合、衔接,形成满足各业务领域需求的动态表单或表单生成工具。
表单创建工具中的每一层都明确自身的定位,各司其职,协议不关心引擎如何实现,引擎也不会实现各业务领域的具体功能,上层平台的定制化均通过生态扩展来实现。
上述实施例中涉及的引擎内核的架构示意图可以如图7所示,该引擎可以分为四大模块,分别是入料模块,出配置模块,渲染模块,以及出数据模块。
入料模块,在开发阶段,开发人员可通过JsonTree组件的props(quickFields和configArray)向组件内部注入快捷字段列表、表单配置项等初始化规则(若不注入则使用默认配置),这样可形成特定业务领域下的JsonTree。
出配置模块,指的是产出treeData,即第一节的中的底层协议本体也是表单/表单描述结构(一般称DSL),它会在建表者操作JsonTree组件创建完一份配置后立即产出。
渲染模块,顾名思义,就是将产出的表单字段描述结构(DSL)经过一系列转换、运算最终呈现出表单视图的过程,视图是面向用户的,因此要处理好内部数据流、字段校验规则、字段按需加载逻辑等。
出数据模块,表单视图渲染成功后,填表者便可以通过可视化的交互,完成数据的录入。在录入数据之后,产出的这份数据,即tableData。
上述实施例中涉及的生态的架构示意图可以如图8所示,该生态至少可以包括三部分:快捷字段,表单配置以及字段联动。
快捷字段,指用户可快捷选择的已沉淀、高复用度的字段列表,业务侧的开发需要针对本业务属性提前配置好一些基础的、常用的字段,用户便可通过极少的操作步骤快速创建一份复杂的表单配置规则。
表单配置,如果说JsonTree是一棵树,那么表单配置就是这棵树的树干了(树干指:字段标识、字段名称、字段类型、字段配置、主键、必填、拖拽增删等),这些配置项完全支持自定义,可以支持更复杂的业务场景。
字段联动,即JsonTree支持字段的按需展示,比如有字段A、字段B、字段C,用户希望A等于1的时候才展示B、等于2的时候才展示C,诸如此类需求以及多重依赖等都是可以满足的。在依赖条件的设定上,该工具提供了人性化的交互界面,支持用户快速挑选依赖项、选择键值关系、设置具体值,各条件间还支持“与”和“非”的逻辑关联,并且最终会生成formily框架中的x-reaction语法结构,方便formily表单的接入。
上述实施例提及的表单创建工具可通过丰富生态支撑多业务场景,示例性的,如图9所示的业务场景为例,表单创建工具所支撑的业务可以包括投放平台,招商平台以及搭建平台中的一种或者多种。
投放平台,可成功支持各项投放需求,例如研发建表,运营填表,支撑电商资源位和搭建平台的数据源建设等。
招商平台,它与投放平台的不同之处在于:运营建表,商家填表。运营不会去感知程序相关的概念,意味着对建表的交互体验要求更高。同理,商家是填表者,其用户规模远远大于投放同维度的运营人员,交互体验要求再次升高。业务方面,该表单创建工具可以支撑活动报名和盘货盘商的各项数据上报工作。
搭建平台,可支持研发建表,运营填表,支撑其动态数据源的入参规则的配置工作,动态数据源即应用程序接口(Application Program Interface,API)。
可以理解的是,随着生态的发展或者业务场景的更新,表单创建工具所支撑的业务还可以包括其他平台,具体不受本申请实施例的限定。
本申请实施例提及的表单创建工具可以由JsonTree和JsonTable共同组成,整体采用前后端分离的架构,前端负责视图渲染,后端负责数据存储。如图1所示,工具内部数据流转原理为:建表者通过JsonTree树形视图定义并产出字段配置,JsonTable消费该配置渲染成表单视图供填表者录入数据。其中,如果存在对表单的修改需求,可以取表单内容(用于回显),即引擎会从数据库中取出当前表单的内容数据(当然,这份数据可能为空,因为如果是第一次进入表单页面,数据一定是空的)用于数据的回显,这样才能支持用户后续多次编辑。引擎会对上一步取出的表单内容数据进行判断,根据其是否有值做不同处理,再与initTableData一起经过计算(使用serverToFront(),函数内部将后端数据转化为JsonTable能理解的前端数据)最终得出一份数据——tableData,它记录了表单字段结构和具体的内容。进一步的,可以通过执行tableData内部包含复杂的运算逻辑,得到trList,然后基于trList渲染得到JsonTable。
本申请实施例提及的表单的创建方法可以分为两大阶段,即开发阶段和生产阶段。
开发阶段:研发人员执行入料,为JsonTree注册快捷字段和表单配置等规则,完成组件初始化,以备后续使用。
生产阶段:项目上线后的建表与填表的完整流程。
其中,生产阶段的流程可包括如下11步:
1、建表:表单创建者进入JsonTree页面,通过一系列可视化交互最终完成建表动作的过程;
2、出配置:完成建表后,引擎会生成对应字段配置,即treeData,也是我们上面说的底层DSL协议——JsonSchema;
3、存配置:产出配置后,存入数据库,以备后续使用;
4、取配置:此时,表单填写者欲进入页面做填写操作,引擎会在页面初始化的生命周期钩子中从数据库取出对应配置,即之前保存入库的treeData;
5、转化1:treeData转化成initTableData,这一步需要用到generateInitTableData(),函数内部会依次遍历treeData中的各个树节点,采用递归算法计算得出相应的初始化表单数据;以及取表单内容(用于回显):同时,引擎还会从数据库中取出当前表单的内容数据(当然,这份数据可能为空,因为如果是第一次进入表单页面,数据一定是空的)用于数据的回显,这样才能支持用户后续多次编辑;
6、转化2:引擎会对上一步取出的表单内容数据进行判断,根据其是否有值做不同处理,再与initTableData一起经过计算(使用serverToFront(),函数内部将后端数据转化为JsonTable能理解的前端数据)最终得出一份数据——tableData,它记录了表单字段结构和具体的内容;
7、转化3:上一步得到tableData后仍然不能直接渲染出表单视图,它们之间还缺乏一种数据介质——trList,这是原生表单标签<table><tr></tr></table>中的tr列表(即行列表),它的产生,来自于generateTableTrList();
8、渲染:基于第7步的trList,在原生<table></table>标签中通过双层for循环分别设置出<tr>(行数据)和<td>(列数据),最终渲染出JsonTable这一表单视图的过程;
9、填表:从第4步到第8步,页面完成了初始化工作,而这个过程,一般在1-3秒中完成,现在,表单填写者可以录入数据了;
10、出数据:数据录入后,会得到和第6步结构类似的tableData(虽然结构相似,但数据已发生变化);
11、转化4:上面得到的tableData依然还是前端概念的数据,要被后端数据库存储,就需要使用frontToServer()进行转换,该函数的产物是后端能识别的contentList,最终存入数据库。自此,该工具完成整个数据定义到数据录入的全流程。
可选的,本申请实施例中的表单内容数据支持后期修改。也就是说,如果存在对表单的修改需求,可以取表单内容(用于回显),即引擎会从数据库中取出当前表单的内容数据(当然,这份数据可能为空,因为如果是第一次进入表单页面,数据一定是空的)用于数据的回显,这样才能支持用户后续多次编辑。具体的,引擎会在页面初始化的生命周期钩子中从数据库取出对应配置,即之前保存入库的treeData,使用函数generateInitTableData(),将treeData转化成initTableData。另外,引擎会对当前表单的内容数据进行判断,根据其是否有值做不同处理,再与initTableData一起经过计算最终得出一份数据——tableData,它记录了表单字段结构和具体的内容。进一步的,可以通过执行tableData内部包含复杂的运算逻辑,得到trList,然后基于trList渲染得到JsonTable。然后,表单填写者可以对JsonTable中的数据进行修改,得到新的tableData,即修改后的表单。可选的,可以使用函数frontToServer()对新的tableData进行转换,得到后端能识别的contentList,最终将转换后的表单内容数据存入数据库。
可选的,本申请实施例中的表单配置支持后期修改。可以理解为,表单创建工具支持表单的字段新增和已有字段配置修改等操作,配置修改后,配置修改之前的表单内容数据仍能正常浏览和编辑,配置修改之后的新的表单内容数据可以与配置修改之前的表单内容数据共存。
可选的,表单可以支持丰富多样的输入控件,用于提供数据实时查询和效果预览的能力。举例来说,生成的表单可以支持业务数据预览。例如:当某个字段类型设为“商品搜索”组件时,在输入框中输入商品ID后,JsonTable会立即查询接口,将返回结果(商品头图、商品价格、商品库存、商家信息等)展示在输入框右侧,给填表者提供一个即时的预览和反馈,避免输入无效ID或错误商品ID。需要说明的是,本申请实施例中的表单不仅限于“商品搜索”组件支持业务数据预览,“笔记搜索”、“规格搜索”、“商家搜索”等组件都支持业务数据预览。
可选的,表单可以支持每个字段按需展示。比如有字段A、字段B、字段C,用户希望A等于1的时候才展示B、等于2的时候才展示C,此类按需加载的需求以及多重依赖等都是可以满足的。在依赖条件的设定上,该表单创建工具提供了人性化的交互界面,支持用户快速挑选依赖项、选择键值关系(例如值等于、不等于、为空、不为空、小于、大于等)、设置具体值,各条件间还支持“满足所有条件”和“满足任一条件”的逻辑关联,并且最终会生成formily框架中的x-reaction语法结构,方便formily表单的接入。
本申请实施例还提供了一种计算机存储介质,该计算机存储介质中存储有程序指令,该程序指令被执行时,用于实现上述实施例中描述的相应方法。
再请参见图10,图10是本申请实施例的提供一种表单的创建装置的结构示意图。
本申请实施例的表单的创建装置的一个实现方式中,表单的创建装置包括如下结构。
字段生成单元1001,用于在检测到表单创建对象的建表操作之后,生成目标表单的至少一个配置字段;其中,一个配置字段用于表征一个属性;
数据获取单元1002,用于基于所述至少一个配置字段,以及所述至少一个配置字段的结构关系,获取所述目标表单的表头数据;其中,所述表头数据包括各个配置字段表征的属性,以及结构描述信息,所述结构描述信息用于描述所述各个配置字段表征的属性的结构关系;
表单创建单元1003,用于基于所述各个配置字段表征的属性,以及所述结构描述信息,创建所述目标表单;其中,所述目标表单包括至少一行显示区域或者至少一列显示区域,以及表头,所述表头包括所述各个配置字段表征的属性,各行显示区域或者各列显示区域包括至少一个单元格,任一单元格用于填充所述任一单元格对应的属性的属性数据。
在一个实施例中,所述表单创建单元1003基于所述各个配置字段表征的属性,以及所述结构描述信息,创建所述目标表单,包括:
从数据库中查找所述目标表单的表单内容数据;其中,所述表单内容数据指的是:上一次创建的所述目标表单的表单内容数据,所述表单内容数据包括上一次创建的所述目标表单的表头数据以及至少一个单元格所填充的属性数据;
基于所述各个配置字段表征的属性,所述结构描述信息以及所述表单内容数据,创建所述目标表单。
在一个实施例中,表单的创建装置还可以包括:
显示单元1004,用于显示所述目标表单;
表单更新单元1005,用于在检测到表单填写对象对所述目标表单的编辑操作之后,对所述目标表单进行更新,得到更新后的目标表单;
显示单元1004,还用于显示所述更新后的目标表单。
在一个实施例中,数据获取单元1002,还用于获取所述更新后的目标表单中各个单元格所填充的属性数据;
表单的创建装置还可以包括:
数据生成单元1006,用于基于获取到的属性数据,生成所述目标表单的表单内容数据;其中,所述表单内容数据包括所述获取到的属性数据,以及用于填充所述获取到的属性数据的单元格标识;
存储单元1007,用于将所述目标表单的表单内容数据存储至数据库中。
在一个实施例中,所述表单更新单元1005在检测到表单填写对象对所述目标表单的编辑操作之后,对所述目标表单进行更新,得到更新后的目标表单,包括:
在检测到所述表单填写对象对所述目标表单的填写操作之后,获取所述表单填写对象操作的目标单元格,以及所述表单填写对象提交的属性数据;
将所述属性数据填充至所述目标单元格中,以对所述目标表单进行更新,得到所述更新后的目标表单。
在一个实施例中,所述表单更新单元1005在检测到表单填写对象对所述目标表单的编辑操作之后,对所述目标表单进行更新,得到更新后的目标表单,包括:
在检测到所述表单填写对象对所述目标表单中的任一单元格的控制操作之后,确定与所述任一单元格的关联单元格;其中,所述关联单元格所对应属性为所述任一单元格所对应属性的子孙节点;
对所述任一单元格以及所述任一单元格的关联单元格进行控制,以对所述目标表单进行更新,得到所述更新后的目标表单。
在一个实施例中,所述字段生成单元1001在检测到表单创建对象的建表操作之后,生成目标表单的至少一个配置字段,包括:
显示表单配置界面;其中,所述表单配置界面包括至少一个字段控件;
在检测到所述表单创建对象对所述至少一个字段控件的点击操作之后,确定所述表单创建对象所点击的各个字段控件;
基于所述确定的各个字段控件所指示的字段信息,生成所述目标表单的至少一个配置字段。
本申请实施例中,通过字段生成单元1001在检测到表单创建对象的建表操作之后,生成目标表单的至少一个配置字段,数据获取单元1002基于至少一个配置字段,以及至少一个配置字段的结构关系,获取目标表单的表头数据,表头数据包括各个配置字段表征的属性以及结构描述信息,结构描述信息用于描述各个配置字段表征的属性的结构关系,表单创建单元1003基于各个配置字段表征的属性以及结构描述信息,创建目标表单,目标表单包括至少一行显示区域或者至少一列显示区域,以及表头,表头包括各个配置字段表征的属性,各行显示区域或者各列显示区域包括至少一个单元格,任一单元格用于填充任一单元格对应的属性的属性数据,能够方便快捷地创建表单,从而提高表单的创建效率。
再请参见图11,图11是本申请实施例提供的一种电子设备的结构示意图,本申请实施例的电子设备包括供电模块等结构,并包括处理器1101、存储装置1102以及通信接口1103。处理器1101、存储装置1102以及通信接口1103之间可以交互数据,由处理器1101实现相应的结构数据的渲染方法。
存储装置1102可以包括易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储装置1102也可以包括非易失性存储器(non-volatilememory),例如快闪存储器(flash memory),固态硬盘(solid-state drive,SSD)等;存储装置1102还可以包括上述种类的存储器的组合。
处理器1101可以是中央处理器(central processing unit,CPU)。处理器1101也可以是由CPU和GPU的组合。在服务器中,可以根据需要包括多个CPU和GPU进行相应的表单的创建。在一个实施例中,存储装置1102用于存储程序指令。处理器1101可以调用程序指令,实现如本申请实施例中上述涉及的各种方法。
在第一个可能的实施方式中,电子设备的处理器1101,调用存储装置1102中存储的程序指令,用于在检测到表单创建对象的建表操作之后,生成目标表单的至少一个配置字段;其中,一个配置字段用于表征一个属性;基于所述至少一个配置字段,以及所述至少一个配置字段的结构关系,获取所述目标表单的表头数据;其中,所述表头数据包括各个配置字段表征的属性,以及结构描述信息,所述结构描述信息用于描述所述各个配置字段表征的属性的结构关系;基于所述各个配置字段表征的属性,以及所述结构描述信息,创建所述目标表单;其中,所述目标表单包括至少一行显示区域或者至少一列显示区域,以及表头,所述表头包括所述各个配置字段表征的属性,各行显示区域或者各列显示区域包括至少一个单元格,任一单元格用于填充所述任一单元格对应的属性的属性数据。
在一个实施例中,所述处理器1101在基于所述各个配置字段表征的属性,以及所述结构描述信息,创建所述目标表单时,用于执行如下操作:
从数据库中查找所述目标表单的表单内容数据;其中,所述表单内容数据指的是:上一次创建的所述目标表单的表单内容数据,所述表单内容数据包括上一次创建的所述目标表单的表头数据以及至少一个单元格所填充的属性数据;
基于所述各个配置字段表征的属性,所述结构描述信息以及所述表单内容数据,创建所述目标表单。
在一个实施例中,通信接口1103用于显示所述目标表单;
处理器1101还用于在检测到表单填写对象对所述目标表单的编辑操作之后,对所述目标表单进行更新,得到更新后的目标表单;
通信接口1103还用于显示所述更新后的目标表单。
在一个实施例中,处理器1101还用于执行如下操作:
获取所述更新后的目标表单中各个单元格所填充的属性数据;
基于获取到的属性数据,生成所述目标表单的表单内容数据;其中,所述表单内容数据包括所述获取到的属性数据,以及用于填充所述获取到的属性数据的单元格标识;
将所述目标表单的表单内容数据存储至数据库中。
在一个实施例中,所述处理器1101在检测到表单填写对象对所述目标表单的编辑操作之后,对所述目标表单进行更新,得到更新后的目标表单时,用于执行如下操作:
在检测到所述表单填写对象对所述目标表单的填写操作之后,获取所述表单填写对象操作的目标单元格,以及所述表单填写对象提交的属性数据;
将所述属性数据填充至所述目标单元格中,以对所述目标表单进行更新,得到所述更新后的目标表单。
在一个实施例中,所述处理器1101在检测到表单填写对象对所述目标表单的编辑操作之后,对所述目标表单进行更新,得到更新后的目标表单时,用于执行如下操作:
在检测到所述表单填写对象对所述目标表单中的任一单元格的控制操作之后,确定与所述任一单元格的关联单元格;其中,所述关联单元格所对应属性为所述任一单元格所对应属性的子孙节点;
对所述任一单元格以及所述任一单元格的关联单元格进行控制,以对所述目标表单进行更新,得到所述更新后的目标表单。
在一个实施例中,所述处理器1101在检测到表单创建对象的建表操作之后,生成目标表单的至少一个配置字段时,用于执行如下操作:
显示表单配置界面;其中,所述表单配置界面包括至少一个字段控件;
在检测到所述表单创建对象对所述至少一个字段控件的点击操作之后,确定所述表单创建对象所点击的各个字段控件;
基于所述确定的各个字段控件所指示的字段信息,生成所述目标表单的至少一个配置字段。
本申请实施例中,处理器1101在检测到表单创建对象的建表操作之后,生成目标表单的至少一个配置字段,基于至少一个配置字段,以及至少一个配置字段的结构关系,获取目标表单的表头数据,表头数据包括各个配置字段表征的属性以及结构描述信息,结构描述信息用于描述各个配置字段表征的属性的结构关系,基于各个配置字段表征的属性以及结构描述信息,创建目标表单,目标表单包括至少一行显示区域或者至少一列显示区域,以及表头,表头包括各个配置字段表征的属性,各行显示区域或者各列显示区域包括至少一个单元格,任一单元格用于填充任一单元格对应的属性的属性数据,能够方便快捷地创建表单,从而提高表单的创建效率。
本领域普通技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成的,计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,计算机可读取存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(RandomAccess Memory,RAM)等。计算机可读存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。
以上所揭露的仅为本申请的部分实施例而已,当然不能以此来限定本申请之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本申请权利要求所作的等同变化,仍属于本发明所涵盖的范围。

Claims (10)

1.一种表单的创建方法,其特征在于,所述方法包括:
在检测到表单创建对象的建表操作之后,生成目标表单的至少一个配置字段;其中,一个配置字段用于表征一个属性;
基于所述至少一个配置字段,以及所述至少一个配置字段的结构关系,获取所述目标表单的表头数据;其中,所述表头数据包括各个配置字段表征的属性,以及结构描述信息,所述结构描述信息用于描述所述各个配置字段表征的属性的结构关系;
基于所述各个配置字段表征的属性,以及所述结构描述信息,创建所述目标表单;其中,所述目标表单包括至少一行显示区域或者至少一列显示区域,以及表头,所述表头包括所述各个配置字段表征的属性,各行显示区域或者各列显示区域包括至少一个单元格,任一单元格用于填充所述任一单元格对应的属性的属性数据。
2.根据权利要求1所述的方法,其特征在于,所述基于所述各个配置字段表征的属性,以及所述结构描述信息,创建所述目标表单,包括:
从数据库中查找所述目标表单的表单内容数据;其中,所述表单内容数据指的是:上一次创建的所述目标表单的表单内容数据,所述表单内容数据包括上一次创建的所述目标表单的表头数据以及至少一个单元格所填充的属性数据;
基于所述各个配置字段表征的属性,所述结构描述信息以及所述表单内容数据,创建所述目标表单。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
显示所述目标表单;
在检测到表单填写对象对所述目标表单的编辑操作之后,对所述目标表单进行更新,得到更新后的目标表单;
显示所述更新后的目标表单。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
获取所述更新后的目标表单中各个单元格所填充的属性数据;
基于获取到的属性数据,生成所述目标表单的表单内容数据;其中,所述表单内容数据包括所述获取到的属性数据,以及用于填充所述获取到的属性数据的单元格标识;
将所述目标表单的表单内容数据存储至数据库中。
5.根据权利要求3所述的方法,其特征在于,所述在检测到表单填写对象对所述目标表单的编辑操作之后,对所述目标表单进行更新,得到更新后的目标表单,包括:
在检测到所述表单填写对象对所述目标表单的填写操作之后,获取所述表单填写对象操作的目标单元格,以及所述表单填写对象提交的属性数据;
将所述属性数据填充至所述目标单元格中,以对所述目标表单进行更新,得到所述更新后的目标表单。
6.根据权利要求3所述的方法,其特征在于,所述在检测到表单填写对象对所述目标表单的编辑操作之后,对所述目标表单进行更新,得到更新后的目标表单,包括:
在检测到所述表单填写对象对所述目标表单中的任一单元格的控制操作之后,确定与所述任一单元格的关联单元格;其中,所述关联单元格所对应属性为所述任一单元格所对应属性的子孙节点;
对所述任一单元格以及所述任一单元格的关联单元格进行控制,以对所述目标表单进行更新,得到所述更新后的目标表单。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述在检测到表单创建对象的建表操作之后,生成目标表单的至少一个配置字段,包括:
显示表单配置界面;其中,所述表单配置界面包括至少一个字段控件;
在检测到所述表单创建对象对所述至少一个字段控件的点击操作之后,确定所述表单创建对象所点击的各个字段控件;
基于所述确定的各个字段控件所指示的字段信息,生成所述目标表单的至少一个配置字段。
8.一种表单的创建装置,其特征在于,所述装置包括:
字段生成单元,用于在检测到表单创建对象的建表操作之后,生成目标表单的至少一个配置字段;其中,一个配置字段用于表征一个属性;
数据获取单元,用于基于所述至少一个配置字段,以及所述至少一个配置字段的结构关系,获取所述目标表单的表头数据;其中,所述表头数据包括各个配置字段表征的属性,以及结构描述信息,所述结构描述信息用于描述所述各个配置字段表征的属性的结构关系;
表单创建单元,用于基于所述各个配置字段表征的属性,以及所述结构描述信息,创建所述目标表单;其中,所述目标表单包括至少一行显示区域或者至少一列显示区域,以及表头,所述表头包括所述各个配置字段表征的属性,各行显示区域或者各列显示区域包括至少一个单元格,任一单元格用于填充所述任一单元格对应的属性的属性数据。
9.一种电子设备,其特征在于,所述电子设备包括处理器、存储装置和通信接口,所述处理器、存储装置和通信接口相互连接,其中:
所述存储装置,用于存储计算机程序,所述计算机程序包括程序指令;
所述处理器,用于调用所述程序指令,执行如权利要求1至7任一项所述的表单的创建方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序包括程序指令,所述程序指令被处理器执行时,用于执行如权利要求1至7任一项所述的表单的创建方法。
CN202311472745.3A 2023-11-06 2023-11-06 表单的创建方法、装置、设备及存储介质 Pending CN117540712A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311472745.3A CN117540712A (zh) 2023-11-06 2023-11-06 表单的创建方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311472745.3A CN117540712A (zh) 2023-11-06 2023-11-06 表单的创建方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN117540712A true CN117540712A (zh) 2024-02-09

Family

ID=89785324

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311472745.3A Pending CN117540712A (zh) 2023-11-06 2023-11-06 表单的创建方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN117540712A (zh)

Similar Documents

Publication Publication Date Title
CN109614424B (zh) 页面布局生成方法、装置、计算设备和介质
CN110673848B (zh) 一种基于JavaWeb的企业信息管理系统配置装置
CN109408764B (zh) 页面区域划分方法、装置、计算设备和介质
EP4231137A1 (en) Spreadsheet-based software application development
US20090282349A1 (en) System and method for dynamic configuration of components of web interfaces
CN106293653B (zh) 代码处理方法及装置、计算机可读介质
US20150007084A1 (en) Chaining applications
US9304746B2 (en) Creating a user model using component based approach
US20110022635A1 (en) Method and System to Formulate Queries With Minivisuals
Oak et al. Dynamic Forms UI: Flexible and Portable Tool for easy UI Design
CN112800370A (zh) 业务单据的处理方法、装置、计算机设备和存储介质
US20230214545A1 (en) Smart render design tool and method
US10776351B2 (en) Automatic core data service view generator
JP2011180796A (ja) コンテンツ共有システム
JPWO2011118003A1 (ja) ウェブアプリケーション構築システム、ウェブアプリケーション構築方法、ウェブアプリケーション構築プログラムおよびウェブアプリケーション構築プログラムを記録した記録媒体
US10922059B2 (en) Integrating application features into a platform interface based on application metadata
KR101787010B1 (ko) 웹사이트 빌더에서 데이터베이스를 위지윅으로 구축하는 방법 및 시스템
JP2000067075A (ja) データベース検索システム,検索用サーバ装置,クライアント端末およびそれらのプログラム記録媒体
CN111367514A (zh) 页面卡片的开发方法和装置、计算设备和存储介质
US10896161B2 (en) Integrated computing environment for managing and presenting design iterations
US20210004524A1 (en) Catalog file creation assistance device, catalog file creation assistance method, and catalog file creation assistance program
WO2023045412A1 (zh) 页面创建方法、装置和系统、计算机装置和存储介质
CN117540712A (zh) 表单的创建方法、装置、设备及存储介质
US20200349635A1 (en) System and method for content creation tool for use with shoppable content data
CN111124386B (zh) 基于Unity的动画事件处理方法、装置、设备和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination