수주관리 수정 모달 수정
This commit is contained in:
parent
84095ace3b
commit
9463d8d0b6
|
|
@ -176,7 +176,7 @@ export const EditModal: React.FC<EditModalProps> = ({ className }) => {
|
||||||
loadGroupData();
|
loadGroupData();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}, [modalState.isOpen, modalState.screenId]);
|
}, [modalState.isOpen, modalState.screenId, modalState.groupByColumns, modalState.tableName]);
|
||||||
|
|
||||||
// 🆕 그룹 데이터 조회 함수
|
// 🆕 그룹 데이터 조회 함수
|
||||||
const loadGroupData = async () => {
|
const loadGroupData = async () => {
|
||||||
|
|
@ -225,7 +225,7 @@ export const EditModal: React.FC<EditModalProps> = ({ className }) => {
|
||||||
const dataArray = Array.isArray(response) ? response : response?.data || [];
|
const dataArray = Array.isArray(response) ? response : response?.data || [];
|
||||||
|
|
||||||
if (dataArray.length > 0) {
|
if (dataArray.length > 0) {
|
||||||
console.log("✅ 그룹 데이터 조회 성공:", dataArray);
|
console.log("✅ 그룹 데이터 조회 성공:", dataArray.length, "건");
|
||||||
setGroupData(dataArray);
|
setGroupData(dataArray);
|
||||||
setOriginalGroupData(JSON.parse(JSON.stringify(dataArray))); // Deep copy
|
setOriginalGroupData(JSON.parse(JSON.stringify(dataArray))); // Deep copy
|
||||||
toast.info(`${dataArray.length}개의 관련 품목을 불러왔습니다.`);
|
toast.info(`${dataArray.length}개의 관련 품목을 불러왔습니다.`);
|
||||||
|
|
@ -749,15 +749,8 @@ export const EditModal: React.FC<EditModalProps> = ({ className }) => {
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
// 🔍 디버깅: 컴포넌트 렌더링 시점의 groupData 확인
|
|
||||||
if (component.id === screenData.components[0]?.id) {
|
const groupedDataProp = groupData.length > 0 ? groupData : undefined;
|
||||||
console.log("🔍 [EditModal] InteractiveScreenViewerDynamic props:", {
|
|
||||||
componentId: component.id,
|
|
||||||
groupDataLength: groupData.length,
|
|
||||||
groupData: groupData,
|
|
||||||
formData: groupData.length > 0 ? groupData[0] : formData,
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<InteractiveScreenViewerDynamic
|
<InteractiveScreenViewerDynamic
|
||||||
|
|
@ -794,7 +787,7 @@ export const EditModal: React.FC<EditModalProps> = ({ className }) => {
|
||||||
onSave={handleSave}
|
onSave={handleSave}
|
||||||
isInModal={true}
|
isInModal={true}
|
||||||
// 🆕 그룹 데이터를 ModalRepeaterTable에 전달
|
// 🆕 그룹 데이터를 ModalRepeaterTable에 전달
|
||||||
groupedData={groupData.length > 0 ? groupData : undefined}
|
groupedData={groupedDataProp}
|
||||||
// 🆕 수정 모달에서 읽기 전용 필드 지정 (수주번호, 거래처)
|
// 🆕 수정 모달에서 읽기 전용 필드 지정 (수주번호, 거래처)
|
||||||
disabledFields={["order_no", "partner_id"]}
|
disabledFields={["order_no", "partner_id"]}
|
||||||
/>
|
/>
|
||||||
|
|
|
||||||
|
|
@ -317,7 +317,7 @@ export const DynamicComponentRenderer: React.FC<DynamicComponentRendererProps> =
|
||||||
|
|
||||||
// modal-repeater-table은 배열 데이터를 다루므로 빈 배열로 초기화
|
// modal-repeater-table은 배열 데이터를 다루므로 빈 배열로 초기화
|
||||||
let currentValue;
|
let currentValue;
|
||||||
if (componentType === "modal-repeater-table") {
|
if (componentType === "modal-repeater-table" || componentType === "repeat-screen-modal") {
|
||||||
// EditModal에서 전달된 groupedData가 있으면 우선 사용
|
// EditModal에서 전달된 groupedData가 있으면 우선 사용
|
||||||
currentValue = props.groupedData || formData?.[fieldName] || [];
|
currentValue = props.groupedData || formData?.[fieldName] || [];
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -449,7 +449,8 @@ export const DynamicComponentRenderer: React.FC<DynamicComponentRendererProps> =
|
||||||
// 🆕 그룹 데이터 전달 (EditModal → ConditionalContainer → ModalRepeaterTable)
|
// 🆕 그룹 데이터 전달 (EditModal → ConditionalContainer → ModalRepeaterTable)
|
||||||
// Note: 이 props들은 DOM 요소에 전달되면 안 됨
|
// Note: 이 props들은 DOM 요소에 전달되면 안 됨
|
||||||
// 각 컴포넌트에서 명시적으로 destructure하여 사용해야 함
|
// 각 컴포넌트에서 명시적으로 destructure하여 사용해야 함
|
||||||
_groupedData: props.groupedData,
|
groupedData: props.groupedData, // ✅ 언더스코어 제거하여 직접 전달
|
||||||
|
_groupedData: props.groupedData, // 하위 호환성 유지
|
||||||
// 🆕 UniversalFormModal용 initialData 전달
|
// 🆕 UniversalFormModal용 initialData 전달
|
||||||
// originalData를 사용 (최초 전달된 값, formData는 계속 변경되므로 사용하면 안됨)
|
// originalData를 사용 (최초 전달된 값, formData는 계속 변경되므로 사용하면 안됨)
|
||||||
_initialData: originalData || formData,
|
_initialData: originalData || formData,
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue