
1 0xD800 2024-05-22 20:55:06 +08:00 从后端视角来看,需要表单的有两个接口: 发起流程:startProcessInstanceXX 审核流程:taskService.complete 参数都是 Map<String, Object>,也就是表单形式无所谓,你只需要前端把这个 Map<String, Object>传给你,你再传给流程引擎(Camunda)即可。 举例子: 具体业务要求可能会有表单字段的权限控制,不同节点展现的表单不一样。 此时可以基于 bpmnjs 扩展设计器,在 userTask 上绑定表单标识,然后前端通过表单标识来决定渲染哪个表单即可。 实际运作流程: 1. 流程管理员配置好流程图和启动表单及各个用户任务的表单后 2. 普通业务员发起流程 2.1 通过流程标识去获取启动表单, 2.2 输入表单内容,并提交发起流程接口(runtimeService.startProcessInstanceByXX) 3. 审批人查询待办获取到任务后,通过 taskId 和 processInstanceId 拿到该 userTask 绑定的表单 4. 审批人输入表单内容后提交审批( taskService.complete 接口) |
2 whnoob OP @0xD800 我可以理解成 complete 提交的时候按照这种结构提交? {"user_info": {"name": "test "}}。[]( https://imgse.com/i/pkMja6J) 但是这个要和 task form 里的属性对应,貌似映射不了 form 表单的 reference |
5 0xD800 2024-05-23 13:44:14 +08:00 @whnoob 这个我不太清楚他们的集成机制了,也许是用 FormService ,然后内部约定一些变量规则。具体得看文档或者源码啦 |
6 whnoob OP |
7 marunrun 2024-05-23 15:56:17 +08:00 |