+
@@ -1316,7 +1316,6 @@ export default function Estimate({}) {
{getMessage('estimate.detail.remarks')} |
- {/* */}
Date: Thu, 6 Feb 2025 12:25:20 +0900
Subject: [PATCH 25/39] =?UTF-8?q?=F0=9F=93=8Cfix:=20=EB=AA=A8=EB=93=88=20?=
=?UTF-8?q?=ED=9A=8C=EB=A1=9C=EA=B5=AC=EC=84=B1=20=EB=A9=94=EB=89=B4=20?=
=?UTF-8?q?=EC=A7=84=EC=9E=85=EC=8B=9C=20=EC=A1=B0=EA=B1=B4=20=EC=88=98?=
=?UTF-8?q?=EC=A0=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/floor-plan/CanvasMenu.jsx | 20 ++++++++++++++++----
src/components/floor-plan/MenuDepth01.jsx | 2 +-
2 files changed, 17 insertions(+), 5 deletions(-)
diff --git a/src/components/floor-plan/CanvasMenu.jsx b/src/components/floor-plan/CanvasMenu.jsx
index 68808aa9..00bf5f73 100644
--- a/src/components/floor-plan/CanvasMenu.jsx
+++ b/src/components/floor-plan/CanvasMenu.jsx
@@ -172,12 +172,19 @@ export default function CanvasMenu(props) {
setType('surface')
break
case 4:
- if (!checkMenuAndCanvasState()) {
- swalFire({ text: getMessage('menu.validation.canvas.roof') })
- return
+ console.log('🚀 ~ onClickNav ~ menu:', menu)
+ console.log('🚀 ~ onClickNav ~ menuNumber:', menuNumber)
+ if (menuNumber < menu.index) {
+ if (!checkMenuAndCanvasState()) {
+ swalFire({ text: getMessage('menu.validation.canvas.roof') })
+ return
+ } else {
+ setType('module')
+ }
} else {
- setType('module')
+ router.push(`/floor-plan?pid=${pid}&objectNo=${objectNo}`)
}
+
break
case 5:
// let pid = urlParams.get('pid')
@@ -364,6 +371,11 @@ export default function CanvasMenu(props) {
return (['2', '3'].includes(canvasSetting?.roofSizeSet) && menu.index === 2) || (menuNumber === 4 && [1, 2].includes(menu.index))
}
+ /**
+ * 모듈, 회로 구성 이전 메뉴에서 메뉴 클릭으로 넘어올때
+ * 지붕면 할당이 끝난 지붕이 하나라도 있는지 체크
+ * @returns {boolean}
+ */
const checkMenuAndCanvasState = () => {
const roofs = canvas?.getObjects().filter((obj) => obj.name === POLYGON_TYPE.ROOF)
// 지붕면 할당이 끝난 지붕이 하나라도 있는지 체크
diff --git a/src/components/floor-plan/MenuDepth01.jsx b/src/components/floor-plan/MenuDepth01.jsx
index 1253c491..c1f40140 100644
--- a/src/components/floor-plan/MenuDepth01.jsx
+++ b/src/components/floor-plan/MenuDepth01.jsx
@@ -26,7 +26,7 @@ export default function MenuDepth01() {
useEffect(() => {
handleMenu(type)
- canvas.discardActiveObject()
+ canvas?.discardActiveObject()
}, [currentMenu])
return (
From 8de6eda230acb11a4103465e7b93ea86ab3ef5b8 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: Thu, 6 Feb 2025 12:26:25 +0900
Subject: [PATCH 26/39] =?UTF-8?q?=EB=AA=A8=EB=93=88=20=EC=82=AD=EC=A0=9C?=
=?UTF-8?q?=EC=8B=9C=20=EC=A7=91=EA=B3=84=ED=91=9C=20=EB=B0=98=EC=98=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/hooks/module/useModule.js | 14 +++++++++++++-
1 file changed, 13 insertions(+), 1 deletion(-)
diff --git a/src/hooks/module/useModule.js b/src/hooks/module/useModule.js
index 53d3b897..e468b6c7 100644
--- a/src/hooks/module/useModule.js
+++ b/src/hooks/module/useModule.js
@@ -311,7 +311,10 @@ export function useModule() {
canvas.renderAll()
},
})
+ } else {
+ moduleSetupSurface.set({ modules: [...moduleSetupSurface.modules, ...copyModules] })
}
+ setModuleStatisticsData()
}
const moduleMultiCopy = (type, length, direction) => {
@@ -385,6 +388,9 @@ export function useModule() {
canvas.renderAll()
},
})
+ } else {
+ moduleSetupSurface.set({ modules: [...moduleSetupSurface.modules, ...copyModules] })
+ setModuleStatisticsData()
}
}
@@ -500,6 +506,7 @@ export function useModule() {
},
})
}
+ setModuleStatisticsData()
}
const moduleRowRemove = (type) => {
@@ -615,6 +622,7 @@ export function useModule() {
},
})
}
+ setModuleStatisticsData()
}
const moduleColumnInsert = (type) => {
@@ -710,6 +718,7 @@ export function useModule() {
},
})
}
+ setModuleStatisticsData()
}
const muduleRowInsert = (type) => {
@@ -807,6 +816,7 @@ export function useModule() {
},
})
}
+ setModuleStatisticsData()
}
const alignModule = (type, surfaceArray) => {
@@ -879,6 +889,7 @@ export function useModule() {
surface.set({ modules: modules })
canvas.remove(activeModule)
canvas.renderAll()
+ setModuleStatisticsData()
}
const moduleRoofRemove = (surfaceArray) => {
@@ -961,10 +972,11 @@ export function useModule() {
}
const setModuleStatisticsData = () => {
+ if (selectedModules?.length === 0) return
const tempHeader = [
{ name: getMessage('simulator.table.sub1'), prop: 'name' },
{ name: getMessage('modal.circuit.trestle.setting.circuit.allocation.passivity.circuit'), prop: 'circuit' },
- ...selectedModules.itemList.map((module) => {
+ ...selectedModules?.itemList?.map((module) => {
return {
name: module.itemNm,
prop: module.itemId,
From 3c3f307a7c4b40894675fbafb35fef0f009fedfb 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: Thu, 6 Feb 2025 12:27:03 +0900
Subject: [PATCH 27/39] =?UTF-8?q?=EB=B2=84=ED=8A=BC=20=EC=83=89=EC=83=81?=
=?UTF-8?q?=20=EB=B2=88=EA=B2=BD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../modal/circuitTrestle/CircuitTrestleSetting.jsx | 4 ++--
.../floor-plan/modal/panelBatch/PanelBatchStatistics.jsx | 9 ++++++++-
2 files changed, 10 insertions(+), 3 deletions(-)
diff --git a/src/components/floor-plan/modal/circuitTrestle/CircuitTrestleSetting.jsx b/src/components/floor-plan/modal/circuitTrestle/CircuitTrestleSetting.jsx
index 62f6769e..31f3aaa4 100644
--- a/src/components/floor-plan/modal/circuitTrestle/CircuitTrestleSetting.jsx
+++ b/src/components/floor-plan/modal/circuitTrestle/CircuitTrestleSetting.jsx
@@ -604,7 +604,7 @@ export default function CircuitTrestleSetting({ id }) {
{tabNum === 2 && }
{tabNum === 1 && allocationType === ALLOCATION_TYPE.AUTO && (
-
@@ -169,6 +185,7 @@ export default function ContextRoofAllocationSetting(props) {
className="input-origin block"
value={parseInt(roof.hajebichi)}
readOnly={roof.roofPchAuth === 'R'}
+ onChange={(e) => handleChangeInput(e, 'hajebichi', index)}
/>
From d923b8acffdf6abbcac9acaecec66eee9088998f Mon Sep 17 00:00:00 2001
From: "hyojun.choi"
Date: Thu, 6 Feb 2025 17:45:01 +0900
Subject: [PATCH 39/39] =?UTF-8?q?=EC=99=B8=EB=B2=BD=EC=84=A0=20=EA=B7=B8?=
=?UTF-8?q?=EB=A6=B0=20=ED=9B=84,=20=EC=A7=80=EB=B6=95=ED=98=95=EC=83=81?=
=?UTF-8?q?=20=EC=88=98=EB=8F=99=20=EC=84=A4=EC=A0=95=20=EC=8B=9C=20?=
=?UTF-8?q?=EC=98=A4=EB=A5=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/hooks/roofcover/useRoofAllocationSetting.js | 6 +++---
.../roofcover/useRoofShapePassivitySetting.js | 14 ++++++++++++++
2 files changed, 17 insertions(+), 3 deletions(-)
diff --git a/src/hooks/roofcover/useRoofAllocationSetting.js b/src/hooks/roofcover/useRoofAllocationSetting.js
index 550ce5f5..6fda1692 100644
--- a/src/hooks/roofcover/useRoofAllocationSetting.js
+++ b/src/hooks/roofcover/useRoofAllocationSetting.js
@@ -445,9 +445,9 @@ export function useRoofAllocationSetting(id) {
setCurrentRoofList(newRoofList)
}
- const handleChangeInput = (e, type, index) => {
+ const handleChangeInput = (e, type = '', index) => {
const value = e.target.value
- if (type === 'pitch') {
+ /*if (type === 'pitch') {
// type이 pitch인 경우 소수점 1자리까지만 입력 가능
const reg = /^[0-9]+(\.[0-9]{0,1})?$/
@@ -481,7 +481,7 @@ export function useRoofAllocationSetting(id) {
}
return
- }
+ }*/
const newRoofList = currentRoofList.map((roof, idx) => {
if (idx === index) {
diff --git a/src/hooks/roofcover/useRoofShapePassivitySetting.js b/src/hooks/roofcover/useRoofShapePassivitySetting.js
index c51da066..33d5d953 100644
--- a/src/hooks/roofcover/useRoofShapePassivitySetting.js
+++ b/src/hooks/roofcover/useRoofShapePassivitySetting.js
@@ -203,6 +203,20 @@ export function useRoofShapePassivitySetting(id) {
const roofBases = canvas.getObjects().filter((obj) => obj.name === POLYGON_TYPE.ROOF)
const exceptObjs = canvas.getObjects().filter((obj) => obj.name !== 'outerLine' && obj.parent?.name !== 'outerLine')
const lines = canvas.getObjects().filter((obj) => obj.name === 'outerLine')
+
+ let checkedAllSetting = true
+
+ lines.forEach((line) => {
+ if (!line.attributes) {
+ checkedAllSetting = false
+ }
+ })
+
+ if (!checkedAllSetting) {
+ swalFire({ text: '설정이 완료되지 않은 외벽선이 있습니다.', icon: 'warning' })
+ return
+ }
+
exceptObjs.forEach((obj) => {
canvas.remove(obj)
})
|