feat: 현황판 통계 카드 개선 및 상태별 분류

📊 통계 카드 재구성:
- 전체 진행 중: 모든 진행 중인 이슈 수
- 오늘 신규: 오늘 수신함에서 진행중으로 넘어온 이슈
- 완료 대기: 완료 신청된 이슈 (completion_requested_at 존재)
- 지연 중: 마감일이 지난 이슈

🎨 UI 개선:
- 완료 대기: 보라색 배경 + 모래시계 아이콘
- 지연 중: 빨간색 배경 + 시계 아이콘
- 각 카드별 애니메이션 점 효과 유지

🔧 로직 개선:
- reviewed_at 기준으로 오늘 신규 계산
- completion_requested_at 필드로 완료 대기 상태 판별
- expected_completion_date 기준으로 지연 상태 판별
- 실시간 통계 업데이트

💡 사용자 경험:
- 한눈에 파악 가능한 상태별 분류
- 색상 코딩으로 우선순위 구분
- 직관적인 아이콘 사용

Expected Result:
 전체 진행 중 | 오늘 신규 | 완료 대기 | 지연 중
 실시간 상태별 통계 표시
 시각적으로 구분되는 색상 체계
 관리자가 우선순위를 쉽게 파악
This commit is contained in:
Hyungi Ahn
2025-10-26 13:02:24 +09:00
parent 6e240f2296
commit 919bc82ca1
5 changed files with 43 additions and 30 deletions

View File

@@ -13,7 +13,7 @@ def ensure_upload_dir():
if not os.path.exists(UPLOAD_DIR):
os.makedirs(UPLOAD_DIR)
def save_base64_image(base64_string: str) -> Optional[str]:
def save_base64_image(base64_string: str, prefix: str = "image") -> Optional[str]:
"""Base64 이미지를 파일로 저장하고 경로 반환"""
try:
ensure_upload_dir()
@@ -40,8 +40,8 @@ def save_base64_image(base64_string: str) -> Optional[str]:
elif image.mode != 'RGB':
image = image.convert('RGB')
# 파일명 생성 (강제로 .jpg)
filename = f"{datetime.now().strftime('%Y%m%d%H%M%S')}_{uuid.uuid4().hex[:8]}.jpg"
# 파일명 생성 (prefix 포함)
filename = f"{prefix}_{datetime.now().strftime('%Y%m%d%H%M%S')}_{uuid.uuid4().hex[:8]}.jpg"
filepath = os.path.join(UPLOAD_DIR, filename)
# 이미지 저장 (최대 크기 제한)