面對通用工作流產品「零代碼配置卻難應對複雜表單邏輯、外部介面、定製化需求」的痛點,本框架採用 半模塊化工作流:核心流轉引擎模塊化,表單與業務邏輯以代碼整合,兼顧靈活度與開發效率,已成功應用於廣州多區縣行業審批平台。



核心動作:通過、拒絕、退回指定步驟、轉發閱辦、閱讀、起草人撤銷。統一封裝為標準界面,傳入 FlowID 即可操作:


多閱辦人處理:

撤銷重編:



private void InitToolBar() {
// 撤銷/退回編輯/閱辦狀態 按鈕可見性由業務規則決定
bool mayCancel = BLLFactory<AppApply>.Instance.IsApplyMayCancel(ApplyId, LoginUserId);
btnCancel.Visibility = mayCancel ? BarItemVisibility.Always : BarItemVisibility.Never;
// ... 其它按鈕同理
// 當前審批人動態添加「審批類型」按鈕
if (canDeal) {
var flowInfo = BLLFactory<ApplyFlow>.Instance.GetFirstUnHandledFlow(ApplyId);
if (flowInfo != null) {
var btn = new BarButtonItem {
Caption = BLLFactory<AppProc>.Instance.GetProcType(flowInfo.ProcType),
Tag = flowInfo, // 綁定流程上下文
ItemClick += Button_ItemClick
};
bar1.AddItem(btn);
}
}
}
private void Button_ItemClick(object sender, ItemClickEventArgs e) {
var flowInfo = (ApplyFlowInfo)e.Item.Tag;
// 根據 flowInfo.ProcType 分派具體審批邏輯 (通過/退回/加簽等)
}
此設計實現:流程引擎穩定、表單業務靈活、工具欄動態、權限精準,避免了重型工作流產品的「配置地獄」與擴展瓶頸。