Bỏ qua

Tài liệu mô tả nghiệp vụ Long Do ERP — Phân hệ Bảng tin

Phân hệ: Bảng tin  |  Feed toàn công ty + Đăng bài + Tường cá nhân  |  Nguồn: mockup web  |  Hover tên trường/thuật ngữ để xem mô tả

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 tinmạ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ựcNộ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ăngYê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 maikế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 tinDòng các bài đăng, mới nhất trên cùng
TườngTrang 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áoBà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ụcMộ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 haoDò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ànhTự 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ẻ@ 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
  1. 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).
  2. 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").
  3. 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".
  4. 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).
  5. Đăng bài mới qua ô soạn nhanh đầu feed (mở popup Đăng bài — mục 1.2).
1.1.2. UI
STTTên controlBắt buộcLoại controlCho phép nhập/chọnMô tả và ghi chú
1Tiêu đề mànKhôngNhãnChỉ đọc“Bảng tin · Toàn công ty”.
2Nút chuông thông báoKhôngButtonBấmChỉ có chấm đỏ báo hiệu; chưa mở panel danh sách thông báo — xem Câu hỏi mở.
3Nút đổi giao diệnKhôngButtonBấmChuyển sáng/tối.
4Ô tìm kiếmKhô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.
5Bộ lọc dự ánKhôngPopup 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 nhanhKhôngButton (điểm vào)BấmAvatar + 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.
7Danh sách bài (feed)KhôngDanh sách (grid)Chỉ đọcMỗ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.
8Trạng thái rỗng / cuối feedKhôngNhãnChỉ đọ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”.
9Nút “Quay về đầu trang”KhôngButtonBấmHiệ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-02Tìm kiếm hoạt động trên nội dung bài tên người (tìm bỏ dấu). Lọc dự ánchọ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
  1. Bấm ô soạn nhanh "Hôm nay bạn đã làm gì?" → mở popup Tạo bài viết.
  2. Chọn đối tượng xem (mặc định Công khai — mục 1.4).
  3. 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).
  4. Nhập "Bạn muốn nói gì?" (lời nhắn); có thể @ để gắn thẻ đồng nghiệp.
  5. Đính kèm ảnh / video (tuỳ chọn).
  6. 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
STTTên controlBắt buộcLoại controlCho phép nhập/chọnMô tả và ghi chú
1Người đăng + Đối tượng xemKhôngNhãn + nút chọnChọ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.
2Lập báo cáo theo dự ánKhô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òngNhập văn bảnLờ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).
4Gắn thẻ (@)KhôngGợi ý @mentionGõ “@” rồi chọn tênTrong ô 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ệnTải mediaChọn tệp (nhiều)Lưới media + ô để thêm ảnh/video. Xem ghi chú “Điều kiện” ở control 3.
6Nút “Hủy”KhôngButtonBấmĐóng popup, không đăng.
7Nút “Đăng bài”KhôngButton (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-04Gắ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
  1. Ở 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).
  2. 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.
  3. 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.
  4. 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.
  5. Nhập "Kế hoạch ngày mai" (tuỳ chọn).
  6. Đă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:

STTTên controlBắt buộcLoại controlCho phép nhập/chọnMô tả và ghi chú
1Bảng hạng mụcĐiều kiệnBả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).
2Nút “Thêm hạng mục”KhôngButtonBấmThêm một dòng hạng mục mới vào bảng.
3Nút “Thêm tiêu hao”KhôngButtonBấmThêm dòng tiêu hao con (vật tư · nhân công · ca máy) trong một hạng mục.
4Nút xóa dòngKhôngButtonBấmXó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òngNhập văn bảnTù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ìnhNơi thực hiện hạng mục (vd Trụ M1, Km2+300)
Nội dung công việcViệc đã làm (vd Đổ bê tông móng trụ cầu)
Đơn vịm³, tấn, m, ca, công…
KL Kế hoạchKhố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ànhTự 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-06Kế 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 khaiMọ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ôiKhông ai khác xem được

Control đặt phạm vi hiển thị và popup "Chọn thành viên":

STTTên controlBắt buộcLoại controlCho phép nhập/chọnMô tả và ghi chú
1Chọn phạm vi hiển thịKhôngMenu 4 mứcChọn 1 mứcMặ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ênKhôngÔ tìmNhập từ khóa“Tìm thành viên công ty…” trong popup “Chọn thành viên”.
3Danh sách thành viênKhôngDanh sách checkboxChọn nhiềuLấ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).
4Bộ đếm đã chọnKhôngNhãnChỉ đọc“Đã chọn N thành viên”.
5Nút “Hủy” / “Xong”KhôngButtonBấ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
  1. Thích: bấm → đổi 🤍 ↔ ❤️, tăng/giảm số lượt thích.
  2. Bình luận: bấm → mở panel; nhập "Viết bình luận..." + Gửi → thêm bình luận.
  3. 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"
STTTên controlBắt buộcLoại controlCho phép nhập/chọnMô tả và ghi chú
1Ô tìm người/nhómKhôngÔ tìmNhậ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.”
2Danh sách “Nhóm”Điều kiệnDanh sách checkboxChọn nhiềuDự á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ở).
3Danh sách “Mọi người”Điều kiệnDanh sách checkboxChọn nhiềuTừ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ắnKhôngÔ nhập nhiều dòngNhập văn bản“Thêm tin nhắn (không bắt buộc)…” gửi kèm khi chia sẻ.
5Bộ đếm đã chọnKhôngNhãnChỉ đọcChân cửa sổ: “Chưa chọn ai” / “Đã chọn N”.
6Nút “Huỷ” / “Chia sẻ”KhôngButtonBấ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-09Chia 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
  1. Trong feed, một bài có ảnh / tờ báo cáo hiển thị album các ô đều cỡ nhau.
  2. Bấm một ô → mở trình xem chung (toàn màn, nền tối).
  3. 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.
  4. 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:

STTTên controlBắt buộcLoại controlCho phép nhập/chọnMô tả và ghi chú
1Album của bàiKhôngLướ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ôngButton + cử chỉBấm / vuốt / phím ← →Lướt qua tờ báo cáo và các ảnh; bộ đếm “k / n”.
3Phóng toKhôngButtonBấm ảnh / nút kính lúpPhó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 xemKhôngButtonBấ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
  1. Vào Tường → dòng bài của tôi, mới nhất trên cùng.
  2. 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).
  3. Bấm ô soạn nhanh → mở popup Đăng bài (mục 1.2).
  4. 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.
  5. 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
STTTên controlBắt buộcLoại controlCho phép nhập/chọnMô tả và ghi chú
1Ô soạn nhanhKhôngButton (điểm vào)BấmPill “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àiKhôngÔ tìmNhập từ khóa“Tìm trong bài đăng…” lọc bài của chính mình.
3Bộ lọc dự ánKhôngDropdown checkbox (chọn nhiều)Chọn giá trịBadge đếm; bộ đếm “N bài” khi đang lọc/tìm.
4Danh sách bài của tôiKhôngDanh sách (grid)Chỉ đọcMỗ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).
5Menu ⋯ trên bàiKhôngMenu ngữ cảnhBấm chọnChỉnh sửa bài viết (mở lại popup) / Xóa bài (BR-BT-12).
6Trạng thái rỗng / cuối feedKhôngNhãnChỉ đọ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-13Chỉ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
  1. 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.
  2. 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.
  3. Tab Giới thiệu: xem thông tin nghề nghiệp công khai.
  4. Bấm Nhắn tin → mở Tin nhắn với người đó.
1.8.2. UI
STTTên controlBắt buộcLoại controlCho phép nhập/chọnMô tả và ghi chú
1Hồ sơ rút gọnKhôngNhãnChỉ đọcAvatar + 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.
2Nút “Nhắn tin”KhôngButtonBấmHành động khả dụng duy nhất với chủ trang → mở Tin nhắn (BR-BT-15).
3Tab “Tường”KhôngTabBấm chọnMặ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 ⋯.
4Tab “Giới thiệu”KhôngTabBấm chọnKhố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:

  1. 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.
  2. 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…?
  3. 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.html mở từ Trang cá nhân / Bảng tin, điều hướng trả về đúng nguồn). Còn lệch trường: trang them-nhat-ky.html chư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à popup compose-modal.js thì có — cần đồng bộ trường giữa hai biến thể.
  4. 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.
  5. 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.
  6. 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.
  7. 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.