Commit d839adedff05c9c251fd72587d1cae285d7ff64d

Authored by YunaiV
1 parent 34a0f0ea

基本算完成第一个版本的流程图高亮,基于前端实现

yudao-admin-ui/src/components/bpmnProcessDesigner/package/designer/ProcessViewer.vue
@@ -104,11 +104,6 @@ export default { @@ -104,11 +104,6 @@ export default {
104 /* 高亮流程图 */ 104 /* 高亮流程图 */
105 // TODO 芋艿:如果多个 endActivity 的话,目前的逻辑可能有一定的问题。https://www.jdon.com/workflow/multi-events.html 105 // TODO 芋艿:如果多个 endActivity 的话,目前的逻辑可能有一定的问题。https://www.jdon.com/workflow/multi-events.html
106 async highlightDiagram() { 106 async highlightDiagram() {
107 - // let activityList = this.activityList.filter(task => {  
108 - // if (task.type !== 'sequenceFlow') { // 去除连线元素  
109 - // return true;  
110 - // }  
111 - // });  
112 const activityList = this.activityList; 107 const activityList = this.activityList;
113 if (activityList.length === 0) { 108 if (activityList.length === 0) {
114 return; 109 return;
@@ -141,15 +136,13 @@ export default { @@ -141,15 +136,13 @@ export default {
141 outgoing?.forEach(nn => { 136 outgoing?.forEach(nn => {
142 // debugger 137 // debugger
143 let targetActivity = activityList.find(m => m.key === nn.targetRef.id) 138 let targetActivity = activityList.find(m => m.key === nn.targetRef.id)
  139 + // 如果目标活动存在,则根据该活动是否结束,进行【bpmn:SequenceFlow】连线的高亮设置
144 if (targetActivity) { 140 if (targetActivity) {
145 - // debugger  
146 canvas.addMarker(nn.id, targetActivity.endTime ? 'highlight' : 'highlight-todo'); 141 canvas.addMarker(nn.id, targetActivity.endTime ? 'highlight' : 'highlight-todo');
147 - } else if (nn.targetRef.$type === 'bpmn:ExclusiveGateway') {  
148 - // debugger 142 + } else if (nn.targetRef.$type === 'bpmn:ExclusiveGateway') { // TODO 芋艿:这个流程,暂时没走到过
149 canvas.addMarker(nn.id, activity.endTime ? 'highlight' : 'highlight-todo'); 143 canvas.addMarker(nn.id, activity.endTime ? 'highlight' : 'highlight-todo');
150 canvas.addMarker(nn.targetRef.id, activity.endTime ? 'highlight' : 'highlight-todo'); 144 canvas.addMarker(nn.targetRef.id, activity.endTime ? 'highlight' : 'highlight-todo');
151 - } else if (nn.targetRef.$type === 'bpmn:EndEvent') {  
152 - // debugger 145 + } else if (nn.targetRef.$type === 'bpmn:EndEvent') { // TODO 芋艿:这个流程,暂时没走到过
153 if (!todoActivity && endActivity.key === n.id) { 146 if (!todoActivity && endActivity.key === n.id) {
154 canvas.addMarker(nn.id, 'highlight'); 147 canvas.addMarker(nn.id, 'highlight');
155 canvas.addMarker(nn.targetRef.id, 'highlight'); 148 canvas.addMarker(nn.targetRef.id, 'highlight');