From e940884312f5abb8a5f939706f5739a36ff59028 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EB=AF=BC=EC=8B=9D?= <43837214+Minsiki@users.noreply.github.com> Date: Wed, 9 Apr 2025 13:34:34 +0900 Subject: [PATCH] =?UTF-8?q?=EC=9C=A1=EC=A7=80=EB=B6=95=EC=9D=BC=EB=95=8C?= =?UTF-8?q?=20moduleSelectionData=20=EC=97=90=20margin=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../floor-plan/modal/basic/BasicSetting.jsx | 99 +++++++++---------- .../modal/basic/step/Orientation.jsx | 14 +-- src/hooks/module/useModuleSelection.js | 6 +- 3 files changed, 56 insertions(+), 63 deletions(-) diff --git a/src/components/floor-plan/modal/basic/BasicSetting.jsx b/src/components/floor-plan/modal/basic/BasicSetting.jsx index 17cd131b..cbabd3e3 100644 --- a/src/components/floor-plan/modal/basic/BasicSetting.jsx +++ b/src/components/floor-plan/modal/basic/BasicSetting.jsx @@ -1,34 +1,32 @@ -import { useMessage } from '@/hooks/useMessage' +import { POLYGON_TYPE } from '@/common/common' import WithDraggable from '@/components/common/draggable/WithDraggable' -import { useContext, useEffect, useRef, useState } from 'react' +import { Orientation } from '@/components/floor-plan/modal/basic/step/Orientation' import PitchPlacement from '@/components/floor-plan/modal/basic/step/pitch/PitchPlacement' import Placement from '@/components/floor-plan/modal/basic/step/Placement' -import { useRecoilValue, useRecoilState } from 'recoil' +import { useCanvasPopupStatusController } from '@/hooks/common/useCanvasPopupStatusController' +import { useMasterController } from '@/hooks/common/useMasterController' +import { useModuleBasicSetting } from '@/hooks/module/useModuleBasicSetting' +import { useModuleSelection } from '@/hooks/module/useModuleSelection' +import { useOrientation } from '@/hooks/module/useOrientation' +import { useMessage } from '@/hooks/useMessage' +import { usePopup } from '@/hooks/usePopup' import { - canvasSettingState, canvasState, checkedModuleState, + currentCanvasPlanState, isManualModuleLayoutSetupState, isManualModuleSetupState, toggleManualSetupModeState, } from '@/store/canvasAtom' -import { usePopup } from '@/hooks/usePopup' -import { Orientation } from '@/components/floor-plan/modal/basic/step/Orientation' -import { useModuleBasicSetting } from '@/hooks/module/useModuleBasicSetting' -import { useEvent } from '@/hooks/useEvent' -import { moduleSelectionDataState, selectedModuleState } from '@/store/selectedModuleOptions' -import { addedRoofsState, corridorDimensionSelector, basicSettingState } from '@/store/settingAtom' -import { isObjectNotEmpty } from '@/util/common-utils' -import Swal from 'sweetalert2' -import { useCanvasPopupStatusController } from '@/hooks/common/useCanvasPopupStatusController' -import { useMasterController } from '@/hooks/common/useMasterController' import { loginUserStore } from '@/store/commonAtom' -import { currentCanvasPlanState } from '@/store/canvasAtom' -import { POLYGON_TYPE } from '@/common/common' -import { useModuleSelection } from '@/hooks/module/useModuleSelection' -import { useOrientation } from '@/hooks/module/useOrientation' -import Trestle from './step/Trestle' import { roofsState } from '@/store/roofAtom' +import { moduleSelectionDataState } from '@/store/selectedModuleOptions' +import { addedRoofsState, basicSettingState } from '@/store/settingAtom' +import { isObjectNotEmpty } from '@/util/common-utils' +import { useEffect, useRef, useState } from 'react' +import { useRecoilState, useRecoilValue } from 'recoil' +import Swal from 'sweetalert2' +import Trestle from './step/Trestle' export default function BasicSetting({ id, pos = { x: 50, y: 230 } }) { const { getMessage } = useMessage() @@ -49,7 +47,6 @@ export default function BasicSetting({ id, pos = { x: 50, y: 230 } }) { const [roofs, setRoofs] = useState(addedRoofs) const [manualSetupMode, setManualSetupMode] = useRecoilState(toggleManualSetupModeState) const [layoutSetup, setLayoutSetup] = useState([{}]) - const { moduleSelectionInitParams, selectedModules, @@ -140,6 +137,37 @@ export default function BasicSetting({ id, pos = { x: 50, y: 230 } }) { setIsManualModuleSetup(false) }, [checkedModules]) + useEffect(() => { + if (basicSetting.roofSizeSet !== '3') { + if (manualSetupMode.indexOf('manualSetup') > -1) { + manualModuleSetup() + } else if (manualSetupMode.indexOf('manualLayoutSetup') > -1) { + manualModuleLayoutSetup(layoutSetup) + } else if (manualSetupMode.indexOf('off') > -1) { + manualModuleSetup() + manualModuleLayoutSetup(layoutSetup) + } + } else { + manualFlatroofModuleSetup(placementFlatRef) + } + + if (isClosePopup.close) { + closePopup(isClosePopup.id) + } + }, [manualSetupMode, isClosePopup]) + + useEffect(() => { + if (isManualModuleLayoutSetup) { + manualModuleLayoutSetup(layoutSetup) + } + }, [layoutSetup]) + + useEffect(() => { + setIsManualModuleSetup(false) + setIsManualModuleLayoutSetup(false) + setManualSetupMode(`off`) + }, [checkedModules]) + const handleBtnNextStep = () => { if (tabNum === 1) { orientationRef.current.handleNextStep() @@ -260,37 +288,6 @@ export default function BasicSetting({ id, pos = { x: 50, y: 230 } }) { } const placementProps = {} - useEffect(() => { - if (basicSetting.roofSizeSet !== '3') { - if (manualSetupMode.indexOf('manualSetup') > -1) { - manualModuleSetup() - } else if (manualSetupMode.indexOf('manualLayoutSetup') > -1) { - manualModuleLayoutSetup(layoutSetup) - } else if (manualSetupMode.indexOf('off') > -1) { - manualModuleSetup() - manualModuleLayoutSetup(layoutSetup) - } - } else { - manualFlatroofModuleSetup(placementFlatRef) - } - - if (isClosePopup.close) { - closePopup(isClosePopup.id) - } - }, [manualSetupMode, isClosePopup]) - - useEffect(() => { - if (isManualModuleLayoutSetup) { - manualModuleLayoutSetup(layoutSetup) - } - }, [layoutSetup]) - - useEffect(() => { - setIsManualModuleSetup(false) - setIsManualModuleLayoutSetup(false) - setManualSetupMode(`off`) - }, [checkedModules]) - return ( handleClosePopup(id)} /> diff --git a/src/components/floor-plan/modal/basic/step/Orientation.jsx b/src/components/floor-plan/modal/basic/step/Orientation.jsx index c9b5d296..3b5a55ad 100644 --- a/src/components/floor-plan/modal/basic/step/Orientation.jsx +++ b/src/components/floor-plan/modal/basic/step/Orientation.jsx @@ -67,6 +67,12 @@ export const Orientation = forwardRef((props, ref) => { ], } + useEffect(() => { + if (moduleSelectionData?.common) { + setInputMargin(moduleSelectionData?.common?.margin) + } + }, [moduleSelectionData]) + useEffect(() => { if (selectedModules) { setSelectedModules(moduleList.find((module) => module.itemId === selectedModules.itemId)) @@ -92,13 +98,6 @@ export const Orientation = forwardRef((props, ref) => { } }, [managementState]) - useEffect(() => { - if (addedRoofs) { - // setRoofs(addedRoofs) - // setAddedRoofs(roofsStore) - } - }, [addedRoofs]) - useImperativeHandle(ref, () => ({ handleNextStep, })) @@ -143,6 +142,7 @@ export const Orientation = forwardRef((props, ref) => { module: { ...selectedModules, }, + margin: inputMargin, }) updateObjectDataApi({ objectNo: currentCanvasPlan.objectNo, //오브젝트_no diff --git a/src/hooks/module/useModuleSelection.js b/src/hooks/module/useModuleSelection.js index 3477cada..c78ffff1 100644 --- a/src/hooks/module/useModuleSelection.js +++ b/src/hooks/module/useModuleSelection.js @@ -13,26 +13,22 @@ import { useModuleBasicSetting } from '@/hooks/module/useModuleBasicSetting' export function useModuleSelection(props) { const canvas = useRecoilValue(canvasState) const { managementState, setManagementState, managementStateLoaded } = useContext(GlobalDataContext) - const [roughnessCodes, setRoughnessCodes] = useState([]) //면조도 목록 const [windSpeedCodes, setWindSpeedCodes] = useState([]) //기준풍속 목록 const [moduleList, setModuleList] = useState([{}]) //모듈 목록 - const [selectedSurfaceType, setSelectedSurfaceType] = useState({}) //선택된 면조도 const [installHeight, setInstallHeight] = useState(managementState?.installHeight) //설치 높이 const [standardWindSpeed, setStandardWindSpeed] = useState() //기준풍속 const [verticalSnowCover, setVerticalSnowCover] = useState(managementState?.verticalSnowCover) //수직적설량 - const [selectedModules, setSelectedModules] = useRecoilState(selectedModuleState) //선택된 모듈 + const [margin, setMargin] = useState(100) const [moduleSelectionInitParams, setModuleSelectionInitParams] = useRecoilState(moduleSelectionInitParamsState) //모듈 기본 데이터 ex) 면조도, 높이등등 const { getModuleTypeItemList } = useMasterController() const { findCommonCode } = useCommonCode() const resetStatisticsData = useResetRecoilState(moduleStatisticsState) - const { restoreModuleInstArea } = useModuleBasicSetting() const bindInitData = () => { - console.log('bindInitData', managementState) setInstallHeight(managementState?.installHeight) setStandardWindSpeed(managementState?.standardWindSpeedId) setVerticalSnowCover(managementState?.verticalSnowCover)