Tài liệu mô tả nghiệp vụ Long Do ERP — Phân hệ Bảng tin¶
Nguồn & phạm vi tài liệu
Tài liệu bám đúng các mockup web đã dựng: Bảng tin toàn công ty
(nhat-ky-cong-viec.html), popup Đăng bài dùng chung (compose-modal.js),
trang Đăng bài riêng (them-nhat-ky.html), Trang cá nhân của người khác
(trang-ca-nhan-nguoi-khac.html) và phần Tường (feed bài của chính mình) trong
trang-ca-nhan.html. Đây là phân hệ riêng, tách khỏi tài liệu Trang cá nhân
(chỉ tham chiếu qua Mối quan hệ giữa các phân hệ). Chỉ mô tả nghiệp vụ đang có
trên giao diện; điểm chưa rõ đưa xuống Câu hỏi mở thay vì tự suy diễn.
I. Tổng quan¶
Bối cảnh¶
Long Do là công ty xây dựng nhiều dự án (cầu, điện lực, thuỷ lợi, hạ tầng…) với cán bộ phân tán trên nhiều công trường. Bảng tin là mạng nội bộ của công ty — nơi mọi người đăng nhật ký / báo cáo công việc trong ngày, xem dòng tin (feed) toàn công ty, và tương tác (thích, bình luận, chia sẻ). Nó biến việc báo cáo tiến độ hằng ngày — vốn rời rạc qua tin nhắn, giấy tờ — thành một dòng thông tin tập trung, có gắn dự án, có đối tượng xem và lưu vết.
Mục đích¶
- Cho mỗi người một kênh đăng nhật ký / báo cáo công việc thống nhất, thay cho báo cáo rời rạc.
- Báo cáo theo dự án ngay trên bài đăng: khối lượng kế hoạch / thực tế, tỷ lệ hoàn thành, tiêu hao vật tư – nhân công – máy, kế hoạch ngày mai — kết xuất thành tờ báo cáo (khổ A4).
- Cho toàn công ty theo dõi tiến độ qua feed, lọc theo dự án, tìm bài / người.
- Tương tác & lan toả: thích, bình luận, chia sẻ một bài vào Tin nhắn của người / nhóm liên quan.
- Kiểm soát đối tượng xem từng bài (công khai / giới hạn / riêng tư), lấy danh sách người từ Danh bạ.
Phạm vi¶
Phân hệ gồm các khu vực sau:
| Khu vực | Nội dung chính |
|---|---|
| Bảng tin toàn công ty | Dòng bài của mọi người; tìm bài / người; lọc theo dự án (chọn nhiều); thích – bình luận – chia sẻ; ẩn bài người khác |
| Đăng bài | Soạn & đăng bài: lời nhắn tự do hoặc báo cáo theo dự án; đặt đối tượng xem; gắn thẻ đồng nghiệp (@); đính kèm ảnh / video |
| Bài báo cáo công việc | Hạng mục (Vị trí · Nội dung · Khối lượng KH/TT · Tỷ lệ) + tiêu hao con + Kế hoạch ngày mai → tờ báo cáo khổ A4 hiển thị như ảnh |
| Tường cá nhân (của tôi) | Feed bài của chính mình; sửa / xóa bài; lọc theo dự án; lịch nhật ký đã đăng |
| Trang cá nhân của người khác | Xem Tường (chỉ bài được phép xem) + Giới thiệu (thông tin công khai); nút Nhắn tin |
Hai dạng bài: bài thường (lời nhắn tự do + ảnh, không gắn dự án) và bài báo cáo (gắn dự án → kèm tờ báo cáo công việc). Cùng một bộ cơ chế đối tượng xem, gắn thẻ (@), đính kèm, thích – bình luận – chia sẻ.
Ngoài phạm vi (mockup không thể hiện): phân quyền chi tiết "ai xem được bài của ai" phía máy chủ, thuật toán sắp xếp / tải thêm feed, hệ thống thông báo (chuông), cấu hình nhóm chia sẻ — xem Câu hỏi mở.
Yêu cầu chức năng¶
Các yêu cầu chức năng, xếp theo thứ tự đặc tả ở phần II (cột Tính năng phần lớn trùng tiêu đề mục đặc tả; riêng Quản lý bài — FR-BT-07 không có mục riêng mà trải trên nhiều màn: Ẩn bài ở §1.1 và Sửa / Xóa bài của tôi ở §1.7):
| Tính năng | Mã | Yêu cầu chức năng |
|---|---|---|
| Bảng tin toàn công ty | FR-BT-01 | Xem dòng bài của toàn công ty; tìm kiếm bài viết / người; lọc theo dự án (chọn nhiều); trạng thái rỗng khi không khớp |
| Đăng bài | FR-BT-02 | Soạn & đăng bài: nhập lời nhắn ("Bạn muốn nói gì?"), gắn thẻ đồng nghiệp (@), đính kèm ảnh / video, đặt đối tượng xem; sửa lại bài đã đăng |
| FR-BT-03 | Lập báo cáo theo dự án: các hạng mục (Vị trí · Nội dung · Đơn vị · KL Kế hoạch · KL Thực tế · Tỷ lệ tự tính) + tiêu hao con + Kế hoạch ngày mai → kết xuất tờ báo cáo A4 | |
| Đối tượng xem | FR-BT-04 | Đặt phạm vi hiển thị bài ở 4 mức (Công khai / Chỉ hiển thị với… / Không hiển thị với… / Chỉ mình tôi); chọn thành viên từ Danh bạ |
| Tương tác | FR-BT-05 | Thích (bật/tắt, đếm số) và Bình luận (mở panel, nhập + Gửi) trên bài |
| FR-BT-06 | Chia sẻ một bài tới người / nhóm (chọn nhiều từ Danh bạ) kèm tin nhắn tuỳ chọn — gửi vào Tin nhắn | |
| Quản lý bài | FR-BT-07 | Bài của tôi: Chỉnh sửa / Xóa; bài người khác: Ẩn bài (có Hoàn tác) |
| Xem ảnh & tờ báo cáo | FR-BT-08 | Bài hiển thị album (tờ báo cáo + ảnh) đều cỡ; bấm mở trình xem chung: vuốt qua lại + phóng to; tờ báo cáo khổ A4 thu vừa bề ngang |
| Tường cá nhân (của tôi) | FR-BT-09 | Hiển thị trong Trang cá nhân — điều hướng thuộc phân hệ Trang cá nhân, cơ chế feed/đăng bài dùng chung của Bảng tin: feed bài của chính mình; ô soạn nhanh mở popup Đăng bài; lọc theo dự án; lịch nhật ký đã đăng |
| Trang cá nhân người khác | FR-BT-10 | Xem Tường (chỉ bài được phép xem) + tab Giới thiệu (thông tin nghề nghiệp công khai); nút Nhắn tin. Không xem được chấm công / tài chính / hồ sơ chi tiết |
Mối quan hệ giữa các Phân hệ¶
Bảng tin liên kết chặt với các phân hệ khác:
| Phân hệ | Quan hệ với Bảng tin |
|---|---|
| Danh bạ | Nguồn danh sách người / nhóm: chọn đối tượng xem (Chỉ hiển thị với… / Không hiển thị với…) và chọn người/nhóm khi Chia sẻ đều lấy từ Danh bạ |
| Tin nhắn | Đích của Chia sẻ: chia sẻ một bài = gửi bài đó vào Tin nhắn của người/nhóm đã chọn (kèm lời nhắn); nút Nhắn tin ở trang người khác cũng mở Tin nhắn |
| Dự án | Gắn bài & lọc: bài báo cáo gắn 1 dự án (chip dự án trên bài); feed và Tường lọc theo dự án. Khối lượng / tiêu hao báo cáo theo dự án |
| Trang cá nhân | Tường (feed bài của tôi) nằm trong Trang cá nhân nhưng cơ chế đăng/sửa/chia sẻ thuộc Bảng tin; tab Giới thiệu ở trang người khác lấy thông tin công khai từ hồ sơ |
Thuật ngữ¶
| Thuật ngữ | Ý nghĩa |
|---|---|
| Feed / Bảng tin | Dòng các bài đăng, mới nhất trên cùng |
| Tường | Trang nhật ký công việc của chính người dùng (trong Trang cá nhân) |
| Bài thường (status) | Lời nhắn tự do + ảnh/video, không gắn dự án, không có tờ báo cáo |
| Bài báo cáo | Bài gắn 1 dự án, kèm tờ báo cáo công việc (bảng hạng mục + kế hoạch ngày mai) |
| Hạng mục | Một đầu việc: Vị trí/Lý trình · Nội dung · Đơn vị · KL Kế hoạch · KL Thực tế · Tỷ lệ |
| Tiêu hao | Dòng con trong một hạng mục: vật tư · nhân công · ca máy (Tên · Đơn vị · KL Thực tế), không có Kế hoạch, không tính tỷ lệ; tên nằm trong cột Nội dung công việc / Tiêu hao |
| Tỷ lệ hoàn thành | Tự tính = KL Thực tế ÷ KL Kế hoạch của hạng mục, dạng phần trăm |
| Đối tượng xem (phạm vi hiển thị) | Mức hiển thị của bài: Công khai / Chỉ hiển thị với… / Không hiển thị với… / Chỉ mình tôi |
| @ Gắn thẻ | Gõ @ trong lời nhắn / kế hoạch để nhắc tên một đồng nghiệp |
| Chia sẻ | Gửi một bài tới người/nhóm qua Tin nhắn, kèm lời nhắn tuỳ chọn |
| Tờ báo cáo (A4) | Bản kết xuất báo cáo dạng văn bản khổ A4 (tiêu đề · dự án · ngày · người báo cáo · bảng · kế hoạch), hiển thị như một ảnh |
II. Đặc tả phân hệ¶
1. PHÂN HỆ – Bảng tin¶
Người dùng mẫu trong mockup: Nguyễn Phương Mai — Quản trị viên · Trưởng phòng Kế hoạch – Kỹ thuật. Người khác (xem ở trang người khác): Trần Văn Bình — Kỹ sư điện · Phòng Kỹ thuật điện · NV-0207.
1.1. Bảng tin toàn công ty (feed)¶
Tính năng: Bảng tin toàn công ty — gồm FR-BT-01 (xem feed, tìm bài/người, lọc dự án).
Màn nhat-ky-cong-viec.html — dòng bài của toàn công ty, mới nhất trên cùng. Là
màn cấp cao (icon Bảng tin trên thanh điều hướng, không có submenu).
1.1.1. Business flow¶
- Mở Bảng tin → thấy dòng bài của mọi người (bài thường + bài báo cáo).
- Tìm kiếm theo ô "Tìm kiếm bài viết, người…": lọc bài theo nội dung, đồng thời gợi ý người trùng tên (nhóm "Mọi người").
- Lọc theo dự án: mở "Tất cả dự án" → tích chọn nhiều dự án → feed thu hẹp; bộ đếm "N bài".
- Trên mỗi bài: Thích, Bình luận, Chia sẻ (mục 1.5); bấm ảnh / tờ báo cáo để mở trình xem (mục 1.6).
- Đăng bài mới qua ô soạn nhanh đầu feed (mở popup Đăng bài — mục 1.2).
1.1.2. UI¶
| STT | Tên control | Bắt buộc | Loại control | Cho phép nhập/chọn | Mô tả và ghi chú |
|---|---|---|---|---|---|
| 1 | Tiêu đề màn | Không | Nhãn | Chỉ đọc | “Bảng tin · Toàn công ty”. |
| 2 | Nút chuông thông báo | Không | Button | Bấm | Chỉ có chấm đỏ báo hiệu; chưa mở panel danh sách thông báo — xem Câu hỏi mở. |
| 3 | Nút đổi giao diện | Không | Button | Bấm | Chuyển sáng/tối. |
| 4 | Ô tìm kiếm | Không | Ô tìm (combobox) | Nhập từ khóa | “Tìm kiếm bài viết, người…” (tìm bỏ dấu): lọc bài theo nội dung + dropdown gợi ý người (“Mọi người”). Đang gõ tìm thì ô soạn nhanh tự ẩn. |
| 5 | Bộ lọc dự án | Không | Popup checkbox (chọn nhiều) | Chọn giá trị | “Tất cả dự án” (Cầu Nam Căn · Điện lực Linh Đàm · Trung tâm phê duyệt); có “Bỏ chọn tất cả” / “Xong”, badge đếm số dự án; bộ đếm “N bài” (chỉ hiện khi đang lọc/tìm). |
| 6 | Ô soạn nhanh | Không | Button (điểm vào) | Bấm | Avatar + pill “Hôm nay bạn đã làm gì?” + icon “Ảnh / video” — bấm đều mở popup Đăng bài. Không có nút “Đăng” tại đây. |
| 7 | Danh sách bài (feed) | Không | Danh sách (grid) | Chỉ đọc | Mỗi bài xem mục 1.5; bài của tôi có chip “Bạn”, còn lại là bài người khác. |
| 8 | Trạng thái rỗng / cuối feed | Không | Nhãn | Chỉ đọc | “Không có bài nhật ký nào khớp bộ lọc.”; cuối feed “Bạn đã xem hết bài mới”. |
| 9 | Nút “Quay về đầu trang” | Không | Button | Bấm | Hiện khi cuộn xuống; đưa feed về đầu. |
1.1.3. Business Rule¶
- BR-BT-01 — Bảng tin toàn công ty là màn cấp cao, không có submenu, hiển thị bài của mọi người (theo đối tượng xem của từng bài — xem BR-BT-08). Sắp xếp mới nhất trên cùng.
- BR-BT-02 — Tìm kiếm hoạt động trên nội dung bài và tên người (tìm bỏ dấu). Lọc dự án là chọn nhiều; bài không gắn dự án (bài thường) luôn hiển thị, không bị bộ lọc dự án loại.
Ranh giới với Tường cá nhân
Bảng tin toàn công ty hiển thị bài của mọi người; Tường (mục 1.7) chỉ hiển thị bài của chính người dùng. Hai màn dùng chung cơ chế đăng bài / tương tác.
Ẩn bài trên feed toàn công ty (FR-BT-07)
Trên Bảng tin toàn công ty, bài người khác có menu ⋯ → Ẩn bài viết: bài biến mất khỏi feed, thay bằng dải "Đã ẩn bài viết này." + Hoàn tác (thuộc FR-BT-07 – Quản lý bài). Ẩn chỉ tác động hiển thị phía người xem, không xoá bài.
1.2. Đăng bài¶
Tính năng: Đăng bài — gồm FR-BT-02 (soạn bài thường: lời nhắn, @gắn thẻ, đính kèm, đối tượng xem; sửa bài).
Đăng bài qua popup "Tạo bài viết" dùng chung (compose-modal.js), mở từ ô soạn
nhanh ở Bảng tin hoặc ở Tường. Popup đè lên trang hiện tại (không rời trang).
1.2.1. Business flow¶
- Bấm ô soạn nhanh "Hôm nay bạn đã làm gì?" → mở popup Tạo bài viết.
- Chọn đối tượng xem (mặc định Công khai — mục 1.4).
- Chọn Lập báo cáo theo dự án: để trống → bài thường; chọn 1 dự án → hiện thêm bảng báo cáo (mục 1.3).
- Nhập "Bạn muốn nói gì?" (lời nhắn); có thể gõ
@để gắn thẻ đồng nghiệp. - Đính kèm ảnh / video (tuỳ chọn).
- Bấm Đăng bài → bài xuất hiện đầu feed. Sau đó có thể Chỉnh sửa lại (mục 1.7).
1.2.2. UI¶
| STT | Tên control | Bắt buộc | Loại control | Cho phép nhập/chọn | Mô tả và ghi chú |
|---|---|---|---|---|---|
| 1 | Người đăng + Đối tượng xem | Không | Nhãn + nút chọn | Chọn giá trị | Avatar + tên; ngay dưới là nút chọn phạm vi hiển thị (mục 1.4), mặc định Công khai. |
| 2 | Lập báo cáo theo dự án | Không | Ô chọn có tìm kiếm (combobox) | Chọn / nhập tìm | “Tìm dự án…”; mặc định “— Chưa chọn (đăng bài thường) —”. Chọn 1 dự án → hiện bảng báo cáo (mục 1.3). Danh sách: Cầu Nam Căn · Điện lực Linh Đàm · Trung tâm phê duyệt · Khu đô thị Đông Anh · Nhà máy nước Sông Đà · Cao tốc Bắc Nam – Mai Sơn. |
| 3 | “Bạn muốn nói gì?” | Điều kiện | Ô nhập nhiều dòng | Nhập văn bản | Lời nhắn, tự cao dần theo nội dung. Lời nhắn hoặc đính kèm phải có ít nhất một (BR-BT-03). |
| 4 | Gắn thẻ (@) | Không | Gợi ý @mention | Gõ “@” rồi chọn tên | Trong ô lời nhắn hoặc ô Kế hoạch ngày mai → hiện danh sách đồng nghiệp để chèn tên (nhắc tên). |
| 5 | Ảnh / video đính kèm | Điều kiện | Tải media | Chọn tệp (nhiều) | Lưới media + ô + để thêm ảnh/video. Xem ghi chú “Điều kiện” ở control 3. |
| 6 | Nút “Hủy” | Không | Button | Bấm | Đóng popup, không đăng. |
| 7 | Nút “Đăng bài” | Không | Button (chính) | Bấm | Đăng bài lên feed; luôn bấm được (nội dung rỗng cả lời nhắn lẫn đính kèm thì không tạo bài — BR-BT-03). |
Trang Đăng bài riêng (them-nhat-ky.html)
Ngoài popup, còn một trang Đăng bài đầy đủ (them-nhat-ky.html) với cùng bộ
trường (đối tượng xem · chọn dự án · bảng báo cáo · status · đính kèm). Đây là biến
thể trang thay cho popup; hai nơi cùng nghiệp vụ. Trang này điều hướng theo
nguồn mở màn: mở từ Trang cá nhân (mục Nhật ký) hay từ Bảng tin thì các nút
Quay lại · Hủy · Đăng xong đều trả về đúng nơi đã mở (mặc định Trang cá nhân);
icon rail sáng theo nguồn tương ứng. Điểm lệch trường giữa hai biến thể xem
Câu hỏi mở.
1.2.3. Business Rule¶
- BR-BT-03 — Một bài đăng qua popup dùng chung, gồm tối thiểu lời nhắn hoặc đính kèm (bài thường) — nếu để trống cả hai thì không đăng được. Chọn dự án sẽ chuyển bài thành bài báo cáo (BR-BT-04).
- BR-BT-04 — Gắn thẻ (@) chỉ để nhắc tên đồng nghiệp trong nội dung; danh sách người gợi ý lấy từ đồng nghiệp trong công ty.
1.3. Bài báo cáo công việc (tờ A4)¶
Tính năng: Bài báo cáo công việc — gồm FR-BT-03 (báo cáo theo dự án: hạng mục + tiêu hao + kế hoạch ngày mai, kết xuất tờ báo cáo A4). Trình xem tờ A4 trong album thuộc FR-BT-08 (mục 1.6).
Khi bài gắn một dự án, popup hiện thêm khối "Công việc hôm nay" để lập báo cáo. Khi đăng, phần báo cáo được kết xuất thành tờ báo cáo khổ A4 hiển thị như một ảnh trong album của bài.
1.3.1. Business flow¶
- Ở popup, chọn 1 dự án → hiện khối "Công việc hôm nay" (mặc định 1 hạng mục trống).
- Với mỗi hạng mục: nhập Vị trí / Lý trình, Nội dung công việc, Đơn vị, KL Kế hoạch, KL Thực tế → hệ thống tự tính Tỷ lệ hoàn thành.
- Thêm tiêu hao con cho hạng mục (vật tư · nhân công · ca máy): Tên · Đơn vị · KL Thực tế — tiêu hao không có KL Kế hoạch; tên hiển thị trong cột Nội dung công việc / Tiêu hao.
- Thêm hạng mục khác bằng "Thêm hạng mục"; xóa hạng mục / tiêu hao khi cần.
- Nhập "Kế hoạch ngày mai" (tuỳ chọn).
- Đăng bài → sinh tờ báo cáo A4; bài hiển thị tờ báo cáo (ô album) + các ảnh đính kèm.
1.3.2. UI¶
Khối "Công việc hôm nay" — các control lập báo cáo:
| STT | Tên control | Bắt buộc | Loại control | Cho phép nhập/chọn | Mô tả và ghi chú |
|---|---|---|---|---|---|
| 1 | Bảng hạng mục | Điều kiện | Bảng nhập (grid) | Nhập / chọn từng ô | Mỗi dòng là 1 hạng mục (xem cấu trúc trường bên dưới); Tỷ lệ tự tính = KL Thực tế ÷ KL Kế hoạch. Mặc định 1 hạng mục trống. Có thể đăng bài báo cáo với 0 hạng mục nếu đã có Kế hoạch ngày mai / lời nhắn / đính kèm (BR-BT-03). |
| 2 | Nút “Thêm hạng mục” | Không | Button | Bấm | Thêm một dòng hạng mục mới vào bảng. |
| 3 | Nút “Thêm tiêu hao” | Không | Button | Bấm | Thêm dòng tiêu hao con (vật tư · nhân công · ca máy) trong một hạng mục. |
| 4 | Nút xóa dòng | Không | Button | Bấm | Xóa hạng mục / tiêu hao. Hàng để trống tự bỏ khi đăng (BR-BT-05). |
| 5 | Ô “Kế hoạch ngày mai” | Không | Ô nhập nhiều dòng | Nhập văn bản | Tùy chọn; hỗ trợ gõ @ gắn thẻ. Kết xuất vào cuối tờ A4 (BR-BT-06). |
Cấu trúc dữ liệu một hạng mục (công việc cha) và tiêu hao con:
| Trường | Ý nghĩa |
|---|---|
| Vị trí / Lý trình | Nơi thực hiện hạng mục (vd Trụ M1, Km2+300) |
| Nội dung công việc | Việc đã làm (vd Đổ bê tông móng trụ cầu) |
| Đơn vị | m³, tấn, m, ca, công… |
| KL Kế hoạch | Khối lượng dự kiến làm của hạng mục |
| KL Thực tế | Khối lượng thực tế đạt được |
| Tỷ lệ hoàn thành | Tự tính = KL Thực tế ÷ KL Kế hoạch (phần trăm) — chỉ ở hạng mục cha |
| Tiêu hao (con) | Tên · Đơn vị · KL Thực tế — không có KL Kế hoạch, không tính tỷ lệ. Tên ghi trong cột Nội dung công việc / Tiêu hao (thụt dưới hạng mục cha) |
- Tờ báo cáo A4 (khi đăng) gồm: tiêu đề "BÁO CÁO CÔNG VIỆC", dòng Dự án · Ngày · Người báo cáo, bảng (# · Vị trí/Lý trình · Nội dung công việc / Tiêu hao · Đơn vị · Khối lượng [Kế hoạch/Định mức | Thực tế] · Tỷ lệ hoàn thành), và Kế hoạch ngày mai ở cuối tờ. Tên tiêu hao nằm thụt dưới hạng mục cha trong cột Nội dung công việc / Tiêu hao; dòng tiêu hao bỏ trống Kế hoạch (chỉ Thực tế).
- Trong feed, tờ báo cáo hiển thị như một ảnh (ô album đều cỡ với các ảnh khác); bấm mở trình xem chung (mục 1.6).
1.3.3. Business Rule¶
- BR-BT-05 — Trong báo cáo: dòng có Vị trí/Lý trình = hạng mục (đánh số, tính Tỷ lệ = TT ÷ KH); dòng tiêu hao con (tên ghi thụt trong cột Nội dung công việc / Tiêu hao, chỉ Đơn vị · KL Thực tế) không đánh số, không có Kế hoạch, không tính tỷ lệ. Hàng để trống tự bỏ khi đăng.
- BR-BT-06 — Kế hoạch ngày mai và toàn bộ nội dung công việc được kết xuất vào tờ báo cáo A4; ngoài feed chỉ hiển thị lời nhắn ("Bạn muốn nói gì?") dạng chữ, còn báo cáo + kế hoạch nằm trong tờ A4 (mở ra mới xem đầy đủ).
1.4. Đối tượng xem (phạm vi hiển thị)¶
Tính năng: Đối tượng xem — gồm FR-BT-04 (4 mức phạm vi + chọn thành viên từ Danh bạ).
Mỗi bài có một phạm vi hiển thị, đặt khi đăng / sửa bài, mặc định Công khai.
1.4.1. UI¶
Bốn mức phạm vi hiển thị:
| Mức | Ý nghĩa |
|---|---|
| Công khai | Mọi thành viên công ty đều xem được |
| Chỉ hiển thị với… | Chỉ những người được chọn mới xem được (danh sách trắng) |
| Không hiển thị với… | Mọi người xem được, trừ những người được chọn (danh sách đen) |
| Chỉ mình tôi | Không ai khác xem được |
Control đặt phạm vi hiển thị và popup "Chọn thành viên":
| STT | Tên control | Bắt buộc | Loại control | Cho phép nhập/chọn | Mô tả và ghi chú |
|---|---|---|---|---|---|
| 1 | Chọn phạm vi hiển thị | Không | Menu 4 mức | Chọn 1 mức | Mặc định Công khai. Nhãn động: “Chỉ hiển thị với 3 người”, “Không hiển thị với 2 người”. Chọn “Chỉ hiển thị với…” / “Không hiển thị với…” → mở popup “Chọn thành viên”. |
| 2 | Ô tìm thành viên | Không | Ô tìm | Nhập từ khóa | “Tìm thành viên công ty…” trong popup “Chọn thành viên”. |
| 3 | Danh sách thành viên | Không | Danh sách checkbox | Chọn nhiều | Lấy từ Danh bạ → Thành viên công ty; danh sách người áp cho mức “Chỉ hiển thị với…” / “Không hiển thị với…”. Mockup không bắt buộc chọn tối thiểu (có thể để 0 người). |
| 4 | Bộ đếm đã chọn | Không | Nhãn | Chỉ đọc | “Đã chọn N thành viên”. |
| 5 | Nút “Hủy” / “Xong” | Không | Button | Bấm | Đóng popup: “Hủy” bỏ thay đổi, “Xong” áp danh sách đã chọn. |
1.4.2. Business Rule¶
- BR-BT-07 — Danh sách thành viên để đặt đối tượng xem lấy từ Danh bạ. "Chỉ hiển thị với…" và "Không hiển thị với…" loại trừ nhau trên cùng một người (chọn ở mức này thì tự bỏ ở mức kia).
- BR-BT-08 — Phạm vi hiển thị quyết định ai thấy bài trên feed toàn công ty và khi vào trang người khác (mặc định Công khai). Cơ chế thực thi phía máy chủ ngoài phạm vi mockup — xem Câu hỏi mở.
1.5. Tương tác: Thích · Bình luận · Chia sẻ¶
Tính năng: Tương tác — gồm FR-BT-05 (Thích, Bình luận) và FR-BT-06 (Chia sẻ vào Tin nhắn).
Mỗi bài (ở feed toàn công ty, Tường của mình, và trang người khác) đều có 3 nút tương tác + dòng thống kê + panel bình luận.
1.5.1. Business flow¶
- Thích: bấm → đổi 🤍 ↔ ❤️, tăng/giảm số lượt thích.
- Bình luận: bấm → mở panel; nhập "Viết bình luận..." + Gửi → thêm bình luận.
- Chia sẻ: bấm → mở cửa sổ "Chia sẻ bài viết"; chọn người / nhóm + nhập tin nhắn tuỳ chọn → Chia sẻ → gửi bài vào Tin nhắn của các đối tượng đã chọn (toast xác nhận).
1.5.2. UI — cửa sổ "Chia sẻ bài viết"¶
| STT | Tên control | Bắt buộc | Loại control | Cho phép nhập/chọn | Mô tả và ghi chú |
|---|---|---|---|---|---|
| 1 | Ô tìm người/nhóm | Không | Ô tìm | Nhập từ khóa | “Tìm người hoặc nhóm…” (tìm bỏ dấu). Rỗng khi không ra: “Không tìm thấy người/nhóm nào.” |
| 2 | Danh sách “Nhóm” | Điều kiện | Danh sách checkbox | Chọn nhiều | Dự án Cầu Nam Căn · Phòng Kế hoạch – Kỹ thuật · Ban QLDA (nguồn nhóm — xem Câu hỏi mở). |
| 3 | Danh sách “Mọi người” | Điều kiện | Danh sách checkbox | Chọn nhiều | Từng cá nhân từ Danh bạ (Trần Văn Bình · Phạm Minh Đức · Lê Thu Hà · Hoàng Văn Long · Nguyễn Văn Hùng). Phải chọn ít nhất 1 người/nhóm (BR-BT-09). |
| 4 | Ô thêm tin nhắn | Không | Ô nhập nhiều dòng | Nhập văn bản | “Thêm tin nhắn (không bắt buộc)…” gửi kèm khi chia sẻ. |
| 5 | Bộ đếm đã chọn | Không | Nhãn | Chỉ đọc | Chân cửa sổ: “Chưa chọn ai” / “Đã chọn N”. |
| 6 | Nút “Huỷ” / “Chia sẻ” | Không | Button | Bấm | “Chia sẻ” gửi bài vào Tin nhắn của các đối tượng đã chọn (toast xác nhận); chưa chọn ai → cảnh báo (BR-BT-09). |
1.5.3. Business Rule¶
- BR-BT-09 — Chia sẻ một bài = gửi bài đó vào Tin nhắn của người / nhóm chọn từ Danh bạ, kèm tin nhắn tuỳ chọn. Phải chọn ít nhất 1 người/nhóm mới chia sẻ được (chưa chọn → cảnh báo).
- BR-BT-10 — Thích và Bình luận áp dụng cho mọi bài mà người dùng xem được (kể cả bài người khác trên trang cá nhân của họ).
1.6. Xem ảnh & tờ báo cáo (trình xem chung)¶
Tính năng: Xem ảnh & tờ báo cáo — gồm FR-BT-08 (album đều cỡ + trình xem vuốt/phóng to).
Ảnh đính kèm và tờ báo cáo của một bài nằm chung một album các ô đều cỡ nhau.
1.6.1. Business flow¶
- Trong feed, một bài có ảnh / tờ báo cáo hiển thị album các ô đều cỡ nhau.
- Bấm một ô → mở trình xem chung (toàn màn, nền tối).
- Vuốt / bấm ‹ › / phím ← → lướt qua tờ báo cáo và các ảnh; phóng to xem cỡ thật.
- Bấm X / Esc / nền tối → đóng trình xem, quay lại feed.
1.6.2. UI¶
Album trong feed và trình xem chung khi mở ảnh / tờ báo cáo:
| STT | Tên control | Bắt buộc | Loại control | Cho phép nhập/chọn | Mô tả và ghi chú |
|---|---|---|---|---|---|
| 1 | Album của bài | Không | Lưới ảnh (grid) | Bấm ô | Tờ báo cáo (nếu có) là một ô (ảnh trang A4, phần đầu) + các ảnh/video — đều cỡ nhau. Bấm ô → mở trình xem chung. |
| 2 | Điều hướng ‹ › | Không | Button + cử chỉ | Bấm / vuốt / phím ← → | Lướt qua tờ báo cáo và các ảnh; bộ đếm “k / n”. |
| 3 | Phóng to | Không | Button | Bấm ảnh / nút kính lúp | Phóng to xem cỡ thật. Tờ báo cáo A4 thu vừa bề ngang khung (không cuộn ngang), phóng to mới xem cỡ thật. |
| 4 | Đóng trình xem | Không | Button | Bấm X / Esc / nền tối | Đóng trình xem, quay lại feed. |
1.6.3. Business Rule¶
- BR-BT-11 — Tờ báo cáo được đối xử như một ảnh trong album của bài (đều cỡ với ảnh khác, mở cùng trình xem). Tờ báo cáo là khổ A4 dọc, tự thu vừa bề ngang để xem không cuộn ngang.
1.7. Tường cá nhân (bài của tôi)¶
Tính năng: Tường cá nhân (của tôi) — gồm FR-BT-09 (feed bài của tôi, soạn nhanh, lọc dự án, lịch nhật ký) và FR-BT-07 (sửa/xóa bài của tôi).
Tường nằm trong trang-ca-nhan.html (là trang mặc định của Trang cá nhân) —
feed các bài do chính người dùng đăng. Đặc tả điều hướng chi tiết xem tài liệu
Trang cá nhân; ở đây mô tả phần thuộc Bảng tin.
1.7.1. Business flow¶
- Vào Tường → dòng bài của tôi, mới nhất trên cùng.
- Tìm ("Tìm trong bài đăng…") và lọc theo dự án (chọn nhiều: Cầu Nam Căn · Điện lực Linh Đàm · Trung tâm phê duyệt).
- Bấm ô soạn nhanh → mở popup Đăng bài (mục 1.2).
- Trên mỗi bài của mình: Thích / Bình luận / Chia sẻ; menu ⋯ → Chỉnh sửa bài viết / Xóa bài.
- Cột phải: lịch nhật ký đã đăng (chọn tháng, điều hướng ‹ ›; ngày có bài được đánh dấu).
1.7.2. UI¶
| STT | Tên control | Bắt buộc | Loại control | Cho phép nhập/chọn | Mô tả và ghi chú |
|---|---|---|---|---|---|
| 1 | Ô soạn nhanh | Không | Button (điểm vào) | Bấm | Pill “Hôm nay bạn đã làm gì?” + icon ảnh/video → mở popup Đăng bài; tự ẩn khi đang gõ tìm kiếm. |
| 2 | Ô tìm trong bài | Không | Ô tìm | Nhập từ khóa | “Tìm trong bài đăng…” lọc bài của chính mình. |
| 3 | Bộ lọc dự án | Không | Dropdown checkbox (chọn nhiều) | Chọn giá trị | Badge đếm; bộ đếm “N bài” khi đang lọc/tìm. |
| 4 | Danh sách bài của tôi | Không | Danh sách (grid) | Chỉ đọc | Mỗi bài: avatar + tên + ngày · giờ · đối tượng xem; chip dự án (bài báo cáo); album (mục 1.6); menu ⋯ (Chỉnh sửa / Xóa). |
| 5 | Menu ⋯ trên bài | Không | Menu ngữ cảnh | Bấm chọn | Chỉnh sửa bài viết (mở lại popup) / Xóa bài (BR-BT-12). |
| 6 | Trạng thái rỗng / cuối feed | Không | Nhãn | Chỉ đọc | “Không tìm thấy bài đăng nào khớp.”; cuối feed “Đã hiển thị tất cả N bài”. |
1.7.3. Business Rule¶
- BR-BT-12 — Tường chỉ hiển thị bài của chính người dùng. Trên bài của tôi, menu ⋯ gồm Chỉnh sửa bài viết (mở lại popup với dữ liệu bài) và Xóa bài.
- BR-BT-13 — Chỉnh sửa cho phép đổi lời nhắn, báo cáo, đối tượng xem, đính kèm (như lúc đăng); bài không gắn dự án không bị bộ lọc dự án loại (luôn hiển thị).
1.8. Trang cá nhân của người khác¶
Tính năng: Trang cá nhân người khác — gồm FR-BT-10 (Tường bài được phép xem + Giới thiệu công khai + Nhắn tin).
Màn trang-ca-nhan-nguoi-khac.html — mở khi xem trang của người khác (vd từ tên
tác giả trên một bài).
1.8.1. Business flow¶
- Mở trang người khác → thấy hồ sơ rút gọn + 2 tab: Tường (mặc định) và Giới thiệu.
- Tab Tường: xem các bài được phép xem của người đó; Thích / Bình luận / Chia sẻ như bình thường — không có Sửa / Xóa / Ẩn.
- Tab Giới thiệu: xem thông tin nghề nghiệp công khai.
- Bấm Nhắn tin → mở Tin nhắn với người đó.
1.8.2. UI¶
| STT | Tên control | Bắt buộc | Loại control | Cho phép nhập/chọn | Mô tả và ghi chú |
|---|---|---|---|---|---|
| 1 | Hồ sơ rút gọn | Không | Nhãn | Chỉ đọc | Avatar + tên + badge “Chính thức” + chức vụ · phòng ban · mã NV (vd “Kỹ sư điện · Phòng Kỹ thuật điện · NV-0207”). Không có ảnh bìa. |
| 2 | Nút “Nhắn tin” | Không | Button | Bấm | Hành động khả dụng duy nhất với chủ trang → mở Tin nhắn (BR-BT-15). |
| 3 | Tab “Tường” | Không | Tab | Bấm chọn | Mặc định. Ghi chú “Chỉ hiển thị bài bạn được phép xem.”; feed bài của người đó, mỗi bài có Thích/Bình luận/Chia sẻ, không menu ⋯. |
| 4 | Tab “Giới thiệu” | Không | Tab | Bấm chọn | Khối “Thông tin công khai”: Họ tên · Mã NV · Chức vụ · Phòng ban · Nơi làm việc · Ngày vào làm · Email công việc; kèm cảnh báo “Số điện thoại cá nhân, chấm công, tài chính và cài đặt tài khoản không được chia sẻ với người khác.” |
1.8.3. Business Rule¶
- BR-BT-14 — Trang người khác chỉ lộ: Tường (bài được phép xem theo đối tượng xem) và Giới thiệu (thông tin nghề nghiệp công khai). Chấm công, tài chính, hồ sơ chi tiết, cài đặt của người khác bị ẩn hoàn toàn.
- BR-BT-15 — Trên trang người khác, người dùng không có Chỉnh sửa / Xóa / Ẩn bài — chỉ Thích / Bình luận / Chia sẻ. Hành động khả dụng duy nhất với chủ trang là Nhắn tin.
Câu hỏi mở¶
Các điểm mockup chưa thể hiện / còn lệch, cần BA – Dev chốt:
- Phân quyền "ai xem được bài của ai" — mockup đặt đối tượng xem (4 mức) nhưng không thực thi lọc theo người đăng nhập; cơ chế phía máy chủ (ai thuộc nhóm nào, quản lý xem được gì) chưa định nghĩa.
- Hệ thống thông báo — nút chuông chỉ có chấm đỏ tĩnh, chưa có panel/danh sách thông báo. Cần chốt: có thông báo khi được nhắc (@), bình luận, chia sẻ, được nhắc trong bài…?
- Lệch trường giữa popup và trang Đăng bài — giữ cả hai biến thể (popup mở từ
feed; trang
them-nhat-ky.htmlmở từ Trang cá nhân / Bảng tin, điều hướng trả về đúng nguồn). Còn lệch trường: trangthem-nhat-ky.htmlchưa có ô nhập "Kế hoạch ngày mai" trong khi bài hiển thị lại có mục này và popupcompose-modal.jsthì có — cần đồng bộ trường giữa hai biến thể. - Sắp xếp & tải thêm feed — feed đang mới-nhất-trên-cùng, "cuộn vô hạn" mới là mô tả demo (chưa tải thêm thật). Cần chốt phân trang / tải thêm và tiêu chí sắp xếp.
- Bộ chuyển "Của tôi / Tất cả" trên feed — có logic trong mã nhưng không hiển thị nút; cần chốt có tách hai chế độ này trên Bảng tin không.
- Quyền chia sẻ & nhóm — danh sách "Nhóm" (Dự án / Phòng / Ban) là mẫu tĩnh; cần chốt nguồn nhóm (đồng bộ với Danh bạ / cơ cấu tổ chức) và ai được chia sẻ tới nhóm nào.
- Gắn thẻ (@) — hiện chỉ nhắc tên trong nội dung; cần chốt có gửi thông báo cho người được gắn thẻ và có liên kết tới trang cá nhân của họ không.