在项目开发过程中,表单内的子表数据处理常伴随复杂的逻辑与判断,对开发者而言是一大挑战。不过,别担心,逻辑控制和服务编排能够助您轻松应对!
员工绩效批量审核的案例,将展示如何有效地进行子表设值以及整体数据的解析与判断。通过学习,您将对处理子表中的复杂逻辑有更深入的理解。
在案例中,需设值子表展示审批人员,并在保存时解析子表数据,检查绩效评分不及格时是否已填不合格原因。
通过选择待审批部门,在子表中展示出该部门所有需要审批的人员。下拉框可配置静态数据、资产数据及字典数据,这里以静态数据为例,配置选项。
在下拉框-交互中新增交互事件,配置子表设值逻辑控制。
选择下拉框选项时,开始节点获取该选项的值,作为查询数据的筛选条件。使用操作变量节点,类型选择“定义变量”,获取对应部门的人员信息,具体如下图所示。此时输出的对象数组属性名为数据表中字段名,无法与子表对应上,需要转换后才能进行设值。使用常用函数节点-属性名转换,修改employee_info中属性名,在属性列表中输入旧属性名以及新属性名,即可进行转换。
转换完成之后,使用组件动作进行设值,选择子表,选择动作——设值,选择对应变量即可完成设值。
在保存时,获取子表的整体数据进行解析,判断绩效评分不及格时是否填写不合格原因。
首先确认触发时间,当我们在保存表单数据时,对子表数据进行取值解析,判断是否保存,这里我们将触发时间选择为“表单保存时”,并创建逻辑控制。使用逻辑控制-组件动作节点对子表进行列取值,列选择“绩效评分”、“不合格原因”,返回值为content,类型为对象数组。在服务编排节点中新增参数content、flag。
content用于接收组件动作输出的变量content,flag为空,不绑定变量。
服务编排开始节点接收参数content和flag,将flag变量默认值设置为“0”。使用循环判定节点解析content,定义循环游标为i、循环变量名为loop。content为对象数组,对数组中数据进行循环,循环变量类型为对象。注:循环判定节点一定要有结束,当判断不满足全部回到循环时,循环判定会走向条件线“否”的流程,这里连接到结束节点。

使用变量计算节点解析loop内容,使用Mvel表达式提取‘绩效评分’和‘不合格原因’,输出为变量score和reason。
使用分支判定检查score是否小于60且reason是否为空。当两者条件都满足时,跳出循环进入下一步;否则,继续循环。若上一步条件满足,则修改变量,将flag的值改为1。在结束节点将flag值输出,在逻辑控制-服务编排节点需要定义变量接收flag的值。条件分支节点判断flag值:等于‘0’时提交保存数据,不等于‘0’时提醒填写不合格原因,且不保存数据。👇 👇 👇
扫描二维码,重温精彩直播回放!
抢先获取新技能
