Commit 4c8b0ef430b2f02d2cd0452dd86f154d6f1d859e
Committed by
Gitee
1 parent
185ea9e8
增加servicetask的完成和todo高亮,增加servicetask节点的hover显示内容
Signed-off-by: FinalFinancialFreedom <li.acerphoenix@gmail.com>
Showing
1 changed file
with
27 additions
and
14 deletions
yudao-ui-admin/src/components/bpmnProcessDesigner/package/designer/ProcessViewer.vue
| @@ -119,10 +119,10 @@ export default { | @@ -119,10 +119,10 @@ export default { | ||
| 119 | // console.log(this.bpmnModeler.getDefinitions().rootElements[0].flowElements); | 119 | // console.log(this.bpmnModeler.getDefinitions().rootElements[0].flowElements); |
| 120 | this.bpmnModeler.getDefinitions().rootElements[0].flowElements?.forEach(n => { | 120 | this.bpmnModeler.getDefinitions().rootElements[0].flowElements?.forEach(n => { |
| 121 | let activity = activityList.find(m => m.key === n.id) // 找到对应的活动 | 121 | let activity = activityList.find(m => m.key === n.id) // 找到对应的活动 |
| 122 | + if (!activity) { | ||
| 123 | + return; | ||
| 124 | + } | ||
| 122 | if (n.$type === 'bpmn:UserTask') { // 用户任务 | 125 | if (n.$type === 'bpmn:UserTask') { // 用户任务 |
| 123 | - if (!activity) { | ||
| 124 | - return; | ||
| 125 | - } | ||
| 126 | // 处理用户任务的高亮 | 126 | // 处理用户任务的高亮 |
| 127 | const task = this.taskList.find(m => m.id === activity.taskId); // 找到活动对应的 taskId | 127 | const task = this.taskList.find(m => m.id === activity.taskId); // 找到活动对应的 taskId |
| 128 | if (!task) { | 128 | if (!task) { |
| @@ -158,9 +158,6 @@ export default { | @@ -158,9 +158,6 @@ export default { | ||
| 158 | } | 158 | } |
| 159 | }); | 159 | }); |
| 160 | } else if (n.$type === 'bpmn:ExclusiveGateway') { // 排它网关 | 160 | } else if (n.$type === 'bpmn:ExclusiveGateway') { // 排它网关 |
| 161 | - if (!activity) { | ||
| 162 | - return | ||
| 163 | - } | ||
| 164 | // 设置【bpmn:ExclusiveGateway】排它网关的高亮 | 161 | // 设置【bpmn:ExclusiveGateway】排它网关的高亮 |
| 165 | canvas.addMarker(n.id, this.getActivityHighlightCss(activity)); | 162 | canvas.addMarker(n.id, this.getActivityHighlightCss(activity)); |
| 166 | // 查找需要高亮的连线 | 163 | // 查找需要高亮的连线 |
| @@ -185,9 +182,6 @@ export default { | @@ -185,9 +182,6 @@ export default { | ||
| 185 | canvas.addMarker(matchNN.id, this.getActivityHighlightCss(matchActivity)); | 182 | canvas.addMarker(matchNN.id, this.getActivityHighlightCss(matchActivity)); |
| 186 | } | 183 | } |
| 187 | } else if (n.$type === 'bpmn:ParallelGateway') { // 并行网关 | 184 | } else if (n.$type === 'bpmn:ParallelGateway') { // 并行网关 |
| 188 | - if (!activity) { | ||
| 189 | - return | ||
| 190 | - } | ||
| 191 | // 设置【bpmn:ParallelGateway】并行网关的高亮 | 185 | // 设置【bpmn:ParallelGateway】并行网关的高亮 |
| 192 | canvas.addMarker(n.id, this.getActivityHighlightCss(activity)); | 186 | canvas.addMarker(n.id, this.getActivityHighlightCss(activity)); |
| 193 | n.outgoing?.forEach(nn => { | 187 | n.outgoing?.forEach(nn => { |
| @@ -213,6 +207,17 @@ export default { | @@ -213,6 +207,17 @@ export default { | ||
| 213 | return; | 207 | return; |
| 214 | } | 208 | } |
| 215 | canvas.addMarker(n.id, this.getResultCss(this.processInstance.result)); | 209 | canvas.addMarker(n.id, this.getResultCss(this.processInstance.result)); |
| 210 | + } else if (n.$type === 'bpmn:ServiceTask'){ //服务任务 | ||
| 211 | + if(activity.startTime>0 && activity.endTime===0){//进入执行,标识进行色 | ||
| 212 | + canvas.addMarker(n.id, this.getResultCss(1)); | ||
| 213 | + } | ||
| 214 | + if(activity.endTime>0){// 执行完成,节点标识完成色, 所有outgoing标识完成色。 | ||
| 215 | + canvas.addMarker(n.id, this.getResultCss(2)); | ||
| 216 | + const outgoing = this.getActivityOutgoing(activity) | ||
| 217 | + outgoing?.forEach(out=>{ | ||
| 218 | + canvas.addMarker(out.id,this.getResultCss(2)) | ||
| 219 | + }) | ||
| 220 | + } | ||
| 216 | } | 221 | } |
| 217 | }) | 222 | }) |
| 218 | }, | 223 | }, |
| @@ -268,6 +273,10 @@ export default { | @@ -268,6 +273,10 @@ export default { | ||
| 268 | !this.elementOverlayIds && (this.elementOverlayIds = {}); | 273 | !this.elementOverlayIds && (this.elementOverlayIds = {}); |
| 269 | !this.overlays && (this.overlays = this.bpmnModeler.get("overlays")); | 274 | !this.overlays && (this.overlays = this.bpmnModeler.get("overlays")); |
| 270 | // 展示信息 | 275 | // 展示信息 |
| 276 | + const activity = this.activityList.find(m => m.key === element.id); | ||
| 277 | + if (!activity) { | ||
| 278 | + return; | ||
| 279 | + } | ||
| 271 | if (!this.elementOverlayIds[element.id] && element.type !== "bpmn:Process") { | 280 | if (!this.elementOverlayIds[element.id] && element.type !== "bpmn:Process") { |
| 272 | let html = `<div class="element-overlays"> | 281 | let html = `<div class="element-overlays"> |
| 273 | <p>Elemet id: ${element.id}</p> | 282 | <p>Elemet id: ${element.id}</p> |
| @@ -279,10 +288,6 @@ export default { | @@ -279,10 +288,6 @@ export default { | ||
| 279 | <p>创建时间:${this.parseTime(this.processInstance.createTime)}`; | 288 | <p>创建时间:${this.parseTime(this.processInstance.createTime)}`; |
| 280 | } else if (element.type === 'bpmn:UserTask') { | 289 | } else if (element.type === 'bpmn:UserTask') { |
| 281 | // debugger | 290 | // debugger |
| 282 | - const activity = this.activityList.find(m => m.key === element.id); | ||
| 283 | - if (!activity) { | ||
| 284 | - return; | ||
| 285 | - } | ||
| 286 | let task = this.taskList.find(m => m.id === activity.taskId); // 找到活动对应的 taskId | 291 | let task = this.taskList.find(m => m.id === activity.taskId); // 找到活动对应的 taskId |
| 287 | if (!task) { | 292 | if (!task) { |
| 288 | return; | 293 | return; |
| @@ -297,6 +302,14 @@ export default { | @@ -297,6 +302,14 @@ export default { | ||
| 297 | if (task.reason) { | 302 | if (task.reason) { |
| 298 | html += `<p>审批建议:${task.reason}</p>` | 303 | html += `<p>审批建议:${task.reason}</p>` |
| 299 | } | 304 | } |
| 305 | + } else if (element.type === 'bpmn:ServiceTask' && this.processInstance) { | ||
| 306 | + if(activity.startTime>0){ | ||
| 307 | + html = `<p>创建时间:${this.parseTime(activity.startTime)}</p>`; | ||
| 308 | + } | ||
| 309 | + if(activity.endTime>0){ | ||
| 310 | + html += `<p>结束时间:${this.parseTime(activity.endTime)}</p>` | ||
| 311 | + } | ||
| 312 | + console.log(html) | ||
| 300 | } else if (element.type === 'bpmn:EndEvent' && this.processInstance) { | 313 | } else if (element.type === 'bpmn:EndEvent' && this.processInstance) { |
| 301 | html = `<p>结果:${this.getDictDataLabel(this.DICT_TYPE.BPM_PROCESS_INSTANCE_RESULT, this.processInstance.result)}</p>`; | 314 | html = `<p>结果:${this.getDictDataLabel(this.DICT_TYPE.BPM_PROCESS_INSTANCE_RESULT, this.processInstance.result)}</p>`; |
| 302 | if (this.processInstance.endTime) { | 315 | if (this.processInstance.endTime) { |
| @@ -471,4 +484,4 @@ export default { | @@ -471,4 +484,4 @@ export default { | ||
| 471 | color: #fafafa; | 484 | color: #fafafa; |
| 472 | width: 200px; | 485 | width: 200px; |
| 473 | } | 486 | } |
| 474 | -</style> | 487 | -</style> |
| 488 | +</style> | ||
| 475 | \ No newline at end of file | 489 | \ No newline at end of file |