camunda快速入門(三):設計表單和審批流程

大龄码农有梦想發表於2024-07-08

三、設計一個人工任務流程並配置表單

在本節中,您將學習如何使用 BPMN 2.0 使用者任務讓人類參與到您的流程中。

1、新增使用者任務活動節點

我們想修改我們的流程,以便我們可以讓人類參與進來。

為此,請在 Camunda Modeler流程建模工具中開啟該過程。

選擇建立/刪除空間工具 (<||>),並使用它來在“開始事件”和“Charge Credit Card(從信用卡中扣款)”服務任務之間建立空間(單擊並將游標拖動到右側)。

接下來,從建模器的左側選單中,選擇活動形狀(圓角矩形),並將其拖動到“開始事件”和“從信用卡中扣款”服務任務之間的位置。將其命名為“Approve Payment(批准付款)”。

將使用者任務新增到流程 (4_6) _docs.camunda.org406

透過單擊活動型別並使用扳手按鈕選單將活動型別更改為“使用者任務”。

2-將使用者任務新增到流程(1)

2、配置使用者任務處理人

接下來,開啟屬性檢視。如果屬性檢視尚不可見,請單擊 Modeler 畫布右側的“屬性皮膚”標籤。

在畫布上選擇“使用者任務”。這將更新屬性檢視中的選擇。滾動到名為 Assignee的屬性。鍵入 demo 以在程序執行後自動將任務分配給演示使用者。

3-設定流程處理人

3、在使用者任務中配置表單

此步驟也將在屬性皮膚中進行。如果皮膚尚不可見,請單擊 Modeler 畫布右側的“屬性皮膚”標籤。

在畫布上選擇“使用者任務”,單擊屬性皮膚中的Forms選項卡。

本指南使用Camunda Forms將表單新增到流程中。我們將建立一個名為payment.form的表單。設定以下欄位以將此過程連結到您將要建立的表單:

  • Type: Embedded or External Task Forms
  • Form Key: camunda-forms:deployment:payment.form

01-表單配置

4、透過表單設計器設計表單

現在,透過單擊“檔案”>“新建檔案”>“表單”建立新表單Form_Payment。

01-表單設計器

您可以透過從左側的表單元件中拖放元素來新增表單欄位。新增以下三個表單欄位:

欄位 1:

  • Type: Number
  • Key: amount
  • Field Label: Amount

02-表單欄位1

欄位 2:

  • Type: Text Field
  • Key: item
  • Field Label: Item

03-表單欄位2

欄位 3:

  • Type: Checkbox
  • Key: approved
  • Label: Approved?

04-表單欄位3

最後,將表單另存為 payment.form

5、部署流程和表單

  1. 切換回流程圖
  2. 單擊 Camunda Modeler 中的 Deploy 按鈕
  3. 在部署皮膚中,選擇“包括其他檔案”下的檔案payment.form
  4. 單擊“部署”

1-部署流程

6、發起流程驗證

轉到任務列表 (http://localhost:8080/camunda/app/tasklist/) 並使用使用者“demo / demo”登入。點選啟動流程按鈕啟動流程例項。這將開啟一個對話方塊,您可以在其中從列表中選擇Payment Retrieval 流程。現在,您可以使用表單為流程例項設定變數了。

IMG_267

單擊“ Add a variable(新增變數)”按鈕以建立新行,填寫表單完成後,單擊“Start(開始)”啟動一個流程。

提示:

如果在任務列表中看不到任何任務,則可能需要一個篩選器。透過單擊左側的新增簡單過濾器來新增一個過濾器。

現在,您應該會在任務列表中看到“ Approve Payment(批准付款)”任務。選擇任務,然後單擊“圖表”選項卡。這將顯示流程圖,突出顯示等待處理的使用者任務。

2-待辦任務流程例項

若要處理該任務,請選擇“Form 窗體”選項卡。由於我們在 Camunda Modeler 的“Form 表單”選項卡中定義了變數,因此“任務列表”已為我們自動生成表單欄位。

3-待辦任務表單

7、原始碼和文件

線上體驗系統:http://www.yunchengxc.com

原始碼下載:https://github.com/camunda/camunda-get-started-quickstart/archive/Step-3.zip

官方文件地址:https://docs.camunda.org/get-started/quick-start/user-task/

接下來,讓我們看一下如何將閘道器新增到流程中,讓流程變得更加動態,透過閘道器執行控制不同的流程走向。

相關文章