"use client"; import React from "react"; import { ModalRepeaterTableComponent } from "@/lib/registry/components/modal-repeater-table"; import type { RepeaterColumnConfig, CalculationRule, } from "@/lib/registry/components/modal-repeater-table"; /** * 수주 등록 전용 품목 반복 테이블 컴포넌트 * * 이 컴포넌트는 수주 등록 화면 전용이며, 설정이 고정되어 있습니다. * 범용 ModalRepeaterTable과 달리 item_info 테이블만 조회하며, * 수주 등록에 필요한 컬럼과 계산 공식이 미리 설정되어 있습니다. */ interface OrderItemRepeaterTableProps { /** 현재 선택된 품목 목록 */ value: any[]; /** 품목 목록 변경 시 콜백 */ onChange: (items: any[]) => void; /** 비활성화 여부 */ disabled?: boolean; } // 수주 등록 전용 컬럼 설정 (고정) const ORDER_COLUMNS: RepeaterColumnConfig[] = [ { field: "id", label: "품번", editable: false, width: "120px", }, { field: "item_name", label: "품명", editable: false, width: "200px", }, { field: "item_number", label: "품목번호", editable: false, width: "150px", }, { field: "quantity", label: "수량", type: "number", editable: true, required: true, defaultValue: 1, width: "100px", }, { field: "selling_price", label: "단가", type: "number", editable: true, required: true, width: "120px", }, { field: "amount", label: "금액", type: "number", editable: false, calculated: true, width: "120px", }, { field: "delivery_date", label: "납품일", type: "date", editable: true, width: "130px", }, { field: "note", label: "비고", type: "text", editable: true, width: "200px", }, ]; // 수주 등록 전용 계산 공식 (고정) const ORDER_CALCULATION_RULES: CalculationRule[] = [ { result: "amount", formula: "quantity * selling_price", dependencies: ["quantity", "selling_price"], }, ]; export function OrderItemRepeaterTable({ value, onChange, disabled = false, }: OrderItemRepeaterTableProps) { return ( ); }