diff --git a/src/components/floor-plan/modal/circuitTrestle/CircuitTrestleSetting.jsx b/src/components/floor-plan/modal/circuitTrestle/CircuitTrestleSetting.jsx index 571817dc..1e989963 100644 --- a/src/components/floor-plan/modal/circuitTrestle/CircuitTrestleSetting.jsx +++ b/src/components/floor-plan/modal/circuitTrestle/CircuitTrestleSetting.jsx @@ -93,13 +93,6 @@ export default function CircuitTrestleSetting({ id }) { }, []) // 수동할당 시 모듈 삭제 - useEffect(() => { - if (allocationType === ALLOCATION_TYPE.PASSIVITY && tabNum === 2) { - const notAllocationModules = canvas.getObjects().filter((obj) => obj.name === POLYGON_TYPE.MODULE && !obj.circuit) - canvas.remove(...notAllocationModules) - canvas.renderAll() - } - }, [tabNum]) // 시리즈중 자동으로 추천 PCS 정보 조회 const onAutoRecommend = () => { @@ -459,6 +452,21 @@ export default function CircuitTrestleSetting({ id }) { }) } + const handleStepUp = () => { + const notAllocationModules = canvas.getObjects().filter((obj) => obj.name === POLYGON_TYPE.MODULE && !obj.circuit) + if (notAllocationModules.length > 0) { + swalFire({ + title: getMessage('not.allocation.exist.module'), + type: 'alert', + confirmFn: () => {}, + }) + return + // canvas.remove(...notAllocationModules) + // canvas.renderAll() + } + setTabNum(2) + } + // 닫기 버튼 클릭 시 처리하는 함수 추가 const handleClose = () => { // // 회로 번호 텍스트 제거 @@ -514,7 +522,7 @@ export default function CircuitTrestleSetting({ id }) { - diff --git a/src/components/floor-plan/modal/module/PanelEdit.jsx b/src/components/floor-plan/modal/module/PanelEdit.jsx index b53bc98e..bfff66a2 100644 --- a/src/components/floor-plan/modal/module/PanelEdit.jsx +++ b/src/components/floor-plan/modal/module/PanelEdit.jsx @@ -36,7 +36,7 @@ export default function PanelEdit(props) { const { moduleMove, moduleCopy, moduleMultiMove, moduleMultiCopy, moduleMoveAll, moduleCopyAll } = useModule() useEffect(() => { - if (canvas) { + if (!canvas) { const isSetupModules = canvas.getObjects().filter((obj) => obj.name === 'module') // selectedObj에 없는 객체만 필터링 isSetupModules.forEach((obj) => obj.set({ lockMovementX: false, lockMovementY: false })) } @@ -52,8 +52,8 @@ export default function PanelEdit(props) { }) return } - - const completeSurfaces = canvas.getObject().filter((obj) => obj.name === POLYGON_TYPE.MODULE_SETUP_SURFACE && obj.isComplete) + debugger + const completeSurfaces = canvas.getObjects().filter((obj) => obj.name === POLYGON_TYPE.MODULE_SETUP_SURFACE && obj.isComplete) if (completeSurfaces.length > 0) { swalFire({ diff --git a/src/hooks/module/useModule.js b/src/hooks/module/useModule.js index c7f13dc0..bd462b5e 100644 --- a/src/hooks/module/useModule.js +++ b/src/hooks/module/useModule.js @@ -47,6 +47,7 @@ export function useModule() { canvas.discardActiveObject() //선택해제 + debugger const isSetupModules = getOtherModules(selectedObj) const selectedModules = canvas.getObjects().filter((obj) => selectedIds.includes(obj.id) && obj.name === 'module') //선택했던 객체들만 가져옴 const setupSurface = canvas diff --git a/src/locales/ja.json b/src/locales/ja.json index f459b5ee..ab6d722b 100644 --- a/src/locales/ja.json +++ b/src/locales/ja.json @@ -1010,5 +1010,6 @@ "batch.object.outside.roof": "オブジェクトは屋根に設置する必要があります。", "batch.object.notinstall.cross": "オブジェクトは重複してインストールできません。", "module.not.batch.north": "북쪽에는 모듈을 배치할 수 없습니다.", - "max.select": "최대 {0}개까지 선택할 수 있습니다.(JA)" + "max.select": "최대 {0}개까지 선택할 수 있습니다.(JA)", + "not.allocation.exist.module": "할당하지 않은 모듈이 있습니다.(JA)" } diff --git a/src/locales/ko.json b/src/locales/ko.json index 021b75e9..887e9cae 100644 --- a/src/locales/ko.json +++ b/src/locales/ko.json @@ -1012,5 +1012,6 @@ "batch.object.notinstall.cross": "오브젝트는 겹쳐서 설치 할 수 없습니다.", "module.not.batch.north": "북쪽에는 모듈을 배치할 수 없습니다.", "module.trestleDetail.not.exist": "가대 상세 정보가 없습니다.", - "max.select": "최대 {0}개까지 선택할 수 있습니다." + "max.select": "최대 {0}개까지 선택할 수 있습니다.", + "not.allocation.exist.module": "할당하지 않은 모듈이 있습니다." }