Phân quyền nhân viên
Chức năng Phân quyền cho phép Quản lý tạo các mẫu phân quyền để kiểm soát chính xác những chức năng mà mỗi nhân viên được phép truy cập trên hệ thống Mini Gift.
1. Các vai trò trong hệ thống
Khi tạo nhân viên, bạn cần chọn một trong các vai trò sau:
| Vai trò | Mô tả | Cần mẫu phân quyền? |
|---|---|---|
| Quản lý | Toàn quyền quản lý hệ thống. Là người duy nhất có thể tạo mẫu phân quyền và quản lý nhân viên | Không — có sẵn toàn quyền |
| Điều hành | Quản lý phần lớn hoạt động hàng ngày: chiến dịch, quà tặng, khách hàng... Quyền cụ thể tuỳ thuộc mẫu phân quyền được gán | Có — bắt buộc gán mẫu phân quyền |
| Nhân viên | Thao tác cơ bản: xem danh sách, quét mã, giao quà. Có thể bị giới hạn theo chi nhánh được phân công | Có — bắt buộc gán mẫu phân quyền |
- Điều hành và Nhân viên bắt buộc phải được gán một mẫu phân quyền khi tạo tài khoản. Nếu chưa gán, hệ thống sẽ yêu cầu bạn chọn trước khi lưu.
- Thay đổi mẫu phân quyền sẽ có hiệu lực ngay lập tức với tất cả nhân viên đang dùng mẫu đó.
2. Mẫu phân quyền là gì?
Mẫu phân quyền là một tập hợp các quyền được đặt tên (ví dụ: "Nhân viên bán hàng", "Điều hành kho"). Thay vì thiết lập quyền cho từng người, bạn tạo mẫu phân quyền một lần rồi gán cho nhiều nhân viên cùng vai trò.
Truy cập quản lý phân quyền
Từ menu bên trái, chọn:
Quản lý cửa hàng → Danh sách nhân viên → Tab "Phân quyền"

Hình ảnh: Truy cập tab Phân quyền trong màn Danh sách nhân viên
Danh sách mẫu phân quyền
Giao diện tab Phân quyền hiển thị bảng danh sách các mẫu đã tạo:
| Cột | Mô tả |
|---|---|
| Tên mẫu | Tên nhận diện của mẫu phân quyền |
| Số quyền đã bật | Tổng số quyền được bật trong mẫu |
| Số nhân viên đang dùng | Số nhân viên hiện đang được gán mẫu này |
| Thao tác | Sửa hoặc x óa mẫu |

Hình ảnh: Danh sách mẫu phân quyền
3. Tạo mẫu phân quyền
Mở form tạo mẫu
Nhấn nút + Thêm phân quyền ở góc trên bên phải.

Hình ảnh: Nút + Thêm phân quyền
Nhập tên mẫu
Điền tên cho mẫu phân quyền (ví dụ: "Nhân viên bán hàng", "Điều hành khu vực").
Tên mẫu phải duy nhất trong cửa hàng. Không thể tạo hai mẫu cùng tên.
Chọn mẫu gợi ý (tuỳ chọn)
Khi tạo mẫu mới, hệ thống hiển thị 3 tuỳ chọn gợi ý để bật sẵn bộ quyền phù hợp:
| Tuỳ chọn | Mô tả |
|---|---|
| Tự tạo | Bắt đầu từ trống, tự chọn từng quyền |
| Điều hành | Bộ quyền gợi ý cho vai trò Điều hành — hầu hết chức năng trừ xóa |
| Nhân viên | Bộ quyền gợi ý cho vai trò Nhân viên — chủ yếu quyền xem |
Sau khi chọn mẫu gợi ý, bạn vẫn có thể tuỳ chỉnh thêm bằng cách bật/tắt từng quyền trong ma trận bên dưới.

Hình ảnh: Tuỳ chọn mẫu gợi ý khi tạo phân quyền
Sử dụng Ma trận quyền để bật/tắt từng chức năng cụ thể. Xem chi tiết tại Mục 5 — Hướng dẫn sử dụng ma trận quyền.
Hoàn tất
Nhấn Tạo mới để lưu mẫu phân quyền.

Hình ảnh: Giao diện tạo mẫu phân quyền
4. Sửa và xóa mẫu phân quyền
Tại cột Thao tác trong bảng danh sách, nhấn biểu tượng để mở menu:
| Thao tác | Mô tả |
|---|---|
| Sửa | Mở modal chỉnh sửa tên và ma trận quyền. Thay đổi có hiệu lực ngay cho tất cả nhân viên đang dùng mẫu này |
| Xóa | Xóa mẫu phân quyền — chỉ xóa được khi không còn nhân viên nào đang dùng mẫu |

Hình ảnh: Menu thao tác: Sửa, Xóa
Nếu mẫu đang được gán cho nhân viên, hệ thống sẽ từ chối xóa và cho biết số nhân viên cần chuyển sang mẫu khác trước khi xóa.
5. Hướng dẫn sử dụng ma trận quyền
Ma trận quyền là giao diện chính để thiết lập chi tiết quyền truy cập cho mỗi mẫu.
5.1. Cấu trúc ma trận
Ma trận được chia thành 8 nhóm tab dọc bên trái, tương ứng với các mục trên menu:
| Tab | Chức năng quản lý |
|---|---|
| Chiến dịch | Danh sách, chi tiết, đơn hàng, lịch sử trúng quà, QR code, trưng bày |
| Hành trình KH | Danh sách hành trình khách hàng |
| Quà tặng | Danh sách quà, mã code, phân bổ kho, lịch sử, đơn đổi quà |
| Sản phẩm | Danh sách sản phẩm, danh mục sản phẩm |
| Khảo sát | Danh sách khảo sát |
| Minigame | Danh sách minigame |
| Popup & Thông báo | Danh sách popup, thông báo đẩy |
| Khách hàng | Danh sách khách hàng, khách hàng thân thiết |
Mỗi tab hiển thị số quyền đã bật dưới dạng badge, giúp bạn nhanh chóng biết nhóm nào đã được cấp quyền.
5.2. Quyền cha — quyền con
Mỗi tab chứa các dòng quyền theo cấu trúc cha — con:
- Quyền cha (in đậm) — quyền truy cập vào màn hình chính (ví dụ: "Xem danh sách chiến dịch")
- Quyền con (thụt vào, có đường viền trái) — các thao tác bên trong màn hình đó (ví dụ: "Tạo chiến dịch", "Sửa chiến dịch", "Xóa chiến dịch")
Quy tắc:
- Khi tắt quyền cha, tất cả quyền con bên trong sẽ tự động bị tắt — nhân viên sẽ không thấy mục này trên menu.
- Khi bật quyền con, quyền cha sẽ tự động được bật (vì cần truy cập màn hình trước).

Hình ảnh: Cấu trúc quyền cha — quyền con (dòng thụt vào có đường viền trái)
5.3. Quyền phụ thuộc (liên module)
Một số quyền cần kéo theo quyền khác ở nhóm khác để hoạt động đúng. Ví dụ:
Bật "Tạo chiến dịch" → hệ thống sẽ hiển thị hộp thoại xác nhận bật kèm các quyền:
- Xem danh sách quà tặng
- Xem danh sách cửa hàng
- Xem danh sách khảo sát
- Xem danh sách minigame
- ... và các quyền liên quan khác
Vì form tạo chiến dịch cần truy cập các dữ liệu từ những nhóm này.
Cách hoạt động:
- Khi bật: Hệ thống hiển thị hộp thoại liệt kê các quyền sẽ được bật kèm. Nhấn "Xác nhận" để đồng ý.
- Khi tắt: Nếu có quyền phụ thuộc không còn cần thiết, hệ thống sẽ hỏi bạn có muốn tắt luôn các quyền đó không.
- Khi bị khoá: Nếu quyền đang là phụ thuộc bắt buộc của quyền khác, công tắc sẽ bị khoá (xám) và hiển thị dòng ghi chú cho biết quyền nào đang yêu cầu nó, ví dụ: "Bắt buộc bởi: Tạo chiến dịch, Sửa chiến dịch". Nếu có nhiều quyền yêu cầu, hệ thống hiển thị vài quyền đầu tiên kèm "+N khác" — di chuột vào để xem danh sách đầy đủ.

Hình ảnh: Hộp thoại xác nhận bật kèm các quyền phụ thuộc

Hình ảnh: Quyền bị khoá — công tắc xám, hiển thị 'Bắt buộc bởi: ... +N khác'
Muốn tắt quyền bị khoá? Hãy tắt quyền đang yêu cầu nó trước. Ví dụ: muốn tắt "Xem danh sách quà tặng", cần tắt "Tạo chiến dịch" trước.
5.4. Chức năng trên app nhân viên
Cuối mỗi nhóm có thể có phần riêng "Chức năng trên app nhân viên" (hiển thị trên nền xám). Đây là các quyền dành cho nhân viên sử dụng trên ứng dụng di động, không phải trên trang quản trị:
| Quyền | Mô tả |
|---|---|
| Xác nhận voucher / quét hoá đơn | Nhân viên quét xác nhận trên app |
| Tham gia + nộp ảnh trưng bày | Chụp ảnh trưng bày tại cửa hàng |
| Nhận + phát quà | Nhân viên phát quà cho khách hàng |
| Kiểm tra vị trí chi nhánh | Chấm công theo vị trí |

Hình ảnh: Nhóm 'Chức năng trên app nhân viên' hiển thị trên nền xám riêng biệt
5.5. Thanh công cụ
| Công cụ | Mô tả |
|---|---|
| Thanh tiến trình | Hiển thị số quyền đã bật / tổng (ví dụ: "Đã bật 24/68") |
| Tìm quyền | Tìm kiếm quyền theo tên, hỗ trợ tiếng Việt không dấu |
| Chọn tất cả | Bật/tắt toàn bộ quyền trong ma trận |
| Bật/Tắt tất cả theo tab | Bật hoặc tắt toàn bộ quyền trong một nhóm (ví dụ: chỉ nhóm Quà tặng) |

Hình ảnh: Thanh tiến trình, ô tìm kiếm và switch Chọn tất cả
6. Gán mẫu phân quyền cho nhân viên
Khi tạo hoặc chỉnh sửa nhân viên có vai trò Điều hành hoặc Nhân viên, form sẽ hiển thị trường Phân quyền (bắt buộc).
Mở form tạo/sửa nhân viên
Trong tab Nhân viên, nhấn Thêm nhân viên hoặc nhấn biểu tượng Sửa trên nhân viên cần chỉnh.
Chọn vai trò
Chọn vai trò Điều hành hoặc Nhân viên. Trường Phân quyền sẽ xuất hiện.
Chọn mẫu phân quyền
Chọn mẫu phân quyền từ danh sách dropdown. Nhân viên sẽ được áp dụng bộ quyền của mẫu đó.

Hình ảnh: Trường Phân quyền trong form tạo/sửa nhân viên
Chọn chi nhánh (nếu vai trò Nhân viên)
Nếu chọn vai trò Nhân viên, bạn có thể chỉ định chi nhánh được phân công. Xem chi tiết tại Mục 7 — Giới hạn chi nhánh.

Hình ảnh: Chọn chi nhánh phân công cho nhân viên
Lưu
Nhấn Tạo mới hoặc Cập nhật để hoàn tất.
Thay đổi quyền cho nhân viên có 2 cách:
- Đổi mẫu phân quyền: Vào thông tin nhân viên → chọn mẫu khác từ dropdown → Lưu. Quyền mới áp dụng ngay.
- Sửa mẫu phân quyền: Vào tab Phân quyền → sửa mẫu → Lưu. Thay đổi áp dụng cho tất cả nhân viên đang dùng mẫu đó.
- Không thể lưu nhân viên Điều hành hoặc Nhân viên mà chưa gán mẫu phân quyền.
- Không thể gỡ mẫu phân quyền — chỉ có thể đổi sang mẫu khác.
Tạo mẫu phân quyền trước khi tạo nhân viên để thao tác nhanh hơn.
7. Giới hạn chi nhánh
Giới hạn chi nhánh là gì?
Nhân viên (vai trò Nhân viên) có thể được phân công vào một hoặc nhiều chi nhánh cụ thể. Khi đó, nhân viên chỉ xem và thao tác được dữ liệu thuộc các chi nhánh mình được phân công.
Ví dụ: Nhân viên A được phân công chi nhánh Hà Nội và Đà Nẵng → chỉ thấy quà tặng, mã code, đơn hàng... của 2 chi nhánh đó.
Ai bị giới hạn?
| Vai trò | Giới hạn chi nhánh |
|---|---|
| Quản lý | Không — thấy tất cả chi nhánh |
| Điều hành | Không — thấy tất cả chi nhánh |
| Nhân viên | Có — chỉ thấy chi nhánh được phân công |
Khi tạo hoặc sửa chiến dịch
Nhân viên bị giới hạn chi nhánh sẽ chỉ thấy các chi nhánh mình được phân công trong dropdown chọn chi nhánh.
Khi sửa chiến dịch đang áp dụng cho nhiều chi nhánh:
Ví dụ: Chiến dịch đang áp dụng cho chi nhánh Hà Nội, Đà Nẵng, TP.HCM, Cần Thơ. Nhân viên chỉ được phân công Hà Nội và Đà Nẵng → chỉ thấy 2 chi nhánh này. Nhân viên bỏ Đà Nẵng, giữ Hà Nội → nhấn Lưu. Kết quả: Chiến dịch áp dụng cho Hà Nội, TP.HCM, Cần Thơ — các chi nhánh ngoài phạm vi (TP.HCM, Cần Thơ) được giữ nguyên, không bị mất.
Hệ thống tự động bảo vệ các chi nhánh nằm ngoài phạm vi của nhân viên. Nhân viên không thể vô tình xóa chi nhánh mà mình không được phân công.
8. Nhân viên thấy gì sau khi đăng nhập?
Menu và điều hướng
Sau khi đăng nhập, nhân viên chỉ thấy các mục menu tương ứng với quyền được cấp trong mẫu phân quyền.
Ví dụ: Nhân viên được cấp quyền xem Chiến dịch và Quà tặng → menu chỉ hiển thị 2 mục này. Các mục khác (Khách hàng, Khảo sát, Minigame...) không xuất hiện.
Trang chủ tự động chuyển đến mục đầu tiên mà nhân viên có quyền truy cập.

Hình ảnh: Menu của nhân viên chỉ hiển thị các mục được cấp quyền
Nút thao tác
Trong mỗi màn hình, các nút thao tác hiển thị tuỳ theo quyền cụ thể. Ví dụ trong màn hình Quà tặng:
- Có quyền "Tạo quà tặng" → thấy nút Tạo
- Có quyền "Xuất Excel" → thấy nút Xuất
- Không có quyền "Xóa" → không thấy nút Xóa
Truy cập trái phép
Nếu nhân viên truy cập trực tiếp vào đường dẫn không có quyền (ví dụ từ bookmark hoặc link được chia sẻ), hệ thống hiển thị trang "Không có quyền truy cập" kèm nút quay lại.

Hình ảnh: Không có quyền truy cập
Mẹo sử dụng
- Tạo mẫu phân quyền trước, sau đó gán cho nhân viên để quản lý tập trung
- Sử dụng mẫu gợi ý (Điều hành / Nhân viên) làm điểm khởi đầu, rồi tuỳ chỉnh thêm
- Đặt tên mẫu rõ ràng theo vị trí hoặc bộ phận (ví dụ: "NV bán hàng", "Quản lý kho", "Điều hành marketing")
- Kiểm tra cột "Số nhân viên đang dùng" trước khi sửa mẫu để biết phạm vi ảnh hưởng
- Khi cần thu hồi quyền của nhiều nhân viên cùng lúc, chỉ cần sửa mẫu — tất cả nhân viên dùng mẫu đó sẽ bị ảnh hưởng ngay