Kết quả ba lượt kiểm tra trên bản demo truongso.net/dot và trạng thái sửa từng lỗi.
1. Đóng vai top notch QC, scan 100% source hệ thống vừa build xem có chỗ nào bất thường, thì listing ra + đề xuất hướng giải quyết. 2. Scan 100% các source trong hệ thống để evaluate và listing các nơi có thể improve.(30/09/2026)
check lại 100% các pages ở site này 3 lần nhé, xem có bugs gì không, vì anh gửi link đi demo cho khách hàng rồi đó(02/10/2026)
Do trợ lý AI soạn trong một phiên làm việc; là bản đề xuất để đội sản phẩm và kỹ thuật thảo luận, chưa phải kết luận.
Nguồn:
Giới hạn:
| Lượt | Phạm vi | Số lỗi |
|---|---|---|
| 1. Máy tính | 102 trang · 2.003 nút · 45 biểu mẫu | 29 |
| 2. Điện thoại + iPad | 108 trang × 2 thiết bị | 26 |
| 3. Hành trình khách hàng | 6 hành trình | 40 |
| Tổng | P1 14 · P2 46 · P3 35 · không có P0 | 95 |
Trạng thái ngày 03/10/2026: 94 đã sửa, 1 sửa một phần, 0 còn mở. Nguyên nhân của phần lớn lỗi P1 là hai bộ số liệu tiền chạy song song (đơn hàng mới và hoá đơn học phí cũ); nay đã gộp về một sổ, một lần bán hàng làm mọi màn cùng đổi một số tiền.
| Mã | Mức | Lượt | Lỗi | Trạng thái | Bằng chứng sau khi sửa | |
|---|---|---|---|---|---|---|
P1-01 | P1 | Máy tính | Lịch sử nhập dữ liệu: cột ngày hiện "PP p", tiêu đề và trạng thái tiếng Anh | Đã sửa | Live: headers Tên tệp/Trạng thái/Thời gian, statuses Hoàn thành/Hoàn thành một phần/Thất bại, dates 01/10/2026 09:30. | ảnh |
P1-02 | P1 | Máy tính | Hoá đơn có giảm giá: dòng hoá đơn không khớp tổng tiền | Đã sửa | Live inv_00003u: row 'Giảm giá trên hoá đơn (5%) · Anh chị em -283.500 đ' so lines sum to 5.386.500; Ngày lập 05/09 before hạn 12/09 and receipt 06/09; Thao tác column shows icons, not cut. | ảnh |
P1-11 | P1 | Máy tính | Chốt quỹ ngày chấp nhận bỏ trống "Đếm thực tế" và chốt với 0 đ | Đã sửa | Live: empty 'Đếm thực tế' -> inline 'Nhập số tiền đếm thực tế trước khi chốt.', 0 POST to /close; 'Theo sổ' = 222.117.075 đ (drawer balance). | ảnh |
P1-16 | P1 | Máy tính | Tạo cuộc chat: danh sách lớp bật ra ngoài mép trên màn hình, không chọn được phần lớn lớp | Đã sửa | Live: class listbox opens at y=91..471 inside the 900px viewport, has a search input, 13 options scroll inside the list; dialog stays at y=40. | ảnh |
P1-17 | P1 | Máy tính | Hoá đơn mới tạo có giảm giá %: chi tiết hoá đơn không hiện khoản giảm, dòng không khớp tổng | Đã sửa | Live: new invoice 9.600.000 đ with 10% discount (inv_00008p) -> detail shows row 'Giảm giá trên hoá đơn (10%) · Khuyến mãi -960.000 đ' under the line, Tổng tiền 8.640.000 đ; print uses the same rows. | ảnh |
P3-06 | P1 | Hành trình khách hàng | Bảng điều khiển không thay đổi sau khi bán và thu đủ 4.450.000 đ cho học viên mới | Đã sửa | Live journey (API calls in page, same mock handlers as UI): new student + order 4.800.000 đ (new_sale) paid 2.400.000 cash + 2.400.000 transfer -> Dashboard Doanh thu 521,3 -> 526,1 tr (+39%), Học viên mới 56 -> 57. | |
P3-07 | P1 | Hành trình khách hàng | Báo cáo Doanh thu và thực thu không ghi nhận khoản vừa thu; tiền mặt tháng này 0 đ | Đã sửa | Live: Báo cáo doanh thu Thực thu 77,7 -> 82,5 tr, Tiền mặt 14.350.750 -> 16.750.750 đ, Chuyển khoản 58.405.000 -> 60.805.000 đ, row 03/10/2026 thực thu 19.881.500 -> 24.681.500 đ; equal to Đơn hàng/Phiếu thu (82,5 tr). | |
P3-08 | P1 | Hành trình khách hàng | Hồ sơ học viên: thẻ 'Tổng quan học phí' báo Đã thanh toán 0 đ dù đơn đã thu đủ | Đã sửa | Live student card after the order: Đã thanh toán 4.800.000 đ, Học phí còn lại 4.800.000 đ. | ảnh |
P3-09 | P1 | Hành trình khách hàng | Ô chọn phiếu thu trong popup ngân hàng đẩy popup ra khỏi màn hình; phiếu đầu danh sách không nhìn thấy | Đã sửa | Live 1440×900: bank match dialog stays put; receipt picker list at y=147..527 inside the viewport with a search box; first options (incl. newest PT2610000338) visible and clickable. The list opens upward and covers the dialog title while open. | ảnh |
P3-12 | P1 | Hành trình khách hàng | Số nợ quá hạn và còn phải thu khác nhau giữa các màn tài chính | Đã sửa | Live after reset: Còn phải thu 310,3 tr and Quá hạn 43,7 tr identical on Đơn hàng, Học phí, Báo cáo doanh thu; Công nợ Tổng nợ 43,7 tr; Phiếu thu Quá hạn 6 = 6 overdue orders; Thu tháng 77,7 tr on Đơn hàng/Học phí/Phiếu thu/Báo cáo/KPI. | ảnh |
P3-13 | P1 | Hành trình khách hàng | Doanh thu thực tế trên Chỉ tiêu KPI mâu thuẫn với Bảng điều khiển | Sửa một phần | Live: KPI actuals agree with Dashboard/Orders/Receipts/Report and move with new money. Local (8f240ae): months without a target show '—' instead of '0'. Out of reach: the sample centre's history starts 03/2026 (Quận 1) and 06/2026 (Thủ Đức), so T1–T2 (and T1–T5 for Thủ Đức) have no actuals; setting targets there would show invented misses or need fabricated revenue. | ảnh |
P3-18 | P1 | Hành trình khách hàng | Điểm danh trừ học phí ở thẻ Tổng quan nhưng không trừ ở tab Số dư học phí; hai số còn lại khác nhau ngay cả trước khi điểm danh | Đã sửa | Live stu_0046: card 'Học phí đã dùng 0 đ / còn lại 16.000.000 đ' = tab Số dư 'Tiền đã dùng 0 đ / Tiền còn lại 16.000.000 đ / 60 h' (one balance list; attendance draw/reversal verified in the fix-acad journey). | ảnh |
P3-31 | P1 | Hành trình khách hàng | Lịch sử Import: tiêu đề cột và trạng thái tiếng Anh, cột ngày hiển thị 'PP p' | Đã sửa | Live /crm/imports/history: Vietnamese headers/statuses, dates 01/10/2026 09:30 (same as P1-01). | ảnh |
P3-32 | P1 | Hành trình khách hàng | Trình tạo báo cáo chạy trên bộ dữ liệu riêng, lệch với các màn nghiệp vụ | Đã sửa | Live builder: Phiếu thu 340 rows = Phiếu thu screen 'Tất cả 340'; Đơn hàng 266 = 266; Cuộc gọi 44 = 44; Lịch hẹn 16. | |
P1-03 | P2 | Máy tính | Chi tiết hoá đơn: Nhật ký hiện mã sự kiện và JSON thô, thời gian vô lý | Đã sửa | Local :3064 (91b55b5): journal 02/10 08:42 Lập hoá đơn → 08:42 Gửi đơn → 09:07 Thu tiền PT2610000322 (was 00:46 before the invoice); receipt 09:07; subtitle without leading dot. | ảnh |
P1-04 | P2 | Máy tính | Trang /crm: tiêu đề tiếng Anh, công việc trỏ tới khách hàng "undefined" | Đã sửa | Live /crm: 'Tổng quan tuyển sinh', tiles Công việc hôm nay/Lịch hẹn hôm nay/Gọi lại/Quá hạn 21 (= Công việc Quá hạn 21); 0 links to /undefined. | ảnh |
P1-05 | P2 | Máy tính | Nhật ký hệ thống: mã hành động và mã bản ghi thô | Đã sửa | Live audit log: actions 'Lưu điểm danh', 'Tạo hoá đơn', 'Ghi nhận thanh toán'; objects 'Phiếu điểm danh', 'Hoá đơn học phí 2610000259'; newest row 12:21 at 12:37 local. | ảnh |
P1-06 | P2 | Máy tính | Tạo báo cáo: nguồn dữ liệu là tên bảng kỹ thuật | Đã sửa | Local (88fea43): builder 'Dữ liệu từ phân hệ khác' starts 'Trừ học phí theo điểm danh 992 dòng'; ledger_meta and fallback_balance_usage no longer offered; 0 '(crm)/(sales)/(academics)' raw names. | ảnh |
P1-09 | P2 | Máy tính | Hướng dẫn: nút "Bảng điều khiển" trong tour gây lỗi JS và không làm gì | Đã sửa | Live: tour opened from hub shows 'Mở trang này' which navigates to /vi/students; no pageerror. The other footer chip ('Bảng điều khiển') now opens that tour. | ảnh |
P1-12 | P2 | Máy tính | Biểu mẫu Cài đặt báo lỗi bằng toast che mất nút Lưu, không đánh dấu ô lỗi | Đã sửa | Live Chi nhánh > Thêm chi nhánh empty: 2 fields aria-invalid with 'Tên chi nhánh là bắt buộc', 'Mã chi nhánh là bắt buộc' under the fields; no toast over the buttons. | ảnh |
P1-13 | P2 | Máy tính | Thêm người dùng: tên đăng nhập có dấu cách, chữ hoa, dấu tiếng Việt vẫn được tạo | Đã sửa | Live /staff: username 'QA Tên đăng nhập 3780' blocked inline: 'Chỉ dùng chữ thường không dấu, số, dấu chấm, gạch ngang hoặc gạch dưới (3–40 ký tự)'; drawer stays open, no account created. | ảnh |
P1-18 | P2 | Máy tính | Dữ liệu lớp: 5 lớp vượt sĩ số tối đa, 2 lớp trùng tên "Starters 1B", tab "Đang học" bỏ sót lớp đầy | Đã sửa | Live /classes: 11 classes, 0 over capacity (max 14/14, 12/12), one 'Starters 1B' (other renamed Starters 1D), Đầy classes listed in Đang học tab. | ảnh |
P1-19 | P2 | Máy tính | Buổi học Movers 2A hôm nay lúc 00:03–01:33 (nửa đêm) | Đã sửa | Live /attendance 03/10 (Saturday): sessions 09:00–10:30 and 14:00–16:00 only, no midnight sessions. | ảnh |
P1-20 | P2 | Máy tính | Tạo lớp: lộ ghi chú kỹ thuật "ClassSchedule" và hai dòng breadcrumb | Đã sửa | Live /classes/new: single breadcrumb 'Học vụ > Lớp học > Tạo lớp'; no 'ClassSchedule' text. | ảnh |
P1-21 | P2 | Máy tính | Điểm tích luỹ: tổng số dư điểm âm (-88), "Đã đổi" -180 | Đã sửa | Live loyalty: Số dư điểm 2130, Tích luỹ +2210, Giới thiệu +60, Đã đổi -140; no negative balance. | ảnh |
P1-22 | P2 | Máy tính | Công việc có tiêu đề là chuỗi debug "4417025 / lead_name=… id=… time=…" | Đã sửa | Live /crm/tasks: no 'lead_name=' / '4417025' / 'Call Task' strings; titles like 'Gọi lại Trần Đức Đăng'. | ảnh |
P1-23 | P2 | Máy tính | Tiêu đề cuộc gọi tự sinh bằng tiếng Anh | Đã sửa | Live /crm/calls: subjects 'Gọi đi tới HV tiềm năng · 095*****532'; 0 'Outbound'. | ảnh |
P1-24 | P2 | Máy tính | Nguồn & Kênh: cột Khách hàng luôn 0, mã tự sinh còn dấu tiếng Việt | Đã sửa | Live Nguồn: counts 3/3/4/11/4/1/2…, codes REFERRAL, WALK_IN, TRADE_SHOW (no accents), colour dots shown. | ảnh |
P1-25 | P2 | Máy tính | Thẻ "Khách hàng của tôi" hiển thị mã nguồn thô | Đã sửa | Live dashboard 'Khách hàng của tôi': 'Digital marketing', no trade_show/telesales/referral codes in vi. | ảnh |
P1-26 | P2 | Máy tính | Chi tiết đơn hàng: bảng Sản phẩm bị cắt cột bên phải | Đã sửa | Live order so_00001q at 1440: no clipped cells in Sản phẩm table (0 truncated elements, no horizontal overflow). | ảnh |
P2-05 | P2 | Điện thoại / iPad | Bảng điều khiển trên iPad: nhãn % tràn khỏi thẻ, tiêu đề và biểu đồ bị cắt | Đã sửa | Live iPad 820: sidebar collapses to icon rail, KPI grid 2 columns, '+37%' badge inside the tile, card titles and pie labels readable (one long pie label 'Tiềm n…' ellipsised by the chart). | ảnh |
P2-06 | P2 | Điện thoại / iPad | Sổ quỹ trên iPad: số dư quỹ bị cắt thành "196,…", không đọc được | Đã sửa | Local iPad (33074ba): account names wrap ('Vietcombank 0071000123456', 'MB Bank 8899123456' fully visible); no truncated tile text. | ảnh |
P2-07 | P2 | Điện thoại / iPad | Cài đặt › Dữ liệu trên iPad: 3 thẻ quá hẹp, chữ xuống dòng từng từ và nút bị cắt | Đã sửa | Live iPad settings/data: 0 clipped/overflowing text elements; cards stack, button inside card. | ảnh |
P2-08 | P2 | Điện thoại / iPad | Trang Nhập dữ liệu trên điện thoại: thanh bước và vùng tải tệp bị bóp, chữ xuống dòng vụn | Đã sửa | Live phone crm/imports: 0 clipped elements, no horizontal overflow; steps and upload area stack. | ảnh |
P2-12 | P2 | Điện thoại / iPad | Cài đặt trên iPad dọc: hai menu cạnh nhau chỉ chừa ~290px cho nội dung, chữ xuống dòng từng từ | Đã sửa | Local iPad (6d89a65): 'Loại tin' column 189 px, names on one line ('Nhắc học phí', 'Xác nhận học thử'); sticky while the channel columns scroll. | ảnh |
P2-13 | P2 | Điện thoại / iPad | Ngăn "Tạo hoá đơn" trên điện thoại: ô đơn giá/giảm quá hẹp, chân ngăn tổng tiền bị bóp | Đã sửa | Live phone invoice drawer: line fields 2×2 (SL+VAT, Đơn giá+Giảm dòng) full width; footer 'Tổng cộng 0 đ' on one line above Hủy / Tạo hoá đơn. | ảnh |
P2-14 | P2 | Điện thoại / iPad | Lịch sử Import trên điện thoại: bảng bị cắt cột, tên tệp xuống dòng vụn, nhãn tiếng Anh | Đã sửa | Live phone imports history: card list, labels Trạng thái/Thời gian/Thành công/Thất bại, 'Hoàn thành một phần', dates 01/10/2026 09:30. | ảnh |
P2-15 | P2 | Điện thoại / iPad | Danh sách Đơn hàng trên điện thoại vẫn là bảng desktop, chỉ thấy 2 cột | Đã sửa | Live phone orders: cards with mã đơn, học viên, trạng thái, tổng tiền, đã thu, còn nợ. | ảnh |
P2-17 | P2 | Điện thoại / iPad | Điểm danh buổi học trên điện thoại: nút Có mặt/Muộn/Phép/Vắng nằm ngoài màn hình, tên học viên trôi mất khi vuốt ngang | Đã sửa | Live phone session sheet: one card per student, buttons 'Có mặt / Muộn / Có phép / Vắng' 83×44 px with full labels, no horizontal overflow. | ảnh |
P2-19 | P2 | Điện thoại / iPad | Báo cáo trên iPad: số tổng tràn khỏi thẻ, chồng lên thẻ bên cạnh | Đã sửa | Live iPad rpt_001: totals in a 2×2 grid, 77.732.915 đ etc. inside cards; detail table scrolls horizontally inside its card. | ảnh |
P2-20 | P2 | Điện thoại / iPad | Hồ sơ HV tiềm năng trên iPad: hàng thông tin chồng chữ, số điện thoại xếp từng chữ một dòng | Đã sửa | Live iPad lead cus_00000l: 0 clipped/overlapping text elements; fact row wraps. | ảnh |
P2-21 | P2 | Điện thoại / iPad | Nhân sự và phân quyền trên điện thoại: ô tìm kiếm bị bóp còn ~20px, nút "Lọc thêm" đè lên | Đã sửa | Live phone /staff: search input 237 px wide on its own row, 'Lọc thêm' not overlapping; 0 clipped elements. | ảnh |
P3-01 | P2 | Hành trình khách hàng | Buổi học thử đặt từ hồ sơ Lead không hiện ở trang Học thử | Đã sửa | Live: demo appointment Q1-DEMO-07/10/2026-01 (Lịch hẹn) is listed on Học thử for Vũ Minh Kiên, with Đổi buổi / Huỷ / Chuyển đổi actions. | ảnh |
P3-03 | P2 | Hành trình khách hàng | Khối 'Khách hàng của tôi' trên Bảng điều khiển hiện mã nguồn thô | Đã sửa | Live dashboard 'Khách hàng của tôi': 'Digital marketing', 'Hội thảo, sự kiện' (no trade_show/telesales/referral/advertisement in vi). | ảnh |
P3-04 | P2 | Hành trình khách hàng | Bước 'Lớp & gói' khi chuyển đổi: nhiều lớp mẫu vượt sĩ số (21/12, 19/12, 17/14) | Đã sửa | Live /classes and class-fill: every class ≤ capacity (max 12/12, 14/14), so the convert step can suggest classes with free seats (Starters 1D 11/12, Flyers 1B 9/12...). | ảnh |
P3-10 | P2 | Hành trình khách hàng | Không khớp được chuyển khoản đợt 2 trên Giao dịch ngân hàng: phiếu 'Chờ duyệt' không có trong 'Nhận giao dịch mới' | Đã sửa | Live: transfer receipt PT2610000339 in 'Chờ duyệt' -> bank-transactions/simulate on Vietcombank auto-matched it -> status Đã thu; audit 'Khớp chuyển khoản'. | |
P3-11 | P2 | Hành trình khách hàng | Số tài khoản Vietcombank không thống nhất: VietQR 1029384756 nhưng Sổ quỹ ghi tiền vào 0071000123456 | Đã sửa | Live: one Vietcombank account 0071000123456 for VietQR/bank accounts and Thu chi (balance 637 -> 639,4 tr after the matched transfer). | |
P3-19 | P2 | Hành trình khách hàng | Buổi mới điểm danh 3/18 đã hiện 'Đã điểm danh' ở danh sách Điểm danh | Đã sửa | Live: marked 3/14 in Flyers 1A 03/10 09:00 -> sheet 'đã điểm danh 3/14', list 'Điểm danh một phần · 3/14' with 'Tiếp tục điểm danh'. | ảnh |
P3-20 | P2 | Hành trình khách hàng | Dữ liệu mẫu: hai buổi tối nay 22:08–23:38 và 22:58–00:28 đã 'Đã điểm danh' từ sáng | Đã sửa | Live /attendance 03/10 at 12:37: today only 09:00–10:30 and 14:00–16:00 sessions; none at 22:xx or past midnight; morning sessions 'Chưa điểm danh', no future session marked. | ảnh |
P3-22 | P2 | Hành trình khách hàng | Điểm vừa nhập ở Bảng điểm không hiện trong tab Học tập của học viên | Đã sửa | Live stu_0121 Học tập tab: 'Bảng điểm Starters 1B – YLE Progress 1 · 23/09/2026 11/15 Giỏi Bản nháp, Listening 3,5/5, Reading & Writing 3,5/5, Speaking 4/5'. | ảnh |
P3-23 | P2 | Hành trình khách hàng | Điểm dùng dấu chấm thập phân (10.72, 12.75, 3.5) thay vì dấu phẩy | Đã sửa | Live gradebooks: Điểm TB 10,72 / 11,68 / 11,86 (comma). | ảnh |
P3-28 | P2 | Hành trình khách hàng | Công việc: loại việc tiếng Anh ('Call Task', 'Meeting Task', 'Email Task') và tiêu đề thô 'lead_name=… id=… time=…' | Đã sửa | Live /crm/tasks: 0 'Call Task' / 'Meeting Task' / 'Email Task', 0 'lead_name='; types shown 'Gọi điện', 'Họp', 'Email'. | ảnh |
P3-29 | P2 | Hành trình khách hàng | Cuộc gọi: tiêu đề tự sinh tiếng Anh 'Outbound Call to …' | Đã sửa | Live /crm/calls: 38 Gọi đi rows titled 'Gọi đi tới HV tiềm năng · 095*****532' etc.; 0 'Outbound'. | ảnh |
P3-33 | P2 | Hành trình khách hàng | Trình tạo báo cáo hiện tên bảng kỹ thuật tiếng Anh (lead_profiles, cj_templates, gradebook_groups…) | Đã sửa | Same change as P1-06 (88fea43). | ảnh |
P3-34 | P2 | Hành trình khách hàng | Quy trình tự động đang bật nhưng không chạy khi tạo đơn và thu tiền | Đã sửa | Live: automation prc_02 got runs #1469 PT2610000338 and #1470 PT2610000339 · Đinh Quang Thịnh 'Hoàn thành' right after each payment; 'Gửi hôm nay' 1 -> 3. | |
P3-35 | P2 | Hành trình khách hàng | Trang chủ Tuyển sinh: nhãn tiếng Anh và số quá hạn sai (QUÁ HẠN 0 trong khi Công việc có 21 việc quá hạn) | Đã sửa | Live /crm: 'Tổng quan tuyển sinh', tiles in Vietnamese, 'Quá hạn 21' = Công việc 'Quá hạn 21'. | ảnh |
P3-36 | P2 | Hành trình khách hàng | Bản tiếng Anh còn tiêu đề và nhãn cố định tiếng Việt, số tiền theo định dạng Việt | Đã sửa | Local /en (d5bb353): roles Owner/Branch manager/Accountant/Viewer (+ 'Cloned from Academic admin'), lead stage chips 'New contact'/'Trial', holidays 'National Day', 'Lunar New Year', staff 'Teacher · Teaching', money '521,325,575 VND'. Not translated on purpose: names a centre types itself (branch 'Chi nhánh Quận 1', room 'Trực tuyến', product categories) are tenant data, stored in one language. | ảnh |
P3-37 | P2 | Hành trình khách hàng | Nhật ký hệ thống có giờ ở tương lai, hành động là mã thô, thiếu thao tác bán hàng vừa làm | Đã sửa | Local (6379a51): Đối tượng for transfer.matched shows 'Giao dịch ngân hàng' (en 'Bank transaction'), e-invoice rows 'Hoá đơn điện tử'. Rest already fixed live. | |
P3-39 | P2 | Hành trình khách hàng | Báo cáo lấp đầy lớp hiển thị lớp vượt sĩ số 121–175% (tô đỏ) | Đã sửa | Live class-fill: max 100% (Movers 2B 12/12, Starters 1B 12/12, Flyers 1A 14/14); none over capacity. | ảnh |
P3-40 | P2 | Hành trình khách hàng | Các thẻ KPI tài chính tô đỏ trên màn đầu tiên khách mở (công nợ, phải thu, chưa khớp) | Đã sửa | Live: overdue debt 43,7 tr vs dashboard revenue 30 ngày 521,3 tr (8%, was 69%); Chờ duyệt 29,3 tr; Chưa khớp 16,6 tr. Debt amounts in table still in red tone (by design for overdue). | ảnh |
P1-07 | P3 | Máy tính | Tên đăng nhập mất chữ Đ | Đã sửa | Live users: duc.van.pham@..., anh.duc.bui@... (Đ -> d). | ảnh |
P1-08 | P3 | Máy tính | Danh mục hiển thị khoá kỹ thuật, tiêu đề cột bị cắt | Đã sửa | Local (d02ec70): value table 564 px inside a 564 px card, no horizontal scroll; actions column (up/down/remove) fully visible. | ảnh |
P1-10 | P3 | Máy tính | Hướng dẫn: tiến độ "Đã xem x/64" không ghi nhận tour đã xem hết | Đã sửa | Live: hub 'Đã xem 0/64' -> ran Bảng điều khiển tour to the end, pressed 'Xong' -> hub 'Đã xem 1/64'. | ảnh |
P1-14 | P3 | Máy tính | Thêm ngày nghỉ (Cài đặt Trung tâm) không báo gì khi để trống | Đã sửa | Live Cài đặt > Trung tâm > Thêm ngày nghỉ empty: inline 'Chọn ngày nghỉ' / 'Nhập tên ngày nghỉ', field aria-invalid. | ảnh |
P1-15 | P3 | Máy tính | Dòng giáo viên có con trỏ bấm được nhưng bấm không mở hồ sơ | Đã sửa | Live: click on a non-name cell of the first teacher row opens /vi/hr/teachers/hrt_024. | |
P1-27 | P3 | Máy tính | Bảng Vai trò bị cắt cột bên phải | Đã sửa | Live Vai trò at 1440: 0 clipped cells (icon actions). Role code 'QA5498' blocked inline: 'Mã chỉ gồm chữ thường không dấu, số và dấu gạch dưới'. | ảnh |
P1-28 | P3 | Máy tính | Màn Hôm nay (giáo viên): thanh điều hướng dưới trôi giữa trang và che thẻ buổi học | Đã sửa | Live /teach/today 1440×900: bottom tab bar display:none on desktop. | ảnh |
P1-29 | P3 | Máy tính | Chỉ tiêu KPI: thẻ "Đạt chỉ tiêu 2/2" trong khi tiến độ mới 12–13% | Đã sửa | Live /targets: tile 'Đúng tiến độ 2/2 · Đúng tiến độ đến ngày 3/31 của tháng'. | ảnh |
P2-01 | P3 | Điện thoại / iPad | Lỗi JavaScript "ti" khi đóng sớm hướng dẫn "Tạo đơn hàng" | Đã sửa | Live phone: opened 'Tạo đơn hàng' tour and pressed Esc after 0.6 s and 1 s (2/2 runs): 0 pageerrors. | |
P2-02 | P3 | Điện thoại / iPad | Bước cuối của hướng dẫn không có nút "Xong", chỉ có "Xem lại" | Đã sửa | Live: last step shows primary 'Xong' with 'Xem lại' as secondary. | ảnh |
P2-03 | P3 | Điện thoại / iPad | Khung minh hoạ trong hướng dẫn bị cắt mất chữ ở mép trái | Đã sửa | Local phone (44e00fa): step 3 frame no longer zooms; 'Lớp (phổ thông)', 'Trình độ hiện tại', 'Số điện thoại' complete; spotlight kept. | ảnh |
P2-04 | P3 | Điện thoại / iPad | Menu bên trên điện thoại không đóng bằng phím Esc | Đã sửa | Live phone: sidebar opened (menu links visible) -> Esc -> closed. | ảnh |
P2-09 | P3 | Điện thoại / iPad | Công việc hiển thị chuỗi dữ liệu thô "lead_name=… id=… time=…" làm tiêu đề/mô tả | Đã sửa | Live phone /crm/tasks: no 'lead_name=' / '4417025' text. | ảnh |
P2-10 | P3 | Điện thoại / iPad | Cuộc gọi: tiêu đề trộn tiếng Anh "Outbound Call to HV Tiềm năng" | Đã sửa | Live phone /crm/calls: 'Gọi đi tới HV tiềm năng · 095*****…'; 0 'Outbound'. | ảnh |
P2-11 | P3 | Điện thoại / iPad | Ma trận quyền trong "Tạo vai trò" chỉ thấy 2/4 cột phạm vi trên điện thoại | Đã sửa | Live phone Tạo vai trò: matrix uses one scope select per permission (71 selects), 0 elements overflow the screen. | ảnh |
P2-16 | P3 | Điện thoại / iPad | Mở thẳng dashboard/drill-down hiện "Danh mục không hợp lệ" | Đã sửa | Live: /dashboard/drill-down without params redirects to /dot/vi/dashboard. | |
P2-18 | P3 | Điện thoại / iPad | Thanh tab dưới của "Hôm nay" (giáo viên) không chạm đáy màn hình, nội dung lộ ra bên dưới | Đã sửa | Live phone /teach/today: bar position fixed, bottom = 844 (flush with viewport); no sessions past midnight. iPad: bar hidden (desktop layout). | ảnh |
P2-22 | P3 | Điện thoại / iPad | Nút chính và nút biểu tượng nhỏ hơn 40px | Đã sửa | Local phone (f010988): 'Tạo bảng điểm' 40 px high, row icon buttons 40×40, Lọc thêm 40, sidebar rows 40, top-bar search/guide/bell/avatar 40×40. Left < 40 px: inline text links (student name, phone number, mock banner link). | ảnh |
P2-23 | P3 | Điện thoại / iPad | Chữ dưới 12px ở nhãn trạng thái, bộ đếm và chữ viết tắt ảnh đại diện | Đã sửa | Local phone /students (f010988): 0 text nodes under 12 px (status chips, sidebar group labels, ⌘K, bell count now 12 px). | |
P2-24 | P3 | Điện thoại / iPad | Ô nhập trong ngăn trên iPad dùng chữ 14px nên Safari iPad tự phóng to khi chạm | Đã sửa | Live iPad Thêm học viên: every text/tel/email input and textarea 16px (select triggers 13.5px are buttons, no zoom). | |
P2-25 | P3 | Điện thoại / iPad | Mỗi trang phát ~24 yêu cầu prefetch (_rsc) trả 404, hiện lỗi đỏ trong console | Đã sửa | Local production build (aa9f2cf, next build --webpack + next start): phone dashboard 0 prefetch requests (live: 4 on load, 8 after one click, all 404 through the proxy); clicking a tile still navigates (1 normal RSC fetch). Infra alternative: forward Next-Router-Segment-Prefetch in the truongso.net/dot rewrite. | |
P2-26 | P3 | Điện thoại / iPad | Trang Tuyển sinh tổng quan có tiêu đề tiếng Anh "Dashboard", nhãn "TASK / MEETING / CALLBACK" | Đã sửa | Live phone /crm: 'Tổng quan tuyển sinh', tiles 'Công việc hôm nay / Lịch hẹn hôm nay / Gọi lại / Quá hạn'. | ảnh |
P3-02 | P3 | Hành trình khách hàng | Thời lượng cuộc gọi 8 phút hiển thị '8:00' (dễ đọc thành 8 giờ) | Đã sửa | Live /crm/calls: durations '8 phút 04 giây', '1 phút 13 giây', '0 giây' (no 8:00). | ảnh |
P3-05 | P3 | Hành trình khách hàng | Lịch chọn Ngày sinh cho phép năm tới 2036 | Đã sửa | Live convert (cus_00000l): Ngày sinh year list 1940–2026 (no future years). | ảnh |
P3-14 | P3 | Hành trình khách hàng | Khối tổng tiền đơn hàng ghi 'Đã thu -2.000.000 đ' (dấu âm) | Đã sửa | Live order after 1 cash payment: 'Đã thu 2.400.000 đ' (no minus) in header and totals; drawer line shows voucher amount separately (order-drawer voucherLine). | ảnh |
P3-15 | P3 | Hành trình khách hàng | Xuất hoá đơn điện tử: tên người mua mặc định là học viên (trẻ 10 tuổi), email phụ huynh không điền sẵn | Đã sửa | Live: Xuất hoá đơn from PT2610000329 (student Huỳnh Khánh Trang) pre-fills buyer 'Bùi Thị Linh' (paying parent) and email [email protected]. | ảnh |
P3-16 | P3 | Hành trình khách hàng | Voucher NEWYEAR27 ghi 'Còn hiệu lực' dù hiệu lực từ 06/01/2027 | Đã sửa | Live vouchers: NEWYEAR27 'Sắp áp dụng' 06/01/2027 – 05/02/2027. | ảnh |
P3-17 | P3 | Hành trình khách hàng | Giao dịch ngân hàng mẫu có giờ ở tương lai | Đã sửa | Live 12:39: top bank transaction 03/10/2026 12:32 (before now); seeded times clamped to the past. | |
P3-21 | P3 | Hành trình khách hàng | Phiếu điểm danh cho bấm chọn trước giờ học rồi mới báo lỗi khi lưu; không có nút 'Có mặt tất cả' | Đã sửa | Live at 12:57: Starters 1D 14:00 sheet says 'Điểm danh mở lúc 13:30 ngày 03/10/2026, 30 phút trước giờ học. Các ô điểm danh đang khoá.'; 'Có mặt tất cả' button present (disabled until open). | ảnh |
P3-24 | P3 | Hành trình khách hàng | Xếp lớp: hai lớp cùng tên 'Starters 1B', gói học phí không cho chọn số dư đã đóng | Đã sửa | Live Xếp lớp for Huỳnh Anh Sơn: each class shows its code (STA-2608-01, STA-2608-02...) and 'Khác trình độ hiện tại (MOVERS)' warning; only one Starters 1B. Paid-balance option comes from the order (fix-acad 5753da6). | ảnh |
P3-25 | P3 | Hành trình khách hàng | Tin nhắn tự soạn gửi phụ huynh không có trong tab mặc định 'Gửi đa kênh', chỉ nằm trong 'Nhật ký tự động' | Đã sửa | Local (2216596): custom message from Huỳnh Anh Sơn's profile is listed in the default 'Gửi đa kênh' tab ('Zalo · Bùi Minh Long · Lịch học tuần sau… · Đã gửi'); 'Nhật ký tự động' no longer lists it (0 rows) unless the type filter 'Tin tự soạn' is chosen (1 row). | ảnh |
P3-26 | P3 | Hành trình khách hàng | Dữ liệu mẫu giáo viên lạc đề với trung tâm tiếng Anh | Đã sửa | Live teachers: subjects Khoá tiêu chuẩn / Premium / TOEFL; no Thể thao, nấu ăn, tiếng Pháp, Dã ngoại. | ảnh |
P3-27 | P3 | Hành trình khách hàng | Ma trận quyền hiện mã kỹ thuật dưới mỗi quyền (customers.view, crm.placement_tests.create…) | Đã sửa | Live roles: no codes in list (branch_manager/le_tan hidden), Giáo viên edit drawer shows no permission codes. | ảnh |
P3-30 | P3 | Hành trình khách hàng | Danh sách nhân sự ghi 'Teacher · Giảng dạy' | Đã sửa | Live /staff vi: 'Giáo viên · Giảng dạy' (0 'Teacher'). | ảnh |
P3-38 | P3 | Hành trình khách hàng | Sức khoẻ: số đo dùng dấu chấm thập phân (133.5, 18.6, 9.3) | Đã sửa | Local (43d13cd): the dotted column was Tuổi; now 8,3 / 8,6 / 9,3; weight/height/BMI already comma. | ảnh |
Ghi nhận thêm trong lúc kiểm tra lại, chưa nằm trong 95 lỗi:
Những điểm không phải lỗi hiển thị nhưng cần làm trước khi đưa vào dùng thật. Công sức: S vài giờ, M vài ngày, L vài tuần.
| Hạng mục | Hiện trạng | Đề xuất | Công sức |
|---|---|---|---|
| Kết nối backend thật | Toàn bộ dữ liệu đang chạy trên dữ liệu mẫu trong trình duyệt. Khoảng 550 endpoint chỉ có ở lớp giả lập; quy tắc tính giá, số dư, điểm danh nằm trong lớp này. | Viết đặc tả API từ lớp giả lập (đã có kiểu dữ liệu), chuyển quy tắc tiền và số dư sang backend, dùng giao dịch thật thay cho chụp/khôi phục dữ liệu. | L |
| Phân quyền theo vai trò | Bảng quyền 10 vai trò lưu được nhưng chỉ trang Giáo viên kiểm tra quyền; các trang khác mở cho mọi vai trò. | Một danh mục mã quyền chung, kiểm tra ở cả nút thao tác và API; thêm quyền theo phạm vi (của tôi / chi nhánh / tất cả). | M |
| Kiểm thử tự động | Chưa có tệp kiểm thử nào. Ba lượt QC tay tìm 95 lỗi. | Đưa các kịch bản QC (hành trình bán hàng, xếp lớp, điểm danh) thành kiểm thử Playwright chạy trong CI; kiểm thử đơn vị cho bộ tính giá và sổ quỹ. | M |
| Dữ liệu mẫu quá lớn cho Safari | Dữ liệu mẫu lưu trong trình duyệt khoảng 3,9 triệu ký tự. Chrome đủ chỗ; Safari trên iPhone/iPad có thể đầy, khi đó thay đổi trong buổi demo mất sau khi tải lại. | Nén dữ liệu khi lưu hoặc chuyển sang IndexedDB; hiện thông báo khi không lưu được. | S |
| Tải trang nặng | Thư viện Excel (xlsx, exceljs) nạp ngay khi mở trang dù chỉ dùng lúc xuất tệp. | Nạp thư viện khi người dùng bấm Xuất/Nhập (dynamic import). | S |
| Mã cũ không còn dùng | Một phần mã CRM cũ (danh sách khách hàng dạng bảng kéo thả, trang kiểm tra xếp lớp cũ) không còn trang nào gọi tới. | Xoá mã chết để giảm nhầm lẫn khi bảo trì. | S |
| Proxy truongso.net/dot | Proxy bỏ header Next-Router-Segment-Prefetch nên các yêu cầu tải trước bị 404; bản hiện tại đã tắt tải trước để tránh lỗi. | Chuyển tiếp header này trong rewrite của truongso.net rồi bật lại tải trước. | S |