From c5d830f6c01ffe7ac35addf7f7c8fe8cb40c24fb Mon Sep 17 00:00:00 2001 From: "hyojun.choi" Date: Wed, 10 Dec 2025 10:24:37 +0900 Subject: [PATCH 1/2] =?UTF-8?q?=ED=94=8C=EB=9E=9C=20=EC=9D=B4=EB=8F=99=20?= =?UTF-8?q?=EC=8B=9C=20=EC=99=B8=EB=B2=BD=EC=84=A0=20=EB=82=A8=EC=95=84?= =?UTF-8?q?=EC=9E=88=EB=8A=94=20=ED=98=84=EC=83=81=20=EC=88=98=EC=A0=95=20?= =?UTF-8?q?=EC=A7=80=EB=B6=95=EC=9E=AC=20=EB=B3=80=EA=B2=BD=20=EC=8B=9C=20?= =?UTF-8?q?=EA=B0=99=EC=9D=80=20=EC=A7=80=EB=B6=95=EC=9E=AC=EB=A5=BC=20?= =?UTF-8?q?=EA=B0=80=EC=A7=80=EA=B3=A0=20=EC=9E=88=EB=8A=94=20=EB=8B=A4?= =?UTF-8?q?=EB=A5=B8=20=EC=A7=80=EB=B6=95=EB=93=A4=EC=9D=98=20=EC=A7=80?= =?UTF-8?q?=EB=B6=95=EC=9E=AC=EB=8F=84=20=EB=B3=80=EA=B2=BD=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 --- src/components/floor-plan/CanvasFrame.jsx | 3 +++ src/hooks/roofcover/useRoofAllocationSetting.js | 9 ++++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/components/floor-plan/CanvasFrame.jsx b/src/components/floor-plan/CanvasFrame.jsx index 63dc523a..9441dc7c 100644 --- a/src/components/floor-plan/CanvasFrame.jsx +++ b/src/components/floor-plan/CanvasFrame.jsx @@ -32,6 +32,7 @@ import { useEvent } from '@/hooks/useEvent' import { compasDegAtom } from '@/store/orientationAtom' import { hotkeyStore } from '@/store/hotkeyAtom' import { usePopup } from '@/hooks/usePopup' +import { outerLinePointsState } from '@/store/outerLineAtom' export default function CanvasFrame() { const canvasRef = useRef(null) @@ -45,6 +46,7 @@ export default function CanvasFrame() { const totalDisplay = useRecoilValue(totalDisplaySelector) // 집계표 표시 여부 const { setIsGlobalLoading } = useContext(QcastContext) const resetModuleStatisticsState = useResetRecoilState(moduleStatisticsState) + const resetOuterLinePoints = useResetRecoilState(outerLinePointsState) const resetMakersState = useResetRecoilState(makersState) const resetSelectedMakerState = useResetRecoilState(selectedMakerState) const resetSeriesState = useResetRecoilState(seriesState) @@ -137,6 +139,7 @@ export default function CanvasFrame() { const resetRecoilData = () => { // resetModuleStatisticsState() + resetOuterLinePoints() resetMakersState() resetSelectedMakerState() resetSeriesState() diff --git a/src/hooks/roofcover/useRoofAllocationSetting.js b/src/hooks/roofcover/useRoofAllocationSetting.js index 3ea1894c..4bc26098 100644 --- a/src/hooks/roofcover/useRoofAllocationSetting.js +++ b/src/hooks/roofcover/useRoofAllocationSetting.js @@ -374,11 +374,18 @@ export function useRoofAllocationSetting(id) { setBasicSetting((prev) => { return { ...prev, selectedRoofMaterial: newRoofList.find((roof) => roof.selected) } }) + const selectedRoofMaterial = newRoofList.find((roof) => roof.selected) + const roofs = canvas.getObjects().filter((obj) => obj.name === POLYGON_TYPE.ROOF && obj.roofMaterial?.index === selectedRoofMaterial.index) + + roofs.forEach((roof) => { + setSurfaceShapePattern(roof, roofDisplay.column, false, { ...selectedRoofMaterial }, true) + drawDirectionArrow(roof) + }) setRoofList(newRoofList) setRoofMaterials(newRoofList) setRoofsStore(newRoofList) - const selectedRoofMaterial = newRoofList.find((roof) => roof.selected) + setSurfaceShapePattern(currentObject, roofDisplay.column, false, selectedRoofMaterial, true) drawDirectionArrow(currentObject) modifyModuleSelectionData() From 2205809d0b2abe09bc125f89168ac4ec9ccd426f Mon Sep 17 00:00:00 2001 From: ysCha Date: Wed, 10 Dec 2025 11:20:10 +0900 Subject: [PATCH 2/2] =?UTF-8?q?=EC=8B=9C=EB=AE=AC=EB=A0=88=EC=9D=B4?= =?UTF-8?q?=EC=85=98=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/simulator/Simulator.jsx | 89 ++++++++++++-------------- 1 file changed, 42 insertions(+), 47 deletions(-) diff --git a/src/components/simulator/Simulator.jsx b/src/components/simulator/Simulator.jsx index 9831d1b3..d873049f 100644 --- a/src/components/simulator/Simulator.jsx +++ b/src/components/simulator/Simulator.jsx @@ -264,7 +264,6 @@ export default function Simulator() { style={{ width: '30%' }} className="select-light" value={pwrGnrSimType} - defaultValue={`D`} onChange={(e) => { handleChartChangeData(e.target.value) setPwrGnrSimType(e.target.value) @@ -334,33 +333,31 @@ export default function Simulator() { - {moduleInfoList.length > 0 ? ( - moduleInfoList.map((moduleInfo) => { - return ( - <> - - {/* 지붕면 */} - {moduleInfo.roofSurface} - {/* 경사각 */} - - {convertNumberToPriceDecimal(moduleInfo.slopeAngle)} - {moduleInfo.classType == 0 ? '寸' : 'º'} - - {/* 방위각(도) */} - {convertNumberToPriceDecimal(moduleInfo.azimuth)} - {/* 태양전지모듈 */} - -
{moduleInfo.itemNo}
- - {/* 매수 */} - {convertNumberToPriceDecimal(moduleInfo.amount)} - - - ) - }) - ) : ( - - {getMessage('common.message.no.data')} + {moduleInfoList.length > 0 ? ( + moduleInfoList.map((moduleInfo) => { + return ( + + {/* 지붕면 */} + {moduleInfo.roofSurface} + {/* 경사각 */} + + {convertNumberToPriceDecimal(moduleInfo.slopeAngle)} + {moduleInfo.classType == 0 ? '寸' : 'º'} + + {/* 방위각(도) */} + {convertNumberToPriceDecimal(moduleInfo.azimuth)} + {/* 태양전지모듈 */} + +
{moduleInfo.itemNo}
+ + {/* 매수 */} + {convertNumberToPriceDecimal(moduleInfo.amount)} + + ) + }) + ) : ( + + {getMessage('common.message.no.data')} )} @@ -385,25 +382,23 @@ export default function Simulator() { - {pcsInfoList.length > 0 ? ( - pcsInfoList.map((pcsInfo) => { - return ( - <> - - {/* 파워컨디셔너 */} - -
{pcsInfo.itemNo}
- - {/* 대 */} - {convertNumberToPriceDecimal(pcsInfo.amount)} - - - ) - }) - ) : ( - - {getMessage('common.message.no.data')} - + {pcsInfoList.length > 0 ? ( + pcsInfoList.map((pcsInfo) => { + return ( + + {/* 파워컨디셔너 */} + +
{pcsInfo.itemNo}
+ + {/* 대 */} + {convertNumberToPriceDecimal(pcsInfo.amount)} + + ) + }) + ) : ( + + {getMessage('common.message.no.data')} + )}