项目集成flowable有段时间了,发现行业的流程业务全是一条直线加3,4个人工审核的节点,并没有分支网关等其它节点。因此原来用的model设计器组件多参数复杂,客户现场的体验不是很好。所以根据现场的实际业务自己调api的方式实现个简单的流程设计器。
最终的实现的效果是由开始节点[StartEvent]和结束结点[EndEvent]及用户任务节点[UserTask]组成的直线审核流程,并兼容用原生的流程设计器打开编辑。最终的效果如下图所示:
最终的效果
前端界面设计介绍,用户界面可以增加节点,删除节点。对节点命名,定义节点的审核用户[普通用户或角色],具体效果图如下所示:
用户界面
定义收集前端参数的对象,具体代码如下所示
@Data
public class ProcessParam {
//流程ID
private String modelId;
//流程定义key
private String key;
//流程名字
private String name;
//流程节点
private List tasks;
//开始结点名称
private String startNodeName;
//结束节点名称
private String endNodeName;
}
@Data
public class TaskParam {
public TaskParam(){
}
public TaskParam(String name,String no,String userType,List userOrRoleIds,String userOrRoleName){
this.name = name;
this.no = no;
this.userType = userType;
this.userOrRoleIds = userOrRoleIds;
this.userOrRoleName = userOrRoleName;
}
//节点名称
private String name;
//节点编号
private String no;
//审核用户类型 用户(user)或角色(role)
private String userType;
//审核用户或角色id
private List userOrRoleIds;
//用户或角色名称
private String userOrRoleName;