Giao diện
Cấu hình node - Approval Process
Node phê duyệt nhiều bước, tạm dừng workflow để chờ assignees xác nhận với threshold linh hoạt, form nhập lý do, và hỗ trợ timeout/escalation.
Bảng tham số cấu hình
| Tham số | Kiểu | Bắt buộc | Mặc định | Mô tả |
|---|---|---|---|---|
assignees | array | Có | — | Danh sách user/role được phân công phê duyệt |
threshold | number | Không | 100 | Số lượng hoặc tỷ lệ (%) approve cần đạt |
mode | string | Không | all | Chế độ: all (tất cả), any (bất kỳ), percentage |
form | object | Không | — | Cấu hình form nhập lý do khi approve/reject |
timeout | number | Không | 0 | Thời gian tối đa chờ phê duyệt (ms), 0 = không giới hạn |
onTimeout | string | Không | reject | Hành vi khi hết thời gian: approve, reject, escalate |
escalateTo | array | Không | [] | Danh sách user nhận escalation khi timeout |
Dữ liệu đầu vào (Input)
| Tên | Kiểu | Mô tả |
|---|---|---|
data | object | Dữ liệu bản ghi cần phê duyệt |
assignees | array | Danh sách người phê duyệt (có thể lấy động từ biến workflow) |
Dữ liệu đầu ra (Output)
| Tên | Kiểu | Mô tả |
|---|---|---|
status | string | approved, rejected, hoặc timed_out |
approvals | array | Danh sách chi tiết ai đã approve/reject và thời điểm |
comment | string | Lý do từ form phê duyệt |
Chi tiết các chế độ
| Mode | Threshold | Ý nghĩa |
|---|---|---|
all | — | Tất cả assignees phải approve |
any | — | Chỉ cần 1 assignee approve |
percentage | 60 | 60% assignees approve là đủ |
Lưu ý quan trọng
- Node kế thừa từ Manual node - cần cài
plugin-workflow-manual - Khi mode =
percentage, threshold là số phần trăm (VD: 60 = 60%) - Nếu một approver reject, workflow có thể dừng ngay tùy cấu hình
- Timeout chỉ hoạt động khi server đang chạy - restart server sẽ reschedule timer
- Sử dụng node Condition sau Approval để phân nhánh theo kết quả approve/reject
- Dynamic assignees cho phép lấy danh sách người phê duyệt từ biến workflow (VD: từ field
managerId)