[1014] : [819の追加 レイアウト指定配置の自動配置]
[작업내용] : 멀티모듈일 경우에 북면 모듈이 같이 계산되는 로직 수정
This commit is contained in:
parent
dbae3380d7
commit
56b8917345
@ -1901,23 +1901,11 @@ export function useModuleBasicSetting(tabNum) {
|
|||||||
failAutoSetupRoof.push(moduleSetupSurface)
|
failAutoSetupRoof.push(moduleSetupSurface)
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
//북면 모듈이 1개만있을때
|
|
||||||
if (checkedModule.length === 1) {
|
|
||||||
const maxRow = trestleDetailData.module.find((item) => item.moduleTpCd === checkedModule[0].moduleTpCd).moduleMaxRows //멀티모듈이면 밖에 maxRows로 판단 아니면 module->itemmList를 가지고 판단
|
|
||||||
|
|
||||||
//단수 합단수
|
|
||||||
const sumRowCount = layoutSetupRef.find((item) => item.moduleId === checkedModule[0].itemId).row //멀티모듈이면 전체 합, 체크된 한개의 열
|
|
||||||
const sumColCount = layoutSetupRef.filter((item) => item.col).some((item) => item.col > maxCol)
|
|
||||||
|
|
||||||
if (sumRowCount > maxRow || sumColCount) {
|
|
||||||
failAutoSetupRoof.push(moduleSetupSurface)
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
} 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)
|
const northModuleIds = northModule.map((item) => item.itemId)
|
||||||
|
let isPassedNormalModule = false
|
||||||
|
|
||||||
//만약 북면 모듈이 2개면 이 하위 로직 가져다가 쓰면됨 northModule === 만 바꾸면 될듯
|
//만약 북면 모듈이 2개면 이 하위 로직 가져다가 쓰면됨 northModule === 만 바꾸면 될듯
|
||||||
// northModule을 배열로 만들고 include로 해서 체크 해야됨
|
// northModule을 배열로 만들고 include로 해서 체크 해야됨
|
||||||
@ -1940,19 +1928,25 @@ export function useModuleBasicSetting(tabNum) {
|
|||||||
const isPassedObject =
|
const isPassedObject =
|
||||||
isMultipleModules &&
|
isMultipleModules &&
|
||||||
layoutSetupRef.find(
|
layoutSetupRef.find(
|
||||||
(item, index) =>
|
(item, index) => item.checked && !item.moduleId.includes(northModuleIds) && item.row > trestleDetailData.module[index].mixModuleMaxRows,
|
||||||
item.checked && !item.moduleId.includes(northModuleIds) && item.row > trestleDetailData.module[index].mixModuleMaxRows,
|
|
||||||
)
|
)
|
||||||
|
|
||||||
// 합산 단수가 맥스단수보다 크거나 열이 맥스열수보다 크거나 혼합일때 모듈 개별의 row가 맥스단수보다 크면 실패
|
// 합산 단수가 맥스단수보다 크거나 열이 맥스열수보다 크거나 혼합일때 모듈 개별의 row가 맥스단수보다 크면 실패
|
||||||
if (sumRowCount > maxRow || sumColCount || isPassedObject) {
|
if (sumRowCount > maxRow || sumColCount || isPassedObject) {
|
||||||
failAutoSetupRoof.push(moduleSetupSurface)
|
failAutoSetupRoof.push(moduleSetupSurface)
|
||||||
return false
|
return false
|
||||||
|
} else {
|
||||||
|
isPassedNormalModule = true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//위에서 일반 모듈이 설치가 완료면 그냥 넘어간다
|
||||||
|
//일반 모듈이 pass라면 일반 모듈이 설치됨
|
||||||
|
//만약 일반모듈이 체크가 안되어 있으면 밑에 로직을 탐
|
||||||
|
if (!isPassedNormalModule) {
|
||||||
//북면 모듈이 있고 북면에 있을때
|
//북면 모듈이 있고 북면에 있을때
|
||||||
if (northModule.length > 0 && (moduleSetupSurface.isNorth || !moduleSetupSurface.isNorth)) {
|
if (northModule.length > 0 && (moduleSetupSurface.isNorth || !moduleSetupSurface.isNorth)) {
|
||||||
|
//북면 모듈이 있는데 일반 모듈이 있을때 북면이 아니면 그냥 북면은 그냥 pass
|
||||||
const isMultipleModules = northModule.length > 1 //모듈이 여러개면
|
const isMultipleModules = northModule.length > 1 //모듈이 여러개면
|
||||||
const maxRow = isMultipleModules
|
const maxRow = isMultipleModules
|
||||||
? trestleDetailData.moduleMaxRows
|
? trestleDetailData.moduleMaxRows
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user