dla-docs

รายการสิ่งที่ต้องทำ

1. วัตถุประสงค์

โมดูล รายการสิ่งที่ต้องทำ ช่วยให้คุณจัดการงานที่ทำซ้ำและติดตามความคืบหน้าการเสร็จสิ้น รวมถึง:

โมดูลนี้ช่วยให้คุณไม่พลาดงานสำคัญ เช่น การบำรุงรักษารถยนต์ การเปลี่ยนตัวกรอง การตรวจสอบเป็นระยะ ฯลฯ

2. เมื่อใดควรใช้

ใช้โมดูลนี้เมื่อคุณมี:

3. หน้าจอที่เกี่ยวข้อง

4. การใช้งานหลัก

4.1 เพิ่มสิ่งที่ต้องทำตามเวลา

  1. ไปที่ ฟังก์ชัน → เลือก รายการสิ่งที่ต้องทำ
  2. แตะปุ่ม + (FAB) ที่มุมล่างขวา
  3. เลือก สิ่งที่ต้องทำตามเวลา
  4. กรอกข้อมูล:
    • ชื่องาน: (จำเป็น เช่น “เปลี่ยนตัวกรองน้ำ”)
    • รอบการทำซ้ำ: ใส่ตัวเลขและเลือกหน่วย (วัน/สัปดาห์/เดือน/ปี)
    • วันที่ครบกำหนดครั้งถัดไป: เลือกวันที่ (อนุญาตให้เลือกเฉพาะตั้งแต่วันพรุ่งนี้เป็นต้นไป)
    • เวลาแจ้งเตือน: เลือกเวลา (จำเป็น เช่น 08:00)
    • งานนี้มีค่าใช้จ่าย: (ไม่บังคับ) ติ๊กถ้ามีค่าใช้จ่าย
      • ถ้าติ๊ก: เลือก หมวดหมู่ (จำเป็น)
    • หมายเหตุ: ข้อมูลเพิ่มเติม (ไม่บังคับ)
  5. แตะ บันทึก

4.2 เพิ่มสิ่งที่ต้องทำตามตัวชี้วัด

  1. ไปที่ ฟังก์ชัน → เลือก รายการสิ่งที่ต้องทำ
  2. แตะปุ่ม + (FAB)
  3. เลือก สิ่งที่ต้องทำตามตัวชี้วัด
  4. กรอกข้อมูล:
    • ชื่องาน: (จำเป็น เช่น “เปลี่ยนน้ำมันรถ”)
    • รอบ: ใส่ตัวเลข (เช่น 3,000)
    • หน่วย: ใส่หน่วย (เช่น “ไมล์”)
    • ค่าตัวชี้วัดที่เสร็จสิ้นครั้งล่าสุด: ใส่ค่าปัจจุบัน (เช่น 12,500)
    • งานนี้มีค่าใช้จ่าย: (ไม่บังคับ) ติ๊กถ้ามีค่าใช้จ่าย
      • ถ้าติ๊ก: เลือก หมวดหมู่ (จำเป็น)
    • หมายเหตุ: ข้อมูลเพิ่มเติม (ไม่บังคับ)
  5. แตะ บันทึก

4.3 ยืนยันงานตามตัวชี้วัด

  1. ไปที่รายการสิ่งที่ต้องทำ
  2. หางานตามตัวชี้วัด (ประเภท METRIC) ที่ต้องการยืนยัน
  3. แตะปุ่ม ยืนยัน ในการ์ด (แสดงเฉพาะเมื่อ isActive = true)
  4. กรอกข้อมูล:
    • ค่าตัวชี้วัดปัจจุบัน: ใส่ค่าปัจจุบัน (จำเป็น ต้อง ≥ ค่าตัวชี้วัดที่เสร็จสิ้นครั้งล่าสุด)
    • หมายเหตุ: (ไม่บังคับ)
  5. ดู Delta คำนวณอัตโนมัติ (ค่าปัจจุบัน - ค่าที่เสร็จสิ้นครั้งล่าสุด)
  6. แตะ ยืนยันแล้ว
  7. (ถ้างานมีค่าใช้จ่าย) เลือก เพิ่มค่าใช้จ่าย หรือ ยกเลิก

หมายเหตุ: งานตามเวลา (ประเภท CYCLE) ไม่มีปุ่ม “ยืนยัน” ในการ์ด การยืนยันทำได้เฉพาะในหน้าจอ “งานที่ถึงกำหนด” (รายการระฆัง)

4.4 ดูรายการและรายละเอียด

  1. ไปที่ ฟังก์ชัน → เลือก รายการสิ่งที่ต้องทำ
  2. ใช้ แถบค้นหา เพื่อค้นหาตามชื่องาน
  3. ใช้ ชิปตัวกรอง เพื่อกรอง:
    • ทั้งหมด: แสดงงานทั้งหมด
    • ตามเวลา: แสดงเฉพาะงานประเภท CYCLE
    • ตามตัวชี้วัด: แสดงเฉพาะงานประเภท METRIC
  4. แตะที่การ์ดงานเพื่อดูรายละเอียดและแก้ไข

4.5 แก้ไขสิ่งที่ต้องทำ

  1. ไปที่รายการสิ่งที่ต้องทำ
  2. แตะที่การ์ดงานเพื่อแก้ไข
  3. อัปเดตข้อมูล:
    • หมายเหตุ: ถ้ามีประวัติ รอบ (CYCLE) หรือ หน่วย/รอบ (METRIC) จะถูกล็อคและไม่สามารถแก้ไขได้
  4. แตะ บันทึก

4.6 ดูประวัติ

  1. ไปที่รายการสิ่งที่ต้องทำ
  2. แตะที่ลิงก์ ดูประวัติ › ของงานที่ต้องการดู
  3. ใช้ ชิปตัวกรอง เพื่อกรองตามเวลา:
    • ทั้งหมด: แสดงประวัติทั้งหมด
    • เดือนนี้: แสดงเฉพาะประวัติจากเดือนปัจจุบัน
    • เดือนที่แล้ว: แสดงเฉพาะประวัติจากเดือนก่อนหน้า
    • 3 เดือนที่แล้ว: แสดงเฉพาะประวัติจาก 3 เดือนที่แล้ว

4.7 ปิดการใช้งาน/เปิดการใช้งานงาน

  1. ไปที่รายการสิ่งที่ต้องทำ
  2. หางานที่ต้องการปิด/เปิดการใช้งาน
  3. เปิด/ปิดสวิตช์ ใช้งาน ในส่วนท้ายการ์ด
  4. งานที่ปิดการใช้งานจะแสดงป้าย “ไม่ใช้งาน” (สีเทา)

4.8 ลบสิ่งที่ต้องทำ

  1. ไปที่รายการสิ่งที่ต้องทำ
  2. แตะไอคอน ลบ (🗑️) ในส่วนหัวการ์ด
  3. ยืนยันการลบในกล่องโต้ตอบ
  4. งานและประวัติที่เกี่ยวข้องทั้งหมดจะถูกลบ

5. ตัวอย่างและภาพประกอบ UI

TODO-01: สร้างสิ่งที่ต้องทำตามเวลา (เปลี่ยนตัวกรองน้ำ)

เป้าหมาย: สร้างสิ่งที่ต้องทำตามเวลาเพื่อให้แอปเตือนคุณอัตโนมัติเมื่อถึงกำหนด

ขั้นตอนหลัก:

  1. ไปที่ฟังก์ชัน → รายการสิ่งที่ต้องทำ → แตะปุ่ม “+” (FAB)
  2. เลือก “สิ่งที่ต้องทำตามเวลา”
  3. ใส่ชื่องาน: “เปลี่ยนตัวกรองน้ำ”
  4. ใส่รอบ: “3” เดือน
  5. เลือกวันที่ครบกำหนดครั้งถัดไป: 03/01/2026
  6. เลือกเวลาแจ้งเตือน: 08:00
  7. ติ๊ก “งานนี้มีค่าใช้จ่าย” เลือกหมวดหมู่ “สาธารณูปโภค”
  8. ใส่หมายเหตุ: “เปลี่ยนตัวกรอง #1 และ #2”
  9. แตะ “บันทึก”

Wireframe - หน้าจอเพิ่มสิ่งที่ต้องทำตามเวลา:

┌──────────────────────────────────────────────┐
│ <  เพิ่มสิ่งที่ต้องทำตามเวลา                  │
├──────────────────────────────────────────────┤

ชื่องาน
[ เปลี่ยนตัวกรองน้ำ            ]

รอบการทำซ้ำ
ทุก [ 3 ] [ เดือน ▼ ]
(หน่วย: วัน / สัปดาห์ / เดือน / ปี)

วันที่ครบกำหนดครั้งถัดไป
[ 03 / 01 / 2026    ▼ ]
คำแนะนำ: 
วันที่ครบกำหนดครั้งแรก
วันที่ถัดไปจะถูกคำนวณอัตโนมัติตามรอบที่คุณใส่

เวลาแจ้งเตือน
[ 08 : 00           ▼ ]

──────────────────────────────────────────────
[✓] งานนี้มีค่าใช้จ่าย

┌─────────────────────────────────────┐
│ หมวดหมู่ *                           │
│ [สาธารณูปโภค ▼] [+ สร้างใหม่]       │
└─────────────────────────────────────┘

──────────────────────────────────────────────
หมายเหตุ (ไม่บังคับ)
[                                          ]
[                                          ]
[                                          ]

──────────────────────────────────────────────
[ ยกเลิก ]                         [ บันทึก ]
└──────────────────────────────────────────────┘

TODO-02: สร้างสิ่งที่ต้องทำตามตัวชี้วัด (เปลี่ยนน้ำมันรถ)

เป้าหมาย: สร้างสิ่งที่ต้องทำตามตัวชี้วัดเพื่อติดตามการบำรุงรักษารถยนต์ตามระยะทาง

ขั้นตอนหลัก:

  1. ไปที่ฟังก์ชัน → รายการสิ่งที่ต้องทำ → แตะปุ่ม “+” (FAB)
  2. เลือก “สิ่งที่ต้องทำตามตัวชี้วัด”
  3. ใส่ชื่องาน: “เปลี่ยนน้ำมันรถ”
  4. ใส่รอบ: “3,000” หน่วย: “ไมล์”
  5. ใส่ค่าตัวชี้วัดที่เสร็จสิ้นครั้งล่าสุด: “12,500”
  6. ติ๊ก “งานนี้มีค่าใช้จ่าย” เลือกหมวดหมู่ “การบำรุงรักษารถยนต์”
  7. ใส่หมายเหตุ: “เปลี่ยนน้ำมัน + ตัวกรองน้ำมัน”
  8. แตะ “บันทึก”

Wireframe - หน้าจอเพิ่มสิ่งที่ต้องทำตามตัวชี้วัด:

┌──────────────────────────────────────────────┐
│ <  เพิ่มสิ่งที่ต้องทำตามตัวชี้วัด              │
├──────────────────────────────────────────────┤

ชื่องาน
[ เปลี่ยนน้ำมันรถ                        ]

รอบ
ทุก [ 3,000 ] หน่วย [ ไมล์ ]
(หน่วย: ไมล์ / ชั่วโมง / ครั้ง / ...)

ค่าตัวชี้วัดที่เสร็จสิ้นครั้งล่าสุด
[ 12,500 ]

──────────────────────────────────────────────
[✓] งานนี้มีค่าใช้จ่าย

┌─────────────────────────────────────┐
│ หมวดหมู่ *                           │
│ [การบำรุงรักษารถยนต์ ▼] [+ สร้างใหม่] │
└─────────────────────────────────────┘

──────────────────────────────────────────────
หมายเหตุ (ไม่บังคับ)
[                                          ]
[                                          ]
[                                          ]

──────────────────────────────────────────────
[ ยกเลิก ]                         [ บันทึก ]
└──────────────────────────────────────────────┘

TODO-03: ดูรายการและรายละเอียด

เป้าหมาย: ดูภาพรวมของสิ่งที่ต้องทำ กรองตามประเภท ค้นหา และดูรายละเอียดของแต่ละงาน

ขั้นตอนหลัก:

  1. ไปที่ฟังก์ชัน → รายการสิ่งที่ต้องทำ
  2. ดูรายการพร้อมแถบค้นหาและชิปตัวกรอง
  3. ใช้ตัวกรอง: “ทั้งหมด”, “ตามเวลา”, “ตามตัวชี้วัด”
  4. ใช้แถบค้นหาเพื่อค้นหาตามชื่องาน
  5. แตะที่การ์ดงานเพื่อดูรายละเอียด

Wireframe - หน้าจอรายการสิ่งที่ต้องทำ:

┌─────────────────────────────────────────────────────────┐
│  [← กลับ]  รายการสิ่งที่ต้องทำ              [🔔]        │
└─────────────────────────────────────────────────────────┘
│  🔍 ค้นหา...                                             │
│                                                          │
│  [ทั้งหมด] [ตามเวลา] [ตามตัวชี้วัด]                     │
│                                                          │
│  ┌─────────────────────────────────────────────────┐    │
│  │ การ์ด: เปลี่ยนตัวกรองน้ำ                         │    │
│  │ ┌─────────────────────────────────────────────┐ │    │
│  │ │ เปลี่ยนตัวกรองน้ำ    [เสร็จสมบูรณ์] [🗑️]   │ │    │
│  │ │                                              │ │    │
│  │ │ 📅 รอบ: ทุก 3 เดือน                          │ │    │
│  │ │ ✅ เสร็จสิ้นครั้งล่าสุด: 12/01/2025          │ │    │
│  │ │ 📅 วันที่ครบกำหนดครั้งถัดไป: 03/01/2026       │ │    │
│  │ │ ⏳ เหลือ 76 วัน                               │ │    │
│  │ │ ───────────────────────────────────────────── │ │    │
│  │ │ ดูประวัติ ›                     [⚪ ใช้งาน]   │ │    │
│  │ └─────────────────────────────────────────────┘ │    │
│  └─────────────────────────────────────────────────┘    │
│                                                          │
│  ┌─────────────────────────────────────────────────┐    │
│  │ การ์ด: เปลี่ยนน้ำมันรถ                           │    │
│  │ ┌─────────────────────────────────────────────┐ │    │
│  │ │ เปลี่ยนน้ำมันรถ                   [🗑️]      │ │    │
│  │ │                                              │ │    │
│  │ │ 📏 ติดตามโดย: ไมล์                           │ │    │
│  │ │ ✅ ยืนยันครั้งล่าสุด: 12/02/2025             │ │    │
│  │ │ 🔢 ค่าตัวชี้วัดครั้งล่าสุด: 12,500 ไมล์      │ │    │
│  │ │ 🎯 ครบกำหนดครั้งถัดไป: 14,500 ไมล์            │ │    │
│  │ │ ⏳ ~300 ไมล์คงเหลือ                          │ │    │
│  │ │ ───────────────────────────────────────────── │ │    │
│  │ │ [✓ ยืนยัน]                                  │ │    │
│  │ │ ───────────────────────────────────────────── │ │    │
│  │ │ ดูประวัติ ›                     [⚪ ใช้งาน]   │ │    │
│  │ └─────────────────────────────────────────────┘ │    │
│  └─────────────────────────────────────────────────┘    │
│                                                          │
│  [+ FAB]                                                 │
└─────────────────────────────────────────────────────────┘

TODO-04: ยืนยันงานตามตัวชี้วัด (เปลี่ยนน้ำมันรถ)

เป้าหมาย: ยืนยันการเสร็จสิ้นของงานตามตัวชี้วัดโดยการใส่ค่าตัวชี้วัดปัจจุบัน

ขั้นตอนหลัก:

  1. ไปที่รายการสิ่งที่ต้องทำ
  2. หางาน “เปลี่ยนน้ำมันรถ” (ประเภท METRIC)
  3. แตะปุ่ม “ยืนยัน”
  4. ใส่ค่าตัวชี้วัดปัจจุบัน: “14,520”
  5. ดู Delta คำนวณอัตโนมัติ: “+2,020 ไมล์”
  6. ใส่หมายเหตุ: “เปลี่ยนน้ำมัน + ตัวกรองน้ำมัน”
  7. แตะ “ยืนยันแล้ว”

Wireframe - กล่องโต้ตอบยืนยันงานตามตัวชี้วัด:

┌──────────────────────────────────────────────┐
│  ยืนยันงานตามตัวชี้วัด                       │
├──────────────────────────────────────────────┤

ชื่องาน:
เปลี่ยนน้ำมันรถ   (อ่านอย่างเดียว)

ติดตามโดย:
ไมล์   (อ่านอย่างเดียว)

ค่าตัวชี้วัดที่เสร็จสิ้นครั้งล่าสุด:
12,500 ไมล์   (อ่านอย่างเดียว)

──────────────────────────────────────────────
ค่าตัวชี้วัดปัจจุบัน
[ 14,520 ] ไมล์

Delta:
+2,020 ไมล์   (อัตโนมัติ)

──────────────────────────────────────────────
หมายเหตุ
[                                          ]
[                                          ]
[                                          ]

──────────────────────────────────────────────
        [ ยังไม่ยืนยัน ]    [ ยืนยันแล้ว ]
└──────────────────────────────────────────────┘

TODO-05: แก้ไขสิ่งที่ต้องทำและดูประวัติ

เป้าหมาย: แก้ไขข้อมูลสิ่งที่ต้องทำและดูประวัติการเสร็จสิ้น

ขั้นตอนหลัก:

  1. ไปที่รายการสิ่งที่ต้องทำ
  2. แตะที่การ์ดงาน “เปลี่ยนตัวกรองน้ำ”
  3. ดูคำเตือน: “⚠️ รอบถูกล็อคเพราะมีประวัติ” (ถ้ามีประวัติ)
  4. แก้ไขวันที่ครบกำหนดครั้งถัดไป เวลาแจ้งเตือน หมายเหตุ
  5. แตะ “บันทึก”
  6. แตะ “ดูประวัติ ›” เพื่อดูประวัติพร้อมตัวกรอง

Wireframe - หน้าจอประวัติสิ่งที่ต้องทำ:

┌─────────────────────────────────────────────────────────┐
│  [← กลับ]  ประวัติสิ่งที่ต้องทำ - เปลี่ยนตัวกรองน้ำ      │
└─────────────────────────────────────────────────────────┘
│  [ทั้งหมด] [เดือนนี้] [เดือนที่แล้ว] [3 เดือนที่แล้ว]    │
│                                                          │
│  ┌─────────────────────────────────────────────────┐    │
│  │ เปลี่ยนตัวกรองน้ำ            [เสร็จสมบูรณ์]      │    │
│  │                                                  │    │
│  │ 📅 รอบ: ทุก 3 เดือน                             │    │
│  │ ✅ เสร็จสิ้นเมื่อ: 12/01/2025 – 09:10           │    │
│  │ 📝 หมายเหตุ: เปลี่ยนตัวกรอง #1 และ #2            │    │
│  └─────────────────────────────────────────────────┘    │
│                                                          │
│  ┌─────────────────────────────────────────────────┐    │
│  │ เปลี่ยนตัวกรองน้ำ            [เสร็จสมบูรณ์]      │    │
│  │                                                  │    │
│  │ 📅 รอบ: ทุก 3 เดือน                             │    │
│  │ ✅ เสร็จสิ้นเมื่อ: 09/01/2025 – 08:45           │    │
│  └─────────────────────────────────────────────────┘    │
└─────────────────────────────────────────────────────────┘

TODO-06: ปิดการใช้งานและลบสิ่งที่ต้องทำ

เป้าหมาย: ปิดการใช้งานหรือลบสิ่งที่ต้องทำเมื่อไม่ต้องการอีกต่อไป

ขั้นตอนหลัก:

  1. ไปที่รายการสิ่งที่ต้องทำ
  2. หางานที่ต้องการปิดการใช้งาน
  3. แตะสวิตช์ “ใช้งาน” เพื่อปิด
  4. ดูป้าย “ไม่ใช้งาน” ปรากฏ
  5. แตะสวิตช์อีกครั้งเพื่อเปิดการใช้งานใหม่
  6. แตะไอคอนลบ (🗑️) เพื่อลบงาน
  7. ยืนยันการลบในกล่องโต้ตอบ

TODO-07: ยืนยันงานตามตัวชี้วัดและเพิ่มค่าใช้จ่าย

เป้าหมาย: ยืนยันงานตามตัวชี้วัดและเพิ่มค่าใช้จ่ายที่เกี่ยวข้องอัตโนมัติ

ขั้นตอนหลัก:

  1. ไปที่รายการสิ่งที่ต้องทำ
  2. หางาน “เปลี่ยนน้ำมันรถ” (ประเภท METRIC, hasCost = true)
  3. แตะปุ่ม “ยืนยัน”
  4. ใส่ค่าตัวชี้วัดปัจจุบัน: “14,520”
  5. ใส่หมายเหตุ: “เปลี่ยนน้ำมัน + ตัวกรองน้ำมัน”
  6. แตะ “ยืนยันแล้ว”
  7. ดูกล่องโต้ตอบ “มีค่าใช้จ่าย?” เปิดอัตโนมัติ
  8. แตะ “เพิ่มค่าใช้จ่าย”
  9. ดูหน้าจอ “เพิ่มค่าใช้จ่าย” พร้อมหมายเหตุและหมวดหมู่ที่กรอกไว้ล่วงหน้า
  10. ใส่จำนวน: ฿1,750
  11. แตะ “บันทึก”

Wireframe - กล่องโต้ตอบมีค่าใช้จ่าย:

┌──────────────────────────────────────────────┐
│  มีค่าใช้จ่าย?                                │
├──────────────────────────────────────────────┤
คุณต้องการเพิ่มค่าใช้จ่ายสำหรับการเสร็จสิ้นนี้หรือไม่?

        [ ยกเลิก ]         [ เพิ่มค่าใช้จ่าย ]
└──────────────────────────────────────────────┘

6. ตรรกะและกฎ

6.1 ประเภทสิ่งที่ต้องทำ

6.2 สถานะสิ่งที่ต้องทำ

6.3 ล็อครอบ/หน่วย

6.4 ยืนยันงานตามตัวชี้วัด

6.5 การแจ้งเตือน

6.6 คำนวณวันที่ครบกำหนดครั้งถัดไป

7. หมายเหตุสำคัญ

  1. ปุ่มยืนยัน:
    • งานตามเวลา (CYCLE): ไม่มีปุ่ม “ยืนยัน” ในการ์ด การยืนยันทำได้เฉพาะในหน้าจอ “งานที่ถึงกำหนด” (รายการระฆัง)
    • งานตามตัวชี้วัด (METRIC): มีปุ่ม “ยืนยัน” ในการ์ด (แสดงเฉพาะเมื่อ isActive = true)
  2. ไอคอนระฆัง: ไอคอนระฆังในส่วนหัวนำทางไปยังหน้าจอ “งานที่ถึงกำหนด” (รายการระฆัง) ที่ผู้ใช้สามารถยืนยันงานที่ถึงกำหนดได้ (เฉพาะประเภท CYCLE)

  3. ล็อครอบ/หน่วย: ถ้ามีประวัติ รอบ (CYCLE) หรือ หน่วย/รอบ (METRIC) จะถูกล็อคและไม่สามารถแก้ไขได้เพื่อให้แน่ใจว่าข้อมูลสอดคล้องกัน

  4. การตรวจสอบตัวชี้วัด: เมื่อยืนยันงานตามตัวชี้วัด ค่าตัวชี้วัดปัจจุบันต้อง ≥ ค่าตัวชี้วัดที่เสร็จสิ้นครั้งล่าสุด ถ้าไม่ แอปจะแสดงข้อผิดพลาดและป้องกันการยืนยัน

  5. ค่าใช้จ่ายที่เกิดขึ้น: ถ้างานมีค่าใช้จ่าย (hasCost = true) หลังจากยืนยันสำเร็จ แอปจะถามว่าคุณต้องการเพิ่มค่าใช้จ่ายหรือไม่ ถ้าคุณเลือก “เพิ่มค่าใช้จ่าย” แอปจะกรอกหมายเหตุและหมวดหมู่ไว้ล่วงหน้าอัตโนมัติ

  6. ลบงาน: เมื่อลบงาน ประวัติที่เกี่ยวข้องทั้งหมดจะถูกลบด้วย (cascade delete) การแจ้งเตือนจะถูกยกเลิกด้วย

  7. ปิดการใช้งาน: เมื่อปิดการใช้งานงานประเภท CYCLE การแจ้งเตือนจะถูกยกเลิก เมื่อเปิดการใช้งานใหม่ การแจ้งเตือนจะถูกกำหนดเวลาใหม่ (ถ้า nextDueDate >= today)

  8. การเข้าถึงพรีเมียม: โมดูลนี้ต้องการการเข้าถึงพรีเมียม ถ้าคุณไม่มีพรีเมียม แอปจะแสดงกล่องโต้ตอบขออัปเกรด