summaryrefslogtreecommitdiff
path: root/lib/material/vendor-material/columns.tsx
diff options
context:
space:
mode:
authorjoonhoekim <26rote@gmail.com>2025-09-02 08:44:17 +0000
committerjoonhoekim <26rote@gmail.com>2025-09-02 08:44:17 +0000
commit8da223a416ec7d2be5743f312ed1d8c6d64949e2 (patch)
tree6333679b326e3508913774f3d5afaabca1f4f198 /lib/material/vendor-material/columns.tsx
parent6eb06a925811cfefb34b6c286f6bdfe2f214ac2b (diff)
(김준회) 협력업체 관리 메뉴에서, 공급품목(패키지) 제거, MDG 자재마스터 기반 벤더별 공급품목 메뉴 구현 (정의서+강미경프로 요구대로 구현)
Diffstat (limited to 'lib/material/vendor-material/columns.tsx')
-rw-r--r--lib/material/vendor-material/columns.tsx154
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>;
+ },
+ },
+];