1
1
// @ts -ignore
2
2
import { DictDataVO } from '@/api/system/dict/types'
3
-
3
+ /**
4
+ * 节点类型
5
+ */
4
6
export enum NodeType {
5
7
/**
6
8
* 发起人节点
@@ -46,68 +48,37 @@ export enum NodeType {
46
48
*/
47
49
INCLUSIVE_NODE_JOIN = 8
48
50
}
49
- // 时间单位枚举
50
- export enum TimeUnitType {
51
- /**
52
- * 分钟
53
- */
54
- MINUTE = 1 ,
55
- /**
56
- * 小时
57
- */
58
- HOUR = 2 ,
59
- /**
60
- * 天
61
- */
62
- DAY = 3
63
- }
64
-
65
- export enum RejectHandlerType {
66
- /**
67
- * 结束流程
68
- */
69
- FINISH_PROCESS = 1 ,
70
- /**
71
- * 驳回到指定节点
72
- */
73
- RETURN_USER_TASK = 2
74
- }
75
-
76
- // 条件配置类型 ( 用于条件节点配置 )
77
- export enum ConditionConfigType {
78
- /**
79
- * 条件表达式
80
- */
81
- EXPRESSION = 1 ,
82
-
83
- /**
84
- * 条件规则
85
- */
86
- RULE = 2
87
- }
88
- // 多人审批方式类型 ( 用于审批节点 )
89
- export enum ApproveMethodType {
90
- /**
91
- * 随机挑选一人审批
92
- */
93
- RRANDOM_SELECT_ONE_APPROVE = 1 ,
94
-
95
- /**
96
- * 多人会签(按通过比例)
97
- */
98
- APPROVE_BY_RATIO = 2 ,
99
-
100
- /**
101
- * 多人或签(通过只需一人,拒绝只需一人)
102
- */
103
- ANY_APPROVE = 3 ,
104
- /**
105
- * 多人依次审批
106
- */
107
- SEQUENTIAL_APPROVE = 4
51
+ /**
52
+ * 节点结构定义
53
+ */
54
+ export interface SimpleFlowNode {
55
+ id : string
56
+ type : NodeType
57
+ name : string
58
+ showText ?: string
59
+ attributes ?: any
60
+ // 孩子节点
61
+ childNode ?: SimpleFlowNode
62
+ // 条件节点
63
+ conditionNodes ?: SimpleFlowNode [ ]
64
+ // 候选人策略
65
+ candidateStrategy ?: number
66
+ // 候选人参数
67
+ candidateParam ?: string
68
+ // 多人审批方式
69
+ approveMethod ?: ApproveMethodType
70
+ //通过比例
71
+ approveRatio ?: number
72
+ // 审批按钮设置
73
+ buttonsSetting ?: any [ ]
74
+ // 表单权限
75
+ fieldsPermission ?: Array < Record < string , string > >
76
+ // 审批任务超时处理
77
+ timeoutHandler ?: TimeoutHandler
78
+ // 审批任务拒绝处理
79
+ rejectHandler ?: RejectHandler
108
80
}
109
-
110
- // 候选人策略 ( 用于审批节点。抄送节点 )
81
+ // 候选人策略枚举 ( 用于审批节点。抄送节点 )
111
82
export enum CandidateStrategy {
112
83
/**
113
84
* 指定角色
@@ -147,12 +118,41 @@ export enum CandidateStrategy {
147
118
EXPRESSION = 60
148
119
}
149
120
121
+ // 多人审批方式类型枚举 ( 用于审批节点 )
122
+ export enum ApproveMethodType {
123
+ /**
124
+ * 随机挑选一人审批
125
+ */
126
+ RRANDOM_SELECT_ONE_APPROVE = 1 ,
127
+
128
+ /**
129
+ * 多人会签(按通过比例)
130
+ */
131
+ APPROVE_BY_RATIO = 2 ,
132
+
133
+ /**
134
+ * 多人或签(通过只需一人,拒绝只需一人)
135
+ */
136
+ ANY_APPROVE = 3 ,
137
+ /**
138
+ * 多人依次审批
139
+ */
140
+ SEQUENTIAL_APPROVE = 4
141
+ }
142
+
143
+ /**
144
+ * 审批拒绝结构定义
145
+ */
150
146
export type RejectHandler = {
147
+ // 审批拒绝类型
151
148
type : RejectHandlerType
152
-
149
+ // 回退节点 Id
153
150
returnNodeId ?: string
154
151
}
155
152
153
+ /**
154
+ * 审批超时结构定义
155
+ */
156
156
export type TimeoutHandler = {
157
157
//是否开启超时处理
158
158
enable : boolean
@@ -163,60 +163,57 @@ export type TimeoutHandler = {
163
163
// 执行动作是自动提醒, 最大提醒次数
164
164
maxRemindCount ?: number
165
165
}
166
-
167
- export type SimpleFlowNode = {
168
- id : string
169
- type : NodeType
170
- name : string
171
- showText ?: string
172
- attributes ?: any
173
- // 孩子节点
174
- childNode ?: SimpleFlowNode
175
- // 条件节点
176
- conditionNodes ?: SimpleFlowNode [ ]
177
- // 候选人策略
178
- candidateStrategy ?: number
179
- // 候选人参数
180
- candidateParam ?: string
181
- // 多人审批方式
182
- approveMethod ?: ApproveMethodType
183
- //通过比例
184
- approveRatio ?: number
185
- // 审批按钮设置
186
- buttonsSetting ?: any [ ]
187
- // 表单权限
188
- fieldsPermission ?: any [ ]
189
- // 审批任务超时处理
190
- timeoutHandler ?: TimeoutHandler
191
- // 审批任务拒绝处理
192
- rejectHandler ?: RejectHandler
166
+ // 审批拒绝类型枚举
167
+ export enum RejectHandlerType {
168
+ /**
169
+ * 结束流程
170
+ */
171
+ FINISH_PROCESS = 1 ,
172
+ /**
173
+ * 驳回到指定节点
174
+ */
175
+ RETURN_USER_TASK = 2
193
176
}
194
177
195
- // 条件组
196
- export type ConditionGroup = {
197
- // 条件组的逻辑关系是否为且
198
- and : boolean
199
- // 条件数组
200
- conditions : Condition [ ]
178
+ // 时间单位枚举
179
+ export enum TimeUnitType {
180
+ /**
181
+ * 分钟
182
+ */
183
+ MINUTE = 1 ,
184
+ /**
185
+ * 小时
186
+ */
187
+ HOUR = 2 ,
188
+ /**
189
+ * 天
190
+ */
191
+ DAY = 3
201
192
}
202
193
203
- // 条件
204
- export type Condition = {
205
- // 条件规则的逻辑关系是否为且
206
- and : boolean
207
- rules : ConditionRule [ ]
194
+ // 条件配置类型 ( 用于条件节点配置 )
195
+ export enum ConditionConfigType {
196
+ /**
197
+ * 条件表达式
198
+ */
199
+ EXPRESSION = 1 ,
200
+
201
+ /**
202
+ * 条件规则
203
+ */
204
+ RULE = 2
208
205
}
209
206
210
- // 条件规则
211
- export type ConditionRule = {
212
- type : number
213
- opName : string
214
- opCode : string
215
- leftSide : string
216
- rightSide : string
207
+ /**
208
+ * 操作按钮权限结构定义
209
+ */
210
+ export type ButtonSetting = {
211
+ id : OpsButtonType
212
+ displayName : string
213
+ enable : boolean
217
214
}
218
215
219
- // 审批操作按钮类型
216
+ // 操作按钮类型枚举 (用于审批节点)
220
217
export enum OpsButtonType {
221
218
/**
222
219
* 通过
@@ -243,11 +240,34 @@ export enum OpsButtonType {
243
240
*/
244
241
RETURN = 6
245
242
}
243
+ /**
244
+ * 条件规则结构定义
245
+ */
246
+ export type ConditionRule = {
247
+ type : number
248
+ opName : string
249
+ opCode : string
250
+ leftSide : string
251
+ rightSide : string
252
+ }
246
253
247
- export type ButtonSetting = {
248
- id : OpsButtonType
249
- displayName : string
250
- enable : boolean
254
+ /**
255
+ * 条件组结构定义
256
+ */
257
+ export type ConditionGroup = {
258
+ // 条件组的逻辑关系是否为且
259
+ and : boolean
260
+ // 条件数组
261
+ conditions : Condition [ ]
262
+ }
263
+
264
+ /**
265
+ * 条件结构定义
266
+ */
267
+ export type Condition = {
268
+ // 条件规则的逻辑关系是否为且
269
+ and : boolean
270
+ rules : ConditionRule [ ]
251
271
}
252
272
253
273
export const NODE_DEFAULT_TEXT = new Map < number , string > ( )
0 commit comments