ภาพรวม
G-Onsite จัดการ workflow งาน Onsite ครบวงจร: HQ เปิดงาน → Admin จ่ายช่าง → ช่างรับงาน เดินทาง (บันทึก GPS) ถึงสาขา ทำงาน เซ็นปิดเคส พร้อมระบบ Spare Parts และ AI Chatbot
1 เข้าสู่ระบบ
กด "เข้าสู่ระบบด้วย Google" แล้วเลือกบัญชี email ที่ได้ลงทะเบียนไว้สำหรับ UAT
ต้องอยู่ใน Whitelist ถ้า email ไม่อยู่ในรายชื่อที่ Admin เพิ่มไว้ จะขึ้น "ไม่มีสิทธิ์เข้าใช้งาน" — แจ้งผู้ดูแลให้เพิ่ม email
ℹ️ บัญชี UAT เดียวทดสอบได้ทั้ง 3 บทบาท ไม่ต้อง login หลายบัญชี — ใช้ตัวสลับมุมมองมุมขวาบน (ดูข้อ 3)
2 3 บทบาทในระบบ
AO
Admin Onsite
ฝ่ายปฏิบัติการ
จ่ายงานให้ช่าง · ดึงงานกลับ · จ่าย Spare / รับคืนของเสีย · ดู Dashboard
HQ
HQ Manager
ฝ่ายกำกับดูแล
สร้างงาน (Create Job) · ดู Dashboard oversight · ประวัติงาน · Branch Master · คลัง Spare กลาง
ช
ช่างทดสอบ (Technician)
ช่างหน้างาน
รับงาน · Onsite (GPS) · ถึงสาขา · บันทึก Log · พักงาน · เซ็นปิดเคส · เบิก/ใช้ Spare · ถาม AI
3 สลับมุมมอง (UAT)
คลิกที่ ชื่อผู้ใช้ + avatar มุมขวาบน จะมีเมนู "สลับมุมมอง" ให้เลือก 3 แบบ:
- Admin Onsite — เข้าหน้า Dashboard + จ่ายงาน + จ่าย Spare
- HQ Manager — เข้า Dashboard กำกับดูแล + ตั้งค่าระบบ + คลัง Spare กลาง
- ช่างทดสอบ (Technician) — เข้าหน้าจอมือถือของช่าง (มี banner "🔍 มุมมองช่าง (UAT)" + ปุ่ม "← กลับ Admin")
คลิก ชื่อผู้ใช้ + avatar มุมขวาบน → เลือกมุมมอง Admin Onsite / HQ Manager / ช่างทดสอบ
ℹ️ มุมมองช่างใน UAT เห็นทุกงาน เพราะบัญชีเป็น Admin (ไม่ได้ scope เป็นช่างคนเดียว) — ใช้ดู UI/flow ได้ครบ ถ้าต้องการทดสอบข้อมูลของช่างจริงคนเดียว ให้ login ด้วยบัญชี technician จริง
4 ทดสอบบทบาท HQ Manager
4.1 สร้างงานใหม่ (Create Job)
กดปุ่ม "+ สร้างงาน (Create Job)" (มุมขวาบน หน้า Dashboard โหมด HQ)กรอก เลข Job · รายละเอียดปัญหา · เลือก Location (พิมพ์ค้นหาชื่อสาขา) → Submit
ค้นหาสาขาด้วยชื่อ ต้องขึ้นเฉพาะสาขาที่ชื่อตรงเช่น พิมพ์ "บางกะปิ" ต้องไม่มีสาขาอื่นปนมา
หลัง Submit งานไปโผล่ที่ Dashboard Admin รอการ Assignสลับเป็น Admin Onsite → เห็นงานใหม่ สถานะ New พร้อมปุ่ม Assign
กรอก เลข Job · รายละเอียดปัญหา · พิมพ์ค้นหา Location แล้วคลิกเลือกสาขา → Submit
4.2 Dashboard กำกับดูแล + ประวัติ
แถบ oversight แสดง กำลัง Onsite ตอนนี้ · ค้างรับ >1 ชม. · ETA เฉลี่ย
ตาราง "งานที่ยังไม่ปิด" เป็น read-only — มีคอลัมน์ วันที่เปิด · สถานะ · Onsite เมื่อ · ค้าง(วัน)ไม่มีปุ่ม Assign/ดึงกลับ (เป็นหน้าที่ Admin)
กดปุ่ม "ประวัติ" ในแต่ละแถว → เห็น timeline เต็ม + กด Onsite / คาดถึงสาขา / ถึงสาขาจริง + ธงล่าช้า (ถ้ามี)
แถบ oversight ด้านบน + ตารางงานที่ยังไม่ปิด (read-only) — กด "ประวัติ" เพื่อดู timeline เต็ม
4.3 คลัง Spare กลาง
5 ทดสอบบทบาท Admin Onsite
5.1 จ่ายงาน / ดึงกลับ
กด "Assign" ที่งาน New → เลือกช่าง → ยืนยันงานที่มีสาขาแล้ว (จาก Create Job) จะเลือกแค่ช่าง (สาขาโชว์ read-only)
ค้นหา Job ID ช่องค้นหาบน Dashboard → กรองงานตามเลข Job
กด "ดึงกลับ" ที่งานที่จ่ายแล้ว (ยังไม่ Onsite) → งานกลับไปรอมอบหมายใหม่
5.2 Spare — จ่าย / คืน / ยอดช่าง
แท็บ "จ่าย Spare ให้ช่าง" → กด "+ จ่าย Spare" เลือกอุปกรณ์+ช่าง+จำนวนคลังกลางลด · ยอดช่างเพิ่ม
แท็บ "ยอดช่าง + คืนของเสีย" → เห็นยอดที่ช่างถือครอง + กด "+ รับคืนของเสีย"รับคืน → ยอดช่างลด + ขึ้นประวัติการคืน
6 ทดสอบบทบาทช่าง (Technician)
สลับเป็น "ช่างทดสอบ" → เปิดงานที่สถานะ Accepted แล้วไล่ตาม flow
6.1 flow หลัก
งานของฉัน แสดงเฉพาะงานที่รับแล้ว (Accepted ขึ้นไป) · แท็บ "งานใหม่" = งานที่รอกดรับ
ยอมรับงาน (Accept) ที่งานสถานะ Assigned
กด "📍 Onsite — เริ่มออกเดินทาง" → ต้องเปิด GPS → บันทึกพิกัด + คำนวณ ETAถ้าปิด GPS จะขึ้นเตือน "ต้องเปิด GPS" และกดไม่ได้
กด "📍 ถึงสาขาแล้ว" → บันทึกเวลาถึงจริง แล้วจึงขึ้นปุ่ม "งานเสร็จ"UAT กดได้เลย · ตอน Go Live ต้องอยู่ในระยะ 300 ม.จากสาขา
ธงล่าช้า ⚠️ ขึ้นเมื่อเลยเวลาคาดถึงสาขาแต่ยังไม่กด "ถึงสาขาแล้ว"
งานเสร็จ → เปิดหน้าเซ็น ให้พนักงานสาขาเซ็นปิดเคส
Stepper (ซ้าย) · Timeline ที่ persist จริง (ขวา) · ปุ่มปฏิบัติงานเปลี่ยนตามสถานะ — Onsite → ถึงสาขาแล้ว → งานเสร็จ
6.2 พักงาน (Pending)
ใส่เหตุผล + วัน–เวลานัดใหม่ (datetime — มีทั้งวันและเวลา) → ยืนยันพักงาน
6.3 อื่นๆ
บันทึก Log → พิมพ์ข้อความ → บันทึก → refresh หน้าเว็บ แล้ว Log ต้องยังอยู่ (ไม่หาย)
STOCK (nav ล่าง) → เห็น Personal Inventory ของช่าง (ไม่เด้งหน้า admin)
AI CHAT → ถามคำถาม → ปุ่มกลับ (‹) ต้องกลับมาหน้า My Jobs
REQUESTS → หน้าส่งอีเมลประสานงาน
7 ข้อควรรู้ช่วง UAT
| เรื่อง | พฤติกรรมช่วง UAT |
| กด Onsite / Accept / งานเสร็จ ในมุมมองช่าง | บัญชี Admin กดแทนช่างได้ (UAT_MODE เปิด) — ตอน Go Live เฉพาะช่างที่ถูกมอบหมาย |
| ปุ่ม "ถึงสาขาแล้ว" | กดได้จากทุกที่ — ตอน Go Live ต้องอยู่ในระยะ 300 ม.จากสาขา (เช็ค GPS) |
| ETA | คำนวณจาก Google Maps (เส้นทางจริง + จราจรสด) — ต้องเปิด billing ของ Maps API ให้ครบ |
| งานทดสอบ | สร้างเองผ่าน "Create Job" ได้ · ไม่เขียนกลับ Google Sheet |
⚠️ สำหรับผู้ดูแลระบบ — ก่อน Go Liveต้องตั้ง UAT_MODE = "false" เพื่อ (1) กันไม่ให้ Admin ทำ action ของช่าง และ (2) เปิดการเช็ค GPS ระยะ 300 ม. ของปุ่มถึงสาขา
8 แจ้งปัญหาที่พบ
เมื่อเจอบั๊กหรือจุดที่ใช้งานไม่สะดวก ให้บันทึกข้อมูลต่อไปนี้แล้วส่งให้ทีมพัฒนา:
- บทบาท ที่ใช้ตอนเกิดปัญหา (Admin / HQ / ช่าง)
- เลข Job (JB ID) และหน้าจอที่อยู่
- ขั้นตอนที่ทำ ก่อนเกิดปัญหา (1-2-3)
- สิ่งที่คาดหวัง vs สิ่งที่เกิดขึ้นจริง
- ภาพหน้าจอ (screenshot) ถ้ามี
✅ เคล็ดลับถ้าเจอ error ให้ดูข้อความในกรอบสีส้ม/แดง — ระบบพยายามบอกสาเหตุจริง (เช่น "ต้องเปิด GPS" vs "ไม่มีสิทธิ์") ช่วยระบุปัญหาได้เร็วขึ้น