diff --git a/system1-factory/web/pages/work/nonconformity.html b/system1-factory/web/pages/work/nonconformity.html
deleted file mode 100644
index f3ce37c..0000000
--- a/system1-factory/web/pages/work/nonconformity.html
+++ /dev/null
@@ -1,96 +0,0 @@
-
-
-
- 목록을 불러올 수 없습니다. 잠시 후 다시 시도해주세요.
';
- }
-}
-
-function renderIssues(issues) {
- const el = document.getElementById('issueList');
- if (!issues.length) {
- el.innerHTML = '등록된 부적합 신고가 없습니다
새로운 부적합을 신고하려면 \'부적합 신고\' 버튼을 클릭하세요.
';
- return;
- }
-
- el.innerHTML = issues.map(issue => {
- const reportDate = formatDateTime(issue.report_date);
- let loc = escapeHtml(issue.custom_location || '');
- if (issue.factory_name) {
- loc = escapeHtml(issue.factory_name);
- if (issue.workplace_name) loc += ` - ${escapeHtml(issue.workplace_name)}`;
- }
- const title = escapeHtml(issue.issue_item_name || issue.issue_category_name || '부적합 신고');
- const categoryName = escapeHtml(issue.issue_category_name || '부적합');
- const reportId = parseInt(issue.report_id) || 0;
- const validStatuses = ['reported', 'received', 'in_progress', 'completed', 'closed'];
- const safeStatus = validStatuses.includes(issue.status) ? issue.status : 'reported';
- const reporter = escapeHtml(issue.reporter_full_name || issue.reporter_name || '-');
- const assigned = issue.assigned_full_name ? escapeHtml(issue.assigned_full_name) : '';
-
- const photos = [issue.photo_path1, issue.photo_path2, issue.photo_path3, issue.photo_path4, issue.photo_path5].filter(Boolean);
-
- return `
-
- #${reportId}
- ${STATUS_LABELS[issue.status] || escapeHtml(issue.status || '-')}
-
-
- ${categoryName}
- ${title}
-
-
- ${reporter}
- ${reportDate}
- ${loc ? `${loc}` : ''}
- ${assigned ? `담당: ${assigned}` : ''}
-
- ${photos.length > 0 ? `
${photos.slice(0, 3).map(p => `
})
`).join('')}${photos.length > 3 ? `
+${photos.length - 3}` : ''}
` : ''}
-
`;
- }).join('');
-}
-
-/* ===== Init ===== */
-(async function() {
- if (!await initAuth()) return;
-
- // 신고 버튼 URL 설정
- document.getElementById('btnNewReport').href = getReportUrl();
-
- // 필터 이벤트
- document.getElementById('filterStatus').addEventListener('change', loadIssues);
- document.getElementById('filterStartDate').addEventListener('change', loadIssues);
- document.getElementById('filterEndDate').addEventListener('change', loadIssues);
-
- await Promise.all([loadStats(), loadIssues()]);
-})();