PRD: Danh mục bán hàng
| Module | Thương mại | PRD ID | PRD-CAT-001 |
| Trạng thái | Sẵn sàng dev | FEAT | CAT |
| Epic | — | Plane | BANA-1531 |
| Ngày | 2026-05-18 | Phiên bản | v1.0 |
| Gói | @nx/commerce | URD | CAT |
| Surface | Client · Chủ/QL | ||
| Phụ trách | Phát Nguyễn | ||
Danh mục bán hàng là gì
Danh mục là nhóm hàng của một merchant - ví dụ quán cà phê có nhóm "Cà phê", "Trà sữa", "Bánh ngọt". Khi tạo danh mục tại trang Client, người dùng chọn một icon và một màu riêng cho nhóm: có sẵn khoảng 40 icon gợi ý theo ngành, cần thêm thì tìm trong cả thư viện. Lên màn POS, danh mục hiện thành một ô có màu, thu ngân nhìn là nhận ra ngay chứ không phải đọc chữ.
Xếp cây và bộ chọn dùng chung
Danh mục xếp được thành cây cha - con, tối đa 8 tầng; việc xếp cây làm tại màn Danh mục ở trang Client. Bộ chọn icon-màu được đóng gói thành một control dùng chung - form khác lắp vào dùng được luôn, hiện đã dùng ở danh mục thu-chi và danh mục phiếu hỗ trợ.
PRD này chỉ nói danh mục bán hàng. Danh mục cho nguyên liệu trong kho là một màn hình khác, sẽ thiết kế ở phần Kho hàng (Inventory).
Vì sao cần icon và màu
Trước đây form danh mục chỉ có ô nhập tên: trên màn POS cảm ứng, mọi nhóm đều là chữ trơn giống nhau, thu ngân phải đọc từng chữ nên quét mắt chậm và dễ bấm nhầm. Cũng không có cách nào thể hiện nhóm lồng nhau - tất cả là một danh sách phẳng.
Phần này cho mỗi danh mục một icon và một màu, thêm ô chọn nhóm cha để xếp cây, và đóng gói bộ chọn icon-màu thành một control dùng lại được ở các form khác.
Một danh mục, từ lúc tạo tới lúc lên POS
Vào màn Danh mục → tạo hoặc sửa một nhóm → chọn icon và màu, ô xem trước đổi ngay theo lựa chọn → chọn nhóm cha nếu muốn xếp cây → lưu → nhóm hiện thành ô có icon, có màu trên POS và app quản trị.
Chỗ dễ sai nhất
Màn Sửa merchant không có ô chọn nhóm cha
Danh mục quản lý được qua hai đường: màn Danh mục riêng, hoặc ngay trong màn Sửa thông tin merchant. Tạo danh mục ở màn Sửa merchant vẫn lưu được bình thường, nhưng form ở đó không có ô chọn nhóm cha - muốn xếp cây phải mở màn Danh mục riêng.