Merge branch 'qcast-pub' into dev

This commit is contained in:
김민식 2025-02-25 16:57:24 +09:00
commit 22b891dd7f

View File

@ -183,43 +183,38 @@ export default function CanvasMenu(props) {
await reloadCanvasStatus(objectNo, pid)
break
case 'surface':
if (['module', 'estimate', 'simulation'].some((menu) => menu === selectedMenu)) {
const modules = canvas.getObjects().filter((module) => module.name === POLYGON_TYPE.MODULE)
const modules = canvas.getObjects().filter((module) => module.name === POLYGON_TYPE.MODULE)
if (modules.length > 0) {
swalFire({
text: getMessage('module.delete.confirm'),
type: 'confirm',
confirmFn: () => {
//
initRoofs()
if (modules.length > 0) {
swalFire({
text: getMessage('module.delete.confirm'),
type: 'confirm',
confirmFn: () => {
//
initRoofs()
const moduleSurfacesArray = canvas
.getObjects()
.filter(
(obj) =>
obj.name === POLYGON_TYPE.MODULE_SETUP_SURFACE || obj.name === POLYGON_TYPE.MODULE || obj.name === POLYGON_TYPE.OBJECT_SURFACE,
)
const moduleSurfacesArray = canvas
.getObjects()
.filter(
(obj) =>
obj.name === POLYGON_TYPE.MODULE_SETUP_SURFACE || obj.name === POLYGON_TYPE.MODULE || obj.name === POLYGON_TYPE.OBJECT_SURFACE,
)
if (moduleSurfacesArray.length > 0) {
//
moduleSurfacesArray.forEach((moduleSurface) => {
canvas.remove(moduleSurface)
})
canvas.renderAll()
onClickNav(menu)
}
},
denyFn: () => {
return
},
})
return
} else {
}
} else {
setSelectedMenu(menu.type)
if (moduleSurfacesArray.length > 0) {
//
moduleSurfacesArray.forEach((moduleSurface) => {
canvas.remove(moduleSurface)
})
canvas.renderAll()
onClickNav(menu)
}
},
denyFn: () => {
return
},
})
return
}
setSelectedMenu(menu.type)
await reloadCanvasStatus(objectNo, pid)
break
case 'module':
@ -311,18 +306,6 @@ export default function CanvasMenu(props) {
if (selectedMenu === 'placement') {
onClickPlacementInitialMenu()
}
if (selectedMenu === 'surface') {
const moduleSurfacesArray = canvas.getObjects().filter((obj) => obj.name === POLYGON_TYPE.MODULE_SETUP_SURFACE)
if (moduleSurfacesArray.length > 0) {
initRoofs()
moduleSurfacesArray.forEach((moduleSurface) => {
canvas.remove(...moduleSurface.modules)
canvas.remove(moduleSurface)
moduleSurface.modules = []
})
canvas.renderAll()
}
}
}, [selectedMenu])
// (btn08)
@ -425,10 +408,16 @@ export default function CanvasMenu(props) {
const checkMenuState = (menu) => {
return (
(['2', '3'].includes(canvasSetting?.roofSizeSet) && menu.type === 'outline') ||
(selectedMenu === 'module' && ['drawing', 'placement'].includes(menu.type))
(selectedMenu === 'module' && ['drawing', 'placement'].includes(menu.type)) ||
(isExistModule() && ['placement', 'outline'].some((num) => num === menu.type))
)
}
const isExistModule = () => {
const modules = canvas?.getObjects().filter((module) => module.name === POLYGON_TYPE.MODULE) ?? []
return modules.length > 0
}
/**
* 모듈, 회로 구성 이전 메뉴에서 메뉴 클릭으로 넘어올때
* 지붕면 할당이 끝난 지붕이 하나라도 있는지 체크
@ -546,6 +535,7 @@ export default function CanvasMenu(props) {
onClick={async () => {
if (['2', '3'].includes(canvasSetting?.roofSizeSet) && menu.type === 'outline') return
if (selectedMenu === 'module' && ['drawing', 'placement'].includes(menu.type)) return
if (isExistModule() && ['placement', 'outline'].some((num) => num === menu.type)) return
await onClickNav(menu)
}}
>