From 2650b7c0bb0ea12b68a58c0439f72d61df04b2f1 Mon Sep 17 00:00:00 2001 From: dujinkim Date: Fri, 25 Jul 2025 07:51:15 +0000 Subject: (대표님) 정기평가 대상, 미들웨어 수정, nextauth 토큰 처리 개선, GTC 등 (최겸) 기술영업 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../table/possible-items-table-toolbar-actions.tsx | 247 ++++++++++----------- 1 file changed, 119 insertions(+), 128 deletions(-) (limited to 'lib/tech-vendor-possible-items/table/possible-items-table-toolbar-actions.tsx') diff --git a/lib/tech-vendor-possible-items/table/possible-items-table-toolbar-actions.tsx b/lib/tech-vendor-possible-items/table/possible-items-table-toolbar-actions.tsx index dc67221f..2914fb9c 100644 --- a/lib/tech-vendor-possible-items/table/possible-items-table-toolbar-actions.tsx +++ b/lib/tech-vendor-possible-items/table/possible-items-table-toolbar-actions.tsx @@ -2,152 +2,143 @@ import * as React from "react"; import { type Table } from "@tanstack/react-table"; -import { Download, Upload, FileSpreadsheet, Plus } from "lucide-react"; +// import { Plus } from "lucide-react"; -import { Button } from "@/components/ui/button"; -import { Input } from "@/components/ui/input"; -import { useToast } from "@/hooks/use-toast"; -import { AddPossibleItemDialog } from "./add-possible-item-dialog"; -import { DeletePossibleItemsDialog } from "./delete-possible-items-dialog"; -// Excel 함수들을 동적 import로만 사용하기 위해 타입만 import -type TechVendorPossibleItemsData = { - id: number; - vendorId: number; - vendorCode: string | null; - vendorName: string; - techVendorType: string; - itemCode: string; - itemList: string | null; - workType: string | null; - shipTypes: string | null; - subItemList: string | null; - createdAt: Date; - updatedAt: Date; -}; +// import { Button } from "@/components/ui/button"; +// import { Input } from "@/components/ui/input"; // 주석처리 (Excel 기능 사용 안함) +// import { useToast } from "@/hooks/use-toast"; // 주석처리 (Excel 기능 사용 안함) +// import { AddPossibleItemDialog } from "./add-possible-item-dialog"; +// import { DeletePossibleItemsDialog } from "./delete-possible-items-dialog"; +// 새로운 스키마에 맞는 타입 import +import type { TechVendorPossibleItemsData } from "../service"; interface PossibleItemsTableToolbarActionsProps { table: Table; } export function PossibleItemsTableToolbarActions({ - table, + // table, }: PossibleItemsTableToolbarActionsProps) { - const { toast } = useToast(); + // const { toast } = useToast(); // 주석처리 (Excel 기능 사용 안함) - const selectedRows = table.getFilteredSelectedRowModel().rows; - const hasSelection = selectedRows.length > 0; - const selectedItems = selectedRows.map(row => row.original); + // const selectedRows = table.getFilteredSelectedRowModel().rows; + // const hasSelection = selectedRows.length > 0; + // const selectedItems = selectedRows.map(row => row.original); - const handleSuccess = () => { - table.toggleAllRowsSelected(false); - // 페이지 새로고침이나 데이터 다시 로드 필요 - window.location.reload(); - }; + // const handleSuccess = () => { + // table.toggleAllRowsSelected(false); + // // 페이지 새로고침이나 데이터 다시 로드 필요 + // window.location.reload(); + // }; - const handleExport = async () => { - try { - const { exportTechVendorPossibleItemsToExcel } = await import("./excel-export"); - const result = await exportTechVendorPossibleItemsToExcel(table.getFilteredRowModel().rows.map(row => row.original)); - - if (result.success) { - toast({ - title: "성공", - description: "Excel 파일이 다운로드되었습니다.", - }); - } else { - toast({ - title: "오류", - description: result.error || "내보내기 중 오류가 발생했습니다.", - variant: "destructive", - }); - } - } catch (error) { - console.error("Export error:", error); - toast({ - title: "오류", - description: "내보내기 중 오류가 발생했습니다.", - variant: "destructive", - }); - } - }; + // Excel Export 함수 주석처리 (새 스키마에서 사용하지 않음) + // const handleExport = async () => { + // try { + // const { exportTechVendorPossibleItemsToExcel } = await import("./excel-export"); + // const result = await exportTechVendorPossibleItemsToExcel(table.getFilteredRowModel().rows.map(row => row.original)); + // + // if (result.success) { + // toast({ + // title: "성공", + // description: "Excel 파일이 다운로드되었습니다.", + // }); + // } else { + // toast({ + // title: "오류", + // description: result.error || "내보내기 중 오류가 발생했습니다.", + // variant: "destructive", + // }); + // } + // } catch (error) { + // console.error("Export error:", error); + // toast({ + // title: "오류", + // description: "내보내기 중 오류가 발생했습니다.", + // variant: "destructive", + // }); + // } + // }; - const handleImport = async (event: React.ChangeEvent) => { - const file = event.target.files?.[0]; - if (!file) return; + // Excel Import 함수 주석처리 (새 스키마에서 사용하지 않음) + // const handleImport = async (event: React.ChangeEvent) => { + // const file = event.target.files?.[0]; + // if (!file) return; - try { - const { importTechVendorPossibleItemsFromExcel } = await import("./excel-import"); - const result = await importTechVendorPossibleItemsFromExcel(file); - - if (result.success) { - toast({ - title: "성공", - description: `${result.successCount}개의 아이템이 가져와졌습니다.`, - }); - // 페이지 새로고침이나 데이터 다시 로드 필요 - window.location.reload(); - } else { - toast({ - title: "가져오기 완료", - description: `${result.successCount}개 성공, ${result.failedRows.length}개 실패`, - variant: result.successCount > 0 ? "default" : "destructive", - }); - } - } catch (error) { - console.error("Import error:", error); - toast({ - title: "오류", - description: "가져오기 중 오류가 발생했습니다.", - variant: "destructive", - }); - } + // try { + // const { importTechVendorPossibleItemsFromExcel } = await import("./excel-import"); + // const result = await importTechVendorPossibleItemsFromExcel(file); + // + // if (result.success) { + // toast({ + // title: "성공", + // description: `${result.successCount}개의 아이템이 가져와졌습니다.`, + // }); + // // 페이지 새로고침이나 데이터 다시 로드 필요 + // window.location.reload(); + // } else { + // toast({ + // title: "가져오기 완료", + // description: `${result.successCount}개 성공, ${result.failedRows.length}개 실패`, + // variant: result.successCount > 0 ? "default" : "destructive", + // }); + // } + // } catch (error) { + // console.error("Import error:", error); + // toast({ + // title: "오류", + // description: "가져오기 중 오류가 발생했습니다.", + // variant: "destructive", + // }); + // } - // Reset input - event.target.value = ""; - }; + // // Reset input + // event.target.value = ""; + // }; - const handleDownloadTemplate = async () => { - try { - const { exportTechVendorPossibleItemsTemplate } = await import("./excel-template"); - const result = await exportTechVendorPossibleItemsTemplate(); - if (result.success) { - toast({ - title: "성공", - description: "템플릿 파일이 다운로드되었습니다.", - }); - } else { - toast({ - title: "오류", - description: result.error || "템플릿 다운로드 중 오류가 발생했습니다.", - variant: "destructive", - }); - } - } catch (error) { - console.error("Template download error:", error); - toast({ - title: "오류", - description: "템플릿 다운로드 중 오류가 발생했습니다.", - variant: "destructive", - }); - } - }; + // Excel Template 함수 주석처리 (새 스키마에서 사용하지 않음) + // const handleDownloadTemplate = async () => { + // try { + // const { exportTechVendorPossibleItemsTemplate } = await import("./excel-template"); + // const result = await exportTechVendorPossibleItemsTemplate(); + // if (result.success) { + // toast({ + // title: "성공", + // description: "템플릿 파일이 다운로드되었습니다.", + // }); + // } else { + // toast({ + // title: "오류", + // description: result.error || "템플릿 다운로드 중 오류가 발생했습니다.", + // variant: "destructive", + // }); + // } + // } catch (error) { + // console.error("Template download error:", error); + // toast({ + // title: "오류", + // description: "템플릿 다운로드 중 오류가 발생했습니다.", + // variant: "destructive", + // }); + // } + // }; return (
- {hasSelection && ( - - )} - - - + {/* {hasSelection && ( */} + {/* // + // )} + // + // + // - + */}
); } \ No newline at end of file -- cgit v1.2.3