🌐 VI / EN
lean.vn — LeanERP và hệ sinh thái AI
📖 HƯỚNG DẪN SỬ DỤNG LEANERP · MODULE 6S TAGGING

Màn hình Chi tiết thẻ & Workflow 6S

Chi tiết thẻ 6S + Workflow xử lý thẻ (nhận task → khắc phục → gửi xem xét → đánh giá)

🎬 Xem 20 Video Hướng Dẫn 📚 Mở Wiki Hub
LEAN.VN · AI KNOWLEDGE GUIDE

Tìm đúng hướng dẫn.
Làm đúng ngay lần đầu.

Hỏi AI để tìm tài liệu, giải thích thao tác và xác định bước tiếp theo trong Module 6S Tagging.

🎬 Video Thực Hành: Workflow Xử lý & Rút Thẻ (7 Trạng thái & Phân quyền R07/R08) V07 · 07:00 · Người xử lý · Người phê duyệt
File: app.js lines 1388-1671
Truy cập: Click vào card Kanban → modal chi tiết

1. Modal Chi tiết thẻ (openCardDetail)

Khi click vào một thẻ trong Kanban, modal hiện ra với đầy đủ thông tin:

CODE
┌─────────────────────────────────────┐
│           Y-2026-00002              │
│          🟡 Thẻ Vàng                │
│                                     │
│           [QR Code]                 │
│         CICC-6S-Y-2026-00002       │
│                                     │
│      ┌──────────────────────┐       │
│      │   🚨 Quá hạn         │       │
│      └──────────────────────┘       │
│                                     │
│ ┌──────────────┐ ┌──────────────┐   │
│ │ ⬅️ Before    │ │ ➡️ After     │   │
│ │  [📸 ảnh]    │ │  [⏳ Chưa có] │   │
│ └──────────────┘ └──────────────┘   │
│                                     │
│ 📍 Khu vực: Xưởng May 2 / C1       │
│ 📝 Mô tả lỗi: Vật tư để không...    │
│ 🔧 Cách khắc phục: Sắp xếp lại...   │
│ 🏷️ Phân loại S: S2                  │
│                                     │
│ 👤 Phát hiện: Trần Văn B            │
│ 🔧 Xử lý: Nguyễn Văn A              │
│                                     │
│ Ngày tạo: 23/06/2026, 08:30         │
│ Kết quả: ⏳ Chưa đánh giá            │
│                                     │
│ [🔧 Cập nhật khắc phục]             │ ← nếu chưa đóng
│ [📤 Gửi xem xét]                   │ ← nếu đã xử lý
│ [✅ Trưởng nhóm phê duyệt]         │ ← nếu R08
│ [✅ Đánh giá đạt] [❌ Không đạt]   │ ← nếu R07
│                                     │
│ [Đóng]                              │
└─────────────────────────────────────┘

Các trường hiển thị

Thông tinNguồn dữ liệu
Mã thẻtag.ma hoặc tag.tag_no
Loại thẻtag.type / tag.tag_type → 🔴 Đỏ hoặc 🟡 Vàng
QR CodeTự gen từ mã thẻ CICC-6S-{tagNo}
Badge trạng tháigetStatusBadge(tag)
Ảnh Before/Aftertag.beforeImage, tag.afterImage
Khu vựctag.area hoặc tag.location
Mô tả lỗitag.description
Cách khắc phụctag.solution
Phân loại Stag.s_category
Người phát hiệntag.discoverer hoặc tag.reporter
Người xử lýtag.withdraw_owner hoặc tag.assignee
Ngày tạotag.createdAt
Kết quảeval_result → Đạt / Ko đạt / Chưa ĐG
QR Code renderedDùng thư viện QRCode.js

2. Workflow xử lý thẻ

2.1 Sơ đồ trạng thái

CODE
🆕 NEW (Mới treo)
    │
    ▼
📌 ASSIGNED (Đã gán rút)  ──→ 🔧 IN_PROGRESS (Đang xử lý)
    │                              │
    │                              ▼
    │                        📤 WAITING_APPROVE (Chờ phê duyệt)
    │                              │
    │                              ▼
    │                        ✅ WAITING_EVALUATION (Chờ đánh giá)
    │                              │
    │                              ├─ PASS → ✅ COMPLETED
    │                              └─ FAIL → ❌ REJECTED → 🔧 IN_PROGRESS

2.2 Nút "🔧 Xử lý" từ Kanban Card

Click → tự động phát hiện bước tiếp theo:

JAVASCRIPT
moKhacPhuc(tagNo):
  if (!tag.assigned && !tag.assignee_id) → hienThiNhanTask(t)        // Bước 1
  else if (!tag.solution && !tag.action_desc) → hienThiGuiXemXet(t)  // Bước 2
  else if (!tag.reviewResult && !tag.eval_result) → hienThiDanhGia(t)// Bước 3
  else → openCardDetail(t)                                           // Đã xong

2.3 Bước 1: Nhận task (hienThiNhanTask)

Modal xác nhận:

CODE
📥 Nhận task

Thẻ: Y-2026-00002
Mô tả: Vật tư để không đúng nơi quy định
Vị trí: Xưởng May 2 / C1 - Chuyền 1
[📸 ảnh before]

Bạn có xác nhận nhận xử lý thẻ này?

[📥 Nhận task] [Huỷ]

Xử lý: nhanTask(tagNo)

  • Set tag.assigned = true
  • Set tag.assignee_id = user id hiện tại
  • Lưu localStorage → render lại Kanban

2.4 Bước 2: Gửi xem xét (hienThiGuiXemXet)

Modal form:

CODE
🔧 Xử lý thẻ Y-2026-00002

Mô tả: Vật tư để không đúng nơi quy định
Vị trí: Xưởng May 2 / C1 - Chuyền 1
[📸 ảnh before]

Biện pháp khắc phục:
[________________________________]
[________________________________]

Ảnh sau cải tiến (After):
[📷 Chụp ảnh After]
[Preview ảnh]

[📤 Gửi xem xét] [Huỷ]

Xử lý: guiXemXet(tagNo)

  • Lưu tag.solution = biện pháp khắc phục
  • Lưu tag.afterImage = ảnh after (nén, compress)
  • Lưu localStorage → render lại Kanban

2.5 Bước 3: Đánh giá (hienThiDanhGia)

Modal so sánh Before/After:

CODE
📋 Đánh giá thẻ Y-2026-00002

Mô tả: Vật tư để không đúng nơi quy định
Vị trí: Xưởng May 2 / C1 - Chuyền 1
Biện pháp: Đã sắp xếp lại giá kệ

┌──────────────┐ ┌──────────────┐
│ ⬅️ Before    │ │ ➡️ After     │
│  [📸 ảnh]    │ │  [📸 ảnh]    │
└──────────────┘ └──────────────┘

Kết quả đánh giá:
○ ✅ Đạt - Rút thẻ
○ ❌ Không đạt - Làm lại

Người đánh giá: [________________]

[✅ Xác nhận] [Huỷ]

Xử lý: xacNhanDanhGia(tagNo)

  • Nếu OK: tag.status = 'closed', tag.eval_result = 'pass'
  • Nếu NG: tag.status = 'rejected', tag.eval_result = 'fail'
  • Lưu localStorage → render lại Kanban

3. Workflow API (Server-side)

Khi online, các action gọi API tương ứng:

Hành độngEndpointDữ liệu gửi
Cập nhật khắc phụcPOST /tags/{tag_no}/update-action{ user_id, action_desc }
Gán tôi rút thẻPOST /tags/{tag_no}/assign-withdraw{ user_id, owner_id, owner_name }
Gửi xem xétPOST /tags/{tag_no}/request-review{ user_id }
Trưởng nhóm phê duyệtPOST /tags/{tag_no}/approve-review{ user_id }
Đánh giá cuốiPOST /tags/{tag_no}/evaluate{ user_id, result: 'pass'/'fail', note }

Phân quyền cứng:

EndpointRole yêu cầu
assign-withdrawR08
approve-reviewR08
evaluateR07 (chỉ đánh giá viên)

4. Modal Cập nhật khắc phục (openSubmitModal)

Nút "🔧 Cập nhật khắc phục" trong chi tiết thẻ:

CODE
🔧 Cập nhật khắc phục: Y-2026-00002

Hành động khắc phục
[___________________________]

[💾 LƯU CẬP NHẬT] [Hủy]

Hàm: doUpdateAction(tagNo)

  • Gọi API /update-action nếu online
  • Fallback offline

5. Gán rút thẻ (doAssignWithdraw)

Nếu user là R08 (Trưởng nhóm) và thẻ chưa có withdraw_owner_id:

→ Nút "📌 Gán tôi rút thẻ"

→ Gán user hiện tại làm người rút thẻ


6. Gửi xem xét / Phê duyệt / Đánh giá

Trưởng nhóm R08:

  • Thấy nút "📤 Gửi xem xét" khi đã xử lý → gọi API /request-review
  • Thấy nút "✅ Trưởng nhóm phê duyệt" khi chờ approve → gọi API /approve-review

Đánh giá viên R07:

  • Thấy nút "✅ Đánh giá đạt" + "❌ Không đạt" khi chờ evaluation
  • Click → prompt nhập ghi chú → gọi API /evaluate

Screenshots

🖼️
Modal chi tiết thẻĐường dẫn minh họa: images/chitiet/chitiet-modal-overview.png

Chú thích: Modal chi tiết thẻ hiển thị đầy đủ thông tin, QR Code, badge trạng thái

🖼️
Ảnh Before/AfterĐường dẫn minh họa: images/chitiet/chitiet-before-after.png

Chú thích: Khu vực hiển thị ảnh Before và After của thẻ

🖼️
Nút nhận taskĐường dẫn minh họa: images/chitiet/chitiet-nhan-task.png

Chú thích: Modal xác nhận nhận task xử lý thẻ

🖼️
Form gửi xem xétĐường dẫn minh họa: images/chitiet/chitiet-gui-xem-xet.png

Chú thích: Form nhập biện pháp khắc phục + ảnh After khi gửi xem xét

🖼️
Modal đánh giá so sánh Before/AfterĐường dẫn minh họa: images/chitiet/chitiet-danh-gia.png

Chú thích: Modal đánh giá so sánh ảnh Before/After, chọn Đạt/Không đạt

🖼️
Nút Trưởng nhóm phê duyệt (R08)Đường dẫn minh họa: images/chitiet/chitiet-approve-r08.png

Chú thích: Nút phê duyệt dành cho Trưởng nhóm (R08)

🖼️
Nút Đánh giá viên (R07)Đường dẫn minh họa: images/chitiet/chitiet-evaluate-r07.png

Chú thích: Nút Đạt/Không đạt dành cho Đánh giá viên (R07)

🖼️
Sơ đồ trạng thái workflowĐường dẫn minh họa: images/chitiet/chitiet-workflow-diagram.png

Chú thích: Sơ đồ trạng thái từ NEW → ASSIGNED → IN_PROGRESS → WAITING_APPROVE → COMPLETED/REJECTED


CICC DIGITAL ECOSYSTEM

Tiếp tục hành trình cùng hệ sinh thái CiCC

Từ tư vấn và đào tạo đến LeanERP và AI ứng dụng, chọn đúng nền tảng cho bước tiếp theo của doanh nghiệp.

Hỏi LeanERP AI?