通常,StartEvent和UserTask会调用任务表单,任务表单主要有如下几种使用方式:
- Embedded Task Forms ,嵌入式任务表单,其实就是自己写html。
- Camunda Forms,使用Camumda modeler制作表单得到xxxx.form,然后通过Form Key或者Form Reference的方法引用表单。
- Generated Task Forms,生成的任务表单,就是直接在Camunda Modeler中编辑StartEvent或UserTask的表单的字段。
使用Embedded Task Forms
详细可参考这篇文章。
使用Camunda Forms
当表单不复杂,比较简单时可以使用Camunda Forms。
使用Camunda Modeler制作Camunda Forms,文件名以.form为后缀。
看个例子吧。
使用Camunda Modeler创建报销审批流程expense_approval.bpmn
- Start Event
Id:apply
Name:报销申请 - User Task
Id:check
Name:报销审批
Assignee:demo - End Event
Id:processed
Name:处理完成 - expense_approval.bpmn
点击任意空白处,设置路程图的Id、Name,勾选Executable。
Id:expenseApproval
Name:报销审批业务流
将文件另存为expense_approval.bpmn。
使用Camunda Modeler创建报销申请表单apply.form
- 添加Text Field
Field Label:申请人
Key:applicant - 添加Number
Field Label:报销金额
Key:amount - 得到表单apply.form
点击任意空白处,设置表单id为form4Apply
。
最后,将表单另存为apply.form。
使用Camunda Modeler创建报销审批表单check.form
- 添加Select
Field Label:审批意见
Key:approved
Values:
Label:同意,Value:true
Label:不同意,Value:false - 得到表单check.form
点击任意空白处,设置表单id为form4Check
。
最后,将表单另存为check.form。
流程图引用表单
流程图的StartEvent(报销申请)引用表单apply.form。
流程图的UserTask(报销审批)引用表单check.form。
引用方式有两种,通过Form Key或者Form Ref。
- 通过Form Key引用Camunda Form
Type:Embedded or External Task Forms
Form Key:embedded:app:forms/apply.form
Form Key:embedded:app:forms/check.form
- 通过Form Ref应用Camunda Form
Type:Camunda Forms
Form Key:form4Apply
Form Key:form4Check
启动Camunda Cloud Run
使用Camunda Modeler部署表单和流程应用
Generated Task Forms
Generated Task Forms,也就是在Camunda Modeler编辑表单字段,最后生成表单。
使用Camunda Modeler创建报销审批流程expense_approval.bpmn
同上。
编辑报销申请表单的表单字段
针对StartEvent(报销申请),创建两个字段:applicant和amount。
-
字段applicant
ID:applicant
Type:string
Label:申请人
Default Value:张三
-
字段amount
ID:amount
Type:long
Label:金额
Default Value:1000
编辑报销审批表单的表单字段
针对UserTask(报销审批),创建字段:approved。
ID:approved
Type:boolean
Label:审批意见
Default Value:true
启动Camunda Cloud Run
同上。