summaryrefslogtreecommitdiff
path: root/lib/items/table/add-items-dialog.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'lib/items/table/add-items-dialog.tsx')
-rw-r--r--lib/items/table/add-items-dialog.tsx203
1 files changed, 194 insertions, 9 deletions
diff --git a/lib/items/table/add-items-dialog.tsx b/lib/items/table/add-items-dialog.tsx
index 2224444c..3f71b437 100644
--- a/lib/items/table/add-items-dialog.tsx
+++ b/lib/items/table/add-items-dialog.tsx
@@ -20,7 +20,6 @@ import {
import {
Select,
SelectContent,
- SelectGroup,
SelectItem,
SelectTrigger,
SelectValue,
@@ -41,11 +40,31 @@ export function AddItemDialog() {
itemCode: "",
itemName: "",
description: "",
+ parentItemCode: "",
+ itemLevel: 5, // 기본값 5
+ deleteFlag: "N", // 기본값 N
+ unitOfMeasure: "",
+ steelType: "",
+ gradeMaterial: "",
+ changeDate: "",
+ baseUnitOfMeasure: "",
},
})
async function onSubmit(data: CreateItemSchema) {
- const result = await createItem(data)
+ 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
@@ -83,16 +102,16 @@ export function AddItemDialog() {
<Form {...form}>
<form onSubmit={form.handleSubmit(onSubmit)}>
<div className="space-y-4 py-4">
-
+ <p className="text-red-500 font-bold text-center">※ MDG에서 수신만 하기에 비활성화할 기능입니다. <br />직접 업로드는 기술영업만 가능</p>
<FormField
control={form.control}
name="itemCode"
render={({ field }) => (
<FormItem>
- <FormLabel>Item Code</FormLabel>
+ <FormLabel>자재그룹코드 *</FormLabel>
<FormControl>
<Input
- placeholder="e.g."
+ placeholder="예: BOLT001"
{...field}
/>
</FormControl>
@@ -105,10 +124,10 @@ export function AddItemDialog() {
name="itemName"
render={({ field }) => (
<FormItem>
- <FormLabel>Item Name</FormLabel>
+ <FormLabel>자재그룹명 *</FormLabel>
<FormControl>
<Input
- placeholder="e.g."
+ placeholder="예: 육각볼트 M8x20"
{...field}
/>
</FormControl>
@@ -122,11 +141,12 @@ export function AddItemDialog() {
name="description"
render={({ field }) => (
<FormItem>
- <FormLabel>Description</FormLabel>
+ <FormLabel>상세</FormLabel>
<FormControl>
<Textarea
- placeholder="e.g."
+ placeholder="예: 표준 육각 볼트 스테인리스 스틸"
{...field}
+ value={field.value || ""}
/>
</FormControl>
<FormMessage />
@@ -134,6 +154,171 @@ export function AddItemDialog() {
)}
/>
+ {/* 2열 레이아웃 */}
+ <div className="grid grid-cols-2 gap-4">
+ <FormField
+ control={form.control}
+ name="itemLevel"
+ render={({ field }) => (
+ <FormItem>
+ <FormLabel>레벨</FormLabel>
+ <FormControl>
+ <Input
+ type="number"
+ min="1"
+ max="5"
+ placeholder="1-5"
+ {...field}
+ value={field.value || ""}
+ onChange={(e) => field.onChange(e.target.value ? parseInt(e.target.value) : null)}
+ />
+ </FormControl>
+ <FormMessage />
+ </FormItem>
+ )}
+ />
+
+ <FormField
+ control={form.control}
+ name="deleteFlag"
+ render={({ field }) => (
+ <FormItem>
+ <FormLabel>삭제 플래그</FormLabel>
+ <FormControl>
+ <Select onValueChange={field.onChange} defaultValue={field.value || "N"}>
+ <SelectTrigger>
+ <SelectValue placeholder="선택" />
+ </SelectTrigger>
+ <SelectContent>
+ <SelectItem value="N">N (사용)</SelectItem>
+ <SelectItem value="Y">Y (삭제)</SelectItem>
+ </SelectContent>
+ </Select>
+ </FormControl>
+ <FormMessage />
+ </FormItem>
+ )}
+ />
+ </div>
+
+ <div className="grid grid-cols-2 gap-4">
+ <FormField
+ control={form.control}
+ name="parentItemCode"
+ render={({ field }) => (
+ <FormItem>
+ <FormLabel>부모 아이템 코드</FormLabel>
+ <FormControl>
+ <Input
+ placeholder="예: BOLT001"
+ {...field}
+ value={field.value || ""}
+ />
+ </FormControl>
+ <FormMessage />
+ </FormItem>
+ )}
+ />
+
+ <FormField
+ control={form.control}
+ name="steelType"
+ render={({ field }) => (
+ <FormItem>
+ <FormLabel>강종</FormLabel>
+ <FormControl>
+ <Input
+ placeholder="예: SS, CS, AL"
+ maxLength={2}
+ {...field}
+ value={field.value || ""}
+ />
+ </FormControl>
+ <FormMessage />
+ </FormItem>
+ )}
+ />
+ </div>
+
+ <div className="grid grid-cols-2 gap-4">
+ <FormField
+ control={form.control}
+ name="unitOfMeasure"
+ render={({ field }) => (
+ <FormItem>
+ <FormLabel>단위</FormLabel>
+ <FormControl>
+ <Input
+ placeholder="예: EA, SET, KG"
+ maxLength={3}
+ {...field}
+ value={field.value || ""}
+ />
+ </FormControl>
+ <FormMessage />
+ </FormItem>
+ )}
+ />
+
+ <FormField
+ control={form.control}
+ name="baseUnitOfMeasure"
+ render={({ field }) => (
+ <FormItem>
+ <FormLabel>기본단위</FormLabel>
+ <FormControl>
+ <Input
+ placeholder="예: EA, SET, KG"
+ maxLength={3}
+ {...field}
+ value={field.value || ""}
+ />
+ </FormControl>
+ <FormMessage />
+ </FormItem>
+ )}
+ />
+ </div>
+
+ <div className="grid grid-cols-2 gap-4">
+ <FormField
+ control={form.control}
+ name="gradeMaterial"
+ render={({ field }) => (
+ <FormItem>
+ <FormLabel>등급 재질</FormLabel>
+ <FormControl>
+ <Input
+ placeholder="예: Marine Grade A"
+ {...field}
+ value={field.value || ""}
+ />
+ </FormControl>
+ <FormMessage />
+ </FormItem>
+ )}
+ />
+
+ <FormField
+ control={form.control}
+ name="changeDate"
+ render={({ field }) => (
+ <FormItem>
+ <FormLabel>변경일자</FormLabel>
+ <FormControl>
+ <Input
+ placeholder="YYYYMMDD"
+ maxLength={8}
+ {...field}
+ value={field.value || ""}
+ />
+ </FormControl>
+ <FormMessage />
+ </FormItem>
+ )}
+ />
+ </div>
+
</div>
<DialogFooter>