diff --git a/src/components/floor-plan/modal/basic/BasicSetting.jsx b/src/components/floor-plan/modal/basic/BasicSetting.jsx
index 49aabd0d..3200ac05 100644
--- a/src/components/floor-plan/modal/basic/BasicSetting.jsx
+++ b/src/components/floor-plan/modal/basic/BasicSetting.jsx
@@ -11,6 +11,10 @@ import { usePopup } from '@/hooks/usePopup'
import { Orientation } from '@/components/floor-plan/modal/basic/step/Orientation'
import { useModuleBasicSetting } from '@/hooks/module/useModuleBasicSetting'
import { useEvent } from '@/hooks/useEvent'
+import { moduleSelectionDataState } from '@/store/selectedModuleOptions'
+import { addedRoofsState } from '@/store/settingAtom'
+import { isObjectNotEmpty } from '@/util/common-utils'
+import Swal from 'sweetalert2'
export default function BasicSetting({ id, pos = { x: 50, y: 230 } }) {
const { getMessage } = useMessage()
@@ -20,13 +24,32 @@ export default function BasicSetting({ id, pos = { x: 50, y: 230 } }) {
const orientationRef = useRef(null)
const { initEvent } = useEvent()
const [isManualModuleSetup, setIsManualModuleSetup] = useRecoilState(isManualModuleSetupState)
+ const moduleSelectionData = useRecoilValue(moduleSelectionDataState)
+ const addedRoofs = useRecoilValue(addedRoofsState)
// const { initEvent } = useContext(EventContext)
const { manualModuleSetup, autoModuleSetup, manualFlatroofModuleSetup, autoFlatroofModuleSetup } = useModuleBasicSetting()
const handleBtnNextStep = () => {
if (tabNum === 1) {
orientationRef.current.handleNextStep()
+ } else if (tabNum === 2) {
+ if (!isObjectNotEmpty(moduleSelectionData.module)) {
+ Swal.fire({
+ title: getMessage('module.not.found'),
+ icon: 'warning',
+ })
+ return
+ }
+
+ if (addedRoofs.length !== moduleSelectionData.roofConstructions.length) {
+ Swal.fire({
+ title: getMessage('construction.length.difference'),
+ icon: 'warning',
+ })
+ return
+ }
}
+
setTabNum(tabNum + 1)
}
diff --git a/src/components/floor-plan/modal/basic/step/Module.jsx b/src/components/floor-plan/modal/basic/step/Module.jsx
index b3dbb0d3..811b21d3 100644
--- a/src/components/floor-plan/modal/basic/step/Module.jsx
+++ b/src/components/floor-plan/modal/basic/step/Module.jsx
@@ -8,6 +8,7 @@ import { useModuleSelection } from '@/hooks/module/useModuleSelection'
import ModuleTabContents from './ModuleTabContents'
import { useDebounceValue } from 'usehooks-ts'
import { moduleSelectionDataState } from '@/store/selectedModuleOptions'
+import { useCanvasPopupStatusController } from '@/hooks/common/useCanvasPopupStatusController'
export default function Module({ setTabNum }) {
const { getMessage } = useMessage()
@@ -31,8 +32,8 @@ export default function Module({ setTabNum }) {
handleChangeVerticalSnowCover,
} = useModuleSelection({ addedRoofs })
- const [inputInstallHeight, setInputInstallHeight] = useState(installHeight)
- const [inputVerticalSnowCover, setInputVerticalSnowCover] = useState(verticalSnowCover)
+ const [inputInstallHeight, setInputInstallHeight] = useState()``
+ const [inputVerticalSnowCover, setInputVerticalSnowCover] = useState()
const [debouncedInstallHeight] = useDebounceValue(inputInstallHeight, 500)
const [debouncedVerticalSnowCover] = useDebounceValue(inputVerticalSnowCover, 500)
@@ -43,15 +44,31 @@ export default function Module({ setTabNum }) {
}, moduleSelectionData)
useEffect(() => {
- setModuleSelectionData(tempModuleSelectionData)
+ if (installHeight) {
+ setInputInstallHeight(installHeight)
+ }
+ if (verticalSnowCover) {
+ setInputVerticalSnowCover(verticalSnowCover)
+ }
+ }, [installHeight, verticalSnowCover])
+
+ useEffect(() => {
+ if (tempModuleSelectionData) {
+ setModuleSelectionData(tempModuleSelectionData)
+ moduleSelectedDataTrigger(tempModuleSelectionData)
+ }
}, [tempModuleSelectionData])
useEffect(() => {
- handleChangeInstallHeight(debouncedInstallHeight)
+ if (debouncedInstallHeight) {
+ handleChangeInstallHeight(debouncedInstallHeight)
+ }
}, [debouncedInstallHeight])
useEffect(() => {
- handleChangeVerticalSnowCover(debouncedVerticalSnowCover)
+ if (debouncedVerticalSnowCover) {
+ handleChangeVerticalSnowCover(debouncedVerticalSnowCover)
+ }
}, [debouncedVerticalSnowCover])
const moduleData = {
@@ -71,6 +88,12 @@ export default function Module({ setTabNum }) {
setRoofTab(tab)
}
+ const { trigger: moduleSelectedDataTrigger } = useCanvasPopupStatusController(2)
+
+ useEffect(() => {
+ console.log('moduleSelectionData', moduleSelectionData)
+ }, [])
+
return (
<>
diff --git a/src/components/floor-plan/modal/basic/step/ModuleTabContents.jsx b/src/components/floor-plan/modal/basic/step/ModuleTabContents.jsx
index 30691d4e..9d644984 100644
--- a/src/components/floor-plan/modal/basic/step/ModuleTabContents.jsx
+++ b/src/components/floor-plan/modal/basic/step/ModuleTabContents.jsx
@@ -464,7 +464,7 @@ export default function ModuleTabContents({ addRoof, roofTab, tempModuleSelectio
type="checkbox"
id={`ch01_${roofTab}`}
disabled={cvrYn === 'N' ? true : false}
- defaultChecked={cvrChecked}
+ checked={cvrChecked}
onChange={handleCvrChecked}
/>
@@ -474,7 +474,7 @@ export default function ModuleTabContents({ addRoof, roofTab, tempModuleSelectio
type="checkbox"
id={`ch02_${roofTab}`}
disabled={snowGdPossYn === 'N' ? true : false}
- defaultChecked={snowGdChecked}
+ checked={snowGdChecked}
onChange={handleSnowGdChecked}
/>
diff --git a/src/hooks/common/useCanvasPopupStatusController.js b/src/hooks/common/useCanvasPopupStatusController.js
index 4138c239..feddf30d 100644
--- a/src/hooks/common/useCanvasPopupStatusController.js
+++ b/src/hooks/common/useCanvasPopupStatusController.js
@@ -18,7 +18,7 @@ export function useCanvasPopupStatusController(param = 1) {
const { getFetcher, postFetcher } = useAxios()
const currentCanvasPlan = useRecoilValue(currentCanvasPlanState)
- console.log('π ~ Orientation ~ currentCanvasPlan:', currentCanvasPlan)
+ // console.log('π ~ Orientation ~ currentCanvasPlan:', currentCanvasPlan)
const {
data: popupStatus,
@@ -30,7 +30,7 @@ export function useCanvasPopupStatusController(param = 1) {
)
useEffect(() => {
- console.log('π ~ useEffect ~ popupStatus:', popupStatus)
+ // console.log('π ~ useEffect ~ popupStatus:', popupStatus)
if (popupStatus) {
switch (parseInt(popupStatus?.popupType)) {
case 1:
diff --git a/src/hooks/module/useModuleBasicSetting.js b/src/hooks/module/useModuleBasicSetting.js
index 098ae26a..305dcda0 100644
--- a/src/hooks/module/useModuleBasicSetting.js
+++ b/src/hooks/module/useModuleBasicSetting.js
@@ -1308,13 +1308,13 @@ export function useModuleBasicSetting() {
const pointX2 = coords[2].x + ((coords[2].y - top) / (coords[2].y - coords[1].y)) * (coords[1].x - coords[2].x)
const pointY2 = top
- const finalLine = new QLine([pointX1, pointY1, pointX2, pointY2], {
- stroke: 'red',
- strokeWidth: 1,
- selectable: true,
- })
- canvas?.add(finalLine)
- canvas?.renderAll()
+ // const finalLine = new QLine([pointX1, pointY1, pointX2, pointY2], {
+ // stroke: 'red',
+ // strokeWidth: 1,
+ // selectable: true,
+ // })
+ // canvas?.add(finalLine)
+ // canvas?.renderAll()
let rtnObj
//νννλ©΄
@@ -1431,13 +1431,13 @@ export function useModuleBasicSetting() {
const pointX2 = top
const pointY2 = coords[2].y + ((coords[2].x - top) / (coords[2].x - coords[1].x)) * (coords[1].y - coords[2].y)
- const finalLine = new QLine([pointX1, pointY1, pointX2, pointY2], {
- stroke: 'red',
- strokeWidth: 1,
- selectable: true,
- })
- canvas?.add(finalLine)
- canvas?.renderAll()
+ // const finalLine = new QLine([pointX1, pointY1, pointX2, pointY2], {
+ // stroke: 'red',
+ // strokeWidth: 1,
+ // selectable: true,
+ // })
+ // canvas?.add(finalLine)
+ // canvas?.renderAll()
let rtnObj
//νννλ©΄
diff --git a/src/hooks/module/useModuleSelection.js b/src/hooks/module/useModuleSelection.js
index 1b775fc6..6bd8ca3b 100644
--- a/src/hooks/module/useModuleSelection.js
+++ b/src/hooks/module/useModuleSelection.js
@@ -15,28 +15,37 @@ export function useModuleSelection(props) {
const [selectedModules, setSelectedModules] = useRecoilState(selectedModuleState) //μ νλ λͺ¨λ
const [selectedSurfaceType, setSelectedSurfaceType] = useState({}) //μ νλ λ©΄μ‘°λ
- const [installHeight, setInstallHeight] = useState(managementState?.installHeight) //μ€μΉ λμ΄
+ const [installHeight, setInstallHeight] = useState() //μ€μΉ λμ΄
const [standardWindSpeed, setStandardWindSpeed] = useState({}) //κΈ°μ€νμ
- const [verticalSnowCover, setVerticalSnowCover] = useState(managementState?.verticalSnowCover) //μμ§μ μ€λ
+ const [verticalSnowCover, setVerticalSnowCover] = useState() //μμ§μ μ€λ
const [moduleSelectionInitParams, setModuleSelectionInitParams] = useRecoilState(moduleSelectionInitParamsState) //λͺ¨λ κΈ°λ³Έ λ°μ΄ν° ex) λ©΄μ‘°λ, λμ΄λ±λ±
const { getModuleTypeItemList } = useMasterController()
const { findCommonCode } = useCommonCode()
- //νλ³ νλΌλ©ν° μ΄κΈ°ν
- useEffect(() => {
+ const bindInitData = () => {
setInstallHeight(managementState?.installHeight)
setStandardWindSpeed(managementState?.standardWindSpeedId)
setVerticalSnowCover(managementState?.verticalSnowCover)
setSelectedSurfaceType(managementState?.surfaceType)
+ }
+ //νλ³ νλΌλ©ν° μ΄κΈ°ν
+ useEffect(() => {
+ bindInitData()
const initParams = {
illuminationTp: managementState?.surfaceTypeValue, //λ©΄μ‘°λ
instHt: managementState?.installHeight, //μ€μΉλμ΄
stdWindSpeed: managementState?.standardWindSpeedId, //κΈ°μ€νμ
stdSnowLd: managementState?.verticalSnowCover, //κΈ°μ€μ μ€λ
}
+
+ if (selectedModules) {
+ initParams.moduleTpCd = selectedModules.itemTp
+ initParams.moduleItemId = selectedModules.itemId
+ }
+
setModuleSelectionInitParams(initParams)
}, [managementState])
@@ -64,9 +73,13 @@ export function useModuleSelection(props) {
return
}
+ console.log('managementState', managementState)
+
//μλ‘κ³ μΉ¨μ λ°μ΄ν° λ μκ°λκ±° λ°©μ§
- if (!managementState) {
+ if (managementState === null) {
setManagementState(managementStateLoaded)
+ } else {
+ bindInitData()
}
getModuleData(roofsIds)
@@ -101,12 +114,23 @@ export function useModuleSelection(props) {
...moduleSelectionInitParams,
illuminationTp: option.clCode,
})
+
+ setManagementState({
+ ...managementState,
+ surfaceType: option.clCodeNm,
+ surfaceTypeValue: option.clCode,
+ })
}
const handleChangeWindSpeed = (option) => {
setModuleSelectionInitParams({
...moduleSelectionInitParams,
- surfaceType: option.clCode,
+ stdWindSpeed: option.clCode,
+ })
+
+ setManagementState({
+ ...managementState,
+ standardWindSpeedId: option.clCode,
})
}
@@ -116,15 +140,24 @@ export function useModuleSelection(props) {
...moduleSelectionInitParams,
instHt: option,
})
+
+ setManagementState({
+ ...managementState,
+ installHeight: option,
+ })
}
const handleChangeVerticalSnowCover = (option) => {
setVerticalSnowCover(option)
-
setModuleSelectionInitParams({
...moduleSelectionInitParams,
stdSnowLd: option,
})
+
+ setManagementState({
+ ...managementState,
+ verticalSnowCover: option,
+ })
}
useEffect(() => {
diff --git a/src/locales/ko.json b/src/locales/ko.json
index d2113d2e..3cf57205 100644
--- a/src/locales/ko.json
+++ b/src/locales/ko.json
@@ -987,5 +987,7 @@
"module.place.no.surface": "μ νλ λͺ¨λ μ€μΉλ©΄μ΄ μμ΅λλ€.",
"module.place.select.module": "λͺ¨λμ μ νν΄μ£ΌμΈμ.",
"module.place.select.one.module": "λͺ¨λμ νλλ§ μ νν΄μ£ΌμΈμ.",
- "batch.canvas.delete.all": "λ°°μΉλ©΄ λ΄μ©μ μ λΆ μμ νμκ² μ΅λκΉ?"
+ "batch.canvas.delete.all": "λ°°μΉλ©΄ λ΄μ©μ μ λΆ μμ νμκ² μ΅λκΉ?",
+ "module.not.found": "μ€μΉ λͺ¨λμ μ ννμΈμ.",
+ "construction.length.difference": "μ§λΆλ©΄ 곡λ²μ μ λΆ μ νν΄μ£ΌμΈμ."
}