Đặc tả màn — Tổng quan (Dashboard)
Pair với mockup: ui-mockups/longdo-erp/tong-quan.html
Mục đích: màn đầu tiên sau khi đăng nhập — tổng hợp KPI, việc cần duyệt, tiến độ.
Quyền xem: Quản trị, Kế toán trưởng, Quản lý dự án (role thường: ẩn các thẻ tài chính).
Loại màn: dashboard (chỉ hiển thị, không nhập liệu).
Nháp sinh từ mockup — chờ BA rà
Bản này do AI render từ mockup để liệt kê "required". BA cần rà & sửa: nguồn dữ
liệu (API/entity) đang là dự kiến, ràng buộc nghiệp vụ thật do BA chốt.
Tham số / Bộ lọc
| Thành phần |
Kiểu |
Bắt buộc |
Mặc định |
Ghi chú |
| Kỳ xem |
enum (Hôm nay/Tuần/Tháng) |
– |
Tháng hiện tại |
đổi → tải lại mọi KPI & biểu đồ |
| Ô tìm kiếm |
text |
– |
rỗng |
tìm đơn/khách/mặt hàng, ≥ 2 ký tự |
Thành phần dữ liệu
Thẻ KPI (4 thẻ)
| Thành phần |
Kiểu |
Bắt buộc |
Nguồn / Tùy chọn |
Ràng buộc / Định dạng |
Mặc định |
| Doanh thu tháng |
money |
✔ |
GET /dashboard/kpi → doanhThu |
≥ 0, đơn vị ₫, rút gọn "tỷ/tr" |
– |
| ↳ xu hướng |
% |
– |
…→ doanhThuTrend |
so tháng trước; ▲ xanh / ▼ đỏ |
– |
| Đơn hàng mới |
int |
✔ |
…→ donHangMoi |
≥ 0 |
0 |
| Mặt hàng tồn kho |
int |
✔ |
…→ tonKho |
badge "n sắp hết" khi n > 0 (amber) |
0 |
| Công nợ phải thu |
money |
✔ |
…→ congNoPhaiThu |
badge "n quá hạn" (đỏ) |
– |
Biểu đồ "Doanh thu 6 tháng gần nhất"
| Thành phần |
Kiểu |
Bắt buộc |
Nguồn |
Ràng buộc / Định dạng |
| Cột theo tháng |
number[] |
✔ |
GET /dashboard/revenue?months=6 |
đơn vị triệu đồng; tháng hiện tại tô đậm (brand) |
| Nút "Xuất Excel" |
hành động |
– |
– |
xuất dữ liệu biểu đồ ra .xlsx |
Bảng "Đơn hàng gần đây"
Nguồn: GET /orders?sort=createdAt:desc&limit=5
| Cột |
Kiểu |
Bắt buộc |
Ràng buộc / Hành vi |
| Mã đơn |
text |
✔ |
dạng DH-####; click → chi tiết đơn |
| Khách hàng |
text |
✔ |
tên khách hàng |
| Giá trị |
money |
✔ |
₫, canh phải |
| Trạng thái |
enum |
✔ |
Hoàn tất / Đang giao / Chờ duyệt / Đã huỷ → badge màu ngữ nghĩa |
Tồn kho theo nhóm (donut)
| Thành phần |
Kiểu |
Bắt buộc |
Nguồn |
Ràng buộc |
| Tổng số mặt hàng |
int |
✔ |
GET /inventory/summary → total |
≥ 0 |
| Tỷ trọng theo nhóm |
%[] |
✔ |
…→ byGroup[] |
tổng = 100%; nhãn nhóm + % |
Tiến độ đơn hàng (thanh %)
| Thành phần |
Kiểu |
Bắt buộc |
Nguồn |
Ràng buộc |
| Số đơn theo trạng thái |
int |
✔ |
GET /orders/stats?period=month |
4 trạng thái: Hoàn tất/Đang giao/Chờ duyệt/Đã huỷ |
Việc cần làm hôm nay
| Thành phần |
Kiểu |
Bắt buộc |
Nguồn |
Ràng buộc |
| Danh sách việc |
list |
✔ |
GET /tasks/today?assignee=me |
mỗi việc: tiêu đề + hạn; đánh dấu quá hạn (đỏ) |
Truy cập nhanh
| Thành phần |
Kiểu |
Bắt buộc |
Hành vi |
| 6 nút lối tắt |
hành động |
✔ |
Tạo đơn bán · Nhập kho · Xuất kho · Đề xuất mua · Thu chi · Báo cáo → mở màn tương ứng |
| Mục |
Nguồn đếm |
Ràng buộc |
| Đề xuất thanh toán / xuất tiền / nhập vật tư / vật tư / quyết toán |
count(status = chờ duyệt) của từng loại |
ẩn badge nếu = 0; màu amber nếu có item quá hạn |
Hành động
| Nút / Thao tác |
Điều kiện |
Kết quả |
| + Tạo nhanh |
– |
mở menu tạo (đơn bán / phiếu nhập / đề xuất…) |
| 🔔 Chuông |
– |
mở danh sách thông báo; chấm đỏ khi có chưa đọc |
| Click hàng đơn hàng |
– |
mở chi tiết đơn |
| Click việc cần làm |
– |
mở chi tiết việc / màn liên quan |
Trạng thái màn
| Trạng thái |
Hiển thị |
| Đang tải |
skeleton cho thẻ KPI, biểu đồ và bảng |
| Không có quyền tài chính |
ẩn thẻ Doanh thu & Công nợ, hiện ghi chú "Không có quyền xem số liệu tài chính" |
| Lỗi tải |
thông báo lỗi + nút "Thử lại" cho từng khối |
Ghi chú nghiệp vụ
- Số liệu KPI và biểu đồ phụ thuộc Kỳ xem trên header.
- Phân quyền theo vai: role không thuộc tài chính chỉ thấy đơn hàng/tồn kho/việc.
- <BA bổ sung: công thức tính doanh thu, định nghĩa "công nợ quá hạn", v.v.>