1. 动态表单特点
一般而言,工作流引擎常用表单有三种:普通表单、外置表单和动态表单。各自都有其优缺点,可根据具体场景灵活选用。需要说明的是,三种表单方式只是在任务节点上用户的表单定义方式上面有差别,而流程的运转机制则完全相同。
image.png
如图所示,区别于普通表单和外置表单,动态表单是直接将工作流节点处的表单嵌入流程定义文件BPMN中,系统利用JS或者模板引擎根据流程定义中表单定义的各个子控件及其属性动态渲染出表单加载出来。
2. 动态表单流程设计
在模板管理界面,点击新增模板按钮,进入流程模板设计页面。
image.png
编辑流程信息:流程key、流程name等:
image.png
拖拽添加启动节点,点击启动节点,在下面的属性中点击动态表单属性:
image.png
编辑启动节点的动态表单属性,编辑活动编号、名称、类型、必输、可读、可写等属性后,点击保存:
image.png
添加下一个活动事件,并编辑该节点属性信息,重点是代理、和动态表单属性信息:
image.png
点击代理,编辑该事件的代理人、候选人(组),点击保存:
image.png
中间流程设计不详细讲述,最后添加一个结束节点并连接:
image.png
动态表单节点的常用属性介绍:
TIM截图20180705173841.png
TIM截图20180705174046.png
流程全部设计完成后,点击保存按钮进行保存:
image.png
在流程玩法-流程列表界面点击部署流程按钮:
image.png
3. 流程列表
流程部署成功后,在待启动流程列表界面可以看到已部署的流程:
image.png
点击启动按钮,弹出启动节点的动态表单,输入信息后点击启动流程按钮:
image.png
4. 任务列表
启动成功后,登录流程设计的该节点候选人(组)用户登录,在任务列表界面可以看到该流程,并可以点击签收按钮进行签收:
image.png
签收成功后,该项操作会变成“办理”状态,可以点击进行办理:
image.png
点击办理按钮,弹出该节点定义的动态表单,并进行提交操作:
image.png
5. 运行中流程
点击运行中流程菜单可以查看已启动但未结束的流程列表,并且可以查看每个流程正在运行的节点:
image.png
点击当前节点,可以查看每个流程图及当前运行节点位置:
image.png
6. 已结束流程
在已结束流程页面可以看到已经结束的流程列表:
image.png
7. 动态表单开发关键点
标准流程的启动和运转直接调用Activiti的通用API即可实现,下面主要从以下几个方面讲解。
1) 动态表单渲染
动态表单将表单定义在了流程定义的文件中,因此在启动节点和任务节点处能分别通过流程定义ID和任务ID去获取节点处的表单属性JSON,如下所示:
获取启动节点处表单数据链接:
获取表单定义数据结果:
*{*
*"form":{*
*"deploymentId":"47512",*
*"f