🎯 Major Management Page Overhaul:
- 테이블 최소 너비 2000px로 확장 (좌우 스크롤 최적화)
- 컬럼별 개별 너비 설정으로 내용에 맞는 크기 조정
- 편집 가능한 필드들 (해결방안, 담당부서, 담당자, 조치예상일, 원인부서, 의견)
- 진행 중 → 완료됨 처리 버튼 추가
📊 Enhanced Table Structure:
- 업로드 사진 2장 표시 (photo_path, photo_path2)
- 완료 사진 별도 컬럼으로 표시
- 작업 컬럼 추가 (저장 버튼)
- 완료 확인 컬럼 (진행 중: 완료 처리 버튼, 완료됨: 완료일)
✏️ Editable Fields Implementation:
- createEditableField() 함수로 동적 입력 필드 생성
- textarea, select, date, text 타입 지원
- 부서 선택 드롭다운 (생산, 품질, 구매, 설계, 영업)
- 실시간 편집 및 저장 기능
🔧 Backend API Enhancement:
- PUT /api/issues/{issue_id}/management 엔드포인트 추가
- ManagementUpdateRequest 스키마 활용
- 관리함 페이지 권한 검증
- 완료 사진 업로드 지원
📈 Smart Sequencing System:
- 수신함에서 넘어온 순서대로 No. 할당 (reviewed_at 기준)
- 프로젝트별 그룹화 후 순번 재할당
- 진행 중 A → 진행 중 B → 완료됨 C → 진행 중 D = 1, 2, 3, 4
🎨 UI/UX Improvements:
- 컬럼별 CSS 클래스로 일관된 스타일링
- 편집 가능한 필드 포커스 효과
- 사진 컨테이너로 2장 사진 깔끔한 배치
- 버튼 크기 최적화 (btn-sm 클래스)
🚀 Functional Features:
- completeIssue(): 진행 중 → 완료됨 처리
- saveIssueChanges(): 편집된 필드들 일괄 저장
- 실시간 목록 새로고침
- 확인 다이얼로그로 안전한 작업 처리
Expected Result:
✅ 좌우 스크롤로 모든 정보 편리하게 확인
✅ 관리함에서 필요한 정보 직접 입력/수정
✅ 진행 중에서 완료 처리 원클릭
✅ 수신함 순서 기반 체계적인 No. 관리
✅ 업로드 사진 2장 + 완료 사진 명확한 구분
📅 Sorting Order Improvements:
- 모든 이슈 목록에서 최신 항목이 위로 오도록 정렬 순서 통일
- report_date 기준 내림차순(DESC) 정렬로 일관성 확보
🔧 Backend API Updates:
- GET /api/issues/: order_by(Issue.report_date.desc()) 추가
- GET /api/issues/admin/all: order_by(Issue.report_date.desc()) 추가
- GET /api/reports/issues: order_by(Issue.report_date.desc()) 변경
🎨 Frontend Sorting Updates:
- issues-inbox.html: created_at → report_date 기준 정렬
- issues-management.html: created_at → report_date 기준 정렬
- issues-archive.html: updated_at/created_at → report_date 기준 정렬
- 폐기함 'completed' 정렬: disposed_at 우선, 없으면 report_date 사용
📋 Consistency Improvements:
- 수신함, 관리함, 폐기함 모든 페이지에서 동일한 정렬 기준 적용
- 백엔드 API와 프론트엔드 정렬 로직 일치
- 사용자 경험 향상: 최신 이슈를 먼저 확인 가능
🚀 User Experience:
- 최신 부적합 사항을 즉시 확인 가능
- 시간순 정렬로 업무 우선순위 파악 용이
- 일관된 정렬 순서로 사용자 혼란 방지
Expected Result:
✅ 모든 이슈 목록에서 최신 항목이 맨 위에 표시
✅ 백엔드 API와 프론트엔드 정렬 로직 일치
✅ 수신함/관리함/폐기함 정렬 순서 통일
✅ 사용자가 최신 이슈를 우선적으로 확인 가능
🎨 Universal Smooth Animation System:
- 6개 모든 페이지에 통일된 애니메이션 적용
- 헤더 우선 표시 → 본문 부드러운 페이드인
- 일관성 있는 사용자 경험 제공
📱 Applied Pages:
✅ index.html (메인 페이지)
✅ issues-inbox.html (수신함)
✅ issue-view.html (부적합 조회)
✅ daily-work.html (일일공수)
✅ project-management.html (프로젝트 관리)
✅ admin.html (관리자)
🎯 Animation Flow (모든 페이지 동일):
Step 1: 헤더 빠른 페이드인 (0.4s, -10px → 0)
Step 2: 본문 지연 페이드인 (0.8s, +30px → 0, 0.2s delay)
Step 3: 컨텐츠 순차 표시 (100ms 간격)
🔧 Unified Implementation:
- 동일한 CSS 애니메이션 클래스 (.header-fade-in, .content-fade-in)
- 통일된 JavaScript 함수 (animateHeaderAppearance, animateContentAppearance)
- 헤더 초기화 후 자동 애니메이션 시작
- 에러 상황에서도 애니메이션 적용
🎨 Enhanced UX Features:
- 헤더 우선 표시로 즉시 네비게이션 가능
- 부드러운 전환으로 시각적 만족감 증대
- 브랜드 일관성을 위한 통일된 애니메이션
- 성능 최적화된 애니메이션 시스템
🎯 Visual Improvements:
- 헤더: 위에서 부드럽게 등장 (빠름)
- 본문: 아래에서 부드럽게 등장 (느림)
- 컨텐츠: 순차적 페이드인 (리듬감)
- 매끄러운 페이지 전환
Expected Result:
✨ 모든 페이지에서 동일한 부드러운 로딩 경험
✨ 헤더 우선 표시로 즉시 네비게이션 가능
✨ 통일된 브랜드 경험 및 사용자 만족도 증대
✨ 성능 최적화와 시각적 완성도 양립
- 토큰 저장 키 통일 (access_token으로 일관성 확보)
- 일일공수 페이지 API 스크립트 로딩 순서 수정
- 프로젝트 관리 페이지 비활성 프로젝트 표시 문제 해결
- 업로드 카테고리에 '기타' 항목 추가 (백엔드 schemas.py 포함)
- 비밀번호 변경 기능 API 연동으로 수정
- 프로젝트 드롭다운 z-index 문제 해결
- CORS 설정 및 Nginx 구성 개선
- 비밀번호 해싱 방식 pbkdf2_sha256으로 변경 (bcrypt 72바이트 제한 해결)
- 사진 2장까지 업로드 지원
- 카메라 촬영 + 갤러리 선택 분리
- 이미지 압축 및 최적화 (ImageUtils)
- iPhone .mpo 파일 JPEG 변환 지원
- 카테고리 변경: 치수불량 → 설계미스, 검사미스 추가
- KST 시간대 설정
- URL 해시 처리로 목록관리 페이지 이동 개선
- 로그인 OAuth2 form-data 형식 수정
- 업로드 속도 개선 및 프로그레스바 추가
- 일일 공수 입력 기능
- 부적합 사항 등록 (이미지 선택사항)
- 날짜별 부적합 조회 (시간순 나열)
- 목록 관리 (인라인 편집, 작업시간 확인 버튼)
- 보고서 생성 (총 공수/부적합 시간 분리)
- JWT 인증 및 권한 관리
- Docker 기반 배포 환경 구성