@@ -13,7 +13,7 @@ public interface FlowConst { | |||||
public static final String LOG = "log";// 流程历史 | public static final String LOG = "log";// 流程历史 | ||||
public static final String WORD = "word";// 导出Word | public static final String WORD = "word";// 导出Word | ||||
public static final String EXCEL = "excel";// 导出Excel | public static final String EXCEL = "excel";// 导出Excel | ||||
public static final String HANDLER = "handler";// 办理,签收 | |||||
public static final String HANDLE = "handle";// 办理,签收 | |||||
public static final String SUBMIT = "submit";// 提交 | public static final String SUBMIT = "submit";// 提交 | ||||
public static final String RETAKE = "retake";// 取回 | public static final String RETAKE = "retake";// 取回 | ||||
public static final String REJECT = "reject";// 驳回 | public static final String REJECT = "reject";// 驳回 | ||||
@@ -9,7 +9,7 @@ import java.util.List; | |||||
* 步骤定义 | * 步骤定义 | ||||
*/ | */ | ||||
@Data | @Data | ||||
public class ActivityInfo { | |||||
public class Activity { | |||||
//"id": "", | //"id": "", | ||||
private String id; | private String id; | ||||
//类别:1-开始任务 2-用户任务 3-条件分支 4-并行开始 5-并行结束 6-脚本任务 9-结束任务 | //类别:1-开始任务 2-用户任务 3-条件分支 4-并行开始 5-并行结束 6-脚本任务 9-结束任务 | ||||
@@ -24,12 +24,15 @@ public class ActivityInfo { | |||||
private boolean canEdit; | private boolean canEdit; | ||||
//是否需要会签 | //是否需要会签 | ||||
private boolean needSign; | private boolean needSign; | ||||
//按钮配置 | |||||
private List<Button> buttons; | |||||
//可编辑的字段 | //可编辑的字段 | ||||
private List<String> eidtFields; | private List<String> eidtFields; | ||||
//不可查看的字段 | //不可查看的字段 | ||||
private List<String> disableFields; | private List<String> disableFields; | ||||
//主办人相关信息 | //主办人相关信息 | ||||
private HandlerInfo handler; | |||||
private Handler handler; | |||||
//会签相关信息 | //会签相关信息 | ||||
private SignInfo sign; | |||||
private Sign sign; | |||||
} | } |
@@ -0,0 +1,16 @@ | |||||
package cc.smtweb.system.bpm.web.design.flow.define; | |||||
import lombok.Data; | |||||
/** | |||||
* Created by Akmm at 2022-07-28 20:57 | |||||
*/ | |||||
@Data | |||||
public class Button { | |||||
//按钮类型 | |||||
private String type; | |||||
//按钮显示文本 | |||||
private String label; | |||||
//是否允许 | |||||
private boolean valid; | |||||
} |
@@ -2,16 +2,14 @@ package cc.smtweb.system.bpm.web.design.flow.define; | |||||
import lombok.Data; | import lombok.Data; | ||||
import java.util.List; | |||||
/** | /** | ||||
* Created by Akmm at 2022/5/23 9:45 | * Created by Akmm at 2022/5/23 9:45 | ||||
* 主办人设置信息 | * 主办人设置信息 | ||||
*/ | */ | ||||
@Data | @Data | ||||
public class HandlerInfo { | |||||
public class Handler { | |||||
//主办人分组 | //主办人分组 | ||||
private List<Long> userGroup; | |||||
private Long userGroup; | |||||
//主办人过滤:制单人所属单位/制单人所属部门/上一步提交人所属单位/上一步提交人所属部门 | //主办人过滤:制单人所属单位/制单人所属部门/上一步提交人所属单位/上一步提交人所属部门 | ||||
private int filter; | private int filter; | ||||
//主办人过滤:上一步提交人/过滤制单人 | //主办人过滤:上一步提交人/过滤制单人 |
@@ -17,7 +17,7 @@ public class ProcInfo { | |||||
//1-驳回到制单 0-逐级驳回 | //1-驳回到制单 0-逐级驳回 | ||||
private boolean rejectToMake; | private boolean rejectToMake; | ||||
//活动节点 | //活动节点 | ||||
private List<ActivityInfo> activities; | |||||
private List<Activity> activities; | |||||
//连接线 | //连接线 | ||||
private List<TransInfo> trans; | |||||
private List<Trans> trans; | |||||
} | } |
@@ -7,11 +7,12 @@ import lombok.Data; | |||||
* 会签信息 | * 会签信息 | ||||
*/ | */ | ||||
@Data | @Data | ||||
public class SignInfo extends HandlerInfo{ | |||||
public class Sign extends Handler { | |||||
//最少会签人数 | //最少会签人数 | ||||
private int minSign; | private int minSign; | ||||
//最少会签同意人数 | //最少会签同意人数 | ||||
private int minAgree; | private int minAgree; | ||||
//最少会签同意人数单位:0-人数 1-会签同意占比 | //最少会签同意人数单位:0-人数 1-会签同意占比 | ||||
private int minAgreeUnit; | private int minAgreeUnit; | ||||
} | } |
@@ -7,7 +7,7 @@ import lombok.Data; | |||||
* 连接线 | * 连接线 | ||||
*/ | */ | ||||
@Data | @Data | ||||
public class TransInfo { | |||||
public class Trans { | |||||
//唯一标识 | //唯一标识 | ||||
private String id; | private String id; | ||||
//序号 | //序号 |
@@ -1,130 +1,602 @@ | |||||
{ | { | ||||
"fields": [ | |||||
"type": "workflow", | |||||
"version": 3, | |||||
"flows": [ | |||||
{ | { | ||||
"locked": 1, | |||||
"name": "ar_id", | |||||
"title": "主键", | |||||
"fieldType": 1, | |||||
"dataType": "id", | |||||
"null": 1, | |||||
"default": -1 | |||||
}, | |||||
{ | |||||
"locked": 0, | |||||
"name": "ar_parent_id", | |||||
"title": "所属区划", | |||||
"fieldType": 4, | |||||
"dataType": "id", | |||||
"null": 0, | |||||
"default": "", | |||||
"editor": "input", | |||||
"link": "718410950209703936", | |||||
"link_text": "SYS_AREA" | |||||
}, | |||||
{ | |||||
"locked": 1, | |||||
"name": "ar_code", | |||||
"title": "编码", | |||||
"fieldType": 2, | |||||
"dataType": "code", | |||||
"null": 1, | |||||
"default": "", | |||||
"editor": "input" | |||||
}, | |||||
{ | |||||
"locked": 1, | |||||
"name": "ar_name", | |||||
"title": "名称", | |||||
"fieldType": 3, | |||||
"dataType": "name", | |||||
"null": 1, | |||||
"default": "", | |||||
"editor": "input" | |||||
}, | |||||
{ | |||||
"name": "ar_full_name", | |||||
"editor": "input", | |||||
"title": "全称", | |||||
"remark": "标准名称", | |||||
"dataType": "name", | |||||
"default": "" | |||||
}, | |||||
{ | |||||
"locked": 1, | |||||
"name": "ar_level", | |||||
"title": "级次", | |||||
"fieldType": 6, | |||||
"dataType": "short", | |||||
"null": 0, | |||||
"default": "0", | |||||
"editor": "num" | |||||
}, | |||||
{ | |||||
"locked": 1, | |||||
"name": "ar_level_code", | |||||
"title": "级次码", | |||||
"fieldType": 5, | |||||
"dataType": "code", | |||||
"null": 0, | |||||
"default": "", | |||||
"editor": "input" | |||||
}, | |||||
{ | |||||
"name": "ar_type", | |||||
"editor": "input", | |||||
"title": "属别", | |||||
"dataType": "id", | |||||
"default": "", | |||||
"link": "719938288126791680", | |||||
"link_text": "SYS_DICT" | |||||
}, | |||||
{ | |||||
"name": "ar_statu", | |||||
"editor": "combo", | |||||
"title": "状态", | |||||
"dataType": "bool", | |||||
"default": "0", | |||||
"remark": "停用与否" | |||||
}, | |||||
{ | |||||
"name": "ar_seq", | |||||
"editor": "num", | |||||
"title": "排序码", | |||||
"dataType": "int", | |||||
"default": "0" | |||||
}, | |||||
{ | |||||
"name": "ar_remark", | |||||
"editor": "input", | |||||
"title": "备注", | |||||
"dataType": "remark", | |||||
"default": "" | |||||
} | |||||
], | |||||
"indexes": [ | |||||
{ | |||||
"locked": 1, | |||||
"fields": "ar_id", | |||||
"type": "P" | |||||
}, | |||||
{ | |||||
"fields": "ar_parent_id", | |||||
"type": "I" | |||||
"widget": { | |||||
"type": "flow-chart", | |||||
"props": { | |||||
"title": "并行流程测试" | |||||
} | |||||
}, | |||||
"graph": { | |||||
"cells": [ | |||||
{ | |||||
"position": { | |||||
"x": 240, | |||||
"y": -450 | |||||
}, | |||||
"size": { | |||||
"width": 60, | |||||
"height": 50 | |||||
}, | |||||
"attrs": { | |||||
"icon": { | |||||
"xlink:href": "/src/assets/images/svg/play.svg" | |||||
} | |||||
}, | |||||
"shape": "flow-end", | |||||
"id": "node173c6e891c8", | |||||
"data": { | |||||
"id": "node173c6e891c8", | |||||
"type": "flow-node-begin", | |||||
"props": { | |||||
"label": "开始" | |||||
} | |||||
}, | |||||
"zIndex": 1 | |||||
}, | |||||
{ | |||||
"position": { | |||||
"x": 210, | |||||
"y": -305.99999999999966 | |||||
}, | |||||
"size": { | |||||
"width": 120, | |||||
"height": 50 | |||||
}, | |||||
"attrs": { | |||||
"text": { | |||||
"text": "任务1" | |||||
}, | |||||
"icon": { | |||||
"xlink:href": "/src/assets/images/svg/people.svg" | |||||
} | |||||
}, | |||||
"shape": "flow-action", | |||||
"id": "node173c6eb453c", | |||||
"data": { | |||||
"id": "node173c6eb453c", | |||||
"type": "flow-node-manual", | |||||
"props": { | |||||
"label": "任务1", | |||||
"users": [ | |||||
{ | |||||
"type": "userGroup", | |||||
"target": { | |||||
"ugId": 21222, | |||||
"ugName": "部门经理", | |||||
"ugCreateAt": "2020-07-26 10:42:43", | |||||
"ugUpdateAt": "2020-07-26 10:42:43" | |||||
}, | |||||
"notNull": true, | |||||
"filter": "" | |||||
} | |||||
], | |||||
"fields": [ | |||||
{ | |||||
"id": "column-172fda7eb90", | |||||
"name": "id", | |||||
"label": "ID", | |||||
"perm": "read", | |||||
"notNull": false | |||||
}, | |||||
{ | |||||
"id": "col-173284e59df", | |||||
"name": "name", | |||||
"label": "数据字段", | |||||
"perm": "write", | |||||
"notNull": false | |||||
} | |||||
], | |||||
"actionReturn": true, | |||||
"actionTransmit": true | |||||
} | |||||
}, | |||||
"zIndex": 1 | |||||
}, | |||||
{ | |||||
"position": { | |||||
"x": 210, | |||||
"y": -174.99999999999966 | |||||
}, | |||||
"size": { | |||||
"width": 120, | |||||
"height": 50 | |||||
}, | |||||
"attrs": { | |||||
"icon": { | |||||
"xlink:href": "/src/assets/images/svg/add-one.svg" | |||||
} | |||||
}, | |||||
"shape": "flow-choice", | |||||
"id": "node173c6eb4542", | |||||
"data": { | |||||
"id": "node173c6eb4542", | |||||
"type": "flow-node-split", | |||||
"props": { | |||||
"label": "任务分支" | |||||
} | |||||
}, | |||||
"zIndex": 1 | |||||
}, | |||||
{ | |||||
"position": { | |||||
"x": 210, | |||||
"y": 104 | |||||
}, | |||||
"size": { | |||||
"width": 120, | |||||
"height": 50 | |||||
}, | |||||
"attrs": { | |||||
"icon": { | |||||
"xlink:href": "/src/assets/images/svg/reduce.svg" | |||||
} | |||||
}, | |||||
"shape": "flow-choice", | |||||
"id": "node173c6eb4545", | |||||
"data": { | |||||
"id": "node173c6eb4545", | |||||
"type": "flow-node-merge", | |||||
"props": { | |||||
"label": "任务聚合" | |||||
} | |||||
}, | |||||
"zIndex": 1 | |||||
}, | |||||
{ | |||||
"position": { | |||||
"x": 110, | |||||
"y": -29.999999999999716 | |||||
}, | |||||
"size": { | |||||
"width": 120, | |||||
"height": 50 | |||||
}, | |||||
"attrs": { | |||||
"text": { | |||||
"text": "任务2-1" | |||||
}, | |||||
"icon": { | |||||
"xlink:href": "/src/assets/images/svg/people.svg" | |||||
} | |||||
}, | |||||
"shape": "flow-action", | |||||
"id": "node173c6eb4547", | |||||
"data": { | |||||
"id": "node173c6eb4547", | |||||
"type": "flow-node-manual", | |||||
"props": { | |||||
"label": "任务2-1", | |||||
"fields": [ | |||||
{ | |||||
"id": "column-172fda7eb90", | |||||
"name": "id", | |||||
"label": "ID", | |||||
"perm": "read", | |||||
"notNull": false | |||||
}, | |||||
{ | |||||
"id": "col-173284e59df", | |||||
"name": "name", | |||||
"label": "数据字段", | |||||
"perm": "write", | |||||
"notNull": false | |||||
} | |||||
], | |||||
"users": [ | |||||
{ | |||||
"type": "userGroup", | |||||
"target": { | |||||
"ugId": 21222, | |||||
"ugName": "部门经理", | |||||
"ugCreateAt": "2020-07-26 10:42:43", | |||||
"ugUpdateAt": "2020-07-26 10:42:43" | |||||
}, | |||||
"notNull": true, | |||||
"filter": "" | |||||
} | |||||
], | |||||
"actionReturn": true, | |||||
"actionTransmit": true | |||||
} | |||||
}, | |||||
"zIndex": 1 | |||||
}, | |||||
{ | |||||
"position": { | |||||
"x": 307, | |||||
"y": -29.999999999999716 | |||||
}, | |||||
"size": { | |||||
"width": 120, | |||||
"height": 50 | |||||
}, | |||||
"attrs": { | |||||
"text": { | |||||
"text": "任务2-2" | |||||
}, | |||||
"icon": { | |||||
"xlink:href": "/src/assets/images/svg/people.svg" | |||||
} | |||||
}, | |||||
"shape": "flow-action", | |||||
"id": "node173c6eb454c", | |||||
"data": { | |||||
"id": "node173c6eb454c", | |||||
"type": "flow-node-manual", | |||||
"props": { | |||||
"label": "任务2-2", | |||||
"fields": [ | |||||
{ | |||||
"id": "column-172fda7eb90", | |||||
"name": "id", | |||||
"label": "ID", | |||||
"perm": "write", | |||||
"notNull": false | |||||
}, | |||||
{ | |||||
"id": "col-173284e59df", | |||||
"name": "name", | |||||
"label": "数据字段", | |||||
"perm": "read", | |||||
"notNull": false | |||||
} | |||||
], | |||||
"users": [ | |||||
{ | |||||
"type": "userGroup", | |||||
"target": { | |||||
"ugId": 21222, | |||||
"ugName": "部门经理", | |||||
"ugCreateAt": "2020-07-26 10:42:43", | |||||
"ugUpdateAt": "2020-07-26 10:42:43" | |||||
}, | |||||
"notNull": true, | |||||
"filter": "" | |||||
} | |||||
], | |||||
"actionReturn": true, | |||||
"actionTransmit": true | |||||
} | |||||
}, | |||||
"zIndex": 1 | |||||
}, | |||||
{ | |||||
"position": { | |||||
"x": 210, | |||||
"y": 230 | |||||
}, | |||||
"size": { | |||||
"width": 120, | |||||
"height": 50 | |||||
}, | |||||
"attrs": { | |||||
"text": { | |||||
"text": "任务3" | |||||
}, | |||||
"icon": { | |||||
"xlink:href": "/src/assets/images/svg/people.svg" | |||||
} | |||||
}, | |||||
"shape": "flow-action", | |||||
"id": "node173c7c0d14e", | |||||
"data": { | |||||
"id": "node173c7c0d14e", | |||||
"type": "flow-node-manual", | |||||
"props": { | |||||
"label": "任务3", | |||||
"users": [ | |||||
{ | |||||
"type": "userGroup", | |||||
"target": { | |||||
"ugId": 21222, | |||||
"ugName": "部门经理", | |||||
"ugCreateAt": "2020-07-26 10:42:43", | |||||
"ugUpdateAt": "2020-07-26 10:42:43" | |||||
}, | |||||
"notNull": true, | |||||
"filter": "" | |||||
} | |||||
], | |||||
"actionReturn": true, | |||||
"actionTransmit": true | |||||
} | |||||
}, | |||||
"zIndex": 1 | |||||
}, | |||||
{ | |||||
"position": { | |||||
"x": 240, | |||||
"y": 340 | |||||
}, | |||||
"size": { | |||||
"width": 60, | |||||
"height": 50 | |||||
}, | |||||
"attrs": { | |||||
"icon": { | |||||
"xlink:href": "/src/assets/images/svg/stop.svg" | |||||
} | |||||
}, | |||||
"shape": "flow-end", | |||||
"id": "node173c7dfe36c", | |||||
"data": { | |||||
"id": "node173c7dfe36c", | |||||
"type": "flow-node-end", | |||||
"props": { | |||||
"label": "结束" | |||||
} | |||||
}, | |||||
"zIndex": 1 | |||||
}, | |||||
{ | |||||
"shape": "edge", | |||||
"attrs": { | |||||
"line": { | |||||
"stroke": "#4D5B62", | |||||
"strokeWidth": 1 | |||||
} | |||||
}, | |||||
"id": "conn173c6eb4541", | |||||
"data": { | |||||
"id": "conn173c6eb4541", | |||||
"type": "flow-edge", | |||||
"props": { | |||||
"label": "启动" | |||||
} | |||||
}, | |||||
"zIndex": 1, | |||||
"source": { | |||||
"cell": "node173c6e891c8" | |||||
}, | |||||
"target": { | |||||
"cell": "node173c6eb453c" | |||||
} | |||||
}, | |||||
{ | |||||
"shape": "edge", | |||||
"attrs": { | |||||
"line": { | |||||
"stroke": "#4D5B62", | |||||
"strokeWidth": 1 | |||||
} | |||||
}, | |||||
"id": "conn173c6eb4544", | |||||
"data": { | |||||
"id": "conn173c6eb4544", | |||||
"type": "flow-edge", | |||||
"props": { | |||||
"label": "提交" | |||||
} | |||||
}, | |||||
"zIndex": 1, | |||||
"source": { | |||||
"cell": "node173c6eb453c" | |||||
}, | |||||
"target": { | |||||
"cell": "node173c6eb4542" | |||||
} | |||||
}, | |||||
{ | |||||
"shape": "edge", | |||||
"attrs": { | |||||
"line": { | |||||
"stroke": "#4D5B62", | |||||
"strokeWidth": 1 | |||||
} | |||||
}, | |||||
"id": "conn173c6eb4551", | |||||
"data": { | |||||
"id": "conn173c6eb4551", | |||||
"type": "flow-edge", | |||||
"props": { | |||||
"label": "执行" | |||||
} | |||||
}, | |||||
"zIndex": 1, | |||||
"source": { | |||||
"cell": "node173c6eb4542" | |||||
}, | |||||
"target": { | |||||
"cell": "node173c6eb4547" | |||||
} | |||||
}, | |||||
{ | |||||
"shape": "edge", | |||||
"attrs": { | |||||
"line": { | |||||
"stroke": "#4D5B62", | |||||
"strokeWidth": 1 | |||||
} | |||||
}, | |||||
"id": "conn173c6eb4553", | |||||
"data": { | |||||
"id": "conn173c6eb4553", | |||||
"type": "flow-edge", | |||||
"props": { | |||||
"label": "执行2" | |||||
} | |||||
}, | |||||
"zIndex": 1, | |||||
"source": { | |||||
"cell": "node173c6eb4542" | |||||
}, | |||||
"target": { | |||||
"cell": "node173c6eb454c" | |||||
} | |||||
}, | |||||
{ | |||||
"shape": "edge", | |||||
"attrs": { | |||||
"line": { | |||||
"stroke": "#4D5B62", | |||||
"strokeWidth": 1 | |||||
} | |||||
}, | |||||
"id": "conn173c7dfe36b", | |||||
"data": { | |||||
"id": "conn173c7dfe36b", | |||||
"type": "flow-edge", | |||||
"props": { | |||||
"label": "执行" | |||||
} | |||||
}, | |||||
"zIndex": 1, | |||||
"source": { | |||||
"cell": "node173c6eb4545" | |||||
}, | |||||
"target": { | |||||
"cell": "node173c7c0d14e" | |||||
} | |||||
}, | |||||
{ | |||||
"shape": "edge", | |||||
"attrs": { | |||||
"line": { | |||||
"stroke": "#4D5B62", | |||||
"strokeWidth": 1 | |||||
} | |||||
}, | |||||
"id": "conn173c6eb4555", | |||||
"data": { | |||||
"id": "conn173c6eb4555", | |||||
"type": "flow-edge", | |||||
"props": { | |||||
"label": "提交" | |||||
} | |||||
}, | |||||
"zIndex": 1, | |||||
"source": { | |||||
"cell": "node173c6eb4547" | |||||
}, | |||||
"target": { | |||||
"cell": "node173c6eb4545" | |||||
} | |||||
}, | |||||
{ | |||||
"shape": "edge", | |||||
"attrs": { | |||||
"line": { | |||||
"stroke": "#4D5B62", | |||||
"strokeWidth": 1 | |||||
} | |||||
}, | |||||
"id": "conn173c6eb4554", | |||||
"data": { | |||||
"id": "conn173c6eb4554", | |||||
"type": "flow-edge", | |||||
"props": { | |||||
"label": "提交" | |||||
} | |||||
}, | |||||
"zIndex": 1, | |||||
"source": { | |||||
"cell": "node173c6eb454c" | |||||
}, | |||||
"target": { | |||||
"cell": "node173c6eb4545" | |||||
} | |||||
}, | |||||
{ | |||||
"shape": "edge", | |||||
"attrs": { | |||||
"line": { | |||||
"stroke": "#4D5B62", | |||||
"strokeWidth": 1 | |||||
} | |||||
}, | |||||
"id": "conn173c7dfe36d", | |||||
"data": { | |||||
"id": "conn173c7dfe36d", | |||||
"type": "flow-edge", | |||||
"props": { | |||||
"label": "提交" | |||||
} | |||||
}, | |||||
"zIndex": 1, | |||||
"source": { | |||||
"cell": "node173c7c0d14e" | |||||
}, | |||||
"target": { | |||||
"cell": "node173c7dfe36c" | |||||
} | |||||
} | |||||
] | |||||
} | |||||
} | } | ||||
], | ], | ||||
"caches": [ | |||||
{ | |||||
"locked": 1, | |||||
"name": "code", | |||||
"title": "按编码", | |||||
"fields": "ar_code", | |||||
"type": "M" | |||||
}, | |||||
{ | |||||
"name": "pr", | |||||
"title": "按父ID", | |||||
"fields": "ar_parent_id", | |||||
"type": "L" | |||||
} | |||||
] | |||||
"model": { | |||||
"page": "默认表单定义", | |||||
"canEditOther": "bool是否允许编辑非本人单据", | |||||
"rejectToMake": "bool True-驳回到制单 False-逐级驳回", | |||||
"activities": [ | |||||
{ | |||||
"id": "唯一标识", | |||||
"type": "类别:1-开始任务 2-用户任务 3-条件分支 4-并行开始 5-并行结束 6-脚本任务 9-结束任务", | |||||
"code": "活动编号,代码可调用", | |||||
"label": "活动名称", | |||||
"page": "表单定义", | |||||
"canEdit": "是否可编辑", | |||||
"needSign": "是否需要会签", | |||||
"buttons": [ | |||||
{ | |||||
"type": "submit", | |||||
"label": "提交", | |||||
"valid": "是否允许,bool" | |||||
}, | |||||
{ | |||||
"type": "reject", | |||||
"label": "驳回", | |||||
"valid": "是否允许,bool" | |||||
}, | |||||
{ | |||||
"type": "retake", | |||||
"label": "取回", | |||||
"valid": "是否允许,bool" | |||||
}, | |||||
{ | |||||
"type": "cancel", | |||||
"label": "作废", | |||||
"valid": "是否允许,bool" | |||||
}, | |||||
{ | |||||
"type": "delete", | |||||
"label": "删除", | |||||
"valid": "是否允许,bool" | |||||
} | |||||
], | |||||
"eidtFields": [ | |||||
"可编辑的字段" | |||||
], | |||||
"disableFields": [ | |||||
"不可查看的字段" | |||||
], | |||||
"handler": { | |||||
"userGroup": "主办人分组", | |||||
"filter": "主办人过滤:制单人所属单位/制单人所属部门/上一步提交人所属单位/上一步提交人所属部门", | |||||
"ignore": "主办人过滤:上一步提交人/过滤制单人" | |||||
}, | |||||
"sign": { | |||||
"minSign": "最少会签人数", | |||||
"minAgree": "最少会签同意人数", | |||||
"minAgreeUnit": "最少会签同意人数单位:0-人数 1-会签同意占比", | |||||
"userGroup": "会签人分组", | |||||
"filter": "会签人过滤:制单人所属单位/制单人所属部门/上一步提交人所属单位/上一步提交人所属部门", | |||||
"ignore": "会签人过滤:上一步提交人/过滤制单人" | |||||
} | |||||
} | |||||
], | |||||
"trans": [ | |||||
{ | |||||
"id": "唯一标识", | |||||
"seq": "序号", | |||||
"expr": "条件表达式", | |||||
"src": "源活动", | |||||
"dst": "目标活动", | |||||
"desc": "说明" | |||||
} | |||||
] | |||||
} | |||||
} | } |
@@ -0,0 +1,46 @@ | |||||
{ | |||||
"权限组.权限详细": [ | |||||
{ | |||||
"kind": "0-包含 1-排除", | |||||
"value": "值", | |||||
"type": "树形结构有效:0-仅本级 1-含下级" | |||||
} | |||||
], | |||||
"菜单定义.权限点": { | |||||
"data": [ | |||||
"可配置的数据权限,权限定义Id" | |||||
], | |||||
"func": [ | |||||
"可配置的功能权限,默认read/write" | |||||
], | |||||
"field": [ | |||||
"可配置的字段" | |||||
] | |||||
}, | |||||
"菜单方案.详细": [ | |||||
{ | |||||
"id": "唯一id", | |||||
"menu": "菜单定义id", | |||||
"icon": "图标名,默认为菜单定义图标,可修改", | |||||
"label": "菜单名,默认为菜单定义name,可修改", | |||||
"seq": "排序码", | |||||
"children": [ | |||||
] | |||||
} | |||||
], | |||||
"角色表.权限详细": [ | |||||
{ | |||||
"id": "菜单方案详细id", | |||||
"menuId": "菜单定义id", | |||||
"menu": "菜单权限:0-无 1-有", | |||||
"func": ["授予的功能权限点"], | |||||
"data": [{ | |||||
"key": "权限定义id", | |||||
"value": "权限组id" | |||||
}], | |||||
"field": { | |||||
"字段权限中的字段": "0-无/1-读/2-写" | |||||
} | |||||
} | |||||
] | |||||
} |
@@ -1,84 +1,602 @@ | |||||
{ | { | ||||
"form": [ | |||||
"type": "workflow", | |||||
"version": 3, | |||||
"flows": [ | |||||
{ | { | ||||
"page": { | |||||
"id": "id18117e2fce8", | |||||
"type": "fx-page", | |||||
"widget": { | |||||
"type": "flow-chart", | |||||
"props": { | "props": { | ||||
"title": "项目", | |||||
"key": "716232842824126464" | |||||
"title": "并行流程测试" | |||||
} | } | ||||
}, | }, | ||||
"graph": { | "graph": { | ||||
"shape": "panel", | |||||
"id": "root_panel", | |||||
"type": "fx-split-panel", | |||||
"props": { | |||||
"horizontal": true, | |||||
"shadow": "never" | |||||
}, | |||||
"children": [ | |||||
{ | |||||
"shape": "panel", | |||||
"id": "form_panel", | |||||
"type": "fx-form-panel", | |||||
"props": { | |||||
"colNum": 3, | |||||
"paddingX": 5, | |||||
"paddingY": 5 | |||||
}, | |||||
"children": [ | |||||
{ | |||||
"id": "id18117e2fcf0", | |||||
"type": "fx-text", | |||||
"props": { | |||||
"label": "名称", | |||||
"type": "text", | |||||
"maxlength": 50, | |||||
"placeholder": "请输入内容", | |||||
"labelWidth": 100, | |||||
"dataset": "ds_18117e2fce9", | |||||
"field": "id_18117e2fced", | |||||
"name": "prj_name" | |||||
}, | |||||
"events": {} | |||||
} | |||||
] | |||||
"cells": [ | |||||
{ | |||||
"position": { | |||||
"x": 240, | |||||
"y": -450 | |||||
}, | |||||
"size": { | |||||
"width": 60, | |||||
"height": 50 | |||||
}, | |||||
"attrs": { | |||||
"icon": { | |||||
"xlink:href": "/src/assets/images/svg/play.svg" | |||||
} | |||||
}, | |||||
"shape": "flow-end", | |||||
"id": "node173c6e891c8", | |||||
"data": { | |||||
"id": "node173c6e891c8", | |||||
"type": "flow-node-begin", | |||||
"props": { | |||||
"label": "开始" | |||||
} | |||||
}, | |||||
"zIndex": 1 | |||||
}, | |||||
{ | |||||
"position": { | |||||
"x": 210, | |||||
"y": -305.99999999999966 | |||||
}, | |||||
"size": { | |||||
"width": 120, | |||||
"height": 50 | |||||
}, | |||||
"attrs": { | |||||
"text": { | |||||
"text": "任务1" | |||||
}, | |||||
"icon": { | |||||
"xlink:href": "/src/assets/images/svg/people.svg" | |||||
} | |||||
}, | |||||
"shape": "flow-action", | |||||
"id": "node173c6eb453c", | |||||
"data": { | |||||
"id": "node173c6eb453c", | |||||
"type": "flow-node-manual", | |||||
"props": { | |||||
"label": "任务1", | |||||
"users": [ | |||||
{ | |||||
"type": "userGroup", | |||||
"target": { | |||||
"ugId": 21222, | |||||
"ugName": "部门经理", | |||||
"ugCreateAt": "2020-07-26 10:42:43", | |||||
"ugUpdateAt": "2020-07-26 10:42:43" | |||||
}, | |||||
"notNull": true, | |||||
"filter": "" | |||||
} | |||||
], | |||||
"fields": [ | |||||
{ | |||||
"id": "column-172fda7eb90", | |||||
"name": "id", | |||||
"label": "ID", | |||||
"perm": "read", | |||||
"notNull": false | |||||
}, | |||||
{ | |||||
"id": "col-173284e59df", | |||||
"name": "name", | |||||
"label": "数据字段", | |||||
"perm": "write", | |||||
"notNull": false | |||||
} | |||||
], | |||||
"actionReturn": true, | |||||
"actionTransmit": true | |||||
} | |||||
}, | |||||
"zIndex": 1 | |||||
}, | |||||
{ | |||||
"position": { | |||||
"x": 210, | |||||
"y": -174.99999999999966 | |||||
}, | |||||
"size": { | |||||
"width": 120, | |||||
"height": 50 | |||||
}, | |||||
"attrs": { | |||||
"icon": { | |||||
"xlink:href": "/src/assets/images/svg/add-one.svg" | |||||
} | |||||
}, | |||||
"shape": "flow-choice", | |||||
"id": "node173c6eb4542", | |||||
"data": { | |||||
"id": "node173c6eb4542", | |||||
"type": "flow-node-split", | |||||
"props": { | |||||
"label": "任务分支" | |||||
} | |||||
}, | |||||
"zIndex": 1 | |||||
}, | |||||
{ | |||||
"position": { | |||||
"x": 210, | |||||
"y": 104 | |||||
}, | |||||
"size": { | |||||
"width": 120, | |||||
"height": 50 | |||||
}, | |||||
"attrs": { | |||||
"icon": { | |||||
"xlink:href": "/src/assets/images/svg/reduce.svg" | |||||
} | |||||
}, | |||||
"shape": "flow-choice", | |||||
"id": "node173c6eb4545", | |||||
"data": { | |||||
"id": "node173c6eb4545", | |||||
"type": "flow-node-merge", | |||||
"props": { | |||||
"label": "任务聚合" | |||||
} | |||||
}, | |||||
"zIndex": 1 | |||||
}, | |||||
{ | |||||
"position": { | |||||
"x": 110, | |||||
"y": -29.999999999999716 | |||||
}, | |||||
"size": { | |||||
"width": 120, | |||||
"height": 50 | |||||
}, | |||||
"attrs": { | |||||
"text": { | |||||
"text": "任务2-1" | |||||
}, | |||||
"icon": { | |||||
"xlink:href": "/src/assets/images/svg/people.svg" | |||||
} | |||||
}, | |||||
"shape": "flow-action", | |||||
"id": "node173c6eb4547", | |||||
"data": { | |||||
"id": "node173c6eb4547", | |||||
"type": "flow-node-manual", | |||||
"props": { | |||||
"label": "任务2-1", | |||||
"fields": [ | |||||
{ | |||||
"id": "column-172fda7eb90", | |||||
"name": "id", | |||||
"label": "ID", | |||||
"perm": "read", | |||||
"notNull": false | |||||
}, | |||||
{ | |||||
"id": "col-173284e59df", | |||||
"name": "name", | |||||
"label": "数据字段", | |||||
"perm": "write", | |||||
"notNull": false | |||||
} | |||||
], | |||||
"users": [ | |||||
{ | |||||
"type": "userGroup", | |||||
"target": { | |||||
"ugId": 21222, | |||||
"ugName": "部门经理", | |||||
"ugCreateAt": "2020-07-26 10:42:43", | |||||
"ugUpdateAt": "2020-07-26 10:42:43" | |||||
}, | |||||
"notNull": true, | |||||
"filter": "" | |||||
} | |||||
], | |||||
"actionReturn": true, | |||||
"actionTransmit": true | |||||
} | |||||
}, | |||||
"zIndex": 1 | |||||
}, | |||||
{ | |||||
"position": { | |||||
"x": 307, | |||||
"y": -29.999999999999716 | |||||
}, | |||||
"size": { | |||||
"width": 120, | |||||
"height": 50 | |||||
}, | |||||
"attrs": { | |||||
"text": { | |||||
"text": "任务2-2" | |||||
}, | |||||
"icon": { | |||||
"xlink:href": "/src/assets/images/svg/people.svg" | |||||
} | |||||
}, | |||||
"shape": "flow-action", | |||||
"id": "node173c6eb454c", | |||||
"data": { | |||||
"id": "node173c6eb454c", | |||||
"type": "flow-node-manual", | |||||
"props": { | |||||
"label": "任务2-2", | |||||
"fields": [ | |||||
{ | |||||
"id": "column-172fda7eb90", | |||||
"name": "id", | |||||
"label": "ID", | |||||
"perm": "write", | |||||
"notNull": false | |||||
}, | |||||
{ | |||||
"id": "col-173284e59df", | |||||
"name": "name", | |||||
"label": "数据字段", | |||||
"perm": "read", | |||||
"notNull": false | |||||
} | |||||
], | |||||
"users": [ | |||||
{ | |||||
"type": "userGroup", | |||||
"target": { | |||||
"ugId": 21222, | |||||
"ugName": "部门经理", | |||||
"ugCreateAt": "2020-07-26 10:42:43", | |||||
"ugUpdateAt": "2020-07-26 10:42:43" | |||||
}, | |||||
"notNull": true, | |||||
"filter": "" | |||||
} | |||||
], | |||||
"actionReturn": true, | |||||
"actionTransmit": true | |||||
} | |||||
}, | |||||
"zIndex": 1 | |||||
}, | |||||
{ | |||||
"position": { | |||||
"x": 210, | |||||
"y": 230 | |||||
}, | |||||
"size": { | |||||
"width": 120, | |||||
"height": 50 | |||||
}, | |||||
"attrs": { | |||||
"text": { | |||||
"text": "任务3" | |||||
}, | |||||
"icon": { | |||||
"xlink:href": "/src/assets/images/svg/people.svg" | |||||
} | |||||
}, | |||||
"shape": "flow-action", | |||||
"id": "node173c7c0d14e", | |||||
"data": { | |||||
"id": "node173c7c0d14e", | |||||
"type": "flow-node-manual", | |||||
"props": { | |||||
"label": "任务3", | |||||
"users": [ | |||||
{ | |||||
"type": "userGroup", | |||||
"target": { | |||||
"ugId": 21222, | |||||
"ugName": "部门经理", | |||||
"ugCreateAt": "2020-07-26 10:42:43", | |||||
"ugUpdateAt": "2020-07-26 10:42:43" | |||||
}, | |||||
"notNull": true, | |||||
"filter": "" | |||||
} | |||||
], | |||||
"actionReturn": true, | |||||
"actionTransmit": true | |||||
} | |||||
}, | |||||
"zIndex": 1 | |||||
}, | |||||
{ | |||||
"position": { | |||||
"x": 240, | |||||
"y": 340 | |||||
}, | |||||
"size": { | |||||
"width": 60, | |||||
"height": 50 | |||||
}, | |||||
"attrs": { | |||||
"icon": { | |||||
"xlink:href": "/src/assets/images/svg/stop.svg" | |||||
} | |||||
}, | |||||
"shape": "flow-end", | |||||
"id": "node173c7dfe36c", | |||||
"data": { | |||||
"id": "node173c7dfe36c", | |||||
"type": "flow-node-end", | |||||
"props": { | |||||
"label": "结束" | |||||
} | |||||
}, | |||||
"zIndex": 1 | |||||
}, | |||||
{ | |||||
"shape": "edge", | |||||
"attrs": { | |||||
"line": { | |||||
"stroke": "#4D5B62", | |||||
"strokeWidth": 1 | |||||
} | |||||
}, | |||||
"id": "conn173c6eb4541", | |||||
"data": { | |||||
"id": "conn173c6eb4541", | |||||
"type": "flow-edge", | |||||
"props": { | |||||
"label": "启动" | |||||
} | |||||
}, | |||||
"zIndex": 1, | |||||
"source": { | |||||
"cell": "node173c6e891c8" | |||||
}, | |||||
"target": { | |||||
"cell": "node173c6eb453c" | |||||
} | |||||
}, | |||||
{ | |||||
"shape": "edge", | |||||
"attrs": { | |||||
"line": { | |||||
"stroke": "#4D5B62", | |||||
"strokeWidth": 1 | |||||
} | |||||
}, | |||||
"id": "conn173c6eb4544", | |||||
"data": { | |||||
"id": "conn173c6eb4544", | |||||
"type": "flow-edge", | |||||
"props": { | |||||
"label": "提交" | |||||
} | |||||
}, | |||||
"zIndex": 1, | |||||
"source": { | |||||
"cell": "node173c6eb453c" | |||||
}, | |||||
"target": { | |||||
"cell": "node173c6eb4542" | |||||
} | |||||
}, | |||||
{ | |||||
"shape": "edge", | |||||
"attrs": { | |||||
"line": { | |||||
"stroke": "#4D5B62", | |||||
"strokeWidth": 1 | |||||
} | |||||
}, | |||||
"id": "conn173c6eb4551", | |||||
"data": { | |||||
"id": "conn173c6eb4551", | |||||
"type": "flow-edge", | |||||
"props": { | |||||
"label": "执行" | |||||
} | |||||
}, | |||||
"zIndex": 1, | |||||
"source": { | |||||
"cell": "node173c6eb4542" | |||||
}, | |||||
"target": { | |||||
"cell": "node173c6eb4547" | |||||
} | |||||
}, | |||||
{ | |||||
"shape": "edge", | |||||
"attrs": { | |||||
"line": { | |||||
"stroke": "#4D5B62", | |||||
"strokeWidth": 1 | |||||
} | |||||
}, | |||||
"id": "conn173c6eb4553", | |||||
"data": { | |||||
"id": "conn173c6eb4553", | |||||
"type": "flow-edge", | |||||
"props": { | |||||
"label": "执行2" | |||||
} | |||||
}, | |||||
"zIndex": 1, | |||||
"source": { | |||||
"cell": "node173c6eb4542" | |||||
}, | |||||
"target": { | |||||
"cell": "node173c6eb454c" | |||||
} | |||||
}, | |||||
{ | |||||
"shape": "edge", | |||||
"attrs": { | |||||
"line": { | |||||
"stroke": "#4D5B62", | |||||
"strokeWidth": 1 | |||||
} | |||||
}, | |||||
"id": "conn173c7dfe36b", | |||||
"data": { | |||||
"id": "conn173c7dfe36b", | |||||
"type": "flow-edge", | |||||
"props": { | |||||
"label": "执行" | |||||
} | |||||
}, | |||||
"zIndex": 1, | |||||
"source": { | |||||
"cell": "node173c6eb4545" | |||||
}, | |||||
"target": { | |||||
"cell": "node173c7c0d14e" | |||||
} | |||||
}, | |||||
{ | |||||
"shape": "edge", | |||||
"attrs": { | |||||
"line": { | |||||
"stroke": "#4D5B62", | |||||
"strokeWidth": 1 | |||||
} | |||||
}, | |||||
"id": "conn173c6eb4555", | |||||
"data": { | |||||
"id": "conn173c6eb4555", | |||||
"type": "flow-edge", | |||||
"props": { | |||||
"label": "提交" | |||||
} | |||||
}, | |||||
"zIndex": 1, | |||||
"source": { | |||||
"cell": "node173c6eb4547" | |||||
}, | |||||
"target": { | |||||
"cell": "node173c6eb4545" | |||||
} | |||||
}, | |||||
{ | |||||
"shape": "edge", | |||||
"attrs": { | |||||
"line": { | |||||
"stroke": "#4D5B62", | |||||
"strokeWidth": 1 | |||||
} | |||||
}, | |||||
"id": "conn173c6eb4554", | |||||
"data": { | |||||
"id": "conn173c6eb4554", | |||||
"type": "flow-edge", | |||||
"props": { | |||||
"label": "提交" | |||||
} | |||||
}, | |||||
"zIndex": 1, | |||||
"source": { | |||||
"cell": "node173c6eb454c" | |||||
}, | |||||
"target": { | |||||
"cell": "node173c6eb4545" | |||||
} | |||||
}, | |||||
{ | |||||
"shape": "edge", | |||||
"attrs": { | |||||
"line": { | |||||
"stroke": "#4D5B62", | |||||
"strokeWidth": 1 | |||||
} | |||||
}, | |||||
"id": "conn173c7dfe36d", | |||||
"data": { | |||||
"id": "conn173c7dfe36d", | |||||
"type": "flow-edge", | |||||
"props": { | |||||
"label": "提交" | |||||
} | |||||
}, | |||||
"zIndex": 1, | |||||
"source": { | |||||
"cell": "node173c7c0d14e" | |||||
}, | |||||
"target": { | |||||
"cell": "node173c7dfe36c" | |||||
} | |||||
} | } | ||||
] | ] | ||||
} | } | ||||
} | } | ||||
], | ], | ||||
"model": [ | |||||
{ | |||||
"dataset": "ds_18117e2fce9", | |||||
"label": "主数据集", | |||||
"fields": [ | |||||
{ | |||||
"id": "id_18117e2fceb", | |||||
"field": "prj_id" | |||||
}, | |||||
{ | |||||
"id": "id_18117e2fcec", | |||||
"field": "prj_depends" | |||||
}, | |||||
{ | |||||
"id": "id_18117e2fced", | |||||
"field": "prj_name" | |||||
}, | |||||
{ | |||||
"id": "id_18117e2fcee", | |||||
"field": "prj_module" | |||||
"model": { | |||||
"page": "默认表单定义", | |||||
"canEditOther": "bool是否允许编辑非本人单据", | |||||
"rejectToMake": "bool True-驳回到制单 False-逐级驳回", | |||||
"activities": [ | |||||
{ | |||||
"id": "唯一标识", | |||||
"type": "类别:1-开始任务 2-用户任务 3-条件分支 4-并行开始 5-并行结束 6-脚本任务 9-结束任务", | |||||
"code": "活动编号,代码可调用", | |||||
"label": "活动名称", | |||||
"page": "表单定义", | |||||
"canEdit": "是否可编辑", | |||||
"needSign": "是否需要会签", | |||||
"buttons": [ | |||||
{ | |||||
"type": "submit", | |||||
"label": "提交", | |||||
"valid": "是否允许,bool" | |||||
}, | |||||
{ | |||||
"type": "reject", | |||||
"label": "驳回", | |||||
"valid": "是否允许,bool" | |||||
}, | |||||
{ | |||||
"type": "retake", | |||||
"label": "取回", | |||||
"valid": "是否允许,bool" | |||||
}, | |||||
{ | |||||
"type": "disuse", | |||||
"label": "作废", | |||||
"valid": "是否允许,bool" | |||||
}, | |||||
{ | |||||
"type": "delete", | |||||
"label": "删除", | |||||
"valid": "是否允许,bool" | |||||
} | |||||
], | |||||
"eidtFields": [ | |||||
"可编辑的字段" | |||||
], | |||||
"disableFields": [ | |||||
"不可查看的字段" | |||||
], | |||||
"handler": { | |||||
"userGroup": "主办人分组", | |||||
"filter": "主办人过滤:制单人所属单位/制单人所属部门/上一步提交人所属单位/上一步提交人所属部门", | |||||
"ignore": "主办人过滤:上一步提交人/过滤制单人" | |||||
}, | }, | ||||
{ | |||||
"id": "id_18117e2fcef", | |||||
"field": "prj_desc" | |||||
"sign": { | |||||
"minSign": "最少会签人数", | |||||
"minAgree": "最少会签同意人数", | |||||
"minAgreeUnit": "最少会签同意人数单位:0-人数 1-会签同意占比", | |||||
"userGroup": "会签人分组", | |||||
"filter": "会签人过滤:制单人所属单位/制单人所属部门/上一步提交人所属单位/上一步提交人所属部门", | |||||
"ignore": "会签人过滤:上一步提交人/过滤制单人" | |||||
} | } | ||||
] | |||||
} | |||||
], | |||||
"option": { | |||||
"widgetRef": [], | |||||
"vars": [] | |||||
} | |||||
], | |||||
"trans": [ | |||||
{ | |||||
"id": "唯一标识", | |||||
"seq": "序号", | |||||
"expr": "条件表达式", | |||||
"src": "源活动", | |||||
"dst": "目标活动", | |||||
"desc": "说明" | |||||
} | |||||
] | |||||
} | } | ||||
} | } |