diff options
| author | dujinkim <dujin.kim@dtsolution.co.kr> | 2025-07-24 11:06:32 +0000 |
|---|---|---|
| committer | dujinkim <dujin.kim@dtsolution.co.kr> | 2025-07-24 11:06:32 +0000 |
| commit | 1dc24d48e52f2e490f5603ceb02842586ecae533 (patch) | |
| tree | 8fca2c5b5b52cc10557b5ba6e55b937ae3c57cf6 /lib/basic-contract/template/basic-contract-template-columns.tsx | |
| parent | ed0d6fcc98f671280c2ccde797b50693da88152e (diff) | |
(대표님) 정기평가 피드백 반영, 설계 피드백 반영, (최겸) 기술영업 피드백 반영
Diffstat (limited to 'lib/basic-contract/template/basic-contract-template-columns.tsx')
| -rw-r--r-- | lib/basic-contract/template/basic-contract-template-columns.tsx | 41 |
1 files changed, 30 insertions, 11 deletions
diff --git a/lib/basic-contract/template/basic-contract-template-columns.tsx b/lib/basic-contract/template/basic-contract-template-columns.tsx index b7c2fa08..5783ca27 100644 --- a/lib/basic-contract/template/basic-contract-template-columns.tsx +++ b/lib/basic-contract/template/basic-contract-template-columns.tsx @@ -3,7 +3,7 @@ import * as React from "react"
import { type DataTableRowAction } from "@/types/table"
import { type ColumnDef } from "@tanstack/react-table"
-import { Download, Ellipsis, Paperclip, CheckCircle, XCircle, Eye } from "lucide-react"
+import { Download, Ellipsis, Paperclip, CheckCircle, XCircle, Eye, Copy, GitBranch } from "lucide-react"
import { toast } from "sonner"
import { getErrorMessage } from "@/lib/handle-error"
@@ -119,7 +119,13 @@ export function getColumns({ setRowAction, router }: GetColumnsProps): ColumnDef const template = row.original;
const handleViewDetails = () => {
- router.push(`/evcp/basic-contract-template/${template.id}`);
+ // templateName이 "General GTC"인 경우 특별한 라우팅
+ if (template.templateName === "General GTC") {
+ router.push(`/evcp/basic-contract-template/gtc`);
+ } else {
+ // 일반적인 경우는 기존과 동일
+ router.push(`/evcp/basic-contract-template/${template.id}`);
+ }
};
return (
@@ -133,25 +139,34 @@ export function getColumns({ setRowAction, router }: GetColumnsProps): ColumnDef <Ellipsis className="size-4" aria-hidden="true" />
</Button>
</DropdownMenuTrigger>
- <DropdownMenuContent align="end" className="w-40">
+ <DropdownMenuContent align="end" className="w-44">
<DropdownMenuItem onSelect={handleViewDetails}>
<Eye className="mr-2 h-4 w-4" />
View Details
</DropdownMenuItem>
-
+
+ <DropdownMenuSeparator />
+
+ <DropdownMenuItem
+ onSelect={() => setRowAction({ row, type: "createRevision" })}
+ >
+ <GitBranch className="mr-2 h-4 w-4" />
+ 리비전 생성
+ </DropdownMenuItem>
+
<DropdownMenuSeparator />
-
+
<DropdownMenuItem
onSelect={() => setRowAction({ row, type: "update" })}
>
- Edit
+ 수정하기
</DropdownMenuItem>
{template.status === 'ACTIVE' && (
<DropdownMenuItem
onSelect={() => setRowAction({ row, type: "dispose" })}
>
- Dispose
+ 폐기하기
</DropdownMenuItem>
)}
@@ -159,7 +174,7 @@ export function getColumns({ setRowAction, router }: GetColumnsProps): ColumnDef <DropdownMenuItem
onSelect={() => setRowAction({ row, type: "restore" })}
>
- Restore
+ 복구하기
</DropdownMenuItem>
)}
@@ -204,7 +219,7 @@ export function getColumns({ setRowAction, router }: GetColumnsProps): ColumnDef header: ({ column }) => <DataTableColumnHeaderSimple column={column} title="계약문서명" />,
cell: ({ row }) => {
const template = row.original;
-
+
const handleClick = () => {
router.push(`/evcp/basic-contract-template/${template.id}`);
};
@@ -230,10 +245,14 @@ export function getColumns({ setRowAction, router }: GetColumnsProps): ColumnDef cell: ({ row }) => {
const template = row.original;
return (
- <span className="text-xs text-muted-foreground">v{template.revision}</span>
+ <div className="flex items-center gap-2">
+ <Badge variant="outline" className="text-xs">
+ v{template.revision}
+ </Badge>
+ </div>
);
},
- size: 60,
+ size: 80,
enableResizing: true,
},
{
|
