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) await reloadCanvasStatus(objectNo, pid)
break break
case 'surface': 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) { const moduleSurfacesArray = canvas
swalFire({ .getObjects()
text: getMessage('module.delete.confirm'), .filter(
type: 'confirm', (obj) =>
confirmFn: () => { obj.name === POLYGON_TYPE.MODULE_SETUP_SURFACE || obj.name === POLYGON_TYPE.MODULE || obj.name === POLYGON_TYPE.OBJECT_SURFACE,
// )
initRoofs()
const moduleSurfacesArray = canvas if (moduleSurfacesArray.length > 0) {
.getObjects() //
.filter( moduleSurfacesArray.forEach((moduleSurface) => {
(obj) => canvas.remove(moduleSurface)
obj.name === POLYGON_TYPE.MODULE_SETUP_SURFACE || obj.name === POLYGON_TYPE.MODULE || obj.name === POLYGON_TYPE.OBJECT_SURFACE, })
) canvas.renderAll()
onClickNav(menu)
if (moduleSurfacesArray.length > 0) { }
// },
moduleSurfacesArray.forEach((moduleSurface) => { denyFn: () => {
canvas.remove(moduleSurface) return
}) },
canvas.renderAll() })
onClickNav(menu) return
}
},
denyFn: () => {
return
},
})
return
} else {
}
} else {
setSelectedMenu(menu.type)
} }
setSelectedMenu(menu.type)
await reloadCanvasStatus(objectNo, pid) await reloadCanvasStatus(objectNo, pid)
break break
case 'module': case 'module':
@ -311,18 +306,6 @@ export default function CanvasMenu(props) {
if (selectedMenu === 'placement') { if (selectedMenu === 'placement') {
onClickPlacementInitialMenu() 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]) }, [selectedMenu])
// (btn08) // (btn08)
@ -425,10 +408,16 @@ export default function CanvasMenu(props) {
const checkMenuState = (menu) => { const checkMenuState = (menu) => {
return ( return (
(['2', '3'].includes(canvasSetting?.roofSizeSet) && menu.type === 'outline') || (['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 () => { onClick={async () => {
if (['2', '3'].includes(canvasSetting?.roofSizeSet) && menu.type === 'outline') return if (['2', '3'].includes(canvasSetting?.roofSizeSet) && menu.type === 'outline') return
if (selectedMenu === 'module' && ['drawing', 'placement'].includes(menu.type)) return if (selectedMenu === 'module' && ['drawing', 'placement'].includes(menu.type)) return
if (isExistModule() && ['placement', 'outline'].some((num) => num === menu.type)) return
await onClickNav(menu) await onClickNav(menu)
}} }}
> >