lean.vn — LeanERP và hệ sinh thái AI
📖 Wiki-6S-HuongDan CiCC LeanERP SOP 🎬 Có Video Hướng Dẫn (V05)

Màn hình Đánh giá nhanh (Quick Walk)

Đánh giá 6S (Quick Walk) — 3 loại: Tự DG, ĐG chéo, BLĐ+Chuyên gia

🎬 Video Hướng Dẫn Thực Hành: Đánh giá Nhanh 6S (Quick Walk: Tự ĐG, ĐG Chéo & Chuyên gia) V05 · 06:00 · Trưởng nhóm · Ban 6S
Tab: Đánh giá (screen-danhgia)
File: app.js lines 1623-2498, index.html lines 304-347

1. Tổng quan

Màn hình cho phép đánh giá 6S theo 3 loại với form chấm điểm 0-5.

CODE
📝 Đánh giá nhanh (Quick Walk)

Loại đánh giá:
[🔍 Tự DG] [🔄 DG chéo] [👨‍🏫 BLD + Chuyên gia]

📍 Khu vực của bạn:
[🏘️ Xưởng May 2] [🔧 C1 - Chuyền 1]

→ Chọn lịch → Form chấm điểm → Gửi kết quả

2. Chọn loại đánh giá

Loạidata-typeIconMô tả
Tự DGself🔍Người dùng tự chấm khu vực của mình
DG chéocross🔄Nhóm khác đánh giá chéo
BLĐ + Chuyên giaexpert👨‍🏫Ban lãnh đạo hoặc chuyên gia đánh giá

Cách chọn: Click vào card. Card được chọn có border #1a237e, background #e8eaf6.

Hàm: onAssessEvalTypeChange(type)


3. Chọn khu vực (Location)

Tự DG (Self)

  • Hiển thị danh sách các location của user (lấy từ user.location_id sau login)
  • Giao diện: Cards grid với tên + path
  • Click card → chọn location đó
  • Hàm: renderSelfLocCards(), selectSelfLoc(locId)

DG chéo / Chuyên gia (Cross/Expert)

  • Tải danh sách nhiệm vụ được phân công từ API /my-assignments
  • Hiển thị dạng card assignment:
CODE
  📍 Xưởng May 2 (XM2-7)
  🟢 Hàng tuần · Bộ tiêu chí 6S
  📋 Lịch đánh giá tuần 26
  🚀 Bắt đầu →
  
  • Hàm: loadCrossAssignments(), renderCrossAssignments(assignments)

4. Chọn lịch đánh giá

Khi chọn location, gọi API GET /schedules/by-location?location_id=X.

Lịch được nhóm theo tần suất:

IconTần suất
🔴Hàng ngày
🟠Hàng tuần
🟢Hàng tháng / Quý / Năm / Một lần

Click vào schedule → gọi startAssessSession(locId, templateId, scheduleId)


5. Form chấm điểm

Hiển thị sau khi chọn schedule.

Header phiên

CODE
📋 ASM-2026-00001          Đạt từ: 90%

Nhóm tiêu chí (Grouped by S)

Mỗi nhóm (S1, S2, ..., S6) hiển thị:

CODE
[🏘️ S1 - Sàng lọc                               25/30 (83%)]
[████████████████████░░░░░░░░░░░]  ← progress bar

S1.01 · Tiêu chí 1
💡 Gợi ý từ tags: 3/5              ← nếu có gợi ý từ thẻ 6S
❌0  ⚠️1  ✅2  ⭐3  ⭐4  ⭐5       ← radio chấm điểm
[Ghi chú..._________________________]

⚠️ Treo thẻ     ← nếu điểm ≤ 1

Thang điểm

ĐiểmIconÝ nghĩa
0❌Không đạt
1⚠️Cần cải thiện
2-3✅Đạt
4-5⭐Xuất sắc

Progress bar tổng thể

CODE
📊 Tiến độ: 18/24                   73%
[████████████████░░░░░░░░░]  73% (màu vàng nếu < ngưỡng)

Ngưỡng đạt (threshold):

  • Tự DG: 90%
  • DG chéo: 85%
  • Chuyên gia: 80%

Các hàm xử lý

HàmMô tả
renderAssessForm()Render form chấm điểm
setAssessScore(itemId, score)Lưu điểm + re-render
setAssessComment(itemId, comment)Lưu comment
startAssessSession(locId, templateId, scheduleId)Tạo phiên + load items

6. Gửi kết quả

Nút: 📤 GỬI KẾT QUẢ

Hàm: submitAudit()

Quy trình:

CODE
Kiểm tra đã chấm hết item chưa?
    → Nếu chưa: confirm "Chỉ chấm X/Y tiêu chí. Gửi?"
    → Gọi API POST /sessions/{id}/submit
    → Tính điểm % 
    → Hiển thị kết quả

Màn hình kết quả

CODE
              ✅ (hoặc ❌)
             ĐẠT (hoặc KHÔNG ĐẠT)
                 85%
           34/40 điểm

📋 Phiên: ASM-2026-00001
📍 Khu vực: Xưởng May 2
📋 Bộ tiêu chí: 6S Checklist
🏷️ Loại: Tự DG
📊 Đạt từ: 90%

⚠️ Tạo Observation     ← nếu không đạt
✅ Hoàn tất
Đóng

7. Treo thẻ nhanh từ Assessment (quickCreateTagFromItem)

Khi chấm điểm ≤ 1 cho một item, hiển thị nút ⚠️ Treo thẻ.

Quy trình:

  1. Click → mở modal
  2. Tự động điền: mô tả = "[Từ đánh giá] item_name - comment"
  3. Phân loại S = group_code
  4. Loại thẻ = Đỏ nếu S6, Vàng nếu S1-S5
  5. User có thể chụp ảnh + chỉnh sửa mô tả
  6. Submit → POST /tags → tạo thẻ 6S

Hàm: quickCreateTagFromItem(itemId, itemName, groupCode), submitQuickTag(groupCode)


8. Tạo Observation (assessCreateObservation)

Khi kết quả không đạt, nút ⚠️ Tạo Observation xuất hiện.

  1. Click → mở form tạo observation
  2. Nhập mô tả + chọn loại S
  3. Submit → tạo thẻ 6S với prefix "[Observation từ đánh giá]"

Hàm: assessCreateObservation(), assessSubmitObservation()


9. "🔍 Tự DG" từ Location Drawer

Trong tab Danh sách, mỗi location drawer có nút 🔍 Tự DG.

Click → tự động:

  1. Chuyển sang tab Đánh giá
  2. Chọn loại self
  3. Chọn location đó

Hàm: startSelfAssessForLocation(locId)


Audio thuyết minh

🖼️
Nghe hướng dẫnĐường dẫn minh họa: audio/05-danh-gia.mp3

Click play để nghe hướng dẫn bằng giọng đọc.


Screenshots

Chọn loại đánh giá — 3 eval type cards
📸 Chọn loại đánh giá — 3 eval type cards (Bấm vào ảnh để phóng to)

Chú thích: 3 lựa chọn loại đánh giá: Tự DG (🔍), Đánh giá chéo (🔄), BLĐ+Chuyên gia (👨‍🏫)

Chọn khu vực Tự ĐG — danh sách location
📸 Chọn khu vực Tự ĐG — danh sách location (Bấm vào ảnh để phóng to)

Chú thích: Click 🔍 Tự ĐG → danh sách location được gán hiện ra dạng card

Card khu vực của user
📸 Card khu vực của user (Bấm vào ảnh để phóng to)

Chú thích: User có location → các card khu vực hiện thị tên, thống kê thẻ

Danh sách lịch đánh giá
📸 Danh sách lịch đánh giá (Bấm vào ảnh để phóng to)

Chú thích: Click vào location → schedules/lịch đánh giá assigned cho khu vực đó

Form chấm điểm đầy đủ
📸 Form chấm điểm đầy đủ (Bấm vào ảnh để phóng to)

Chú thích: Form chấm điểm với các group S1-S6 và radio chấm điểm

Group S1 — các tiêu chí
📸 Group S1 — các tiêu chí (Bấm vào ảnh để phóng to)

Chú thích: Group S1 Sàng lọc với các tiêu chí S1.01, S1.02...

Radio chấm điểm 0-5
📸 Radio chấm điểm 0-5 (Bấm vào ảnh để phóng to)

Chú thích: Radio button chấm điểm 0-5 cho 1 tiêu chí

🖼️
Gợi ý điểm từ 6S tagsĐường dẫn minh họa: images/danhgia/08-suggested-score.png

Chú thích: Gợi ý điểm màu cam từ hệ thống 6S tags

Nút Treo thẻ nhanh
📸 Nút Treo thẻ nhanh (Bấm vào ảnh để phóng to)

Chú thích: Nút "⚠️ Treo thẻ" xuất hiện khi điểm ≤ 1

Modal treo thẻ nhanh từ assessment
📸 Modal treo thẻ nhanh từ assessment (Bấm vào ảnh để phóng to)

Chú thích: Modal tạo thẻ 6S nhanh từ kết quả đánh giá

🖼️
Kết quả submit — ĐẠT/KHÔNG ĐẠTĐường dẫn minh họa: images/danhgia/11-submit-result.png

Chú thích: Modal kết quả sau khi submit đánh giá