# Mẫu quy trình

> Tạo và quản lý mẫu luồng phê duyệt nhiều bước. Cấu hình loại hành động, người duyệt, chế độ song song và xác thực MFA cho từng bước.

**Quyền truy cập:** Cần quyền quản lý mẫu quy trình, Admin **Điều hướng:** `Quy trình phê duyệt > Mẫu quy trình` hoặc `/manage/workflow/templates`

***

## Giao diện

Trang Quản lý mẫu quy trình có thanh điều hướng với các tab lọc theo trạng thái và nút tạo mới.

### Tab trạng thái

| Tab            | Mô tả                                           |
| -------------- | ----------------------------------------------- |
| Tất cả         | Hiển thị toàn bộ mẫu quy trình                  |
| Đang hoạt động | Mẫu đã kích hoạt, sẵn sàng sử dụng              |
| Bản nháp       | Mẫu mới tạo hoặc đang chỉnh sửa, chưa kích hoạt |
| Lưu trữ        | Mẫu đã lưu trữ, không sử dụng nhưng vẫn giữ lại |

### Bảng danh sách mẫu

| Cột            | Mô tả                                             |
| -------------- | ------------------------------------------------- |
| STT            | Số thứ tự                                         |
| Tên mẫu + Mã   | Tên mẫu quy trình và mã định danh (nếu có)        |
| Loại đối tượng | Loại đối tượng áp dụng (Mục tiêu, Đánh giá, v.v.) |
| Số bước        | Số bước phê duyệt trong mẫu                       |
| Trạng thái     | Bản nháp, Đang hoạt động hoặc Lưu trữ             |
| Thao tác       | Sửa, Kích hoạt, Lưu trữ, Xóa                      |

***

## Tạo mẫu quy trình mới

### Các bước

1. Nhấp **"Tạo mẫu mới"** ở góc phải trên
2. Hệ thống mở hộp thoại tạo mẫu quy trình
3. Điền thông tin cơ bản:
   * **Tên mẫu** (bắt buộc) -- Tên mô tả quy trình, ví dụ: "Phê duyệt mục tiêu - 2 cấp"
   * **Mã** (không bắt buộc) -- Mã định danh ngắn, ví dụ: "GOAL-2L"
   * **Loại đối tượng** (bắt buộc) -- Chọn loại đối tượng áp dụng từ danh sách thả xuống
   * **Mô tả** -- Mô tả chi tiết mẫu quy trình (trình soạn thảo văn bản)
4. Thêm các bước phê duyệt (xem phần Cấu hình bước bên dưới)
5. Chọn hành động lưu:
   * Nhấp **"Lưu bản nháp"** để lưu mà chưa kích hoạt
   * Nhấp **"Tạo & Kích hoạt"** để lưu và kích hoạt ngay

### Bảng trường thông tin cơ bản

| Trường         | Bắt buộc | Mô tả                                                                                                                          |
| -------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------ |
| Tên mẫu        | Có       | Tên mô tả quy trình. Ví dụ: "Phê duyệt mục tiêu - 2 cấp"                                                                       |
| Mã             | Không    | Mã định danh ngắn. Ví dụ: "GOAL-2L"                                                                                            |
| Loại đối tượng | Có       | Chọn từ danh sách: Mục tiêu, Đánh giá, Bổ nhiệm, PIP, IDP, Đánh giá công việc, Đăng ký đào tạo, Lộ trình nghề nghiệp, Tài liệu |
| Mô tả          | Không    | Mô tả chi tiết mục đích và phạm vi áp dụng                                                                                     |

***

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

Mỗi mẫu quy trình gồm một hoặc nhiều bước. Nhấp **"Thêm bước"** để thêm bước mới.

### Thông tin bước

| Trường              | Mô tả                                      |
| ------------------- | ------------------------------------------ |
| Tên bước (bắt buộc) | Tên mô tả bước, ví dụ: "Quản lý trực tiếp" |
| Loại hành động      | Chọn loại hành động yêu cầu tại bước này   |
| Loại người duyệt    | Chọn cách xác định người thực hiện bước    |

### Loại hành động

| Loại                       | Mô tả                                                  |
| -------------------------- | ------------------------------------------------------ |
| Phê duyệt (approval)       | Người duyệt phê duyệt hoặc từ chối yêu cầu             |
| Xác nhận (acknowledgement) | Người duyệt xác nhận đã biết nội dung                  |
| Ký duyệt (signature)       | Người duyệt ký duyệt bằng chữ ký, kèm snapshot dữ liệu |

### Loại người duyệt

| Loại                | Mô tả                                                                             |
| ------------------- | --------------------------------------------------------------------------------- |
| Người dùng cụ thể   | Chọn trực tiếp một hoặc nhiều người duyệt từ danh sách nhân sự                    |
| Vai trò             | Nhập vai trò, phân cách bằng dấu phẩy. Tất cả người có vai trò đó sẽ nhận yêu cầu |
| Chức vụ             | Nhập chức vụ, phân cách bằng dấu phẩy                                             |
| Trường dữ liệu động | Nhập tên trường dữ liệu chứa ID người duyệt (ví dụ: managerId, reviewerId)        |
| Quản lý trực tiếp   | Tự động gán cho quản lý trực tiếp của người gửi yêu cầu                           |

### Tùy chọn bước

| Tùy chọn             | Mô tả                                                                           |
| -------------------- | ------------------------------------------------------------------------------- |
| Song song            | Khi bật, tất cả người duyệt trong bước xử lý đồng thời (không cần chờ lần lượt) |
| Cho phép ủy quyền    | Người duyệt có thể giao cho người khác xử lý thay                               |
| Cho phép trả lại     | Người duyệt có thể trả yêu cầu về bước trước để bổ sung                         |
| Snapshot dữ liệu     | Lưu bản sao dữ liệu tại thời điểm xử lý bước                                    |
| Yêu cầu xác thực MFA | Bật xác thực đa yếu tố tại bước này                                             |

### Phương thức MFA cho phép

Khi bật **"Yêu cầu xác thực MFA"**, chọn các phương thức được phép:

| Phương thức | Mô tả                                           |
| ----------- | ----------------------------------------------- |
| Mật khẩu    | Xác thực bằng mật khẩu tài khoản                |
| Mã PIN      | Xác thực bằng mã PIN 6 số (cần thiết lập trước) |
| OTP Email   | Xác thực bằng mã OTP gửi qua email              |
| Chữ ký tay  | Xác thực bằng chữ ký viết tay trên canvas       |

### Cấu hình thời gian

| Trường               | Mô tả                                                     |
| -------------------- | --------------------------------------------------------- |
| Nhắc nhở sau (giờ)   | Gửi nhắc nhở nếu bước chưa xử lý sau khoảng thời gian này |
| Chuyển cấp sau (giờ) | Tự động chuyển lên cấp trên nếu quá hạn                   |

### Sắp xếp bước

* Nhấp nút mũi tên lên/xuống để thay đổi thứ tự bước
* Nhấp nút xóa (biểu tượng X) để loại bỏ bước

***

## Vòng đời mẫu quy trình

Mẫu quy trình có 3 trạng thái:

| Trạng thái     | Mô tả                                      | Hành động tiếp theo |
| -------------- | ------------------------------------------ | ------------------- |
| Bản nháp       | Mới tạo hoặc đang chỉnh sửa                | Kích hoạt hoặc Xóa  |
| Đang hoạt động | Sẵn sàng sử dụng trong quy trình phê duyệt | Lưu trữ             |
| Lưu trữ        | Không sử dụng, giữ lại để tham khảo        | Xóa                 |

### Kích hoạt mẫu

1. Tại danh sách mẫu, tìm mẫu ở trạng thái **Bản nháp**
2. Nhấp nút menu thao tác (biểu tượng ba chấm dọc)
3. Chọn **"Kích hoạt"**

### Lưu trữ mẫu

1. Tìm mẫu ở trạng thái **Đang hoạt động**
2. Nhấp nút menu thao tác
3. Chọn **"Lưu trữ"**

> **Lưu ý:** Mẫu đã lưu trữ không thể sử dụng cho yêu cầu mới, nhưng các yêu cầu đang xử lý vẫn tiếp tục theo mẫu cũ.

### Xóa mẫu

1. Nhấp nút menu thao tác trên mẫu cần xóa
2. Chọn **"Xóa"**
3. Xác nhận hành động

> **Cảnh báo:** Không thể xóa mẫu đang được sử dụng bởi yêu cầu đang xử lý.

***

## Sửa mẫu quy trình

1. Nhấp **"Sửa"** trên dòng mẫu cần chỉnh sửa
2. Hệ thống mở hộp thoại sửa mẫu với tiêu đề **"Sửa mẫu quy trình"**
3. Chỉnh sửa thông tin cơ bản và các bước phê duyệt
4. Nhấp **"Cập nhật"** để lưu thay đổi
