工作流编写教程
?
介紹
ONES中使用了flowchart.js作為前端展示,并且擴(kuò)展了flowchart.js的流程描述語言。
flowchart.js 參見:?https://github.com/adrai/flowchart.js
描述語言分為三部分,使用\n\n(空一行)作為分割,分別是節(jié)點(diǎn)定義、執(zhí)行流程描述、節(jié)點(diǎn)權(quán)限描述
節(jié)點(diǎn)定義
eg:
make_stockout=>operation: 生成出庫單:> m:Sale/Orders::convert_to_stock_out
必填項(xiàng)目:
- make_stockout?定義的是一個別名叫做?make_stockout的節(jié)點(diǎn)
- =>是節(jié)點(diǎn)和其設(shè)置的分隔符,這部分是和flowchart一致的
- operation表示的是節(jié)點(diǎn)的類型,和flowchart一致,比如start, end, operation, condition等。:?(注意冒號后面的空格)是標(biāo)識節(jié)點(diǎn)類型的結(jié)束
- 生成出庫單?表示的是節(jié)點(diǎn)的顯示名稱,如果表示為?生成出庫單:正在出庫,則冒號前面是節(jié)點(diǎn)的按鈕名稱,后面是節(jié)點(diǎn)的狀態(tài)名稱。后面的:>(注意冒號后面的空格)表示的是節(jié)點(diǎn)的顯示名稱描述結(jié)束
非必填項(xiàng)目
- m:Sale/Orders::convert_to_stock_out?這部分是一個整體,m:表示的是執(zhí)行一個服務(wù)接口的方法(M ethod),Sale/Orders代表的是所執(zhí)行的服務(wù),命名方式參照ThinkPHP的D()方法參數(shù),convert_to_stock_out為服務(wù)提供的方法。
- 也可以通過此處直接修改當(dāng)前流程的數(shù)據(jù),比如:u:status=1,表示為更新(U pdate)status為1
流程描述
eg:
start(right)->save_bill(right)->confirm->check_if_all_out check_if_all_out(yes)->response->end check_if_all_out(no)->continue_out->confirm(right)- 流程描述以->為分隔符,分隔符兩端分別為執(zhí)行節(jié)點(diǎn)的上下文關(guān)系
- (right)是flowchart.js的描述方法,標(biāo)識在前端顯示中,會將下一節(jié)點(diǎn)置于上一節(jié)點(diǎn)右側(cè)
- (yes)?or?(no)?是condition類型節(jié)點(diǎn)專用的,分別標(biāo)識條件判斷執(zhí)行結(jié)果為真或者假的情況下的后續(xù)操作
權(quán)限描述
權(quán)限描述可以通過在前端雙擊工作流節(jié)點(diǎn)進(jìn)行設(shè)置,也可以手動填寫,默認(rèn)的eg:
end=>auto:auto response=>auto:waiting save_bill=>auto:owner注意這三個特殊的執(zhí)行者身份
- auto:auto?代表節(jié)點(diǎn)會自動執(zhí)行
- auto:wait?代表當(dāng)前流程會和其他流程有交叉,并且會等待其他流程的響應(yīng)
- auto:owner?代表當(dāng)前流程數(shù)據(jù)的創(chuàng)建者
轉(zhuǎn)載于:https://www.cnblogs.com/h2zZhou/p/5362606.html
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
- 上一篇: Objective-C中,ARC下的 s
- 下一篇: PHP header函数大全