"use client" import * as React from "react" import { useForm } from "react-hook-form" import { zodResolver } from "@hookform/resolvers/zod" import { Dialog, DialogTrigger, DialogContent, DialogHeader, DialogTitle, DialogDescription, DialogFooter } from "@/components/ui/dialog" import { Button } from "@/components/ui/button" import { Input } from "@/components/ui/input" // react-hook-form + shadcn/ui Form import { Form, FormControl, FormField, FormItem, FormLabel, FormMessage, } from "@/components/ui/form" // shadcn/ui Select import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from "@/components/ui/select" import { createItemSchema, CreateItemSchema } from "../validations" import { createItem } from "../service" import { Textarea } from "@/components/ui/textarea" export function AddItemDialog() { const [open, setOpen] = React.useState(false) // react-hook-form 세팅 const form = useForm({ resolver: zodResolver(createItemSchema), defaultValues: { itemCode: "", itemName: "", description: "", parentItemCode: "", itemLevel: 5, // 기본값 5 deleteFlag: "N", // 기본값 N unitOfMeasure: "", steelType: "", gradeMaterial: "", changeDate: "", baseUnitOfMeasure: "", }, }) async function onSubmit(data: CreateItemSchema) { const result = await createItem({ itemCode: data.itemCode, itemName: data.itemName, description: data.description ?? null, parentItemCode: data.parentItemCode ?? null, itemLevel: data.itemLevel ?? null, deleteFlag: data.deleteFlag ?? null, unitOfMeasure: data.unitOfMeasure ?? null, steelType: data.steelType ?? null, gradeMaterial: data.gradeMaterial ?? null, changeDate: data.changeDate ?? null, baseUnitOfMeasure: data.baseUnitOfMeasure ?? null, }) if (result.error) { alert(`에러: ${result.error}`) return } // 성공 시 모달 닫고 폼 리셋 form.reset() setOpen(false) } function handleDialogOpenChange(nextOpen: boolean) { if (!nextOpen) { form.reset() } setOpen(nextOpen) } return ( {/* 모달을 열기 위한 버튼 */} Create New Item 새 Item 정보를 입력하고 Create 버튼을 누르세요. {/* shadcn/ui Form을 이용해 react-hook-form과 연결 */}

※ MDG에서 수신만 하기에 비활성화할 기능입니다.
직접 업로드는 기술영업만 가능

( 자재그룹코드 * )} /> ( 자재그룹명 * )} /> ( 상세