feat: 관리함 진행 중 페이지 통계에 완료 대기 카드 추가
📊 통계 카드 확장: - 기존 3개 → 4개 카드로 확장 - 새로운 '완료 대기' 카드 추가 🟣 완료 대기 카드: - 보라색 테마 (bg-purple-50) - 모래시계 아이콘 (fas fa-hourglass-half) - completion_requested_at 필드 기준 카운트 🔢 통계 계산 로직: - 총 부적합: 전체 이슈 수 - 진행 중: review_status='in_progress' && !completion_requested_at - 완료 대기: review_status='in_progress' && completion_requested_at - 완료됨: review_status='completed' 🎨 UI 개선: - 4열 그리드 레이아웃 (md:grid-cols-4) - 일관된 색상 체계 유지 - 각 카드별 고유 아이콘과 색상 💡 사용자 경험: - 완료 대기 상태를 한눈에 파악 가능 - 프로젝트 필터링 시 실시간 업데이트 - 관리자가 승인 대기 건수 즉시 확인 Expected Result: ✅ 총 부적합 | 진행 중 | 완료 대기 | 완료됨 ✅ 완료 대기 건수 실시간 표시 ✅ 프로젝트별 필터링 지원 ✅ 시각적으로 구분되는 보라색 테마
This commit is contained in:
@@ -272,7 +272,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- 프로젝트별 통계 -->
|
<!-- 프로젝트별 통계 -->
|
||||||
<div class="grid grid-cols-1 md:grid-cols-3 gap-4">
|
<div class="grid grid-cols-1 md:grid-cols-4 gap-4">
|
||||||
<div class="bg-gray-50 p-4 rounded-lg">
|
<div class="bg-gray-50 p-4 rounded-lg">
|
||||||
<div class="flex items-center">
|
<div class="flex items-center">
|
||||||
<i class="fas fa-chart-bar text-gray-500 text-xl mr-3"></i>
|
<i class="fas fa-chart-bar text-gray-500 text-xl mr-3"></i>
|
||||||
@@ -291,6 +291,15 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="bg-purple-50 p-4 rounded-lg">
|
||||||
|
<div class="flex items-center">
|
||||||
|
<i class="fas fa-hourglass-half text-purple-500 text-xl mr-3"></i>
|
||||||
|
<div>
|
||||||
|
<p class="text-sm text-purple-600">완료 대기</p>
|
||||||
|
<p class="text-2xl font-bold text-purple-700" id="pendingCompletionCount">0</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="bg-green-50 p-4 rounded-lg">
|
<div class="bg-green-50 p-4 rounded-lg">
|
||||||
<div class="flex items-center">
|
<div class="flex items-center">
|
||||||
<i class="fas fa-check-circle text-green-500 text-xl mr-3"></i>
|
<i class="fas fa-check-circle text-green-500 text-xl mr-3"></i>
|
||||||
@@ -556,12 +565,18 @@
|
|||||||
|
|
||||||
// 상태별 카운트
|
// 상태별 카운트
|
||||||
const totalCount = projectIssues.length;
|
const totalCount = projectIssues.length;
|
||||||
const inProgressCount = projectIssues.filter(issue => issue.review_status === 'in_progress').length;
|
const inProgressCount = projectIssues.filter(issue =>
|
||||||
|
issue.review_status === 'in_progress' && !issue.completion_requested_at
|
||||||
|
).length;
|
||||||
|
const pendingCompletionCount = projectIssues.filter(issue =>
|
||||||
|
issue.review_status === 'in_progress' && issue.completion_requested_at
|
||||||
|
).length;
|
||||||
const completedCount = projectIssues.filter(issue => issue.review_status === 'completed').length;
|
const completedCount = projectIssues.filter(issue => issue.review_status === 'completed').length;
|
||||||
|
|
||||||
// 통계 업데이트
|
// 통계 업데이트
|
||||||
document.getElementById('totalCount').textContent = totalCount;
|
document.getElementById('totalCount').textContent = totalCount;
|
||||||
document.getElementById('inProgressCount').textContent = inProgressCount;
|
document.getElementById('inProgressCount').textContent = inProgressCount;
|
||||||
|
document.getElementById('pendingCompletionCount').textContent = pendingCompletionCount;
|
||||||
document.getElementById('completedCount').textContent = completedCount;
|
document.getElementById('completedCount').textContent = completedCount;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user