diff options
| author | dujinkim <dujin.kim@dtsolution.co.kr> | 2025-07-10 09:55:45 +0000 |
|---|---|---|
| committer | dujinkim <dujin.kim@dtsolution.co.kr> | 2025-07-10 09:55:45 +0000 |
| commit | c657ef972feeafff16ab0e07cb4771f7dd141ba0 (patch) | |
| tree | befabd884b00d3cc632c628b3e3810f61cc9f38d /lib/evaluation-target-list/table/evaluation-targets-columns.tsx | |
| parent | b8a03c9d130435a71c5d6217d06ccb0beb9697e5 (diff) | |
(대표님) 20250710 작업사항 - 평가 첨부, 로그인, SEDP 변경 요구사항 반영
Diffstat (limited to 'lib/evaluation-target-list/table/evaluation-targets-columns.tsx')
| -rw-r--r-- | lib/evaluation-target-list/table/evaluation-targets-columns.tsx | 66 |
1 files changed, 56 insertions, 10 deletions
diff --git a/lib/evaluation-target-list/table/evaluation-targets-columns.tsx b/lib/evaluation-target-list/table/evaluation-targets-columns.tsx index 60f1af39..c3aa9d71 100644 --- a/lib/evaluation-target-list/table/evaluation-targets-columns.tsx +++ b/lib/evaluation-target-list/table/evaluation-targets-columns.tsx @@ -16,7 +16,7 @@ interface GetColumnsProps { } // ✅ 모든 헬퍼 함수들을 컴포넌트 외부로 이동 -const getStatusBadgeVariant = (status: string) => { +export const getStatusBadgeVariant = (status: string) => { switch (status) { case "PENDING": return "secondary"; case "CONFIRMED": return "default"; @@ -43,14 +43,14 @@ const getDivisionBadge = (division: string) => { ); }; -const getMaterialTypeBadge = (materialType: string) => { +export const getMaterialTypeBadge = (materialType: string) => { return <Badge variant="outline">{vendortypeMap[materialType] || materialType}</Badge>; }; const getDomesticForeignBadge = (domesticForeign: string) => { return ( <Badge variant={domesticForeign === "DOMESTIC" ? "default" : "secondary"}> - {domesticForeign === "DOMESTIC" ? "내자" : "외자"} + {domesticForeign === "DOMESTIC" ? "D" : "F"} </Badge> ); }; @@ -72,6 +72,16 @@ const getEvaluationTargetBadge = (isTarget: boolean | null) => { ); }; +const getStatusLabel = (status: string) => { + const statusMap = { + PENDING: "미확정", + EXCLUDED: "제외", + CONFIRMED: "확정" + }; + return statusMap[status] || status; +}; + + // ✅ 모든 cell 렌더러 함수들을 미리 정의 (매번 새로 생성 방지) const renderEvaluationYear = ({ row }: any) => ( <span className="font-medium">{row.getValue("evaluationYear")}</span> @@ -83,7 +93,7 @@ const renderStatus = ({ row }: any) => { const status = row.getValue<string>("status"); return ( <Badge variant={getStatusBadgeVariant(status)}> - {status} + {getStatusLabel(status)} </Badge> ); }; @@ -213,12 +223,7 @@ function createStaticColumns(setRowAction: GetColumnsProps['setRowAction']): Col cell: renderStatus, size: 100, }, - { - accessorKey: "consensusStatus", - header: createHeaderRenderer("의견 일치"), - cell: renderConsensusStatus, - size: 100, - }, + // 벤더 정보 { @@ -252,6 +257,47 @@ function createStaticColumns(setRowAction: GetColumnsProps['setRowAction']): Col ] }, + { + accessorKey: "consensusStatus", + header: createHeaderRenderer("의견 일치"), + cell: renderConsensusStatus, + size: 100, + }, + + { + id: "claim", + header: "L/D, Claim", + columns:[ + { + accessorKey: "ldClaimCount", + header: ({ column }) => <DataTableColumnHeaderSimple column={column} title="건수" />, + cell: ({ row }) => ( + <span className="text-sm">{row.original.ldClaimCount}</span> + ), + size: 80, + }, + + { + accessorKey: "ldClaimAmount", + header: ({ column }) => <DataTableColumnHeaderSimple column={column} title="금액" />, + cell: ({ row }) => ( + <span className="font-mono text-sm">{(Number(row.original.ldClaimAmount).toLocaleString())}</span> + ), + size: 80, + }, + { + accessorKey: "ldClaimCurrency", + header: ({ column }) => <DataTableColumnHeaderSimple column={column} title="단위" />, + + cell: ({ row }) => ( + <span className="text-sm">{row.original.ldClaimCurrency}</span> + ), + size: 80, + }, + ] + + }, + // 발주 담당자 { id: "orderReviewer", |
