diff options
Diffstat (limited to 'lib/approval-line/table')
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> |
