1. 程式人生 > >activiti 流程圖點選進行流程跳轉(簡易流程可行)

activiti 流程圖點選進行流程跳轉(簡易流程可行)

上午寫了篇關於流程執行中高亮顯示當前節點的文件,下午想到了朋友之前提供的demo,於是研究了下流程圖直接點選進行流程跳轉的操作。

當然,只是大概研究了下,搞懂原理後就沒有深入實現了,所以大概說下步驟。

1、獲取所有節點資訊

ProcessDefinitionEntity definitionEntity = (ProcessDefinitionEntity)
                ((RepositoryServiceImpl)repositoryService).getDeployedProcessDefinition(proDefId);
List<ActivityImpl> activities = definitionEntity.getActivities();
這裡獲取到的節點資訊中包含了節點的圖形化座標資訊、name、type等

2、頁面新增onclick事件,並且獲取當前滑鼠點選的座標

3、遍歷所有節點,判定滑鼠點選座標屬於哪一個節點

4、獲取到節點資訊,然後進行跳轉

備註:該方式只適用於簡易流程,如果涉及閘道器、觸發、邊界等事件則需要自己擬定詳細跳轉過程(官方未實現的功能,還是不要多考慮了)。

其實,第二點與第三點可以不用這樣做。可以像當前節點高亮顯示一樣,將每一個可以進行跳轉的節點弄一個顏色,

由於顏色框是div製作的,那麼在這個div上新增onclick就可以了,然後div中弄隱藏值。這樣使用者體驗度更好,更不容易出錯。