diff --git a/src/components/floor-plan/modal/circuitTrestle/CircuitTrestleSetting.jsx b/src/components/floor-plan/modal/circuitTrestle/CircuitTrestleSetting.jsx index e0d32bbc..9eaeee89 100644 --- a/src/components/floor-plan/modal/circuitTrestle/CircuitTrestleSetting.jsx +++ b/src/components/floor-plan/modal/circuitTrestle/CircuitTrestleSetting.jsx @@ -33,7 +33,7 @@ const ALLOCATION_TYPE = { export default function CircuitTrestleSetting({ id }) { const { getMessage } = useMessage() const { closePopup } = usePopup() - const { apply, setViewCircuitNumberTexts, getEstimateData, clear: clearTrestle } = useTrestle() + const { apply, setViewCircuitNumberTexts, getEstimateData, clear: clearTrestle, setAllModuleSurfaceIsComplete } = useTrestle() const { swalFire } = useSwal() const { saveEstimate } = useEstimate() const canvas = useRecoilValue(canvasState) @@ -330,6 +330,8 @@ export default function CircuitTrestleSetting({ id }) { // 회로할당(승압설정) 저장 버튼 클릭 시 const onApply = async () => { + setAllSurfaceIsComplete(false) + setIsGlobalLoading(true) canvas .getObjects() @@ -363,9 +365,11 @@ export default function CircuitTrestleSetting({ id }) { await saveCanvas(false) // 견적서 저장 await saveEstimate(result) + setAllSurfaceIsComplete(true) } else { setIsGlobalLoading(false) } + // removeNotAllocationModules() } diff --git a/src/hooks/common/useMenu.js b/src/hooks/common/useMenu.js index d65611b5..7fdd6a31 100644 --- a/src/hooks/common/useMenu.js +++ b/src/hooks/common/useMenu.js @@ -34,7 +34,7 @@ export default function useMenu() { const [popupId, setPopupId] = useState(uuidv4()) const { addPopup } = usePopup() const { deleteAllSurfacesAndObjects } = useSurfaceShapeBatch({}) - const { clear: trestleClear } = useTrestle() + const { clear: trestleClear, setAllModuleSurfaceIsComplete } = useTrestle() const { nextStep } = useOrientation() const handleMenu = (type) => { if (type === 'outline') { @@ -90,6 +90,7 @@ export default function useMenu() { switch (currentMenu) { case MENU.MODULE_CIRCUIT_SETTING.BASIC_SETTING: trestleClear() + setAllModuleSurfaceIsComplete(false) addPopup(popupId, 1, ) break case MENU.MODULE_CIRCUIT_SETTING.CIRCUIT_TRESTLE_SETTING: diff --git a/src/hooks/module/useTrestle.js b/src/hooks/module/useTrestle.js index b122a19e..0240f519 100644 --- a/src/hooks/module/useTrestle.js +++ b/src/hooks/module/useTrestle.js @@ -602,7 +602,7 @@ export const useTrestle = () => { const quotationParam = getTrestleParams(surface, exposedBottomModules) - surface.set({ quotationParam, isComplete: true }) + surface.set({ quotationParam }) }) return true @@ -2789,5 +2789,13 @@ export const useTrestle = () => { canvas.renderAll() } - return { apply, getTrestleParams, clear, setViewCircuitNumberTexts, getEstimateData } + // 가대 설치 완료 전,후 모든 surface의 isComplete를 변경 + const setAllModuleSurfaceIsComplete = (bool) => { + const surfaces = canvas.getObjects().filter((obj) => obj.name === POLYGON_TYPE.MODULE_SETUP_SURFACE) + surfaces.forEach((surface) => { + surface.isComplete = bool + }) + } + + return { apply, getTrestleParams, clear, setViewCircuitNumberTexts, getEstimateData, setAllModuleSurfaceIsComplete } }