Tài liệu này được dịch bằng AI. Để biết thông tin chính xác, vui lòng tham khảo phiên bản tiếng Anh.
Phê duyệt là một dạng quy trình chuyên dụng được khởi tạo và xử lý bởi con người nhằm quyết định trạng thái của dữ liệu liên quan. Nó thường được sử dụng để quản lý quy trình trong tự động hóa văn phòng hoặc các công việc ra quyết định thủ công khác, ví dụ như có thể tạo và quản lý các luồng công việc thủ công cho các kịch bản như "đơn xin nghỉ phép", "phê duyệt chi phí" và "phê duyệt mua nguyên liệu".
Plugin Phê duyệt cung cấp một loại luồng công việc (trigger) chuyên dụng là "Phê duyệt (sự kiện)" và một nút "Phê duyệt" dành riêng cho quy trình này. Kết hợp với các bộ sưu tập tùy chỉnh và khối tùy chỉnh đặc trưng của NocoBase, bạn có thể nhanh chóng và linh hoạt tạo cũng như quản lý các kịch bản phê duyệt đa dạng.
Khi tạo luồng công việc, hãy chọn loại "Phê duyệt" để tạo luồng công việc phê duyệt:

Sau đó, trong giao diện cấu hình luồng công việc, hãy nhấp vào trigger để mở cửa sổ bật lên và thực hiện thêm các cấu hình.

Plugin Phê duyệt của NocoBase được thiết kế dựa trên tính linh hoạt, có thể sử dụng với bất kỳ bộ sưu tập tùy chỉnh nào, nghĩa là cấu hình phê duyệt không cần phải cấu hình lại mô hình dữ liệu mà trực tiếp tái sử dụng bộ sưu tập đã tạo. Do đó, sau khi vào cấu hình trigger, trước tiên bạn cần chọn bộ sưu tập để quyết định luồng công việc này sẽ thực hiện phê duyệt cho dữ liệu của bộ sưu tập nào:

Khi khởi tạo phê duyệt cho dữ liệu nghiệp vụ, bạn có thể chọn hai phương thức kích hoạt sau:
Trước khi lưu dữ liệu
Khởi tạo phê duyệt trước khi dữ liệu đã gửi được lưu, phù hợp với các kịch bản yêu cầu dữ liệu chỉ được lưu sau khi được phê duyệt. Trong chế độ này, dữ liệu tại thời điểm khởi tạo chỉ là dữ liệu tạm thời, chỉ sau khi được phê duyệt mới chính thức được lưu vào bộ sưu tập tương ứng.
Sau khi lưu dữ liệu
Khởi tạo phê duyệt sau khi dữ liệu đã gửi được lưu, phù hợp với các kịch bản dữ liệu có thể được lưu trước rồi mới phê duyệt. Trong chế độ này, dữ liệu tại thời điểm khởi tạo đã được lưu vào bộ sưu tập tương ứng, và các sửa đổi trong quá trình phê duyệt cũng sẽ được lưu lại.
Có thể chọn vị trí khởi tạo phê duyệt trong hệ thống:
Chỉ khởi tạo trong khối dữ liệu
Có thể liên kết thao tác của bất kỳ khối biểu mẫu nào của bảng này với luồng công việc này để khởi tạo phê duyệt, đồng thời xử lý và theo dõi quá trình phê duyệt trong khối phê duyệt của một bản ghi dữ liệu duy nhất, thường phù hợp với dữ liệu nghiệp vụ.
Có thể khởi tạo trong cả khối dữ liệu và Trung tâm việc cần làm
Ngoài khối dữ liệu, cũng có thể khởi tạo và xử lý phê duyệt trong Trung tâm việc cần làm chung, thường phù hợp với dữ liệu hành chính.
Có thể cấu hình quyền dựa trên phạm vi người dùng để quyết định người dùng nào có thể khởi tạo phê duyệt này:
Tất cả người dùng
Tất cả người dùng trong hệ thống đều có thể khởi tạo phê duyệt này.
Chỉ những người dùng đã chọn
Chỉ cho phép người dùng trong phạm vi chỉ định khởi tạo phê duyệt này, có thể chọn nhiều người.

Cuối cùng, cần cấu hình giao diện biểu mẫu của người khởi tạo, giao diện này sẽ được sử dụng cho các thao tác gửi khi khởi tạo từ khối Trung tâm phê duyệt và khi khởi tạo lại sau khi người dùng rút lại. Nhấp vào nút cấu hình để mở cửa sổ bật lên:

Có thể thêm biểu mẫu điền thông tin dựa trên bộ sưu tập đã liên kết cho giao diện của người khởi tạo, hoặc thêm văn bản hướng dẫn (Markdown) để gợi ý và dẫn dắt. Trong đó, biểu mẫu là bắt buộc phải thêm, nếu không người khởi tạo sẽ không thể thao tác sau khi vào giao diện này.
Sau khi thêm khối biểu mẫu, giống như giao diện cấu hình biểu mẫu thông thường, bạn có thể thêm các thành phần trường của bộ sưu tập tương ứng và sắp xếp tùy ý để tổ chức nội dung cần điền trong biểu mẫu:

Khác với nút gửi trực tiếp, bạn cũng có thể thêm nút thao tác "Lưu bản nháp" để hỗ trợ quy trình xử lý lưu tạm thời:

Nếu một quy trình phê duyệt cho phép người khởi tạo rút lại, cần bật nút "Rút lại" trong cấu hình giao diện người khởi tạo:

Sau khi bật, phê duyệt do quy trình này khởi tạo có thể được người khởi tạo rút lại trước khi bất kỳ người phê duyệt nào xử lý, nhưng sau khi bất kỳ người phê duyệt nào được cấu hình trong các nút phê duyệt tiếp theo đã xử lý, nó sẽ không còn có thể rút lại.
Sau khi bật hoặc xóa nút rút lại, cần nhấp vào lưu và gửi trong cửa sổ bật lên cấu hình trigger để có hiệu lực.
Có thể được sử dụng để cấu hình các thẻ nhiệm vụ trong danh sách "Đơn đăng ký của tôi" tại Trung tâm việc cần làm.

Trong thẻ, bạn có thể tự do cấu hình các trường nghiệp vụ muốn hiển thị (ngoại trừ các trường quan hệ) hoặc thông tin liên quan đến phê duyệt.
Sau khi đơn đăng ký phê duyệt được tạo, bạn có thể thấy thẻ nhiệm vụ tùy chỉnh trong danh sách Trung tâm việc cần làm:

Ảnh chụp nhanh (Snapshot)
Trong quy trình phê duyệt, trạng thái bản ghi mà người đăng ký và người phê duyệt nhìn thấy khi truy cập, và sau khi gửi chỉ có thể nhìn thấy bản ghi do chính mình sửa đổi - sẽ không nhìn thấy các cập nhật do người khác thực hiện sau đó.
Mới nhất
Trong quy trình phê duyệt, người đăng ký và người phê duyệt luôn nhìn thấy phiên bản mới nhất của bản ghi trong suốt quy trình, bất kể trạng thái của bản ghi trước khi họ thao tác là gì. Sau khi quy trình kết thúc, họ sẽ nhìn thấy phiên bản cuối cùng của bản ghi.
Trong luồng công việc phê duyệt, cần sử dụng nút "Phê duyệt" chuyên dụng để cấu hình logic thao tác cho người phê duyệt xử lý (thông qua, từ chối hoặc trả lại) phê duyệt đã khởi tạo, nút "Phê duyệt" cũng chỉ có thể được sử dụng trong luồng công việc phê duyệt. Tham khảo Nút phê duyệt để biết thêm chi tiết.
Nếu một quy trình phê duyệt không có bất kỳ nút "Phê duyệt" nào, quy trình đó sẽ được tự động thông qua.
Sau khi cấu hình và bật một luồng công việc phê duyệt, bạn có thể liên kết luồng công việc đó với nút gửi biểu mẫu của bộ sưu tập tương ứng để người dùng khởi tạo phê duyệt khi gửi:

Sau đó, việc người dùng gửi biểu mẫu đó sẽ kích hoạt luồng công việc phê duyệt tương ứng, dữ liệu đã gửi ngoài việc được lưu trong bộ sưu tập tương ứng, cũng sẽ được chụp nhanh vào luồng phê duyệt để nhân viên phê duyệt sau này tra cứu và sử dụng.
Nút khởi tạo phê duyệt hiện chỉ hỗ trợ sử dụng nút "Gửi" (hoặc "Lưu") trong biểu mẫu thêm mới hoặc cập nhật, không hỗ trợ sử dụng nút "Kích hoạt luồng công việc" (nút này chỉ có thể liên kết với "Sự kiện thao tác tùy chỉnh").
Trung tâm việc cần làm cung cấp một lối vào thống nhất, thuận tiện cho người dùng xem và xử lý các nhiệm vụ cần làm. Các phê duyệt do người dùng hiện tại khởi tạo và các nhiệm vụ cần làm đều có thể truy cập thông qua Trung tâm việc cần làm trên thanh công cụ phía trên, và xem các loại nhiệm vụ cần làm khác nhau thông qua điều hướng phân loại bên trái.





Khởi tạo từ khối dữ liệu, đều có thể gọi như sau (lấy ví dụ nút tạo của bảng posts):
Trong đó tham số URL triggerWorkflows là key của luồng công việc, nhiều luồng công việc được phân tách bằng dấu phẩy. Key này có thể lấy được bằng cách di chuột lên tên luồng công việc ở phía trên cùng của canvas luồng công việc:

Sau khi gọi thành công, sẽ kích hoạt luồng công việc phê duyệt của bảng posts tương ứng.
Vì các cuộc gọi bên ngoài cũng cần dựa trên danh tính người dùng, nên khi gọi qua HTTP API, giống như các yêu cầu được gửi từ giao diện thông thường, đều cần cung cấp thông tin xác thực, bao gồm tiêu đề Authorization hoặc tham số token (token nhận được khi đăng nhập), và tiêu đề X-Role (tên vai trò hiện tại của người dùng).
Nếu cần kích hoạt sự kiện cho dữ liệu quan hệ đối một (đối nhiều hiện chưa hỗ trợ) trong thao tác đó, bạn có thể sử dụng ! trong tham số để chỉ định dữ liệu kích hoạt của trường quan hệ:
Sau khi gọi thành công như trên, sẽ kích hoạt sự kiện phê duyệt của bảng categories tương ứng.
Khi kích hoạt sự kiện sau thao tác thông qua gọi HTTP API, cũng cần chú ý đến trạng thái bật của luồng công việc, cũng như cấu hình bộ sưu tập có khớp hay không, nếu không có thể sẽ không gọi thành công hoặc xuất hiện lỗi.
Tham số
collectionName: Tên bộ sưu tập mục tiêu khởi tạo phê duyệt, bắt buộc.workflowId: ID luồng công việc sử dụng để khởi tạo phê duyệt, bắt buộc.data: Các trường bản ghi bộ sưu tập được tạo khi khởi tạo phê duyệt, bắt buộc.status: Trạng thái bản ghi được tạo khi khởi tạo phê duyệt, bắt buộc. Các giá trị tùy chọn bao gồm:
0: Bản nháp, biểu thị lưu nhưng không gửi phê duyệt.2: Gửi phê duyệt, biểu thị người khởi tạo gửi đơn đăng ký phê duyệt, đi vào phê duyệt.Khi phê duyệt đã khởi tạo (hoặc rút lại) đang ở trạng thái bản nháp, có thể lưu hoặc gửi lại thông qua giao diện sau:
Người khởi tạo có thể rút lại bản ghi hiện đang trong quá trình phê duyệt thông qua giao diện sau:
Tham số
<approval id>: ID bản ghi phê duyệt cần rút lại, bắt buộc.Sau khi quy trình phê duyệt đi vào nút phê duyệt, sẽ tạo nhiệm vụ cần làm cho người phê duyệt hiện tại. Người phê duyệt có thể hoàn thành nhiệm vụ phê duyệt thông qua thao tác giao diện, cũng có thể hoàn thành thông qua gọi HTTP API.
Nhiệm vụ cần làm chính là bản ghi xử lý phê duyệt, có thể lấy tất cả các bản ghi xử lý phê duyệt của người dùng hiện tại thông qua giao diện sau:
Trong đó approvalRecords đóng vai trò là tài nguyên bộ sưu tập, cũng có thể sử dụng các điều kiện truy vấn thông dụng như filter, sort, pageSize và page.
Tham số
<record id>: ID bản ghi cần xử lý phê duyệt, bắt buộc.status: Trường là trạng thái xử lý phê duyệt, 2 biểu thị "Thông qua", -1 biểu thị "Từ chối", bắt buộc.comment: Thông tin ghi chú của xử lý phê duyệt, tùy chọn.data: Biểu thị các sửa đổi đối với bản ghi bộ sưu tập tại nút phê duyệt hiện tại sau khi phê duyệt thông qua, tùy chọn (chỉ có hiệu lực khi thông qua).Trước phiên bản v1.9.0, trả lại sử dụng cùng một giao diện với "Thông qua", "Từ chối", sử dụng "status": 1 đại diện cho trả lại.
Từ phiên bản v1.9.0, trả lại đã có giao diện riêng biệt:
Tham số
<record id>: ID bản ghi cần xử lý phê duyệt, bắt buộc.returnToNodeKey: Key của nút mục tiêu trả lại, tùy chọn. Khi trong nút cấu hình phạm vi các nút có thể trả lại, có thể sử dụng tham số này để chỉ định trả lại nút nào. Trong trường hợp không cấu hình, tham số này không cần truyền giá trị, mặc định sẽ trả lại điểm bắt đầu, do người khởi tạo gửi lại.Tham số
<record id>: ID bản ghi cần xử lý phê duyệt, bắt buộc.assignee: ID người dùng chuyển giao, bắt buộc.Tham số
<record id>: ID bản ghi cần xử lý phê duyệt, bắt buộc.assignees: Danh sách ID người dùng được thêm ký, bắt buộc.order: Thứ tự thêm ký, -1 biểu thị trước "tôi", 1 biểu thị sau "tôi".