diff --git a/frontend/issues-management.html b/frontend/issues-management.html index 2288e14..eddc6e9 100644 --- a/frontend/issues-management.html +++ b/frontend/issues-management.html @@ -154,66 +154,8 @@

부적합 사항을 처리하고 상태를 관리하세요

-
- - -
- -
-
-
- -
-

처리 필요

-

0

-
-
-
-
-
- -
-

처리 중

-

0

-
-
-
-
-
- -
-

대기 중

-

0

-
-
-
-
-
- -
-

완료

-

0

-
-
-
-
-
- -
-

전체

-

0

-
-
-
-
@@ -240,6 +182,37 @@ 완료됨 + + +
+
+
+ +
+

총 부적합

+

0

+
+
+
+
+
+ +
+

진행 중

+

0

+
+
+
+
+
+ +
+

완료됨

+

0

+
+
+
+
@@ -425,26 +398,47 @@ completedTab.className = 'flex-1 px-4 py-2 text-sm font-medium rounded-md transition-colors duration-200 bg-green-500 text-white'; } - filterIssues(); + filterIssues(); // 이미 updateStatistics()가 포함됨 } - // 필터링 및 표시 함수들 - function filterIssues() { - const projectFilter = document.getElementById('projectFilter').value; - - filteredIssues = issues.filter(issue => { - // 현재 탭에 따른 상태 필터링 - if (issue.review_status !== currentTab) return false; + // 통계 업데이트 함수 + function updateStatistics() { + const projectFilter = document.getElementById('projectFilter').value; - // 프로젝트 필터링 - if (projectFilter && issue.project_id != projectFilter) return false; + // 선택된 프로젝트에 따른 이슈 필터링 + const projectIssues = projectFilter + ? issues.filter(issue => issue.project_id == projectFilter) + : issues; - return true; - }); + // 상태별 카운트 + const totalCount = projectIssues.length; + const inProgressCount = projectIssues.filter(issue => issue.review_status === 'in_progress').length; + const completedCount = projectIssues.filter(issue => issue.review_status === 'completed').length; + + // 통계 업데이트 + document.getElementById('totalCount').textContent = totalCount; + document.getElementById('inProgressCount').textContent = inProgressCount; + document.getElementById('completedCount').textContent = completedCount; + } - sortIssues(); - displayIssues(); - } + // 필터링 및 표시 함수들 + function filterIssues() { + const projectFilter = document.getElementById('projectFilter').value; + + filteredIssues = issues.filter(issue => { + // 현재 탭에 따른 상태 필터링 + if (issue.review_status !== currentTab) return false; + + // 프로젝트 필터링 + if (projectFilter && issue.project_id != projectFilter) return false; + + return true; + }); + + sortIssues(); + displayIssues(); + updateStatistics(); // 통계 업데이트 추가 + } function sortIssues() { const sortOrder = document.getElementById('sortOrder').value; @@ -729,19 +723,6 @@ } // 기타 함수들 - function bulkAction() { - if (selectedIssues.size === 0) { - alert('처리할 부적합을 선택해주세요.'); - return; - } - // 일괄 처리 로직 구현 - alert(`${selectedIssues.size}개의 부적합을 일괄 처리합니다.`); - } - - function exportData() { - // 데이터 내보내기 로직 구현 - alert('데이터를 내보냅니다.'); - } function viewIssueDetail(issueId) { window.location.href = `/issue-view.html#detail-${issueId}`;