feat(WEB): 견적 시스템 개선, 엑셀 다운로드, PDF 생성 기능 추가

견적 시스템:
- 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>
This commit is contained in:
유병철
2026-01-27 19:49:03 +09:00
parent c4644489e7
commit afd7bda269
35 changed files with 3493 additions and 946 deletions

View File

@@ -16,7 +16,7 @@ export const DOCUMENT_PRESETS: Record<PresetType, PresetConfig> = {
print: true,
download: true,
},
actions: ['print', 'download'],
actions: ['pdf', 'print', 'download'],
},
// 건설 프로젝트용 (CRUD)
@@ -27,7 +27,7 @@ export const DOCUMENT_PRESETS: Record<PresetType, PresetConfig> = {
print: true,
download: false,
},
actions: ['edit', 'delete', 'print'],
actions: ['edit', 'delete', 'pdf', 'print'],
},
// 결재 문서용 (기본)
@@ -38,7 +38,7 @@ export const DOCUMENT_PRESETS: Record<PresetType, PresetConfig> = {
print: true,
download: false,
},
actions: ['edit', 'submit', 'print'],
actions: ['edit', 'submit', 'pdf', 'print'],
},
// 결재 문서용 - 기안함 모드 (임시저장 상태: 복제, 상신, 인쇄)
@@ -49,7 +49,7 @@ export const DOCUMENT_PRESETS: Record<PresetType, PresetConfig> = {
print: true,
download: false,
},
actions: ['copy', 'submit', 'print'],
actions: ['copy', 'submit', 'pdf', 'print'],
},
// 결재 문서용 - 결재함 모드 (수정, 반려, 승인, 인쇄)
@@ -60,7 +60,7 @@ export const DOCUMENT_PRESETS: Record<PresetType, PresetConfig> = {
print: true,
download: false,
},
actions: ['edit', 'reject', 'approve', 'print'],
actions: ['edit', 'reject', 'approve', 'pdf', 'print'],
},
// 조회 전용
@@ -71,7 +71,7 @@ export const DOCUMENT_PRESETS: Record<PresetType, PresetConfig> = {
print: true,
download: false,
},
actions: ['print'],
actions: ['pdf', 'print'],
},
// 견적서/문서 전송용 (PDF, 이메일, 팩스, 카카오톡, 인쇄)