레이아웃 모듈 설치 validate 추가

This commit is contained in:
yjnoh 2025-03-27 14:11:23 +09:00
parent 7fcaaece53
commit 63d8ae092c
3 changed files with 30 additions and 6 deletions

View File

@ -81,7 +81,7 @@ export function useModuleBasicSetting(tabNum) {
removeMouseEvent('mouse:up')
removeMouseEvent('mouse:move')
canvas?.remove(...canvas?.getObjects().filter((obj) => obj.name === 'tempModule')) //움직일때 일단 지워가면서 움직임
canvas.getObjects().forEach((obj) => {
canvas?.getObjects().forEach((obj) => {
if (obj.name === POLYGON_TYPE.ROOF) {
obj.set({
stroke: 'black',
@ -1282,13 +1282,35 @@ export function useModuleBasicSetting(tabNum) {
? trestlePolygon.trestleDetail.moduleMaxRows
: trestlePolygon.trestleDetail.module.find((item) => item.moduleTpCd === checkedModule[0].moduleTpCd).moduleMaxRows //멀티모듈이면 밖에 maxRows로 판단 아니면 module->itemmList를 가지고 판단
const sumColCount = layoutSetupRef.reduce((acc, cur) => acc + cur.col, 0) //입력한 행의 합
//단수 합단수
const sumRowCount = isMultipleModules
? layoutSetupRef.reduce((acc, cur) => acc + cur.row, 0)
: layoutSetupRef.find((item) => item.moduleId === checkedModule[0].itemId).row //멀티모듈이면 전체 합, 체크된 한개의 열
if (sumRowCount > maxRow || sumColCount > maxCol) {
swalFire({ text: getMessage('module.layout.setup.max.count', [maxRow, maxCol]) })
//
const sumColCount = layoutSetupRef.filter((item) => item.col).some((item) => item.col > maxCol)
if (sumRowCount > maxRow || sumColCount) {
swalFire({ text: getMessage('module.layout.setup.max.count', [maxRow, maxCol]), icon: 'warning' })
return
}
let alertMessage = ''
let isPassed = true
if (isMultipleModules) {
layoutSetupRef.forEach((item, index) => {
const moduleInfo = trestlePolygon.trestleDetail.module[index]
if (item.row > moduleInfo.mixModuleMaxRows) {
alertMessage = getMessage('module.layout.setup.max.count.multiple', [index + 1, moduleInfo.mixModuleMaxRows, maxCol])
isPassed = false
}
})
}
console.log(alertMessage)
if (!isPassed) {
swalFire({ text: alertMessage, icon: 'warning' })
return
}

View File

@ -1043,5 +1043,6 @@
"roof.line.not.found": "屋根形状がありません",
"roof.material.can.not.delete": "割り当てられた配置面があります。",
"module.layout.setup.max.count": "모듈의 최대 단수는 {0}, 최대 열수는 {1} 입니다. (JA)",
"chidory.can.not.install": "千鳥配置できない工法です。"
"chidory.can.not.install": "千鳥配置できない工法です。",
"module.layout.setup.max.count.multiple": "모듈 {0}번의 최대 단수는 {1}, 최대 열수는 {2} 입니다. (JA)"
}

View File

@ -1043,5 +1043,6 @@
"roof.line.not.found": "지붕형상이 없습니다.",
"roof.material.can.not.delete": "할당된 배치면이 있습니다.",
"module.layout.setup.max.count": "모듈의 최대 단수는 {0}, 최대 열수는 {1} 입니다.",
"chidory.can.not.install": "치조 불가 공법입니다."
"chidory.can.not.install": "치조 불가 공법입니다.",
"module.layout.setup.max.count.multiple": "모듈 {0}번의 최대 단수는 {1}, 최대 열수는 {2} 입니다."
}