diff options
| author | joonhoekim <26rote@gmail.com> | 2025-09-02 08:44:17 +0000 |
|---|---|---|
| committer | joonhoekim <26rote@gmail.com> | 2025-09-02 08:44:17 +0000 |
| commit | 8da223a416ec7d2be5743f312ed1d8c6d64949e2 (patch) | |
| tree | 6333679b326e3508913774f3d5afaabca1f4f198 /lib/material/vendor-material/columns.tsx | |
| parent | 6eb06a925811cfefb34b6c286f6bdfe2f214ac2b (diff) | |
(김준회) 협력업체 관리 메뉴에서, 공급품목(패키지) 제거, MDG 자재마스터 기반 벤더별 공급품목 메뉴 구현 (정의서+강미경프로 요구대로 구현)
Diffstat (limited to 'lib/material/vendor-material/columns.tsx')
| -rw-r--r-- | lib/material/vendor-material/columns.tsx | 154 |
1 files changed, 154 insertions, 0 deletions
diff --git a/lib/material/vendor-material/columns.tsx b/lib/material/vendor-material/columns.tsx new file mode 100644 index 00000000..8f706d63 --- /dev/null +++ b/lib/material/vendor-material/columns.tsx @@ -0,0 +1,154 @@ +"use client"; + +import { ColumnDef } from "@tanstack/react-table"; +import { DataTableColumnHeaderSimple } from "@/components/data-table/data-table-column-simple-header"; +import { VendorPossibleMaterial } from "../vendor-possible-material-service"; +import { formatDate } from "@/lib/utils"; + +// 확정정보 테이블 컬럼 +export const confirmedMaterialsColumns: ColumnDef<VendorPossibleMaterial>[] = [ + { + accessorKey: "vendorTypeNameEn", + header: ({ column }) => ( + <DataTableColumnHeaderSimple column={column} title="업체유형" /> + ), + cell: ({ row }) => { + const vendorTypeNameEn = row.getValue("vendorTypeNameEn") as string; + return <span>{vendorTypeNameEn || "-"}</span>; + }, + }, + { + accessorKey: "itemCode", + header: ({ column }) => ( + <DataTableColumnHeaderSimple column={column} title="자재그룹" /> + ), + cell: ({ row }) => { + const itemCode = row.getValue("itemCode") as string; + return <span className="font-mono">{itemCode || "-"}</span>; + }, + }, + { + accessorKey: "itemName", + header: ({ column }) => ( + <DataTableColumnHeaderSimple column={column} title="자재그룹명" /> + ), + cell: ({ row }) => { + const itemName = row.getValue("itemName") as string; + return <span>{itemName || "-"}</span>; + }, + }, + { + accessorKey: "recentPoNo", + header: ({ column }) => ( + <DataTableColumnHeaderSimple column={column} title="최근 Po No." /> + ), + cell: ({ row }) => { + const recentPoNo = row.getValue("recentPoNo") as string; + return <span className="font-mono">{recentPoNo || "-"}</span>; + }, + }, + { + accessorKey: "recentPoDate", + header: ({ column }) => ( + <DataTableColumnHeaderSimple column={column} title="최근 Po일" /> + ), + cell: ({ row }) => { + const date = row.getValue("recentPoDate") as Date; + return <span>{date ? formatDate(date) : "-"}</span>; + }, + }, + { + accessorKey: "recentDeliveryDate", + header: ({ column }) => ( + <DataTableColumnHeaderSimple column={column} title="최근 납품일" /> + ), + cell: ({ row }) => { + const date = row.getValue("recentDeliveryDate") as Date; + return <span>{date ? formatDate(date) : "-"}</span>; + }, + }, + { + accessorKey: "createdAt", + header: ({ column }) => ( + <DataTableColumnHeaderSimple column={column} title="등록일" /> + ), + cell: ({ row }) => { + const date = row.getValue("createdAt") as Date; + return <span>{formatDate(date)}</span>; + }, + }, + { + accessorKey: "registerUserName", + header: ({ column }) => ( + <DataTableColumnHeaderSimple column={column} title="등록자명" /> + ), + cell: ({ row }) => { + const userName = row.getValue("registerUserName") as string; + return <span>{userName || "-"}</span>; + }, + }, + { + accessorKey: "recentOrderDate", + header: ({ column }) => ( + <DataTableColumnHeaderSimple column={column} title="최근발주일" /> + ), + cell: ({ row }) => { + const date = row.getValue("recentOrderDate") as Date; + return <span>{date ? formatDate(date) : "-"}</span>; + }, + }, +]; + +// 업체입력정보 테이블 컬럼 +export const vendorInputMaterialsColumns: ColumnDef<VendorPossibleMaterial>[] = [ + { + accessorKey: "vendorTypeNameEn", + header: ({ column }) => ( + <DataTableColumnHeaderSimple column={column} title="업체유형" /> + ), + cell: ({ row }) => { + const vendorTypeNameEn = row.getValue("vendorTypeNameEn") as string; + return <span>{vendorTypeNameEn || "-"}</span>; + }, + }, + { + accessorKey: "itemCode", + header: ({ column }) => ( + <DataTableColumnHeaderSimple column={column} title="자재그룹" /> + ), + cell: ({ row }) => { + const itemCode = row.getValue("itemCode") as string; + return <span className="font-mono">{itemCode || "-"}</span>; + }, + }, + { + accessorKey: "itemName", + header: ({ column }) => ( + <DataTableColumnHeaderSimple column={column} title="자재그룹명" /> + ), + cell: ({ row }) => { + const itemName = row.getValue("itemName") as string; + return <span>{itemName || "-"}</span>; + }, + }, + { + accessorKey: "createdAt", + header: ({ column }) => ( + <DataTableColumnHeaderSimple column={column} title="등록일" /> + ), + cell: ({ row }) => { + const date = row.getValue("createdAt") as Date; + return <span>{formatDate(date)}</span>; + }, + }, + { + accessorKey: "registerUserName", + header: ({ column }) => ( + <DataTableColumnHeaderSimple column={column} title="등록자명" /> + ), + cell: ({ row }) => { + const userName = row.getValue("registerUserName") as string; + return <span>{userName || "-"}</span>; + }, + }, +]; |
