diff --git a/src/components/floor-plan/CanvasMenu.jsx b/src/components/floor-plan/CanvasMenu.jsx
index faecb364..30a64e65 100644
--- a/src/components/floor-plan/CanvasMenu.jsx
+++ b/src/components/floor-plan/CanvasMenu.jsx
@@ -296,15 +296,16 @@ export default function CanvasMenu(props) {
}, [type, globalLocale])
useEffect(() => {
- if ([2, 3].some((num) => num === canvasSetting?.roofSizeSet)) {
- setMenuNumber(3)
- setType('surface')
- setCurrentMenu(MENU.BATCH_CANVAS.BATCH_DRAWING)
- } else {
- setMenuNumber(2)
- setType('outline')
- setCurrentMenu(MENU.ROOF_COVERING.EXTERIOR_WALL_LINE)
- }
+ setMenuNumber(1)
+ // if ([2, 3].some((num) => num === canvasSetting?.roofSizeSet)) {
+ // setMenuNumber(3)
+ // setType('surface')
+ // setCurrentMenu(MENU.BATCH_CANVAS.BATCH_DRAWING)
+ // } else {
+ // setMenuNumber(2)
+ // setType('outline')
+ // setCurrentMenu(MENU.ROOF_COVERING.EXTERIOR_WALL_LINE)
+ // }
}, [canvasSetting])
const checkMenuState = (menu) => {
diff --git a/src/hooks/common/useMenu.js b/src/hooks/common/useMenu.js
index 75905a73..a7b6519c 100644
--- a/src/hooks/common/useMenu.js
+++ b/src/hooks/common/useMenu.js
@@ -58,9 +58,9 @@ export default function useMenu() {
if (type === 'surface') {
switch (currentMenu) {
- case MENU.BATCH_CANVAS.SLOPE_SETTING:
- addPopup(popupId, 1, )
- break
+ // case MENU.BATCH_CANVAS.SLOPE_SETTING:
+ // addPopup(popupId, 1, )
+ // break
case MENU.BATCH_CANVAS.BATCH_DRAWING:
addPopup(popupId, 1, )
break
diff --git a/src/hooks/option/useCanvasSetting.js b/src/hooks/option/useCanvasSetting.js
index 19bb7e8e..b3c3b1c7 100644
--- a/src/hooks/option/useCanvasSetting.js
+++ b/src/hooks/option/useCanvasSetting.js
@@ -7,6 +7,7 @@ import {
planSizeSettingState,
dotLineGridSettingState,
canvasSettingState,
+ currentMenuState,
} from '@/store/canvasAtom'
import { globalLocaleStore } from '@/store/localeAtom'
import { useMessage } from '@/hooks/useMessage'
@@ -23,13 +24,15 @@ import {
selectedRoofMaterialSelector,
addedRoofsState,
} from '@/store/settingAtom'
-import { POLYGON_TYPE } from '@/common/common'
+import { MENU, POLYGON_TYPE } from '@/common/common'
import { globalFontAtom } from '@/store/fontAtom'
import { dimensionLineSettingsState } from '@/store/commonUtilsAtom'
import { gridColorState } from '@/store/gridAtom'
import { useColor } from 'react-color-palette'
import { useMasterController } from '@/hooks/common/useMasterController'
import { ROOF_MATERIAL_LAYOUT } from '@/components/floor-plan/modal/placementShape/PlacementShapeSetting'
+import { useCanvasMenu } from '../common/useCanvasMenu'
+import { menuTypeState } from '@/store/menuAtom'
const defaultDotLineGridSetting = {
INTERVAL: {
@@ -43,7 +46,7 @@ const defaultDotLineGridSetting = {
LINE: false,
}
-let previousRoofMaterialsYn = 'N'; // 지붕재 select 정보 비교 후 변경된 것이 없으면 1회만 실행
+let previousRoofMaterialsYn = 'N' // 지붕재 select 정보 비교 후 변경된 것이 없으면 1회만 실행
export function useCanvasSetting() {
const canvas = useRecoilValue(canvasState)
@@ -73,7 +76,7 @@ export function useCanvasSetting() {
)
const [gridColor, setGridColor] = useRecoilState(gridColorState)
const [color, setColor] = useColor(gridColor ?? '#FF0000')
-
+ const { menuNumber, setMenuNumber } = useCanvasMenu()
const [settingsData, setSettingsData] = useState({
...settingModalFirstOptions,
...settingModalSecondOptions,
@@ -99,7 +102,8 @@ export function useCanvasSetting() {
const { getRoofMaterialList, getModuleTypeItemList } = useMasterController()
const [roofMaterials, setRoofMaterials] = useRecoilState(roofMaterialsAtom)
const [addedRoofs, setAddedRoofs] = useRecoilState(addedRoofsState)
-
+ const [type, setType] = useRecoilState(menuTypeState)
+ const setCurrentMenu = useSetRecoilState(currentMenuState)
const SelectOptions = [
{ id: 1, name: getMessage('modal.canvas.setting.grid.dot.line.setting.line.origin'), value: 1 },
{ id: 2, name: '1/2', value: 1 / 2 },
@@ -113,7 +117,7 @@ export function useCanvasSetting() {
if (roofMaterials.length !== 0) {
return
}
- addRoofMaterials()
+ addRoofMaterials()
}, [])
//지붕재 초기세팅
@@ -149,21 +153,21 @@ export function useCanvasSetting() {
setBasicSettings({ ...basicSetting, selectedRoofMaterial: selectedRoofMaterial })
}
- const previousRoofMaterialsRef = useRef(null);
+ const previousRoofMaterialsRef = useRef(null)
useEffect(() => {
// 지붕재 select 정보가 존재해야 배치면초기설정 DB 정보 비교 후 지붕재 정보를 가져올 수 있음
if (roofMaterials.length !== 0 && JSON.stringify(previousRoofMaterialsRef.current) !== JSON.stringify(roofMaterials)) {
// 지붕재 select 정보 비교 후 변경된 것이 없으면 1회만 실행
if (roofMaterials && previousRoofMaterialsYn === 'N') {
- fetchBasicSettings();
- previousRoofMaterialsYn = 'Y';
+ fetchBasicSettings()
+ previousRoofMaterialsYn = 'Y'
}
// 이전 값을 업데이트
- previousRoofMaterialsRef.current = roofMaterials;
+ previousRoofMaterialsRef.current = roofMaterials
}
- }, [roofMaterials]);
+ }, [roofMaterials])
useEffect(() => {
if (!canvas) {
@@ -275,7 +279,6 @@ export function useCanvasSetting() {
const fetchBasicSettings = async () => {
try {
await get({ url: `/api/canvas-management/canvas-basic-settings/by-object/${correntObjectNo}` }).then((res) => {
-
let roofsRow = {}
let roofsArray = {}
@@ -327,25 +330,30 @@ export function useCanvasSetting() {
const addRoofs = []
roofMaterials?.map((material) => {
if (material.roofMatlCd === roofsArray[0].roofMatlCd) {
- addRoofs.push({ ...material, selected: true
- , index: 0
- , width: roofsArray[0].roofWidth
- , length: roofsArray[0].roofHeight
- , hajebichi: roofsArray[0].roofHajebichi
- , raft: roofsArray[0].roofGap
- , layout: roofsArray[0].roofLayout
- , roofSizeSet: roofsRow[0].roofSizeSet
- , roofAngleSet: roofsRow[0].roofAngleSet
- , pitch: roofsArray[0].roofPitch
- , angle: roofsArray[0].roofAngle
- })
-
+ addRoofs.push({
+ ...material,
+ selected: true,
+ index: 0,
+ width: roofsArray[0].roofWidth,
+ length: roofsArray[0].roofHeight,
+ hajebichi: roofsArray[0].roofHajebichi,
+ raft: roofsArray[0].roofGap,
+ layout: roofsArray[0].roofLayout,
+ roofSizeSet: roofsRow[0].roofSizeSet,
+ roofAngleSet: roofsRow[0].roofAngleSet,
+ pitch: roofsArray[0].roofPitch,
+ angle: roofsArray[0].roofAngle,
+ })
+
setAddedRoofs(addRoofs)
- setBasicSettings({ ...basicSetting, roofMaterials: addRoofs[0]
- , roofSizeSet: roofsRow[0].roofSizeSet
- , roofAngleSet: roofsRow[0].roofAngleSet
- , roofsData: roofsArray
- , selectedRoofMaterial: addRoofs[0] })
+ setBasicSettings({
+ ...basicSetting,
+ roofMaterials: addRoofs[0],
+ roofSizeSet: roofsRow[0].roofSizeSet,
+ roofAngleSet: roofsRow[0].roofAngleSet,
+ roofsData: roofsArray,
+ selectedRoofMaterial: addRoofs[0],
+ })
}
})
})
@@ -370,14 +378,26 @@ export function useCanvasSetting() {
{
roofApply: true,
roofSeq: 0,
- roofMatlCd: basicSetting.roofsData.roofMatlCd === null || basicSetting.roofsData.roofMatlCd === undefined ? 'ROOF_ID_WA_53A' : basicSetting.roofsData.roofMatlCd,
- roofWidth: basicSetting.roofsData.roofWidth === null || basicSetting.roofsData.roofWidth === undefined ? 0 : basicSetting.roofsData.roofWidth,
- roofHeight: basicSetting.roofsData.roofHeight === null || basicSetting.roofsData.roofHeight === undefined ? 0 : basicSetting.roofsData.roofHeight,
- roofHajebichi: basicSetting.roofsData.roofHajebichi === null || basicSetting.roofsData.roofHajebichi === undefined ? 0 : basicSetting.roofsData.roofHajebichi,
- roofGap: basicSetting.roofsData.roofGap === null || basicSetting.roofsData.roofGap === undefined ? 'HEI_455' : basicSetting.roofsData.roofGap,
- roofLayout: basicSetting.roofsData.roofLayout === null || basicSetting.roofsData.roofLayout === undefined ? 'P' : basicSetting.roofsData.roofLayout,
- roofPitch: basicSetting.roofsData.roofPitch === null || basicSetting.roofsData.roofPitch === undefined ? 0 : basicSetting.roofsData.roofPitch,
- roofAngle: basicSetting.roofsData.roofAngle === null || basicSetting.roofsData.roofAngle === undefined ? 0 : basicSetting.roofsData.roofAngle,
+ roofMatlCd:
+ basicSetting.roofsData.roofMatlCd === null || basicSetting.roofsData.roofMatlCd === undefined
+ ? 'ROOF_ID_WA_53A'
+ : basicSetting.roofsData.roofMatlCd,
+ roofWidth:
+ basicSetting.roofsData.roofWidth === null || basicSetting.roofsData.roofWidth === undefined ? 0 : basicSetting.roofsData.roofWidth,
+ roofHeight:
+ basicSetting.roofsData.roofHeight === null || basicSetting.roofsData.roofHeight === undefined ? 0 : basicSetting.roofsData.roofHeight,
+ roofHajebichi:
+ basicSetting.roofsData.roofHajebichi === null || basicSetting.roofsData.roofHajebichi === undefined
+ ? 0
+ : basicSetting.roofsData.roofHajebichi,
+ roofGap:
+ basicSetting.roofsData.roofGap === null || basicSetting.roofsData.roofGap === undefined ? 'HEI_455' : basicSetting.roofsData.roofGap,
+ roofLayout:
+ basicSetting.roofsData.roofLayout === null || basicSetting.roofsData.roofLayout === undefined ? 'P' : basicSetting.roofsData.roofLayout,
+ roofPitch:
+ basicSetting.roofsData.roofPitch === null || basicSetting.roofsData.roofPitch === undefined ? 0 : basicSetting.roofsData.roofPitch,
+ roofAngle:
+ basicSetting.roofsData.roofAngle === null || basicSetting.roofsData.roofAngle === undefined ? 0 : basicSetting.roofsData.roofAngle,
},
],
}
@@ -390,7 +410,18 @@ export function useCanvasSetting() {
})
//Recoil 설정
- //setCanvasSetting({ ...basicSetting })
+ //setCanvasSetting({ ...basicSetting })\
+ console.log(basicSetting)
+
+ if (['2', '3'].includes(basicSetting?.roofSizeSet)) {
+ setMenuNumber(3)
+ setType('surface')
+ setCurrentMenu(MENU.BATCH_CANVAS.BATCH_DRAWING)
+ } else {
+ setMenuNumber(2)
+ setType('outline')
+ setCurrentMenu(MENU.ROOF_COVERING.EXTERIOR_WALL_LINE)
+ }
fetchBasicSettings()
} catch (error) {
swalFire({ text: error.message, icon: 'error' })
diff --git a/src/store/menuAtom.js b/src/store/menuAtom.js
index 834498f0..2cf4b841 100644
--- a/src/store/menuAtom.js
+++ b/src/store/menuAtom.js
@@ -49,11 +49,11 @@ export const subMenusState = atom({
],
surface: [
// 배치면
- { id: 0, name: 'plan.menu.placement.surface.slope.setting', menu: MENU.BATCH_CANVAS.SLOPE_SETTING },
- { id: 1, name: 'plan.menu.placement.surface.drawing', menu: MENU.BATCH_CANVAS.BATCH_DRAWING },
- { id: 2, name: 'plan.menu.placement.surface.arrangement', menu: MENU.BATCH_CANVAS.SURFACE_SHAPE_BATCH },
- { id: 3, name: 'plan.menu.placement.surface.object', menu: MENU.BATCH_CANVAS.OBJECT_BATCH },
- { id: 4, name: 'plan.menu.placement.surface.all.remove', menu: MENU.BATCH_CANVAS.ALL_REMOVE },
+ // { id: 0, name: 'plan.menu.placement.surface.slope.setting', menu: MENU.BATCH_CANVAS.SLOPE_SETTING },
+ { id: 0, name: 'plan.menu.placement.surface.drawing', menu: MENU.BATCH_CANVAS.BATCH_DRAWING },
+ { id: 1, name: 'plan.menu.placement.surface.arrangement', menu: MENU.BATCH_CANVAS.SURFACE_SHAPE_BATCH },
+ { id: 2, name: 'plan.menu.placement.surface.object', menu: MENU.BATCH_CANVAS.OBJECT_BATCH },
+ { id: 3, name: 'plan.menu.placement.surface.all.remove', menu: MENU.BATCH_CANVAS.ALL_REMOVE },
],
module: [
// 모듈, 회로 구성