Browse Source

修正:流程引擎

master
郑根木 2 years ago
parent
commit
0c8b4e795d
10 changed files with 1260 additions and 206 deletions
  1. +1
    -1
      smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/design/flow/FlowConst.java
  2. +6
    -3
      smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/design/flow/define/Activity.java
  3. +16
    -0
      smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/design/flow/define/Button.java
  4. +2
    -4
      smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/design/flow/define/Handler.java
  5. +2
    -2
      smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/design/flow/define/ProcInfo.java
  6. +2
    -1
      smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/design/flow/define/Sign.java
  7. +1
    -1
      smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/design/flow/define/Trans.java
  8. +597
    -125
      smtweb-framework/core/src/main/resources/demo.json
  9. +46
    -0
      smtweb-framework/core/src/main/resources/权限相关.json
  10. +587
    -69
      smtweb-framework/core/src/main/resources/流程定义.json

+ 1
- 1
smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/design/flow/FlowConst.java View File

@@ -13,7 +13,7 @@ public interface FlowConst {
public static final String LOG = "log";// 流程历史
public static final String WORD = "word";// 导出Word
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 RETAKE = "retake";// 取回
public static final String REJECT = "reject";// 驳回


smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/design/flow/define/ActivityInfo.java → smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/design/flow/define/Activity.java View File

@@ -9,7 +9,7 @@ import java.util.List;
* 步骤定义
*/
@Data
public class ActivityInfo {
public class Activity {
//"id": "",
private String id;
//类别:1-开始任务 2-用户任务 3-条件分支 4-并行开始 5-并行结束 6-脚本任务 9-结束任务
@@ -24,12 +24,15 @@ public class ActivityInfo {
private boolean canEdit;
//是否需要会签
private boolean needSign;
//按钮配置
private List<Button> buttons;

//可编辑的字段
private List<String> eidtFields;
//不可查看的字段
private List<String> disableFields;
//主办人相关信息
private HandlerInfo handler;
private Handler handler;
//会签相关信息
private SignInfo sign;
private Sign sign;
}

+ 16
- 0
smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/design/flow/define/Button.java View File

@@ -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;
}

smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/design/flow/define/HandlerInfo.java → smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/design/flow/define/Handler.java View File

@@ -2,16 +2,14 @@ package cc.smtweb.system.bpm.web.design.flow.define;

import lombok.Data;

import java.util.List;

/**
* Created by Akmm at 2022/5/23 9:45
* 主办人设置信息
*/
@Data
public class HandlerInfo {
public class Handler {
//主办人分组
private List<Long> userGroup;
private Long userGroup;
//主办人过滤:制单人所属单位/制单人所属部门/上一步提交人所属单位/上一步提交人所属部门
private int filter;
//主办人过滤:上一步提交人/过滤制单人

+ 2
- 2
smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/design/flow/define/ProcInfo.java View File

@@ -17,7 +17,7 @@ public class ProcInfo {
//1-驳回到制单 0-逐级驳回
private boolean rejectToMake;
//活动节点
private List<ActivityInfo> activities;
private List<Activity> activities;
//连接线
private List<TransInfo> trans;
private List<Trans> trans;
}

smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/design/flow/define/SignInfo.java → smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/design/flow/define/Sign.java View File

@@ -7,11 +7,12 @@ import lombok.Data;
* 会签信息
*/
@Data
public class SignInfo extends HandlerInfo{
public class Sign extends Handler {
//最少会签人数
private int minSign;
//最少会签同意人数
private int minAgree;
//最少会签同意人数单位:0-人数 1-会签同意占比
private int minAgreeUnit;
}

smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/design/flow/define/TransInfo.java → smtweb-framework/bpm/src/main/java/cc/smtweb/system/bpm/web/design/flow/define/Trans.java View File

@@ -7,7 +7,7 @@ import lombok.Data;
* 连接线
*/
@Data
public class TransInfo {
public class Trans {
//唯一标识
private String id;
//序号

+ 597
- 125
smtweb-framework/core/src/main/resources/demo.json View File

@@ -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": "说明"
}
]
}
}

+ 46
- 0
smtweb-framework/core/src/main/resources/权限相关.json View File

@@ -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-写"
}
}
]
}

+ 587
- 69
smtweb-framework/core/src/main/resources/流程定义.json View File

@@ -1,84 +1,602 @@
{
"form": [
"type": "workflow",
"version": 3,
"flows": [
{
"page": {
"id": "id18117e2fce8",
"type": "fx-page",
"widget": {
"type": "flow-chart",
"props": {
"title": "项目",
"key": "716232842824126464"
"title": "并行流程测试"
}
},
"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": "说明"
}
]
}
}

Loading…
Cancel
Save