From bac0228d21b7195065e9cddcc327ae33659c7bcc Mon Sep 17 00:00:00 2001 From: dujinkim Date: Sun, 1 Jun 2025 13:52:21 +0000 Subject: (대표님) 20250601까지 작업사항 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../table/enhanced-doc-table-columns.tsx | 114 +++++++++++++++++++-- 1 file changed, 103 insertions(+), 11 deletions(-) (limited to 'lib/vendor-document-list/table/enhanced-doc-table-columns.tsx') diff --git a/lib/vendor-document-list/table/enhanced-doc-table-columns.tsx b/lib/vendor-document-list/table/enhanced-doc-table-columns.tsx index 534a80a0..c8487d82 100644 --- a/lib/vendor-document-list/table/enhanced-doc-table-columns.tsx +++ b/lib/vendor-document-list/table/enhanced-doc-table-columns.tsx @@ -30,7 +30,9 @@ import { FileText, Eye, Edit, - Trash2 + Trash2, + Building, + Code } from "lucide-react" import { cn } from "@/lib/utils" @@ -140,7 +142,11 @@ export function getUpdatedEnhancedColumns({ setRowAction, projectType }: GetColumnsProps): ColumnDef[] { - return [ + const isPlantProject = projectType === "plant" + + + // 기본 컬럼들 + const baseColumns: ColumnDef[] = [ // 체크박스 선택 { id: "select", @@ -177,13 +183,8 @@ export function getUpdatedEnhancedColumns({ cell: ({ row }) => { const doc = row.original return ( -
{/* ✅ items-start 추가 */} +
{doc.docNumber} - {/* {doc.currentStagePriority && ( - - {getPriorityText(doc.currentStagePriority)} - - )} */}
) }, @@ -193,7 +194,93 @@ export function getUpdatedEnhancedColumns({ excelHeader: "문서번호" }, }, + ] + // ✅ Ship 프로젝트용 추가 컬럼들 + const plantColumns: ColumnDef[] = isPlantProject ? [ + // 벤더 문서번호 + { + accessorKey: "vendorDocNumber", + header: ({ column }) => ( + + ), + cell: ({ row }) => { + const doc = row.original + return ( +
+ {doc.vendorDocNumber ? ( + {doc.vendorDocNumber} + ) : ( + - + )} +
+ ) + }, + size: 120, + enableResizing: true, + meta: { + excelHeader: "벤더 문서번호" + }, + }, + + // 프로젝트 코드 + { + accessorKey: "projectCode", + header: ({ column }) => ( + + ), + cell: ({ row }) => { + const doc = row.original + return ( +
+ {/* */} + + {doc.projectCode || '-'} + +
+ ) + }, + size: 100, + enableResizing: true, + meta: { + excelHeader: "프로젝트 코드" + }, + }, + + // 벤더 정보 + { + accessorKey: "vendorName", + header: ({ column }) => ( + + ), + cell: ({ row }) => { + const doc = row.original + return ( +
+
+ {/* */} + + {doc.vendorName || '-'} + +
+ {doc.vendorCode && ( + + {doc.vendorCode} + + )} +
+ ) + }, + size: 150, + enableResizing: true, + meta: { + excelHeader: "벤더명" + }, + }, + ] : [] + + // 나머지 공통 컬럼들 + const commonColumns: ColumnDef[] = [ // 문서명 + 담당자 { accessorKey: "title", @@ -223,7 +310,7 @@ export function getUpdatedEnhancedColumns({
) }, - size: 250, + size: isPlantProject ? 200 : 250, // Ship 프로젝트일 때는 너비 조정 enableResizing: true, meta: { excelHeader: "문서명" @@ -341,7 +428,6 @@ export function getUpdatedEnhancedColumns({ return (
{doc.latestRevision} - {/*
{doc.latestRevisionUploaderName}
*/} {doc.latestRevisionStatus && ( {getStatusText(doc.latestRevisionStatus)} @@ -380,7 +466,6 @@ export function getUpdatedEnhancedColumns({ }, }, - // 액션 메뉴 // 액션 메뉴 { id: "actions", @@ -532,6 +617,13 @@ export function getUpdatedEnhancedColumns({ size: 40, } ] + + // ✅ 모든 컬럼을 순서대로 결합 + return [ + ...baseColumns, // 체크박스, 문서번호 + ...plantColumns, // Ship 전용 컬럼들 (조건부) + ...commonColumns // 나머지 공통 컬럼들 + ] } // 확장된 행 컨텐츠 컴포넌트 (업데이트된 버전) -- cgit v1.2.3