# SuperPage交互-执行流程
当需要在SuperPage中使用工作流时,比如使一个请假或报销流程能够正常流转,这涉及到两个关键点:
本文主要讲解如何使用执行流程交互去处理流程任务,如下动图就是通过执行流程交互来批准请假申请:
# 使用执行流程
一个工作流想要正常运转通常至少需要具备两个页面:
- 任务列表:用于展示当前用户所有待办或已办的流程任务,通常使用工作流数据源我的待办制作,设置方法可参考引入数据文档
- 表单页面:用于发起人填报申请信息,处理人进行审批操作的页面,通常是从任务列表跳转到对应任务的处理表单页面
执行流程交互主要应用于上述提到的表单页面中,且大部分情况都是在做审批处理的表单页面中使用,执行流程交互会根据从任务列表传递过来的任务代码按照配置的流程操作去处理指定的流程任务,以请假流程的审批页面中的批准按钮为例:
- 按钮组件添加交互:选中按钮组件,在交互中添加执行流程
- 指定流程任务来源:
- 指定流程操作:在流程操作设置中可选择以什么样的方式来处理流程,此处默认选择批准操作
- 指定处理意见:勾选指定处理意见后,将输入意见的组件值添加到设置中
# 定位待处理的流程任务
使用执行流程交互,首先需要确定当前在处理的是什么流程任务,比如当前流程任务在处理的是张三发起的请假申请,流程节点走到了组长审批环节。这些任务信息需要通过交互属性目标流程任务中的设置来获取,目标流程任务设置中提供了多种设置选项,下面分章节介绍不同选项的设置方法以及应用场景。
# 来自流程数据源
从一个流程数据源中,通过其模型设置中提供的任务代码,可以获取到当前在处理的流程任务信息。往往在当前页面需要使用流程数据源来展示流程任务的表单信息时使用。如请假申请的审批页面需要通过流程数据源来展示申请人填写的申请信息,此时可直接借助流程数据源请假申请表
来获取当前处理的请假流程的任务信息。这种方式下的执行流程,有以下关键点:
# 用户批量选择
任务信息可以从一个带有流程任务代码的数据列表中获取。往往应用在申请信息在列表中一目了然,审批人希望直接在列表上批量勾选一批数据同时批准或否决的场景。如请假流程,其申请信息足够简单,审批人往往希望直接批量处理自己的待审批任务。在将属性目标流程任务设置为用户批量选择后,具体设置属性如下:
- 数据:选择SuperPage中的引入模型,不限模型类型,但模型中需要包含记录任务代码的字段
- 任务代码:可在模型字段范围中选择,批量处理流程任务时,通过选择的字段内容得到任务代码从而定位到对应的流程任务
- 数据范围:可选择勾选的或当前行,用于确定要处理的流程任务范围
- 数据组件:数据范围选择勾选的时可以设置,选择勾选数据的对象组件
# 指定任务代码
任务信息还可以从指定的任务代码中获取。往往应用于在任务列表行中去处理当前行的流程任务。参考批量处理请假申请的场景,用户可能不想批量勾选处理而是根据列表行上展示的信息来逐条点击行上的处理按钮来执行流程。这种设置下有以下几点需要注意:
- 仅支持通过表达式设置单个任务代码
- 设置的任务代码必须是当前用户可处理的,否则触发交互时系统会自动给出提示信息,可处理的任务是指:
- 任务代码对应的流程任务是分配给当前用户的
- 任务代码对应的流程任务尚未被处理
TIP
与从流程数据源中获取任务信息来处理流程任务不同,指定任务代码设置通常是应用在不需要进入到表单页面来处理流程任务时的场景。
# 流程操作
在交互设置流程操作中提供了工作流中审批相关的流程操作,如批准,否决,退回等。详细说明可参考流程操作文档。
TIP
在流程节点的设置上也可以配置流程操作,需要注意的是,在执行某流程节点的任务时,如果触发的操作是流程节点上未配置的,则会提示用户不能使用未配置的操作。如请假申请的组长审批节点中只配置了批准和退回操作,则此时通过交互去否决该流程任务是不被允许的。
# 指定处理意见
交互设置指定处理意见,勾选后可以通过表达式来设置流程任务处理时的处理意见,通常是取页面某输入组件的值。
- 表单页面中需要提供输入处理意见的输入组件
- 执行流程交互勾选指定处理意见属性后,需要将输入组件的值设置到表达式中
- 交互执行时,系统自动将对应输入组件的内容记录到流程任务表的处理意见字段中
TIP
如果处理意见是不需要记录在业务表中的,则审批页面中提供的输入处理意见的输入组件都是不需要绑定提交字段的。
# 指定跳转节点
交互设置指定跳转节点,用于流程退回时可自由指定要退回到的节点的场景。在流程节点的退回操作设置中,可将多个节点设置为可退回的节点。以下图部门经理审批节点为例:
当张三发起请假申请,经由他的项目经理李四审批通过后,申请到达部门经理审批节点,由王五处理。此时针对退回有以下两种情况:
- 不指定跳转节点时,默认退回到离当前节点最近的流程节点,即项目经理审批节点
- 指定跳转节点时,所添加表达式的计算结果需要是流程节点的节点ID,例如此处可以直接指定为申请节点的节点ID,则退回时直接退到申请节点。节点ID的设置可参考绘制工作流文档
TIP
指定跳转节点的表达式支持设置多个节点ID,多个节点ID之间逗号分隔,只支持并行分支的场景,如对一份合同进行审批,需要A,B,C三个部门并行审批后再由领导审批,领导审批时,可能A,B部门的资料提交错误,此时可以通过指定跳转节点设置只退回A,B审批的节点,部门C无需处理。
# 提示信息设置
执行流程交互完成前后可自定义提示信息,设置后会在交互动作完成前后弹出对话框确认,具体设置可参考提交表单。