diff options
| author | dujinkim <dujin.kim@dtsolution.co.kr> | 2025-06-27 06:52:38 +0000 |
|---|---|---|
| committer | dujinkim <dujin.kim@dtsolution.co.kr> | 2025-06-27 06:52:38 +0000 |
| commit | 3f0fad18483a5c800c79c5e33946d9bb384c10e2 (patch) | |
| tree | dfb323917a39dbc001c0e87f99bc230f55e7b2a2 /lib/evaluation-criteria/table/reg-eval-criteria-table-toolbar-actions.tsx | |
| parent | 15b2d4ff61d0339385edd8cc67bf7579fcc2af08 (diff) | |
(최겸) 협력업체 평가기준표 excel 기능 수정
Diffstat (limited to 'lib/evaluation-criteria/table/reg-eval-criteria-table-toolbar-actions.tsx')
| -rw-r--r-- | lib/evaluation-criteria/table/reg-eval-criteria-table-toolbar-actions.tsx | 29 |
1 files changed, 25 insertions, 4 deletions
diff --git a/lib/evaluation-criteria/table/reg-eval-criteria-table-toolbar-actions.tsx b/lib/evaluation-criteria/table/reg-eval-criteria-table-toolbar-actions.tsx index b14cb22f..f066fa92 100644 --- a/lib/evaluation-criteria/table/reg-eval-criteria-table-toolbar-actions.tsx +++ b/lib/evaluation-criteria/table/reg-eval-criteria-table-toolbar-actions.tsx @@ -14,8 +14,9 @@ import { } from '@/components/ui/alert-dialog'; import { Button } from '@/components/ui/button'; import { Download, Plus, Trash2, Upload } from 'lucide-react'; -import { exportTableToExcel } from '@/lib/export'; -import { importRegEvalCriteriaExcel, removeRegEvalCriteria } from '../service'; +import { exportRegEvalCriteriaToExcel, exportRegEvalCriteriaTemplate } from '../excel/reg-eval-criteria-excel-export'; +import { importRegEvalCriteriaExcel } from '../excel/reg-eval-criteria-excel-import'; +import { removeRegEvalCriteria } from '../service'; import { toast } from 'sonner'; import { type RegEvalCriteriaView } from '@/db/schema'; import { type Table } from '@tanstack/react-table'; @@ -117,9 +118,9 @@ function RegEvalCriteriaTableToolbarActions(props: RegEvalCriteriaTableToolbarAc }; // Excel Export - const handleExport = () => { + const handleExport = async () => { try { - exportTableToExcel(table, { + await exportRegEvalCriteriaToExcel(table, { filename: 'Regular_Evaluation_Criteria', excludeColumns: ['select', 'actions'], }); @@ -130,6 +131,17 @@ function RegEvalCriteriaTableToolbarActions(props: RegEvalCriteriaTableToolbarAc } }; + // Excel Template Download + const handleTemplateDownload = async () => { + try { + await exportRegEvalCriteriaTemplate(); + toast.success('템플릿 파일이 다운로드되었습니다.'); + } catch (error) { + console.error('Error in Template Download: ', error); + toast.error('템플릿 다운로드 중 오류가 발생했습니다.'); + } + }; + return ( <div className="flex items-center gap-2"> <Button @@ -201,6 +213,15 @@ function RegEvalCriteriaTableToolbarActions(props: RegEvalCriteriaTableToolbarAc <Download className="size-4" aria-hidden="true" /> <span className="hidden sm:inline">Export</span> </Button> + <Button + variant="outline" + size="sm" + onClick={handleTemplateDownload} + className="gap-2" + > + <Download className="size-4" aria-hidden="true" /> + <span className="hidden sm:inline">Template</span> + </Button> </div> ); } |
