모듈 레이아웃 설치 작업중
This commit is contained in:
parent
d5bba49ca9
commit
08722e8b51
@ -1822,20 +1822,35 @@ export function useModuleBasicSetting(tabNum) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//어짜피 자동으로 누르면 선택안된데도 다 날아간다
|
//어짜피 자동으로 누르면 선택안된데도 다 날아간다
|
||||||
canvas.getObjects().forEach((obj) => {
|
// canvas.getObjects().forEach((obj) => {
|
||||||
if (obj.name === POLYGON_TYPE.MODULE) {
|
// if (obj.name === POLYGON_TYPE.MODULE) {
|
||||||
canvas.remove(obj)
|
// canvas.remove(obj)
|
||||||
}
|
// }
|
||||||
})
|
// })
|
||||||
|
|
||||||
notSelectedTrestlePolygons.forEach((obj) => {
|
//자동일때만 선택 안된 모듈 삭제
|
||||||
if (obj.modules) {
|
if (type === MODULE_SETUP_TYPE.AUTO) {
|
||||||
obj.modules.forEach((module) => {
|
notSelectedTrestlePolygons.forEach((obj) => {
|
||||||
canvas?.remove(module)
|
if (obj.modules) {
|
||||||
})
|
obj.modules.forEach((module) => {
|
||||||
obj.modules = []
|
canvas?.remove(module)
|
||||||
}
|
canvas?.renderAll()
|
||||||
})
|
})
|
||||||
|
obj.modules = []
|
||||||
|
}
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
//레이아웃일때는 기존에 깔린 모듈은 삭제 하지 않음 선택된 영역만 모듈 삭제
|
||||||
|
moduleSetupSurfaces.forEach((obj) => {
|
||||||
|
if (obj.modules) {
|
||||||
|
obj.modules.forEach((module) => {
|
||||||
|
canvas?.remove(module)
|
||||||
|
canvas?.renderAll()
|
||||||
|
})
|
||||||
|
obj.modules = []
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
let moduleOptions = {
|
let moduleOptions = {
|
||||||
stroke: 'black',
|
stroke: 'black',
|
||||||
@ -1936,23 +1951,25 @@ export function useModuleBasicSetting(tabNum) {
|
|||||||
} else {
|
} else {
|
||||||
const normalModule = checkedModule.filter((item) => item.northModuleYn === 'N')
|
const normalModule = checkedModule.filter((item) => item.northModuleYn === 'N')
|
||||||
const northModule = checkedModule.filter((item) => item.northModuleYn === 'Y')
|
const northModule = checkedModule.filter((item) => item.northModuleYn === 'Y')
|
||||||
|
const northModuleIds = northModule.map((item) => item.itemId)
|
||||||
|
|
||||||
//만약 북면 모듈이 2개면 이 하위 로직 가져다가 쓰면됨 northModule === 만 바꾸면 될듯
|
//만약 북면 모듈이 2개면 이 하위 로직 가져다가 쓰면됨 northModule === 만 바꾸면 될듯
|
||||||
// northModule을 배열로 만들고 include로 해서 체크 해야됨
|
// northModule을 배열로 만들고 include로 해서 체크 해야됨
|
||||||
if (normalModule.length > 0 && !moduleSetupSurface.isNorth) {
|
if (normalModule.length > 0 && !moduleSetupSurface.isNorth) {
|
||||||
|
//C1C2 모듈일 경우ㅁㅁ
|
||||||
const isMultipleModules = normalModule.length > 1 //모듈이 여러개면
|
const isMultipleModules = normalModule.length > 1 //모듈이 여러개면
|
||||||
const maxCol = trestleDetailData.moduleMaxCols //최대 열수 -> 얘는 멀티랑 관계없음
|
const maxCol = trestleDetailData.moduleMaxCols //최대 열수 -> 얘는 멀티랑 관계없음
|
||||||
const maxRow = isMultipleModules
|
const maxRow = isMultipleModules
|
||||||
? trestleDetailData.moduleMaxRows
|
? trestleDetailData.moduleMaxRows
|
||||||
: trestleDetailData.module.find((item) => item.moduleTpCd === normalModule[0].moduleTpCd).moduleMaxRows //멀티모듈이면 밖에 maxRows로 판단 아니면 module->itemmList를 가지고 판단
|
: trestleDetailData.module.find((item) => item.moduleTpCd === normalModule[0].moduleTpCd).moduleMaxRows //멀티모듈이면 밖에 maxRows로 판단 아니면 module->itemmList를 가지고 판단
|
||||||
|
|
||||||
//단수 합단수
|
//북면 모듈 id를 제외한 모듈의 단 체크
|
||||||
const sumRowCount = isMultipleModules
|
const sumRowCount = isMultipleModules
|
||||||
? layoutSetupRef.filter((item) => item.checked && item.moduleId !== northModule[0].itemId).reduce((acc, cur) => acc + cur.row, 0)
|
? layoutSetupRef.filter((item) => item.checked && !northModuleIds.includes(item.moduleId)).reduce((acc, cur) => acc + cur.row, 0)
|
||||||
: layoutSetupRef.find((item) => item.moduleId === normalModule[0].itemId).row //멀티모듈이면 전체 합, 체크된 한개의 열
|
: layoutSetupRef.find((item) => item.moduleId === normalModule[0].itemId).row //멀티모듈이면 전체 합, 체크된 한개의 열
|
||||||
|
|
||||||
//
|
//북면 모듈 id를 제외한 모듈의 열 체크
|
||||||
const sumColCount = layoutSetupRef.filter((item) => item.col && item.moduleId !== northModule[0].itemId).some((item) => item.col > maxCol)
|
const sumColCount = layoutSetupRef.filter((item) => item.col && !northModuleIds.includes(item.moduleId)).some((item) => item.col > maxCol)
|
||||||
|
|
||||||
if (sumRowCount > maxRow || sumColCount) {
|
if (sumRowCount > maxRow || sumColCount) {
|
||||||
failAutoSetupRoof.push(moduleSetupSurface)
|
failAutoSetupRoof.push(moduleSetupSurface)
|
||||||
@ -1964,7 +1981,7 @@ export function useModuleBasicSetting(tabNum) {
|
|||||||
isMultipleModules &&
|
isMultipleModules &&
|
||||||
layoutSetupRef.find(
|
layoutSetupRef.find(
|
||||||
(item, index) =>
|
(item, index) =>
|
||||||
item.checked && item.moduleId !== northModule[0].itemId && item.row > trestleDetailData.module[index].mixModuleMaxRows,
|
item.checked && !item.moduleId.includes(northModuleIds) && item.row > trestleDetailData.module[index].mixModuleMaxRows,
|
||||||
)
|
)
|
||||||
|
|
||||||
if (isPassedObject) {
|
if (isPassedObject) {
|
||||||
@ -1974,16 +1991,36 @@ export function useModuleBasicSetting(tabNum) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (northModule.length > 0 && moduleSetupSurface.isNorth) {
|
if (northModule.length > 0 && moduleSetupSurface.isNorth) {
|
||||||
|
const isMultipleModules = northModule.length > 1 //모듈이 여러개면
|
||||||
const maxCol = trestleDetailData.moduleMaxCols //최대 열수 -> 얘는 멀티랑 관계없음
|
const maxCol = trestleDetailData.moduleMaxCols //최대 열수 -> 얘는 멀티랑 관계없음
|
||||||
const maxRow = trestleDetailData.module.find((item) => item.moduleTpCd === checkedModule[0].moduleTpCd).moduleMaxRows //멀티모듈이면 밖에 maxRows로 판단 아니면 module->itemmList를 가지고 판단
|
|
||||||
|
|
||||||
const sumRowCount = layoutSetupRef.find((item) => item.moduleId === northModule[0].itemId).row
|
const maxRow = isMultipleModules
|
||||||
const sumColCount = layoutSetupRef.filter((item) => item.col && item.moduleId !== northModule[0].itemId).some((item) => item.col > maxCol)
|
? trestleDetailData.moduleMaxRows
|
||||||
|
: trestleDetailData.module.find((item) => item.moduleTpCd === northModule[0].moduleTpCd).moduleMaxRows //멀티모듈이면 밖에 maxRows로 판단 아니면 module->itemmList를 가지고 판단
|
||||||
|
|
||||||
|
const sumRowCount = isMultipleModules
|
||||||
|
? layoutSetupRef.filter((item) => northModuleIds.includes(item.moduleId)).reduce((acc, cur) => acc + cur.row, 0)
|
||||||
|
: layoutSetupRef.find((item) => item.moduleId === northModule[0].itemId).row //멀티모듈이면 전체 합, 체크된 한개의 열
|
||||||
|
|
||||||
|
const sumColCount = layoutSetupRef.filter((item) => item.col && northModuleIds.includes(item.moduleId)).some((item) => item.col > maxCol)
|
||||||
|
|
||||||
if (sumRowCount > maxRow || sumColCount) {
|
if (sumRowCount > maxRow || sumColCount) {
|
||||||
failAutoSetupRoof.push(moduleSetupSurface)
|
failAutoSetupRoof.push(moduleSetupSurface)
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 혼합일때 모듈 개별의 row를 체크함
|
||||||
|
const isPassedObject =
|
||||||
|
isMultipleModules &&
|
||||||
|
layoutSetupRef.find(
|
||||||
|
(item, index) =>
|
||||||
|
item.checked && northModuleIds.includes(item.moduleId) && item.row > trestleDetailData.module[index].mixModuleMaxRows,
|
||||||
|
)
|
||||||
|
|
||||||
|
if (isPassedObject) {
|
||||||
|
failAutoSetupRoof.push(moduleSetupSurface)
|
||||||
|
return false
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user