一种数据联动交互的方法
文献发布时间:2023-06-19 11:16:08
技术领域
本发明涉及数据联动交互领域,特别涉及一种数据联动交互的方法。
背景技术
在信息化过程中,大多数企业都会采用一个或者更多的软件系统进行服务及管理,初衷是提升效率、节约成本,而实际情况是,因为系统间的闭塞,无法形成有效的数据联动与交互,导致各系统变成了数据孤岛,很多有价值的数据需要通过人工,在多个系统中复制粘贴、导出导入,严重降低了效率和效能,事与愿违。通过可视化界面的操作,快速构建企业应用,满足繁杂多变的业务需求;通过跨平台数据整合能力,打破系统间的壁垒,真正做到数据信息共享共通,从根本上解决“数据孤岛”的问题。
发明内容
为了解决上述技术问题,本发明中披露了一种数据联动交互的方法,本发明的技术方案是这样实施的:
一种数据联动交互的方法,步骤如下:
S1,建立一个可视化界面提供给用户;
S2,在可视化界面中设定表单间数据联动规则;
S3,生成监听表单间数据变化功能;
S4,根据设定的联动规则结合监听表单功能实现表单间数据联动交互。
优选地,所述联动规则包括异步数据、同步数据和字段显隐。
优选地,S2步骤中设置异步数据规则时首先设置数据源,随后设置筛选条件。
优选地,S2步骤中设置同步数据规则包括设置筛选计算公式。
优选地,生成监听表单间数据变化的步骤如下:
S3.1,设定联动规则后生成整张表单所对应Json数据,根据Json数据生成FormGroup对象;
S3.2,给表单控件实施例化valueChanges对象;
S3.3,FormGroup对象对值更新进行订阅,valueChanges进行订阅,生成的所有订阅在核心service中保存;
S3.4,将联动处理的规则绑定至订阅回调中。
优选地,S4步骤中联动处理的具体步骤如下:
S4.1,生成所有联动字段的映射;
S4.2,valueChanges监听到字段变化;
S4.3,根据字段变化判断是否触发联动规则;
S4.4,判断联动规则并进行联动处理。
优选地,S4.4步骤中联动处理包括异步获取和同步获取。
实施本发明的技术方案可解决现有技术中企业信息管理中系统多而杂,管理不便,导致数据联通交互困难,容易出现数据孤岛的技术问题;实施本发明的技术方案,通过可视化界面的操作,快速构建企业应用,满足繁杂多变的业务需求;通过跨平台数据整合能力,打破系统间的壁垒,真正做到数据信息共享共通,从根本上解决数据孤岛的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一种实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
其中相同的零部件用相同的附图标记表示。需要说明的是,下面描述中使用的词语“前”、“后”、“左”、“右”、“上”和“下”指的是附图中的方向,词语“底面”和“顶面”、“内”和“外”分别指的是朝向或远离特定部件几何中心的方向。
图1为联动规则设定结构简图;
图2为表单控件监听结构简图;
图3为数据联动处理结构简图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例
在一种具体的实施例中,如图1、图2和图3所示,
一种数据联动交互的方法,步骤如下:
S1,建立一个可视化界面提供给用户;
S2,在可视化界面中设定表单间数据联动规则;
S3,生成监听表单间数据变化功能;
S4,根据设定的联动规则结合监听表单功能实现表单间数据联动交互。
联动规则包括异步数据、同步数据和字段显隐。
S2步骤中设置异步数据规则时首先设置数据源,随后设置筛选条件。
S2步骤中设置同步数据规则包括设置筛选计算公式。
生成监听表单间数据变化的步骤如下:
S3.1,设定联动规则后生成整张表单所对应Json数据,根据Json数据生成FormGroup对象;
S3.2,给表单控件实施例化valueChanges对象;
S3.3,FormGroup对象对值更新进行订阅,valueChanges进行订阅,生成的所有订阅在核心service中保存;
S3.4,将联动处理的规则绑定至订阅回调中。
优选地,S4步骤中联动处理的具体步骤如下:
S4.1,生成所有联动字段的映射;
S4.2,valueChanges监听到字段变化;
S4.3,根据字段变化判断是否触发联动规则;
S4.4,判断联动规则并进行联动处理。
S4.4步骤中联动处理包括异步获取和同步获取。
在本实施例中,提供一个可视化界面供用户进行联动配置,通过可视化界面的操作,快速构建企业应用,满足繁杂多变的业务需求。
规则的设定:
包括设定三种类型的数据联动规则:异步数据、同步数据、字段显隐。
设置异步数据:需要设置数据来源,数据源可以来自系统中其他表单,也可以通过openApi等方式去其他系统中拉取数据,具有一定的灵活性和一定的开放性;设置完数据源后,如果字段还需与其他字段一起参与联动,那么可以继续设置与之相关的筛选条件;
设置同步数据:由于同步数据的数据源就在当前表单中,不需经过http去请求,所有数据来源就在当前表单中;将当前字段需要计算的公式通过约定的公式表达式填写,参与计算的字段在表达式中用约定的token所表示,一般为特殊字符与字段唯一标识相组合的形式(如#123$,123为字段的key值,也是唯一标识);
设置字段显隐:与设置同步数据相同的是,使用约定好的字段token,拼接成当前字段是否显示的表达式,表达式需要返回Boolean值,为true的话为显示,false为不显示。
表单的监听:
规则的设定会生成整张表单所对应Json数据,数据中包含了表单字段的类型、名称、校验规则等等一系列特性,当然其中也包含了最重要的联动规则;
Json对象为一个可迭代的数据结构,遍历Json对象,根据配置规则生成FormGroup对象。FormGroup对象由多个FormControl对象构成。FormGroup对象为Json控件数据结构到表单数据结构的一个映射,FormGroup中只有和表单状态相关的属性,该对象用来统一管理表单状态;
每个控件对应的formControl对象中存在一个valueChanges属性,该属性的值为一个Observable对象,作为观察者模式中的被观察者;
在整个FormGroup生成完毕后,会对FormGroup中所有的FormControl对象的valueChanges进行订阅,生成的所有订阅在核心service中保存,以便于统一的处理以及取消订阅等操作;
用户在表单任一控件上的输入都会出发监听,监听到输入内容后会携带当前输入值,以及当前控件实例等信息,以参数的形式传递给订阅中的方法进行处理,详细的处理方法会在下面的联动处理中解释。
联动处理:
需要从配置好的json解析出所有字段间的联动关系(主要是解析表达式中的字段token),联动关系以hashMap的方式存储在核心service中;
当表单控件的值有变化时,会触发订阅者中的处理方法。处理方法会判断当前变化的字段是否为会触发关联的字段(通过在hashMap中查找,当前字段作为trigger是否有对应的值),如果不存在,直接结束处理。存在进入下面的处理函数;在hashMap中通过trigger找到target目标字段,然后判断目标字段的值类型。通过值类型的不同,获取值的方式有两种,一种是同步获取,一种是异步获取;
异步获取:将联动的trigger的值作为筛选条件,组装成发起http请求所需要的post数据,然后根据数据源所提供的openApi向所对应的地址发起http请求,等待数据返回。返回数据后,为了能够兼容将数据填入表单的这一过程,需要对数据进行一些简单的处理。将处理过后的数据填入target字段;
同步获取:
(1)公式类:在hashMap中通过trigger找到target,读取target中的公式表达式,将表达式中对应在表单中字段的token转换成表单字段真实的值。将转换过的公式表单式传入公式插件,获取计算过的值。将计算过的值填入target字段。
(2)显隐类:在hashMap中通过trigger找到target,读取target中的显隐表达式,将表达式中对应在表单中字段的token转换成表单字段真实的值。转换过的值为boolen类型,根据boolean值为true或false,将target字段的可见属性设置为可见或不可见。(本实施例将显隐规则触发归于同步获取进行处理,如图3)
需要指出的是,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
- 一种数据联动交互的方法
- 多数据联动交互方法和装置