這篇主要記錄form表單的知識,camunda表單有3種配置實現方式
1、camunda forms
用官網下載的modeler創(chuàng)建編輯表單,用表單key跟使用的節(jié)點關聯,關聯的節(jié)點一般是開始或用戶任務。創(chuàng)建的表單是.form格式文件,實質上是json格式,所以理論上手動創(chuàng)建components:[ ]里面放標簽也能實現修改form。

這種表單配置方式在我最初學習的時候沒有找到對應的repositoryService api,一度只能通過讀取xml、bpmn文件并遍歷標簽找到formKey,非常不方便。后來調研的幾個開源前端畫圖項目都用的這種formKey的方式,即表單和流程圖分開編輯再綁定,其他流程引擎如flowable也默認使用這種方式。查找資料后發(fā)現一篇文章能預取下個節(jié)點。
https://blog.csdn.net/skayliu/article/details/122914671

其中這部分代碼可以通過流程圖的definitionId用repositoryService獲取流程圖上大部分信息(其實從理論上來說非常合理,畢竟流程圖信息是寫死的),包括各節(jié)點的流轉方向和formKey。這樣就能提前知道各個節(jié)點應填表單交給前端頁面,做到節(jié)點靈活配置。
2、external task form
手動寫html和js部署在流程圖的屬性里,我沒有實際嘗試過這種配置方法,和需求不符。從網上了解,這種方法的表單屬性似乎不會自動賦值到流程實例里。
3、流程圖文件內置form標簽

這種方式在modeler軟件里非常容易配置,之前提到的新手入門教程也是這種form配置方法,導致我一度在這種方法上花費大量時間研究,例如xml文件的導入導出、讀取標簽和對應內容。實際上這種方式也能通過repository的api讀取到,但既然前端項目使用另一種方式,這種就被我舍棄了。