[发明专利]一种自定义表单控件间配置执行的方法在审
申请号: | 202111564766.9 | 申请日: | 2021-12-20 |
公开(公告)号: | CN114185528A | 公开(公告)日: | 2022-03-15 |
发明(设计)人: | 任瀚 | 申请(专利权)人: | 四川启睿克科技有限公司 |
主分类号: | G06F8/33 | 分类号: | G06F8/33;G06F8/34;G06F8/38 |
代理公司: | 四川省成都市天策商标专利事务所(有限合伙) 51213 | 代理人: | 刘兴亮 |
地址: | 610000 四川省成都市中国(四川)*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 自定义 表单 控件 配置 执行 方法 | ||
1.一种自定义表单控件间配置执行的方法,其特征在于,包括以下步骤:
步骤1.点开配置页面,页面根据自定义的控件表单渲染出控件列表详情;
步骤2.根据渲染的控件列表详情,选择联动触发的控件,和选择联动结果控件,形成控件多对对应关系;
步骤3.在逻辑配置区域,通过输入、拖拽已有方法、植入三方方法,选择联动逻辑控件,配置文字形式逻辑关系;
步骤4.经由页面对配置的联动进行检查,校验是否存在死循环,若有死循环告知用户检查,若无继续将配置的文件逻辑转译成可执行的JS代码块,并封装保存后发送给后端,同时提取执行块的依赖方法,抽离组装成依赖库发送给后端;
步骤5.点开表单页面,此时从表单ID查询到联动配置ID,通过接口请求从后端请求到配置保存的联动触发配置、控件联动代码块、与执行方法依赖库,将根据触发关系将联动代码储存在对应的控件中,同时执行依赖库,声明所需要的依赖方法;
步骤6.点击有配置联动的控件,触发其联动方法,从自身联动属性中截取出执行代码块并沙盒执行,若成功将按照配置的联动逻辑,对多控件进行取值、判断、运算,并将运算结果按照配置的方式触发其它控件的联动,进行链式触发,最终满足页面需要的逻辑联动。
2.如权利要求1所述的一种自定义表单控件间配置执行的方法,其特征在于,联动控件关系配置界面通过Angualr2的Directive功能,定义各类辅助指令与功能类;通过getAllEle类,获取自定义表单的控件,抽离成独立的控件列表,脱离其控件自带的联动配置方式,进行多控件间的联动关系自由配置;针对每个控件生成唯一的联动的linkId供给联动模块linkage使用。
3.如权利要求1所述的一种自定义表单控件间配置执行的方法,其特征在于,控件的触发端与作用端选择的同时,由createLink指令同步生成联动的对应关系,以单个或者多个控件联动影响多个或者单个控件的关系描述字符串形式,保存在该条linkage的linkTarget与linkResult,并根据配置的多条联动输入端输出端检测,校验出多条配置中的联动死循环情况。
4.如权利要求1所述的一种自定义表单控件间配置执行的方法,其特征在于,配置中由业务人员针对每次配置单独的业务逻辑组装编辑,联动逻辑配置采用内嵌的JS编辑方式,采用textarea标签+自定义的Angular2 Directive类editLogic,可拖拽选择内置的功能方法originFunc的子集,选择获取参与联动的控件;在监听到编辑停止时,将页面中以中文控件名+拖拽产生的方法名+原生JS代码,经由editLogic形式整合控件的逻辑关系,存在绑定字段eventCode与resultsCode,存储在linkage。
5.如权利要求1所述的一种自定义表单控件间配置执行的方法,其特征在于,配置控件与其联动关系,采用无解析代码的字符串模式进行展现和存储,在配置界面保存时,通过编写的eventOperation类,对linkage对象进行循迹检索,对上述存储在linkage的eventCode、resultsCode、linkResult字符串进行转义,生成开箱即可用的可执行JS代码块以JSON格式储存在linkage的eventCode,然后会解析配置的多条联动方法,从方法库中提取依赖的功能方法,集合成此表单联动的单独依赖库,以JSON字符串存储在linkage的linkFunc中。
6.如权利要求1所述的一种自定义表单控件间配置执行的方法,其特征在于,使用界面在页面DOM加载完成的同时,数据库根据linkId请求出对应的linkage,使用JS编写的linkOpeation类的功能,加载此表单需要使用的联动方法的依赖库linkFunc,并解析到界面中提前执行,在页面声明功能方法;同时使用JS编写的linkBing类的功能,根据linkage提供的linkTarget,将linkage中的eventCode可执行代码块植入相应的触发控件中,仍以字符串形式存储到控件的联动属性中,等到某个控件触发联动时,提取它的联动JS代码,使用linkOpeation类中的runCode方法,直接在try catch模块中容错执行。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川启睿克科技有限公司,未经四川启睿克科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111564766.9/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种屏幕显示方法
- 下一篇:一种木质粉用温控式层级烘干设备及其方法