Merge remote-tracking branch 'origin/qcast-pub' into dev
This commit is contained in:
commit
aab9e654ed
@ -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) => {
|
||||
|
||||
@ -58,9 +58,9 @@ export default function useMenu() {
|
||||
|
||||
if (type === 'surface') {
|
||||
switch (currentMenu) {
|
||||
case MENU.BATCH_CANVAS.SLOPE_SETTING:
|
||||
addPopup(popupId, 1, <Slope id={popupId} />)
|
||||
break
|
||||
// case MENU.BATCH_CANVAS.SLOPE_SETTING:
|
||||
// addPopup(popupId, 1, <Slope id={popupId} />)
|
||||
// break
|
||||
case MENU.BATCH_CANVAS.BATCH_DRAWING:
|
||||
addPopup(popupId, 1, <PlacementShapeDrawing id={popupId} />)
|
||||
break
|
||||
|
||||
@ -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' })
|
||||
|
||||
@ -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: [
|
||||
// 모듈, 회로 구성
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user