Theo dõi Lead và Quản lý Trạng thái
1. Giới thiệu
1.1 Mục tiêu chương này
Trong chương này, chúng ta sẽ cùng học cách hiện thực Chuyển đổi cơ hội CRM trong NocoBase. Thông qua việc theo dõi Lead và quản lý trạng thái, bạn có thể nâng cao hiệu quả nghiệp vụ và đạt được kiểm soát quy trình bán hàng tinh tế hơn.
1.2 Xem trước hiệu quả cuối cùng
Trong chương trước, chúng ta đã giải thích cách quản lý liên kết dữ liệu giữa Lead với công ty, liên hệ và cơ hội. Bây giờ, chúng ta tập trung vào module Lead, chủ yếu thảo luận cách Theo dõi Lead và quản lý trạng thái. Hãy xem ví dụ hiệu quả sau:

2. Mô tả cấu trúc Lead Collection
2.1 Giới thiệu Lead Collection
Trong chức năng Theo dõi Lead, Field "trạng thái" (status) đóng vai trò vô cùng quan trọng, không chỉ phản ánh tiến trình hiện tại của Lead (như không đạt, Lead mới, đang xử lý, đang theo dõi, đang giao dịch, hoàn thành), mà còn điều khiển toàn bộ việc hiển thị và biến đổi của form. Block bảng sau hiển thị cấu trúc Field của Lead collection và mô tả chi tiết:
3. Tạo Block bảng Leads (table block) và Block chi tiết
3.1 Mô tả tạo
Đầu tiên, chúng ta cần tạo một table block "Leads" để hiển thị các Field cần thiết. Đồng thời, ở bên phải trang cấu hình một Block chi tiết, khi bạn nhấp vào một bản ghi, bên phải sẽ tự động hiển thị thông tin chi tiết tương ứng. Vui lòng xem hiệu quả cấu hình hình bên dưới:

4. Cấu hình nút Action
4.1 Mô tả tổng quan các nút
Để đáp ứng các nhu cầu thao tác khác nhau, chúng ta cần tạo tổng cộng 11 nút. Mỗi nút sẽ áp dụng cách hiển thị khác nhau (ẩn, kích hoạt hoặc vô hiệu hóa) theo trạng thái (status) của bản ghi, từ đó hướng dẫn người dùng thao tác đúng theo quy trình nghiệp vụ.

4.2 Cấu hình chi tiết từng nút chức năng
4.2.1 Nút Chỉnh sửa
- Quy tắc liên động: Khi status của bản ghi là "Completed" (đã hoàn thành), tự động vô hiệu hóa nút này, ngăn chặn chỉnh sửa không cần thiết.
4.2.2 Nút Không đạt 1 (chưa kích ho ạt)
- Kiểu dáng và giao diện: Tiêu đề hiển thị là "Unqualified >".
- Action và hành vi: Sau khi nhấp thực hiện Action update, cập nhật status của bản ghi thành "Unqualified", sau khi cập nhật thành công quay về trang trước, đồng thời hiển thị thông báo thành công "Unqualified".
- Quy tắc liên động: Chỉ hiển thị khi status của bản ghi rỗng; một khi status có giá trị, nút này sẽ tự động ẩn.
4.2.3 Nút Không đạt 2 (trạng thái kích hoạt)
- Kiểu dáng và giao diện: Cũng hiển thị là "Unqualified >".
- Action và hành vi: Dùng để cập nhật status của bản ghi thành "Unqualified".
- Quy tắc liên động: Khi status rỗng, nút này ẩn; nếu status là "Completed", nút sẽ bị vô hiệu hóa.
4.2.4 Nút Lead mới 1 (chưa kích hoạt)
- Kiểu dáng và giao diện: Tiêu đề hiển thị là "New >".
- Action và hành vi: Sau khi nhấp cập nhật bản ghi, đặt status thành "New", sau khi cập nhật thành công hiển thị thông báo "New".
- Quy tắc liên động: Nếu status của bản ghi đã ở trạng thái "New", "Working", "Nurturing" hoặc "Completed", nút này sẽ ẩn.
4.2.5 Nút Lead mới 2 (trạng thái kích hoạt)
- Kiểu dáng và giao diện: Tiêu đề vẫn là "New >".
- Action và hành vi: Cũng dùng để cập nhật bản ghi, đặt status thành "New".
- Quy tắc liên động: Khi status thuộc về "Unqualified" hoặc rỗng thì ẩn; nếu status là "Completed", nút bị vô hiệu hóa.
4.2.6 Nút Đang xử lý (chưa kích hoạt)
- Kiểu dáng và giao diện: Tiêu đề hiển thị là "Working >".
- Action và hành vi: Sau khi nhấp nút, status của bản ghi cập nhật thành "Working", và hiển thị thông báo thành công "Working".
- Quy tắc liên động: Nếu status của bản ghi đã là "Working", "Nurturing" hoặc "Completed", nút này ẩn.
4.2.7 Nút Đang xử lý (trạng thái kích hoạt)
- Kiểu dáng và giao diện: Tiêu đề vẫn là "Working >".
- Action và hành vi: Dùng để cập nhật status của bản ghi thành "Working".
- Quy tắc liên động: Khi status là "Unqualified", "New" hoặc rỗng, nút này ẩn; nếu status là "Completed", nút bị vô hiệu hóa.
4.2.8 Nút Đang theo dõi (chưa kích hoạt)
- Kiểu dáng và giao diện: Tiêu đề hiển thị là "Nurturing >".
- Action và hành vi: Sau khi nhấp nút, cập nhật status của bản ghi thành "Nurturing", và hiển thị thông báo thành công "Nurturing".
- Quy tắc liên động: Nếu status của bản ghi đã là "Nurturing" hoặc "Completed", nút ẩn.
4.2.9 Nút Đang theo dõi (trạng thái kích hoạt)
- Kiểu dáng và giao diện: Tiêu đề cũng là "Nurturing >".
- Action và hành vi: Cũng dùng để cập nhật status của bản ghi thành "Nurturing".
- Quy tắc liên động: Khi status là "Unqualified", "New", "Working" hoặc rỗng thì ẩn; nếu status là "Completed", nút bị vô hiệu hóa.
4.2.10 Nút Chuyển đổi
- Kiểu dáng và giao diện: Tiêu đề hiển thị là "transfer", và mở dưới dạng modal popup.
- Action và hành vi: Chủ yếu dùng để thực hiện thao tác chuyển bản ghi. Sau Action update, hệ thống sẽ hiển thị một giao diện bao gồm drawer, Tabs và form, tiện cho bạn thực hiện chuyển bản ghi.
- Quy tắc liên động: Khi status của bản ghi là "Completed", nút này ẩn để ngăn chặn chuyển đổi lặp lại.

4.2.11 Nút Chuyển đổi hoàn tất (trạng thái kích hoạt)
- Kiểu dáng và giao diện: Tiêu đề hiển thị là "transfered", cũng mở dưới dạng modal popup.
- Action và hành vi: Nút này chỉ dùng để hiển thị thông tin sau khi chuyển đổi hoàn tất, không có chức năng chỉnh sửa.
- Quy tắc liên động: Chỉ hiển thị khi status của bản ghi là "Completed", các trạng thái khác (như "Unqualified", "New", "Working", "Nurturing" hoặc rỗng) thì ẩn.

4.3 Tổng kết cấu hình nút
- Mỗi chức năng đều cung cấp các kiểu nút khác nhau cho trạng thái chưa kích hoạt và kích hoạt.
- Sử dụng quy tắc liên động, kiểm soát động việc hiển thị nút (ẩn hoặc vô hiệu hóa) theo status của bản ghi, từ đó hướng dẫn nhân viên bán hàng thao tác đúng theo quy trình công việc.
5. Cài đặt Quy tắc liên động Form
5.1 Quy tắc 1: Chỉ hiển thị tên
- Khi bản ghi chưa được xác nhận hoặc status rỗng, chỉ hiển thị tên.

5.2 Quy tắc 2: Tối ưu hiển thị ở trạng thái "Lead mới"
- Khi status là "Lead mới", trang sẽ ẩn tên công ty và hiển thị thông tin liên hệ.

6. Quy tắc Markdown trang và cú pháp Handlebars
6.1 Hiển thị nội dung động
Trong trang, chúng ta sử dụng cú pháp Handlebars để hiển thị động các thông tin gợi ý khác nhau theo trạng thái của bản ghi. Sau đây là code mẫu cho từng trạng thái:
Khi trạng thái là "Không đạt":
Khi trạng thái là "Lead mới":
Khi trạng thái là "Đang xử lý":
Khi trạng thái là "Đang theo dõi":
Khi trạng thái là "Chuyển đổi hoàn tất":
7. Hiển thị các đối tượng liên kết và liên kết chuyển hướng sau khi chuyển đổi hoàn tất
7.1 Mô tả đối tượng liên kết
Sau khi chuyển đổi hoàn tất, chúng ta muốn hiển thị các đối tượng liên kết liên quan (công ty, liên hệ, cơ hội) và đính kèm liên kết chuyển hướng đến trang chi tiết. Lưu ý: Trong các popup hoặc trang khác, phần cuối của định dạng liên kết chi tiết (số sau filterbytk) đại diện cho id của đối tượng hiện tại, ví dụ:
7.2 Sử dụng Handlebars để tạo liên kết liên quan
Đối với Công ty:
Đối với Liên hệ:
Đối với Cơ hội:

8. Ẩn đối tượng liên kết nhưng giữ lại giá trị
Để đảm bảo hiển thị thông tin liên kết bình thường sau khi chuyển đổi hoàn tất, cần đặt trạng thái của "Công ty", "Liên hệ" và "Cơ hội" thành "Ẩn (giữ giá trị)". Như vậy, mặc dù các Field này không hiển thị trong form, giá trị của chúng vẫn sẽ được ghi lại và truyền đi.

9. Ngăn chặn sửa trạng thái sau khi chuyển đổi hoàn tất
Để ngăn chặn việc thay đổi trạng thái ngoài ý muốn sau khi chuyển đổi hoàn tất, chúng ta thêm một điều kiện đánh giá cho tất cả các nút: khi trạng thái là "Đã hoàn thành", tất cả các nút sẽ bị vô hiệu hóa.

10. Lời kết
Sau khi hoàn thành tất cả các bước trên, chức năng theo dõi và chuyển đổi Lead của bạn đã hoàn thành rồi! Thông qua việc giải thích từng bước trong chương này, hy vọng bạn có thể hiểu rõ hơn về cách hiện thực liên động biến đổi form trạng thái trong NocoBase. Chúc bạn thao tác thuận lợi và sử dụng vui vẻ!

