三、设计一个人工任务流程并配置表单
在本节中,您将学习如何使用 BPMN 2.0 用户任务让人类参与到您的流程中。
1、添加用户任务活动节点
我们想修改我们的流程,以便我们可以让人类参与进来。
为此,请在 Camunda Modeler流程建模工具中打开该过程。
选择创建/删除空间工具 (<||>),并使用它来在“开始事件”和“Charge Credit Card(从信用卡中扣款)”服务任务之间创建空间(单击并将光标拖动到右侧)。
接下来,从建模器的左侧菜单中,选择活动形状(圆角矩形),并将其拖动到“开始事件”和“从信用卡中扣款”服务任务之间的位置。将其命名为“Approve Payment(批准付款)”。
通过单击活动类型并使用扳手按钮菜单将活动类型更改为“用户任务”。
2、配置用户任务处理人
接下来,打开属性视图。如果属性视图尚不可见,请单击 Modeler 画布右侧的“属性面板”标签。
在画布上选择“用户任务”。这将更新属性视图中的选择。滚动到名为 Assignee的属性。键入 demo 以在进程运行后自动将任务分配给演示用户。
3、在用户任务中配置表单
此步骤也将在属性面板中进行。如果面板尚不可见,请单击 Modeler 画布右侧的“属性面板”标签。
在画布上选择“用户任务”,单击属性面板中的Forms选项卡。
本指南使用Camunda Forms将表单添加到流程中。我们将创建一个名为payment.form的表单。设置以下字段以将此过程链接到您将要创建的表单:
- Type: Embedded or External Task Forms
- Form Key: camunda-forms:deployment:payment.form
4、通过表单设计器设计表单
现在,通过单击“文件”>“新建文件”>“表单”创建新表单Form_Payment。
您可以通过从左侧的表单组件中拖放元素来添加表单字段。添加以下三个表单字段:
字段 1:
- Type: Number
- Key: amount
- Field Label: Amount
字段 2:
- Type: Text Field
- Key: item
- Field Label: Item
字段 3:
- Type: Checkbox
- Key: approved
- Label: Approved?
最后,将表单另存为 payment.form
5、部署流程和表单
- 切换回流程图
- 单击 Camunda Modeler 中的 Deploy 按钮
- 在部署面板中,选择“包括其他文件”下的文件payment.form
- 单击“部署”
6、发起流程验证
转到任务列表 (http://localhost:8080/camunda/app/tasklist/) 并使用用户“demo / demo”登录。点击启动流程按钮启动流程实例。这将打开一个对话框,您可以在其中从列表中选择Payment Retrieval 流程。现在,您可以使用表单为流程实例设置变量了。
单击“ Add a variable(添加变量)”按钮以创建新行,填写表单完成后,单击“Start(开始)”启动一个流程。
提示:
如果在任务列表中看不到任何任务,则可能需要一个筛选器。通过单击左侧的添加简单过滤器来添加一个过滤器。
现在,您应该会在任务列表中看到“ Approve Payment(批准付款)”任务。选择任务,然后单击“图表”选项卡。这将显示流程图,突出显示等待处理的用户任务。
若要处理该任务,请选择“Form 窗体”选项卡。由于我们在 Camunda Modeler 的“Form 表单”选项卡中定义了变量,因此“任务列表”已为我们自动生成表单字段。
7、源码和文档
在线体验系统:http://www.yunchengxc.com
源代码下载:https://github.com/camunda/camunda-get-started-quickstart/archive/Step-3.zip
官方文档地址:https://docs.camunda.org/get-started/quick-start/user-task/
接下来,让我们看一下如何将网关添加到流程中,让流程变得更加动态,通过网关执行控制不同的流程走向。