- 입고관리: 상세/목록 UI 개선, actions 로직 강화
- 재고현황: 상세/목록 개선, StockAuditModal 신규 추가
- 영업주문관리: 페이지 구조 개선, OrderSalesDetailEdit 기능 강화
- 주문: OrderRegistration 개선, SalesOrderDocument 신규 추가
- 견적: QuoteTransactionModal 기능 개선
- 품질: InspectionModalV2, ImportInspectionDocument 대폭 개선
- UniversalListPage: 템플릿 기능 확장
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
차량 관리 (신규):
- VehicleList/VehicleDetail: 차량 목록/상세
- ForkliftList/ForkliftDetail: 지게차 목록/상세
- VehicleLogList/VehicleLogDetail: 운행일지 목록/상세
- 관련 페이지 라우트 추가 (/vehicle-management/*)
CEO 대시보드:
- Enhanced 섹션 컴포넌트 적용 (아이콘 + 컬러 테마)
- EnhancedStatusBoardSection, EnhancedDailyReportSection, EnhancedMonthlyExpenseSection
- TodayIssueSection 개선
IntegratedDetailTemplate:
- FieldInput, FieldRenderer 기능 확장
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
견적 시스템:
- QuoteRegistrationV2: 할인 모달, 거래명세서 모달, vatType 필드 추가
- DiscountModal: 할인율/할인금액 상호 계산 모달
- QuoteTransactionModal: 거래명세서 미리보기 모달
- LocationDetailPanel, LocationListPanel 개선
템플릿 기능:
- UniversalListPage: 엑셀 다운로드 기능 추가 (전체/선택 다운로드)
- DocumentViewer: PDF 생성 기능 개선
신규 API:
- /api/pdf/generate: Puppeteer 기반 PDF 생성 엔드포인트
UI 개선:
- 입력 컴포넌트 placeholder 스타일 개선 (opacity 50%)
- 각종 리스트 컴포넌트 정렬/필터링 개선
패키지 추가:
- html2canvas, jspdf, puppeteer, dom-to-image-more
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- page.tsx: quoteId 파라미터로 견적 데이터 자동 로드
- actions.ts: getQuoteByIdForSelect 함수 추가
- index.ts: getQuoteByIdForSelect export 추가
- quotes/actions.ts: QuotationForSelect, QuotationItem 타입 export
- actions.ts: API 응답 필드명 수정 (file_path 사용)
- utils.ts: blob URL 처리 추가 (미리보기 URL 저장 방지)
- EmployeeForm.tsx: 업로드 실패 시 에러 처리 및 토스트 추가
- page.tsx: 저장 후 데이터 갱신 및 뷰 모드 이동 처리
- IntegratedDetailTemplate: 빈 에러 메시지 시 토스트 미표시 처리
- 카드내역 일괄변경 시 선택 항목 인식 안되는 버그 수정
- 게시판 글쓰기/수정 폼 미렌더링 버그 수정 (mode=new/edit 처리)
- 자동 출퇴근 설정 저장 안되는 버그 수정 (useAuto API 연동)
- DynamicBoardCreateForm/EditForm 컴포넌트 분리
- UniversalListPage에 onSelectionChange 콜백 추가
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- 공통 레이아웃 패턴 적용: [달력] → [프리셋] → [검색창] → [버튼들]
- beforeTableContent → headerActions + createButton 마이그레이션
- DateRangeSelector extraActions prop 활용하여 검색창 통합
- PricingListClient 테이블 행 클릭 → 상세 이동 기능 추가
- 회계 관련 페이지 (입금/출금/매입/매출/어음/카드/예상지출 등) 정리
- 건설 관련 페이지 검색 영역 정리
- 부모 메뉴 리다이렉트 컴포넌트 추가
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- CommandMenuSearch 컴포넌트 추가 (Cmd+K 글로벌 메뉴 검색)
- AuthenticatedLayout: 검색 통합, 모바일/데스크톱 스켈레톤 분리
- middleware: 토큰 갱신 후 리다이렉트 방식으로 변경 (race condition 방지)
- IntegratedDetailTemplate: stickyButtons 옵션 추가 (하단 고정 버튼)
- UniversalListPage: 컬럼 정렬 기능 추가 (sortBy, sortOrder)
- Sidebar: 축소 모드 패딩/간격 최적화
- 각종 컴포넌트 버그 수정 및 경로 정규화
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- MOCK_DATA 제거 및 실제 getQuoteById API 호출로 변경
- transformApiToV2로 API 응답을 V2 폼 데이터로 변환
- handleSave에서 실제 updateQuote API 호출로 변경
- 저장 후 view 모드로 자동 전환
관련: docs/plans/quote-management-url-migration-plan.md
- test-new 페이지에서 Mock 저장을 실제 createQuote API 호출로 변경
- transformV2ToApi 함수로 V2 폼 데이터 변환
- 저장 후 실제 생성된 견적 ID로 상세 페이지 이동
- 에러 처리 및 사용자 피드백 유지
관련: docs/plans/quote-management-url-migration-plan.md
- BadDebtCollection 액션/타입 리팩토링
- ReceivingProcessDialog 입고처리 개선
- StockStatusList 재고현황 UI 개선
- OrderSalesDetailView 수주 상세 수정
- UniversalListPage 범용 리스트 개선
- production-order 페이지 수정
- LoginPage.tsx: 하드코딩된 "S" 텍스트 → Image 컴포넌트로 변경
- SignupPage.tsx: 하드코딩된 "S" 텍스트 → Image 컴포넌트로 변경
- AuthenticatedLayout과 동일한 /sam-logo.png 사용
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- 수주 상세 페이지에 삭제 기능 추가
- 수주등록/취소 상태에서 삭제 버튼 표시
- 삭제 확인 다이얼로그 구현
- 삭제 후 목록 페이지로 이동
- 출하목록 데이터 누락 수정
- 발주처/현장명 order_info 참조하도록 수정
- 배송방식 라벨 API 응답값 사용
- 공통코드 API 함수 추가
- getDeliveryMethodCodes, getDeliveryMethodOptions
- getCodeLabel 유틸 함수
- 파비콘: SVG 형식으로 변경 (white 로고 + 파란 배경)
- 헤더 로고: SAM 로고 이미지로 교체
- 거래처 상세: 신용분석 모달 컴포넌트 추가
- 신용등급, 리스크 지표, 레이더 차트
- 프린트 기능 지원
Co-Authored-By: Claude <noreply@anthropic.com>
- 출퇴근 관리: 우림블루나인비즈니스센터 좌표 수정 (37.5572518, 126.864441)
- 입금/출금/매출/카드 등록: /new 폴더 삭제 및 ?mode=new 쿼리 파라미터 방식으로 통합
- 매출 등록 페이지 제목 "등록 등록" 중복 수정
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- IntegratedListTemplateV2: 1페이지여도 페이지네이션 영역 항상 표시
- 거래처관리: externalPagination 추가로 서버 페이지네이션 정보 전달
- 거래처관리: handlePageChange Hooks 순서 에러 수정
Co-Authored-By: Claude <noreply@anthropic.com>
- GenericPageSkeleton 범용 컴포넌트 추가 (커스텀 페이지용)
- AuthenticatedLayout 스피너 → 스켈레톤으로 변경
- (protected)/loading.tsx GenericPageSkeleton 적용
- subscription, account-info 페이지 개별 스켈레톤 추가
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- UniversalListPage에 externalIsLoading prop 추가
- CardTransactionDetailClient DevFill 자동입력 기능 추가
- 여러 컴포넌트 로딩 상태 처리 개선
- skeleton 컴포넌트 확장
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- 수주 상세 페이지에서 수주확정 시 FCM 푸시 알림 발송 추가
- FCM 프리셋 함수 추가: 계약완료, 발주완료 알림
- 입금 등록 시 입금일, 입금계좌, 입금자명, 입금금액 입력 가능
- 견적 저장 시 토스트 메시지 정상 표시 수정
- ShipmentCreate SelectItem key prop 경고 수정
- DevToolbar 문법 오류 수정
- CardTransactionDetailClient 컴포넌트 생성
- cardTransactionDetailConfig 설정 파일 추가
- actions.ts에 CRUD API 함수 추가 (create, getById, update, delete, getCardList)
- 등록/상세/수정 페이지 생성 (new, [id], [id]/edit)
- 리스트에 "카드내역 등록" 버튼 추가
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- 입금관리, 출금관리 리스트에 등록 버튼 추가
- skeleton, confirm-dialog, empty-state, status-badge UI 컴포넌트 추가
- document-system 컴포넌트 추상화 (ApprovalLine, DocumentHeader 등)
- 여러 페이지 컴포넌트 리팩토링 및 코드 정리
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- 숫자/통화/전화번호/사업자번호 등 특수 입력 컴포넌트 추가
- MobileCard 컴포넌트 통합 (ListMobileCard 제거)
- IntegratedListTemplateV2 페이지네이션 버그 수정 (NaN 이슈)
- IntegratedDetailTemplate 타이틀 중복 수정
- 문서 시스템 컴포넌트 추가
- 헤더 벨 아이콘 포커스 스타일 개선
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- ApiClient 인터페이스: representative → manager_name, contact_person 변경
- transformApiToFrontend: client.representative → client.manager_name 수정
- ApiOrderItem에 floor_code, symbol_code 필드 추가 (제품-부품 매핑)
- ApiOrder에 options 타입 정의 추가
- ApiQuote에 calculation_inputs 타입 정의 추가
- 수주 상세 페이지 제품-부품 트리 구조 UI 개선
Phase 5 완료 (5개 페이지):
- 입금관리, 출금관리, 단가관리(건설): Pattern A (기존 V2 컴포넌트 활용)
- 판매수주관리, 품목관리: Pattern B (View/Edit 컴포넌트 분리)
신규 컴포넌트:
- OrderSalesDetailView.tsx, OrderSalesDetailEdit.tsx
- ItemDetailView.tsx, ItemDetailEdit.tsx
기타 정리:
- backup 파일 삭제 (Dashboard, ItemMasterDataManagement 등)
- 타입 정의 개선 (건설 도메인 types.ts)
- useAuthGuard 훅 정리
Co-Authored-By: Claude <noreply@anthropic.com>