- 입고관리: 상세/목록 UI 개선, actions 로직 강화
- 재고현황: 상세/목록 개선, StockAuditModal 신규 추가
- 영업주문관리: 페이지 구조 개선, OrderSalesDetailEdit 기능 강화
- 주문: OrderRegistration 개선, SalesOrderDocument 신규 추가
- 견적: QuoteTransactionModal 기능 개선
- 품질: InspectionModalV2, ImportInspectionDocument 대폭 개선
- UniversalListPage: 템플릿 기능 확장
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
LocationListPanel:
- 개소 목록 테이블 컬럼 확장 (층, 부호, 사이즈, 제품, 수량)
- 수정/삭제 버튼 추가
- 테이블 헤더 스타일 변경 (어두운 배경)
- 선택 행 스타일 변경 (blue → orange)
QuotePreviewContent:
- 공급자 정보 테이블 확장 (대표자, FAX, 종목 추가)
- 품종 → 종류 라벨 변경
- 소계/할인율 행 레이아웃 개선
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
- LocationDetailPanel: 하드코딩된 탭을 API 기반 동적 탭으로 변경
- convertCategoryTreeToTabs(): 카테고리 트리 → 탭 변환
- useEffect로 카테고리 API 로드
- BENDING 하위 카테고리 개별 탭 처리
- 레거시 process_group_key 호환 유지
- actions.ts: getItemCategoryTree() 함수 추가
- /api/v1/categories/tree?code_group=item_category 호출
- types.ts: BomCalculationResultItem 타입 확장
- process_group_key, category_code, is_manual 필드 추가
- ItemSearchModal: API 프록시 라우트 연동, 검색 유효성 검사 (영문/한글 1자 이상)
- items.ts: HttpOnly 쿠키 인증을 위한 프록시 라우트 사용
- LocationDetailPanel: 수동 품목 추가 시 subtotals/grouped_items 동시 업데이트
- QuoteRegistrationV2: 견적 산출 시 수동 추가 품목(is_manual) 보존
- 상세별 합계에서 수동 추가 품목이 카테고리별로 표시되도록 개선
- 개소 추가 시 BOM 계산 자동 실행 (성공 시에만 추가)
- BOM 계산 실패 시 폼 초기화 방지, 에러 메시지 표시
- getFinishedGoods에 has_bom=1 파라미터 추가
- 제품 드롭다운에 코드+이름 함께 표시
- handleAddLocation을 async/await로 변경, boolean 반환
- CalendarHeader: 모바일에서 주/월 버튼 2줄 레이아웃으로 분리
- MobileCard: 제목 텍스트 overflow 시 truncate 적용
- DetailActions: 모바일 하단 sticky 버튼 바 overflow 수정
- OrderDetailForm: 모바일 하단 sticky 버튼 바 overflow 수정
- LocationDetailPanel: 오픈사이즈 옆 수정 버튼에 모달 연결
- LocationListPanel: 개소 목록에 수정/삭제 버튼 추가
- LocationEditModal: 개소 정보 수정 팝업 신규 생성
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- DevFillContext: quoteV2 페이지 타입 추가
- DevToolbar: test-new/test/[id] 패턴 및 견적V2 버튼 추가
- DevToolbar: 축소 상태에서 채우기 버튼 표시
- QuoteRegistrationV2: DevFill 훅 연동 (1~5개 랜덤 개소 생성)
- 층, 부호, 가로, 세로, 제품, 수량 등 랜덤 데이터
- 로그인 사용자 정보(localStorage) 연동
- LocationItem, QuoteFormDataV2 타입 정의 추가
- transformV2ToApi: V2 폼 데이터 → API 요청 형식 변환
- transformApiToV2: API 응답 → V2 폼 데이터 변환
- BOM 결과 포함 시 자재 상세 items 생성 지원
refs: quote-management-url-migration-plan Step 1.1
- 수주 상세 페이지에서 수주확정 시 FCM 푸시 알림 발송 추가
- FCM 프리셋 함수 추가: 계약완료, 발주완료 알림
- 입금 등록 시 입금일, 입금계좌, 입금자명, 입금금액 입력 가능
- 견적 저장 시 토스트 메시지 정상 표시 수정
- ShipmentCreate SelectItem key prop 경고 수정
- DevToolbar 문법 오류 수정
- 입금관리, 출금관리 리스트에 등록 버튼 추가
- skeleton, confirm-dialog, empty-state, status-badge UI 컴포넌트 추가
- document-system 컴포넌트 추상화 (ApprovalLine, DocumentHeader 등)
- 여러 페이지 컴포넌트 리팩토링 및 코드 정리
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- 모달 컴포넌트에서 Content 분리하여 재사용성 향상
- EstimateDocumentContent, DirectConstructionContent 등
- WorkLogContent, QuotePreviewContent, ReceivingReceiptContent
- 파일 입력 공통 UI 컴포넌트 추가
- file-dropzone, file-input, file-list, image-upload
- 폼 컴포넌트 코드 정리 및 중복 제거 (-4,056줄)
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>
신규 기능:
- 작업지시 수정 페이지 추가 (/production/work-orders/[id]/edit)
- WorkOrderEdit 컴포넌트 신규 생성
- bulk-actions.ts 일괄 작업 유틸리티 추가
- toast-utils.ts 알림 유틸리티 추가
기능 개선:
- ProductionDashboard 대시보드 액션 및 표시 개선
- WorkOrderCreate 생성 화면 개선
- WorkResultList 작업 결과 목록 타입 및 표시 개선
- EstimateDetailForm 견적 폼 개선
- QuoteRegistration 견적 등록 개선
- client-management-sales-admin 거래처 관리 개선
- error-handler.ts 에러 처리 개선
- UniversalListPage/IntegratedListTemplateV2 컴포넌트 기능 개선
- 회계, HR, 건설, 고객센터, 결재, 설정 등 전체 리스트 컴포넌트 마이그레이션
- 테스트 페이지 및 미사용 API 라우트 정리 (board-test, order-management-test 등)
- 미들웨어 토큰 갱신 로직 개선
- AuthenticatedLayout 구조 개선
- claudedocs 문서 업데이트
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- LocationDetailPanel: 6개 탭 구현 (본체, 가이드레일, 케이스, 하단마감재, 모터&제어기, 부자재)
- 각 탭별 다른 테이블 컬럼 구조 적용
- QuoteSummaryPanel: 개소별/상세별 합계 패널 개선
- QuotePreviewModal: EstimateDocumentModal 패턴 적용 (헤더+버튼 영역 분리)
- Input value → defaultValue 변경으로 React 경고 해결
- 팩스/카카오톡 버튼 제거
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- 52개 이상의 컴포넌트에 isNextRedirectError 처리 추가
- Server Action의 redirect() 에러가 catch 블록에서 삼켜지는 문제 해결
- access_token + refresh_token 모두 만료 시 정상적으로 로그인 페이지로 리다이렉트
수정된 영역:
- accounting: 10개 컴포넌트
- production: 12개 컴포넌트
- hr: 5개 컴포넌트
- settings: 8개 컴포넌트
- approval: 5개 컴포넌트
- items: 20개+ 컴포넌트
- board: 5개 컴포넌트
- quality: 4개 컴포넌트
- material, outbound, quotes 등 기타 컴포넌트
Co-Authored-By: Claude <noreply@anthropic.com>
- 전체 모듈 actions.ts redirect 에러 핸들링 추가
- CEODashboard DetailModal 추가
- MonthlyExpenseSection 개선
- fetch-wrapper redirect 에러 처리
- redirect-error 유틸 추가
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- CEO 대시보드 컴포넌트 추가
- AuthenticatedLayout 개선
- 각 모듈 actions.ts 에러 핸들링 개선
- API fetch-wrapper, refresh-token 로직 개선
- ReceivablesStatus 컴포넌트 업데이트
- globals.css 스타일 업데이트
- 기타 다수 컴포넌트 수정
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
이슈 #3: 상세 견적서 담당자/연락처 표시
이슈 #4: 품목내역 올바른 단위 표시
주요 변경:
- QuoteDocument.tsx: 품목별 unit 필드 사용하여 올바른 단위 표시
- QuoteRegistration.tsx: manager, contact, remarks 필드 폼에 반영