summaryrefslogtreecommitdiff
path: root/lib/evaluation-criteria/table/reg-eval-criteria-table-toolbar-actions.tsx
diff options
context:
space:
mode:
authordujinkim <dujin.kim@dtsolution.co.kr>2025-06-27 06:52:38 +0000
committerdujinkim <dujin.kim@dtsolution.co.kr>2025-06-27 06:52:38 +0000
commit3f0fad18483a5c800c79c5e33946d9bb384c10e2 (patch)
treedfb323917a39dbc001c0e87f99bc230f55e7b2a2 /lib/evaluation-criteria/table/reg-eval-criteria-table-toolbar-actions.tsx
parent15b2d4ff61d0339385edd8cc67bf7579fcc2af08 (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.tsx29
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>
);
}