camunda快速入门(三):设计表单和审批流程

news/2024/11/20 6:23:46/文章来源:https://www.cnblogs.com/hibpm/p/18290414

三、设计一个人工任务流程并配置表单

在本节中,您将学习如何使用 BPMN 2.0 用户任务让人类参与到您的流程中。

1、添加用户任务活动节点

我们想修改我们的流程,以便我们可以让人类参与进来。

为此,请在 Camunda Modeler流程建模工具中打开该过程。

选择创建/删除空间工具 (<||>),并使用它来在“开始事件”和“Charge Credit Card(从信用卡中扣款)”服务任务之间创建空间(单击并将光标拖动到右侧)。

接下来,从建模器的左侧菜单中,选择活动形状(圆角矩形),并将其拖动到“开始事件”和“从信用卡中扣款”服务任务之间的位置。将其命名为“Approve Payment(批准付款)”。

将用户任务添加到流程 (4_6) _docs.camunda.org406

通过单击活动类型并使用扳手按钮菜单将活动类型更改为“用户任务”。

2-将用户任务添加到流程(1)

2、配置用户任务处理人

接下来,打开属性视图。如果属性视图尚不可见,请单击 Modeler 画布右侧的“属性面板”标签。

在画布上选择“用户任务”。这将更新属性视图中的选择。滚动到名为 Assignee的属性。键入 demo 以在进程运行后自动将任务分配给演示用户。

3-设置流程处理人

3、在用户任务中配置表单

此步骤也将在属性面板中进行。如果面板尚不可见,请单击 Modeler 画布右侧的“属性面板”标签。

在画布上选择“用户任务”,单击属性面板中的Forms选项卡。

本指南使用Camunda Forms将表单添加到流程中。我们将创建一个名为payment.form的表单。设置以下字段以将此过程链接到您将要创建的表单:

  • Type: Embedded or External Task Forms
  • Form Key: camunda-forms:deployment:payment.form

01-表单配置

4、通过表单设计器设计表单

现在,通过单击“文件”>“新建文件”>“表单”创建新表单Form_Payment。

01-表单设计器

您可以通过从左侧的表单组件中拖放元素来添加表单字段。添加以下三个表单字段:

字段 1:

  • Type: Number
  • Key: amount
  • Field Label: Amount

02-表单字段1

字段 2:

  • Type: Text Field
  • Key: item
  • Field Label: Item

03-表单字段2

字段 3:

  • Type: Checkbox
  • Key: approved
  • Label: Approved?

04-表单字段3

最后,将表单另存为 payment.form

5、部署流程和表单

  1. 切换回流程图
  2. 单击 Camunda Modeler 中的 Deploy 按钮
  3. 在部署面板中,选择“包括其他文件”下的文件payment.form
  4. 单击“部署”

1-部署流程

6、发起流程验证

转到任务列表 (http://localhost:8080/camunda/app/tasklist/) 并使用用户“demo / demo”登录。点击启动流程按钮启动流程实例。这将打开一个对话框,您可以在其中从列表中选择Payment Retrieval 流程。现在,您可以使用表单为流程实例设置变量了。

IMG_267

单击“ Add a variable(添加变量)”按钮以创建新行,填写表单完成后,单击“Start(开始)”启动一个流程。

提示:

如果在任务列表中看不到任何任务,则可能需要一个筛选器。通过单击左侧的添加简单过滤器来添加一个过滤器。

现在,您应该会在任务列表中看到“ Approve Payment(批准付款)”任务。选择任务,然后单击“图表”选项卡。这将显示流程图,突出显示等待处理的用户任务。

2-待办任务流程实例

若要处理该任务,请选择“Form 窗体”选项卡。由于我们在 Camunda Modeler 的“Form 表单”选项卡中定义了变量,因此“任务列表”已为我们自动生成表单字段。

3-待办任务表单

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/

接下来,让我们看一下如何将网关添加到流程中,让流程变得更加动态,通过网关执行控制不同的流程走向。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/740674.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微信电脑版v3.9.11.17防撤回插件

下载链接:https://download.csdn.net/download/hello_hlqk/89525196?spm=1001.2101.3001.9500 通过该插件,可以看到对方撤回的消息。 修改原理,如下图:使用说明: 解压后,双击start.bat来运行软件

大厂面试高频题——二分查找

35. 搜索插入位置 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 思考 二分模板题 class Solution:def searchInsert(self, nums: List[int], target…

如何解决网页打开加载缓慢问题

以我为例 今天打开B站发现很多视频打开之后一直是加载状态,加载半天也打不开,还有知乎跳转到csdn也无法正常打自己捣鼓的许久发现可以通过修改DNS来解决 首先打开此电脑→找到网络→右键点击属性→左上角更改适配器设置→选择你的网络双击→点击属性→找到Internet 协议版本4…

服务器开发——setsockopt函数

setsockopt() setsockopt() 是一个用于设置套接字选项的 Unix 系统调用。它允许程序员修改套接字的行为,以适应不同的网络环境和应用程序需求。 1. 函数介绍 函数原型: #include <sys/socket.h> /*** level:选项所在的协议层。例如,SOL_SOCKET 表示套接字层,IPPRO…

Python OpenCv对规则物体进行实时检测

很多情况需要对物体进行检测,常规的方法也有很多种。但是检测出来的边缘一般都是非常多,结果也是非常杂乱的,显然这种结果不是我们想要的。如果颜色相较于背景非常鲜艳的可以调节hsv阈值再进行检测,如果是一直在运动的物体可以通过帧差法进行物体检测,还有很多高深的算法也…

学习canvas(一些常用api)

当然,以下是这些常用Canvas API的总结,按照Markdown格式编写: 常用Canvas API总结 1. 获取绘图上下文 const canvas = document.getElementById(myCanvas); const ctx = canvas.getContext(2d); // 或 webgl2. 绘制矩形 ctx.fillStyle = blue; ctx.fillRect(10, 10, 150, 10…

uniapp 解决本地跨域问题

让每一滴智慧绘制成一条不归路!

UniVAE:基于Transformer的单模型、多尺度的VAE模型

大家都知道,Transformer的$\mathscr{O}(n^2)$复杂度是它的“硬伤”之一。不过凡事有弊亦有利,$\mathscr{O}(n^2)$的复杂度也为Transformer带来很大的折腾空间,我们可以灵活地定制不同的attention mask,来设计出不同用途的Transformer模型来,比如UniLM、K-BERT等。 本文介绍…

从变分编码、信息瓶颈到正态分布:论遗忘的重要性

这是一篇“散文”,我们来谈一下有着千丝万缕联系的三个东西:变分自编码器、信息瓶颈、正态分布。 众所周知,变分自编码器是一个很经典的生成模型,但实际上它有着超越生成模型的含义;而对于信息瓶颈,大家也许相对陌生一些,然而事实上信息瓶颈在去年也热闹了一阵子;至于正…

应用升级

本文是在你已经安装三个软件的基础上进行优化 一、卸载NFG Multi Crack软件(没有就不用管) 二、进入Lsposed软件 点击模块,可以看到已安装的两个模块1. 点击FL-Xposed,勾选以下应用,然后返回2. 点击HookVip,勾选Fakelocation,然后返回三、进入隐藏应用列表软件 1. 点击模…

哪些方法可以将word导出为pdf格式?

在日常工作和学习中,我们经常需要将Word文档转换为PDF格式,以便更好地保存、分享和打印文件。PDF格式具有跨平台兼容性好、不易被篡改等优点,因此得到了广泛应用。那么Word如何转PDF呢?本文将介绍三种实用的word转pdf的方法,帮助读者轻松实现文档格式的转换。 方法一:使用…

2024春秋杯 stdout

考点:文件,setvbuf缓冲区,ret2syscall,ret2csu 题目给了libc文件。 main函数和vlun函数存在明显的栈溢出 int __cdecl main(int argc, const char **argv, const char **envp) {char buf[80]; // [rsp+0h] [rbp-50h] BYREFinit(argc, argv, envp);puts("where is my s…