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

@@ -19,6 +19,7 @@ import { DatePicker } from '@/components/ui/date-picker';
import { Label } from '@/components/ui/label';
import { Badge } from '@/components/ui/badge';
import { getPresetStyle } from '@/lib/utils/status-config';
import { formatNumber } from '@/lib/utils/amount';
import { Checkbox } from '@/components/ui/checkbox';
import {
Select,
@@ -212,8 +213,7 @@ export function PriceDistributionDetail({ id, mode: propMode }: Props) {
// 금액 포맷
const formatPrice = (price?: number) => {
if (price === undefined || price === null) return '-';
return price.toLocaleString();
return formatNumber(price);
};
if (isLoading) {

View File

@@ -11,6 +11,7 @@
import { DocumentViewer } from '@/components/document-system/viewer/DocumentViewer';
import { DocumentHeader } from '@/components/document-system/components/DocumentHeader';
import { ConstructionApprovalTable } from '@/components/document-system/components/ConstructionApprovalTable';
import { formatNumber } from '@/lib/utils/amount';
import type { PriceDistributionDetail } from './types';
interface Props {
@@ -132,7 +133,7 @@ export function PriceDistributionDocumentModal({ open, onOpenChange, detail }: P
<td className="border border-gray-300 px-3 py-2 text-center">-</td>
<td className="border border-gray-300 px-3 py-2 text-center">{item.unit}</td>
<td className="border border-gray-300 px-3 py-2 text-right font-mono">
{item.salesPrice.toLocaleString()}
{formatNumber(item.salesPrice)}
</td>
</tr>
))}