หลังกดบันทึกแล้วเพิ่งรู้ตัวว่าตกศูนย์ — เปิดหน้า ประวัติ ใส่ชื่อนักเรียนในช่องค้น เห็น row "5" ทันที ย้อนกลับไปแก้ในหน้ากรอกคะแนนได้ถูกตัวเลข
ประวัติการแก้ไขคะแนน
หน้านี้เป็น สมุดบันทึก ที่ระบบจดให้อัตโนมัติทุกครั้งที่ครูกด บันทึกคะแนน ในห้อง — ไม่ว่าจะ เพิ่ม แก้ไข หรือลบช่องคะแนน ครูสามารถย้อนดูได้ว่าวันไหนแก้ใครเป็นค่าอะไร เผลอกรอกผิดก็เปิดมาตรวจได้ เห็นเฉพาะการกระทำของตัวเอง ในห้องของตัวเอง ไม่มีข้อมูลของครูคนอื่นหรือห้องอื่นปะปนมา
ภาพรวมของหน้า
โครงสร้าง 3 ส่วน: filter bar ด้านบน · กริดการ์ดประวัติ · ปุ่มเปลี่ยนหน้าด้านล่าง
ส่วนต่างๆ ที่เห็นในหน้า
- หัวข้อ + คำอธิบาย — ชื่อ "ประวัติการแก้ไขคะแนนของฉัน" บอกขอบเขตชัดเจนว่าเป็นของครูคนนี้ในห้องนี้เท่านั้น
- Filter bar — แถบสำหรับกรอง 4 ช่อง (ดูข้อ 2)
- สรุปจำนวน — บอก "แสดง 1 – 50 จากทั้งหมด 123 รายการ" ช่วยให้รู้ว่าผลลัพธ์ใหญ่แค่ไหน
- กริดการ์ดประวัติ — แต่ละการ์ด = 1 การกระทำ เรียงใหม่ก่อน → เก่าทีหลัง (กริด 4 คอลัมน์บนจอใหญ่ → 1 คอลัมน์บนมือถือ)
- ปุ่มเปลี่ยนหน้า (Pagination) — ขึ้นเมื่อมีมากกว่า 50 รายการ
กรองหาเฉพาะรายการที่ต้องการ
4 ช่องฟิลเตอร์รวมกันได้หมด — กรอกอันไหนกรอกอันนั้น ที่เหลือเว้นว่างได้
ช่อง 'นักเรียน' — พิมพ์ชื่อ รหัส หรือเลขที่
ช่องค้นหาทางซ้ายสุด รับได้ 3 อย่าง ในกล่องเดียว:
- ชื่อ — เช่น "สมชาย" (พิมพ์บางส่วนของชื่อก็ได้)
- รหัสนักเรียน — เช่น "67012345"
- เลขที่ ในห้อง — เช่น "12"
ระบบจะค้นหาทั้ง 3 ฟิลด์พร้อมกัน — เจอแบบไหนแบบนั้นก็ขึ้น (ถ้าไม่เจอเลยจะขึ้นเป็น empty state)
ช่อง 'การกระทำ' — เลือกชนิด
เลือก dropdown ได้ 4 ค่า:
- ทั้งหมด (default) — โชว์ทุกชนิด
- บันทึก — เฉพาะตอนที่กรอกคะแนนช่องที่เคยว่างเป็นค่าใหม่
- แก้ไข — เฉพาะตอนที่เปลี่ยนคะแนนเดิมเป็นค่าใหม่
- ลบ — เฉพาะตอนที่ล้างค่าในช่องที่เคยมีคะแนน
ช่วงวันที่ — 'ตั้งแต่' / 'ถึง'
เลือกวันที่จาก date picker ได้ทั้ง 2 ช่อง — กรอกแค่ช่องเดียวก็ได้ (เช่นกรอกเฉพาะ "ตั้งแต่" แปลว่า "ตั้งแต่วันนั้นถึงปัจจุบัน")
ใช้บ่อยตอนต้องการเปิดดูเฉพาะ "เมื่อวาน" หรือ "สัปดาห์ที่กรอกผิดสุด" โดยไม่อยากเลื่อนผ่านรายการเก่าๆ
กดปุ่ม 'กรอง' หรือ 'ล้าง'
- กรอง (เหลือง) — รวบทุกค่าในฟอร์มแล้วโหลดหน้าใหม่ URL จะมี query string ให้แชร์/บุ๊กมาร์กได้
- ล้าง (ขาว) — รีเซ็ตทุกช่องและกลับไป default (ดูทุกรายการของห้องนี้)
อ่านการ์ดประวัติ 1 ใบ
แต่ละการ์ดคือการกระทำ 1 ครั้ง — มี ribbon ระบุชนิด + วันเวลา + วิชา · นักเรียน + ส่วน diff
Ribbon มุมซ้ายบน บอกชนิด action
แต่ละการ์ดมีป้ายเฉียงเล็กๆ มุมซ้ายบน เลียนแบบ HubCard เพื่อแยกชนิดให้เห็นไวๆ โดยไม่ต้องอ่านเนื้อในการ์ด:
- ribbon มินต์ 'บันทึก' — เพิ่มคะแนนใหม่ในช่องว่าง
- ribbon ฟ้า 'แก้ไข' — เปลี่ยนค่าเดิมเป็นค่าใหม่
- ribbon ชมพู 'ลบ' — ล้างค่าออก (เหลือเป็นว่าง)
วันเวลา · วิชา · นักเรียน
หัวการ์ดมุมขวาบนแสดง วันและเวลา ที่ทำ (รูปแบบไทย — "22 พ.ค. 2569 14:35")
ใต้หัวข้อมี 2 แถว:
- วิชา + หมวด — เช่น "วิชาคณิตศาสตร์ · กลางภาค" (หมวด: ก่อนกลางภาค · กลางภาค · หลังกลางภาค · ปลายภาค หรือ "ทั่วไป")
- ชื่อนักเรียน
ส่วน diff — ดูว่าค่าเปลี่ยนไปยังไง
ภายในกล่องครีมด้านล่าง แสดงค่าก่อน-หลัง ตามชนิด action:
- บันทึก (create) — โชว์เฉพาะ คะแนนใหม่ (ป้ายมินต์เด่น) เพราะของเดิมเป็นช่องว่าง ไม่มี
- แก้ไข (update) — โชว์ "45 → 50" ค่าเก่าเป็นป้ายพีชขีดฆ่า → ลูกศร → ค่าใหม่เป็นป้ายมินต์
- ลบ (delete) — โชว์เฉพาะ คะแนนเดิม (ป้ายพีชขีดฆ่า) บอกชัดๆ ว่าค่าอะไรเพิ่งหายไป
ถ้าครูเพิ่ม/แก้/ลบ หมายเหตุ ของช่องนั้นด้วย จะมีบรรทัด "หมายเหตุ: ... → ..." ขึ้นเพิ่มในรูปแบบเดียวกัน
ตัวอย่างการใช้งานจริง
3 สถานการณ์ที่หน้านี้ช่วยครูได้
อยากตรวจว่ากรอกครบทุกคนหรือยัง — ใส่ ตั้งแต่ = วันที่สอบ เลือก action 'บันทึก' → เห็นรายชื่อทุกคนที่ลงคะแนนสำเร็จในช่วงนั้น
กรอง action 'ลบ' → เห็นรายการที่เคยล้างทิ้งและค่าที่เคยมี จะได้รู้ว่าต้องไปกรอกกลับเป็นเลขอะไร
กรณีพิเศษ + ข้อจำกัด
สิ่งที่ทำได้และทำไม่ได้ในหน้านี้
ลบคะแนนถาวร แต่ประวัติยังอยู่
แม้คะแนนเดิมจะถูกลบไปแล้วในตารางหลัก การ์ดประวัติยังคงอยู่ และโชว์ชื่อวิชา/นักเรียนได้ถูกต้อง เพราะระบบเก็บข้อมูลตอนนั้นไว้ครบในตัว log
ห้องคนอื่น เข้าไม่ได้
ถ้าพยายามดู URL ของห้องที่ไม่ใช่ของตัวเอง (เช่น เพื่อนแชร์ลิงก์มา) ระบบจะขึ้น 404 ไม่หลุดข้อมูลห้องเพื่อน
ในทางกลับกัน admin ก็ ไม่เห็นในหน้านี้ ของครู — admin มีหน้า audit ของตัวเองแยก
จะกู้คืนคะแนนที่ลบไปแล้วทันทีไม่ได้
หน้านี้เป็น หน้าดูอย่างเดียว — ไม่มีปุ่ม "ย้อนกลับ" หรือ "กู้คืน" ในตัว ถ้าต้องการกรอกค่าเดิมกลับมา ให้กลับไปที่หน้า บันทึกคะแนน แล้วกรอกใหม่ตามตัวเลขที่อ่านจากการ์ดประวัติ
ไม่เห็นรายการที่เพิ่งทำ?
- เช็คว่า กดบันทึก ในหน้ากรอกคะแนนหรือยัง — ถ้ายังไม่กด ระบบยังไม่ลง audit
- เช็คว่าฟิลเตอร์ตั้งไว้กว้างพอ — ลองกด ล้าง ก่อน
- เปลี่ยนหน้า paginator → ดูหน้าแรก (รายการใหม่สุดอยู่หน้าแรก)
เปลี่ยนหน้า (Pagination)
แต่ละหน้าโชว์สูงสุด 50 รายการ
ปุ่ม 'ก่อนหน้า' / 'ถัดไป' + ตัวบอกหน้า
เมื่อรายการ เกิน 50 ระบบจะตัดเป็นหน้า ปุ่มเลื่อนหน้าจะขึ้นด้านล่างกริด
- ก่อนหน้า — ถอยกลับ 1 หน้า (disable ตอนอยู่หน้า 1)
- หน้า X / Y — บอกว่ากำลังอยู่หน้าไหนจากทั้งหมด
- ถัดไป — ไปหน้าถัดไป (disable ตอนถึงหน้าสุดท้าย)
ฟิลเตอร์ที่ตั้งไว้จะ ยังคงอยู่ เวลาเปลี่ยนหน้า — ไม่ต้องตั้งใหม่
สรุปสิ่งที่ทำได้ / ทำไม่ได้
| สิ่งที่อยากทำ | ทำได้ในหน้านี้ไหม |
|---|---|
| ดูประวัติการแก้คะแนนของห้องที่ตัวเองสอน | ✅ ได้ |
| กรองตามชื่อ/รหัส/เลขที่นักเรียน | ✅ ได้ |
| กรองตามชนิด (บันทึก/แก้/ลบ) | ✅ ได้ |
| กรองตามช่วงวันที่ | ✅ ได้ |
| ดูประวัติของห้องครูคนอื่น | ❌ 404 |
| ดูประวัติการ เพิ่ม/ลบ นักเรียน หรือ การแก้รายวิชา | ❌ ตอนนี้ครอบเฉพาะ คะแนน |
| กดย้อนกลับ (undo / rollback) จากในหน้านี้ | ❌ ดูอย่างเดียว — ต้องไปกรอกเองที่หน้าบันทึกคะแนน |
| ส่งออกประวัติเป็นไฟล์ (CSV/Excel) | ❌ ยังไม่มี — เร็วๆ นี้ |