On this page
อ้างอิงหน้าจอผู้ใช้งาน
ภาพทั้งหมดเป็น synthetic data ที่ไม่มีข้อมูลลูกค้าจริง และผูกกับ source SHA ใน coverage ledger
dashboard
- เส้นทาง:
/agl/dashboard - Source:
app/pages/agl/dashboard.vue - ใช้สำหรับ: แดชบอร์ดและ monitoring
- สิทธิ์ก่อนเข้า: ต้อง login และเลือก Active Organization; ข้อมูลที่เห็นขึ้นกับ menu และ resource permission

- เมนูหลักและขอบเขตโมดูล
- ชื่อหน้าและบริบทที่กำลังใช้งาน
- คำสั่งหลัก ตัวกรอง หรือปุ่มเพิ่มข้อมูล
- พื้นที่ข้อมูล ฟอร์ม ตาราง แผนที่ หรือ empty state
- การแจ้งเตือน ภาษา ธีม และเมนูบัญชี
วิธีใช้งาน
- เลือก Active Organization, ช่วงเวลา และพื้นที่/กลุ่มอุปกรณ์ที่ต้องการติดตาม
- ตั้งตัวกรองก่อนอ่านตัวเลข เพื่อให้ทุก card, chart และตารางอยู่ในขอบเขตเดียวกัน
- ตรวจ timestamp/สถานะล่าสุดก่อนสรุปว่าอุปกรณ์หรือเหตุการณ์ยัง active
- เปิดรายละเอียดจากจุดบนแผนที่ card หรือแถวตารางเพื่อดูข้อมูลต้นทาง
- หากข้อมูลไม่ขยับ ให้ refresh แล้วตรวจ network/resource permission ก่อนแจ้งเหตุขัดข้อง
ค่าหรือคำสั่งที่พบใน source
| Key | ข้อความที่ผู้ใช้เห็น | ความหมาย/การใช้งาน |
|---|---|---|
| — | ไม่พบ label แบบ static ใน source | หน้านี้สร้างข้อความจากข้อมูลหรือ component ย่อย ให้ยึดภาพและ workflow ที่แสดง |
สถานะผิดปกติ
- Loading: รอให้ skeleton/spinner หายก่อนกดซ้ำ
- Empty: ไม่ได้แปลว่าไม่มีข้อมูลทั้งระบบ; อาจถูกกรองหรือไม่มี resource grant
- 403/เมนูหาย: ติดต่อ Org Admin เพื่อตรวจ menu และ resource permission แยกกัน
- บันทึกไม่สำเร็จ: อ่าน validation message, รักษาค่าที่กรอกไว้ และตรวจ active organization ก่อนลองใหม่
map
- เส้นทาง:
/agl/map - Source:
app/pages/agl/map.vue - ใช้สำหรับ: แดชบอร์ดและ monitoring
- สิทธิ์ก่อนเข้า: ต้อง login และเลือก Active Organization; ข้อมูลที่เห็นขึ้นกับ menu และ resource permission

- เมนูหลักและขอบเขตโมดูล
- ชื่อหน้าและบริบทที่กำลังใช้งาน
- คำสั่งหลัก ตัวกรอง หรือปุ่มเพิ่มข้อมูล
- พื้นที่ข้อมูล ฟอร์ม ตาราง แผนที่ หรือ empty state
- การแจ้งเตือน ภาษา ธีม และเมนูบัญชี
วิธีใช้งาน
- เลือก Active Organization, ช่วงเวลา และพื้นที่/กลุ่มอุปกรณ์ที่ต้องการติดตาม
- ตั้งตัวกรองก่อนอ่านตัวเลข เพื่อให้ทุก card, chart และตารางอยู่ในขอบเขตเดียวกัน
- ตรวจ timestamp/สถานะล่าสุดก่อนสรุปว่าอุปกรณ์หรือเหตุการณ์ยัง active
- เปิดรายละเอียดจากจุดบนแผนที่ card หรือแถวตารางเพื่อดูข้อมูลต้นทาง
- หากข้อมูลไม่ขยับ ให้ refresh แล้วตรวจ network/resource permission ก่อนแจ้งเหตุขัดข้อง
ค่าหรือคำสั่งที่พบใน source
| Key | ข้อความที่ผู้ใช้เห็น | ความหมาย/การใช้งาน |
|---|---|---|
| — | ไม่พบ label แบบ static ใน source | หน้านี้สร้างข้อความจากข้อมูลหรือ component ย่อย ให้ยึดภาพและ workflow ที่แสดง |
สถานะผิดปกติ
- Loading: รอให้ skeleton/spinner หายก่อนกดซ้ำ
- Empty: ไม่ได้แปลว่าไม่มีข้อมูลทั้งระบบ; อาจถูกกรองหรือไม่มี resource grant
- 403/เมนูหาย: ติดต่อ Org Admin เพื่อตรวจ menu และ resource permission แยกกัน
- บันทึกไม่สำเร็จ: อ่าน validation message, รักษาค่าที่กรอกไว้ และตรวจ active organization ก่อนลองใหม่
แบบฟอร์มสินทรัพย์
- เส้นทาง:
/assetForms/synthetic-id-001 - Source:
app/pages/assetForms/[id].vue - ใช้สำหรับ: ดู/ใช้งานสินทรัพย์และ Floor Plan
- สิทธิ์ก่อนเข้า: ต้อง login และเลือก Active Organization; ข้อมูลที่เห็นขึ้นกับ menu และ resource permission

- เมนูหลักและขอบเขตโมดูล
- ชื่อหน้าและบริบทที่กำลังใช้งาน
- คำสั่งหลัก ตัวกรอง หรือปุ่มเพิ่มข้อมูล
- พื้นที่ข้อมูล ฟอร์ม ตาราง แผนที่ หรือ empty state
- การแจ้งเตือน ภาษา ธีม และเมนูบัญชี
วิธีใช้งาน
- เปิดหน้าจากเมนูหรือเส้นทางที่ระบุ และยืนยันบริบทจากชื่อหน้า
- ตรวจข้อความแนะนำ สถานะ และค่าที่ระบบแสดงก่อนเริ่มทำงาน
- ใช้คำสั่งตามตารางด้านล่างและหลีกเลี่ยงการกดซ้ำระหว่าง loading
- อ่าน confirmation/error ที่ระบบตอบกลับ และแก้เฉพาะค่าที่ถูกระบุ
- กลับหน้าก่อนหน้าหรือ refresh เพื่อยืนยันผลจาก backend
ค่าหรือคำสั่งที่พบใน source
| Key | ข้อความที่ผู้ใช้เห็น | ความหมาย/การใช้งาน |
|---|---|---|
assetForms.genericError | การทำงานล้มเหลว | ข้อความผิดพลาด: อ่านสาเหตุ แก้ค่าหรือสิทธิ์ที่ระบุ แล้วลองใหม่โดยไม่กดซ้ำระหว่างที่ระบบกำลังประมวลผล |
global.error | เกิดข้อผิดพลาด | ข้อความผิดพลาด: อ่านสาเหตุ แก้ค่าหรือสิทธิ์ที่ระบุ แล้วลองใหม่โดยไม่กดซ้ำระหว่างที่ระบบกำลังประมวลผล |
assetForms.recordUpdated | อัปเดต record แล้ว | วันหรือช่วงเวลาที่ใช้กรอง/กำหนดอายุรายการ; ตรวจ timezone และให้วันสิ้นสุดไม่ก่อนวันเริ่มต้น |
assetForms.recordCreated | สร้าง record แล้ว | คำสั่งเปลี่ยนหรือส่งออกข้อมูล; ตรวจรายการเป้าหมายและอ่าน confirmation ก่อนยืนยัน โดยเฉพาะคำสั่งที่ย้อนกลับไม่ได้ |
assetForms.deleteRecordConfirm | ลบ record "{name}"? | คำสั่งเปลี่ยนหรือส่งออกข้อมูล; ตรวจรายการเป้าหมายและอ่าน confirmation ก่อนยืนยัน โดยเฉพาะคำสั่งที่ย้อนกลับไม่ได้ |
assetForms.recordDeleted | ลบ record แล้ว | คำสั่งเปลี่ยนหรือส่งออกข้อมูล; ตรวจรายการเป้าหมายและอ่าน confirmation ก่อนยืนยัน โดยเฉพาะคำสั่งที่ย้อนกลับไม่ได้ |
assetForms.navTitle | แบบฟอร์มสินทรัพย์ | ชื่อหน้า/ส่วน ใช้ยืนยันว่ากำลังทำงานในโมดูลและบริบทที่ถูกต้องก่อนสั่งงาน |
assetForms.newRecord | เพิ่ม Record | คำสั่งเปลี่ยนหรือส่งออกข้อมูล; ตรวจรายการเป้าหมายและอ่าน confirmation ก่อนยืนยัน โดยเฉพาะคำสั่งที่ย้อนกลับไม่ได้ |
global.loading | กำลังตรวจสอบการเข้าสู่ระบบ... | สถานะกำลังโหลดหรือประมวลผล; รอให้สถานะสิ้นสุดก่อนเปลี่ยนหน้า/กดคำสั่งเดิมซ้ำ |
assetForms.schema | โครงสร้างฟอร์ม | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
assetForms.records | รายการ Record | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
assetForms.noRecords | ยังไม่มี record — เพิ่ม record แรก | คำสั่งเปลี่ยนหรือส่งออกข้อมูล; ตรวจรายการเป้าหมายและอ่าน confirmation ก่อนยืนยัน โดยเฉพาะคำสั่งที่ย้อนกลับไม่ได้ |
assetForms.colName | ชื่อ | ชื่อที่ใช้แสดงและค้นหารายการ; ตั้งให้สื่อความหมายและไม่ซ้ำกับรายการในขอบเขตเดียวกัน |
assetForms.colStatus | สถานะ | สถานะ lifecycle ของรายการ; ใช้ตัดสินว่ารายการพร้อมใช้งาน ถูกพัก หรือสิ้นสุด และตรวจผลกระทบก่อนเปลี่ยนสถานะ |
assetForms.colUpdated | อัปเดตล่าสุด | วันหรือช่วงเวลาที่ใช้กรอง/กำหนดอายุรายการ; ตรวจ timezone และให้วันสิ้นสุดไม่ก่อนวันเริ่มต้น |
assetForms.editRecord | แก้ไข Record | คำสั่งเปลี่ยนหรือส่งออกข้อมูล; ตรวจรายการเป้าหมายและอ่าน confirmation ก่อนยืนยัน โดยเฉพาะคำสั่งที่ย้อนกลับไม่ได้ |
assetForms.recordName | ชื่อ Record | ชื่อที่ใช้แสดงและค้นหารายการ; ตั้งให้สื่อความหมายและไม่ซ้ำกับรายการในขอบเขตเดียวกัน |
assetForms.recordNamePlaceholder | เช่น RWY-101 | ชื่อที่ใช้แสดงและค้นหารายการ; ตั้งให้สื่อความหมายและไม่ซ้ำกับรายการในขอบเขตเดียวกัน |
global.cancel | ยกเลิก | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
global.save | บันทึก | คำสั่งเปลี่ยนหรือส่งออกข้อมูล; ตรวจรายการเป้าหมายและอ่าน confirmation ก่อนยืนยัน โดยเฉพาะคำสั่งที่ย้อนกลับไม่ได้ |
สถานะผิดปกติ
- Loading: รอให้ skeleton/spinner หายก่อนกดซ้ำ
- Empty: ไม่ได้แปลว่าไม่มีข้อมูลทั้งระบบ; อาจถูกกรองหรือไม่มี resource grant
- 403/เมนูหาย: ติดต่อ Org Admin เพื่อตรวจ menu และ resource permission แยกกัน
- บันทึกไม่สำเร็จ: อ่าน validation message, รักษาค่าที่กรอกไว้ และตรวจ active organization ก่อนลองใหม่
แผนที่สินทรัพย์
- เส้นทาง:
/assetForms/map - Source:
app/pages/assetForms/map.vue - ใช้สำหรับ: แผนที่ กล้องสด และ video wall
- สิทธิ์ก่อนเข้า: ต้อง login และเลือก Active Organization; ข้อมูลที่เห็นขึ้นกับ menu และ resource permission

- เมนูหลักและขอบเขตโมดูล
- ชื่อหน้าและบริบทที่กำลังใช้งาน
- คำสั่งหลัก ตัวกรอง หรือปุ่มเพิ่มข้อมูล
- พื้นที่ข้อมูล ฟอร์ม ตาราง แผนที่ หรือ empty state
- การแจ้งเตือน ภาษา ธีม และเมนูบัญชี
วิธีใช้งาน
- เลือก Active Organization, ช่วงเวลา และพื้นที่/กลุ่มอุปกรณ์ที่ต้องการติดตาม
- ตั้งตัวกรองก่อนอ่านตัวเลข เพื่อให้ทุก card, chart และตารางอยู่ในขอบเขตเดียวกัน
- ตรวจ timestamp/สถานะล่าสุดก่อนสรุปว่าอุปกรณ์หรือเหตุการณ์ยัง active
- เปิดรายละเอียดจากจุดบนแผนที่ card หรือแถวตารางเพื่อดูข้อมูลต้นทาง
- หากข้อมูลไม่ขยับ ให้ refresh แล้วตรวจ network/resource permission ก่อนแจ้งเหตุขัดข้อง
ค่าหรือคำสั่งที่พบใน source
| Key | ข้อความที่ผู้ใช้เห็น | ความหมาย/การใช้งาน |
|---|---|---|
assetForms.genericError | การทำงานล้มเหลว | ข้อความผิดพลาด: อ่านสาเหตุ แก้ค่าหรือสิทธิ์ที่ระบุ แล้วลองใหม่โดยไม่กดซ้ำระหว่างที่ระบบกำลังประมวลผล |
global.error | เกิดข้อผิดพลาด | ข้อความผิดพลาด: อ่านสาเหตุ แก้ค่าหรือสิทธิ์ที่ระบุ แล้วลองใหม่โดยไม่กดซ้ำระหว่างที่ระบบกำลังประมวลผล |
assetMap.placed | วาง asset แล้ว | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
assetMap.alreadyPlaced | asset นี้ถูกวางบนแผนผังนี้แล้ว | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
assetMap.removeConfirm | เอา "{name}" ออกจากแผนผัง? | ชื่อที่ใช้แสดงและค้นหารายการ; ตั้งให้สื่อความหมายและไม่ซ้ำกับรายการในขอบเขตเดียวกัน |
assetMap.removed | เอา asset ออกจากแผนผังแล้ว | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
assetMap.title | แผนที่สินทรัพย์ | ชื่อหน้า/ส่วน ใช้ยืนยันว่ากำลังทำงานในโมดูลและบริบทที่ถูกต้องก่อนสั่งงาน |
assetMap.live | เรียลไทม์ | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
assetMap.offline | ออฟไลน์ | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
assetMap.floorPlan | แผนผัง | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
assetMap.form | ฟอร์ม Asset | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
global.loading | กำลังตรวจสอบการเข้าสู่ระบบ... | สถานะกำลังโหลดหรือประมวลผล; รอให้สถานะสิ้นสุดก่อนเปลี่ยนหน้า/กดคำสั่งเดิมซ้ำ |
assetMap.noPlan | ยังไม่มีแผนผัง — สร้างใน Floor Plans ก่อน | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
assetMap.remove | เอาออก | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
assetMap.clickToPlace | คลิกบนแผนผังเพื่อวาง "{name}" | ชื่อที่ใช้แสดงและค้นหารายการ; ตั้งให้สื่อความหมายและไม่ซ้ำกับรายการในขอบเขตเดียวกัน |
global.cancel | ยกเลิก | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
assetMap.placePool | รายการที่ยังไม่วาง | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
assetMap.readOnly | ดูอย่างเดียว | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
assetMap.allPlaced | วางครบทุก record แล้ว | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
สถานะผิดปกติ
- Loading: รอให้ skeleton/spinner หายก่อนกดซ้ำ
- Empty: ไม่ได้แปลว่าไม่มีข้อมูลทั้งระบบ; อาจถูกกรองหรือไม่มี resource grant
- 403/เมนูหาย: ติดต่อ Org Admin เพื่อตรวจ menu และ resource permission แยกกัน
- บันทึกไม่สำเร็จ: อ่าน validation message, รักษาค่าที่กรอกไว้ และตรวจ active organization ก่อนลองใหม่
callback
- เส้นทาง:
/auth/callback - Source:
app/pages/auth/callback.vue - ใช้สำหรับ: หน้า public/login/help ที่ผู้ใช้ทุก persona พบได้
- สิทธิ์ก่อนเข้า: หน้า public เปิดได้โดยไม่ต้อง login; คำสั่งที่แตะข้อมูลส่วนตัวอาจพาไปเข้าสู่ระบบ

- เมนูหลักและขอบเขตโมดูล
- ชื่อหน้าและบริบทที่กำลังใช้งาน
- คำสั่งหลัก ตัวกรอง หรือปุ่มเพิ่มข้อมูล
- พื้นที่ข้อมูล ฟอร์ม ตาราง แผนที่ หรือ empty state
- การแจ้งเตือน ภาษา ธีม และเมนูบัญชี
วิธีใช้งาน
- เปิดหน้าจากเมนูหรือเส้นทางที่ระบุ และยืนยันบริบทจากชื่อหน้า
- ตรวจข้อความแนะนำ สถานะ และค่าที่ระบบแสดงก่อนเริ่มทำงาน
- ใช้คำสั่งตามตารางด้านล่างและหลีกเลี่ยงการกดซ้ำระหว่าง loading
- อ่าน confirmation/error ที่ระบบตอบกลับ และแก้เฉพาะค่าที่ถูกระบุ
- กลับหน้าก่อนหน้าหรือ refresh เพื่อยืนยันผลจาก backend
ค่าหรือคำสั่งที่พบใน source
| Key | ข้อความที่ผู้ใช้เห็น | ความหมาย/การใช้งาน |
|---|---|---|
global.loading | กำลังตรวจสอบการเข้าสู่ระบบ... | สถานะกำลังโหลดหรือประมวลผล; รอให้สถานะสิ้นสุดก่อนเปลี่ยนหน้า/กดคำสั่งเดิมซ้ำ |
สถานะผิดปกติ
- Loading: รอให้ skeleton/spinner หายก่อนกดซ้ำ
- Empty: ไม่ได้แปลว่าไม่มีข้อมูลทั้งระบบ; อาจถูกกรองหรือไม่มี resource grant
- 403/เมนูหาย: ติดต่อ Org Admin เพื่อตรวจ menu และ resource permission แยกกัน
- บันทึกไม่สำเร็จ: อ่าน validation message, รักษาค่าที่กรอกไว้ และตรวจ active organization ก่อนลองใหม่
แดชบอร์ด
- เส้นทาง:
/biDash - Source:
app/pages/biDash.vue - ใช้สำหรับ: แดชบอร์ดและ monitoring
- สิทธิ์ก่อนเข้า: ต้อง login และเลือก Active Organization; ข้อมูลที่เห็นขึ้นกับ menu และ resource permission

- เมนูหลักและขอบเขตโมดูล
- ชื่อหน้าและบริบทที่กำลังใช้งาน
- คำสั่งหลัก ตัวกรอง หรือปุ่มเพิ่มข้อมูล
- พื้นที่ข้อมูล ฟอร์ม ตาราง แผนที่ หรือ empty state
- การแจ้งเตือน ภาษา ธีม และเมนูบัญชี
วิธีใช้งาน
- เปิดหน้าจากเมนูหรือเส้นทางที่ระบุ และยืนยันบริบทจากชื่อหน้า
- ตรวจข้อความแนะนำ สถานะ และค่าที่ระบบแสดงก่อนเริ่มทำงาน
- ใช้คำสั่งตามตารางด้านล่างและหลีกเลี่ยงการกดซ้ำระหว่าง loading
- อ่าน confirmation/error ที่ระบบตอบกลับ และแก้เฉพาะค่าที่ถูกระบุ
- กลับหน้าก่อนหน้าหรือ refresh เพื่อยืนยันผลจาก backend
ค่าหรือคำสั่งที่พบใน source
| Key | ข้อความที่ผู้ใช้เห็น | ความหมาย/การใช้งาน |
|---|---|---|
biDash.title | แดชบอร์ด | ชื่อหน้า/ส่วน ใช้ยืนยันว่ากำลังทำงานในโมดูลและบริบทที่ถูกต้องก่อนสั่งงาน |
biDash.ownershipAll | ทั้งหมด | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
biDash.ownershipManaged | ในความดูแล | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
biDash.ownershipPublic | สาธารณะ | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
biDash.totalAlerts | การแจ้งเตือน | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
biDash.totalPedestrian | จำนวนคนเข้าออกทั้งหมด | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
alertsAll | การแจ้งเตือนทั้งหมด | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
alertsBlacklist | การแจ้งเตือนบัญชีดำ | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
biDash.totalCameras | สถานะกล้อง | สถานะ lifecycle ของรายการ; ใช้ตัดสินว่ารายการพร้อมใช้งาน ถูกพัก หรือสิ้นสุด และตรวจผลกระทบก่อนเปลี่ยนสถานะ |
biDash.totalDevices | สถานะอุปกรณ์ | สถานะ lifecycle ของรายการ; ใช้ตัดสินว่ารายการพร้อมใช้งาน ถูกพัก หรือสิ้นสุด และตรวจผลกระทบก่อนเปลี่ยนสถานะ |
biDash.trafficOff | ปิดการจราจร | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
biDash.trafficOn | เปิดการจราจร | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
biDash.retry | ลองใหม่ | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
biDash.online | ออนไลน์ | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
biDash.warning | เตือน | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
biDash.offline | ออฟไลน์ | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
biDash.alarm | แจ้งเตือน | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
biDash.ownershipBadgeManaged | อยู่ในความดูแล | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
biDash.unknownDevice | ไม่ทราบอุปกรณ์ | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
biDash.district | เขต | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
biDash.latitude | ละติจูด | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
biDash.longitude | ลองจิจูด | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
biDash.status | สถานะ | สถานะ lifecycle ของรายการ; ใช้ตัดสินว่ารายการพร้อมใช้งาน ถูกพัก หรือสิ้นสุด และตรวจผลกระทบก่อนเปลี่ยนสถานะ |
live.popup.connecting | กำลังเชื่อมต่อสตรีม… | สถานะกำลังโหลดหรือประมวลผล; รอให้สถานะสิ้นสุดก่อนเปลี่ยนหน้า/กดคำสั่งเดิมซ้ำ |
biDash.nOrgUnits | {n} หน่วยงาน | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
biDash.orgUnit | หน่วยงาน | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
biDash.nGroups | {n} กลุ่ม | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
biDash.resourceGroup | กลุ่มกล้อง | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
สถานะผิดปกติ
- Loading: รอให้ skeleton/spinner หายก่อนกดซ้ำ
- Empty: ไม่ได้แปลว่าไม่มีข้อมูลทั้งระบบ; อาจถูกกรองหรือไม่มี resource grant
- 403/เมนูหาย: ติดต่อ Org Admin เพื่อตรวจ menu และ resource permission แยกกัน
- บันทึกไม่สำเร็จ: อ่าน validation message, รักษาค่าที่กรอกไว้ และตรวจ active organization ก่อนลองใหม่
edge and approvals
- เส้นทาง:
/changelog/edge-and-approvals - Source:
app/pages/changelog/[...slug].vue - ใช้สำหรับ: หน้า public/login/help ที่ผู้ใช้ทุก persona พบได้
- สิทธิ์ก่อนเข้า: หน้า public เปิดได้โดยไม่ต้อง login; คำสั่งที่แตะข้อมูลส่วนตัวอาจพาไปเข้าสู่ระบบ

- เมนูหลักและขอบเขตโมดูล
- ชื่อหน้าและบริบทที่กำลังใช้งาน
- คำสั่งหลัก ตัวกรอง หรือปุ่มเพิ่มข้อมูล
- พื้นที่ข้อมูล ฟอร์ม ตาราง แผนที่ หรือ empty state
- การแจ้งเตือน ภาษา ธีม และเมนูบัญชี
วิธีใช้งาน
- เปิดหน้าจากเมนูหรือเส้นทางที่ระบุ และยืนยันบริบทจากชื่อหน้า
- ตรวจข้อความแนะนำ สถานะ และค่าที่ระบบแสดงก่อนเริ่มทำงาน
- ใช้คำสั่งตามตารางด้านล่างและหลีกเลี่ยงการกดซ้ำระหว่าง loading
- อ่าน confirmation/error ที่ระบบตอบกลับ และแก้เฉพาะค่าที่ถูกระบุ
- กลับหน้าก่อนหน้าหรือ refresh เพื่อยืนยันผลจาก backend
ค่าหรือคำสั่งที่พบใน source
| Key | ข้อความที่ผู้ใช้เห็น | ความหมาย/การใช้งาน |
|---|---|---|
| — | ไม่พบ label แบบ static ใน source | หน้านี้สร้างข้อความจากข้อมูลหรือ component ย่อย ให้ยึดภาพและ workflow ที่แสดง |
สถานะผิดปกติ
- Loading: รอให้ skeleton/spinner หายก่อนกดซ้ำ
- Empty: ไม่ได้แปลว่าไม่มีข้อมูลทั้งระบบ; อาจถูกกรองหรือไม่มี resource grant
- 403/เมนูหาย: ติดต่อ Org Admin เพื่อตรวจ menu และ resource permission แยกกัน
- บันทึกไม่สำเร็จ: อ่าน validation message, รักษาค่าที่กรอกไว้ และตรวจ active organization ก่อนลองใหม่
changelog
- เส้นทาง:
/changelog - Source:
app/pages/changelog/index.vue - ใช้สำหรับ: หน้า public/login/help ที่ผู้ใช้ทุก persona พบได้
- สิทธิ์ก่อนเข้า: หน้า public เปิดได้โดยไม่ต้อง login; คำสั่งที่แตะข้อมูลส่วนตัวอาจพาไปเข้าสู่ระบบ

- เมนูหลักและขอบเขตโมดูล
- ชื่อหน้าและบริบทที่กำลังใช้งาน
- คำสั่งหลัก ตัวกรอง หรือปุ่มเพิ่มข้อมูล
- พื้นที่ข้อมูล ฟอร์ม ตาราง แผนที่ หรือ empty state
- การแจ้งเตือน ภาษา ธีม และเมนูบัญชี
วิธีใช้งาน
- เลือก Active Organization แล้วตรวจว่าตารางแสดงขอบเขตที่ต้องการ
- ใช้ค้นหา/ตัวกรอง/เรียงลำดับเพื่อลดรายการก่อนเลือกเป้าหมาย
- อ่านสถานะและคอลัมน์สำคัญ แล้วกดแถวหรือปุ่มรายละเอียด
- ใช้คำสั่งเพิ่ม/แก้ไข/ลบเฉพาะเมื่อชื่อและ ID ของเป้าหมายตรงกัน
- ล้างตัวกรองและ refresh หลังทำรายการเพื่อยืนยันผลและจำนวนรายการ
ค่าหรือคำสั่งที่พบใน source
| Key | ข้อความที่ผู้ใช้เห็น | ความหมาย/การใช้งาน |
|---|---|---|
| — | ไม่พบ label แบบ static ใน source | หน้านี้สร้างข้อความจากข้อมูลหรือ component ย่อย ให้ยึดภาพและ workflow ที่แสดง |
สถานะผิดปกติ
- Loading: รอให้ skeleton/spinner หายก่อนกดซ้ำ
- Empty: ไม่ได้แปลว่าไม่มีข้อมูลทั้งระบบ; อาจถูกกรองหรือไม่มี resource grant
- 403/เมนูหาย: ติดต่อ Org Admin เพื่อตรวจ menu และ resource permission แยกกัน
- บันทึกไม่สำเร็จ: อ่าน validation message, รักษาค่าที่กรอกไว้ และตรวจ active organization ก่อนลองใหม่
แดชบอร์ดวิเคราะห์
- เส้นทาง:
/dashboard - Source:
app/pages/dashboard.vue - ใช้สำหรับ: แดชบอร์ดและ monitoring
- สิทธิ์ก่อนเข้า: ต้อง login และเลือก Active Organization; ข้อมูลที่เห็นขึ้นกับ menu และ resource permission

- เมนูหลักและขอบเขตโมดูล
- ชื่อหน้าและบริบทที่กำลังใช้งาน
- คำสั่งหลัก ตัวกรอง หรือปุ่มเพิ่มข้อมูล
- พื้นที่ข้อมูล ฟอร์ม ตาราง แผนที่ หรือ empty state
- การแจ้งเตือน ภาษา ธีม และเมนูบัญชี
วิธีใช้งาน
- เลือก Active Organization, ช่วงเวลา และพื้นที่/กลุ่มอุปกรณ์ที่ต้องการติดตาม
- ตั้งตัวกรองก่อนอ่านตัวเลข เพื่อให้ทุก card, chart และตารางอยู่ในขอบเขตเดียวกัน
- ตรวจ timestamp/สถานะล่าสุดก่อนสรุปว่าอุปกรณ์หรือเหตุการณ์ยัง active
- เปิดรายละเอียดจากจุดบนแผนที่ card หรือแถวตารางเพื่อดูข้อมูลต้นทาง
- หากข้อมูลไม่ขยับ ให้ refresh แล้วตรวจ network/resource permission ก่อนแจ้งเหตุขัดข้อง
ค่าหรือคำสั่งที่พบใน source
| Key | ข้อความที่ผู้ใช้เห็น | ความหมาย/การใช้งาน |
|---|---|---|
analytics.ouFilterAll | ทั้งหมด | เครื่องมือจำกัดหรือจัดลำดับผลลัพธ์บนหน้าปัจจุบัน; ล้างตัวกรองเมื่อสงสัยว่าข้อมูลหาย |
analytics.scopeOwner | ในความดูแล | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
analytics.scopePublic | สาธารณะ | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
analytics.analyticsOverview | Analytics Overview | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
analytics.cameraUsageReport | รายงานการใช้งานกล้อง | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
analytics.plays | จำนวนการรับชมทั้งหมด | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
analytics.sessions | จำนวนเซสชันการรับชม | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
analytics.viewers | จำนวนผู้ชมไม่ซ้ำ | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
analytics.streams | จำนวนสตรีมที่เปิดใช้งาน | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
analytics.activeStreams | จำนวนสตรีมที่เปิดใช้งานตามเวลา | วันหรือช่วงเวลาที่ใช้กรอง/กำหนดอายุรายการ; ตรวจ timezone และให้วันสิ้นสุดไม่ก่อนวันเริ่มต้น |
analytics.title | แดชบอร์ดวิเคราะห์ | ชื่อหน้า/ส่วน ใช้ยืนยันว่ากำลังทำงานในโมดูลและบริบทที่ถูกต้องก่อนสั่งงาน |
analytics.resourceGroup | กลุ่มกล้อง | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
analytics.noData | ไม่มีข้อมูล | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
analytics.byDevice | ผู้ชมแยกตามอุปกรณ์ | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
analytics.byBrowser | ผู้ชมแยกตามเว็บเบราว์เซอร์ | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
analytics.bySource | การรับชมแยกตามแหล่งที่มา | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
analytics.cameraName | ชื่อกล้อง | ชื่อที่ใช้แสดงและค้นหารายการ; ตั้งให้สื่อความหมายและไม่ซ้ำกับรายการในขอบเขตเดียวกัน |
analytics.site | ไซต์ติดตั้ง | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
analytics.district | เขตพื้นที่ | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
analytics.name | ชื่อพื้นที่ | ชื่อที่ใช้แสดงและค้นหารายการ; ตั้งให้สื่อความหมายและไม่ซ้ำกับรายการในขอบเขตเดียวกัน |
analytics.sessionsUnique | จำนวนเซสชันไม่ซ้ำ | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
analytics.playsOverTime | จำนวนการรับชมตามช่วงเวลา | วันหรือช่วงเวลาที่ใช้กรอง/กำหนดอายุรายการ; ตรวจ timezone และให้วันสิ้นสุดไม่ก่อนวันเริ่มต้น |
analytics.playsByResourceGroup | จำนวนเล่นแยกตามกลุ่มกล้อง | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
analytics.eventsBreakdown | ประเภทเหตุการณ์ที่เกิดขึ้น | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
analytics.topCameras | 10 อันดับกล้องที่มีการรับชมสูงสุด | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
analytics.dimensionTable | สรุปสถิติตามมิติข้อมูล | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
analytics.livestreamOverviewTitle | ภาพรวมการใช้งาน Livestream | ชื่อหน้า/ส่วน ใช้ยืนยันว่ากำลังทำงานในโมดูลและบริบทที่ถูกต้องก่อนสั่งงาน |
analytics.nGroups | {n} กลุ่ม | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
สถานะผิดปกติ
- Loading: รอให้ skeleton/spinner หายก่อนกดซ้ำ
- Empty: ไม่ได้แปลว่าไม่มีข้อมูลทั้งระบบ; อาจถูกกรองหรือไม่มี resource grant
- 403/เมนูหาย: ติดต่อ Org Admin เพื่อตรวจ menu และ resource permission แยกกัน
- บันทึกไม่สำเร็จ: อ่าน validation message, รักษาค่าที่กรอกไว้ และตรวจ active organization ก่อนลองใหม่
getting started
- เส้นทาง:
/docs/getting-started - Source:
app/pages/docs/[...slug].vue - ใช้สำหรับ: หน้า public/login/help ที่ผู้ใช้ทุก persona พบได้
- สิทธิ์ก่อนเข้า: หน้า public เปิดได้โดยไม่ต้อง login; คำสั่งที่แตะข้อมูลส่วนตัวอาจพาไปเข้าสู่ระบบ

- เมนูหลักและขอบเขตโมดูล
- ชื่อหน้าและบริบทที่กำลังใช้งาน
- คำสั่งหลัก ตัวกรอง หรือปุ่มเพิ่มข้อมูล
- พื้นที่ข้อมูล ฟอร์ม ตาราง แผนที่ หรือ empty state
- การแจ้งเตือน ภาษา ธีม และเมนูบัญชี
วิธีใช้งาน
- เปิดหน้าจากเมนูหรือเส้นทางที่ระบุ และยืนยันบริบทจากชื่อหน้า
- ตรวจข้อความแนะนำ สถานะ และค่าที่ระบบแสดงก่อนเริ่มทำงาน
- ใช้คำสั่งตามตารางด้านล่างและหลีกเลี่ยงการกดซ้ำระหว่าง loading
- อ่าน confirmation/error ที่ระบบตอบกลับ และแก้เฉพาะค่าที่ถูกระบุ
- กลับหน้าก่อนหน้าหรือ refresh เพื่อยืนยันผลจาก backend
ค่าหรือคำสั่งที่พบใน source
| Key | ข้อความที่ผู้ใช้เห็น | ความหมาย/การใช้งาน |
|---|---|---|
| — | ไม่พบ label แบบ static ใน source | หน้านี้สร้างข้อความจากข้อมูลหรือ component ย่อย ให้ยึดภาพและ workflow ที่แสดง |
สถานะผิดปกติ
- Loading: รอให้ skeleton/spinner หายก่อนกดซ้ำ
- Empty: ไม่ได้แปลว่าไม่มีข้อมูลทั้งระบบ; อาจถูกกรองหรือไม่มี resource grant
- 403/เมนูหาย: ติดต่อ Org Admin เพื่อตรวจ menu และ resource permission แยกกัน
- บันทึกไม่สำเร็จ: อ่าน validation message, รักษาค่าที่กรอกไว้ และตรวจ active organization ก่อนลองใหม่
ซิงก์เสร็จแบบบางส่วน
- เส้นทาง:
/floorPlans - Source:
app/pages/floorPlans/index.vue - ใช้สำหรับ: ดู/ใช้งานสินทรัพย์และ Floor Plan
- สิทธิ์ก่อนเข้า: ต้อง login และเลือก Active Organization; ข้อมูลที่เห็นขึ้นกับ menu และ resource permission

- เมนูหลักและขอบเขตโมดูล
- ชื่อหน้าและบริบทที่กำลังใช้งาน
- คำสั่งหลัก ตัวกรอง หรือปุ่มเพิ่มข้อมูล
- พื้นที่ข้อมูล ฟอร์ม ตาราง แผนที่ หรือ empty state
- การแจ้งเตือน ภาษา ธีม และเมนูบัญชี
วิธีใช้งาน
- เลือก Active Organization แล้วตรวจว่าตารางแสดงขอบเขตที่ต้องการ
- ใช้ค้นหา/ตัวกรอง/เรียงลำดับเพื่อลดรายการก่อนเลือกเป้าหมาย
- อ่านสถานะและคอลัมน์สำคัญ แล้วกดแถวหรือปุ่มรายละเอียด
- ใช้คำสั่งเพิ่ม/แก้ไข/ลบเฉพาะเมื่อชื่อและ ID ของเป้าหมายตรงกัน
- ล้างตัวกรองและ refresh หลังทำรายการเพื่อยืนยันผลและจำนวนรายการ
ค่าหรือคำสั่งที่พบใน source
| Key | ข้อความที่ผู้ใช้เห็น | ความหมาย/การใช้งาน |
|---|---|---|
floorPlans.syncPartialTitle | ซิงก์เสร็จแบบบางส่วน | ชื่อหน้า/ส่วน ใช้ยืนยันว่ากำลังทำงานในโมดูลและบริบทที่ถูกต้องก่อนสั่งงาน |
floorPlans.syncSuccessTitle | ซิงก์สถานะกล้องสำเร็จ | ข้อความยืนยันว่าระบบรับคำสั่งแล้ว; refresh หรือกลับไปหน้ารายการเพื่อตรวจผลที่บันทึกจริง |
floorPlans.syncResultDesc | ลงทะเบียน {registered} • ข้าม {skipped} • ล้มเหลว {failed} | ข้อความผิดพลาด: อ่านสาเหตุ แก้ค่าหรือสิทธิ์ที่ระบุ แล้วลองใหม่โดยไม่กดซ้ำระหว่างที่ระบบกำลังประมวลผล |
floorPlans.syncNotConfigured | commonmon ไม่ได้ตั้งค่าใน deployment นี้ | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
floorPlans.syncFailed | ซิงก์สถานะกล้องไม่สำเร็จ | ข้อความผิดพลาด: อ่านสาเหตุ แก้ค่าหรือสิทธิ์ที่ระบุ แล้วลองใหม่โดยไม่กดซ้ำระหว่างที่ระบบกำลังประมวลผล |
global.error | เกิดข้อผิดพลาด | ข้อความผิดพลาด: อ่านสาเหตุ แก้ค่าหรือสิทธิ์ที่ระบุ แล้วลองใหม่โดยไม่กดซ้ำระหว่างที่ระบบกำลังประมวลผล |
floorPlans.deleteConfirm | ลบแผนผัง "{name}"? การกระทำนี้ไม่สามารถย้อนกลับได้ | คำสั่งเปลี่ยนหรือส่งออกข้อมูล; ตรวจรายการเป้าหมายและอ่าน confirmation ก่อนยืนยัน โดยเฉพาะคำสั่งที่ย้อนกลับไม่ได้ |
floorPlans.deletedTitle | ลบแผนผังแล้ว | ชื่อหน้า/ส่วน ใช้ยืนยันว่ากำลังทำงานในโมดูลและบริบทที่ถูกต้องก่อนสั่งงาน |
floorPlans.listIntro | อัปโหลดแปลนอาคาร 2 มิติ แล้ววางตำแหน่งกล้องลงบนแปลน | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
floorPlans.searchPlaceholder | ค้นหาด้วยชื่อหรืออาคาร… | เครื่องมือจำกัดหรือจัดลำดับผลลัพธ์บนหน้าปัจจุบัน; ล้างตัวกรองเมื่อสงสัยว่าข้อมูลหาย |
floorPlans.syncStatus | ซิงก์สถานะ | สถานะ lifecycle ของรายการ; ใช้ตัดสินว่ารายการพร้อมใช้งาน ถูกพัก หรือสิ้นสุด และตรวจผลกระทบก่อนเปลี่ยนสถานะ |
floorPlans.emptyTitle | ยังไม่มีแผนผังอาคาร | ชื่อหน้า/ส่วน ใช้ยืนยันว่ากำลังทำงานในโมดูลและบริบทที่ถูกต้องก่อนสั่งงาน |
floorPlans.uploadFirst | อัปโหลดแผนผังแรกของคุณ | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
floorPlans.updatedAt | อัปเดตเมื่อ {date} | วันหรือช่วงเวลาที่ใช้กรอง/กำหนดอายุรายการ; ตรวจ timezone และให้วันสิ้นสุดไม่ก่อนวันเริ่มต้น |
floorPlans.open | เปิด | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
floorPlans.countLabel | แผนผัง {count} รายการ | ชื่อที่ใช้แสดงและค้นหารายการ; ตั้งให้สื่อความหมายและไม่ซ้ำกับรายการในขอบเขตเดียวกัน |
สถานะผิดปกติ
- Loading: รอให้ skeleton/spinner หายก่อนกดซ้ำ
- Empty: ไม่ได้แปลว่าไม่มีข้อมูลทั้งระบบ; อาจถูกกรองหรือไม่มี resource grant
- 403/เมนูหาย: ติดต่อ Org Admin เพื่อตรวจ menu และ resource permission แยกกัน
- บันทึกไม่สำเร็จ: อ่าน validation message, รักษาค่าที่กรอกไว้ และตรวจ active organization ก่อนลองใหม่
หน้าหลัก
- เส้นทาง:
/ - Source:
app/pages/index.vue - ใช้สำหรับ: หน้า public/login/help ที่ผู้ใช้ทุก persona พบได้
- สิทธิ์ก่อนเข้า: หน้า public เปิดได้โดยไม่ต้อง login; คำสั่งที่แตะข้อมูลส่วนตัวอาจพาไปเข้าสู่ระบบ

- เมนูหลักและขอบเขตโมดูล
- ชื่อหน้าและบริบทที่กำลังใช้งาน
- คำสั่งหลัก ตัวกรอง หรือปุ่มเพิ่มข้อมูล
- พื้นที่ข้อมูล ฟอร์ม ตาราง แผนที่ หรือ empty state
- การแจ้งเตือน ภาษา ธีม และเมนูบัญชี
วิธีใช้งาน
- เลือก Active Organization แล้วตรวจว่าตารางแสดงขอบเขตที่ต้องการ
- ใช้ค้นหา/ตัวกรอง/เรียงลำดับเพื่อลดรายการก่อนเลือกเป้าหมาย
- อ่านสถานะและคอลัมน์สำคัญ แล้วกดแถวหรือปุ่มรายละเอียด
- ใช้คำสั่งเพิ่ม/แก้ไข/ลบเฉพาะเมื่อชื่อและ ID ของเป้าหมายตรงกัน
- ล้างตัวกรองและ refresh หลังทำรายการเพื่อยืนยันผลและจำนวนรายการ
ค่าหรือคำสั่งที่พบใน source
| Key | ข้อความที่ผู้ใช้เห็น | ความหมาย/การใช้งาน |
|---|---|---|
landing.footerCopyright | © 2567 Point IT Consulting Co., Ltd. สงวนลิขสิทธิ์ | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
landing.footerDocs | เอกสาร | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
landing.ctaBtn | เริ่มต้นใช้งาน | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
สถานะผิดปกติ
- Loading: รอให้ skeleton/spinner หายก่อนกดซ้ำ
- Empty: ไม่ได้แปลว่าไม่มีข้อมูลทั้งระบบ; อาจถูกกรองหรือไม่มี resource grant
- 403/เมนูหาย: ติดต่อ Org Admin เพื่อตรวจ menu และ resource permission แยกกัน
- บันทึกไม่สำเร็จ: อ่าน validation message, รักษาค่าที่กรอกไว้ และตรวจ active organization ก่อนลองใหม่
dashboard
- เส้นทาง:
/ingest/dashboard - Source:
app/pages/ingest/dashboard.vue - ใช้สำหรับ: แดชบอร์ดและ monitoring
- สิทธิ์ก่อนเข้า: ต้อง login และเลือก Active Organization; ข้อมูลที่เห็นขึ้นกับ menu และ resource permission

- เมนูหลักและขอบเขตโมดูล
- ชื่อหน้าและบริบทที่กำลังใช้งาน
- คำสั่งหลัก ตัวกรอง หรือปุ่มเพิ่มข้อมูล
- พื้นที่ข้อมูล ฟอร์ม ตาราง แผนที่ หรือ empty state
- การแจ้งเตือน ภาษา ธีม และเมนูบัญชี
วิธีใช้งาน
- เลือก Active Organization, ช่วงเวลา และพื้นที่/กลุ่มอุปกรณ์ที่ต้องการติดตาม
- ตั้งตัวกรองก่อนอ่านตัวเลข เพื่อให้ทุก card, chart และตารางอยู่ในขอบเขตเดียวกัน
- ตรวจ timestamp/สถานะล่าสุดก่อนสรุปว่าอุปกรณ์หรือเหตุการณ์ยัง active
- เปิดรายละเอียดจากจุดบนแผนที่ card หรือแถวตารางเพื่อดูข้อมูลต้นทาง
- หากข้อมูลไม่ขยับ ให้ refresh แล้วตรวจ network/resource permission ก่อนแจ้งเหตุขัดข้อง
ค่าหรือคำสั่งที่พบใน source
| Key | ข้อความที่ผู้ใช้เห็น | ความหมาย/การใช้งาน |
|---|---|---|
nav.ingest.dashboard | แดชบอร์ดเหตุการณ์ | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
edgeAi.summaryReport.totalEvents | เหตุการณ์ทั้งหมด | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
edgeAi.summaryReport.faceCaptures | จับภาพใบหน้า | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
edgeAi.summaryReport.vehicleCaptures | จับภาพยานพาหนะ | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
edgeAi.summaryReport.blacklistAlerts | แจ้งเตือน Blacklist | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
edgeAi.summaryReport.in | เข้า | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
edgeAi.summaryReport.out | ออก | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
edgeAi.summaryReport.eventTrend | แนวโน้มเหตุการณ์ | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
common.noData | ไม่มีข้อมูล | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
edgeAi.summaryReport.eventDistribution | การกระจายเหตุการณ์ | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
edgeAi.summaryReport.peopleCountingByZone | การนับคนตามโซน | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
edgeAi.summaryReport.deviceStatus | สถานะอุปกรณ์ | สถานะ lifecycle ของรายการ; ใช้ตัดสินว่ารายการพร้อมใช้งาน ถูกพัก หรือสิ้นสุด และตรวจผลกระทบก่อนเปลี่ยนสถานะ |
edgeAi.summaryReport.cameras | กล้อง | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
edgeAi.summaryReport.controllers | ตัวควบคุม | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
edgeAi.summaryReport.recentEvents | เหตุการณ์ล่าสุด | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
สถานะผิดปกติ
- Loading: รอให้ skeleton/spinner หายก่อนกดซ้ำ
- Empty: ไม่ได้แปลว่าไม่มีข้อมูลทั้งระบบ; อาจถูกกรองหรือไม่มี resource grant
- 403/เมนูหาย: ติดต่อ Org Admin เพื่อตรวจ menu และ resource permission แยกกัน
- บันทึกไม่สำเร็จ: อ่าน validation message, รักษาค่าที่กรอกไว้ และตรวจ active organization ก่อนลองใหม่
รายละเอียดเหตุการณ์
- เส้นทาง:
/ingest/events - Source:
app/pages/ingest/events.vue - ใช้สำหรับ: ค้นหาและทบทวนเหตุการณ์
- สิทธิ์ก่อนเข้า: ต้อง login และเลือก Active Organization; ข้อมูลที่เห็นขึ้นกับ menu และ resource permission

- เมนูหลักและขอบเขตโมดูล
- ชื่อหน้าและบริบทที่กำลังใช้งาน
- คำสั่งหลัก ตัวกรอง หรือปุ่มเพิ่มข้อมูล
- พื้นที่ข้อมูล ฟอร์ม ตาราง แผนที่ หรือ empty state
- การแจ้งเตือน ภาษา ธีม และเมนูบัญชี
วิธีใช้งาน
- เลือก Active Organization, ช่วงเวลา และพื้นที่/กลุ่มอุปกรณ์ที่ต้องการติดตาม
- ตั้งตัวกรองก่อนอ่านตัวเลข เพื่อให้ทุก card, chart และตารางอยู่ในขอบเขตเดียวกัน
- ตรวจ timestamp/สถานะล่าสุดก่อนสรุปว่าอุปกรณ์หรือเหตุการณ์ยัง active
- เปิดรายละเอียดจากจุดบนแผนที่ card หรือแถวตารางเพื่อดูข้อมูลต้นทาง
- หากข้อมูลไม่ขยับ ให้ refresh แล้วตรวจ network/resource permission ก่อนแจ้งเหตุขัดข้อง
ค่าหรือคำสั่งที่พบใน source
| Key | ข้อความที่ผู้ใช้เห็น | ความหมาย/การใช้งาน |
|---|---|---|
nav.ingest.events | เหตุการณ์ | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
nav.ingest.columns.eventType | ประเภทเหตุการณ์ | หัวคอลัมน์ของตาราง ใช้เทียบค่าระหว่างรายการ; กดแถวเพื่อดูรายละเอียดเมื่อค่าถูกตัดทอน |
nav.ingest.columns.eventCategory | หมวดหมู่ | หัวคอลัมน์ของตาราง ใช้เทียบค่าระหว่างรายการ; กดแถวเพื่อดูรายละเอียดเมื่อค่าถูกตัดทอน |
nav.ingest.columns.eventAction | การกระทำ | หัวคอลัมน์ของตาราง ใช้เทียบค่าระหว่างรายการ; กดแถวเพื่อดูรายละเอียดเมื่อค่าถูกตัดทอน |
nav.ingest.columns.deviceName | อุปกรณ์ | ชื่อที่ใช้แสดงและค้นหารายการ; ตั้งให้สื่อความหมายและไม่ซ้ำกับรายการในขอบเขตเดียวกัน |
nav.ingest.images | รูปภาพ | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
nav.ingest.columns.occurredAt | เวลาเกิดเหตุ | วันหรือช่วงเวลาที่ใช้กรอง/กำหนดอายุรายการ; ตรวจ timezone และให้วันสิ้นสุดไม่ก่อนวันเริ่มต้น |
nav.ingest.filterEventType | กรองตามประเภทเหตุการณ์… | เครื่องมือจำกัดหรือจัดลำดับผลลัพธ์บนหน้าปัจจุบัน; ล้างตัวกรองเมื่อสงสัยว่าข้อมูลหาย |
nav.ingest.items | รายการ | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
global.noData | ไม่มีข้อมูล | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
kcontrol.pagination.showing | กำลังแสดง | สถานะกำลังโหลดหรือประมวลผล; รอให้สถานะสิ้นสุดก่อนเปลี่ยนหน้า/กดคำสั่งเดิมซ้ำ |
kcontrol.pagination.of | จาก | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
nav.ingest.detailTitle | รายละเอียดเหตุการณ์ | ชื่อหน้า/ส่วน ใช้ยืนยันว่ากำลังทำงานในโมดูลและบริบทที่ถูกต้องก่อนสั่งงาน |
nav.ingest.noImages | ไม่มีรูปภาพ | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
nav.ingest.attributes | คุณสมบัติที่ตรวจพบ | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
nav.ingest.eventInfo | ข้อมูลเหตุการณ์ | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
nav.ingest.sourceInfo | แหล่งที่มา | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
nav.ingest.locationInfo | ตำแหน่ง | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
สถานะผิดปกติ
- Loading: รอให้ skeleton/spinner หายก่อนกดซ้ำ
- Empty: ไม่ได้แปลว่าไม่มีข้อมูลทั้งระบบ; อาจถูกกรองหรือไม่มี resource grant
- 403/เมนูหาย: ติดต่อ Org Admin เพื่อตรวจ menu และ resource permission แยกกัน
- บันทึกไม่สำเร็จ: อ่าน validation message, รักษาค่าที่กรอกไว้ และตรวจ active organization ก่อนลองใหม่
intDash
- เส้นทาง:
/intDash - Source:
app/pages/intDash.vue - ใช้สำหรับ: แดชบอร์ดและ monitoring
- สิทธิ์ก่อนเข้า: ต้อง login และเลือก Active Organization; ข้อมูลที่เห็นขึ้นกับ menu และ resource permission

- เมนูหลักและขอบเขตโมดูล
- ชื่อหน้าและบริบทที่กำลังใช้งาน
- คำสั่งหลัก ตัวกรอง หรือปุ่มเพิ่มข้อมูล
- พื้นที่ข้อมูล ฟอร์ม ตาราง แผนที่ หรือ empty state
- การแจ้งเตือน ภาษา ธีม และเมนูบัญชี
วิธีใช้งาน
- เปิดหน้าจากเมนูหรือเส้นทางที่ระบุ และยืนยันบริบทจากชื่อหน้า
- ตรวจข้อความแนะนำ สถานะ และค่าที่ระบบแสดงก่อนเริ่มทำงาน
- ใช้คำสั่งตามตารางด้านล่างและหลีกเลี่ยงการกดซ้ำระหว่าง loading
- อ่าน confirmation/error ที่ระบบตอบกลับ และแก้เฉพาะค่าที่ถูกระบุ
- กลับหน้าก่อนหน้าหรือ refresh เพื่อยืนยันผลจาก backend
ค่าหรือคำสั่งที่พบใน source
| Key | ข้อความที่ผู้ใช้เห็น | ความหมาย/การใช้งาน |
|---|---|---|
| — | ไม่พบ label แบบ static ใน source | หน้านี้สร้างข้อความจากข้อมูลหรือ component ย่อย ให้ยึดภาพและ workflow ที่แสดง |
สถานะผิดปกติ
- Loading: รอให้ skeleton/spinner หายก่อนกดซ้ำ
- Empty: ไม่ได้แปลว่าไม่มีข้อมูลทั้งระบบ; อาจถูกกรองหรือไม่มี resource grant
- 403/เมนูหาย: ติดต่อ Org Admin เพื่อตรวจ menu และ resource permission แยกกัน
- บันทึกไม่สำเร็จ: อ่าน validation message, รักษาค่าที่กรอกไว้ และตรวจ active organization ก่อนลองใหม่
ระบบควบคุม
- เส้นทาง:
/kcontrol/events - Source:
app/pages/kcontrol/events.vue - ใช้สำหรับ: ติดตามและปฏิบัติการ KControl
- สิทธิ์ก่อนเข้า: ต้อง login และเลือก Active Organization; ข้อมูลที่เห็นขึ้นกับ menu และ resource permission

- เมนูหลักและขอบเขตโมดูล
- ชื่อหน้าและบริบทที่กำลังใช้งาน
- คำสั่งหลัก ตัวกรอง หรือปุ่มเพิ่มข้อมูล
- พื้นที่ข้อมูล ฟอร์ม ตาราง แผนที่ หรือ empty state
- การแจ้งเตือน ภาษา ธีม และเมนูบัญชี
วิธีใช้งาน
- เลือก Active Organization, ช่วงเวลา และพื้นที่/กลุ่มอุปกรณ์ที่ต้องการติดตาม
- ตั้งตัวกรองก่อนอ่านตัวเลข เพื่อให้ทุก card, chart และตารางอยู่ในขอบเขตเดียวกัน
- ตรวจ timestamp/สถานะล่าสุดก่อนสรุปว่าอุปกรณ์หรือเหตุการณ์ยัง active
- เปิดรายละเอียดจากจุดบนแผนที่ card หรือแถวตารางเพื่อดูข้อมูลต้นทาง
- หากข้อมูลไม่ขยับ ให้ refresh แล้วตรวจ network/resource permission ก่อนแจ้งเหตุขัดข้อง
ค่าหรือคำสั่งที่พบใน source
| Key | ข้อความที่ผู้ใช้เห็น | ความหมาย/การใช้งาน |
|---|---|---|
kcontrol.title | ระบบควบคุม | ชื่อหน้า/ส่วน ใช้ยืนยันว่ากำลังทำงานในโมดูลและบริบทที่ถูกต้องก่อนสั่งงาน |
kcontrol.status.acknowledged | รับแจ้งแล้ว | สถานะ lifecycle ของรายการ; ใช้ตัดสินว่ารายการพร้อมใช้งาน ถูกพัก หรือสิ้นสุด และตรวจผลกระทบก่อนเปลี่ยนสถานะ |
kcontrol.status.resolved | ปิดงานแล้ว | สถานะ lifecycle ของรายการ; ใช้ตัดสินว่ารายการพร้อมใช้งาน ถูกพัก หรือสิ้นสุด และตรวจผลกระทบก่อนเปลี่ยนสถานะ |
kcontrol.toast.ackSuccess | รับทราบแล้ว | ข้อความยืนยันว่าระบบรับคำสั่งแล้ว; refresh หรือกลับไปหน้ารายการเพื่อตรวจผลที่บันทึกจริง |
kcontrol.toast.ackSuccessDesc | รายการถูกยืนยันแล้ว | ข้อความยืนยันว่าระบบรับคำสั่งแล้ว; refresh หรือกลับไปหน้ารายการเพื่อตรวจผลที่บันทึกจริง |
kcontrol.toast.ackFailed | รับทราบไม่สำเร็จ | ข้อความผิดพลาด: อ่านสาเหตุ แก้ค่าหรือสิทธิ์ที่ระบุ แล้วลองใหม่โดยไม่กดซ้ำระหว่างที่ระบบกำลังประมวลผล |
kcontrol.toast.deleteSuccess | ลบเรียบร้อย | ข้อความยืนยันว่าระบบรับคำสั่งแล้ว; refresh หรือกลับไปหน้ารายการเพื่อตรวจผลที่บันทึกจริง |
kcontrol.toast.deleteSuccessDesc | ลบรายการสำเร็จ | ข้อความยืนยันว่าระบบรับคำสั่งแล้ว; refresh หรือกลับไปหน้ารายการเพื่อตรวจผลที่บันทึกจริง |
kcontrol.toast.deleteFailed | ลบไม่สำเร็จ | ข้อความผิดพลาด: อ่านสาเหตุ แก้ค่าหรือสิทธิ์ที่ระบุ แล้วลองใหม่โดยไม่กดซ้ำระหว่างที่ระบบกำลังประมวลผล |
kcontrol.columns.no | ลำดับ | หัวคอลัมน์ของตาราง ใช้เทียบค่าระหว่างรายการ; กดแถวเพื่อดูรายละเอียดเมื่อค่าถูกตัดทอน |
kcontrol.columns.name | ชื่อ | ชื่อที่ใช้แสดงและค้นหารายการ; ตั้งให้สื่อความหมายและไม่ซ้ำกับรายการในขอบเขตเดียวกัน |
kcontrol.columns.message | ข้อความ | หัวคอลัมน์ของตาราง ใช้เทียบค่าระหว่างรายการ; กดแถวเพื่อดูรายละเอียดเมื่อค่าถูกตัดทอน |
kcontrol.columns.datetime | วันที่/เวลา | วันหรือช่วงเวลาที่ใช้กรอง/กำหนดอายุรายการ; ตรวจ timezone และให้วันสิ้นสุดไม่ก่อนวันเริ่มต้น |
kcontrol.columns.duration | ระยะเวลา | วันหรือช่วงเวลาที่ใช้กรอง/กำหนดอายุรายการ; ตรวจ timezone และให้วันสิ้นสุดไม่ก่อนวันเริ่มต้น |
kcontrol.columns.elapsed | เวลาผ่านไป | วันหรือช่วงเวลาที่ใช้กรอง/กำหนดอายุรายการ; ตรวจ timezone และให้วันสิ้นสุดไม่ก่อนวันเริ่มต้น |
kcontrol.columns.hwid | รหัสอุปกรณ์ | รหัสอ้างอิงของรายการ ใช้เชื่อมกับ URL/API และการตรวจสอบย้อนหลัง; ไม่ควรแก้หรือเดาจากชื่อแสดงผล |
kcontrol.columns.actions | การดำเนินการ | หัวคอลัมน์ของตาราง ใช้เทียบค่าระหว่างรายการ; กดแถวเพื่อดูรายละเอียดเมื่อค่าถูกตัดทอน |
kcontrol.actions2.ack | รับทราบ | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
common.delete | ลบ | คำสั่งเปลี่ยนหรือส่งออกข้อมูล; ตรวจรายการเป้าหมายและอ่าน confirmation ก่อนยืนยัน โดยเฉพาะคำสั่งที่ย้อนกลับไม่ได้ |
kcontrol.cards.total | ทั้งหมด | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
kcontrol.cards.today | วันนี้ | วันหรือช่วงเวลาที่ใช้กรอง/กำหนดอายุรายการ; ตรวจ timezone และให้วันสิ้นสุดไม่ก่อนวันเริ่มต้น |
kcontrol.cards.last24h | 24 ชั่วโมงที่ผ่านมา | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
kcontrol.searchPlaceholder | ค้นหา... | เครื่องมือจำกัดหรือจัดลำดับผลลัพธ์บนหน้าปัจจุบัน; ล้างตัวกรองเมื่อสงสัยว่าข้อมูลหาย |
systemDevices.actions.exportExcel | ส่งออก Excel | คำสั่งเปลี่ยนหรือส่งออกข้อมูล; ตรวจรายการเป้าหมายและอ่าน confirmation ก่อนยืนยัน โดยเฉพาะคำสั่งที่ย้อนกลับไม่ได้ |
kcontrol.pagination.showing | กำลังแสดง | สถานะกำลังโหลดหรือประมวลผล; รอให้สถานะสิ้นสุดก่อนเปลี่ยนหน้า/กดคำสั่งเดิมซ้ำ |
kcontrol.pagination.of | จาก | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
kcontrol.pagination.items | รายการ | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
kcontrol.delete.title | ลบรายการนี้? | ชื่อหน้า/ส่วน ใช้ยืนยันว่ากำลังทำงานในโมดูลและบริบทที่ถูกต้องก่อนสั่งงาน |
สถานะผิดปกติ
- Loading: รอให้ skeleton/spinner หายก่อนกดซ้ำ
- Empty: ไม่ได้แปลว่าไม่มีข้อมูลทั้งระบบ; อาจถูกกรองหรือไม่มี resource grant
- 403/เมนูหาย: ติดต่อ Org Admin เพื่อตรวจ menu และ resource permission แยกกัน
- บันทึกไม่สำเร็จ: อ่าน validation message, รักษาค่าที่กรอกไว้ และตรวจ active organization ก่อนลองใหม่
ระบบควบคุม
- เส้นทาง:
/kcontrol - Source:
app/pages/kcontrol/index.vue - ใช้สำหรับ: ติดตามและปฏิบัติการ KControl
- สิทธิ์ก่อนเข้า: ต้อง login และเลือก Active Organization; ข้อมูลที่เห็นขึ้นกับ menu และ resource permission

- เมนูหลักและขอบเขตโมดูล
- ชื่อหน้าและบริบทที่กำลังใช้งาน
- คำสั่งหลัก ตัวกรอง หรือปุ่มเพิ่มข้อมูล
- พื้นที่ข้อมูล ฟอร์ม ตาราง แผนที่ หรือ empty state
- การแจ้งเตือน ภาษา ธีม และเมนูบัญชี
วิธีใช้งาน
- เลือก Active Organization แล้วตรวจว่าตารางแสดงขอบเขตที่ต้องการ
- ใช้ค้นหา/ตัวกรอง/เรียงลำดับเพื่อลดรายการก่อนเลือกเป้าหมาย
- อ่านสถานะและคอลัมน์สำคัญ แล้วกดแถวหรือปุ่มรายละเอียด
- ใช้คำสั่งเพิ่ม/แก้ไข/ลบเฉพาะเมื่อชื่อและ ID ของเป้าหมายตรงกัน
- ล้างตัวกรองและ refresh หลังทำรายการเพื่อยืนยันผลและจำนวนรายการ
ค่าหรือคำสั่งที่พบใน source
| Key | ข้อความที่ผู้ใช้เห็น | ความหมาย/การใช้งาน |
|---|---|---|
kcontrol.title | ระบบควบคุม | ชื่อหน้า/ส่วน ใช้ยืนยันว่ากำลังทำงานในโมดูลและบริบทที่ถูกต้องก่อนสั่งงาน |
kcontrol.filterPlaceholder | ค้นหา... | เครื่องมือจำกัดหรือจัดลำดับผลลัพธ์บนหน้าปัจจุบัน; ล้างตัวกรองเมื่อสงสัยว่าข้อมูลหาย |
systemDevices.actions.exportExcel | ส่งออก Excel | คำสั่งเปลี่ยนหรือส่งออกข้อมูล; ตรวจรายการเป้าหมายและอ่าน confirmation ก่อนยืนยัน โดยเฉพาะคำสั่งที่ย้อนกลับไม่ได้ |
สถานะผิดปกติ
- Loading: รอให้ skeleton/spinner หายก่อนกดซ้ำ
- Empty: ไม่ได้แปลว่าไม่มีข้อมูลทั้งระบบ; อาจถูกกรองหรือไม่มี resource grant
- 403/เมนูหาย: ติดต่อ Org Admin เพื่อตรวจ menu และ resource permission แยกกัน
- บันทึกไม่สำเร็จ: อ่าน validation message, รักษาค่าที่กรอกไว้ และตรวจ active organization ก่อนลองใหม่
logs
- เส้นทาง:
/kcontrol/logs - Source:
app/pages/kcontrol/logs.vue - ใช้สำหรับ: ติดตามและปฏิบัติการ KControl
- สิทธิ์ก่อนเข้า: ต้อง login และเลือก Active Organization; ข้อมูลที่เห็นขึ้นกับ menu และ resource permission

- เมนูหลักและขอบเขตโมดูล
- ชื่อหน้าและบริบทที่กำลังใช้งาน
- คำสั่งหลัก ตัวกรอง หรือปุ่มเพิ่มข้อมูล
- พื้นที่ข้อมูล ฟอร์ม ตาราง แผนที่ หรือ empty state
- การแจ้งเตือน ภาษา ธีม และเมนูบัญชี
วิธีใช้งาน
- เปิดหน้าจากเมนูหรือเส้นทางที่ระบุ และยืนยันบริบทจากชื่อหน้า
- ตรวจข้อความแนะนำ สถานะ และค่าที่ระบบแสดงก่อนเริ่มทำงาน
- ใช้คำสั่งตามตารางด้านล่างและหลีกเลี่ยงการกดซ้ำระหว่าง loading
- อ่าน confirmation/error ที่ระบบตอบกลับ และแก้เฉพาะค่าที่ถูกระบุ
- กลับหน้าก่อนหน้าหรือ refresh เพื่อยืนยันผลจาก backend
ค่าหรือคำสั่งที่พบใน source
| Key | ข้อความที่ผู้ใช้เห็น | ความหมาย/การใช้งาน |
|---|---|---|
nav.kcontrol.logs | ประวัติดำเนินการ | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
nav.kcontrol.logColumns.no | ลำดับ | หัวคอลัมน์ของตาราง ใช้เทียบค่าระหว่างรายการ; กดแถวเพื่อดูรายละเอียดเมื่อค่าถูกตัดทอน |
nav.kcontrol.logColumns.actorName | ผู้ปฏิบัติงาน | ชื่อที่ใช้แสดงและค้นหารายการ; ตั้งให้สื่อความหมายและไม่ซ้ำกับรายการในขอบเขตเดียวกัน |
nav.kcontrol.logColumns.actorIp | IP Address | ตำแหน่งบริการหรืออุปกรณ์ปลายทาง; ต้องเข้าถึงได้จากระบบและใช้ protocol/port ให้ตรงกับบริการ |
nav.kcontrol.logColumns.method | Method | หัวคอลัมน์ของตาราง ใช้เทียบค่าระหว่างรายการ; กดแถวเพื่อดูรายละเอียดเมื่อค่าถูกตัดทอน |
nav.kcontrol.logColumns.details | รายละเอียด | หัวคอลัมน์ของตาราง ใช้เทียบค่าระหว่างรายการ; กดแถวเพื่อดูรายละเอียดเมื่อค่าถูกตัดทอน |
nav.kcontrol.logColumns.datetime | วันที่/เวลา | วันหรือช่วงเวลาที่ใช้กรอง/กำหนดอายุรายการ; ตรวจ timezone และให้วันสิ้นสุดไม่ก่อนวันเริ่มต้น |
nav.kcontrol.searchPlaceholder | ค้นหา... | เครื่องมือจำกัดหรือจัดลำดับผลลัพธ์บนหน้าปัจจุบัน; ล้างตัวกรองเมื่อสงสัยว่าข้อมูลหาย |
systemDevices.actions.exportExcel | ส่งออก Excel | คำสั่งเปลี่ยนหรือส่งออกข้อมูล; ตรวจรายการเป้าหมายและอ่าน confirmation ก่อนยืนยัน โดยเฉพาะคำสั่งที่ย้อนกลับไม่ได้ |
nav.kcontrol.pagination.showing | กำลังแสดง | สถานะกำลังโหลดหรือประมวลผล; รอให้สถานะสิ้นสุดก่อนเปลี่ยนหน้า/กดคำสั่งเดิมซ้ำ |
nav.kcontrol.pagination.of | จาก | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
nav.kcontrol.pagination.items | รายการ | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
สถานะผิดปกติ
- Loading: รอให้ skeleton/spinner หายก่อนกดซ้ำ
- Empty: ไม่ได้แปลว่าไม่มีข้อมูลทั้งระบบ; อาจถูกกรองหรือไม่มี resource grant
- 403/เมนูหาย: ติดต่อ Org Admin เพื่อตรวจ menu และ resource permission แยกกัน
- บันทึกไม่สำเร็จ: อ่าน validation message, รักษาค่าที่กรอกไว้ และตรวจ active organization ก่อนลองใหม่
คืนค่า layout แล้ว
- เส้นทาง:
/kcontrol/map - Source:
app/pages/kcontrol/map.vue - ใช้สำหรับ: แผนที่ กล้องสด และ video wall
- สิทธิ์ก่อนเข้า: ต้อง login และเลือก Active Organization; ข้อมูลที่เห็นขึ้นกับ menu และ resource permission

- เมนูหลักและขอบเขตโมดูล
- ชื่อหน้าและบริบทที่กำลังใช้งาน
- คำสั่งหลัก ตัวกรอง หรือปุ่มเพิ่มข้อมูล
- พื้นที่ข้อมูล ฟอร์ม ตาราง แผนที่ หรือ empty state
- การแจ้งเตือน ภาษา ธีม และเมนูบัญชี
วิธีใช้งาน
- เลือก Active Organization, ช่วงเวลา และพื้นที่/กลุ่มอุปกรณ์ที่ต้องการติดตาม
- ตั้งตัวกรองก่อนอ่านตัวเลข เพื่อให้ทุก card, chart และตารางอยู่ในขอบเขตเดียวกัน
- ตรวจ timestamp/สถานะล่าสุดก่อนสรุปว่าอุปกรณ์หรือเหตุการณ์ยัง active
- เปิดรายละเอียดจากจุดบนแผนที่ card หรือแถวตารางเพื่อดูข้อมูลต้นทาง
- หากข้อมูลไม่ขยับ ให้ refresh แล้วตรวจ network/resource permission ก่อนแจ้งเหตุขัดข้อง
ค่าหรือคำสั่งที่พบใน source
| Key | ข้อความที่ผู้ใช้เห็น | ความหมาย/การใช้งาน |
|---|---|---|
kcontrolMap.toast.layoutReset.title | คืนค่า layout แล้ว | ชื่อหน้า/ส่วน ใช้ยืนยันว่ากำลังทำงานในโมดูลและบริบทที่ถูกต้องก่อนสั่งงาน |
kcontrolMap.toast.layoutReset.desc | การ์ดทั้งหมดกลับมาที่ตำแหน่งและสถานะเริ่มต้น | สถานะ lifecycle ของรายการ; ใช้ตัดสินว่ารายการพร้อมใช้งาน ถูกพัก หรือสิ้นสุด และตรวจผลกระทบก่อนเปลี่ยนสถานะ |
kmap.title | แผนที่ | ชื่อหน้า/ส่วน ใช้ยืนยันว่ากำลังทำงานในโมดูลและบริบทที่ถูกต้องก่อนสั่งงาน |
kcontrolMap.toolbar.resetLayout | คืนค่า layout เริ่มต้น | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
kmap.sidebar.show | แสดงรายการกล้อง | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
kmap.sidebar.title2 | Kcontrol รายการ | ชื่อหน้า/ส่วน ใช้ยืนยันว่ากำลังทำงานในโมดูลและบริบทที่ถูกต้องก่อนสั่งงาน |
kmap.sidebar.countSuffix2 | Kcontrol | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
สถานะผิดปกติ
- Loading: รอให้ skeleton/spinner หายก่อนกดซ้ำ
- Empty: ไม่ได้แปลว่าไม่มีข้อมูลทั้งระบบ; อาจถูกกรองหรือไม่มี resource grant
- 403/เมนูหาย: ติดต่อ Org Admin เพื่อตรวจ menu และ resource permission แยกกัน
- บันทึกไม่สำเร็จ: อ่าน validation message, รักษาค่าที่กรอกไว้ และตรวจ active organization ก่อนลองใหม่
แผนที่
- เส้นทาง:
/kcontrol/mapif - Source:
app/pages/kcontrol/mapif.vue - ใช้สำหรับ: ติดตามและปฏิบัติการ KControl
- สิทธิ์ก่อนเข้า: ต้อง login และเลือก Active Organization; ข้อมูลที่เห็นขึ้นกับ menu และ resource permission

- เมนูหลักและขอบเขตโมดูล
- ชื่อหน้าและบริบทที่กำลังใช้งาน
- คำสั่งหลัก ตัวกรอง หรือปุ่มเพิ่มข้อมูล
- พื้นที่ข้อมูล ฟอร์ม ตาราง แผนที่ หรือ empty state
- การแจ้งเตือน ภาษา ธีม และเมนูบัญชี
วิธีใช้งาน
- เลือก Active Organization, ช่วงเวลา และพื้นที่/กลุ่มอุปกรณ์ที่ต้องการติดตาม
- ตั้งตัวกรองก่อนอ่านตัวเลข เพื่อให้ทุก card, chart และตารางอยู่ในขอบเขตเดียวกัน
- ตรวจ timestamp/สถานะล่าสุดก่อนสรุปว่าอุปกรณ์หรือเหตุการณ์ยัง active
- เปิดรายละเอียดจากจุดบนแผนที่ card หรือแถวตารางเพื่อดูข้อมูลต้นทาง
- หากข้อมูลไม่ขยับ ให้ refresh แล้วตรวจ network/resource permission ก่อนแจ้งเหตุขัดข้อง
ค่าหรือคำสั่งที่พบใน source
| Key | ข้อความที่ผู้ใช้เห็น | ความหมาย/การใช้งาน |
|---|---|---|
kmap.title | แผนที่ | ชื่อหน้า/ส่วน ใช้ยืนยันว่ากำลังทำงานในโมดูลและบริบทที่ถูกต้องก่อนสั่งงาน |
kmap.sidebar.show | แสดงรายการกล้อง | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
kmap.sidebar.hide | ซ่อนรายการกล้อง | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
kcontrolMap.toolbar.resetLayout | คืนค่า layout เริ่มต้น | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
iframeBar.placeholder | วางลิงก์ (https://...) เพื่อแสดงด้านล่าง | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
iframeBar.open | เปิด | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
iframeBar.clear | ล้าง | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
kcontrol7.iframeEmptyLine1 | ยังไม่มีลิงก์ที่จะแสดง | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
kcontrol7.iframeEmptyLine2 | กรุณาวาง URL ที่ช่องด้านบนแล้วกด "เปิดดู" | ตำแหน่งบริการหรืออุปกรณ์ปลายทาง; ต้องเข้าถึงได้จากระบบและใช้ protocol/port ให้ตรงกับบริการ |
สถานะผิดปกติ
- Loading: รอให้ skeleton/spinner หายก่อนกดซ้ำ
- Empty: ไม่ได้แปลว่าไม่มีข้อมูลทั้งระบบ; อาจถูกกรองหรือไม่มี resource grant
- 403/เมนูหาย: ติดต่อ Org Admin เพื่อตรวจ menu และ resource permission แยกกัน
- บันทึกไม่สำเร็จ: อ่าน validation message, รักษาค่าที่กรอกไว้ และตรวจ active organization ก่อนลองใหม่
SOP (ติดตามเคส)
- เส้นทาง:
/kcontrol/sop - Source:
app/pages/kcontrol/sop.vue - ใช้สำหรับ: ติดตามและปฏิบัติการ KControl
- สิทธิ์ก่อนเข้า: ต้อง login และเลือก Active Organization; ข้อมูลที่เห็นขึ้นกับ menu และ resource permission

- เมนูหลักและขอบเขตโมดูล
- ชื่อหน้าและบริบทที่กำลังใช้งาน
- คำสั่งหลัก ตัวกรอง หรือปุ่มเพิ่มข้อมูล
- พื้นที่ข้อมูล ฟอร์ม ตาราง แผนที่ หรือ empty state
- การแจ้งเตือน ภาษา ธีม และเมนูบัญชี
วิธีใช้งาน
- เปิดหน้าจากเมนูหรือเส้นทางที่ระบุ และยืนยันบริบทจากชื่อหน้า
- ตรวจข้อความแนะนำ สถานะ และค่าที่ระบบแสดงก่อนเริ่มทำงาน
- ใช้คำสั่งตามตารางด้านล่างและหลีกเลี่ยงการกดซ้ำระหว่าง loading
- อ่าน confirmation/error ที่ระบบตอบกลับ และแก้เฉพาะค่าที่ถูกระบุ
- กลับหน้าก่อนหน้าหรือ refresh เพื่อยืนยันผลจาก backend
ค่าหรือคำสั่งที่พบใน source
| Key | ข้อความที่ผู้ใช้เห็น | ความหมาย/การใช้งาน |
|---|---|---|
kcontrol.sop.title | SOP (ติดตามเคส) | ชื่อหน้า/ส่วน ใช้ยืนยันว่ากำลังทำงานในโมดูลและบริบทที่ถูกต้องก่อนสั่งงาน |
kcontrol.sop.modalFollowTitle | ติดตามเคส (SOP) | ชื่อหน้า/ส่วน ใช้ยืนยันว่ากำลังทำงานในโมดูลและบริบทที่ถูกต้องก่อนสั่งงาน |
kcontrol.toast.ackSuccessDesc | รายการถูกยืนยันแล้ว | ข้อความยืนยันว่าระบบรับคำสั่งแล้ว; refresh หรือกลับไปหน้ารายการเพื่อตรวจผลที่บันทึกจริง |
kcontrol.toast.ackFailed | รับทราบไม่สำเร็จ | ข้อความผิดพลาด: อ่านสาเหตุ แก้ค่าหรือสิทธิ์ที่ระบุ แล้วลองใหม่โดยไม่กดซ้ำระหว่างที่ระบบกำลังประมวลผล |
kcontrol.sop.caseClosed | เคสปิดแล้ว | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
kcontrol.toast.deleteSuccessDesc | ลบรายการสำเร็จ | ข้อความยืนยันว่าระบบรับคำสั่งแล้ว; refresh หรือกลับไปหน้ารายการเพื่อตรวจผลที่บันทึกจริง |
kcontrol.toast.deleteFailed | ลบไม่สำเร็จ | ข้อความผิดพลาด: อ่านสาเหตุ แก้ค่าหรือสิทธิ์ที่ระบุ แล้วลองใหม่โดยไม่กดซ้ำระหว่างที่ระบบกำลังประมวลผล |
kcontrol.columns.no | ลำดับ | หัวคอลัมน์ของตาราง ใช้เทียบค่าระหว่างรายการ; กดแถวเพื่อดูรายละเอียดเมื่อค่าถูกตัดทอน |
kcontrol.columns.name | ชื่อ | ชื่อที่ใช้แสดงและค้นหารายการ; ตั้งให้สื่อความหมายและไม่ซ้ำกับรายการในขอบเขตเดียวกัน |
kcontrol.columns.message | ข้อความ | หัวคอลัมน์ของตาราง ใช้เทียบค่าระหว่างรายการ; กดแถวเพื่อดูรายละเอียดเมื่อค่าถูกตัดทอน |
kcontrol.columns.datetime | วันที่/เวลา | วันหรือช่วงเวลาที่ใช้กรอง/กำหนดอายุรายการ; ตรวจ timezone และให้วันสิ้นสุดไม่ก่อนวันเริ่มต้น |
kcontrol.columns.hwid | รหัสอุปกรณ์ | รหัสอ้างอิงของรายการ ใช้เชื่อมกับ URL/API และการตรวจสอบย้อนหลัง; ไม่ควรแก้หรือเดาจากชื่อแสดงผล |
kcontrol.columns.actions | การดำเนินการ | หัวคอลัมน์ของตาราง ใช้เทียบค่าระหว่างรายการ; กดแถวเพื่อดูรายละเอียดเมื่อค่าถูกตัดทอน |
kcontrol.sop.actionFollow | ติดตามเคส | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
kcontrol.sop.actionResolve | ปิดเคส | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
kcontrol.sop.totalSop | เคสทั้งหมด | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
kcontrol.cards.today | วันนี้ | วันหรือช่วงเวลาที่ใช้กรอง/กำหนดอายุรายการ; ตรวจ timezone และให้วันสิ้นสุดไม่ก่อนวันเริ่มต้น |
kcontrol.cards.last24h | 24 ชั่วโมงที่ผ่านมา | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
kcontrol.sop.logCount | {count} รายการ | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
kcontrol.sop.placeholders.search | ค้นหาชื่ออุปกรณ์, ข้อความ หรือ HW ID... | เครื่องมือจำกัดหรือจัดลำดับผลลัพธ์บนหน้าปัจจุบัน; ล้างตัวกรองเมื่อสงสัยว่าข้อมูลหาย |
kcontrol.pagination.showing | กำลังแสดง | สถานะกำลังโหลดหรือประมวลผล; รอให้สถานะสิ้นสุดก่อนเปลี่ยนหน้า/กดคำสั่งเดิมซ้ำ |
kcontrol.pagination.of | จาก | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
kcontrol.pagination.items | รายการ | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
สถานะผิดปกติ
- Loading: รอให้ skeleton/spinner หายก่อนกดซ้ำ
- Empty: ไม่ได้แปลว่าไม่มีข้อมูลทั้งระบบ; อาจถูกกรองหรือไม่มี resource grant
- 403/เมนูหาย: ติดต่อ Org Admin เพื่อตรวจ menu และ resource permission แยกกัน
- บันทึกไม่สำเร็จ: อ่าน validation message, รักษาค่าที่กรอกไว้ และตรวจ active organization ก่อนลองใหม่
temperature
- เส้นทาง:
/kcontrol/temperature - Source:
app/pages/kcontrol/temperature.vue - ใช้สำหรับ: ติดตามและปฏิบัติการ KControl
- สิทธิ์ก่อนเข้า: ต้อง login และเลือก Active Organization; ข้อมูลที่เห็นขึ้นกับ menu และ resource permission

- เมนูหลักและขอบเขตโมดูล
- ชื่อหน้าและบริบทที่กำลังใช้งาน
- คำสั่งหลัก ตัวกรอง หรือปุ่มเพิ่มข้อมูล
- พื้นที่ข้อมูล ฟอร์ม ตาราง แผนที่ หรือ empty state
- การแจ้งเตือน ภาษา ธีม และเมนูบัญชี
วิธีใช้งาน
- เลือก Active Organization, ช่วงเวลา และพื้นที่/กลุ่มอุปกรณ์ที่ต้องการติดตาม
- ตั้งตัวกรองก่อนอ่านตัวเลข เพื่อให้ทุก card, chart และตารางอยู่ในขอบเขตเดียวกัน
- ตรวจ timestamp/สถานะล่าสุดก่อนสรุปว่าอุปกรณ์หรือเหตุการณ์ยัง active
- เปิดรายละเอียดจากจุดบนแผนที่ card หรือแถวตารางเพื่อดูข้อมูลต้นทาง
- หากข้อมูลไม่ขยับ ให้ refresh แล้วตรวจ network/resource permission ก่อนแจ้งเหตุขัดข้อง
ค่าหรือคำสั่งที่พบใน source
| Key | ข้อความที่ผู้ใช้เห็น | ความหมาย/การใช้งาน |
|---|---|---|
global.error | เกิดข้อผิดพลาด | ข้อความผิดพลาด: อ่านสาเหตุ แก้ค่าหรือสิทธิ์ที่ระบุ แล้วลองใหม่โดยไม่กดซ้ำระหว่างที่ระบบกำลังประมวลผล |
global.success | สำเร็จ | ข้อความยืนยันว่าระบบรับคำสั่งแล้ว; refresh หรือกลับไปหน้ารายการเพื่อตรวจผลที่บันทึกจริง |
global.noData | ไม่มีข้อมูล | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
name | ชื่อ | ชื่อที่ใช้แสดงและค้นหารายการ; ตั้งให้สื่อความหมายและไม่ซ้ำกับรายการในขอบเขตเดียวกัน |
สถานะผิดปกติ
- Loading: รอให้ skeleton/spinner หายก่อนกดซ้ำ
- Empty: ไม่ได้แปลว่าไม่มีข้อมูลทั้งระบบ; อาจถูกกรองหรือไม่มี resource grant
- 403/เมนูหาย: ติดต่อ Org Admin เพื่อตรวจ menu และ resource permission แยกกัน
- บันทึกไม่สำเร็จ: อ่าน validation message, รักษาค่าที่กรอกไว้ และตรวจ active organization ก่อนลองใหม่
synthetic id 001
- เส้นทาง:
/ksearch/chats/synthetic-id-001 - Source:
app/pages/ksearch/chats/[id].vue - ใช้สำหรับ: ค้นหาและทบทวนเหตุการณ์
- สิทธิ์ก่อนเข้า: ต้อง login และเลือก Active Organization; ข้อมูลที่เห็นขึ้นกับ menu และ resource permission

- เมนูหลักและขอบเขตโมดูล
- ชื่อหน้าและบริบทที่กำลังใช้งาน
- คำสั่งหลัก ตัวกรอง หรือปุ่มเพิ่มข้อมูล
- พื้นที่ข้อมูล ฟอร์ม ตาราง แผนที่ หรือ empty state
- การแจ้งเตือน ภาษา ธีม และเมนูบัญชี
วิธีใช้งาน
- เปิดหน้าจากเมนูหรือเส้นทางที่ระบุ และยืนยันบริบทจากชื่อหน้า
- ตรวจข้อความแนะนำ สถานะ และค่าที่ระบบแสดงก่อนเริ่มทำงาน
- ใช้คำสั่งตามตารางด้านล่างและหลีกเลี่ยงการกดซ้ำระหว่าง loading
- อ่าน confirmation/error ที่ระบบตอบกลับ และแก้เฉพาะค่าที่ถูกระบุ
- กลับหน้าก่อนหน้าหรือ refresh เพื่อยืนยันผลจาก backend
ค่าหรือคำสั่งที่พบใน source
| Key | ข้อความที่ผู้ใช้เห็น | ความหมาย/การใช้งาน |
|---|---|---|
| — | ไม่พบ label แบบ static ใน source | หน้านี้สร้างข้อความจากข้อมูลหรือ component ย่อย ให้ยึดภาพและ workflow ที่แสดง |
สถานะผิดปกติ
- Loading: รอให้ skeleton/spinner หายก่อนกดซ้ำ
- Empty: ไม่ได้แปลว่าไม่มีข้อมูลทั้งระบบ; อาจถูกกรองหรือไม่มี resource grant
- 403/เมนูหาย: ติดต่อ Org Admin เพื่อตรวจ menu และ resource permission แยกกัน
- บันทึกไม่สำเร็จ: อ่าน validation message, รักษาค่าที่กรอกไว้ และตรวจ active organization ก่อนลองใหม่
chats
- เส้นทาง:
/ksearch/chats - Source:
app/pages/ksearch/chats/index.vue - ใช้สำหรับ: ค้นหาและทบทวนเหตุการณ์
- สิทธิ์ก่อนเข้า: ต้อง login และเลือก Active Organization; ข้อมูลที่เห็นขึ้นกับ menu และ resource permission

- เมนูหลักและขอบเขตโมดูล
- ชื่อหน้าและบริบทที่กำลังใช้งาน
- คำสั่งหลัก ตัวกรอง หรือปุ่มเพิ่มข้อมูล
- พื้นที่ข้อมูล ฟอร์ม ตาราง แผนที่ หรือ empty state
- การแจ้งเตือน ภาษา ธีม และเมนูบัญชี
วิธีใช้งาน
- เลือก Active Organization แล้วตรวจว่าตารางแสดงขอบเขตที่ต้องการ
- ใช้ค้นหา/ตัวกรอง/เรียงลำดับเพื่อลดรายการก่อนเลือกเป้าหมาย
- อ่านสถานะและคอลัมน์สำคัญ แล้วกดแถวหรือปุ่มรายละเอียด
- ใช้คำสั่งเพิ่ม/แก้ไข/ลบเฉพาะเมื่อชื่อและ ID ของเป้าหมายตรงกัน
- ล้างตัวกรองและ refresh หลังทำรายการเพื่อยืนยันผลและจำนวนรายการ
ค่าหรือคำสั่งที่พบใน source
| Key | ข้อความที่ผู้ใช้เห็น | ความหมาย/การใช้งาน |
|---|---|---|
| — | ไม่พบ label แบบ static ใน source | หน้านี้สร้างข้อความจากข้อมูลหรือ component ย่อย ให้ยึดภาพและ workflow ที่แสดง |
สถานะผิดปกติ
- Loading: รอให้ skeleton/spinner หายก่อนกดซ้ำ
- Empty: ไม่ได้แปลว่าไม่มีข้อมูลทั้งระบบ; อาจถูกกรองหรือไม่มี resource grant
- 403/เมนูหาย: ติดต่อ Org Admin เพื่อตรวจ menu และ resource permission แยกกัน
- บันทึกไม่สำเร็จ: อ่าน validation message, รักษาค่าที่กรอกไว้ และตรวจ active organization ก่อนลองใหม่
ksearch
- เส้นทาง:
/ksearch - Source:
app/pages/ksearch/index.vue - ใช้สำหรับ: ค้นหาและทบทวนเหตุการณ์
- สิทธิ์ก่อนเข้า: ต้อง login และเลือก Active Organization; ข้อมูลที่เห็นขึ้นกับ menu และ resource permission

- เมนูหลักและขอบเขตโมดูล
- ชื่อหน้าและบริบทที่กำลังใช้งาน
- คำสั่งหลัก ตัวกรอง หรือปุ่มเพิ่มข้อมูล
- พื้นที่ข้อมูล ฟอร์ม ตาราง แผนที่ หรือ empty state
- การแจ้งเตือน ภาษา ธีม และเมนูบัญชี
วิธีใช้งาน
- เลือก Active Organization แล้วตรวจว่าตารางแสดงขอบเขตที่ต้องการ
- ใช้ค้นหา/ตัวกรอง/เรียงลำดับเพื่อลดรายการก่อนเลือกเป้าหมาย
- อ่านสถานะและคอลัมน์สำคัญ แล้วกดแถวหรือปุ่มรายละเอียด
- ใช้คำสั่งเพิ่ม/แก้ไข/ลบเฉพาะเมื่อชื่อและ ID ของเป้าหมายตรงกัน
- ล้างตัวกรองและ refresh หลังทำรายการเพื่อยืนยันผลและจำนวนรายการ
ค่าหรือคำสั่งที่พบใน source
| Key | ข้อความที่ผู้ใช้เห็น | ความหมาย/การใช้งาน |
|---|---|---|
ksearch.welcome | ยินดีต้อนรับสู่ระบบค้นหา | เครื่องมือจำกัดหรือจัดลำดับผลลัพธ์บนหน้าปัจจุบัน; ล้างตัวกรองเมื่อสงสัยว่าข้อมูลหาย |
ksearch.messageHere | กรุณากรอกข้อความที่นี่ | เครื่องมือจำกัดหรือจัดลำดับผลลัพธ์บนหน้าปัจจุบัน; ล้างตัวกรองเมื่อสงสัยว่าข้อมูลหาย |
common.cancel | ยกเลิก | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
ksearch.label1 | ค้นหารถสี | เครื่องมือจำกัดหรือจัดลำดับผลลัพธ์บนหน้าปัจจุบัน; ล้างตัวกรองเมื่อสงสัยว่าข้อมูลหาย |
ksearch.label2 | ค้นหารถรุ่น | เครื่องมือจำกัดหรือจัดลำดับผลลัพธ์บนหน้าปัจจุบัน; ล้างตัวกรองเมื่อสงสัยว่าข้อมูลหาย |
ksearch.label3 | ค้นหาคนที่มีถุงหรือกระเป๋าสี | เครื่องมือจำกัดหรือจัดลำดับผลลัพธ์บนหน้าปัจจุบัน; ล้างตัวกรองเมื่อสงสัยว่าข้อมูลหาย |
ksearch.label4 | ค้นหาคนที่มีผมสี | เครื่องมือจำกัดหรือจัดลำดับผลลัพธ์บนหน้าปัจจุบัน; ล้างตัวกรองเมื่อสงสัยว่าข้อมูลหาย |
ksearch.label5 | ค้นหาคนที่มีตาสี | เครื่องมือจำกัดหรือจัดลำดับผลลัพธ์บนหน้าปัจจุบัน; ล้างตัวกรองเมื่อสงสัยว่าข้อมูลหาย |
สถานะผิดปกติ
- Loading: รอให้ skeleton/spinner หายก่อนกดซ้ำ
- Empty: ไม่ได้แปลว่าไม่มีข้อมูลทั้งระบบ; อาจถูกกรองหรือไม่มี resource grant
- 403/เมนูหาย: ติดต่อ Org Admin เพื่อตรวจ menu และ resource permission แยกกัน
- บันทึกไม่สำเร็จ: อ่าน validation message, รักษาค่าที่กรอกไว้ และตรวจ active organization ก่อนลองใหม่
ผู้ใช้ระบบ
- เส้นทาง:
/kwatch - Source:
app/pages/kwatch/index.vue - ใช้สำหรับ: หน้าใช้งานทั่วไปหรือเครื่องมือสนับสนุน
- สิทธิ์ก่อนเข้า: ต้อง login และเลือก Active Organization; ข้อมูลที่เห็นขึ้นกับ menu และ resource permission

- เมนูหลักและขอบเขตโมดูล
- ชื่อหน้าและบริบทที่กำลังใช้งาน
- คำสั่งหลัก ตัวกรอง หรือปุ่มเพิ่มข้อมูล
- พื้นที่ข้อมูล ฟอร์ม ตาราง แผนที่ หรือ empty state
- การแจ้งเตือน ภาษา ธีม และเมนูบัญชี
วิธีใช้งาน
- เลือก Active Organization แล้วตรวจว่าตารางแสดงขอบเขตที่ต้องการ
- ใช้ค้นหา/ตัวกรอง/เรียงลำดับเพื่อลดรายการก่อนเลือกเป้าหมาย
- อ่านสถานะและคอลัมน์สำคัญ แล้วกดแถวหรือปุ่มรายละเอียด
- ใช้คำสั่งเพิ่ม/แก้ไข/ลบเฉพาะเมื่อชื่อและ ID ของเป้าหมายตรงกัน
- ล้างตัวกรองและ refresh หลังทำรายการเพื่อยืนยันผลและจำนวนรายการ
ค่าหรือคำสั่งที่พบใน source
| Key | ข้อความที่ผู้ใช้เห็น | ความหมาย/การใช้งาน |
|---|---|---|
watchman.table.order | ลำดับ | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
watchman.table.image | รูปภาพ | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
watchman.table.prefix | คำนำหน้า | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
watchman.table.fname | ชื่อ | ชื่อที่ใช้แสดงและค้นหารายการ; ตั้งให้สื่อความหมายและไม่ซ้ำกับรายการในขอบเขตเดียวกัน |
watchman.table.lname | นามสกุล | ชื่อที่ใช้แสดงและค้นหารายการ; ตั้งให้สื่อความหมายและไม่ซ้ำกับรายการในขอบเขตเดียวกัน |
watchman.table.nickname | ชื่อเล่น | ชื่อที่ใช้แสดงและค้นหารายการ; ตั้งให้สื่อความหมายและไม่ซ้ำกับรายการในขอบเขตเดียวกัน |
watchman.table.age | อายุ | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
watchman.table.policeStation | ประเภทบุคคล | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
watchman.table.action | การดำเนินการ | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
systemUsers.title | ผู้ใช้ระบบ | ชื่อหน้า/ส่วน ใช้ยืนยันว่ากำลังทำงานในโมดูลและบริบทที่ถูกต้องก่อนสั่งงาน |
systemUsers.searchPlaceholder | ค้นหาผู้ใช้... | เครื่องมือจำกัดหรือจัดลำดับผลลัพธ์บนหน้าปัจจุบัน; ล้างตัวกรองเมื่อสงสัยว่าข้อมูลหาย |
systemUsers.pagination.showing | แสดง | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
systemUsers.pagination.of | จากทั้งหมด | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
systemUsers.pagination.users | ผู้ใช้ | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
สถานะผิดปกติ
- Loading: รอให้ skeleton/spinner หายก่อนกดซ้ำ
- Empty: ไม่ได้แปลว่าไม่มีข้อมูลทั้งระบบ; อาจถูกกรองหรือไม่มี resource grant
- 403/เมนูหาย: ติดต่อ Org Admin เพื่อตรวจ menu และ resource permission แยกกัน
- บันทึกไม่สำเร็จ: อ่าน validation message, รักษาค่าที่กรอกไว้ และตรวจ active organization ก่อนลองใหม่
live
- เส้นทาง:
/live - Source:
app/pages/live.vue - ใช้สำหรับ: แผนที่ กล้องสด และ video wall
- สิทธิ์ก่อนเข้า: หน้า public เปิดได้โดยไม่ต้อง login; คำสั่งที่แตะข้อมูลส่วนตัวอาจพาไปเข้าสู่ระบบ

- เมนูหลักและขอบเขตโมดูล
- ชื่อหน้าและบริบทที่กำลังใช้งาน
- คำสั่งหลัก ตัวกรอง หรือปุ่มเพิ่มข้อมูล
- พื้นที่ข้อมูล ฟอร์ม ตาราง แผนที่ หรือ empty state
- การแจ้งเตือน ภาษา ธีม และเมนูบัญชี
วิธีใช้งาน
- เลือก Active Organization, ช่วงเวลา และพื้นที่/กลุ่มอุปกรณ์ที่ต้องการติดตาม
- ตั้งตัวกรองก่อนอ่านตัวเลข เพื่อให้ทุก card, chart และตารางอยู่ในขอบเขตเดียวกัน
- ตรวจ timestamp/สถานะล่าสุดก่อนสรุปว่าอุปกรณ์หรือเหตุการณ์ยัง active
- เปิดรายละเอียดจากจุดบนแผนที่ card หรือแถวตารางเพื่อดูข้อมูลต้นทาง
- หากข้อมูลไม่ขยับ ให้ refresh แล้วตรวจ network/resource permission ก่อนแจ้งเหตุขัดข้อง
ค่าหรือคำสั่งที่พบใน source
| Key | ข้อความที่ผู้ใช้เห็น | ความหมาย/การใช้งาน |
|---|---|---|
live.myLocation | ตำแหน่งของฉัน | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
live.popup.connecting | กำลังเชื่อมต่อสตรีม… | สถานะกำลังโหลดหรือประมวลผล; รอให้สถานะสิ้นสุดก่อนเปลี่ยนหน้า/กดคำสั่งเดิมซ้ำ |
live.streamFailed | ไม่สามารถสร้างสตรีมได้ | ข้อความผิดพลาด: อ่านสาเหตุ แก้ค่าหรือสิทธิ์ที่ระบุ แล้วลองใหม่โดยไม่กดซ้ำระหว่างที่ระบบกำลังประมวลผล |
live.streamError | เกิดข้อผิดพลาดกับสตรีม | ข้อความผิดพลาด: อ่านสาเหตุ แก้ค่าหรือสิทธิ์ที่ระบุ แล้วลองใหม่โดยไม่กดซ้ำระหว่างที่ระบบกำลังประมวลผล |
live.streamUnavailable | สตรีมไม่พร้อมใช้งาน | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
live.selectCamera | เลือกกล้องจากแผนที่เพื่อเริ่มสตรีม | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
live.startingPlayback | กำลังเริ่มเล่น... | สถานะกำลังโหลดหรือประมวลผล; รอให้สถานะสิ้นสุดก่อนเปลี่ยนหน้า/กดคำสั่งเดิมซ้ำ |
live.playing | กำลังเล่น | สถานะกำลังโหลดหรือประมวลผล; รอให้สถานะสิ้นสุดก่อนเปลี่ยนหน้า/กดคำสั่งเดิมซ้ำ |
live.creatingStream | กำลังสร้างสตรีม... | สถานะกำลังโหลดหรือประมวลผล; รอให้สถานะสิ้นสุดก่อนเปลี่ยนหน้า/กดคำสั่งเดิมซ้ำ |
live.recreatingStream | กำลังสร้างสตรีมใหม่... | สถานะกำลังโหลดหรือประมวลผล; รอให้สถานะสิ้นสุดก่อนเปลี่ยนหน้า/กดคำสั่งเดิมซ้ำ |
live.organization | องค์กร | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
live.nGroups | {n} กลุ่ม | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
live.resourceGroup | กลุ่มกล้อง | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
live.clusterOn | จัดกลุ่มกล้อง: เปิด (คลิกเพื่อปิด) | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
live.clusterOff | จัดกลุ่มกล้อง: ปิด (คลิกเพื่อเปิด) | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
live.webglOn | แผนที่ WebGL: เปิด (คลิกเพื่อปิด) | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
live.webglOff | แผนที่ WebGL: ปิด (คลิกเพื่อเปิด) | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
live.mapError | เกิดข้อผิดพลาดในการโหลดแผนที่ | ข้อความผิดพลาด: อ่านสาเหตุ แก้ค่าหรือสิทธิ์ที่ระบุ แล้วลองใหม่โดยไม่กดซ้ำระหว่างที่ระบบกำลังประมวลผล |
live.loadingMap | กำลังโหลดแผนที่... | สถานะกำลังโหลดหรือประมวลผล; รอให้สถานะสิ้นสุดก่อนเปลี่ยนหน้า/กดคำสั่งเดิมซ้ำ |
live.liveView | มุมมองสด | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
live.cameraPreview | ภาพจากกล้อง | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
live.cameraList | รายการกล้อง | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
live.searchCamera | ค้นหากล้อง... | เครื่องมือจำกัดหรือจัดลำดับผลลัพธ์บนหน้าปัจจุบัน; ล้างตัวกรองเมื่อสงสัยว่าข้อมูลหาย |
live.noResults | ไม่พบกล้อง | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
live.openSidebar | เปิดแถบกล้อง | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
สถานะผิดปกติ
- Loading: รอให้ skeleton/spinner หายก่อนกดซ้ำ
- Empty: ไม่ได้แปลว่าไม่มีข้อมูลทั้งระบบ; อาจถูกกรองหรือไม่มี resource grant
- 403/เมนูหาย: ติดต่อ Org Admin เพื่อตรวจ menu และ resource permission แยกกัน
- บันทึกไม่สำเร็จ: อ่าน validation message, รักษาค่าที่กรอกไว้ และตรวจ active organization ก่อนลองใหม่
login
- เส้นทาง:
/login - Source:
app/pages/login.vue - ใช้สำหรับ: หน้า public/login/help ที่ผู้ใช้ทุก persona พบได้
- สิทธิ์ก่อนเข้า: หน้า public เปิดได้โดยไม่ต้อง login; คำสั่งที่แตะข้อมูลส่วนตัวอาจพาไปเข้าสู่ระบบ

- เมนูหลักและขอบเขตโมดูล
- ชื่อหน้าและบริบทที่กำลังใช้งาน
- คำสั่งหลัก ตัวกรอง หรือปุ่มเพิ่มข้อมูล
- พื้นที่ข้อมูล ฟอร์ม ตาราง แผนที่ หรือ empty state
- การแจ้งเตือน ภาษา ธีม และเมนูบัญชี
วิธีใช้งาน
- เปิดหน้าจากเมนูหรือเส้นทางที่ระบุ และยืนยันบริบทจากชื่อหน้า
- ตรวจข้อความแนะนำ สถานะ และค่าที่ระบบแสดงก่อนเริ่มทำงาน
- ใช้คำสั่งตามตารางด้านล่างและหลีกเลี่ยงการกดซ้ำระหว่าง loading
- อ่าน confirmation/error ที่ระบบตอบกลับ และแก้เฉพาะค่าที่ถูกระบุ
- กลับหน้าก่อนหน้าหรือ refresh เพื่อยืนยันผลจาก backend
ค่าหรือคำสั่งที่พบใน source
| Key | ข้อความที่ผู้ใช้เห็น | ความหมาย/การใช้งาน |
|---|---|---|
| — | ไม่พบ label แบบ static ใน source | หน้านี้สร้างข้อความจากข้อมูลหรือ component ย่อย ให้ยึดภาพและ workflow ที่แสดง |
สถานะผิดปกติ
- Loading: รอให้ skeleton/spinner หายก่อนกดซ้ำ
- Empty: ไม่ได้แปลว่าไม่มีข้อมูลทั้งระบบ; อาจถูกกรองหรือไม่มี resource grant
- 403/เมนูหาย: ติดต่อ Org Admin เพื่อตรวจ menu และ resource permission แยกกัน
- บันทึกไม่สำเร็จ: อ่าน validation message, รักษาค่าที่กรอกไว้ และตรวจ active organization ก่อนลองใหม่
แผนที่
- เส้นทาง:
/map - Source:
app/pages/map.vue - ใช้สำหรับ: แผนที่ กล้องสด และ video wall
- สิทธิ์ก่อนเข้า: ต้อง login และเลือก Active Organization; ข้อมูลที่เห็นขึ้นกับ menu และ resource permission

- เมนูหลักและขอบเขตโมดูล
- ชื่อหน้าและบริบทที่กำลังใช้งาน
- คำสั่งหลัก ตัวกรอง หรือปุ่มเพิ่มข้อมูล
- พื้นที่ข้อมูล ฟอร์ม ตาราง แผนที่ หรือ empty state
- การแจ้งเตือน ภาษา ธีม และเมนูบัญชี
วิธีใช้งาน
- เลือก Active Organization, ช่วงเวลา และพื้นที่/กลุ่มอุปกรณ์ที่ต้องการติดตาม
- ตั้งตัวกรองก่อนอ่านตัวเลข เพื่อให้ทุก card, chart และตารางอยู่ในขอบเขตเดียวกัน
- ตรวจ timestamp/สถานะล่าสุดก่อนสรุปว่าอุปกรณ์หรือเหตุการณ์ยัง active
- เปิดรายละเอียดจากจุดบนแผนที่ card หรือแถวตารางเพื่อดูข้อมูลต้นทาง
- หากข้อมูลไม่ขยับ ให้ refresh แล้วตรวจ network/resource permission ก่อนแจ้งเหตุขัดข้อง
ค่าหรือคำสั่งที่พบใน source
| Key | ข้อความที่ผู้ใช้เห็น | ความหมาย/การใช้งาน |
|---|---|---|
kmap.popup.retry | ลองอีกครั้ง | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
kmap.popup.name | ชื่อ | ชื่อที่ใช้แสดงและค้นหารายการ; ตั้งให้สื่อความหมายและไม่ซ้ำกับรายการในขอบเขตเดียวกัน |
kmap.popup.district | เขต | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
kmap.popup.latitude | ละติจูด | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
kmap.popup.longitude | ลองจิจูด | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
kmap.popup.status | สถานะ | สถานะ lifecycle ของรายการ; ใช้ตัดสินว่ารายการพร้อมใช้งาน ถูกพัก หรือสิ้นสุด และตรวจผลกระทบก่อนเปลี่ยนสถานะ |
kmap.popup.creating | กำลังสร้างสตรีม… | สถานะกำลังโหลดหรือประมวลผล; รอให้สถานะสิ้นสุดก่อนเปลี่ยนหน้า/กดคำสั่งเดิมซ้ำ |
live.popup.connecting | กำลังเชื่อมต่อสตรีม… | สถานะกำลังโหลดหรือประมวลผล; รอให้สถานะสิ้นสุดก่อนเปลี่ยนหน้า/กดคำสั่งเดิมซ้ำ |
kmap.popup.starting | กำลังเริ่มเล่น… | สถานะกำลังโหลดหรือประมวลผล; รอให้สถานะสิ้นสุดก่อนเปลี่ยนหน้า/กดคำสั่งเดิมซ้ำ |
kmap.popup.playing | กำลังเล่น | สถานะกำลังโหลดหรือประมวลผล; รอให้สถานะสิ้นสุดก่อนเปลี่ยนหน้า/กดคำสั่งเดิมซ้ำ |
kmap.popup.streamFailed | สตรีมล้มเหลว | ข้อความผิดพลาด: อ่านสาเหตุ แก้ค่าหรือสิทธิ์ที่ระบุ แล้วลองใหม่โดยไม่กดซ้ำระหว่างที่ระบบกำลังประมวลผล |
kmap.title | แผนที่ | ชื่อหน้า/ส่วน ใช้ยืนยันว่ากำลังทำงานในโมดูลและบริบทที่ถูกต้องก่อนสั่งงาน |
kmap.sidebar.show | แสดงรายการกล้อง | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
kmap.sidebar.title | รายการกล้อง | ชื่อหน้า/ส่วน ใช้ยืนยันว่ากำลังทำงานในโมดูลและบริบทที่ถูกต้องก่อนสั่งงาน |
kmap.sidebar.countSuffix | กล้อง | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
kmap.sidebar.hide | ซ่อนรายการกล้อง | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
kmap.sidebar.unknownDevice | ไม่ทราบชื่ออุปกรณ์ | ชื่อที่ใช้แสดงและค้นหารายการ; ตั้งให้สื่อความหมายและไม่ซ้ำกับรายการในขอบเขตเดียวกัน |
สถานะผิดปกติ
- Loading: รอให้ skeleton/spinner หายก่อนกดซ้ำ
- Empty: ไม่ได้แปลว่าไม่มีข้อมูลทั้งระบบ; อาจถูกกรองหรือไม่มี resource grant
- 403/เมนูหาย: ติดต่อ Org Admin เพื่อตรวจ menu และ resource permission แยกกัน
- บันทึกไม่สำเร็จ: อ่าน validation message, รักษาค่าที่กรอกไว้ และตรวจ active organization ก่อนลองใหม่
ระบบเฝ้าระวัง
- เส้นทาง:
/police - Source:
app/pages/police/index.vue - ใช้สำหรับ: หน้าใช้งานทั่วไปหรือเครื่องมือสนับสนุน
- สิทธิ์ก่อนเข้า: ต้อง login และเลือก Active Organization; ข้อมูลที่เห็นขึ้นกับ menu และ resource permission

- เมนูหลักและขอบเขตโมดูล
- ชื่อหน้าและบริบทที่กำลังใช้งาน
- คำสั่งหลัก ตัวกรอง หรือปุ่มเพิ่มข้อมูล
- พื้นที่ข้อมูล ฟอร์ม ตาราง แผนที่ หรือ empty state
- การแจ้งเตือน ภาษา ธีม และเมนูบัญชี
วิธีใช้งาน
- เลือก Active Organization แล้วตรวจว่าตารางแสดงขอบเขตที่ต้องการ
- ใช้ค้นหา/ตัวกรอง/เรียงลำดับเพื่อลดรายการก่อนเลือกเป้าหมาย
- อ่านสถานะและคอลัมน์สำคัญ แล้วกดแถวหรือปุ่มรายละเอียด
- ใช้คำสั่งเพิ่ม/แก้ไข/ลบเฉพาะเมื่อชื่อและ ID ของเป้าหมายตรงกัน
- ล้างตัวกรองและ refresh หลังทำรายการเพื่อยืนยันผลและจำนวนรายการ
ค่าหรือคำสั่งที่พบใน source
| Key | ข้อความที่ผู้ใช้เห็น | ความหมาย/การใช้งาน |
|---|---|---|
police.table.order | ลำดับ | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
police.table.image | รูปภาพ | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
police.table.personKey | หมายเลขประจำตัว | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
police.table.prefix | คำนำหน้า | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
police.table.fname | ชื่อ | ชื่อที่ใช้แสดงและค้นหารายการ; ตั้งให้สื่อความหมายและไม่ซ้ำกับรายการในขอบเขตเดียวกัน |
police.table.lname | นามสกุล | ชื่อที่ใช้แสดงและค้นหารายการ; ตั้งให้สื่อความหมายและไม่ซ้ำกับรายการในขอบเขตเดียวกัน |
police.detail.personType | ประเภทบุคคล | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
police.detail.nickname | ชื่อเล่น | ชื่อที่ใช้แสดงและค้นหารายการ; ตั้งให้สื่อความหมายและไม่ซ้ำกับรายการในขอบเขตเดียวกัน |
police.table.source | ฐานข้อมูล | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
police.table.warrantsPerson | จำนวนหมายจับ | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
police.table.registered | ลงทะเบียน | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
police.table.action | ปรับแต่ง | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
global.buttomEdit | แก้ไข | คำสั่งเปลี่ยนหรือส่งออกข้อมูล; ตรวจรายการเป้าหมายและอ่าน confirmation ก่อนยืนยัน โดยเฉพาะคำสั่งที่ย้อนกลับไม่ได้ |
global.buttomDelete | ลบ | คำสั่งเปลี่ยนหรือส่งออกข้อมูล; ตรวจรายการเป้าหมายและอ่าน confirmation ก่อนยืนยัน โดยเฉพาะคำสั่งที่ย้อนกลับไม่ได้ |
police.title | ระบบเฝ้าระวัง | ชื่อหน้า/ส่วน ใช้ยืนยันว่ากำลังทำงานในโมดูลและบริบทที่ถูกต้องก่อนสั่งงาน |
police.addNew | เพิ่มข้อมูลบุคคล | คำสั่งเปลี่ยนหรือส่งออกข้อมูล; ตรวจรายการเป้าหมายและอ่าน confirmation ก่อนยืนยัน โดยเฉพาะคำสั่งที่ย้อนกลับไม่ได้ |
police.searchPlaceholder | ค้นหาข้อมูลบุคคล... | เครื่องมือจำกัดหรือจัดลำดับผลลัพธ์บนหน้าปัจจุบัน; ล้างตัวกรองเมื่อสงสัยว่าข้อมูลหาย |
police.table.selectPoliceRegion | เลือก บช. | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
police.table.selectProvincialPolice | เลือก บก. | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
police.table.selectPoliceStation | เลือก สป./สก. | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
systemDevices.pagination.perPageLabel | รายการต่อหน้า | ชื่อที่ใช้แสดงและค้นหารายการ; ตั้งให้สื่อความหมายและไม่ซ้ำกับรายการในขอบเขตเดียวกัน |
police.exportExcel | ส่งออก Excel | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
police.detail.detail | รายละเอียดข้อมูล | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
police.detail.loading | กำลังโหลดข้อมูล... | สถานะกำลังโหลดหรือประมวลผล; รอให้สถานะสิ้นสุดก่อนเปลี่ยนหน้า/กดคำสั่งเดิมซ้ำ |
police.detail.person_info | ข้อมูลส่วนตัว | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
police.detail.id_card | เลขประจำตัวประชาชน | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
police.detail.birthday | วันเกิด | วันหรือช่วงเวลาที่ใช้กรอง/กำหนดอายุรายการ; ตรวจ timezone และให้วันสิ้นสุดไม่ก่อนวันเริ่มต้น |
police.detail.age | อายุ | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
สถานะผิดปกติ
- Loading: รอให้ skeleton/spinner หายก่อนกดซ้ำ
- Empty: ไม่ได้แปลว่าไม่มีข้อมูลทั้งระบบ; อาจถูกกรองหรือไม่มี resource grant
- 403/เมนูหาย: ติดต่อ Org Admin เพื่อตรวจ menu และ resource permission แยกกัน
- บันทึกไม่สำเร็จ: อ่าน validation message, รักษาค่าที่กรอกไว้ และตรวจ active organization ก่อนลองใหม่
pricing
- เส้นทาง:
/pricing - Source:
app/pages/pricing.vue - ใช้สำหรับ: หน้า public/login/help ที่ผู้ใช้ทุก persona พบได้
- สิทธิ์ก่อนเข้า: หน้า public เปิดได้โดยไม่ต้อง login; คำสั่งที่แตะข้อมูลส่วนตัวอาจพาไปเข้าสู่ระบบ

- เมนูหลักและขอบเขตโมดูล
- ชื่อหน้าและบริบทที่กำลังใช้งาน
- คำสั่งหลัก ตัวกรอง หรือปุ่มเพิ่มข้อมูล
- พื้นที่ข้อมูล ฟอร์ม ตาราง แผนที่ หรือ empty state
- การแจ้งเตือน ภาษา ธีม และเมนูบัญชี
วิธีใช้งาน
- เปิดหน้าจากเมนูหรือเส้นทางที่ระบุ และยืนยันบริบทจากชื่อหน้า
- ตรวจข้อความแนะนำ สถานะ และค่าที่ระบบแสดงก่อนเริ่มทำงาน
- ใช้คำสั่งตามตารางด้านล่างและหลีกเลี่ยงการกดซ้ำระหว่าง loading
- อ่าน confirmation/error ที่ระบบตอบกลับ และแก้เฉพาะค่าที่ถูกระบุ
- กลับหน้าก่อนหน้าหรือ refresh เพื่อยืนยันผลจาก backend
ค่าหรือคำสั่งที่พบใน source
| Key | ข้อความที่ผู้ใช้เห็น | ความหมาย/การใช้งาน |
|---|---|---|
| — | ไม่พบ label แบบ static ใน source | หน้านี้สร้างข้อความจากข้อมูลหรือ component ย่อย ให้ยึดภาพและ workflow ที่แสดง |
สถานะผิดปกติ
- Loading: รอให้ skeleton/spinner หายก่อนกดซ้ำ
- Empty: ไม่ได้แปลว่าไม่มีข้อมูลทั้งระบบ; อาจถูกกรองหรือไม่มี resource grant
- 403/เมนูหาย: ติดต่อ Org Admin เพื่อตรวจ menu และ resource permission แยกกัน
- บันทึกไม่สำเร็จ: อ่าน validation message, รักษาค่าที่กรอกไว้ และตรวจ active organization ก่อนลองใหม่
profile
- เส้นทาง:
/profile - Source:
app/pages/profile/index.vue - ใช้สำหรับ: ตั้งค่าบัญชีของผู้ใช้
- สิทธิ์ก่อนเข้า: ต้อง login และเลือก Active Organization; ข้อมูลที่เห็นขึ้นกับ menu และ resource permission

- เมนูหลักและขอบเขตโมดูล
- ชื่อหน้าและบริบทที่กำลังใช้งาน
- คำสั่งหลัก ตัวกรอง หรือปุ่มเพิ่มข้อมูล
- พื้นที่ข้อมูล ฟอร์ม ตาราง แผนที่ หรือ empty state
- การแจ้งเตือน ภาษา ธีม และเมนูบัญชี
วิธีใช้งาน
- เลือก Active Organization แล้วตรวจว่าตารางแสดงขอบเขตที่ต้องการ
- ใช้ค้นหา/ตัวกรอง/เรียงลำดับเพื่อลดรายการก่อนเลือกเป้าหมาย
- อ่านสถานะและคอลัมน์สำคัญ แล้วกดแถวหรือปุ่มรายละเอียด
- ใช้คำสั่งเพิ่ม/แก้ไข/ลบเฉพาะเมื่อชื่อและ ID ของเป้าหมายตรงกัน
- ล้างตัวกรองและ refresh หลังทำรายการเพื่อยืนยันผลและจำนวนรายการ
ค่าหรือคำสั่งที่พบใน source
| Key | ข้อความที่ผู้ใช้เห็น | ความหมาย/การใช้งาน |
|---|---|---|
profile.updateSuccess | อัปเดตสำเร็จ | ข้อความยืนยันว่าระบบรับคำสั่งแล้ว; refresh หรือกลับไปหน้ารายการเพื่อตรวจผลที่บันทึกจริง |
profile.updateSuccessDesc | ข้อมูลส่วนตัวของคุณถูกบันทึกเรียบร้อยแล้ว | ข้อความยืนยันว่าระบบรับคำสั่งแล้ว; refresh หรือกลับไปหน้ารายการเพื่อตรวจผลที่บันทึกจริง |
profile.updateError | เกิดข้อผิดพลาด | ข้อความผิดพลาด: อ่านสาเหตุ แก้ค่าหรือสิทธิ์ที่ระบุ แล้วลองใหม่โดยไม่กดซ้ำระหว่างที่ระบบกำลังประมวลผล |
profile.updateErrorDesc | ไม่สามารถบันทึกข้อมูลได้ กรุณาลองใหม่ | ข้อความผิดพลาด: อ่านสาเหตุ แก้ค่าหรือสิทธิ์ที่ระบุ แล้วลองใหม่โดยไม่กดซ้ำระหว่างที่ระบบกำลังประมวลผล |
profile.generalInfo | ข้อมูลทั่วไป | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
profile.saveChanges | บันทึกการเปลี่ยนแปลง | คำสั่งเปลี่ยนหรือส่งออกข้อมูล; ตรวจรายการเป้าหมายและอ่าน confirmation ก่อนยืนยัน โดยเฉพาะคำสั่งที่ย้อนกลับไม่ได้ |
profile.avatar | รูปโปรไฟล์ | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
profile.avatarHint | JPG, PNG ขนาดไม่เกิน 2MB | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
profile.uploadAvatar | เลือกรูปภาพ | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
profile.username | ชื่อผู้ใช้ | ชื่อที่ใช้แสดงและค้นหารายการ; ตั้งให้สื่อความหมายและไม่ซ้ำกับรายการในขอบเขตเดียวกัน |
profile.email | อีเมล | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
profile.firstName | ชื่อจริง | ชื่อที่ใช้แสดงและค้นหารายการ; ตั้งให้สื่อความหมายและไม่ซ้ำกับรายการในขอบเขตเดียวกัน |
profile.lastName | นามสกุล | ชื่อที่ใช้แสดงและค้นหารายการ; ตั้งให้สื่อความหมายและไม่ซ้ำกับรายการในขอบเขตเดียวกัน |
profile.role | บทบาท | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
profile.language | ภาษา (Locale) | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
profile.status | สถานะ | สถานะ lifecycle ของรายการ; ใช้ตัดสินว่ารายการพร้อมใช้งาน ถูกพัก หรือสิ้นสุด และตรวจผลกระทบก่อนเปลี่ยนสถานะ |
profile.statusDescription | เปิด/ปิดการใช้งานบัญชี | สถานะ lifecycle ของรายการ; ใช้ตัดสินว่ารายการพร้อมใช้งาน ถูกพัก หรือสิ้นสุด และตรวจผลกระทบก่อนเปลี่ยนสถานะ |
profile.statusEnabled | เปิดใช้งาน | สถานะ lifecycle ของรายการ; ใช้ตัดสินว่ารายการพร้อมใช้งาน ถูกพัก หรือสิ้นสุด และตรวจผลกระทบก่อนเปลี่ยนสถานะ |
profile.statusDisabled | ปิดใช้งาน | สถานะ lifecycle ของรายการ; ใช้ตัดสินว่ารายการพร้อมใช้งาน ถูกพัก หรือสิ้นสุด และตรวจผลกระทบก่อนเปลี่ยนสถานะ |
profile.realmRoles | บทบาทในระบบ | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
profile.realmRolesDescription | บทบาทที่ได้รับมอบหมายจากระบบหลัก (อ่านอย่างเดียว) | ข้อความอธิบายสำหรับผู้ดูแลและ audit context; ระบุเหตุผลที่ตรวจสอบย้อนหลังได้และไม่ใส่ข้อมูลลับ |
สถานะผิดปกติ
- Loading: รอให้ skeleton/spinner หายก่อนกดซ้ำ
- Empty: ไม่ได้แปลว่าไม่มีข้อมูลทั้งระบบ; อาจถูกกรองหรือไม่มี resource grant
- 403/เมนูหาย: ติดต่อ Org Admin เพื่อตรวจ menu และ resource permission แยกกัน
- บันทึกไม่สำเร็จ: อ่าน validation message, รักษาค่าที่กรอกไว้ และตรวจ active organization ก่อนลองใหม่
ใช้ตำแหน่งปัจจุบัน
- เส้นทาง:
/profile/map - Source:
app/pages/profile/map.vue - ใช้สำหรับ: ตั้งค่าบัญชีของผู้ใช้
- สิทธิ์ก่อนเข้า: ต้อง login และเลือก Active Organization; ข้อมูลที่เห็นขึ้นกับ menu และ resource permission

- เมนูหลักและขอบเขตโมดูล
- ชื่อหน้าและบริบทที่กำลังใช้งาน
- คำสั่งหลัก ตัวกรอง หรือปุ่มเพิ่มข้อมูล
- พื้นที่ข้อมูล ฟอร์ม ตาราง แผนที่ หรือ empty state
- การแจ้งเตือน ภาษา ธีม และเมนูบัญชี
วิธีใช้งาน
- เลือก Active Organization, ช่วงเวลา และพื้นที่/กลุ่มอุปกรณ์ที่ต้องการติดตาม
- ตั้งตัวกรองก่อนอ่านตัวเลข เพื่อให้ทุก card, chart และตารางอยู่ในขอบเขตเดียวกัน
- ตรวจ timestamp/สถานะล่าสุดก่อนสรุปว่าอุปกรณ์หรือเหตุการณ์ยัง active
- เปิดรายละเอียดจากจุดบนแผนที่ card หรือแถวตารางเพื่อดูข้อมูลต้นทาง
- หากข้อมูลไม่ขยับ ให้ refresh แล้วตรวจ network/resource permission ก่อนแจ้งเหตุขัดข้อง
ค่าหรือคำสั่งที่พบใน source
| Key | ข้อความที่ผู้ใช้เห็น | ความหมาย/การใช้งาน |
|---|---|---|
global.error | เกิดข้อผิดพลาด | ข้อความผิดพลาด: อ่านสาเหตุ แก้ค่าหรือสิทธิ์ที่ระบุ แล้วลองใหม่โดยไม่กดซ้ำระหว่างที่ระบบกำลังประมวลผล |
systemDevices.location.notSupported | เบราว์เซอร์ของคุณไม่รองรับการระบุตำแหน่ง | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
global.success | สำเร็จ | ข้อความยืนยันว่าระบบรับคำสั่งแล้ว; refresh หรือกลับไปหน้ารายการเพื่อตรวจผลที่บันทึกจริง |
systemDevices.location.located | ระบุตำแหน่งปัจจุบันแล้ว | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
systemDevices.location.permissionDenied | ผู้ใช้ไม่อนุญาตให้เข้าถึงตำแหน่ง | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
systemDevices.location.positionUnavailable | ไม่สามารถระบุตำแหน่งได้ | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
systemDevices.location.unknownError | เกิดข้อผิดพลาดในการระบุตำแหน่ง | ข้อความผิดพลาด: อ่านสาเหตุ แก้ค่าหรือสิทธิ์ที่ระบุ แล้วลองใหม่โดยไม่กดซ้ำระหว่างที่ระบบกำลังประมวลผล |
systemDevices.location.currentLocationTitle | ใช้ตำแหน่งปัจจุบัน | ชื่อหน้า/ส่วน ใช้ยืนยันว่ากำลังทำงานในโมดูลและบริบทที่ถูกต้องก่อนสั่งงาน |
systemDevices.location.currentLocationAria | คลิกเพื่อกำหนดละติจูด/ลองจิจูดเป็นตำแหน่งปัจจุบันของคุณ | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
profile.saveLocationSuccess | บันทึกพิกัดส่วนตัวสำเร็จ | ข้อความยืนยันว่าระบบรับคำสั่งแล้ว; refresh หรือกลับไปหน้ารายการเพื่อตรวจผลที่บันทึกจริง |
profile.saveLocationSuccessDesc | ตำแหน่งพิกัดและระดับการซูมของคุณได้รับการอัปเดตแล้ว | ข้อความยืนยันว่าระบบรับคำสั่งแล้ว; refresh หรือกลับไปหน้ารายการเพื่อตรวจผลที่บันทึกจริง |
profile.saveLocationError | ข้อผิดพลาด | ข้อความผิดพลาด: อ่านสาเหตุ แก้ค่าหรือสิทธิ์ที่ระบุ แล้วลองใหม่โดยไม่กดซ้ำระหว่างที่ระบบกำลังประมวลผล |
profile.personalMapCenter | ศูนย์กลางแผนที่ส่วนตัว | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
profile.personalMapDescription | กำหนดตำแหน่งพิกัดเริ่มต้นและระดับการซูมส่วนตัวสำหรับการเข้าใช้งานของคุณ | ข้อความอธิบายสำหรับผู้ดูแลและ audit context; ระบุเหตุผลที่ตรวจสอบย้อนหลังได้และไม่ใส่ข้อมูลลับ |
profile.saveLocation | บันทึกตำแหน่ง | คำสั่งเปลี่ยนหรือส่งออกข้อมูล; ตรวจรายการเป้าหมายและอ่าน confirmation ก่อนยืนยัน โดยเฉพาะคำสั่งที่ย้อนกลับไม่ได้ |
profile.searchPlace | ค้นหาสถานที่ | เครื่องมือจำกัดหรือจัดลำดับผลลัพธ์บนหน้าปัจจุบัน; ล้างตัวกรองเมื่อสงสัยว่าข้อมูลหาย |
profile.searchPlaceholder | กรอกชื่อสถานที่หรือที่อยู่... | ตำแหน่งบริการหรืออุปกรณ์ปลายทาง; ต้องเข้าถึงได้จากระบบและใช้ protocol/port ให้ตรงกับบริการ |
profile.latitude | ละติจูด | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
profile.longitude | ลองจิจูด | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
profile.zoom | ระดับซูม | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
profile.loadingMap | กำลังโหลดแผนที่... | สถานะกำลังโหลดหรือประมวลผล; รอให้สถานะสิ้นสุดก่อนเปลี่ยนหน้า/กดคำสั่งเดิมซ้ำ |
systemDevices.helper.latlong | คลิกบนแผนที่เพื่อเลือกตำแหน่ง ระบบจะใส่ค่า Lat/Long ให้อัตโนมัติ | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
สถานะผิดปกติ
- Loading: รอให้ skeleton/spinner หายก่อนกดซ้ำ
- Empty: ไม่ได้แปลว่าไม่มีข้อมูลทั้งระบบ; อาจถูกกรองหรือไม่มี resource grant
- 403/เมนูหาย: ติดต่อ Org Admin เพื่อตรวจ menu และ resource permission แยกกัน
- บันทึกไม่สำเร็จ: อ่าน validation message, รักษาค่าที่กรอกไว้ และตรวจ active organization ก่อนลองใหม่
password
- เส้นทาง:
/profile/password - Source:
app/pages/profile/password.vue - ใช้สำหรับ: ตั้งค่าบัญชีของผู้ใช้
- สิทธิ์ก่อนเข้า: ต้อง login และเลือก Active Organization; ข้อมูลที่เห็นขึ้นกับ menu และ resource permission

- เมนูหลักและขอบเขตโมดูล
- ชื่อหน้าและบริบทที่กำลังใช้งาน
- คำสั่งหลัก ตัวกรอง หรือปุ่มเพิ่มข้อมูล
- พื้นที่ข้อมูล ฟอร์ม ตาราง แผนที่ หรือ empty state
- การแจ้งเตือน ภาษา ธีม และเมนูบัญชี
วิธีใช้งาน
- เปิดหน้าจากเมนูหรือเส้นทางที่ระบุ และยืนยันบริบทจากชื่อหน้า
- ตรวจข้อความแนะนำ สถานะ และค่าที่ระบบแสดงก่อนเริ่มทำงาน
- ใช้คำสั่งตามตารางด้านล่างและหลีกเลี่ยงการกดซ้ำระหว่าง loading
- อ่าน confirmation/error ที่ระบบตอบกลับ และแก้เฉพาะค่าที่ถูกระบุ
- กลับหน้าก่อนหน้าหรือ refresh เพื่อยืนยันผลจาก backend
ค่าหรือคำสั่งที่พบใน source
| Key | ข้อความที่ผู้ใช้เห็น | ความหมาย/การใช้งาน |
|---|---|---|
profile.currentPasswordRequired | กรุณากรอกรหัสผ่านปัจจุบัน | กติกาตรวจข้อมูล: ช่องบังคับต้องมีค่าและรูปแบบต้องถูกต้องก่อนส่งให้ backend |
profile.passwordRequirements | รหัสผ่านต้องมีอย่างน้อย 8 ตัวอักษร | ข้อมูลความปลอดภัยหรือการลงนาม; จำกัดผู้เห็น ห้ามคัดลอกลง ticket/chat และเปลี่ยนเมื่อสงสัยว่ารั่วไหล |
profile.confirmPasswordRequired | กรุณายืนยันรหัสผ่านใหม่ | กติกาตรวจข้อมูล: ช่องบังคับต้องมีค่าและรูปแบบต้องถูกต้องก่อนส่งให้ backend |
profile.passwordMismatch | รหัสผ่านไม่ตรงกัน | ข้อมูลความปลอดภัยหรือการลงนาม; จำกัดผู้เห็น ห้ามคัดลอกลง ticket/chat และเปลี่ยนเมื่อสงสัยว่ารั่วไหล |
profile.passwordChangeSuccess | เปลี่ยนรหัสผ่านสำเร็จ | ข้อความยืนยันว่าระบบรับคำสั่งแล้ว; refresh หรือกลับไปหน้ารายการเพื่อตรวจผลที่บันทึกจริง |
profile.passwordChangeSuccessDesc | รหัสผ่านของคุณได้รับการอัปเดตเรียบร้อยแล้ว | ข้อความยืนยันว่าระบบรับคำสั่งแล้ว; refresh หรือกลับไปหน้ารายการเพื่อตรวจผลที่บันทึกจริง |
profile.passwordChangeError | เกิดข้อผิดพลาด | ข้อความผิดพลาด: อ่านสาเหตุ แก้ค่าหรือสิทธิ์ที่ระบุ แล้วลองใหม่โดยไม่กดซ้ำระหว่างที่ระบบกำลังประมวลผล |
profile.passwordChangeErrorDesc | ไม่สามารถเปลี่ยนรหัสผ่านได้ กรุณาลองใหม่ | ข้อความผิดพลาด: อ่านสาเหตุ แก้ค่าหรือสิทธิ์ที่ระบุ แล้วลองใหม่โดยไม่กดซ้ำระหว่างที่ระบบกำลังประมวลผล |
profile.changePassword | เปลี่ยนรหัสผ่าน | ข้อมูลความปลอดภัยหรือการลงนาม; จำกัดผู้เห็น ห้ามคัดลอกลง ticket/chat และเปลี่ยนเมื่อสงสัยว่ารั่วไหล |
profile.changePasswordDescription | อัปเดตรหัสผ่านของคุณเพื่อความปลอดภัยของบัญชี | ข้อมูลความปลอดภัยหรือการลงนาม; จำกัดผู้เห็น ห้ามคัดลอกลง ticket/chat และเปลี่ยนเมื่อสงสัยว่ารั่วไหล |
profile.updatePassword | อัปเดตรหัสผ่าน | ข้อมูลความปลอดภัยหรือการลงนาม; จำกัดผู้เห็น ห้ามคัดลอกลง ticket/chat และเปลี่ยนเมื่อสงสัยว่ารั่วไหล |
profile.currentPassword | รหัสผ่านปัจจุบัน | ข้อมูลความปลอดภัยหรือการลงนาม; จำกัดผู้เห็น ห้ามคัดลอกลง ticket/chat และเปลี่ยนเมื่อสงสัยว่ารั่วไหล |
profile.enterCurrentPassword | กรอกรหัสผ่านปัจจุบัน | ข้อมูลความปลอดภัยหรือการลงนาม; จำกัดผู้เห็น ห้ามคัดลอกลง ticket/chat และเปลี่ยนเมื่อสงสัยว่ารั่วไหล |
profile.newPassword | รหัสผ่านใหม่ | ข้อมูลความปลอดภัยหรือการลงนาม; จำกัดผู้เห็น ห้ามคัดลอกลง ticket/chat และเปลี่ยนเมื่อสงสัยว่ารั่วไหล |
profile.enterNewPassword | กรอกรหัสผ่านใหม่ | ข้อมูลความปลอดภัยหรือการลงนาม; จำกัดผู้เห็น ห้ามคัดลอกลง ticket/chat และเปลี่ยนเมื่อสงสัยว่ารั่วไหล |
profile.confirmPassword | ยืนยันรหัสผ่านใหม่ | ข้อมูลความปลอดภัยหรือการลงนาม; จำกัดผู้เห็น ห้ามคัดลอกลง ticket/chat และเปลี่ยนเมื่อสงสัยว่ารั่วไหล |
profile.enterConfirmPassword | กรอกรหัสผ่านใหม่อีกครั้ง | ข้อมูลความปลอดภัยหรือการลงนาม; จำกัดผู้เห็น ห้ามคัดลอกลง ticket/chat และเปลี่ยนเมื่อสงสัยว่ารั่วไหล |
profile.minLength8 | มีอย่างน้อย 8 ตัวอักษร | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
profile.hasUppercase | มีตัวอักษรพิมพ์ใหญ่ | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
profile.hasNumber | มีตัวเลข | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
profile.securityNotice | ข้อควรระวังด้านความปลอดภัย | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
profile.securityNoticeDesc | หลังจากเปลี่ยนรหัสผ่าน คุณอาจต้องเข้าสู่ระบบใหม่ในอุปกรณ์อื่นๆ | รหัสอ้างอิงของรายการ ใช้เชื่อมกับ URL/API และการตรวจสอบย้อนหลัง; ไม่ควรแก้หรือเดาจากชื่อแสดงผล |
สถานะผิดปกติ
- Loading: รอให้ skeleton/spinner หายก่อนกดซ้ำ
- Empty: ไม่ได้แปลว่าไม่มีข้อมูลทั้งระบบ; อาจถูกกรองหรือไม่มี resource grant
- 403/เมนูหาย: ติดต่อ Org Admin เพื่อตรวจ menu และ resource permission แยกกัน
- บันทึกไม่สำเร็จ: อ่าน validation message, รักษาค่าที่กรอกไว้ และตรวจ active organization ก่อนลองใหม่
profile
- เส้นทาง:
/settings/profile - Source:
app/pages/settings/profile/index.vue - ใช้สำหรับ: ตั้งค่าบัญชีของผู้ใช้
- สิทธิ์ก่อนเข้า: ต้อง login และเลือก Active Organization; ข้อมูลที่เห็นขึ้นกับ menu และ resource permission

- เมนูหลักและขอบเขตโมดูล
- ชื่อหน้าและบริบทที่กำลังใช้งาน
- คำสั่งหลัก ตัวกรอง หรือปุ่มเพิ่มข้อมูล
- พื้นที่ข้อมูล ฟอร์ม ตาราง แผนที่ หรือ empty state
- การแจ้งเตือน ภาษา ธีม และเมนูบัญชี
วิธีใช้งาน
- ยืนยัน Active Organization และชื่อรายการ/อุปกรณ์เป้าหมายให้ถูกต้อง
- กรอกช่องบังคับก่อน แล้วจึงตั้งค่าขั้นสูงตามตารางด้านล่าง
- ตรวจค่า ID, endpoint, quota, วันเวลา และสถานะอีกครั้งก่อนบันทึก
- กดบันทึกเพียงครั้งเดียวและรอข้อความสำเร็จหรือ validation error
- กลับหน้ารายการหรือ refresh เพื่อยืนยันว่าค่าจาก backend ตรงกับที่ตั้งไว้
ค่าหรือคำสั่งที่พบใน source
| Key | ข้อความที่ผู้ใช้เห็น | ความหมาย/การใช้งาน |
|---|---|---|
global.success | สำเร็จ | ข้อความยืนยันว่าระบบรับคำสั่งแล้ว; refresh หรือกลับไปหน้ารายการเพื่อตรวจผลที่บันทึกจริง |
global.error | เกิดข้อผิดพลาด | ข้อความผิดพลาด: อ่านสาเหตุ แก้ค่าหรือสิทธิ์ที่ระบุ แล้วลองใหม่โดยไม่กดซ้ำระหว่างที่ระบบกำลังประมวลผล |
สถานะผิดปกติ
- Loading: รอให้ skeleton/spinner หายก่อนกดซ้ำ
- Empty: ไม่ได้แปลว่าไม่มีข้อมูลทั้งระบบ; อาจถูกกรองหรือไม่มี resource grant
- 403/เมนูหาย: ติดต่อ Org Admin เพื่อตรวจ menu และ resource permission แยกกัน
- บันทึกไม่สำเร็จ: อ่าน validation message, รักษาค่าที่กรอกไว้ และตรวจ active organization ก่อนลองใหม่
members
- เส้นทาง:
/settings/profile/members - Source:
app/pages/settings/profile/members.vue - ใช้สำหรับ: ตั้งค่าบัญชีของผู้ใช้
- สิทธิ์ก่อนเข้า: ต้อง login และเลือก Active Organization; ข้อมูลที่เห็นขึ้นกับ menu และ resource permission

- เมนูหลักและขอบเขตโมดูล
- ชื่อหน้าและบริบทที่กำลังใช้งาน
- คำสั่งหลัก ตัวกรอง หรือปุ่มเพิ่มข้อมูล
- พื้นที่ข้อมูล ฟอร์ม ตาราง แผนที่ หรือ empty state
- การแจ้งเตือน ภาษา ธีม และเมนูบัญชี
วิธีใช้งาน
- ยืนยัน Active Organization และชื่อรายการ/อุปกรณ์เป้าหมายให้ถูกต้อง
- กรอกช่องบังคับก่อน แล้วจึงตั้งค่าขั้นสูงตามตารางด้านล่าง
- ตรวจค่า ID, endpoint, quota, วันเวลา และสถานะอีกครั้งก่อนบันทึก
- กดบันทึกเพียงครั้งเดียวและรอข้อความสำเร็จหรือ validation error
- กลับหน้ารายการหรือ refresh เพื่อยืนยันว่าค่าจาก backend ตรงกับที่ตั้งไว้
ค่าหรือคำสั่งที่พบใน source
| Key | ข้อความที่ผู้ใช้เห็น | ความหมาย/การใช้งาน |
|---|---|---|
| — | ไม่พบ label แบบ static ใน source | หน้านี้สร้างข้อความจากข้อมูลหรือ component ย่อย ให้ยึดภาพและ workflow ที่แสดง |
สถานะผิดปกติ
- Loading: รอให้ skeleton/spinner หายก่อนกดซ้ำ
- Empty: ไม่ได้แปลว่าไม่มีข้อมูลทั้งระบบ; อาจถูกกรองหรือไม่มี resource grant
- 403/เมนูหาย: ติดต่อ Org Admin เพื่อตรวจ menu และ resource permission แยกกัน
- บันทึกไม่สำเร็จ: อ่าน validation message, รักษาค่าที่กรอกไว้ และตรวจ active organization ก่อนลองใหม่
security
- เส้นทาง:
/settings/profile/security - Source:
app/pages/settings/profile/security.vue - ใช้สำหรับ: ตั้งค่าบัญชีของผู้ใช้
- สิทธิ์ก่อนเข้า: ต้อง login และเลือก Active Organization; ข้อมูลที่เห็นขึ้นกับ menu และ resource permission

- เมนูหลักและขอบเขตโมดูล
- ชื่อหน้าและบริบทที่กำลังใช้งาน
- คำสั่งหลัก ตัวกรอง หรือปุ่มเพิ่มข้อมูล
- พื้นที่ข้อมูล ฟอร์ม ตาราง แผนที่ หรือ empty state
- การแจ้งเตือน ภาษา ธีม และเมนูบัญชี
วิธีใช้งาน
- ยืนยัน Active Organization และชื่อรายการ/อุปกรณ์เป้าหมายให้ถูกต้อง
- กรอกช่องบังคับก่อน แล้วจึงตั้งค่าขั้นสูงตามตารางด้านล่าง
- ตรวจค่า ID, endpoint, quota, วันเวลา และสถานะอีกครั้งก่อนบันทึก
- กดบันทึกเพียงครั้งเดียวและรอข้อความสำเร็จหรือ validation error
- กลับหน้ารายการหรือ refresh เพื่อยืนยันว่าค่าจาก backend ตรงกับที่ตั้งไว้
ค่าหรือคำสั่งที่พบใน source
| Key | ข้อความที่ผู้ใช้เห็น | ความหมาย/การใช้งาน |
|---|---|---|
| — | ไม่พบ label แบบ static ใน source | หน้านี้สร้างข้อความจากข้อมูลหรือ component ย่อย ให้ยึดภาพและ workflow ที่แสดง |
สถานะผิดปกติ
- Loading: รอให้ skeleton/spinner หายก่อนกดซ้ำ
- Empty: ไม่ได้แปลว่าไม่มีข้อมูลทั้งระบบ; อาจถูกกรองหรือไม่มี resource grant
- 403/เมนูหาย: ติดต่อ Org Admin เพื่อตรวจ menu และ resource permission แยกกัน
- บันทึกไม่สำเร็จ: อ่าน validation message, รักษาค่าที่กรอกไว้ และตรวจ active organization ก่อนลองใหม่
วิดีโอวอล
- เส้นทาง:
/videowall - Source:
app/pages/videowall.vue - ใช้สำหรับ: แผนที่ กล้องสด และ video wall
- สิทธิ์ก่อนเข้า: ต้อง login และเลือก Active Organization; ข้อมูลที่เห็นขึ้นกับ menu และ resource permission

- เมนูหลักและขอบเขตโมดูล
- ชื่อหน้าและบริบทที่กำลังใช้งาน
- คำสั่งหลัก ตัวกรอง หรือปุ่มเพิ่มข้อมูล
- พื้นที่ข้อมูล ฟอร์ม ตาราง แผนที่ หรือ empty state
- การแจ้งเตือน ภาษา ธีม และเมนูบัญชี
วิธีใช้งาน
- เลือก Active Organization, ช่วงเวลา และพื้นที่/กลุ่มอุปกรณ์ที่ต้องการติดตาม
- ตั้งตัวกรองก่อนอ่านตัวเลข เพื่อให้ทุก card, chart และตารางอยู่ในขอบเขตเดียวกัน
- ตรวจ timestamp/สถานะล่าสุดก่อนสรุปว่าอุปกรณ์หรือเหตุการณ์ยัง active
- เปิดรายละเอียดจากจุดบนแผนที่ card หรือแถวตารางเพื่อดูข้อมูลต้นทาง
- หากข้อมูลไม่ขยับ ให้ refresh แล้วตรวจ network/resource permission ก่อนแจ้งเหตุขัดข้อง
ค่าหรือคำสั่งที่พบใน source
| Key | ข้อความที่ผู้ใช้เห็น | ความหมาย/การใช้งาน |
|---|---|---|
all | ทั้งหมด | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
videowall.scope.managed | ในความดูแล | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
videowall.scope.public | สาธารณะ | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
videowall.status.all | ทุกสถานะ | สถานะ lifecycle ของรายการ; ใช้ตัดสินว่ารายการพร้อมใช้งาน ถูกพัก หรือสิ้นสุด และตรวจผลกระทบก่อนเปลี่ยนสถานะ |
videowall.status.online | ออนไลน์ | สถานะ lifecycle ของรายการ; ใช้ตัดสินว่ารายการพร้อมใช้งาน ถูกพัก หรือสิ้นสุด และตรวจผลกระทบก่อนเปลี่ยนสถานะ |
videowall.status.offline | ออฟไลน์ | สถานะ lifecycle ของรายการ; ใช้ตัดสินว่ารายการพร้อมใช้งาน ถูกพัก หรือสิ้นสุด และตรวจผลกระทบก่อนเปลี่ยนสถานะ |
videowall.title | วิดีโอวอล | ชื่อหน้า/ส่วน ใช้ยืนยันว่ากำลังทำงานในโมดูลและบริบทที่ถูกต้องก่อนสั่งงาน |
videowall.clear | ล้าง | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
videowall.cameraCountSuffix | กล้อง | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
videowall.emptyDrop | ลากกล้องจากแถบขวาเพื่อวาง | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
videowall.slot | ช่องที่ {n} | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
global.retry | ลองใหม่ | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
kmap.sidebar.title | รายการกล้อง | ชื่อหน้า/ส่วน ใช้ยืนยันว่ากำลังทำงานในโมดูลและบริบทที่ถูกต้องก่อนสั่งงาน |
videowall.searchPlaceholder | ค้นหาชื่อกล้อง, เขต, หรือ ID... | เครื่องมือจำกัดหรือจัดลำดับผลลัพธ์บนหน้าปัจจุบัน; ล้างตัวกรองเมื่อสงสัยว่าข้อมูลหาย |
videowall.selectedGroupCount | {n} กลุ่ม | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
videowall.cameraGroup | กลุ่มกล้อง | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
videowall.noResults | ไม่พบกล้องที่ตรงกับการค้นหา | เครื่องมือจำกัดหรือจัดลำดับผลลัพธ์บนหน้าปัจจุบัน; ล้างตัวกรองเมื่อสงสัยว่าข้อมูลหาย |
videowall.clickOrDragHint | คลิกเพื่อใส่ช่องว่างถัดไป หรือ ลากไปวางที่ช่อง | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
kmap.sidebar.unknownDevice | ไม่ทราบชื่ออุปกรณ์ | ชื่อที่ใช้แสดงและค้นหารายการ; ตั้งให้สื่อความหมายและไม่ซ้ำกับรายการในขอบเขตเดียวกัน |
สถานะผิดปกติ
- Loading: รอให้ skeleton/spinner หายก่อนกดซ้ำ
- Empty: ไม่ได้แปลว่าไม่มีข้อมูลทั้งระบบ; อาจถูกกรองหรือไม่มี resource grant
- 403/เมนูหาย: ติดต่อ Org Admin เพื่อตรวจ menu และ resource permission แยกกัน
- บันทึกไม่สำเร็จ: อ่าน validation message, รักษาค่าที่กรอกไว้ และตรวจ active organization ก่อนลองใหม่
แสดงแดชบอร์ด
- เส้นทาง:
/wall/dashboard - Source:
app/pages/wall/dashboard.vue - ใช้สำหรับ: แดชบอร์ดและ monitoring
- สิทธิ์ก่อนเข้า: ต้อง login และเลือก Active Organization; ข้อมูลที่เห็นขึ้นกับ menu และ resource permission

- เมนูหลักและขอบเขตโมดูล
- ชื่อหน้าและบริบทที่กำลังใช้งาน
- คำสั่งหลัก ตัวกรอง หรือปุ่มเพิ่มข้อมูล
- พื้นที่ข้อมูล ฟอร์ม ตาราง แผนที่ หรือ empty state
- การแจ้งเตือน ภาษา ธีม และเมนูบัญชี
วิธีใช้งาน
- เลือก Active Organization, ช่วงเวลา และพื้นที่/กลุ่มอุปกรณ์ที่ต้องการติดตาม
- ตั้งตัวกรองก่อนอ่านตัวเลข เพื่อให้ทุก card, chart และตารางอยู่ในขอบเขตเดียวกัน
- ตรวจ timestamp/สถานะล่าสุดก่อนสรุปว่าอุปกรณ์หรือเหตุการณ์ยัง active
- เปิดรายละเอียดจากจุดบนแผนที่ card หรือแถวตารางเพื่อดูข้อมูลต้นทาง
- หากข้อมูลไม่ขยับ ให้ refresh แล้วตรวจ network/resource permission ก่อนแจ้งเหตุขัดข้อง
ค่าหรือคำสั่งที่พบใน source
| Key | ข้อความที่ผู้ใช้เห็น | ความหมาย/การใช้งาน |
|---|---|---|
wall.dashboardTitle | แสดงแดชบอร์ด | ชื่อหน้า/ส่วน ใช้ยืนยันว่ากำลังทำงานในโมดูลและบริบทที่ถูกต้องก่อนสั่งงาน |
all | ทั้งหมด | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
wall.toastLoadFailed | โหลดโปรไฟล์ไม่สำเร็จ | ข้อความผิดพลาด: อ่านสาเหตุ แก้ค่าหรือสิทธิ์ที่ระบุ แล้วลองใหม่โดยไม่กดซ้ำระหว่างที่ระบบกำลังประมวลผล |
wall.toastNameRequired | กรุณาระบุชื่อโปรไฟล์ | กติกาตรวจข้อมูล: ช่องบังคับต้องมีค่าและรูปแบบต้องถูกต้องก่อนส่งให้ backend |
wall.toastOrgAdminRequired | ต้องเป็นผู้ดูแลองค์กร | กติกาตรวจข้อมูล: ช่องบังคับต้องมีค่าและรูปแบบต้องถูกต้องก่อนส่งให้ backend |
wall.toastSaved | บันทึกโปรไฟล์แล้ว | คำสั่งเปลี่ยนหรือส่งออกข้อมูล; ตรวจรายการเป้าหมายและอ่าน confirmation ก่อนยืนยัน โดยเฉพาะคำสั่งที่ย้อนกลับไม่ได้ |
wall.toastSaveFailed | บันทึกโปรไฟล์ไม่สำเร็จ | ข้อความผิดพลาด: อ่านสาเหตุ แก้ค่าหรือสิทธิ์ที่ระบุ แล้วลองใหม่โดยไม่กดซ้ำระหว่างที่ระบบกำลังประมวลผล |
wall.toastDefaultFailed | ตั้งค่าเริ่มต้นไม่สำเร็จ | ข้อความผิดพลาด: อ่านสาเหตุ แก้ค่าหรือสิทธิ์ที่ระบุ แล้วลองใหม่โดยไม่กดซ้ำระหว่างที่ระบบกำลังประมวลผล |
wall.toastDeleted | ลบโปรไฟล์แล้ว | คำสั่งเปลี่ยนหรือส่งออกข้อมูล; ตรวจรายการเป้าหมายและอ่าน confirmation ก่อนยืนยัน โดยเฉพาะคำสั่งที่ย้อนกลับไม่ได้ |
wall.toastDeleteFailed | ลบโปรไฟล์ไม่สำเร็จ | ข้อความผิดพลาด: อ่านสาเหตุ แก้ค่าหรือสิทธิ์ที่ระบุ แล้วลองใหม่โดยไม่กดซ้ำระหว่างที่ระบบกำลังประมวลผล |
wall.profile | โปรไฟล์ | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
wall.new | ใหม่ | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
wall.save | บันทึก | คำสั่งเปลี่ยนหรือส่งออกข้อมูล; ตรวจรายการเป้าหมายและอ่าน confirmation ก่อนยืนยัน โดยเฉพาะคำสั่งที่ย้อนกลับไม่ได้ |
wall.defaultSuffix | ค่าเริ่มต้น | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
wall.name | ชื่อ | ชื่อที่ใช้แสดงและค้นหารายการ; ตั้งให้สื่อความหมายและไม่ซ้ำกับรายการในขอบเขตเดียวกัน |
wall.namePlaceholder | เช่น IOC overview | ชื่อที่ใช้แสดงและค้นหารายการ; ตั้งให้สื่อความหมายและไม่ซ้ำกับรายการในขอบเขตเดียวกัน |
wall.scope | ขอบเขต | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
wall.scopePersonal | ส่วนตัว | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
wall.scopeOrg | องค์กร | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
wall.setDefault | ตั้งเป็นค่าเริ่มต้น | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
wall.slot | ช่อง | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
wall.clear | ล้าง | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
wall.page | หน้า | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
wall.iframe | Iframe | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
wall.pickPage | เลือกหน้า | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
wall.url | URL | ตำแหน่งบริการหรืออุปกรณ์ปลายทาง; ต้องเข้าถึงได้จากระบบและใช้ protocol/port ให้ตรงกับบริการ |
wall.urlPlaceholder | https://example.com/display | ข้อความหรือค่าที่หน้าใช้แสดงบริบทของรายการ; ตรวจค่าจากข้อมูลจริงและข้อความช่วยบนหน้าก่อนดำเนินการ |
wall.slotTitle | ชื่อช่อง | ชื่อหน้า/ส่วน ใช้ยืนยันว่ากำลังทำงานในโมดูลและบริบทที่ถูกต้องก่อนสั่งงาน |
สถานะผิดปกติ
- Loading: รอให้ skeleton/spinner หายก่อนกดซ้ำ
- Empty: ไม่ได้แปลว่าไม่มีข้อมูลทั้งระบบ; อาจถูกกรองหรือไม่มี resource grant
- 403/เมนูหาย: ติดต่อ Org Admin เพื่อตรวจ menu และ resource permission แยกกัน
- บันทึกไม่สำเร็จ: อ่าน validation message, รักษาค่าที่กรอกไว้ และตรวจ active organization ก่อนลองใหม่
แสดงวิดีโอ
- เส้นทาง:
/wall/video - Source:
app/pages/wall/video.vue - ใช้สำหรับ: แผนที่ กล้องสด และ video wall
- สิทธิ์ก่อนเข้า: ต้อง login และเลือก Active Organization; ข้อมูลที่เห็นขึ้นกับ menu และ resource permission

- เมนูหลักและขอบเขตโมดูล
- ชื่อหน้าและบริบทที่กำลังใช้งาน
- คำสั่งหลัก ตัวกรอง หรือปุ่มเพิ่มข้อมูล
- พื้นที่ข้อมูล ฟอร์ม ตาราง แผนที่ หรือ empty state
- การแจ้งเตือน ภาษา ธีม และเมนูบัญชี
วิธีใช้งาน
- เลือก Active Organization, ช่วงเวลา และพื้นที่/กลุ่มอุปกรณ์ที่ต้องการติดตาม
- ตั้งตัวกรองก่อนอ่านตัวเลข เพื่อให้ทุก card, chart และตารางอยู่ในขอบเขตเดียวกัน
- ตรวจ timestamp/สถานะล่าสุดก่อนสรุปว่าอุปกรณ์หรือเหตุการณ์ยัง active
- เปิดรายละเอียดจากจุดบนแผนที่ card หรือแถวตารางเพื่อดูข้อมูลต้นทาง
- หากข้อมูลไม่ขยับ ให้ refresh แล้วตรวจ network/resource permission ก่อนแจ้งเหตุขัดข้อง
ค่าหรือคำสั่งที่พบใน source
| Key | ข้อความที่ผู้ใช้เห็น | ความหมาย/การใช้งาน |
|---|---|---|
wall.videoTitle | แสดงวิดีโอ | ชื่อหน้า/ส่วน ใช้ยืนยันว่ากำลังทำงานในโมดูลและบริบทที่ถูกต้องก่อนสั่งงาน |
สถานะผิดปกติ
- Loading: รอให้ skeleton/spinner หายก่อนกดซ้ำ
- Empty: ไม่ได้แปลว่าไม่มีข้อมูลทั้งระบบ; อาจถูกกรองหรือไม่มี resource grant
- 403/เมนูหาย: ติดต่อ Org Admin เพื่อตรวจ menu และ resource permission แยกกัน
- บันทึกไม่สำเร็จ: อ่าน validation message, รักษาค่าที่กรอกไว้ และตรวจ active organization ก่อนลองใหม่
watchman
- เส้นทาง:
/watchman - Source:
app/pages/watchman.vue - ใช้สำหรับ: หน้าใช้งานทั่วไปหรือเครื่องมือสนับสนุน
- สิทธิ์ก่อนเข้า: ต้อง login และเลือก Active Organization; ข้อมูลที่เห็นขึ้นกับ menu และ resource permission

- เมนูหลักและขอบเขตโมดูล
- ชื่อหน้าและบริบทที่กำลังใช้งาน
- คำสั่งหลัก ตัวกรอง หรือปุ่มเพิ่มข้อมูล
- พื้นที่ข้อมูล ฟอร์ม ตาราง แผนที่ หรือ empty state
- การแจ้งเตือน ภาษา ธีม และเมนูบัญชี
วิธีใช้งาน
- เปิดหน้าจากเมนูหรือเส้นทางที่ระบุ และยืนยันบริบทจากชื่อหน้า
- ตรวจข้อความแนะนำ สถานะ และค่าที่ระบบแสดงก่อนเริ่มทำงาน
- ใช้คำสั่งตามตารางด้านล่างและหลีกเลี่ยงการกดซ้ำระหว่าง loading
- อ่าน confirmation/error ที่ระบบตอบกลับ และแก้เฉพาะค่าที่ถูกระบุ
- กลับหน้าก่อนหน้าหรือ refresh เพื่อยืนยันผลจาก backend
ค่าหรือคำสั่งที่พบใน source
| Key | ข้อความที่ผู้ใช้เห็น | ความหมาย/การใช้งาน |
|---|---|---|
| — | ไม่พบ label แบบ static ใน source | หน้านี้สร้างข้อความจากข้อมูลหรือ component ย่อย ให้ยึดภาพและ workflow ที่แสดง |
สถานะผิดปกติ
- Loading: รอให้ skeleton/spinner หายก่อนกดซ้ำ
- Empty: ไม่ได้แปลว่าไม่มีข้อมูลทั้งระบบ; อาจถูกกรองหรือไม่มี resource grant
- 403/เมนูหาย: ติดต่อ Org Admin เพื่อตรวจ menu และ resource permission แยกกัน
- บันทึกไม่สำเร็จ: อ่าน validation message, รักษาค่าที่กรอกไว้ และตรวจ active organization ก่อนลองใหม่