4B

มุมมอง Client Owner ในหน้ารายการ

เห็นอะไร ทำอะไรได้ — เวลาเข้าหน้ารายการของตัวเอง

👨‍💼 Client Owner ที่ได้รับมอบสิทธิ์ในรายการแข่ง

4B.1 Client Owner คือใคร?

Client Owner คือผู้ใช้ที่ได้รับ "สิทธิ์เจ้าของรายการ" เฉพาะรายการแข่งใดรายการหนึ่ง (ไม่ใช่ทั้งเว็บ)

ตัวอย่างสถานการณ์

💡 ต่างจาก Staff Admin ตรงไหน?

Staff Admin = สิทธิ์ทั่วทั้งระบบ ทำได้ทุกรายการ
Client Owner = สิทธิ์เฉพาะรายการที่ได้รับมอบหมาย รายการอื่นเป็น user ปกติ

วิธีรู้ว่าคุณเป็น Client Owner ของรายการไหน

เปิดหน้ารายการ — ถ้าเห็น แท็กสีฟ้าเขียนว่า:

👨‍💼 You are viewing as: Client Owner

แท็กนี้ขึ้นใต้ชื่อรายการ บอกชัดว่าคุณกำลังดูในฐานะเจ้าของรายการ

4B.2 เมื่อเปิด "หน้ารายละเอียดรายการ" จะเห็นอะไร?

เริ่มจากบนลงล่าง:

match detail admin view

รูปที่ 4B.2 — หน้ารายการที่ Client Owner เห็น (พร้อมปุ่มจัดการพิเศษ)

ส่วนที่ "เพิ่มขึ้น" จากที่ user เห็น

ตำแหน่งสิ่งที่เห็นกดแล้วไป
มุมขวาบน🔴 ปุ่ม "ระบบบันทึกคะแนน" (เฉพาะตอนรายการ "กำลังแข่งขัน")หน้าป้อนคะแนนสด
มุมขวาบน✏️ ปุ่ม "แก้ไขข้อมูล" (ทุกสถานะ)หน้าแก้ไขรายการ
ใต้ชื่อรายการ🏷️ แท็กสีฟ้า "Client Owner"
แต่ละ tabปุ่มจัดการเพิ่มเติม (รายละเอียดด้านหน้า 4B.3 - 4B.8)

ส่วนที่เห็น "เหมือนเดิม" กับ user

4B.3 Tab "รายชื่อผู้สมัคร" — สิ่งที่ Client Owner ทำได้

นี่คือ tab ที่ Client Owner ใช้บ่อยที่สุด เพราะรวมงาน ดูผู้สมัคร + อนุมัติสลิป + ปรับสถานะ

ปุ่มและฟีเจอร์ที่เห็น (ที่ user ไม่เห็น)

➕ ปุ่ม "เพิ่มรายชื่อทีละคน"

คลิก → กล่องสีขาวเปิดขึ้นมา ใส่ข้อมูลทีม (รุ่น, ชื่อทีม, ผู้เล่นคนที่ 1, ผู้เล่นคนที่ 2, เบอร์) → กด "บันทึก"

ใช้เมื่อ: มีคนแจ้งสมัครผ่าน LINE/โทร แต่ไม่สมัครเองในเว็บ — Client Owner กรอกแทน

🔍 ปุ่ม "ตรวจสอบสลิปการชำระเงิน"

ขึ้นเมื่อรายการตั้งค่า payment เป็นแบบ Manual QR และมีสลิปรอตรวจ — ปุ่มแสดงจำนวนสลิปที่รอ (เช่น "🔍 ตรวจสอบสลิป (3)")

คลิก → ไปยังหน้า "ตรวจสอบสลิป" รายชื่อทีมที่ยังรอตรวจ

📊 ตารางผู้สมัคร — คอลัมน์เพิ่ม

นอกจากคอลัมน์ที่ user เห็น (ทีม, ผู้เล่น, รุ่น, สถานะ) — Client Owner เห็นเพิ่ม:

  • 📞 เบอร์โทรศัพท์ ของทีม
  • 📄 สลิปโอนเงิน — ปุ่ม "ดูสลิป" / "Upload"
  • 🖼️ รูปผู้เล่น (ถ้ามี) — กดดูภาพได้
  • 🔧 สถานะแบบ dropdown เลือกเปลี่ยนได้ทันที (รอชำระ, ผ่านชำระแล้ว, สำรอง, ยกเลิก)

✏️ ปุ่ม "แก้ไข" / "ลบ" ในแต่ละแถว

แก้ไขชื่อทีม, ผู้เล่น, เบอร์, รุ่น หรือลบใบสมัครได้

4B.4 Tab "ตารางแข่งขัน" — สิ่งที่ Client Owner ทำได้

ปุ่ม/ฟีเจอร์เพิ่มจาก user

🗂️ ปุ่ม "วางตารางแข่ง" (Schedule Planner)

คลิกแล้วเปิดหน้าใหม่ — ใช้สร้างตาราง: เลือกจำนวนคอร์ท, ช่วงเวลา, ระยะเวลา/แมตช์ → ระบบสร้างให้อัตโนมัติ + drag-drop ปรับเองได้

⚙️ ปุ่ม "จัดการคิวด้วยมือ"

เปิดตารางคิวให้แก้: เปลี่ยน สนาม, เวลา, เลขคิว, ทีม, คะแนน

ระวัง: ถ้าเปลี่ยนสนาม/เวลา → ระบบจะส่ง LINE แจ้งทีมทั้งคู่ทันที (ถ้าตั้ง "แจ้งเตือนเปลี่ยนสนาม" ไว้)

🔴 ปุ่ม "บันทึกคะแนน" ในแต่ละแถวคิว

ขึ้นเมื่อรายการอยู่สถานะ กำลังแข่งขัน — กดเพื่อป้อนคะแนนของคู่นั้นแบบเร็ว

🖨️ ปุ่ม "พิมพ์ใบลงคะแนน"

เปิดหน้าใหม่ — รูปแบบ A4 ใส่ลายเซ็นกรรมการ — เลือกรูปแบบ Full referee หรือ Compact 2 แมตช์/หน้า

4B.5 Tab "รอบแบ่งกลุ่ม" + "รอบน็อกเอาต์"

Tab "รอบแบ่งกลุ่ม"

📊 ปุ่ม "อัปโหลดตารางคะแนนแบบกลุ่ม"

เปิดหน้า "จัดการกลุ่ม" — ใส่ผู้เล่นลงในกลุ่ม, ป้อนคะแนน W/D/L, ระบบคำนวณ point diff + tiebreaker อัตโนมัติ

Tab "รอบน็อกเอาต์"

🌳 ปุ่ม "ตั้งค่าสายแข่ง"

เปิดหน้า Bracket Config — เลือกรูปแบบ Single/Double Elimination, กำหนด seed, generate bracket อัตโนมัติ

🏆 ปุ่ม "จัดการสายแข่ง"

เปิดหน้า "จัดการน็อกเอาต์" — แก้ไขทีมในแต่ละ slot, ป้อนคะแนน, ระบบ auto-advance ทีมชนะไปรอบถัดไปทั้งสายอัตโนมัติ

4B.6 Tab อื่น ๆ — สิ่งที่ Client Owner ทำได้

Tab "กติกา"

📜 ปุ่ม "แก้ไขกติกา" + "อัปโหลดรูปกติกา"

แก้ไขกฎการแข่ง (มี rich text editor) + อัปโหลดรูปภาพประกอบกติกาได้ — ผู้สมัครทุกคนเห็นทันทีที่อัปเดต

Tab "รูปภาพ"

📤 ปุ่ม "อัปโหลดรูปการแข่ง"

เลือกหลายไฟล์พร้อมกัน (multi-upload) → ระบบ resize อัตโนมัติ → ขึ้นในแกลเลอรี

🗑️ ปุ่ม "ลบรูป" ในแต่ละรูป

ลบรูปออกจากแกลเลอรีได้ (เฉพาะรูปของรายการนี้)

Tab "จำนวนลูกแบด"

🏸 ปุ่ม "บันทึกจำนวนลูกที่ใช้"

กรอกจำนวนลูกที่ทีมใช้ต่อแมตช์ + ราคา/ลูก → ระบบคำนวณค่าลูกที่ทีมต้องจ่ายเพิ่ม

Tab "ผลการแข่งขัน"

Client Owner ไม่ มีปุ่มแก้ผล (ปุ่มนี้สำหรับ Staff Admin/System Owner เท่านั้น) — เห็นผลแบบ read-only หลังจบรายการ

4B.7 ตารางสรุป — Client Owner ทำอะไรได้ ทำอะไรไม่ได้

✅ Client Owner ทำได้

หมวดการกระทำ
รายการแข่งแก้ไขข้อมูลรายการ (ชื่อ, วันแข่ง, สถานที่, โปสเตอร์)
เปลี่ยนสถานะรายการ (เปิด/ปิด/กำลังแข่ง/เสร็จสิ้น)
เปิด/ปิด tab visibility (กติกา, ลูกแบด, รูปภาพ, ผลแข่ง)
เปลี่ยน YouTube Live URL
ผู้สมัครเพิ่มรายชื่อทีละทีม
แก้ไข/ลบใบสมัคร
เปลี่ยนสถานะการชำระเงิน
ดูเบอร์โทร, รูปผู้เล่น, สลิปโอนเงิน
การแข่งวางตารางแข่ง (Schedule Planner)
ป้อนคะแนนสด (Live Score)
Bracketตั้งค่าสายแข่ง (Group/KO)
จัดการกลุ่ม + จัดการน็อกเอาต์
กติกาแก้ไขกฎ + อัปโหลดรูปประกอบ
รูปภาพอัปโหลด/ลบรูปการแข่ง
ลูกแบดบันทึกจำนวนลูกที่ใช้
พิมพ์พิมพ์ scoresheet A4

4B.8 ❌ Client Owner ทำไม่ได้ (ต้องใช้ Staff Admin / System Owner)

การกระทำทำไม
Import CSV ผู้สมัครจำนวนมากเครื่องมือสำหรับสมาคม ต้อง full admin
Export ผู้สมัครเป็น CSVมีข้อมูลส่วนตัว — จำกัดเฉพาะ full admin
แก้ไขผลการแข่งย้อนหลังการแก้ผลหลังจบรายการต้องผ่าน full admin
เปลี่ยนรูปแบบการชำระเงิน (manual ↔ slipok)เป็น sensitive change ต้องผ่าน OTP จาก full admin
เปลี่ยนรหัสบัญชี SlipOKเป็น secret ของระบบ
ลบรายการแข่งทั้งรายการทำได้เฉพาะ System Owner
Broadcast LINE ระดับระบบการส่งหมู่ทั้งระบบสงวนสำหรับ Staff Admin
ตรวจสอบตัวตนผู้ใช้ (Identity)ตรวจบัตรประชาชน — Staff Admin เท่านั้น
ดู Visitor Logs / Error Logsเครื่องมือ admin ของระบบ
จัดการผู้ใช้ทั้งระบบเปลี่ยน role / ลบบัญชี — System Owner
⚠️ เห็นปุ่มที่ไม่มีสิทธิ์?

ถ้ารายการมีลักษณะ "association mode" (สมาคม + รุ่นอายุ) Client Owner อาจเห็นปุ่ม Import/Export บางตัวขึ้นอยู่กับการตั้งค่า — ถ้ากดแล้วโดน "Forbidden" หมายความว่าต้องส่งคำขอผ่าน Staff Admin

4B.9 วงจรการทำงานทั่วไปของ Client Owner

ลำดับการใช้งานทั่วไปจากเปิดสมัคร → จบรายการ:

📌 ก่อนเปิดรับสมัคร

  1. เข้าหน้ารายการ → กด "แก้ไขข้อมูล"
  2. ตั้งวันแข่ง, สถานที่, อัปโหลดโปสเตอร์, ใส่ Google Map
  3. เลือก event ที่เปิด (ชายคู่, หญิงคู่ ฯลฯ)
  4. ตั้งค่า payment_mode + แสกน QR code + ค่าธรรมเนียม
  5. เปิด/ปิด tab visibility ตามต้องการ
  6. กลับมาที่หน้ารายการ → เปลี่ยนสถานะเป็น เปิดรับสมัคร

📌 ระหว่างเปิดรับสมัคร

  1. ดูที่ Tab "รายชื่อผู้สมัคร" — เห็นใครสมัครมาบ้าง
  2. กด "ตรวจสอบสลิป" — อนุมัติสลิปที่อัปโหลดมา
  3. เพิ่มทีมที่แจ้งทางอื่น (LINE/โทร) ด้วยปุ่ม "เพิ่มทีละคน"

📌 ก่อนวันแข่ง

  1. เปลี่ยนสถานะเป็น ปิดรับสมัคร
  2. ไปที่ Tab "รอบแบ่งกลุ่ม" + "รอบน็อกเอาต์" → ตั้ง bracket
  3. ไปที่ Tab "ตารางแข่งขัน" → กด "วางตารางแข่ง"
  4. พิมพ์ scoresheet + ตารางคิว

📌 วันแข่ง

  1. เปลี่ยนสถานะเป็น กำลังแข่งขัน
  2. กดปุ่ม "ระบบบันทึกคะแนน" → เปิดหน้าป้อนคะแนนสด
  3. ป้อนคะแนนแต่ละแมตช์ — ระบบ auto-advance ผู้ชนะ
  4. ถ้ามีการเปลี่ยนสนาม/เวลา → ระบบส่ง LINE แจ้งผู้เล่นอัตโนมัติ

📌 หลังจบรายการ

  1. เปลี่ยนสถานะเป็น แข่งขันเสร็จสิ้น
  2. อัปโหลดรูปการแข่งที่ Tab "รูปภาพ"
  3. ตรวจสอบจำนวนลูกที่ใช้ใน Tab "ลูกแบด"