diff --git a/src/components/floor-plan/CanvasMenu.jsx b/src/components/floor-plan/CanvasMenu.jsx index 19db2fde..012b62e9 100644 --- a/src/components/floor-plan/CanvasMenu.jsx +++ b/src/components/floor-plan/CanvasMenu.jsx @@ -189,8 +189,7 @@ export default function CanvasMenu(props) { promiseGet({ url: `/api/estimate/${objectNo}/${selectedPlan.ordering}/detail` }).then((res) => { if (res.status === 200) { const estimateDetail = res.data - //docno tempFlg0 - if (estimateDetail.docNo) { + if (estimateDetail.tempFlg === '0') { setMenuNumber(menu.index) setCurrentMenu(menu.title) router.push(`/floor-plan/simulator/${menu.index}?pid=${selectedPlan.ordering}&objectNo=${objectNo}`) diff --git a/src/components/simulator/Simulator.jsx b/src/components/simulator/Simulator.jsx index ef752582..249398c4 100644 --- a/src/components/simulator/Simulator.jsx +++ b/src/components/simulator/Simulator.jsx @@ -16,26 +16,18 @@ import { useCanvasMenu } from '@/hooks/common/useCanvasMenu' import { convertNumberToPriceDecimal } from '@/util/common-utils' import { usePlan } from '@/hooks/usePlan' -import { usePopup } from '@/hooks/usePopup' -// import { useSearchParams } from 'next/navigation' +import { usePopup, closeAll } from '@/hooks/usePopup' export default function Simulator() { const { floorPlanState } = useContext(FloorPlanContext) const { objectNo, pid } = floorPlanState - - // const searchParams = useSearchParams() - // const objectNo = searchParams.get('objectNo') - // const pid = searchParams.get('pid') const { selectedPlan } = usePlan() const chartRef = useRef(null) // 캔버스 메뉴 넘버 셋팅 const { setMenuNumber } = useCanvasMenu() - - useEffect(() => { - setMenuNumber(6) - }, []) + const { closeAll } = usePopup() const { get } = useAxios() const { getMessage } = useMessage() @@ -43,12 +35,6 @@ export default function Simulator() { // 차트 관련 const [chartData, setChartData] = useState([]) - const { closeAll } = usePopup() - - useEffect(() => { - closeAll() - }, []) - const data = { labels: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'], datasets: [ @@ -114,7 +100,6 @@ export default function Simulator() { } useEffect(() => { - console.log('🚀 ~ useEffect ~ selectedPlan:', selectedPlan) /* 초기화 작업 */ setChartData([]) setObjectDetail({}) @@ -125,11 +110,13 @@ export default function Simulator() { setHatsudenryouPeakcutAll([]) setHatsudenryouPeakcutAllSnow([]) - if (objectNo) { - fetchObjectDetail(objectNo) + if (objectNo && pid && selectedPlan) { + fetchObjectDetail(objectNo, selectedPlan.ordering) fetchSimulatorNotice() setPwrGnrSimType('D') setPwrRecoil({ ...pwrRecoil, type: 'D' }) + setMenuNumber(6) + closeAll() } }, [objectNo, pid, selectedPlan]) @@ -148,8 +135,8 @@ export default function Simulator() { const [hatsudenryouPeakcutAll, setHatsudenryouPeakcutAll] = useState([]) const [hatsudenryouPeakcutAllSnow, setHatsudenryouPeakcutAllSnow] = useState([]) - const fetchObjectDetail = async (objectNo) => { - const apiUrl = `/api/pwrGnrSimulation/calculations?objectNo=${objectNo}&planNo=${pid}` + const fetchObjectDetail = async (objectNo, currentPid) => { + const apiUrl = `/api/pwrGnrSimulation/calculations?objectNo=${objectNo}&planNo=${currentPid}` const resultData = await get({ url: apiUrl }) if (resultData) { @@ -234,7 +221,7 @@ export default function Simulator() { {/* 시스템용량 */}
-
{getMessage('simulator.title.sub3')}
+
{getMessage('simulator.title.sub3')}
{objectDetail.capacity ? `${convertNumberToPriceDecimal(objectDetail.capacity)} kW` : ''}
{/* 연간예측발전량 */} @@ -257,7 +244,7 @@ export default function Simulator() { {/* 적설조건 */}
{getMessage('simulator.title.sub7')}
-
{objectDetail.snowfall} cm
+
{objectDetail.snowfall ? `${objectDetail.snowfall}cm` : ''}
{/* 풍속조건 */}
@@ -356,7 +343,10 @@ export default function Simulator() { {/* 지붕면 */} {moduleInfo.roofSurface} {/* 경사각 */} - {convertNumberToPriceDecimal(moduleInfo.slopeAngle)}{moduleInfo.classType == 0 ? "寸":"º"} + + {convertNumberToPriceDecimal(moduleInfo.slopeAngle)} + {moduleInfo.classType == 0 ? '寸' : 'º'} + {/* 방위각(도) */} {convertNumberToPriceDecimal(moduleInfo.azimuth)} {/* 태양전지모듈 */} diff --git a/src/hooks/usePlan.js b/src/hooks/usePlan.js index 10c1dc2d..a0733e57 100644 --- a/src/hooks/usePlan.js +++ b/src/hooks/usePlan.js @@ -237,9 +237,12 @@ export function usePlan(params = {}) { swalFire({ text: getMessage('estimate.menu.move.valid1') }) } } else { - //발전시뮬레이션 - // 클릭한 플랜 탭으로 이동 - // updateCurrentPlan(newCurrentId) + // 발전시뮬레이션 + if (estimateDetail.tempFlg === '0') { + updateCurrentPlan(newCurrentId) + } else { + swalFire({ text: getMessage('simulator.menu.move.valid1') }) + } } } })