발전시뮬레이션 메뉴 이동 수정

This commit is contained in:
LEEYONGJAE 2025-01-17 10:46:52 +09:00
parent eac19c7620
commit 6021fa537c
3 changed files with 21 additions and 29 deletions

View File

@ -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}`)

View File

@ -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() {
</div>
{/* 시스템용량 */}
<div className="estimate-box">
<div className="estimate-tit">{getMessage('simulator.title.sub3')}</div>
<div className="estimate-tit">{getMessage('simulator.title.sub3')}</div>
<div className="estimate-name">{objectDetail.capacity ? `${convertNumberToPriceDecimal(objectDetail.capacity)} kW` : ''}</div>
</div>
{/* 연간예측발전량 */}
@ -257,7 +244,7 @@ export default function Simulator() {
{/* 적설조건 */}
<div className="estimate-box">
<div className="estimate-tit">{getMessage('simulator.title.sub7')}</div>
<div className="estimate-name">{objectDetail.snowfall} cm</div>
<div className="estimate-name">{objectDetail.snowfall ? `${objectDetail.snowfall}cm` : ''} </div>
</div>
{/* 풍속조건 */}
<div className="estimate-box">
@ -356,7 +343,10 @@ export default function Simulator() {
{/* 지붕면 */}
<td>{moduleInfo.roofSurface}</td>
{/* 경사각 */}
<td>{convertNumberToPriceDecimal(moduleInfo.slopeAngle)}{moduleInfo.classType == 0 ? "寸":"º"}</td>
<td>
{convertNumberToPriceDecimal(moduleInfo.slopeAngle)}
{moduleInfo.classType == 0 ? '寸' : 'º'}
</td>
{/* 방위각(도) */}
<td>{convertNumberToPriceDecimal(moduleInfo.azimuth)}</td>
{/* 태양전지모듈 */}

View File

@ -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') })
}
}
}
})