Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into feature/v2-unified-renewal
This commit is contained in:
@@ -33,6 +33,7 @@ interface EditModalState {
|
||||
dataflowConfig?: any;
|
||||
dataflowTiming?: string;
|
||||
}; // 🆕 모달 내부 저장 버튼의 제어로직 설정
|
||||
menuObjid?: number; // 🆕 메뉴 OBJID (카테고리 스코프용)
|
||||
}
|
||||
|
||||
interface EditModalProps {
|
||||
@@ -91,6 +92,7 @@ export const EditModal: React.FC<EditModalProps> = ({ className }) => {
|
||||
buttonConfig: undefined,
|
||||
buttonContext: undefined,
|
||||
saveButtonConfig: undefined,
|
||||
menuObjid: undefined,
|
||||
});
|
||||
|
||||
const [screenData, setScreenData] = useState<{
|
||||
@@ -234,7 +236,7 @@ export const EditModal: React.FC<EditModalProps> = ({ className }) => {
|
||||
// 전역 모달 이벤트 리스너
|
||||
useEffect(() => {
|
||||
const handleOpenEditModal = async (event: CustomEvent) => {
|
||||
const { screenId, title, description, modalSize, editData, onSave, groupByColumns, tableName, isCreateMode, buttonConfig, buttonContext } = event.detail;
|
||||
const { screenId, title, description, modalSize, editData, onSave, groupByColumns, tableName, isCreateMode, buttonConfig, buttonContext, menuObjid } = event.detail;
|
||||
|
||||
// 🆕 모달 내부 저장 버튼의 제어로직 설정 조회
|
||||
let saveButtonConfig: EditModalState["saveButtonConfig"] = undefined;
|
||||
@@ -258,6 +260,7 @@ export const EditModal: React.FC<EditModalProps> = ({ className }) => {
|
||||
buttonConfig, // 🆕 버튼 설정
|
||||
buttonContext, // 🆕 버튼 컨텍스트
|
||||
saveButtonConfig, // 🆕 모달 내부 저장 버튼의 제어로직 설정
|
||||
menuObjid, // 🆕 메뉴 OBJID (카테고리 스코프용)
|
||||
});
|
||||
|
||||
// 편집 데이터로 폼 데이터 초기화
|
||||
@@ -1079,6 +1082,8 @@ export const EditModal: React.FC<EditModalProps> = ({ className }) => {
|
||||
id: modalState.screenId!,
|
||||
tableName: screenData.screenInfo?.tableName,
|
||||
}}
|
||||
// 🆕 메뉴 OBJID 전달 (카테고리 스코프용)
|
||||
menuObjid={modalState.menuObjid}
|
||||
// 🆕 그룹 데이터가 있거나 UniversalFormModal이 없으면 EditModal.handleSave 사용
|
||||
// groupData가 있으면 일괄 저장을 위해 반드시 EditModal.handleSave 사용
|
||||
onSave={shouldUseEditModalSave ? handleSave : undefined}
|
||||
|
||||
@@ -1223,13 +1223,14 @@ export const InteractiveDataTable: React.FC<InteractiveDataTableProps> = ({
|
||||
description: editModalDescription,
|
||||
modalSize: "lg",
|
||||
editData: initialData,
|
||||
menuObjid, // 🆕 메뉴 OBJID 전달 (카테고리 스코프용)
|
||||
onSave: () => {
|
||||
loadData(); // 테이블 데이터 새로고침
|
||||
},
|
||||
},
|
||||
});
|
||||
window.dispatchEvent(event);
|
||||
}, [selectedRows, data, getDisplayColumns, component.addModalConfig, component.editModalConfig, loadData]);
|
||||
}, [selectedRows, data, getDisplayColumns, component.addModalConfig, component.editModalConfig, loadData, menuObjid]);
|
||||
|
||||
// 수정 폼 데이터 변경 핸들러
|
||||
const handleEditFormChange = useCallback((columnName: string, value: any) => {
|
||||
@@ -2730,6 +2731,7 @@ export const InteractiveDataTable: React.FC<InteractiveDataTableProps> = ({
|
||||
screenId={saveModalScreenId}
|
||||
modalSize={component.addModalConfig?.modalSize || "lg"}
|
||||
initialData={saveModalData}
|
||||
menuObjid={menuObjid} // 🆕 메뉴 OBJID 전달 (카테고리 스코프용)
|
||||
onSaveSuccess={() => {
|
||||
// 저장 성공 시 테이블 새로고침
|
||||
loadData(currentPage, searchValues); // 현재 페이지로 다시 로드
|
||||
|
||||
@@ -19,6 +19,7 @@ interface SaveModalProps {
|
||||
modalSize?: "sm" | "md" | "lg" | "xl" | "full";
|
||||
initialData?: any; // 수정 모드일 때 기존 데이터
|
||||
onSaveSuccess?: () => void; // 저장 성공 시 콜백 (테이블 새로고침용)
|
||||
menuObjid?: number; // 🆕 메뉴 OBJID (카테고리 스코프용)
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -33,6 +34,7 @@ export const SaveModal: React.FC<SaveModalProps> = ({
|
||||
modalSize = "lg",
|
||||
initialData,
|
||||
onSaveSuccess,
|
||||
menuObjid,
|
||||
}) => {
|
||||
const { user, userName } = useAuth(); // 현재 사용자 정보 가져오기
|
||||
const [formData, setFormData] = useState<Record<string, any>>(initialData || {});
|
||||
@@ -373,6 +375,7 @@ export const SaveModal: React.FC<SaveModalProps> = ({
|
||||
}));
|
||||
}}
|
||||
hideLabel={false}
|
||||
menuObjid={menuObjid} // 🆕 메뉴 OBJID 전달 (카테고리 스코프용)
|
||||
/>
|
||||
) : (
|
||||
<DynamicComponentRenderer
|
||||
@@ -385,6 +388,7 @@ export const SaveModal: React.FC<SaveModalProps> = ({
|
||||
}}
|
||||
screenId={screenId}
|
||||
tableName={screenData.tableName}
|
||||
menuObjid={menuObjid} // 🆕 메뉴 OBJID 전달 (카테고리 스코프용)
|
||||
userId={user?.userId} // ✅ 사용자 ID 전달
|
||||
userName={user?.userName} // ✅ 사용자 이름 전달
|
||||
companyCode={user?.companyCode} // ✅ 회사 코드 전달
|
||||
|
||||
Reference in New Issue
Block a user