summaryrefslogtreecommitdiff
path: root/lib/approval-line/table
diff options
context:
space:
mode:
Diffstat (limited to 'lib/approval-line/table')
-rw-r--r--lib/approval-line/table/approval-line-table-columns.tsx15
-rw-r--r--lib/approval-line/table/approval-line-table.tsx5
-rw-r--r--lib/approval-line/table/create-approval-line-sheet.tsx17
-rw-r--r--lib/approval-line/table/update-approval-line-sheet.tsx17
4 files changed, 54 insertions, 0 deletions
diff --git a/lib/approval-line/table/approval-line-table-columns.tsx b/lib/approval-line/table/approval-line-table-columns.tsx
index 5b35b92c..a9cf58e1 100644
--- a/lib/approval-line/table/approval-line-table-columns.tsx
+++ b/lib/approval-line/table/approval-line-table-columns.tsx
@@ -68,6 +68,21 @@ export function getColumns({ setRowAction }: GetColumnsProps): ColumnDef<Approva
},
},
{
+ accessorKey: "category",
+ header: ({ column }) => (
+ <DataTableColumnHeader column={column} title="카테고리" />
+ ),
+ cell: ({ row }) => {
+ return (
+ <div className="flex space-x-2">
+ <span className="max-w-[200px] truncate">
+ {row.getValue("category") || "-"}
+ </span>
+ </div>
+ )
+ },
+ },
+ {
accessorKey: "description",
header: ({ column }) => (
<DataTableColumnHeader column={column} title="설명" />
diff --git a/lib/approval-line/table/approval-line-table.tsx b/lib/approval-line/table/approval-line-table.tsx
index 21b9972c..61cddf8b 100644
--- a/lib/approval-line/table/approval-line-table.tsx
+++ b/lib/approval-line/table/approval-line-table.tsx
@@ -47,6 +47,11 @@ export function ApprovalLineTable({ promises }: ApprovalLineTableProps) {
type: 'text',
},
{
+ id: 'category',
+ label: '카테고리',
+ type: 'text',
+ },
+ {
id: 'description',
label: '설명',
type: 'text',
diff --git a/lib/approval-line/table/create-approval-line-sheet.tsx b/lib/approval-line/table/create-approval-line-sheet.tsx
index fdc8cc64..c19d11ab 100644
--- a/lib/approval-line/table/create-approval-line-sheet.tsx
+++ b/lib/approval-line/table/create-approval-line-sheet.tsx
@@ -20,6 +20,7 @@ import {
FormMessage,
} from "@/components/ui/form"
import { Input } from "@/components/ui/input"
+import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select"
import { Textarea } from "@/components/ui/textarea"
import { Separator } from "@/components/ui/separator"
import { toast } from "sonner"
@@ -46,6 +47,7 @@ export function CreateApprovalLineSheet({ open, onOpenChange }: CreateApprovalLi
resolver: zodResolver(ApprovalLineSchema),
defaultValues: {
name: "",
+ category: "",
description: "",
aplns: [
// 기안자는 항상 첫 번째로 고정 (플레이스홀더)
@@ -104,6 +106,7 @@ export function CreateApprovalLineSheet({ open, onOpenChange }: CreateApprovalLi
await createApprovalLine({
name: data.name,
+ category: data.category || undefined,
description: data.description,
aplns: data.aplns,
createdBy: Number(session.user.id),
@@ -150,6 +153,20 @@ export function CreateApprovalLineSheet({ open, onOpenChange }: CreateApprovalLi
<FormField
control={form.control}
+ name="category"
+ render={({ field }) => (
+ <FormItem>
+ <FormLabel>카테고리</FormLabel>
+ <FormControl>
+ <Input placeholder="카테고리를 입력하세요" {...field} />
+ </FormControl>
+ <FormMessage />
+ </FormItem>
+ )}
+ />
+
+ <FormField
+ control={form.control}
name="description"
render={({ field }) => (
<FormItem>
diff --git a/lib/approval-line/table/update-approval-line-sheet.tsx b/lib/approval-line/table/update-approval-line-sheet.tsx
index efc720de..9153eb38 100644
--- a/lib/approval-line/table/update-approval-line-sheet.tsx
+++ b/lib/approval-line/table/update-approval-line-sheet.tsx
@@ -61,6 +61,7 @@ export function UpdateApprovalLineSheet({ open, onOpenChange, line }: UpdateAppr
resolver: zodResolver(ApprovalLineSchema),
defaultValues: {
name: "",
+ category: "",
description: "",
aplns: [],
},
@@ -94,6 +95,7 @@ export function UpdateApprovalLineSheet({ open, onOpenChange, line }: UpdateAppr
form.reset({
name: line.name,
+ category: line.category || "",
description: line.description || "",
aplns: nextAplns as ApprovalLineFormData["aplns"],
});
@@ -140,6 +142,7 @@ export function UpdateApprovalLineSheet({ open, onOpenChange, line }: UpdateAppr
try {
await updateApprovalLine(line.id, {
name: data.name,
+ category: data.category || null,
description: data.description,
aplns: data.aplns,
updatedBy: Number(session.user.id),
@@ -190,6 +193,20 @@ export function UpdateApprovalLineSheet({ open, onOpenChange, line }: UpdateAppr
<FormField
control={form.control}
+ name="category"
+ render={({ field }) => (
+ <FormItem>
+ <FormLabel>카테고리</FormLabel>
+ <FormControl>
+ <Input placeholder="카테고리를 입력하세요" {...field} />
+ </FormControl>
+ <FormMessage />
+ </FormItem>
+ )}
+ />
+
+ <FormField
+ control={form.control}
name="description"
render={({ field }) => (
<FormItem>