Chuyển tới nội dung chính

Tab "Quản lý Quy trình"

Route: /admin/approval/workflows → Tab Quản lý quy trình

Tab này dành riêng cho quản trị viên để tạo, chỉnh sửa và quản lý các quy trình phê duyệt (workflow). Mỗi workflow định nghĩa ai phê duyệt, theo thứ tự nào, và hành vi khi duyệt/từ chối.

Giao diện danh sách

Tab Quản lý Quy trình

Thông tin hiển thị trong bảng

CộtÝ nghĩa
Quy trìnhTên hiển thị và mã (code) của workflow
ModulePhân hệ áp dụng (Tài liệu, Dự án...)
Số bướcTổng số bước phê duyệt trong workflow
Trạng tháiXanh = Hoạt động / Xám = Tắt
Ngày tạoNgày tạo workflow
Thao tácNút chỉnh sửa ✏️ và xóa 🗑️

Xem chi tiết bước (Expand row)

Click vào mũi tên ▶ ở đầu mỗi dòng để xem chi tiết workflow mà không cần mở modal:

Expand row xem chi tiết bước

Thông tin hiển thị khi expand:

  • Mô tả: Giải thích mục đích quy trình
  • Entity Type: Loại đối tượng kỹ thuật áp dụng
  • Chế độ: Tuần tự (sequential) hoặc Song song (parallel)
  • Các bước: Danh sách các bước kèm người duyệt và SLA (nếu có)

Tạo quy trình mới

Click nút + Tạo quy trình (góc phải trên).

Modal tạo quy trình

Thông tin cơ bản

TrườngBắt buộcMô tả
Tên hiển thị✅ CóTên người dùng thấy khi chọn quy trình. VD: "Phê duyệt xuất bản tài liệu"
Mã workflowKhông (tự điền)Mã kỹ thuật định danh duy nhất. VD: document_publish. Không thể thay đổi sau khi tạo
Phân hệ✅ CóModule áp dụng: Tài liệu, Dự án, Sinh viên...
Entity Type✅ Tự độngTự động điền theo Phân hệ. Không cần nhập tay
Mô tảKhôngGhi chú giải thích mục đích workflow
Chế độ duyệtKhôngTuần tự: Bước 1 → Bước 2 → ... (mặc định) | Song song: Tất cả bước cùng lúc
Trạng tháiKhôngBật/Tắt workflow. Workflow tắt sẽ không xuất hiện khi tạo yêu cầu mới
Mã workflow không thể thay đổi

Sau khi tạo, Mã workflow (code) bị khóa chỉnh sửa vì nhiều yêu cầu phê duyệt đang tham chiếu đến mã này. Hãy đặt tên mã rõ ràng ngay từ đầu.

Cấu hình các bước phê duyệt

Cấu hình bước phê duyệt

Mỗi workflow có một hoặc nhiều bước. Click "Thêm bước phê duyệt" để thêm bước mới.

Thông tin của từng bước

TrườngBắt buộcMô tả
Tên bước✅ CóTên mô tả bước. VD: "Trưởng phòng duyệt", "Ban Giám đốc ký duyệt"
Duyệt theo?✅ CóCách xác định người duyệt (xem bảng bên dưới)
Giá trị người duyệt✅ CóGiá trị cụ thể tương ứng với loại duyệt
Deadline (giờ)KhôngThời gian tối đa (giờ) để phê duyệt bước này
Bắt buộcKhôngBật = phải qua bước này. Tắt = có thể bỏ qua nếu điều kiện không thỏa
Điều kiện thực hiện (JSON)KhôngĐiều kiện kỹ thuật để bước này có hiệu lực

Các loại "Duyệt theo"

LoạiÝ nghĩaVí dụ giá trị
Người dùng cụ thểChỉ định đúng một hoặc nhiều người dùngTìm và chọn từ danh sách
Vai tròBất kỳ ai có role đó đều có thể duyệtChọn role từ danh sách
Quyền hạnBất kỳ ai có permission đó đều có thể duyệtChọn permission từ danh sách
Quan hệ với người tạoTự động lấy quản lý của người tạo yêu cầumanager hoặc department_head
Thuộc tính đối tượngLấy người duyệt từ trường dữ liệu của đối tượngmanager_id, created_by
Chọn "Vai trò" để linh hoạt nhất

Thay vì chỉ định người dụng cụ thể, hãy dùng Vai trò để bất kỳ người nào có role phù hợp đều có thể duyệt. Điều này giúp quy trình không bị phụ thuộc vào một cá nhân.

Hành vi khi duyệt / từ chối

Mỗi bước có thể cấu hình thêm hành vi đặc biệt khi được phê duyệt hoặc từ chối:

Khi bước được Duyệt (✅):

Hành viÝ nghĩa
Mặc địnhTiếp tục sang bước tiếp theo
Bỏ qua tất cả → Phê duyệt hoàn tấtPhê duyệt ngay, bỏ qua tất cả bước còn lại
Bỏ qua 1 bước tiếp theoBỏ qua bước kế tiếp, đi thẳng sang bước sau đó
Nhảy đến bước chỉ địnhNhảy đến bước được chọn trong danh sách
Gửi thông báo + Tiếp tụcGửi email/thông báo và tiếp tục bình thường

Khi bước bị Từ chối (❌):

Hành viÝ nghĩa
Mặc địnhTừ chối toàn bộ yêu cầu ngay
Từ chối ngay toàn bộKết thúc ngay với trạng thái Từ chối
Quay lại bước đầu tiênĐặt lại toàn bộ quy trình từ đầu
Quay lại bước trướcQuay về bước ngay trước đó
Nhảy đến bước chỉ địnhNhảy đến bước được chọn
Gửi thông báo + Từ chốiGửi thông báo và từ chối
Tính năng "Điều kiện thực hiện (JSON)"

Trường Điều kiện thực hiện cho phép bỏ qua bước nếu điều kiện không thỏa mãn.

Ví dụ: {"field":"amount","operator":">=","value":10000000} — bước này chỉ áp dụng khi giá trị amount ≥ 10 triệu.

Đây là tính năng kỹ thuật, chỉ dành cho quản trị viên có hiểu biết về cấu trúc dữ liệu.

Di chuyển và xóa bước

  • Dùng nút ↑ / ↓ (mũi tên) để thay đổi thứ tự bước
  • Click biểu tượng 🗑️ để xóa bước (cần xác nhận)
Xóa bước ảnh hưởng đến yêu cầu đang xử lý

Không nên xóa hoặc di chuyển bước khi có yêu cầu phê duyệt đang hoạt động trên workflow đó. Điều này có thể gây lỗi luồng xử lý.

Chỉnh sửa quy trình

Click biểu tượng ✏️ trên dòng workflow cần chỉnh sửa. Modal tương tự modal tạo mới sẽ xuất hiện, với dữ liệu đã được điền sẵn.

Lưu ý khi chỉnh sửa:

  • Mã workflow (code) bị khóa, không thể thay đổi
  • Các thay đổi có hiệu lực với yêu cầu mới sau khi lưu
  • Yêu cầu đang xử lý vẫn theo cấu hình cũ

Xóa quy trình

Click biểu tượng 🗑️ → Xác nhận trong hộp thoại.

Không thể xóa nếu đang có yêu cầu

Hệ thống từ chối xóa workflow nếu đang có yêu cầu phê duyệt sử dụng workflow đó (dù đã kết thúc hay đang xử lý). Cần tắt (is_active = Tắt) thay vì xóa trong trường hợp này.

Lọc bảng workflow

  • Lọc theo Module: Click vào tiêu đề cột "Module" → Chọn phân hệ
  • Lọc theo Trạng thái: Click vào tiêu đề cột "Trạng thái" → Chọn Hoạt động/Tắt