自定義表單可以掛載到流程引擎,也可單獨存在,本文介紹自定義表單掛接流程引擎案例,流程引擎采用開源的框架elsa,並對部分代碼做了修改以適應中國國內的審批業務,流程設計器也是基於elsa提供的前端實現框架,但全部移植到vue版本中以適應自身框架的需要。
1.關鍵業務流程:訂單、報價處理、采購處理、合同審核、客戶電話處理、供應鏈管理等
2.行政管理類:出差申請、加班申請、請假申請、用車申請、各種辦公用品申請、購買申請、日報周報等凡是原來手工流轉處理的行政表單。
3.人事管理類:員工培訓安排、績效考評、職位變動處理、員工檔案信息管理等。
4.財務相關類:付款請求、應收款處理、日常報銷處理、出差報銷、預算和計划申請等。
6.特殊服務類:ISO系列對應流程、質量管理對應流程、產品數據信息管理、貿易公司報關處理、物流公司貨物跟蹤處理等
這里的案例設計為經營管理中的合同管理,並盡量朗闊流程引擎中的核心功能特性,以零代碼配置合同審批功能。
說明:為了方便演示,流程定義的每一步活動的審批人都添加了發起人
流程定義管理
流程活動
活動分為審批活動和流程控制活動
用戶審批活動->基本審批活動
子流程活動->定義子流程,流程運行到此活動時,流程引擎會自動發起子流程
Fork、Join活動->並行活動開始和並行活動結束控制,流程運行到Fork活動,會並行運行多個活動;Join活動會等待所有活動結束或任何一個活動完成才會繼續往下運行
Switch活動->分支活動,通常判斷用戶審批或者表單自定義的表達式值從而確定流程運行哪一個分支
If/Else活動->分支活動,判斷表達式為true或者false從而運行哪一個分支
活動規則引擎
規則引擎為整個流程引擎核心,流程根據規則引擎確定流程流轉,部分規則說明:
審批活動_基本信息->定義活動名稱,"是否可跳轉到其他活動"控制審批活動是否可以強制跳轉到其他任意活動,"是否可以回退到第一步"控制審批用戶是否可以回退到第一步
審批活動_任務分配規則->配置哪些人可以審批此活動,哪些人會收到待閱任務,可以從角色選擇,也可從具體人選擇,角色可以限制部門; "是否需前一步驟用戶指定"配置流程運行到此步驟,需要上一步審批用戶選擇審批用戶
審批活動_路由選擇規則->配置允許用戶審批提交時,選擇流程運行哪個分支
審批活動_權限規則->控制當前審批活動不能編輯哪些表單字段和不顯示哪些表單字段,默認不限制
審批活動_完成規則->控制活動達到什么條件才算完成,否則不會往下流轉,通常為會簽業務
子流程活動->可配置為同步子流程或異步子流程,可選擇子流程定義
Swith活動->配置分支判斷表達式,自定義表達式,可選擇javascript語法
流程表單定義
表單列表
包括合同管理和合同歸檔管理,均根據自定義表單配置而來。
流程實例管理
工作台待辦、已辦、待閱、已閱、流程管理、表單列表均可打開流程實例管理界面。可以以對話框或非對話框模式打開。
流程表單
流程引擎主要用於業務單據根據不同的規則在不同的人之間審批流轉,這里有單據通常為業務表單。
流程跟蹤圖
流程跟蹤圖比較直觀的查看流程流轉情況以及不同活動的審批情況,在流程設計圖的基礎上增加審批狀態及審批信息
流程審批歷史
按照時間倒敘以列表的方式記錄流程審批信息
流程附件
流程引擎可以在任何時間,任何節點添加附件信息
工作台
與流程相關的業務功能都在工作台可以辦理,包括待辦、待閱、流程實例管理等
待辦、已辦管理
主要管理我的待辦已辦任務
待閱、已閱管理
主要管理我的待閱已閱任務
流程實例管理
主要管理已發起的流程實例信息
流程運行時部分功能演示
為方便演示,所有的審批活動審批人都添加了流程發起人
基本審批
審批人員分配
主要確定哪些人能收到待辦和待閱任務
分支判斷
通過用戶審批選擇或者表達式值,結合Switch活動確定流程流轉到哪個分支
審批用戶由上一步驟審批活動指定
通常為上線下發任務情況,由領導安排下一步驟誰去完成活動
並行審批
流程運行時可以同時分出多可運行分支,所以分支完全等效,任何分支都可以先執行,並等待所有分支執行完成才往下流轉,通常用於部門協作完成某一業務。
流程跟蹤、流程審批歷史、流程附件
流程跟蹤和流程審批歷史都可以比較方便的查看流程整個審批過程信息,流程附件統一管理流程涉及到的附件信息
任務轉發
待辦任務可以轉發給其他人員審批
提交並轉向其他活動
流程原則上需要按照預定義的活動流轉,但在某些情況下可以允許用戶執行任何其他審批活動
回退到第一步
流程可以設置在某些活動允許審批人強制回退到第一步,相當於打回整個流程
審批撤回
對剛提交的待辦,且下一步審批用戶未審批,可以在我的已辦中打開已辦信息,選擇撤回已辦信息。
待辦催辦
流程管理員或者流程發起人可以在流程管理實例管理界面對當前審批活動發送催辦通知
活動權限控制
對於某些審批活動,可以設置不允許修改表單信息或者隱藏某些字段顯示
流程強制作廢
對於某些不再需要繼續流轉審批的流程可以強制作廢,強制作廢回收所有待辦任務,並修改流程狀態
流程表單信息管理
可以管理業務功能的同時查看流程信息
流程通知
在用戶收到待辦信息、流程狀態改變、任務催辦等業務,可以以郵件、實時消息、公眾號、短信等發送流程通知
父子流程
某些流程之間可能存在父子關系,父流程流程到某一步活動時,會自動發起子流程,父流程可以同步或者異步等待子流程完成