From ebd84967f23e9907677effaa01e4c4e03e157d5e 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, 23 Apr 2025 10:54:58 +0900 Subject: [PATCH] =?UTF-8?q?moduleSelectionDataLoad=20=EC=82=AD=EC=A0=9C=20?= =?UTF-8?q?=EB=B0=8F=20setData=20=EB=A1=9C=EC=A7=81=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../circuitTrestle/CircuitTrestleSetting.jsx | 3 +-- .../step/PowerConditionalSelect.jsx | 2 +- .../modal/circuitTrestle/step/StepUp.jsx | 1 - .../step/type/PassivityCircuitAllocation.jsx | 3 +-- .../common/useCanvasPopupStatusController.js | 16 ++++++++++++---- src/hooks/module/useModuleSelection.js | 2 +- src/hooks/useCirCuitTrestle.js | 2 +- src/hooks/useEstimate.js | 12 ++++++------ 8 files changed, 23 insertions(+), 18 deletions(-) diff --git a/src/components/floor-plan/modal/circuitTrestle/CircuitTrestleSetting.jsx b/src/components/floor-plan/modal/circuitTrestle/CircuitTrestleSetting.jsx index a836044e..1118623e 100644 --- a/src/components/floor-plan/modal/circuitTrestle/CircuitTrestleSetting.jsx +++ b/src/components/floor-plan/modal/circuitTrestle/CircuitTrestleSetting.jsx @@ -41,7 +41,7 @@ export default function CircuitTrestleSetting({ id }) { const [tabNum, setTabNum] = useState(1) const [allocationType, setAllocationType] = useState(ALLOCATION_TYPE.AUTO) const [circuitAllocationType, setCircuitAllocationType] = useState(1) - const { managementState, setManagementState, managementStateLoaded } = useContext(GlobalDataContext) + const { managementState, setManagementState } = useContext(GlobalDataContext) const selectedModules = useRecoilValue(selectedModuleState) const { getPcsAutoRecommendList, getPcsVoltageChk, getPcsVoltageStepUpList, getPcsManualConfChk } = useMasterController() @@ -84,7 +84,6 @@ export default function CircuitTrestleSetting({ id }) { // const { trigger: moduleSelectedDataTrigger } = useCanvasPopupStatusController(2) useEffect(() => { if (!managementState) { - setManagementState(managementStateLoaded) } // setCircuitData({ // makers, diff --git a/src/components/floor-plan/modal/circuitTrestle/step/PowerConditionalSelect.jsx b/src/components/floor-plan/modal/circuitTrestle/step/PowerConditionalSelect.jsx index b7e50fda..b7fd39b4 100644 --- a/src/components/floor-plan/modal/circuitTrestle/step/PowerConditionalSelect.jsx +++ b/src/components/floor-plan/modal/circuitTrestle/step/PowerConditionalSelect.jsx @@ -44,7 +44,7 @@ export default function PowerConditionalSelect(props) { const { getPcsMakerList, getPcsModelList } = useMasterController() const selectedModules = useRecoilValue(selectedModuleState) const { swalFire } = useSwal() - const { trigger: moduleSelectedDataTrigger } = useCanvasPopupStatusController(2) + // const { trigger: moduleSelectedDataTrigger } = useCanvasPopupStatusController(2) const [moduleSelectionData, setModuleSelectionData] = useRecoilState(moduleSelectionDataState) const modelHeader = [ { name: getMessage('modal.circuit.trestle.setting.circuit.allocation.passivity.series'), width: '15%', prop: 'pcsSerNm', type: 'color-box' }, diff --git a/src/components/floor-plan/modal/circuitTrestle/step/StepUp.jsx b/src/components/floor-plan/modal/circuitTrestle/step/StepUp.jsx index 0e8ad7b6..5b706264 100644 --- a/src/components/floor-plan/modal/circuitTrestle/step/StepUp.jsx +++ b/src/components/floor-plan/modal/circuitTrestle/step/StepUp.jsx @@ -42,7 +42,6 @@ export default function StepUp(props) { const [arrayLength, setArrayLength] = useState(3) //module-table-inner의 반복 개수 const [pcsCheck, setPcsCheck] = useRecoilState(pcsCheckState) const { getPcsVoltageStepUpList, getPcsAutoRecommendList, getPcsVoltageChk, getPcsConnOptionItemList } = useMasterController() - const { managementState, setManagementState, managementStateLoaded } = useContext(GlobalDataContext) const canvas = useRecoilValue(canvasState) const selectedModules = useRecoilValue(selectedModuleState) const [optCodes, setOptCodes] = useState([]) diff --git a/src/components/floor-plan/modal/circuitTrestle/step/type/PassivityCircuitAllocation.jsx b/src/components/floor-plan/modal/circuitTrestle/step/type/PassivityCircuitAllocation.jsx index e009a864..4a4d72a2 100644 --- a/src/components/floor-plan/modal/circuitTrestle/step/type/PassivityCircuitAllocation.jsx +++ b/src/components/floor-plan/modal/circuitTrestle/step/type/PassivityCircuitAllocation.jsx @@ -25,7 +25,7 @@ export default function PassivityCircuitAllocation(props) { const { swalFire } = useSwal() const { getMessage } = useMessage() const canvas = useRecoilValue(canvasState) - const { managementState, setManagementState, managementStateLoaded } = useContext(GlobalDataContext) + const { managementState } = useContext(GlobalDataContext) const selectedModules = useRecoilValue(selectedModuleState) const [selectedPcs, setSelectedPcs] = useState(selectedModels[0]) const { header, rows, footer } = useRecoilValue(moduleStatisticsState) @@ -38,7 +38,6 @@ export default function PassivityCircuitAllocation(props) { useEffect(() => { setModuleStatisticsData() if (!managementState) { - setManagementState(managementStateLoaded) } canvas .getObjects() diff --git a/src/hooks/common/useCanvasPopupStatusController.js b/src/hooks/common/useCanvasPopupStatusController.js index 4a6ed6dd..9b4e5a5d 100644 --- a/src/hooks/common/useCanvasPopupStatusController.js +++ b/src/hooks/common/useCanvasPopupStatusController.js @@ -9,9 +9,10 @@ import { compasDegAtom } from '@/store/orientationAtom' import { canvasState, currentCanvasPlanState } from '@/store/canvasAtom' import { POLYGON_TYPE } from '@/common/common' import { useCircuitTrestle } from '../useCirCuitTrestle' -import { useEffect } from 'react' +import { useContext } from 'react' import { addedRoofsState } from '@/store/settingAtom' import { roofsState } from '@/store/roofAtom' +import { GlobalDataContext } from '@/app/GlobalDataProvider' /** * 캔버스 팝업 상태 관리 @@ -22,13 +23,14 @@ export function useCanvasPopupStatusController(param = 1) { const popupType = parseInt(param) const setCompasDeg = useSetRecoilState(compasDegAtom) - const setModuleSelectionDataStore = useSetRecoilState(moduleSelectionDataState) + const [moduleSelectionDataStore, setModuleSelectionDataStore] = useRecoilState(moduleSelectionDataState) const setSelectedModules = useSetRecoilState(selectedModuleState) const { get, promiseGet, getFetcher, postFetcher } = useAxios() const canvas = useRecoilValue(canvasState) const currentCanvasPlan = useRecoilValue(currentCanvasPlanState) const [addedRoofs, setAddedRoofs] = useRecoilState(addedRoofsState) const [roofs, setRoofs] = useRecoilState(roofsState) + const { managementState, setManagementState } = useContext(GlobalDataContext) /** * 팝업 상태 조회 * @param {number} popupTypeParam @@ -54,6 +56,7 @@ export function useCanvasPopupStatusController(param = 1) { * 조회 후 전체 데이터 recoil에 저장 */ const handleModuleSelectionTotal = async () => { + let resultData = {} for (let i = 1; i < 3; i++) { const result = await getModuleSelection(i) if (!result.objectNo) return @@ -63,7 +66,8 @@ export function useCanvasPopupStatusController(param = 1) { if (data?.compasDeg) setCompasDeg(data.compasDeg) if (data?.module) setSelectedModules(data.module) - setModuleSelectionDataStore(data) + // setModuleSelectionDataStore(data) + resultData = { ...data } } } else if (i === 2) { const data = JSON.parse(unescapeString(result.popupStatus)) @@ -74,11 +78,15 @@ export function useCanvasPopupStatusController(param = 1) { }) if (data.roofConstruction) { setRoofs(data.roofConstruction) - // setManagementState({ ...managementState, roofs: data.roofConstruction.map((roof) => roof.construction.managementState) }) + setManagementState({ ...managementState, roofs: data.roofConstruction.map((roof) => roof.construction.managementState) }) + // setModuleSelectionDataStore({ ...moduleSelectionDataStore, roofConstructions: data.roofConstruction }) + resultData = { ...resultData, ...data } } // if (data?.module) setManagementState(data.common.managementState) } } + console.log('resultData', resultData) + setModuleSelectionDataStore(resultData) } /** diff --git a/src/hooks/module/useModuleSelection.js b/src/hooks/module/useModuleSelection.js index 5e66960b..6a6ce498 100644 --- a/src/hooks/module/useModuleSelection.js +++ b/src/hooks/module/useModuleSelection.js @@ -84,7 +84,7 @@ export function useModuleSelection(props) { //새로고침시 데이터 날아가는거 방지 if (managementState === null) { - setManagementState(managementStateLoaded) + setManagementState(managementState) } else { bindInitData() } diff --git a/src/hooks/useCirCuitTrestle.js b/src/hooks/useCirCuitTrestle.js index ae90be97..60c2b74f 100644 --- a/src/hooks/useCirCuitTrestle.js +++ b/src/hooks/useCirCuitTrestle.js @@ -24,7 +24,7 @@ export function useCircuitTrestle(executeEffect = false) { const [selectedModels, setSelectedModels] = useRecoilState(selectedModelsState) const [pcsCheck, setPcsCheck] = useRecoilState(pcsCheckState) const selectedModules = useRecoilValue(selectedModuleState) - const { managementState, setManagementState, managementStateLoaded } = useContext(GlobalDataContext) + const { managementState } = useContext(GlobalDataContext) const canvas = useRecoilValue(canvasState) const setModuleStatistics = useSetRecoilState(moduleStatisticsState) const resetModuleStatistics = useResetRecoilState(moduleStatisticsState) diff --git a/src/hooks/useEstimate.js b/src/hooks/useEstimate.js index fae0b558..c64bdfac 100644 --- a/src/hooks/useEstimate.js +++ b/src/hooks/useEstimate.js @@ -13,7 +13,7 @@ import { useTrestle } from '@/hooks/module/useTrestle' import { usePlan } from '@/hooks/usePlan' export function useEstimate() { - const { managementStateLoaded } = useContext(GlobalDataContext) + const { managementState } = useContext(GlobalDataContext) const { setIsGlobalLoading } = useContext(QcastContext) const router = useRouter() const loginUserState = useRecoilValue(loginUserStore) @@ -32,15 +32,15 @@ export function useEstimate() { */ const saveEstimate = async (estimateParam) => { const userId = loginUserState.userId - const saleStoreId = managementStateLoaded.saleStoreId + const saleStoreId = managementState.saleStoreId const objectNo = currentCanvasPlan.objectNo const planNo = currentCanvasPlan.planNo const slope = estimateParam.roofSurfaceList[0].slope const angle = estimateParam.roofSurfaceList[0].angle - const surfaceType = managementStateLoaded.surfaceType - const setupHeight = managementStateLoaded.installHeight - const standardWindSpeedId = managementStateLoaded.standardWindSpeedId - const snowfall = managementStateLoaded.verticalSnowCover + const surfaceType = managementState.surfaceType + const setupHeight = managementState.installHeight + const standardWindSpeedId = managementState.standardWindSpeedId + const snowfall = managementState.verticalSnowCover const drawingFlg = '1' const saveEstimateData = {