จัดการรายชื่อเช็คอิน
ขาประจำ
{{ regularMembers.length }} คนขาจร (แขก/มาไม่บ่อย)
{{ guestMembers.length }} คนยังไม่ได้เปิดก๊วน กรุณาไปหน้าเช็คชื่อ
1. กำลังจัดก๊วน
ลากสลับตำแหน่ง หรือใช้ปุ่ม ◀ ▶ ก็ได้ กำหนดเองว่าใครจับคู่กับใคร (คู่ 1 = 2 คนแรก, คู่ 2 = 2 คนหลัง)
2. คิวเตรียมตัวบนจอ
รายชื่อรอคิว
{{ waitingPlayers.length }} คนสนามที่เปิดใช้งาน
สนามที่ {{ court.id }}
ลากชื่อจากรายชื่อรอคิวมาวางในกรอบนี้ได้เลย
เปลี่ยน {{ getPlayerName(swapModal.playerId) }} เป็นใคร?
จุดรับเงิน
รับแล้วรวม
฿{{ Math.round(totalCollected).toLocaleString() }}
{{ p.name }}
เบิกลูกไป {{ p.games }} ลูก
จ่ายรวมโดย {{ p.paidBy }}
ปิดก๊วน & บันทึกต้นทุน
บันทึกเวลาใช้สนาม
- {{ ts.start }}-{{ ts.end }} ({{ ts.courts }} คอร์ด) {{ Number(ts.hours||0).toFixed(1) }} ชม.
รวมบิลจ่ายเดียว
เรียกเก็บเงินขุนทอง
ยอดค้างชำระ (ขุนทอง)
฿{{ Math.round(pendingKhunThongTotal).toLocaleString() }}
จากทั้งหมด {{ pendingKhunThongPlayers.length }} คนที่ยังไม่เคลียร์บิล
รายชื่อลูกหนี้ & สถานะการจ่ายเงิน
{{ p.name }}
เบิกลูกไป {{ p.games || 0 }} ลูก
จ่ายรวมโดย {{ p.paidBy }}
฿{{ Math.round(p.paidAmount || 0).toLocaleString() }}
ลูกแบดคงเหลือในคลัง
{{ db.inventory?.stock || 0 }} ลูก
คิดเป็น {{ Math.floor((db.inventory?.stock || 0) / 12) }} หลอด กับอีก {{ (db.inventory?.stock || 0) % 12 }} ลูก
รับของเข้าสต๊อก
ประวัติเข้า-ออก
สรุปยอดรับเข้าสต๊อก (สำหรับเคลียร์บิล)
ประวัติแมตช์ย้อนหลัง
ประวัติการตีของ: {{ viewingPlayerHistoryName }}
รายงานบัญชี
ยอดขายรวม
฿{{ Math.round(pnlSummary.rev).toLocaleString() }}
ต้นทุนรวม
฿{{ Math.round(pnlSummary.cost).toLocaleString() }}
กำไรสุทธิ
฿{{ Math.round(pnlSummary.profit).toLocaleString() }}
| {{ reportFilter === 'daily' ? 'วันที่' : 'ช่วงเวลา' }} | รายละเอียด | ยอดเก็บ (Rev) | ต้นทุน (Cost) | กำไร (Profit) |
|---|---|---|---|---|
| ไม่มีข้อมูล | ||||
| {{ h.dateStr }} | {{ Math.round(h.revenue || 0).toLocaleString() }} | {{ Math.round(h.cost || 0).toLocaleString() }} | {{ Math.round(h.profit || 0).toLocaleString() }} | |
รายละเอียดบัญชี วันที่: {{ pastReportView.dateStr }}
ตั้งค่าระบบ
License (การต่ออายุใช้งาน) {{ isLicenseValid ? 'ปกติ' : 'หมดอายุ / ไม่ได้ต่ออายุ' }}
สถานะ: {{ isLicenseValid ? 'ใช้งานได้ปกติ' : 'หมดอายุ / ไม่ได้กรอก S/N' }}
หมดอายุวันที่: {{ getLicenseExpiryDate }}
1. ธีมและโลโก้
สีที่เลือกปัจจุบัน: {{ themePresets.find(x => x.color === dbTemp.settings.themeColor)?.name || 'กำหนดเอง' }}
2. ราคา & ต้นทุน
ยังเบิกลูกที่หน้าคอร์ทได้ตามปกติ เผื่อไว้คำนวณต้นทุนลูกแบดที่ใช้จริง แต่จะไม่บวกเพิ่มเข้าบิลลูกค้าครับ
2.5 ระดับมือ (ตั้งชื่อเรียก/สีเองได้ แต่ละก๊วนเรียกไม่เหมือนกัน)
แก้ชื่อเรียก/สีได้อิสระไม่กระทบใคร ถ้าแก้ "รหัสย่อ" ของระดับที่มีคนใช้อยู่แล้ว ระบบจะย้ายระดับของผู้เล่นกลุ่มนั้นไปเป็นรหัสใหม่ให้อัตโนมัติตอนกดบันทึก (รหัสย่อต้องไม่ซ้ำกันและห้ามเว้นว่างนะครับ)
2.6 มือไหนเจอกันได้บ้าง (เงื่อนไขตอน "สุ่มจัดมือ")
ติ๊กช่องที่ตัดกันของสองระดับ = อนุญาตให้ "สุ่มจัดมือ" จับสองระดับนี้ลงก๊วนเดียวกันได้ ไม่ติ๊ก = ห้ามจับคู่กัน (ไม่กระทบการจัดก๊วนแบบเลือกเองด้วยมือนะครับ มีผลแค่ตอนกดปุ่ม "สุ่มจัดมือ")