50 lines
1.4 KiB
TypeScript
50 lines
1.4 KiB
TypeScript
|
|
"use client";
|
||
|
|
|
||
|
|
import React from "react";
|
||
|
|
import { AutocompleteSearchInputComponent } from "@/lib/registry/components/autocomplete-search-input";
|
||
|
|
|
||
|
|
/**
|
||
|
|
* 수주 등록 전용 거래처 검색 컴포넌트
|
||
|
|
*
|
||
|
|
* 이 컴포넌트는 수주 등록 화면 전용이며, 설정이 고정되어 있습니다.
|
||
|
|
* 범용 AutocompleteSearchInput과 달리 customer_mng 테이블만 조회합니다.
|
||
|
|
*/
|
||
|
|
|
||
|
|
interface OrderCustomerSearchProps {
|
||
|
|
/** 현재 선택된 거래처 코드 */
|
||
|
|
value: string;
|
||
|
|
/** 거래처 선택 시 콜백 (거래처 코드, 전체 데이터) */
|
||
|
|
onChange: (customerCode: string | null, fullData?: any) => void;
|
||
|
|
/** 비활성화 여부 */
|
||
|
|
disabled?: boolean;
|
||
|
|
}
|
||
|
|
|
||
|
|
export function OrderCustomerSearch({
|
||
|
|
value,
|
||
|
|
onChange,
|
||
|
|
disabled = false,
|
||
|
|
}: OrderCustomerSearchProps) {
|
||
|
|
return (
|
||
|
|
<AutocompleteSearchInputComponent
|
||
|
|
// 고정 설정 (수주 등록 전용)
|
||
|
|
tableName="customer_mng"
|
||
|
|
displayField="customer_name"
|
||
|
|
valueField="customer_code"
|
||
|
|
searchFields={[
|
||
|
|
"customer_name",
|
||
|
|
"customer_code",
|
||
|
|
"business_number",
|
||
|
|
]}
|
||
|
|
placeholder="거래처명 입력하여 검색"
|
||
|
|
showAdditionalInfo
|
||
|
|
additionalFields={["customer_code", "address", "contact_phone"]}
|
||
|
|
|
||
|
|
// 외부에서 제어 가능한 prop
|
||
|
|
value={value}
|
||
|
|
onChange={onChange}
|
||
|
|
disabled={disabled}
|
||
|
|
/>
|
||
|
|
);
|
||
|
|
}
|
||
|
|
|