แดชบอร์ด
ภาพรวมระบบและสถิติการใช้งาน
กำลังโหลด...
ผู้ดูแลระบบ
การแจ้งเตือน
0
เจ้าหน้าที่
0
กรรมการ
0
รออนุมัติ
0
ลาวันนี้
0
LINE ผู้ติดตาม
0
ระบบ/บริการ
สรุปการลาเดือนนี้
0
รายการทั้งหมด
0
อนุมัติแล้ว
0
วันลารวม
0
จำนวนคนลา
ทางลัด
เข้าใช้งานล่าสุด
กิจกรรมล่าสุด
วันหยุดที่ใกล้จะถึง
ใกล้หมดอายุ
ตั้งค่าหน้าเรียกคิว
การตั้งค่าเสียงเรียกคิว
เสียงคำขึ้นต้น
(ขอเชิญหมายเลข)
ยังไม่ได้ตั้งค่า
เสียงคำสำหรับช่องบริการ
(ที่ช่องบริการ)
ยังไม่ได้ตั้งค่า
เสียงคำตามท้าย
(ค่ะ)
ยังไม่ได้ตั้งค่า
ตัวอักษร (A–Z)
ช่องบริการหมายเลข 1–12 และห้องผู้จัดการ
ตัวเลข (0–9)
กำหนดเวลาหน่วงหลังจากเรียกคิวเพื่อป้องกันเสียงเรียกซ้อน
กำหนดขนาดกระดาษสำหรับพิมพ์บัตรคิว (ค่าเริ่มต้น 50×70)
หากปิดการใช้งาน ผู้ใช้ต้องกดพิมพ์เอง
จัดการรางวัล
ประเภทรายชื่อ
บันทึกผลรางวัล
จัดการรายชื่อผู้มีสิทธิ์จับรางวัล
0
รายชื่อทั้งหมด
0
ลงทะเบียนแล้ว
0
มีสิทธิ์จับรางวัล
0
ถูกรางวัลแล้ว
| เลขสมาชิก | ชื่อ - สกุล | สังกัด | ประเภท | สถานะ | จัดการ |
|---|
แสดง 0 จาก 0 รายการ
ตั้งค่าการจับรางวัล
ยืนยัน
ข้อความ
Import รายชื่อจาก Excel
รายชื่อที่ Import จะถูกกำหนดเป็นประเภทที่เลือก
คลิกเพื่อเลือกไฟล์ หรือลากไฟล์มาวาง
รองรับ .xlsx, .xls, .csv
จำนวนข้อมูลที่จะนำเข้า: 0 รายการ
ผู้โชคดี
เพิ่มรางวัล
เพิ่มประเภท
เพิ่มบันทึกผลรางวัล
รายละเอียดผลรางวัล
เพิ่มรายชื่อ
จัดการเจ้าหน้าที่
จัดการข้อมูลเจ้าหน้าที่และสิทธิ์การเข้าถึงระบบ
ทั้งหมด
0
ปกติ
0
ผู้ดูแลระบบ
0
ผู้อนุมัติ
0
| ผู้ใช้ | สถานะ | บทบาท | เข้าใช้ล่าสุด | จัดการ |
|---|
ยังไม่มีข้อมูลผู้ใช้
เริ่มต้นเพิ่มผู้ใช้คนแรกเลย
จัดการสมาชิกสหกรณ์
จัดการสมาชิกสหกรณ์ (ไม่รวมเจ้าหน้าที่และกรรมการ) — ใช้ Back Office ด้านล่างเพื่อค้นหา ปลดล็อคแอป ล็อคบัญชี รีเซ็ต PIN ฯลฯ
ถ้ากรอบด้านบนไม่แสดงผล (เว็บ Back Office ไม่อนุญาตให้ embed) ให้กดปุ่ม เปิด Back Office ในแท็บใหม่
ข้อมูลเข้า-ออกงาน
| รหัส | ชื่อ | เข้า | ออก |
|---|---|---|---|
| กดปุ่ม "ดึงข้อมูลจาก ATT2Mobile" เพื่อโหลดข้อมูล | |||
ข้อมูลจาก ATT2Mobile (NKBKCOOP เวลาทำงาน 08:30–16:30) — ดึงข้อมูลวันนี้หรือย้อนหลังได้แล้วกดบันทึกลง Firestore
ดึงหลายวัน หรือรายเดือน
สรุปรายเดือน (แยกตามคน)
แสดงเข้า-ออกงานของเจ้าหน้าที่แต่ละคน รายเดือน อ้างอิงการลางาน วันหยุดสหกรณ์ และวันหยุดเสาร์-อาทิตย์
เลือกเดือนแล้วกด "โหลดสรุป" เพื่อดูข้อมูลเข้า-ออกงานรายคน
จัดการโปรแกรมและคอมพิวเตอร์
ตั้งค่าระบบ
จัดการการตั้งค่าทั้งหมดของระบบ Admin Panel
ข้อมูลองค์กร
ข้อมูลพื้นฐานขององค์กร/สำนักงาน
แสดงเป็นชื่อแท็บเบราว์เซอร์และหัวข้อหลักของระบบ
ลิขสิทธิ์และ Footer
ข้อความที่แสดงด้านล่างของเว็บไซต์
โลโก้และไอคอน
รูปภาพที่ใช้แสดงตัวตนขององค์กร
โลโก้หลัก
แนะนำ: PNG หรือ SVG, ขนาด 200x200px
Favicon (ไอคอนแท็บ)
แนะนำ: ICO, PNG, ขนาด 32x32 หรือ 64x64px
สีธีม
ปรับแต่งสีหลักของระบบ
ตั้งค่าการอัปโหลดรูปภาพ
กำหนดปลายทางและการตั้งค่าการอัปโหลด
ตั้งค่า Cloudinary
* ต้องเป็น API ฝั่งเซิร์ฟเวอร์ที่รับ { public_id } และลบไฟล์
ตั้งค่า Firebase Storage
ตั้งค่า Custom API
การประมวลผลรูปภาพ
ตั้งค่าการบีบอัดและปรับขนาด
บีบอัดเป็น WebP
ลดขนาดไฟล์ โหลดเร็วขึ้น
ลบรูปเก่าอัตโนมัติ
เมื่ออัปโหลดรูปใหม่แทนที่
แนะนำ: 512px สำหรับรูปโปรไฟล์
แนะนำ: 80% สำหรับความสมดุล
วิธีตั้งค่า: สมัครบัญชี EmailJS → สร้าง Email Service → สร้าง Email Template → คัดลอก IDs มาใส่ด้านล่าง
Account → API Keys
Email Services → Service ID
Email Templates → Template ID
ทดสอบส่งอีเมล
เทมเพลตอีเมล
จัดการรูปแบบอีเมลสำหรับการแจ้งเตือนต่างๆ
คำขอลางานใหม่
แจ้งผู้อนุมัติเมื่อมีคำขอลาใหม่
อนุมัติการลา
แจ้งผู้ขอลาเมื่อได้รับอนุมัติ
ไม่อนุมัติการลา
แจ้งผู้ขอลาเมื่อไม่ได้รับอนุมัติ
ระบบใกล้หมดอายุ
แจ้งเตือนก่อนระบบ/บริการหมดอายุ
รีเซ็ตรหัสผ่าน
ส่งรหัสผ่านชั่วคราวให้ผู้ใช้
ยินดีต้อนรับ
ส่งให้ผู้ใช้ใหม่พร้อมข้อมูลบัญชี
ตัวแปรที่ใช้ได้ใน Template
{{org_name}}
{{user_name}}
{{user_email}}
{{leave_type}}
{{leave_dates}}
{{leave_days}}
{{leave_reason}}
{{approver_name}}
{{system_name}}
{{expiry_date}}
{{days_left}}
{{temp_password}}
ผู้รับอีเมลแจ้งเตือน
กำหนดอีเมลที่จะได้รับการแจ้งเตือนจากระบบ
คั่นด้วยเครื่องหมาย , หากมีหลายอีเมล
จะได้รับอีเมลเมื่อมีคำขอลาใหม่
จะได้รับอีเมลเมื่อระบบ/บริการใกล้หมดอายุ
ตั้งค่าการแจ้งเตือน
เลือกรับการแจ้งเตือนที่ต้องการ
แจ้งเตือนทางอีเมล
รับอีเมลเมื่อมีกิจกรรมสำคัญ
แจ้งเตือนทาง LINE
รับข้อความ LINE เมื่อมีคำขอใหม่
แจ้งเตือนคำขอลางาน
แจ้งเตือนเมื่อมีคำขอลาใหม่
แจ้งเตือนระบบหมดอายุ
แจ้งเตือนก่อนระบบ/บริการหมดอายุ
ความปลอดภัยบัญชี
จัดการรหัสผ่านและการยืนยันตัวตน
เปลี่ยนรหัสผ่าน
อัปเดตรหัสผ่านของคุณ
การยืนยันตัวตนสองขั้นตอน (2FA)
เพิ่มความปลอดภัยให้บัญชี
เซสชันและการเข้าสู่ระบบ
จัดการการเข้าสู่ระบบ
จำการเข้าสู่ระบบ
ไม่ต้อง Login ใหม่เมื่อกลับมา
การตั้งค่าจะถูกบันทึกไปยัง Firestore
| ชื่อระบบและบริการ | วันเริ่มใช้งาน | วันหมดอายุ | วันต้องต่ออายุ | ไลเซนส์ | คงเหลือ | ราคา | ผู้จำหน่าย | สถานะ | จัดการ |
|---|
บันทึกการใช้งาน
โครงสร้างเจ้าหน้าที่
จัดการฝ่ายงาน, งาน, หน่วยบริการ และตำแหน่ง
แผนผังโครงสร้างเจ้าหน้าที่
ฝ่ายงาน
| ลำดับ | ชื่อฝ่าย | หัวหน้าฝ่าย | จำนวนคน | จัดการ |
|---|---|---|---|---|
| กำลังโหลด... | ||||
งาน
| ลำดับ | ชื่องาน | สังกัดฝ่าย | จำนวนคน | จัดการ |
|---|---|---|---|---|
| กำลังโหลด... | ||||
หน่วยบริการ
| ลำดับ | ชื่อหน่วยบริการ | สังกัดงาน | จัดการ |
|---|---|---|---|
| กำลังโหลด... | |||
ตำแหน่ง
| ลำดับ | ชื่อตำแหน่ง | ระดับอนุมัติ | จัดการ |
|---|---|---|---|
| กำลังโหลด... | |||
โครงสร้างกรรมการ
แผนผังโครงสร้างกรรมการ
ชุดกรรมการ
คณะกรรมการ
คณะกรรมการจะใช้ร่วมกันทุกชุด สามารถกำหนดสมาชิกในแต่ละคณะได้จากหน้าแก้ไขกรรมการ
ตำแหน่งกรรมการ
ตำแหน่งจะเรียงตามลำดับความสำคัญ (ประธาน → รองประธาน → ฯลฯ)
| ลำดับ | ชื่อตำแหน่ง | จัดการ |
|---|---|---|
| กำลังโหลด... | ||
เพิ่มฝ่ายงาน
เพิ่มงาน
เพิ่มหน่วยบริการ
เพิ่มตำแหน่ง
เพิ่มลิงก์ระบบ
ใช้ ./ สำหรับ root, ../ สำหรับโฟลเดอร์นอก admin, # สำหรับ hash
สถิติการลา
0
รออนุมัติ
0
รายการทั้งหมด
0
อนุมัติแล้ว
0
วันลารวม
0
จำนวนคนลา
คำขอลางาน
ประเภทวันลา
กำหนดประเภทและโควตาวันลาประจำปี
วันหยุดสหกรณ์
วันหยุดราชการและวันหยุดพิเศษ
ตั้งค่าผู้อนุมัติการลา
กำหนดผู้อนุมัติระดับ 1 (ผู้จัดการ) และระดับ 2 (หัวหน้างาน)
เจ้าหน้าที่
การเงิน
ลากิจ
ลาป่วย
ลากิจ
ลาป่วย
บริหาร
ลากิจ
ลาป่วย
ลาพักร้อน
ลากิจ
ลาป่วย
ลากิจ
ลาป่วย
ผู้ติดตามทั้งหมด
-
ผู้ติดตาม LINE OA
ผูกบัญชีแล้ว
-
ผู้ใช้ที่ผูกบัญชีกับระบบ
ข้อความวันนี้
-
ข้อความที่ส่งออก
Auto Reply
-
กฎที่ใช้งานอยู่
กิจกรรมล่าสุด
ไม่มีกิจกรรมล่าสุด
Quick Actions
รายชื่อผู้ติดตาม
| ผู้ติดตาม | LINE User ID | ผูกบัญชี | กลุ่มไลน์ | วันที่ติดตาม | การจัดการ |
|---|---|---|---|---|---|
|
กำลังโหลดข้อมูล... |
|||||
Messaging API
ตั้งค่าสำหรับส่งข้อความและรับ Webhook
Webhook URL
คัดลอก URL นี้ไปตั้งค่าใน LINE Developers Console → Messaging API → Webhook URL
LINE Login
ตั้งค่าสำหรับระบบ Login ด้วย LINE และผูกบัญชี
ใส่ URL นี้ใน LINE Developers Console → LINE Login → Callback URL
ข้อความต้อนรับ
เปิดใช้ข้อความต้อนรับ
ส่งข้อความอัตโนมัติเมื่อมีผู้ติดตามใหม่
ใช้ {name} แทนชื่อผู้ใช้, {date} แทนวันที่, {time} แทนเวลา
ทดสอบส่งข้อความ
ส่งข้อความทดสอบไปยัง LINE User ID
ดู User ID ได้จากหน้า LINE Dashboard → ผู้ติดตาม
สถานะ Webhook Server
กฎตอบกลับอัตโนมัติ
ยังไม่มีกฎตอบกลับอัตโนมัติ
กดปุ่ม "เพิ่มกฎใหม่" เพื่อเริ่มต้น
Templates สำเร็จรูป
Broadcast ข้อความ
ส่งข้อความถึงผู้ติดตามทุกคนหรือเลือกกลุ่มเป้าหมาย
สูงสุด 5,000 ตัวอักษร | ใช้ {name} แทนชื่อ
รองรับ JPEG, PNG ขนาดไม่เกิน 10MB
กลุ่มเป้าหมาย
ประวัติการส่ง Broadcast
ยังไม่มีประวัติการส่ง
Rich Menu Designer
คลิกที่ช่องเพื่อตั้งค่า Action
ตั้งค่าช่อง
เลือกช่องที่ต้องการตั้งค่า
Rich Menu ที่สร้างไว้
ยังไม่มี Rich Menu ที่สร้างไว้
ภาพรวมโครงสร้างระบบ
แผนผังการเชื่อมต่อระบบทั้งหมดของสหกรณ์ออมทรัพย์สาธารณสุขหนองคาย
แผนผังสถาปัตยกรรม
┌─────────────────────────────────────────────────────────────────┐
│ 👥 Client Layer │
├─────────────┬─────────────┬─────────────┬─────────────┬─────────┤
│ 🖥️ Admin │ 📱 LINE │ 📅 Portal │ 📺 Queue │ 🎁 │
│ Panel │ Management │ ขอลา │ Display │ Lucky │
│ │ │(LINE Login)│ │ Draw │
└─────┬───────┴──────┬──────┴──────┬──────┴──────┬──────┴────┬────┘
│ │ │ │ │
└──────────────┴──────────┬──┴─────────────┴───────────┘
│
┌───────────▼───────────┐
│ 🗄️ NAS Synology │
│ ┌─────────────────┐ │
│ │ 📁 /volume1/web │ │
│ │ └─ /admin │ │
│ │ └─ /portal │ │
│ └─────────────────┘ │
│ ┌─────────────────┐ │
│ │ ⚙️ Node.js │ │
│ │ line-webhook │ │
│ └─────────────────┘ │
└───────────┬───────────┘
│
┌───────────────────────┼───────────────────────┐
│ │ │
┌───────▼───────┐ ┌───────▼───────┐ ┌───────▼───────┐
│ 🔥 Firebase │ │ 💬 LINE API │ │ 📧 Email │
│ Firestore │ │ Messaging │ │ Service │
└───────────────┘ └───────────────┘ └───────────────┘
สิทธิ์การเข้าถึง
| ระบบ | Admin | เจ้าหน้าที่ | กรรมการ | สมาชิก | วิธีเข้า |
|---|---|---|---|---|---|
| Admin Panel | ✅ | ❌ | ❌ | ❌ | Email/Password |
| Portal (ขอลา) | ✅ | ✅ | ✅ | ❌ | LINE Login /portal |
| จับฉลาก | ✅ | ✅ | ✅ | ✅ | QR Code |
| คู่มือระบบ | ✅ | ❌ | ❌ | ❌ | ผ่าน Admin Panel |
ลิงก์ระบบทั้งหมด
Base URL: admin.nkbkcoop.com (หรือ localhost เมื่อรันทดสอบ)
| ระบบ | Path / URL | หมายเหตุ | จัดการ |
|---|
Firebase & Collections
โครงสร้างฐานข้อมูล Firestore ทั้งหมด
Firebase Configuration
const firebaseConfig = {
apiKey: "AIzaSyBEUdu_TdTfRvpBpVzdVoHqfQAtrIXAAAw",
authDomain: "admin-panel-nkbkcoop-cbf10.firebaseapp.com",
projectId: "admin-panel-nkbkcoop-cbf10",
storageBucket: "admin-panel-nkbkcoop-cbf10.firebasestorage.app"
};
Collections ทั้งหมด
users
ข้อมูลผู้ใช้งาน
programs
โปรแกรมและคอมฯ
systems
ระบบและบริการ
config
ตั้งค่าระบบ
leaves
คำขอลางาน
leaveTypes
ประเภทการลา
holidays
วันหยุด
line_followers
ผู้ติดตาม LINE
line_autoreply
ตอบกลับอัตโนมัติ
luckyDraw_prizes
รางวัลจับฉลาก
luckyDraw_participants
ผู้เข้าร่วม
luckyDraw_winners
ผู้ถูกรางวัล
ระบบย่อย
คำอธิบายระบบย่อยทั้งหมดใน Admin Panel
Admin Panel
ระบบจัดการหลักสำหรับผู้ดูแลระบบ
- • จัดการผู้ใช้งาน
- • จัดการโปรแกรมและคอมพิวเตอร์
- • จัดการระบบและบริการ
- • ตั้งค่าระบบ
LINE Integration
ระบบจัดการ LINE Official Account
- • Dashboard สถิติ
- • ตอบกลับอัตโนมัติ
- • Broadcast ข้อความ
- • Rich Menu
ระบบลางาน
ระบบขอลาและอนุมัติลางาน
- • ลาป่วย (30 วัน/ปี)
- • ลากิจ (12 วัน/ปี)
- • ลาพักร้อน (ตามอายุงาน)
- • ประวัติการลา
ระบบจัดการคิว
ระบบจัดคิวบริการ
- • จอแสดงคิว
- • เรียกคิว
- • ตั้งค่าเสียงเรียก
ระบบจับฉลาก
จับฉลากประชุมใหญ่ประจำปี
- • จัดการรางวัล/หมวดหมู่
- • ลงทะเบียนผู้เข้าร่วม
- • หน้าจอจับฉลาก
- • Export รายงาน
Portal ขอลา
/portal — สำหรับเจ้าหน้าที่และกรรมการ
- • เข้าด้วย LINE Login
- • ส่งคำขอลางาน
- • ดูประวัติการลา
- • ปฏิทินวันหยุด
API & การเชื่อมต่อ
Webhook, LINE Login และการตั้งค่า NAS
LINE Webhook Server
Node.js server สำหรับรับ events จาก LINE
# เริ่มต้น Server
cd /volume1/web/line-webhook
/var/packages/Node.js_v20/target/usr/local/bin/node server.js
# Restart Server
pkill -f "node server.js"
cd /volume1/web/line-webhook && node server.js &
Webhook URL: https://api.nkbkcoop.com/line/webhook
LINE Login Setup
- 1สร้าง LINE Login Channel ที่ LINE Developers Console
- 2สร้าง LIFF App (Size: Full, Endpoint: https://admin.nkbkcoop.com/portal)
- 3คัดลอก LIFF ID ไปใส่ใน Portal (admin/portal/)
- 4ทดสอบที่ https://admin.nkbkcoop.com/portal
โครงสร้างไฟล์ NAS
/volume1/web/
├── admin/
│ ├── index.html # Admin Panel
│ ├── portal/
│ │ └── index.html # Portal ขอลา
│ └── queue/
│ └── index.html # จอแสดงคิว
│
└── line-webhook/
├── server.js # Webhook server
└── package.json
Hash Routing — แก้ปัญหา 404 เมื่อ Refresh
ระบบใช้ hash-based URL (เช่น #dashboard, #docs_overview) แทน path — ไม่ต้องตั้งค่าเซิร์ฟเวอร์ refresh ได้ทุกหน้า
ส่วนหลัง # ไม่ถูกส่งไปยังเซิร์ฟเวอร์ จึงไม่มีปัญหา 404
เพิ่ม/แก้ไขกฎตอบกลับ
ใช้ {name} แทนชื่อ, {date} แทนวันที่, {time} แทนเวลา