import { Checkbox } from "@/components/ui/checkbox" import { Badge } from "@/components/ui/badge" import { type ColumnDef } from "@tanstack/react-table" import { DataTableColumnHeaderSimple } from "@/components/data-table/data-table-column-simple-header" import type { AvlDetailItem } from "../types" // 테이블 컬럼 정의 export const columns: ColumnDef[] = [ { header: "기본 정보", columns: [ { accessorKey: "no", header: ({ column }) => ( ), size: 60, meta: { excelHeader: "No.", }, }, { accessorKey: "equipBulkDivision", header: ({ column }) => ( ), cell: ({ row }) => { const value = row.getValue("equipBulkDivision") as string return ( {value || "-"} ) }, size: 120, meta: { excelHeader: "Equip/Bulk 구분", }, }, { accessorKey: "disciplineName", header: ({ column }) => ( ), cell: ({ row }) => { const value = row.getValue("disciplineName") as string return {value || "-"} }, size: 120, meta: { excelHeader: "설계공종", }, }, { accessorKey: "materialNameCustomerSide", header: ({ column }) => ( ), cell: ({ row }) => { const value = row.getValue("materialNameCustomerSide") as string return {value || "-"} }, size: 150, meta: { excelHeader: "고객사 AVL 자재명", }, }, { accessorKey: "packageName", header: ({ column }) => ( ), cell: ({ row }) => { const value = row.getValue("packageName") as string return {value || "-"} }, size: 130, meta: { excelHeader: "패키지 정보", }, }, { accessorKey: "materialGroupCode", header: ({ column }) => ( ), cell: ({ row }) => { const value = row.getValue("materialGroupCode") as string return {value || "-"} }, size: 120, meta: { excelHeader: "자재그룹코드", }, }, { accessorKey: "materialGroupName", header: ({ column }) => ( ), cell: ({ row }) => { const value = row.getValue("materialGroupName") as string return {value || "-"} }, size: 130, meta: { excelHeader: "자재그룹명", }, }, { accessorKey: "vendorCode", header: ({ column }) => ( ), cell: ({ row }) => { const value = row.getValue("vendorCode") as string return {value || "-"} }, size: 120, meta: { excelHeader: "협력업체코드", }, }, { accessorKey: "vendorName", header: ({ column }) => ( ), cell: ({ row }) => { const value = row.getValue("vendorName") as string return {value || "-"} }, size: 140, meta: { excelHeader: "협력업체명", }, }, { accessorKey: "avlVendorName", header: ({ column }) => ( ), cell: ({ row }) => { const value = row.getValue("avlVendorName") as string return {value || "-"} }, size: 140, meta: { excelHeader: "AVL 등재업체명", }, }, { accessorKey: "tier", header: ({ column }) => ( ), cell: ({ row }) => { const value = row.getValue("tier") as string if (!value) return - const tierColor = { "Tier 1": "bg-green-100 text-green-800", "Tier 2": "bg-yellow-100 text-yellow-800", "Tier 3": "bg-red-100 text-red-800" }[value] || "bg-gray-100 text-gray-800" return ( {value} ) }, size: 100, meta: { excelHeader: "등급 (Tier)", }, }, ], }, // FA 정보 그룹 { header: "FA 정보", columns: [ { accessorKey: "faTarget", header: ({ column }) => ( ), cell: ({ row }) => { const value = row.getValue("faTarget") as boolean return ( {value ? "대상" : "비대상"} ) }, size: 80, meta: { excelHeader: "FA 대상", }, }, { accessorKey: "faStatus", header: ({ column }) => ( ), cell: ({ row }) => { const value = row.getValue("faStatus") as string return {value || "-"} }, size: 100, meta: { excelHeader: "FA 현황", }, }, ], }, // SHI Qualification 그룹 { header: "SHI Qualification", columns: [ { accessorKey: "shiAvl", header: "AVL", cell: ({ row }) => { const value = row.getValue("shiAvl") as boolean return ( ) }, size: 80, meta: { excelHeader: "AVL", }, }, { accessorKey: "shiBlacklist", header: "Blacklist", cell: ({ row }) => { const value = row.getValue("shiBlacklist") as boolean return ( ) }, size: 100, meta: { excelHeader: "Blacklist", }, }, { accessorKey: "shiBcc", header: "BCC", cell: ({ row }) => { const value = row.getValue("shiBcc") as boolean return ( ) }, size: 80, meta: { excelHeader: "BCC", }, }, ], }, ]