activiti 流程圖點選進行流程跳轉(簡易流程可行)
阿新 • • 發佈:2019-02-10
上午寫了篇關於流程執行中高亮顯示當前節點的文件,下午想到了朋友之前提供的demo,於是研究了下流程圖直接點選進行流程跳轉的操作。
當然,只是大概研究了下,搞懂原理後就沒有深入實現了,所以大概說下步驟。
1、獲取所有節點資訊
這裡獲取到的節點資訊中包含了節點的圖形化座標資訊、name、type等ProcessDefinitionEntity definitionEntity = (ProcessDefinitionEntity) ((RepositoryServiceImpl)repositoryService).getDeployedProcessDefinition(proDefId); List<ActivityImpl> activities = definitionEntity.getActivities();
2、頁面新增onclick事件,並且獲取當前滑鼠點選的座標
3、遍歷所有節點,判定滑鼠點選座標屬於哪一個節點
4、獲取到節點資訊,然後進行跳轉
備註:該方式只適用於簡易流程,如果涉及閘道器、觸發、邊界等事件則需要自己擬定詳細跳轉過程(官方未實現的功能,還是不要多考慮了)。
其實,第二點與第三點可以不用這樣做。可以像當前節點高亮顯示一樣,將每一個可以進行跳轉的節點弄一個顏色,
由於顏色框是div製作的,那麼在這個div上新增onclick就可以了,然後div中弄隱藏值。這樣使用者體驗度更好,更不容易出錯。