🌐 VI / EN | 🏆 CiCC — Cải tiến liên tục từ 2011
📱 6S APP

6SAPP — Trợ Lý 6S Trên Mobile

Ứng dụng PWA treo thẻ, đánh giá 5S/6S, QR Scan, Kanban Board — dành cho công nhân và quản đốc tại hiện trường

QR Scan
PWA Mobile
AI Powered
24/7 Offline
TÍNH NĂNG

Tại Sao Chọn 6SAPP?

Giải pháp số hóa 6S toàn diện — từ treo thẻ đến đánh giá, tất cả trên mobile

🏷️

Treo Thẻ QR

Treo thẻ Vàng/Đỏ bằng QR Scan. Gắn ảnh, ghi chú, gắn khu vực — real-time.

📋

Đánh Giá 6S

Checklist đánh giá Self/Cross/Expert. Tự động tính điểm, xuất báo cáo.

📊

Kanban Board

Quản lý công việc cải tiến. Theo dõi tiến độ, gắn người phụ trách.

📸

Photo Report

Chụp ảnh before/after. Gắn tag, vị trí GPS, lưu trữ lịch sử.

📈

Dashboard KPI

Biểu đồ real-time. Theo dõi điểm 6S, tiến độ, xu hướng theo tháng.

🤖

AI Assistant

Gợi ý cải tiến bằng AI. Phân tích ảnh, đề xuất hành động.

CÁCH THỨC

3 Bước Bắt Đầu

1

Đăng Ký

Đăng ký tài khoản 6SAPP miễn phí cho doanh nghiệp

2

Cấu Hình

Thiết lập khu vực, checklist, phân quyền người dùng

3

Triển Khai

Bắt đầu treo thẻ, đánh giá 6S tại hiện trường

🚀 Trải nghiệm ngay trên mobile

6SAPP là một phần của hệ sinh thái LeanERP trên lean.vn

📱 Dùng thử 6SAPP miễn phí 🎓 Khóa học 6S实战 ⚡ Khám phá toàn bộ lean.vn

6SAPP là ứng dụng hỗ trợ doanh nghiệp thực hành 5S và 6S tại nơi làm việc. Công cụ giúp theo dõi khu vực, ghi nhận kết quả kiểm tra, phân biệt điểm mạnh và điểm cần cải tiến, từ đó duy trì nơi làm việc sạch, trực quan và an toàn hơn.

Trong đó, 5S gồm Sàng lọc, Sắp xếp, Sạch sẽ, Săn sóc và Sẵn sàng. 6S bổ sung yếu tố Safety – An toàn. Ứng dụng 5S không thay thế hoạt động gemba hoặc trách nhiệm của người quản lý; nó giúp dữ liệu kiểm tra được ghi nhận nhất quán và dễ theo dõi theo thời gian.

6SAPP ứng dụng 5S và 6S tại nơi làm việc

6SAPP là gì?

6SAPP là một giao diện số hóa hoạt động kiểm tra 5S/6S. Người dùng có thể chọn khu vực, nhóm tiêu chí và mức đánh giá; sau đó ghi nhận kết quả theo từng lần kiểm tra. Dữ liệu giúp đội ngũ nhìn được xu hướng theo khu vực và ưu tiên hành động, thay vì chỉ dựa vào ảnh chụp hoặc nhận xét rời rạc.

Giá trị của ứng dụng 5S đến từ cách doanh nghiệp thiết kế tiêu chí và phản hồi sau kiểm tra. Một checklist tốt phải quan sát được, có bằng chứng, có người phụ trách và có thời hạn khắc phục. Không nên biến 5S thành cuộc thi điểm số; mục tiêu là giảm lãng phí, tăng an toàn, làm rõ tiêu chuẩn và giúp mọi người duy trì thói quen tốt.

Năm bước 5S và bước Safety

1. Sàng lọc – Seiri

Phân biệt vật dụng cần thiết, chưa cần thiết và không còn cần thiết. Đồ vật cần được xử lý theo quy định, không chỉ chuyển sang một góc khác. Tiêu chí nên nêu rõ tần suất sử dụng, người sở hữu và cách loại bỏ an toàn.

2. Sắp xếp – Seiton

Bố trí vật dụng theo tần suất sử dụng, điểm lấy–trả, nhận diện trực quan và nguyên tắc dễ thấy, dễ lấy, dễ trả. Khu vực lưu trữ cần có nhãn, giới hạn số lượng và hướng dẫn khi vị trí thay đổi.

3. Sạch sẽ – Seiso

Làm sạch gắn với kiểm tra nguồn phát sinh bụi bẩn, rò rỉ, hư hỏng hoặc nguy cơ mất an toàn. Người thực hiện cần biết khu vực nào phải kiểm tra, tần suất bao lâu và báo cáo bất thường ở đâu.

4. Săn sóc – Seiketsu

Chuẩn hóa ba bước đầu bằng hình ảnh, lịch kiểm tra, phân công và tiêu chí đạt. Một tiêu chuẩn tốt giúp người mới cũng có thể hiểu cách duy trì, không phụ thuộc vào trí nhớ của một cá nhân.

5. Sẵn sàng – Shitsuke

Duy trì bằng thói quen, đào tạo, phản hồi và review định kỳ. Điểm kiểm tra chỉ có ý nghĩa khi hành động khắc phục được hoàn thành và tiêu chuẩn được cải thiện khi điều kiện làm việc thay đổi.

6. An toàn – Safety

Kiểm tra nguy cơ trượt ngã, vật rơi, điện, máy móc, hóa chất, lối thoát hiểm và hành vi không an toàn theo bối cảnh thực tế. Safety cần được ưu tiên xử lý ngay khi có nguy cơ nghiêm trọng, không chờ đến kỳ audit tiếp theo.

Quy trình 5S 6S tại nơi làm việc với 6SAPP

Quy trình kiểm tra 5S bằng 6SAPP

  1. Chuẩn bị: xác định khu vực, mục tiêu, người kiểm tra và checklist phù hợp.
  2. Quan sát tại hiện trường: kiểm tra theo tiêu chí, ghi bằng chứng và trao đổi với người phụ trách khu vực.
  3. Ghi nhận trên app: chọn mức đánh giá, ghi chú, chụp ảnh khi cần và phân loại điểm bất thường.
  4. Phân công hành động: nêu việc cần làm, người phụ trách, thời hạn và tiêu chí hoàn thành.
  5. Kiểm tra lại: xác nhận hành động đã đóng, xem nguyên nhân tái diễn và cập nhật tiêu chuẩn nếu cần.

Để ứng dụng 5S tạo ra kết quả, nên bắt đầu với một khu vực thí điểm. Sau hai hoặc ba chu kỳ, đội ngũ xem lại tiêu chí nào khó hiểu, tiêu chí nào không tạo giá trị và hành động nào thường trễ. Khi checklist ổn định, doanh nghiệp mới nhân rộng sang các khu vực khác.

Chỉ số nên theo dõi khi triển khai 5S

Chỉ số Ý nghĩa Lưu ý
Tỷ lệ hoàn thành audit Hoạt động kiểm tra có được thực hiện đúng lịch không Không đánh đồng hoàn thành với chất lượng
Tỷ lệ hành động đúng hạn Đội ngũ có xử lý bất thường đúng cam kết không Cần xem cả mức độ nghiêm trọng
Tỷ lệ tái diễn Vấn đề cũ có quay lại không Kiểm tra nguyên nhân và tiêu chuẩn
Điểm theo khu vực Nhìn xu hướng và ưu tiên hỗ trợ Không dùng để tạo cạnh tranh thiếu lành mạnh

Doanh nghiệp nên kết hợp dữ liệu trên với quan sát thực tế, phản hồi người lao động và chỉ số an toàn/chất lượng. Một khu vực có điểm cao nhưng vẫn phát sinh sự cố cần được xem xét lại cách chấm và tiêu chí kiểm tra.

Ai nên sử dụng 6SAPP?

6SAPP phù hợp với nhà máy, kho, văn phòng, phòng thí nghiệm, công trường và các nhóm cần kiểm tra tiêu chuẩn tại nơi làm việc. Quản lý có thể dùng dữ liệu để review; trưởng khu vực dùng để phân công; nhân viên dùng để báo bất thường và xác nhận hành động. Phạm vi checklist nên được điều chỉnh theo rủi ro của từng môi trường.

Triển khai 6SAPP theo từng giai đoạn

Giai đoạn đầu của 6SAPP là thống nhất mục tiêu và phạm vi: doanh nghiệp muốn cải thiện an toàn, trực quan hóa, giảm thời gian tìm kiếm hay duy trì tiêu chuẩn? Mục tiêu rõ giúp chọn đúng checklist và tránh việc đưa quá nhiều tiêu chí vào một lần kiểm tra.

Tiếp theo, nhóm triển khai cấu hình khu vực, vai trò, lịch kiểm tra và cách xử lý bằng chứng. Người kiểm tra cần được hướng dẫn cách đánh giá nhất quán; người phụ trách khu vực cần biết hành động nào được giao và thời hạn hoàn thành. Với 6SAPP, dữ liệu chỉ hữu ích khi mọi người hiểu cùng một tiêu chí.

Giai đoạn thử nghiệm nên kéo dài đủ để quan sát ít nhất một chu kỳ review. Nhóm xem lại các câu hỏi khó chấm, ảnh minh họa chưa rõ, hành động bị trễ và các vấn đề tái diễn. Sau đó, doanh nghiệp chỉnh checklist và quy trình trước khi mở rộng. Đây là cách dùng 6SAPP để cải tiến hệ thống, không chỉ để chấm điểm.

Khi mở rộng, nên có người quản trị dữ liệu, người phụ trách checklist và người xem báo cáo. Quyền truy cập cần phù hợp với vai trò; người dùng chỉ nên nhìn và sửa phần liên quan. Định kỳ sao lưu hoặc xuất dữ liệu theo chính sách nội bộ. Nếu có thay đổi tiêu chuẩn, ghi nhận phiên bản để kết quả giữa các kỳ có thể so sánh.

Review định kỳ trên 6SAPP nên tập trung vào xu hướng, hành động quá hạn và tỷ lệ tái diễn. Không nên chỉ xếp hạng các khu vực. Quản lý cần hỏi khu vực nào cần hỗ trợ, tiêu chí nào chưa tạo giá trị và nguy cơ nào cần xử lý ngay. Cách review này giúp hoạt động 5S/6S gắn với an toàn, chất lượng và năng suất.

6SAPP có thể là điểm khởi đầu cho hệ thống cải tiến rộng hơn, nhưng không nên triển khai tách rời khỏi gemba, đào tạo và vai trò của người quản lý. Công cụ hỗ trợ dữ liệu; con người vẫn quyết định ưu tiên và chịu trách nhiệm về hành động.

Câu hỏi thường gặp về 6SAPP và ứng dụng 5S

6SAPP có thay thế đào tạo 5S không?

Không. 6SAPP hỗ trợ ghi nhận và theo dõi; doanh nghiệp vẫn cần đào tạo nguyên tắc, hướng dẫn tại hiện trường và coaching để mọi người hiểu vì sao phải thực hiện.

Có thể dùng cùng một checklist cho mọi khu vực không?

Không nên. Khu vực sản xuất, kho, văn phòng và phòng kỹ thuật có nguy cơ khác nhau. Có thể dùng bộ nguyên tắc chung nhưng tiêu chí quan sát cần được điều chỉnh theo chức năng và mức độ rủi ro.

Điểm 5S thấp có nghĩa là khu vực làm việc kém?

Chưa chắc. Điểm số là tín hiệu để đặt câu hỏi và ưu tiên hỗ trợ. Cần xem bằng chứng, mức độ nghiêm trọng, tỷ lệ tái diễn và khả năng thực hiện hành động trước khi kết luận.

Làm thế nào để bắt đầu triển khai?

Chọn một khu vực, xác định mục tiêu, chuẩn hóa checklist, đào tạo người kiểm tra và chạy thử vài chu kỳ. Sau đó review dữ liệu và điều chỉnh trước khi mở rộng.

Triển khai 6SAPP và ứng dụng 5S cho doanh nghiệp

Quản lý dữ liệu kiểm tra 6SAPP

6SAPP là ứng dụng hỗ trợ doanh nghiệp thực hành 5S và 6S tại nơi làm việc. Công cụ giúp theo dõi khu vực, ghi nhận kết quả kiểm tra, phân biệt điểm mạnh và điểm cần cải tiến, từ đó duy trì nơi làm việc sạch, trực quan và an toàn hơn.

Trong đó, 5S gồm Sàng lọc, Sắp xếp, Sạch sẽ, Săn sóc và Sẵn sàng. 6S bổ sung yếu tố Safety – An toàn. Ứng dụng 5S không thay thế hoạt động gemba hoặc trách nhiệm của người quản lý; nó giúp dữ liệu kiểm tra được ghi nhận nhất quán và dễ theo dõi theo thời gian.

6SAPP ứng dụng 5S và 6S tại nơi làm việc

6SAPP là gì?

6SAPP là một giao diện số hóa hoạt động kiểm tra 5S/6S. Người dùng có thể chọn khu vực, nhóm tiêu chí và mức đánh giá; sau đó ghi nhận kết quả theo từng lần kiểm tra. Dữ liệu giúp đội ngũ nhìn được xu hướng theo khu vực và ưu tiên hành động, thay vì chỉ dựa vào ảnh chụp hoặc nhận xét rời rạc.

Giá trị của ứng dụng 5S đến từ cách doanh nghiệp thiết kế tiêu chí và phản hồi sau kiểm tra. Một checklist tốt phải quan sát được, có bằng chứng, có người phụ trách và có thời hạn khắc phục. Không nên biến 5S thành cuộc thi điểm số; mục tiêu là giảm lãng phí, tăng an toàn, làm rõ tiêu chuẩn và giúp mọi người duy trì thói quen tốt.

Năm bước 5S và bước Safety

1. Sàng lọc – Seiri

Phân biệt vật dụng cần thiết, chưa cần thiết và không còn cần thiết. Đồ vật cần được xử lý theo quy định, không chỉ chuyển sang một góc khác. Tiêu chí nên nêu rõ tần suất sử dụng, người sở hữu và cách loại bỏ an toàn.

2. Sắp xếp – Seiton

Bố trí vật dụng theo tần suất sử dụng, điểm lấy–trả, nhận diện trực quan và nguyên tắc dễ thấy, dễ lấy, dễ trả. Khu vực lưu trữ cần có nhãn, giới hạn số lượng và hướng dẫn khi vị trí thay đổi.

3. Sạch sẽ – Seiso

Làm sạch gắn với kiểm tra nguồn phát sinh bụi bẩn, rò rỉ, hư hỏng hoặc nguy cơ mất an toàn. Người thực hiện cần biết khu vực nào phải kiểm tra, tần suất bao lâu và báo cáo bất thường ở đâu.

4. Săn sóc – Seiketsu

Chuẩn hóa ba bước đầu bằng hình ảnh, lịch kiểm tra, phân công và tiêu chí đạt. Một tiêu chuẩn tốt giúp người mới cũng có thể hiểu cách duy trì, không phụ thuộc vào trí nhớ của một cá nhân.

5. Sẵn sàng – Shitsuke

Duy trì bằng thói quen, đào tạo, phản hồi và review định kỳ. Điểm kiểm tra chỉ có ý nghĩa khi hành động khắc phục được hoàn thành và tiêu chuẩn được cải thiện khi điều kiện làm việc thay đổi.

6. An toàn – Safety

Kiểm tra nguy cơ trượt ngã, vật rơi, điện, máy móc, hóa chất, lối thoát hiểm và hành vi không an toàn theo bối cảnh thực tế. Safety cần được ưu tiên xử lý ngay khi có nguy cơ nghiêm trọng, không chờ đến kỳ audit tiếp theo.

Quy trình 5S 6S tại nơi làm việc với 6SAPP

Quy trình kiểm tra 5S bằng 6SAPP

  1. Chuẩn bị: xác định khu vực, mục tiêu, người kiểm tra và checklist phù hợp.
  2. Quan sát tại hiện trường: kiểm tra theo tiêu chí, ghi bằng chứng và trao đổi với người phụ trách khu vực.
  3. Ghi nhận trên app: chọn mức đánh giá, ghi chú, chụp ảnh khi cần và phân loại điểm bất thường.
  4. Phân công hành động: nêu việc cần làm, người phụ trách, thời hạn và tiêu chí hoàn thành.
  5. Kiểm tra lại: xác nhận hành động đã đóng, xem nguyên nhân tái diễn và cập nhật tiêu chuẩn nếu cần.

Để ứng dụng 5S tạo ra kết quả, nên bắt đầu với một khu vực thí điểm. Sau hai hoặc ba chu kỳ, đội ngũ xem lại tiêu chí nào khó hiểu, tiêu chí nào không tạo giá trị và hành động nào thường trễ. Khi checklist ổn định, doanh nghiệp mới nhân rộng sang các khu vực khác.

Chỉ số nên theo dõi khi triển khai 5S

Chỉ số Ý nghĩa Lưu ý
Tỷ lệ hoàn thành audit Hoạt động kiểm tra có được thực hiện đúng lịch không Không đánh đồng hoàn thành với chất lượng
Tỷ lệ hành động đúng hạn Đội ngũ có xử lý bất thường đúng cam kết không Cần xem cả mức độ nghiêm trọng
Tỷ lệ tái diễn Vấn đề cũ có quay lại không Kiểm tra nguyên nhân và tiêu chuẩn
Điểm theo khu vực Nhìn xu hướng và ưu tiên hỗ trợ Không dùng để tạo cạnh tranh thiếu lành mạnh

Doanh nghiệp nên kết hợp dữ liệu trên với quan sát thực tế, phản hồi người lao động và chỉ số an toàn/chất lượng. Một khu vực có điểm cao nhưng vẫn phát sinh sự cố cần được xem xét lại cách chấm và tiêu chí kiểm tra.

Ai nên sử dụng 6SAPP?

Ứng dụng phù hợp với nhà máy, kho, văn phòng, phòng thí nghiệm, công trường và các nhóm cần kiểm tra tiêu chuẩn tại nơi làm việc. Quản lý có thể dùng dữ liệu để review; trưởng khu vực dùng để phân công; nhân viên dùng để báo bất thường và xác nhận hành động. Phạm vi checklist nên được điều chỉnh theo rủi ro của từng môi trường.

Câu hỏi thường gặp về 6SAPP và ứng dụng 5S

6SAPP có thay thế đào tạo 5S không?

Không. 6SAPP hỗ trợ ghi nhận và theo dõi; doanh nghiệp vẫn cần đào tạo nguyên tắc, hướng dẫn tại hiện trường và coaching để mọi người hiểu vì sao phải thực hiện.

Có thể dùng cùng một checklist cho mọi khu vực không?

Không nên. Khu vực sản xuất, kho, văn phòng và phòng kỹ thuật có nguy cơ khác nhau. Có thể dùng bộ nguyên tắc chung nhưng tiêu chí quan sát cần được điều chỉnh theo chức năng và mức độ rủi ro.

Điểm 5S thấp có nghĩa là khu vực làm việc kém?

Chưa chắc. Điểm số là tín hiệu để đặt câu hỏi và ưu tiên hỗ trợ. Cần xem bằng chứng, mức độ nghiêm trọng, tỷ lệ tái diễn và khả năng thực hiện hành động trước khi kết luận.

Làm thế nào để bắt đầu triển khai?

Chọn một khu vực, xác định mục tiêu, chuẩn hóa checklist, đào tạo người kiểm tra và chạy thử vài chu kỳ. Sau đó review dữ liệu và điều chỉnh trước khi mở rộng.

Triển khai 6SAPP và ứng dụng 5S cho doanh nghiệp

6S Tagging - CiCC

🏷️ 6S CiCC Tagging System

Đang mở
0
0 Vàng
0 Đỏ
Đã đóng
0
0 Vàng
0 Đỏ
S1 - Sàng lọc S2 - Sắp xếp S3 - Sạch sẽ S4 - Săn sóc S5 - Sẵn sàng

📍 Xác định Vị trí

Quét mã QR của vị trí
Văn phòng Xưởng A Xưởng B Kho Nhà ăn Bên ngoài
Tất cả Đang mở Đã rút Quá hạn Vàng + Đỏ Chỉ vàng Chỉ đỏ
// ==================== MAPPING VỊ TRÍ ==================== const locationMap = { "Văn phòng": ["VP-01 (Kế toán)", "VP-02 (Nhân sự)", "VP-03 (Giám đốc)", "VP-04 (Sảnh)"], "Xưởng A": ["XA-L01", "XA-L02", "XA-L03", "XA-KTC"], "Xưởng B": ["XB-May01", "XB-May02", "XB-May03", "XB-HoanThien"], "Kho": ["KHO-NL", "KHO-TP", "KHO-PHELIEU"], "Nhà ăn": ["NA-01 (Bếp)", "NA-02 (Khu ngồi)", "NA-03 (Rửa bát)"], "Bên ngoài": ["BN-01 (Bãi xe)", "BN-02 (Cổng)", "BN-03 (Vườn)"] }; function updateLocations() { let area = document.getElementById('area').value; let locSelect = document.getElementById('locationCode'); let locations = locationMap[area] || []; locSelect.innerHTML = locations.map(l => `${l}`).join(''); } // ==================== XỬ LÝ ẢNH ==================== let currentImageData = ''; function previewImage(input) { const file = input.files[0]; if (file) { const reader = new FileReader(); reader.onload = function (e) { currentImageData = e.target.result; const preview = document.getElementById('imagePreview'); preview.style.backgroundImage = `url(${currentImageData})`; preview.style.display = 'block'; } reader.readAsDataURL(file); } } // ==================== DỮ LIỆU ==================== let tags = JSON.parse(localStorage.getItem('6s_tags')) || []; function save() { localStorage.setItem('6s_tags', JSON.stringify(tags)); updateDashboard(); } // Auto lấy tên người dùng (function () { let saved = localStorage.getItem('6s_user'); if (saved) document.getElementById('discoverer').value = saved; })(); // ==================== SINH MÃ THẺ ==================== function sinhMa(type) { let prefix = type === 'Vàng' ? 'Y' : 'R'; let year = new Date().getFullYear(); let so = tags.filter(t => t.ma.startsWith(prefix + '-' + year)).length + 1; return prefix + '-' + year + '-' + String(so).padStart(5, '0'); } // ==================== TREO THẺ ==================== function onTypeChange() { let type = document.querySelector('input[name="tagType"]:checked').value; let btn = document.getElementById('btnTreo'); let hint = document.getElementById('sHint'); let sSelectVang = document.getElementById('sSelectVang'); let sSelectDo = document.getElementById('sSelectDo'); if (type === 'Vàng') { btn.className = 'btn btn-vang'; btn.textContent = '🏷️ TẠO THẺ VÀNG'; // Hiển thị S1-S5, ẩn S6 sSelectVang.style.display = 'block'; sSelectDo.style.display = 'none'; hint.textContent = '✅ Chọn S1 đến S5 cho thẻ Vàng và khắc phục điểm bất thường trong thời hạn 1 tuần'; hint.style.color = '#1565c0'; } else { // Thẻ Đỏ btn.className = 'btn btn-do'; btn.textContent = '🏷️ TẠO THẺ ĐỎ'; // Hiển thị S6, ẩn S1-S5 sSelectVang.style.display = 'none'; sSelectDo.style.display = 'block'; // S6 luôn hiện khi là thẻ Đỏ hint.textContent = '🔴 Thẻ Đỏ mặc định là S6 - An toàn phải tiến hành khắc phục “NGAY” sau khi phát hiện'; hint.style.color = '#d32f2f'; } } function onSChange() { /* Không cần xử lý gì ở đây nữa */ } function treoThe() { let type = document.querySelector('input[name="tagType"]:checked').value; let area = document.getElementById('area').value; let loc = document.getElementById('locationCode').value.trim(); let desc = document.getElementById('description').value.trim(); let disc = document.getElementById('discoverer').value.trim(); if (!loc) { toast('Nhập mã vị trí!'); return; } if (!desc) { toast('Nhập mô tả!'); return; } if (!disc) { toast('Nhập tên người phát hiện!'); return; } // Lấy S đã chọn let sValue = ''; if (type === 'Vàng') { sValue = document.getElementById('sSelectVang').value; } else { // Thẻ Đỏ sValue = 'S6'; // Luôn là S6 } let sList = [sValue]; // Đưa vào mảng để đồng bộ với cấu trúc tag // Kiểm tra logic: thẻ vàng không được chứa S6, thẻ đỏ chỉ được S6 (đã xử lý ở onTypeChange) // if (type === 'Vàng' && sList.includes('S6')) { toast('Lỗi: Thẻ Vàng không thể chọn S6 - An toàn!'); return;} // if (type === 'Đỏ' && (sList.length !== 1 || !sList.includes('S6'))) { toast('Lỗi: Thẻ Đỏ chỉ được chọn S6 - An toàn!'); return;} let ma = sinhMa(type); let now = new Date(); let tag = { ma: ma, type: type, area: area, location: loc, description: desc, discoverer: disc, sList: sList, beforeImage: currentImageData, status: 'open', // open | closed createdAt: now.toISOString(), closedAt: null, solution: '', afterImage: '', reviewer: '', reviewResult: '' }; tags.unshift(tag); save(); localStorage.setItem('6s_user', disc); // Reset form document.getElementById('description').value = ''; currentImageData = ''; document.getElementById('imagePreview').style.display = 'none'; document.getElementById('fileInput').value = ''; updateLocations(); // Reset vị trí về option đầu tiên // Hiển thị kết quả hienThiTheMoi(tag); renderList(); } function hienThiTheMoi(tag) { let overlay = document.getElementById('modalOverlay'); let content = document.getElementById('modalContent'); let icon = tag.type === 'Vàng' ? '🟡' : '🔴'; let color = tag.type === 'Vàng' ? 'vang' : 'do'; content.innerHTML = `
${icon} ${tag.ma}
💡 Chọn "In thẻ" để in giấy A6 treo tại hiện trường
`; overlay.style.display = 'flex'; } function closeModal() { document.getElementById('modalOverlay').style.display = 'none'; } // Click overlay to close document.getElementById('modalOverlay').onclick = function (e) { if (e.target === this) closeModal(); }; // ==================== DANH SÁCH THẺ ==================== function renderList() { let filterStatus = document.getElementById('filterStatus').value; let filterType = document.getElementById('filterType').value; let list = document.getElementById('tagList'); let filtered = tags.filter(t => { if (filterType !== 'all' && t.type !== filterType) return false; if (filterStatus === 'open' && t.status !== 'open') return false; if (filterStatus === 'closed' && t.status !== 'closed') return false; if (filterStatus === 'quahan' && !isQuaHan(t)) return false; return true; }); if (filtered.length === 0) { list.innerHTML = '
📭 Chưa có thẻ nào
'; return; } list.innerHTML = filtered.map(t => { let isVang = t.type === 'Vàng'; let color = isVang ? 'vang' : 'do'; let badge = t.status === 'open' ? 'Đang xử lý' : 'Đã rút'; let qh = isQuaHan(t) ? ' ⚠️ Quá hạn' : ''; return `
${t.ma} ${badge}${qh}
${t.description}
${t.location} · ${t.area} · ${t.sList.join(', ')}
${formatDate(t.createdAt)} · ${t.discoverer}
${t.status === 'open' ? `` : ''}
`; }).join(''); } // ==================== XỬ LÝ / RÚT THẺ ==================== function moKhacPhuc(ma) { let t = tags.find(x => x.ma === ma); if (!t) return; let overlay = document.getElementById('modalOverlay'); let content = document.getElementById('modalContent'); content.innerHTML = `

🔧 Xử lý thẻ ${ma}

Mô tả: ${t.description}
Vị trí: ${t.location}
`; overlay.style.display = 'flex'; } function thucHienRutThe(ma) { let t = tags.find(x => x.ma === ma); if (!t) return; let solution = document.getElementById('editSolution').value.trim(); let result = document.querySelector('input[name="reviewResult"]:checked'); let reviewer = document.getElementById('editReviewer').value.trim(); if (!solution) { toast('Nhập biện pháp khắc phục!'); return; } if (!reviewer) { toast('Nhập tên người đánh giá!'); return; } if (!result) { toast('Chọn kết quả OK hoặc NG!'); return; } t.solution = solution; t.reviewer = reviewer; t.reviewResult = result.value; if (result.value === 'OK') { t.status = 'closed'; t.closedAt = new Date().toISOString(); toast('✅ Đã rút thẻ ' + ma); } else { toast('❌ Trả lại xử lý cho thẻ ' + ma); } save(); closeModal(); renderList(); } function xemChiTiet(ma) { let t = tags.find(x => x.ma === ma); if (!t) return; let overlay = document.getElementById('modalOverlay'); let content = document.getElementById('modalContent'); let statusText = t.status === 'open' ? '🟡 Đang xử lý' : '✅ Đã rút'; let qh = isQuaHan(t) ? '
⚠️ QUÁ HẠN (trên 7 ngày)
' : ''; content.innerHTML = `

${t.ma}

Loại: ${t.type === 'Vàng' ? '🟡 Thẻ vàng' : '🔴 Thẻ đỏ'}
Vị trí: ${t.location} · ${t.area}
Mô tả: ${t.description}
Phân loại: ${t.sList.join(', ')}
Người treo: ${t.discoverer}
Ngày treo: ${formatDate(t.createdAt)}
Trạng thái: ${statusText}
${qh} ${t.beforeImage ? `
Ảnh hiện trạng:
` : ''} ${t.solution ? `
Khắc phục: ${t.solution}
` : ''} ${t.reviewer ? `
Người rút: ${t.reviewer}
` : ''} ${t.closedAt ? `
Ngày rút: ${formatDate(t.closedAt)}
` : ''}
`; overlay.style.display = 'flex'; } // ==================== DASHBOARD ==================== function updateDashboard() { let open = tags.filter(t => t.status === 'open'); let closed = tags.filter(t => t.status === 'closed'); let moVang = open.filter(t => t.type === 'Vàng').length; let moDo = open.filter(t => t.type === 'Đỏ').length; let dongVang = closed.filter(t => t.type === 'Vàng').length; let dongDo = closed.filter(t => t.type === 'Đỏ').length; document.getElementById('statMo').textContent = moVang + moDo; document.getElementById('statMoVang').textContent = moVang; document.getElementById('statMoDo').textContent = moDo; document.getElementById('statDong').textContent = dongVang + dongDo; document.getElementById('statDongVang').textContent = dongVang; document.getElementById('statDongDo').textContent = dongDo; } // ==================== QUÁ HẠN (7 ngày) ==================== function isQuaHan(t) { if (t.status !== 'open') return false; let created = new Date(t.createdAt); let now = new Date(); let diff = (now - created) / (1000 * 60 * 60 * 24); return diff > 7; } // ==================== BÁO CÁO ==================== function renderReport() { let canvas = document.getElementById('chartPareto'); let ctx = canvas.getContext('2d'); let month = document.getElementById('reportMonth').value; // Lọc theo tháng let filtered = tags.filter(t => { let d = new Date(t.createdAt); let ym = d.getFullYear() + '-' + String(d.getMonth() + 1).padStart(2, '0'); return ym === month; }); // Đếm theo S let sCount = { S1: 0, S2: 0, S3: 0, S4: 0, S5: 0, S6: 0 }; filtered.forEach(t => { t.sList.forEach(s => { if (sCount[s] !== undefined) sCount[s]++; }); }); // Sắp xếp giảm dần let sorted = Object.entries(sCount).sort((a, b) => b[1] - a[1]); let labels = sorted.map(x => x[0]); let data = sorted.map(x => x[1]); let total = data.reduce((a, b) => a + b, 0); // Vẽ biểu đồ cột đơn giản ctx.clearRect(0, 0, canvas.width, canvas.height); if (total === 0) { ctx.fillStyle = '#999'; ctx.font = '14px Arial'; ctx.textAlign = 'center'; ctx.fillText('Chưa có dữ liệu tháng này', canvas.width / 2, canvas.height / 2); } else { let barW = canvas.width / labels.length * 0.6; let maxVal = Math.max(...data); let colors = ['#f9a825', '#1565c0', '#2e7d32', '#6a1b9a', '#e65100', '#d32f2f']; data.forEach((v, i) => { let h = v / maxVal * 150; let x = i * (canvas.width / labels.length) + (canvas.width / labels.length - barW) / 2; let y = canvas.height - 40 - h; // Bar ctx.fillStyle = colors[i % colors.length]; ctx.fillRect(x, y, barW, h); // Label ctx.fillStyle = '#333'; ctx.font = '12px Arial'; ctx.textAlign = 'center'; ctx.fillText(labels[i], x + barW / 2, canvas.height - 22); // Value ctx.fillStyle = '#333'; ctx.font = 'bold 13px Arial'; ctx.fillText(v, x + barW / 2, y - 4); }); } // Bảng chi tiết let tableHtml = `

Chi tiết tháng ${month}

${sorted.map(([s, v]) => { let pct = total > 0 ? (v / total * 100).toFixed(1) : 0; let barW = total > 0 ? (v / total * 100) : 0; return ``; }).join('')}
Phân loại Số lượng Tỷ lệ
${s} ${v}
${pct}%
Tổng: ${filtered.length} thẻ · Đã rút: ${filtered.filter(t => t.status === 'closed').length} · Đang mở: ${filtered.filter(t => t.status === 'open').length}
`; document.getElementById('reportTable').innerHTML = tableHtml; } // ==================== TAB SWITCH ==================== function switchTab(tab) { document.querySelectorAll('.tab').forEach(t => t.classList.remove('active')); document.querySelectorAll('.screen').forEach(s => s.classList.remove('active')); document.querySelector(`.tab:nth-child(${tab === 'treo' ? 1 : tab === 'ds' ? 2 : 3})`).classList.add('active'); document.getElementById('screen-' + tab).classList.add('active'); if (tab === 'ds') renderList(); if (tab === 'baocao') renderReport(); } // ==================== UTILITIES ==================== function formatDate(iso) { if (!iso) return ''; let d = new Date(iso); return d.getDate() + '/' + (d.getMonth() + 1) + '/' + d.getFullYear(); } function toast(msg) { let el = document.getElementById('toast'); el.textContent = msg; el.classList.add('show'); setTimeout(() => el.classList.remove('show'), 2500); } // ==================== KHỞI TẠO ==================== updateLocations(); // Khởi tạo mapping vị trí ban đầu // Fill month selector (function () { let sel = document.getElementById('reportMonth'); let now = new Date(); for (let i = 0; i < 6; i++) { let d = new Date(now.getFullYear(), now.getMonth() - i, 1); let val = d.getFullYear() + '-' + String(d.getMonth() + 1).padStart(2, '0'); let label = 'Tháng ' + (d.getMonth() + 1) + '/' + d.getFullYear(); let opt = document.createElement('option'); opt.value = val; opt.textContent = label; if (i === 0) opt.selected = true; sel.appendChild(opt); } })(); save(); renderList();

Giới thiệu 5S

Thông tin chi tiết về 5S được phân tích dưới đây.

Lợi ích của 5S

5S mang lại nhiều lợi ích thiết thực cho doanh nghiệp.

Kết luận 5S

Tổng hợp kiến thức về 5S. 5S – Tìm hiểu thêm 5S – Tìm hiểu thêm 5S – Tìm hiểu thêm 5S – Tìm hiểu thêm 5S – Tìm hiểu thêm

Gửi yêu cầu tư vấn 5S/6S hoặc xem thêm khóa học cải tiến để xây dựng checklist phù hợp.

Gửi yêu cầu tư vấn 5S/6S hoặc xem thêm khóa học cải tiến để xây dựng checklist phù hợp.

Trải Nghiệm 6SAPP Ngay Hôm Nay

Đăng ký pilot miễn phí — 30 ngày trải nghiệm đầy đủ tính năng

Hỏi CiCC AI?