流程节点多场景多表单

工作流的流转,每一个办理过程就是一个流程节点,实际办理业务填写的表单挂到流程的节点上,流程流转的时候,打开节点上的表单,待用户填写完成提交的时候,保存业务数据并执行流程的流转。

 

业务办理过程在业务表单中完成,通常一个节点挂一个业务表单,处理一件事件。但是根据使用场景的不同,有可能会需要调用不同的业务表单。如,在手机上执行流转处理业务的时候,使用的表单就和在电脑上操作的表单不一样,是设备不同,分辨率不同,操作方式不同决定的,虽然处理的是同样一件事,执行流程的同一个节点,业务表单的表现形式可能不一样。

 

场景可以分为,手机,平板等不同的使用场景。每种场景设置一个处理表单,这样流程的每个节点就可能需要设置多个业务处理表单。



 

 

当流程节点流转执行完成后,在后续的监控过程中,可能需要查看当时处理的业务情况。这时候可以从历史轨迹中打开表单,查看当时的处理情况,当然也需要按场景来取表单,并取出业务记录来显示。

 

从历史轨迹中打开的表单,并取出业务数据查看,因为是历史步骤,已经执行过的动作,所以业务数据是只能查看不能修改的(即使提交执行动作,也会提示无效的,不能再次执行)。因此为适应历史步骤业务数据只能查看不能修改,我们可以在流程的节点处设置一个只读表单,将本节点正常流程处理时填写的信息取出来,供用户查看使用。界面的表现形式和处理的表单可以不一样,只需要显示数据就可以了。



 

流程在流转的过程中,每执行一次流转,到达下一个节点的时候,会按节点产生任务信息,并给任务参与人派发任务。当任务执行人登录到系统的时候,可以从待办任务列表中点击办理任务,继续执行流程的流转。当任务办理人执行任务的时候,按场景调取流程节点的业务处理表单,填写表单信息,办理业务。当任务设置了抄送人的时候,任务抄送人登录到系统,从抄送任务列表中点击查看抄送的任务信息时候,应该是按场景取出节点只读表单,供抄送的用户查看业务信息,抄送人只能查看,不能修改业务数据。

 

当任务办理完成,流程流转过后,任务进入已办任务列表,点击查看任务信息时,查看业务表单时,可以是节点的办理业务表单,也可以是只读表单。无论哪种表单,已经发生过的业务,都不能再次提交了。

### 在 Flowable 中为流程节点配置自定义表单 在 Flowable 工作流引擎中,可以通过种方式为流程节点配置自定义表单。这不仅有助于提高用户体验,还能增强业务逻辑的灵活性。 #### 使用 BPMN 模型编辑器设置表单键 一种常见的方法是在 BPMN 模型编辑器中通过指定 `formKey` 属性来关联表单资源文件或 URL 地址[^1]: ```xml <userTask id="taskSubmitApplication" name="提交申请"> <extensionElements> <!-- 配置表单 --> <camunda:formData> <camunda:formField id="name" label="姓名" type="string"/> <camunda:formField id="email" label="邮箱地址" type="string"/> </camunda:formData> </extensionElements> </userTask> ``` 上述 XML 片段展示了如何利用扩展元素定义简单的表单字段。实际应用中可根据需求调整字段类型及数量。 #### 利用 Form Service 动态加载表单 除了静态绑定外,还可以借助 Flowable 提供的形式服务动态获取并渲染表单数据。这种方式允许更灵活地处理复杂的交互场景。 ```java // 获取已启动实例对应的待办事项列表及其关联表单属性 List<Task> tasks = taskService.createTaskQuery().list(); for (Task task : tasks) { TaskFormData formData = formService.getTaskFormData(task.getId()); // 输出所有可用输入控件的信息 List<FormProperty> properties = formData.getFormProperties(); for (FormProperty property : properties) { System.out.println(property.getName() + " (" + property.getType() + ")"); } } ``` 这段 Java 代码片段说明了怎样查询某个任务所携带的具体表单项详情,并可进一步用于前端展示逻辑构建。 对于希望实现更加复杂功能的应用程序来说,建议深入研究官方文档中的高级特性部分,比如集成第三方 UI 组件库或是基于 REST API 进行远程调用来满足特殊定制化要求。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值