refactor(WEB): 회계/견적/설정/생산 등 전반적 코드 개선 및 공통화 2차

- 회계 모듈 전면 개선: 청구/입금/출금/매입/매출/세금계산서/일반전표/거래처원장 등
- 견적 모듈 금액 포맷/할인/수식/미리보기 등 코드 정리
- 설정 모듈: 계정관리/직급/직책/권한 상세 간소화
- 생산 모듈: 작업지시서/작업자화면/검수 문서 코드 정리
- UniversalListPage 엑셀 다운로드 및 필터 기능 확장
- 대시보드/게시판/수주 등 날짜 유틸 공통화 적용
- claudedocs 문서 인덱스 업데이트

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
유병철
2026-02-20 10:45:47 +09:00
parent 71352923c8
commit f344dc7d00
123 changed files with 877 additions and 789 deletions

View File

@@ -226,15 +226,15 @@ export function QuoteManagementClient({
// 테이블 컬럼
columns: [
{ key: 'rowNumber', label: '번호', className: 'w-[60px] text-center' },
{ key: 'quoteNumber', label: '견적번호', className: 'min-w-[120px]' },
{ key: 'registrationDate', label: '접수일', className: 'w-[100px]' },
{ key: 'status', label: '상태', className: 'w-[80px]' },
{ key: 'productCategory', label: '제품분류', className: 'w-[100px]' },
{ key: 'quantity', label: '수량', className: 'w-[60px] text-center' },
{ key: 'amount', label: '금액', className: 'w-[120px] text-right' },
{ key: 'client', label: '발주처', className: 'min-w-[100px]' },
{ key: 'site', label: '현장명', className: 'min-w-[120px]' },
{ key: 'manager', label: '담당자', className: 'w-[80px]' },
{ key: 'quoteNumber', label: '견적번호', className: 'min-w-[120px]', sortable: true },
{ key: 'registrationDate', label: '접수일', className: 'w-[100px]', sortable: true },
{ key: 'status', label: '상태', className: 'w-[80px]', sortable: true },
{ key: 'productCategory', label: '제품분류', className: 'w-[100px]', sortable: true },
{ key: 'quantity', label: '수량', className: 'w-[60px] text-center', sortable: true },
{ key: 'amount', label: '금액', className: 'w-[120px] text-right', sortable: true },
{ key: 'client', label: '발주처', className: 'min-w-[100px]', sortable: true },
{ key: 'site', label: '현장명', className: 'min-w-[120px]', sortable: true },
{ key: 'manager', label: '담당자', className: 'w-[80px]', sortable: true },
{ key: 'remarks', label: '비고', className: 'min-w-[150px]' },
{ key: 'actions', label: '작업', className: 'w-[100px]' },
],