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