Compare commits

...

2 Commits

1 changed files with 33 additions and 6 deletions

View File

@ -928,12 +928,39 @@ export const ExcelUploadModal: React.FC<ExcelUploadModalProps> = ({
{field.inputType === "entity" ? ( {field.inputType === "entity" ? (
<Select <Select
value={masterFieldValues[field.columnName]?.toString() || ""} value={masterFieldValues[field.columnName]?.toString() || ""}
onValueChange={(value) => onValueChange={(value) => {
setMasterFieldValues((prev) => ({ // 선택한 item 찾기
const selectedItem = entitySearchData[field.columnName]?.find(
(item: any) => item[field.referenceColumn || "id"]?.toString() === value
);
// displayColumn에서 name 값도 가져오기
const displayColName =
field.displayColumn ||
entityDisplayColumns[field.columnName] ||
field.referenceColumn ||
"id";
const displayValue = selectedItem?.[displayColName];
// code와 name 컬럼명 추출 (예: supplier_code → supplier_name)
const codeColName = field.columnName; // supplier_code
const nameColName = codeColName.replace(/_code$/, "_name"); // supplier_name
setMasterFieldValues((prev) => {
const newValues = {
...prev, ...prev,
[field.columnName]: value, [codeColName]: value,
})) };
// _code로 끝나는 컬럼이면 _name도 함께 저장
if (codeColName.endsWith("_code") && displayValue) {
newValues[nameColName] = displayValue;
console.log(`🔗 엔티티 연동: ${codeColName}=${value}, ${nameColName}=${displayValue}`);
} }
return newValues;
});
}}
> >
<SelectTrigger className="h-9 text-xs"> <SelectTrigger className="h-9 text-xs">
<SelectValue placeholder={`${field.columnLabel} 선택`} /> <SelectValue placeholder={`${field.columnLabel} 선택`} />