From fe957102d964e0ddaa47ba20d63a19f53834a8dd Mon Sep 17 00:00:00 2001 From: yjnoh Date: Mon, 28 Apr 2025 13:20:35 +0900 Subject: [PATCH 01/10] =?UTF-8?q?=EB=AA=A8=EB=93=88=20=EC=9E=90=EB=8F=99?= =?UTF-8?q?=20=EB=A0=88=EC=9D=B4=EC=95=84=EC=9B=83=20=EC=84=A4=EC=B9=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../floor-plan/modal/basic/BasicSetting.jsx | 5 +- src/hooks/common/useMasterController.js | 2 +- src/hooks/module/useModuleBasicSetting.js | 450 +++++++++++++++--- src/locales/ja.json | 3 +- src/locales/ko.json | 3 +- 5 files changed, 397 insertions(+), 66 deletions(-) diff --git a/src/components/floor-plan/modal/basic/BasicSetting.jsx b/src/components/floor-plan/modal/basic/BasicSetting.jsx index 9a09aa1e..a930c148 100644 --- a/src/components/floor-plan/modal/basic/BasicSetting.jsx +++ b/src/components/floor-plan/modal/basic/BasicSetting.jsx @@ -334,9 +334,12 @@ export default function BasicSetting({ id, pos = { x: 50, y: 230 } }) { - + )} diff --git a/src/hooks/common/useMasterController.js b/src/hooks/common/useMasterController.js index 60aab800..21220726 100644 --- a/src/hooks/common/useMasterController.js +++ b/src/hooks/common/useMasterController.js @@ -18,7 +18,7 @@ export function useMasterController() { */ const getRoofMaterialList = async () => { return await get({ url: '/api/v1/master/getRoofMaterialList' }).then((res) => { - console.log('๐Ÿš€๐Ÿš€ ~ getRoofMaterialList ~ res:', res) + // console.log('๐Ÿš€๐Ÿš€ ~ getRoofMaterialList ~ res:', res) return res }) } diff --git a/src/hooks/module/useModuleBasicSetting.js b/src/hooks/module/useModuleBasicSetting.js index 1871e34a..86279910 100644 --- a/src/hooks/module/useModuleBasicSetting.js +++ b/src/hooks/module/useModuleBasicSetting.js @@ -95,7 +95,7 @@ export function useModuleBasicSetting(tabNum) { setTrestleDetailList(roofConstructionArray) //๋ถ๋ฉด ์„ค์น˜ ๊ฐ€๋Šฅ ํŒ๋งค์  - if (moduleSelectionData.common.saleStoreNorthFlg === '1') { + if (moduleSelectionData.common.saleStoreNorthFlg == '1') { setSaleStoreNorthFlg(true) } } @@ -111,6 +111,10 @@ export function useModuleBasicSetting(tabNum) { } } + useEffect(() => { + console.log('saleStoreNorthFlg', saleStoreNorthFlg) + }, [saleStoreNorthFlg]) + //๊ฐ€๋Œ€ ์ƒ์„ธ ๋ฐ์ดํ„ฐ ๋“ค์–ด์˜ค๋ฉด ์‹คํ–‰ useEffect(() => { if (trestleDetailList.length > 0) { @@ -236,8 +240,26 @@ export function useModuleBasicSetting(tabNum) { } }) + let isNorth = false + const isExistSurface = canvas.getObjects().find((obj) => obj.name === POLYGON_TYPE.MODULE_SETUP_SURFACE && obj.parentId === roof.id) + if (isExistSurface) { + if (canvasSetting.roofSizeSet != '3') { + //๋ถ๋ฉด์ด ์žˆ์ง€๋งŒ + if (roof.directionText && roof.directionText.indexOf('ๅŒ—') > -1) { + //๋ถ์ชฝ์ผ๋•Œ ํ•ด๋‹น ์„œ๋ถ์„œ, ๋™๋ถ๋™์€ ์ œ์™ธํ•œ๋‹ค๊ณ  ํ•œ๋‹ค + if (!(roof.directionText.indexOf('่ฅฟๅŒ—่ฅฟ') > -1 || roof.directionText.indexOf('ๆฑๅŒ—ๆฑ') > -1)) { + isNorth = true + } + } + + isExistSurface.set({ + isNorth: isNorth, //๋ถ๋ฉด์—ฌ๋ถ€ + isSaleStoreNorthFlg: moduleSelectionData.common.saleStoreNorthFlg == '1' ? true : false, //๋ถ๋ฉด์„ค์น˜๊ฐ€๋Šฅ์  ์—ฌ๋ถ€ + }) + } + addTargetMouseEventListener('mousedown', isExistSurface, function () { toggleSelection(isExistSurface) }) @@ -270,7 +292,6 @@ export function useModuleBasicSetting(tabNum) { //๋ชจ๋“ˆ์„ค์น˜์˜์—ญ?? ์ƒ์„ฑ const surfaceId = uuidv4() - let isNorth = false if (canvasSetting.roofSizeSet != '3') { //๋ถ๋ฉด์ด ์žˆ์ง€๋งŒ @@ -307,6 +328,7 @@ export function useModuleBasicSetting(tabNum) { trestleDetail: trestleDetail, isNorth: isNorth, perPixelTargetFind: true, + isSaleStoreNorthFlg: moduleSelectionData.common.saleStoreNorthFlg == '1' ? true : false, //๋ถ๋ฉด์„ค์น˜๊ฐ€๋Šฅ์  ์—ฌ๋ถ€ // angle: -compasDeg, }) @@ -352,8 +374,11 @@ export function useModuleBasicSetting(tabNum) { const isExist = selectedModuleInstSurfaceArray.some((obj) => obj.parentId === setupSurface.parentId) //์ตœ์ดˆ ์„ ํƒ์ผ๋•Œ if (!isExist) { - //์„ค์น˜๋ฉด์ด ๋ถ๋ฉด์ด๊ณ  ๋ถ๋ฉด์„ค์น˜ ํ—ˆ์šฉ์ ์ด ์•„๋‹ˆ๋ฉด - if (setupSurface.isNorth && !saleStoreNorthFlg) { + //๋ชจ๋“ˆ์— ๋ถ๋ฉด ์„ค์น˜ ๊ฐ€๋Šฅ ๋ชจ๋“ˆ์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•จ + const isNorthModuleYn = moduleSelectionData?.module.itemList.some((module) => module.northModuleYn === 'Y') + + //์„ค์น˜๋ฉด์ด ๋ถ๋ฉด์ด๊ณ  ๋ถ๋ฉด์„ค์น˜ ํ—ˆ์šฉ์ ์ด ์•„๋‹ˆ๋ฉด ๋ถ๋ฉด ๋ชจ๋“ˆ์ด ํ•œ๊ฐœ๋„ ์—†์œผ๋ฉด + if (setupSurface.isNorth && !setupSurface.isSaleStoreNorthFlg && !isNorthModuleYn) { swalFire({ text: getMessage('module.not.batch.north'), icon: 'warning' }) return } @@ -538,9 +563,15 @@ export function useModuleBasicSetting(tabNum) { parentId: moduleSetupSurfaces[i].parentId, }) + const northModuleYn = checkedModule.some((module) => module.northModuleYn === 'Y') //๋ถ๋ฉด์ด๊ณ  ๋ถ๋ฉด์„ค์น˜์ƒ์ ์ด ์•„๋‹ˆ๋ฉด ๊ทธ๋ƒฅ return - if (trestlePolygon.isNorth && !saleStoreNorthFlg) { - return + if (trestlePolygon.isNorth && !trestlePolygon.isSaleStoreNorthFlg) { + if (!northModuleYn) { + //๋ถ๋ฉด์ด๊ณ  ์„ค์น˜ ๊ฐ€๋Šฅ ์ƒ์ ์ด ์•„๋‹Œ๋ฐ ๋ถ๋ฉด ์„ค์น˜ ๋ชจ๋“ˆ์ด ์žˆ์œผ๋ฉด + return + } else { + canvas?.add(tempModule) //์›€์ง์—ฌ๊ฐ€๋ฉด์„œ ์ถ”๊ฐ€๋จ + } } else { canvas?.add(tempModule) //์›€์ง์—ฌ๊ฐ€๋ฉด์„œ ์ถ”๊ฐ€๋จ } @@ -765,7 +796,7 @@ export function useModuleBasicSetting(tabNum) { const mixAsgYn = trestlePolygon.modules[0].moduleInfo.mixAsgYn //ํ˜„์žฌ ์ฒดํฌ๋œ ๋ชจ๋“ˆ๊ธฐ์ค€์œผ๋กœ ํ˜ผํ•ฉ๊ฐ€๋Šฅ์ธ์ง€ ํ™•์ธ Y === Y, N === N ์ผ๋•Œ๋งŒ ์„ค์น˜ ๊ฐ€๋Šฅ if (checkedModule[0].mixAsgYn !== mixAsgYn) { - swalFire({ text: getMessage('modal.module.basic.setting.module.placement.mix.asg.yn.error') }) + swalFire({ text: getMessage('modal.module.basic.setting.module.placement.mix.asg.yn.error'), icon: 'warning' }) return } } @@ -798,7 +829,7 @@ export function useModuleBasicSetting(tabNum) { const intersection = turf.intersect(turf.featureCollection([dormerTurfPolygon, tempTurfModule])) //๊ฒน์น˜๋Š”์ง€ ํ™•์ธ //๊ฒน์น˜๋ฉด ์•ˆ๋จ if (intersection) { - swalFire({ text: getMessage('module.place.overobject') }) + swalFire({ text: getMessage('module.place.overobject'), icon: 'warning' }) isIntersection = false } }) @@ -876,7 +907,7 @@ export function useModuleBasicSetting(tabNum) { } if (checkedModule.length === 0) { - swalFire({ text: getMessage('module.place.select.module') }) + swalFire({ text: getMessage('module.place.select.module'), icon: 'warning' }) setIsManualModuleLayoutSetup(false) setManualSetupMode(`manualLayoutSetup_false`) return @@ -890,7 +921,7 @@ export function useModuleBasicSetting(tabNum) { ) if (hasZeroLength) { - swalFire({ text: getMessage('module.layout.setup.has.zero.value') }) + swalFire({ text: getMessage('module.layout.setup.has.zero.value'), icon: 'warning' }) setIsManualModuleLayoutSetup(false) setManualSetupMode(`manualLayoutSetup_false`) return @@ -902,7 +933,7 @@ export function useModuleBasicSetting(tabNum) { //Y์ธ ๋ชจ๋“ˆ๊ณผ N์ธ ๋ชจ๋“ˆ์ด ๋‘˜๋‹ค ์กด์žฌํ•˜๋ฉด ์„ค์น˜ ๋ถˆ๊ฐ€ if (mixAsgY.length > 0 && mixAsgN.length > 0) { - swalFire({ text: getMessage('modal.module.basic.setting.module.placement.mix.asg.yn.error') }) + swalFire({ text: getMessage('modal.module.basic.setting.module.placement.mix.asg.yn.error'), icon: 'warning' }) return } @@ -1068,9 +1099,15 @@ export function useModuleBasicSetting(tabNum) { parentId: moduleSetupSurfaces[i].parentId, }) + const northModuleYn = checkedModule.some((module) => module.northModuleYn === 'Y') //๋ถ๋ฉด์ด๊ณ  ๋ถ๋ฉด์„ค์น˜์ƒ์ ์ด ์•„๋‹ˆ๋ฉด ๊ทธ๋ƒฅ return - if (trestlePolygon.isNorth && !saleStoreNorthFlg) { - return + if (trestlePolygon.isNorth && !trestlePolygon.isSaleStoreNorthFlg) { + if (!northModuleYn) { + //๋ถ๋ฉด์ด๊ณ  ์„ค์น˜ ๊ฐ€๋Šฅ ์ƒ์ ์ด ์•„๋‹Œ๋ฐ ๋ถ๋ฉด ์„ค์น˜ ๋ชจ๋“ˆ์ด ์žˆ์œผ๋ฉด + return + } else { + canvas?.add(tempModule) //์›€์ง์—ฌ๊ฐ€๋ฉด์„œ ์ถ”๊ฐ€๋จ + } } else { canvas?.add(tempModule) //์›€์ง์—ฌ๊ฐ€๋ฉด์„œ ์ถ”๊ฐ€๋จ } @@ -1732,23 +1769,51 @@ export function useModuleBasicSetting(tabNum) { } //์ž๋™ ๋ชจ๋“ˆ ์„ค์น˜(๊ทธ๋ฆฌ๋“œ ๋ฐฉ์‹) - const autoModuleSetup = (placementRef) => { + const autoModuleSetup = (type, layoutSetupRef) => { initEvent() //๋งˆ์šฐ์Šค ์ด๋ฒคํŠธ ์ดˆ๊ธฐํ™” + //์‹คํŒจํ•œ ์ง€๋ถ•์žฌ ๋ฐฐ์—ด + let failAutoSetupRoof = [] + + let checkedLayoutData + + /** + * ์ž๋™ ๋ ˆ์ด์•„์›ƒ์ผ๋•Œ 0์ด ์žˆ๊ฑฐ๋‚˜ ํ˜ผํ•ฉ์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๋กœ์ง + */ + if (type === 'layout') { + checkedLayoutData = layoutSetupRef.filter((module) => module.checked) + const hasZeroLength = checkedLayoutData.some((module) => module.row === 0 || module.col === 0) + + if (hasZeroLength) { + swalFire({ text: getMessage('module.layout.setup.has.zero.value'), icon: 'warning' }) + return + } + + //ํ˜ผํ•ฉ ๊ฐ€๋Šฅ ๋ชจ๋“ˆ๊ณผ ํ˜ผํ•ฉ ๋ถˆ๊ฐ€๋Šฅ ๋ชจ๋“ˆ์„ ์„ ํƒํ–ˆ์„๋•Œ ์นด์šดํŠธ๋ฅผ ํ•ด์„œ ํ™•์ธ + const mixAsgY = checkedModule.filter((obj) => obj.mixAsgYn === 'Y') + const mixAsgN = checkedModule.filter((obj) => obj.mixAsgYn === 'N') + + //Y์ธ ๋ชจ๋“ˆ๊ณผ N์ธ ๋ชจ๋“ˆ์ด ๋‘˜๋‹ค ์กด์žฌํ•˜๋ฉด ์„ค์น˜ ๋ถˆ๊ฐ€ + if (mixAsgY.length > 0 && mixAsgN.length > 0) { + swalFire({ text: getMessage('modal.module.basic.setting.module.placement.mix.asg.yn.error'), icon: 'warning' }) + return + } + } + if (checkedModule.length === 0) { - swalFire({ text: getMessage('module.place.select.module') }) + swalFire({ text: getMessage('module.place.select.module'), icon: 'warning' }) return } - //ํ˜ผํ•ฉ ๊ฐ€๋Šฅ ๋ชจ๋“ˆ๊ณผ ํ˜ผํ•ฉ ๋ถˆ๊ฐ€๋Šฅ ๋ชจ๋“ˆ์„ ์„ ํƒํ–ˆ์„๋•Œ ์นด์šดํŠธ๋ฅผ ํ•ด์„œ ํ™•์ธ - const mixAsgY = checkedModule.filter((obj) => obj.mixAsgYn === 'Y') - const mixAsgN = checkedModule.filter((obj) => obj.mixAsgYn === 'N') + // //ํ˜ผํ•ฉ ๊ฐ€๋Šฅ ๋ชจ๋“ˆ๊ณผ ํ˜ผํ•ฉ ๋ถˆ๊ฐ€๋Šฅ ๋ชจ๋“ˆ์„ ์„ ํƒํ–ˆ์„๋•Œ ์นด์šดํŠธ๋ฅผ ํ•ด์„œ ํ™•์ธ + // const mixAsgY = checkedModule.filter((obj) => obj.mixAsgYn === 'Y') + // const mixAsgN = checkedModule.filter((obj) => obj.mixAsgYn === 'N') - //Y์ธ ๋ชจ๋“ˆ๊ณผ N์ธ ๋ชจ๋“ˆ์ด ๋‘˜๋‹ค ์กด์žฌํ•˜๋ฉด ์„ค์น˜ ๋ถˆ๊ฐ€ - if (mixAsgY.length > 0 && mixAsgN.length > 0) { - swalFire({ text: getMessage('modal.module.basic.setting.module.placement.mix.asg.yn.error') }) - return - } + // //Y์ธ ๋ชจ๋“ˆ๊ณผ N์ธ ๋ชจ๋“ˆ์ด ๋‘˜๋‹ค ์กด์žฌํ•˜๋ฉด ์„ค์น˜ ๋ถˆ๊ฐ€ + // if (mixAsgY.length > 0 && mixAsgN.length > 0) { + // swalFire({ text: getMessage('modal.module.basic.setting.module.placement.mix.asg.yn.error') }) + // return + // } const isChidori = moduleSetupOption.isChidori const setupLocation = moduleSetupOption.setupLocation @@ -1820,14 +1885,50 @@ export function useModuleBasicSetting(tabNum) { return turf.booleanContains(turfModuleSetupSurface, squarePolygon) || turf.booleanWithin(squarePolygon, turfModuleSetupSurface) } + /** + * ์ž๋™ ๋ ˆ์ด์•„์›ƒ ์„ค์น˜ ์ผ์‹œ row col ์ดˆ๊ณผ ์—ฌ๋ถ€ ํ™•์ธ + * @param {*} trestleDetailData + * @returns + */ + const checkAutoLayoutModuleSetup = (moduleSetupSurface, trestleDetailData) => { + const isMultipleModules = checkedModule.length > 1 //๋ชจ๋“ˆ์ด ์—ฌ๋Ÿฌ๊ฐœ๋ฉด + const maxCol = trestleDetailData.moduleMaxCols //์ตœ๋Œ€ ์—ด์ˆ˜ -> ์–˜๋Š” ๋ฉ€ํ‹ฐ๋ž‘ ๊ด€๊ณ„์—†์Œ + const maxRow = isMultipleModules + ? trestleDetailData.moduleMaxRows + : trestleDetailData.module.find((item) => item.moduleTpCd === checkedModule[0].moduleTpCd).moduleMaxRows //๋ฉ€ํ‹ฐ๋ชจ๋“ˆ์ด๋ฉด ๋ฐ–์— maxRows๋กœ ํŒ๋‹จ ์•„๋‹ˆ๋ฉด module->itemmList๋ฅผ ๊ฐ€์ง€๊ณ  ํŒ๋‹จ + + //๋‹จ์ˆ˜ ํ•ฉ๋‹จ์ˆ˜ + const sumRowCount = isMultipleModules + ? layoutSetupRef.filter((item) => item.checked).reduce((acc, cur) => acc + cur.row, 0) + : 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 + } + + // ํ˜ผํ•ฉ์ผ๋•Œ ๋ชจ๋“ˆ ๊ฐœ๋ณ„์˜ row๋ฅผ ์ฒดํฌํ•จ + const isPassedObject = + isMultipleModules && layoutSetupRef.find((item, index) => item.checked && item.row > trestleDetailData.module[index].mixModuleMaxRows) + + if (isPassedObject) { + failAutoSetupRoof.push(moduleSetupSurface) + return false + } + return true + } + //ํ๋ฆ„ ๋ฐฉํ–ฅ์ด ๋‚จ์ชฝ(์•„๋ž˜) const downFlowSetupModule = ( - surfaceMaxLines, + surfaceMaxLines, //deprecated maxLengthLine, moduleSetupArray, moduleSetupSurface, containsBatchObjects, - isCenter = false, + isCenter = false, //deprecated intvHor, intvVer, ) => { @@ -1840,8 +1941,35 @@ export function useModuleBasicSetting(tabNum) { let installedModuleHeightCount = 0 //๋งˆ์ง€๋ง‰์œผ๋กœ ์„ค์น˜๋œ ๋ชจ๋“ˆ์˜ ์นด์šดํŠธ let isChidoriLine = false let flowLines + let installedModuleMixYn + const isNorthSurface = moduleSetupSurface.isNorth + const isIncludeNorthModule = checkedModule.some((module) => module.northModuleYn === 'Y') //์ฒดํฌ๋œ ๋ชจ๋“ˆ ์ค‘์— ๋ถ๋ฉด ๋ชจ๋“ˆ์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๋กœ์ง + + let layoutRow = 0 + let layoutCol = 0 + + if (type === 'layout') { + const isPassed = checkAutoLayoutModuleSetup(moduleSetupSurface, trestleDetailData) + if (!isPassed) { + return + } + } + + for (let moduleIndex = 0; moduleIndex < checkedModule.length; moduleIndex++) { + const module = checkedModule[moduleIndex] + + if (type === 'layout' && checkedLayoutData) { + const layout = checkedLayoutData.find((item) => module.itemId === item.moduleId) + layoutRow = layout.row + layoutCol = layout.col + } + //ํ˜ผํ•ฉ์—ฌ๋ถ€์— ๋”ฐ๋ผ ์„ค์น˜ ์—ฌ๋ถ€ ๊ฒฐ์ • + if (installedModuleMixYn && installedModuleMixYn !== module.mixAsgYn) { + continue + } + //๋ถ๋ฉด์ผ๋•Œ + const isNorthModuleYn = module.northModuleYn === 'Y' - checkedModule.forEach((module, moduleIndex) => { const tmpModuleData = trestleDetailData.module.filter((moduleObj) => module.moduleTpCd === moduleObj.moduleTpCd)[0] //ํ˜ผํ•ฉ๋ชจ๋“ˆ์ผ๋•Œ๋Š” mixModuleMaxRows ๊ฐ’์ด 0 ์ด์ƒ์ž„ // let moduleMaxRows = tmpModuleData.mixModuleMaxRows === 0 ? tmpModuleData.moduleMaxRows : tmpModuleData.mixModuleMaxRows @@ -1857,18 +1985,38 @@ export function useModuleBasicSetting(tabNum) { } } + if (moduleSetupSurface.isSaleStoreNorthFlg) { + //๋ถ๋ฉด์ผ๋•Œ + if (isIncludeNorthModule) { + if (!isNorthModuleYn && isNorthSurface) { + continue + } //ํ๋ฆ„ ๋ฐฉํ–ฅ์ด ๋ถ์ชฝ(์œ„) + } + } else { + if (isNorthSurface) { + if (!isNorthModuleYn) { + continue + } + } + } + //์œก์ง€๋ถ•์ด ์•„๋‹๋•Œ๋งŒ ๋„ฃ๋Š”๋‹ค ์œก์ง€๋ถ•์ผ๋• ํด๋ฆญ ์ด๋ฒคํŠธ์— ๋ณ„๋„๋กœ ๋„ฃ์–ด๋†“์Œ const moduleArray = [] let calcAreaWidth = Math.abs(flowLines.right.x1 - flowLines.left.x1) //์˜ค๋ฅธ์ชฝ x์—์„œ ์™ผ์ชฝ x๋ฅผ ๋บ€ ๊ฐ€์šด๋ฐ๋ฅผ ์ฐพ๋Š” ๋กœ์ง let calcModuleWidthCount = calcAreaWidth / (width + intvHor + 1) //๋บ€ ๊ณต๊ฐ„์—์„œ ๋ชจ๋“ˆ์„ ๋ช‡๊ฐœ๋ฅผ ๋„ฃ์„์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๋กœ์ง - let calcMaxModuleWidthCount = calcModuleWidthCount > moduleMaxCols ? moduleMaxCols : calcModuleWidthCount //์ตœ๋Œ€ ๋ชจ๋“ˆ ๋‹จ์ˆ˜๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ตœ๋Œ€ ๋‹จ์ˆ˜๋ณด๋‹ค ์นด์šดํŠธ๊ฐ€ ํฌ๋ฉด ์ตœ๋Œ€ ๋‹จ์ˆ˜๋กœ ์”€์”€ - let totalModuleWidthCount = Math.floor(calcMaxModuleWidthCount) //์น˜์กฐ๋ฐฐ์น˜์ผ๊ฒฝ์šฐ๋Š” ํ•œ๊ฐœ ๋” ๋„ฃ๋Š”๋‹ค - let calcAreaHeight = flowLines.bottom.y1 - flowLines.top.y1 let calcModuleHeightCount = calcAreaHeight / (height + intvVer + 1) + if (type === 'layout') { + calcModuleWidthCount = layoutCol > calcModuleWidthCount ? calcModuleWidthCount : layoutCol + calcModuleHeightCount = layoutRow + } + + let calcMaxModuleWidthCount = calcModuleWidthCount > moduleMaxCols ? moduleMaxCols : calcModuleWidthCount //์ตœ๋Œ€ ๋ชจ๋“ˆ ๋‹จ์ˆ˜๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ตœ๋Œ€ ๋‹จ์ˆ˜๋ณด๋‹ค ์นด์šดํŠธ๊ฐ€ ํฌ๋ฉด ์ตœ๋Œ€ ๋‹จ์ˆ˜๋กœ ์”€์”€ + let totalModuleWidthCount = Math.floor(calcMaxModuleWidthCount) //์น˜์กฐ๋ฐฐ์น˜์ผ๊ฒฝ์šฐ๋Š” ํ•œ๊ฐœ ๋” ๋„ฃ๋Š”๋‹ค + let calcStartPoint = flowLines.right.type === 'flat' ? (calcAreaWidth - totalModuleWidthCount * width) / 2 : 0 //๋ฐ˜์”ฉ ๋‚˜๋ˆ ์„œ ์ค‘์•™์— ๋งž์ถค bottom ๊ธฐ์ค€์œผ๋กœ ์–‘๋ณ€์ด ์ง์„ ์ผ๋•Œ๋งŒ ๊ฐ€์šด๋ฐ ์ •๋ ฌ let startPointX = flowLines.left.x1 + calcStartPoint //์‹œ์ž‘์ ์„ ๋งŒ๋“ ๋‹ค @@ -1882,7 +2030,7 @@ export function useModuleBasicSetting(tabNum) { let chidoriLength = 0 //์ฒซ๋ฒˆ์žฌ ๋ชจ๋“ˆ ์„ค์น˜ ํ›„ ๋‘๋ฒˆ์งธ ๋ชจ๋“ˆ์„ ๋ช‡๊ฐœ๊นŒ์ง€ ์„ค์น˜ ํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ๊ณ„์‚ฐ - if (moduleIndex > 0) { + if (installedModuleHeightCount > 0) { // moduleMaxRows = totalModuleMaxRows - installedModuleHeightCount //๋‘๋ฒˆ์งธ ๋ชจ๋“ˆ์ผ๋•Œ isChidoriLine = installedModuleHeightCount % 2 != 0 ? true : false //์ฒซ๋ฒˆ์งธ์—์„œ ์ง์ˆ˜์—์„œ ๋๋‚ฌ์œผ๋ฉด ํ™€์ˆ˜๋Š” ์น˜๋„๋ฆฌ๊ฐ€ ์•„๋‹˜ ์ง์ˆ˜๋Š” ์น˜๋„๋ฆฌ } @@ -1892,12 +2040,12 @@ export function useModuleBasicSetting(tabNum) { let moduleY = flowLines.bottom.y1 - height * i - 1 //์‚ด์ง ์—ฌ์œ ๋ฅผ ์ค€๋‹ค //๋‘๋ฒˆ์งธ ๋ชจ๋“ˆ -> ํ˜ผํ•ฉ์ผ ๊ฒฝ์šฐ์˜ ์„ค์น˜๋  ๋ชจ๋“ˆ ๋†’์ด๋ฅผ ๊ณ„์‚ฐ - if (moduleIndex > 0) { - moduleY = installedLastHeightCoord - intvVer + if (installedModuleHeightCount > 0) { + moduleY = installedLastHeightCoord } //์ฒซ๋ฒˆ์งธ๋Š” ๋ถ™์—ฌ์„œ ๋‘๋ฒˆ์งธ๋Š” ๋งˆ์ง„์„ ์ฃผ๊ณ  ์„ค์น˜ - heightMargin = i === 0 ? 0 : intvVer * i + heightMargin = installedModuleHeightCount === 0 ? 0 : intvVer for (let j = 0; j < totalModuleWidthCount; j++) { let moduleX = startPointX + width * j + 1 //5์ •๋„ ๋งˆ์ง„์„ ์ค€๋‹ค @@ -1947,18 +2095,19 @@ export function useModuleBasicSetting(tabNum) { installedLastHeightCoord = moduleY - height - heightMargin } else { //๋””๋ฒ„๊น…์šฉ - // tempModule.set({ fill: 'transparent', stroke: 'red', strokeWidth: 1 }) - // canvas?.add(tempModule) - // canvas.renderAll() + tempModule.set({ fill: 'transparent', stroke: 'red', strokeWidth: 1 }) + canvas?.add(tempModule) + canvas.renderAll() } } if (isInstall) { ++installedModuleHeightCount + installedModuleMixYn = module.mixAsgYn } } setupModule.push(moduleArray) - }) + } } const topFlowSetupModule = ( @@ -1980,8 +2129,36 @@ export function useModuleBasicSetting(tabNum) { let installedModuleHeightCount = 0 //๋งˆ์ง€๋ง‰์œผ๋กœ ์„ค์น˜๋œ ๋ชจ๋“ˆ์˜ ์นด์šดํŠธ let isChidoriLine = false let flowLines + let installedModuleMixYn + const isNorthSurface = moduleSetupSurface.isNorth + const isIncludeNorthModule = checkedModule.some((module) => module.northModuleYn === 'Y') //์ฒดํฌ๋œ ๋ชจ๋“ˆ ์ค‘์— ๋ถ๋ฉด ๋ชจ๋“ˆ์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๋กœ์ง + + let layoutRow = 0 + let layoutCol = 0 + + if (type === 'layout') { + const isPassed = checkAutoLayoutModuleSetup(moduleSetupSurface, trestleDetailData) + if (!isPassed) { + return + } + } + + for (let moduleIndex = 0; moduleIndex < checkedModule.length; moduleIndex++) { + const module = checkedModule[moduleIndex] + + if (type === 'layout' && checkedLayoutData) { + const layout = checkedLayoutData.find((item) => module.itemId === item.moduleId) + layoutRow = layout.row + layoutCol = layout.col + } + + //ํ˜ผํ•ฉ์—ฌ๋ถ€์— ๋”ฐ๋ผ ์„ค์น˜ ์—ฌ๋ถ€ ๊ฒฐ์ • + if (installedModuleMixYn && installedModuleMixYn !== module.mixAsgYn) { + continue + } + + const isNorthModuleYn = module.northModuleYn === 'Y' - checkedModule.forEach((module, moduleIndex) => { const tmpModuleData = trestleDetailData.module.filter((moduleObj) => module.moduleTpCd === moduleObj.moduleTpCd)[0] //ํ˜ผํ•ฉ๋ชจ๋“ˆ์ผ๋•Œ๋Š” mixModuleMaxRows ๊ฐ’์ด 0 ์ด์ƒ์ž„ let moduleMaxRows = tmpModuleData.mixModuleMaxRows === 0 ? tmpModuleData.moduleMaxRows : tmpModuleData.mixModuleMaxRows @@ -1997,20 +2174,45 @@ export function useModuleBasicSetting(tabNum) { } } - //ํ๋ฆ„ ๋ฐฉํ–ฅ์ด ๋ถ์ชฝ(์œ„) + if (moduleSetupSurface.isSaleStoreNorthFlg) { + //๋ถ๋ฉด๊ฐ€๋Šฅ ์„ค์น˜ ๋Œ€๋ฆฌ์ ์ด๋ฉด + //๋ถ๋ฉด์ผ๋•Œ + if (isIncludeNorthModule) { + //๋ถ๋ฉด ๋ชจ๋“ˆ์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๋กœ์ง + if (!isNorthModuleYn && isNorthSurface) { + //๋ถ๋ฉด ๋ชจ๋“ˆ์ด ์žˆ์œผ๋ฉด ๋ถ๋ฉด ๋ชจ๋“ˆ๋งŒ ๊น”๊ณ  ๋‚˜๋จธ์ง€๋Š” ์Šคํ‚ต + continue + } //ํ๋ฆ„ ๋ฐฉํ–ฅ์ด ๋ถ์ชฝ(์œ„) + } + } else { + // ๋ถˆ๋ฉด์„ค์น˜ ๋ถˆ๊ฐ€ ๋Œ€๋ฆฌ์ ์ด๋ฉด + if (isNorthSurface) { + //๋ถ๋ฉด์ผ๋•Œ + if (!isNorthModuleYn) { + //๋ถ๋ฉด ๋ชจ๋“ˆ์ด ์•„๋‹ˆ๋ฉด ์Šคํ‚ต + continue + } + } + } //์œก์ง€๋ถ•์ด ์•„๋‹๋•Œ๋งŒ ๋„ฃ๋Š”๋‹ค ์œก์ง€๋ถ•์ผ๋• ํด๋ฆญ ์ด๋ฒคํŠธ์— ๋ณ„๋„๋กœ ๋„ฃ์–ด๋†“์Œ const moduleArray = [] let calcAreaWidth = flowLines.right.x1 - flowLines.left.x1 //์˜ค๋ฅธ์ชฝ x์—์„œ ์™ผ์ชฝ x๋ฅผ ๋บ€ ๊ฐ€์šด๋ฐ๋ฅผ ์ฐพ๋Š” ๋กœ์ง let calcModuleWidthCount = calcAreaWidth / (width + intvHor + 1) //๋บ€ ๊ณต๊ฐ„์—์„œ ๋ชจ๋“ˆ์„ ๋ช‡๊ฐœ๋ฅผ ๋„ฃ์„์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๋กœ์ง + let calcAreaHeight = flowLines.bottom.y1 - flowLines.top.y1 + let calcModuleHeightCount = calcAreaHeight / (height + intvVer + 1) + + //๋‹จ์ˆ˜์ง€์ • ์ž๋™์ด๋ฉด + if (type === 'layout') { + calcModuleWidthCount = layoutCol > calcModuleWidthCount ? calcModuleWidthCount : layoutCol + calcModuleHeightCount = layoutRow + } + let calcMaxModuleWidthCount = calcModuleWidthCount > moduleMaxCols ? moduleMaxCols : calcModuleWidthCount //์ตœ๋Œ€ ๋ชจ๋“ˆ ๋‹จ์ˆ˜๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ตœ๋Œ€ ๋‹จ์ˆ˜๋ณด๋‹ค ์นด์šดํŠธ๊ฐ€ ํฌ๋ฉด ์ตœ๋Œ€ ๋‹จ์ˆ˜๋กœ ์”€์”€ // let totalModuleWidthCount = isChidori ? Math.abs(calcMaxModuleWidthCount) : Math.floor(calcMaxModuleWidthCount) //์น˜์กฐ๋ฐฐ์น˜์ผ๊ฒฝ์šฐ๋Š” ํ•œ๊ฐœ ๋” ๋„ฃ๋Š”๋‹ค //??์–ด์ฉ”๋•Œ๋Š” ๋ถ™๊ณ  ์–ด์ฉ”๋•Œ๋Š” ์•ˆ๋ถ™๊ณ  ๋ฉ‹๋Œ€๋กœ??? let totalModuleWidthCount = Math.floor(calcMaxModuleWidthCount) //์น˜์กฐ๋ฐฐ์น˜์ผ๊ฒฝ์šฐ๋Š” ํ•œ๊ฐœ ๋” ๋„ฃ๋Š”๋‹ค - let calcAreaHeight = flowLines.bottom.y1 - flowLines.top.y1 - let calcModuleHeightCount = calcAreaHeight / (height + intvVer + 1) - let calcStartPoint = flowLines.left.type === 'flat' ? (calcAreaWidth - totalModuleWidthCount * width) / 2 : 0 //๋ฐ˜์”ฉ ๋‚˜๋ˆ ์„œ ์ค‘์•™์— ๋งž์ถค bottom ๊ธฐ์ค€์œผ๋กœ ์–‘๋ณ€์ด ์ง์„ ์ผ๋•Œ๋งŒ ๊ฐ€์šด๋ฐ ์ •๋ ฌ let startPointX = flowLines.right.x1 - calcStartPoint //์‹œ์ž‘์ ์„ ๋งŒ๋“ ๋‹ค @@ -2032,11 +2234,11 @@ export function useModuleBasicSetting(tabNum) { let isInstall = false let moduleY = flowLines.top.y1 + height * i //ํƒ‘์˜ y์ ์—์„œ๋ถ€ํ„ฐ ์•„๋ž˜๋กœ ๊ทธ๋ ค ๋‚ด๋ ค๊ฐ„๋‹ค - if (moduleIndex > 0) { - moduleY = installedLastHeightCoord + intvVer + 1 + if (installedModuleHeightCount > 0) { + moduleY = installedLastHeightCoord } - heightMargin = i === 0 ? 0 : intvVer * i //๋ชจ๋“ˆ๊ฐ„์— ๋งˆ์ง„์ด ์žˆ์–ด ๋งˆ์ง„๊ฐ’๋„ ๋„ฃ์Œ + heightMargin = installedModuleHeightCount === 0 ? 0 : intvVer //๋ชจ๋“ˆ๊ฐ„์— ๋งˆ์ง„์ด ์žˆ์–ด ๋งˆ์ง„๊ฐ’๋„ ๋„ฃ์Œ for (let j = 0; j < totalModuleWidthCount; j++) { //๋ชจ๋“ˆ ์—ด์ˆ˜ ๋งŒํผ ๋ฐ˜๋ณต let moduleX = startPointX - width * j - 1 //์‹œ์ž‘์ ์—์„œ ์šฐ -> ์ขŒ๋กœ ๊ทธ๋ ค ๋‚ด๋ ค๊ฐ„๋‹ค @@ -2087,11 +2289,12 @@ export function useModuleBasicSetting(tabNum) { } if (isInstall) { ++installedModuleHeightCount + installedModuleMixYn = module.mixAsgYn } } setupModule.push(moduleArray) - }) + } } //๋‚จ, ๋ถ๊ณผ ๊ฐ™์€ ๋กœ์ง์œผ๋กœ ์ ์šฉํ•˜๋ ค๋ฉด ์ขŒ์šฐ๋Š” ์—ด -> ํ–‰ ์œผ๋กœ ๊ทธ๋ ค์•ผํ•จ @@ -2115,8 +2318,36 @@ export function useModuleBasicSetting(tabNum) { let installedModuleHeightCount = 0 //๋งˆ์ง€๋ง‰์œผ๋กœ ์„ค์น˜๋œ ๋ชจ๋“ˆ์˜ ์นด์šดํŠธ let isChidoriLine = false let flowLines + let installedModuleMixYn + const isNorthSurface = moduleSetupSurface.isNorth + const isIncludeNorthModule = checkedModule.some((module) => module.northModuleYn === 'Y') //์ฒดํฌ๋œ ๋ชจ๋“ˆ ์ค‘์— ๋ถ๋ฉด ๋ชจ๋“ˆ์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๋กœ์ง - checkedModule.forEach((module, moduleIndex) => { + let layoutRow = 0 + let layoutCol = 0 + + if (type === 'layout') { + const isPassed = checkAutoLayoutModuleSetup(moduleSetupSurface, trestleDetailData) + if (!isPassed) { + return + } + } + + for (let moduleIndex = 0; moduleIndex < checkedModule.length; moduleIndex++) { + const module = checkedModule[moduleIndex] + + //๋‹จ์ˆ˜ ์ง€์ •์ด๋ฉด + if (type === 'layout' && checkedLayoutData) { + const layout = checkedLayoutData.find((item) => module.itemId === item.moduleId) + layoutRow = layout.row + layoutCol = layout.col + } + + //ํ˜ผํ•ฉ์—ฌ๋ถ€์— ๋”ฐ๋ผ ์„ค์น˜ ์—ฌ๋ถ€ ๊ฒฐ์ • + if (installedModuleMixYn && installedModuleMixYn !== module.mixAsgYn) { + continue + } + + const isNorthModuleYn = module.northModuleYn === 'Y' const tmpModuleData = trestleDetailData.module.filter((moduleObj) => module.moduleTpCd === moduleObj.moduleTpCd)[0] //ํ˜ผํ•ฉ๋ชจ๋“ˆ์ผ๋•Œ๋Š” mixModuleMaxRows ๊ฐ’์ด 0 ์ด์ƒ์ž„ let moduleMaxRows = tmpModuleData.mixModuleMaxRows === 0 ? tmpModuleData.moduleMaxRows : tmpModuleData.mixModuleMaxRows @@ -2135,19 +2366,46 @@ export function useModuleBasicSetting(tabNum) { } } + if (moduleSetupSurface.isSaleStoreNorthFlg) { + //๋ถ๋ฉด๊ฐ€๋Šฅ ์„ค์น˜ ๋Œ€๋ฆฌ์ ์ด๋ฉด + //๋ถ๋ฉด์ผ๋•Œ + if (isIncludeNorthModule) { + //๋ถ๋ฉด ๋ชจ๋“ˆ์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๋กœ์ง + if (!isNorthModuleYn && isNorthSurface) { + //๋ถ๋ฉด ๋ชจ๋“ˆ์ด ์žˆ์œผ๋ฉด ๋ถ๋ฉด ๋ชจ๋“ˆ๋งŒ ๊น”๊ณ  ๋‚˜๋จธ์ง€๋Š” ์Šคํ‚ต + continue + } //ํ๋ฆ„ ๋ฐฉํ–ฅ์ด ๋ถ์ชฝ(์œ„) + } + } else { + // ๋ถˆ๋ฉด์„ค์น˜ ๋ถˆ๊ฐ€ ๋Œ€๋ฆฌ์ ์ด๋ฉด + if (isNorthSurface) { + //๋ถ๋ฉด์ผ๋•Œ + if (!isNorthModuleYn) { + //๋ถ๋ฉด ๋ชจ๋“ˆ์ด ์•„๋‹ˆ๋ฉด ์Šคํ‚ต + continue + } + } + } + //์œก์ง€๋ถ•์ด ์•„๋‹๋•Œ๋งŒ ๋„ฃ๋Š”๋‹ค ์œก์ง€๋ถ•์ผ๋• ํด๋ฆญ ์ด๋ฒคํŠธ์— ๋ณ„๋„๋กœ ๋„ฃ์–ด๋†“์Œ const moduleArray = [] let calcAreaWidth = flowLines.bottom.y1 - flowLines.top.y1 //์•„๋ž˜์—์„œ y์—์„œ ์œ„๋ฅผ y๋ฅผ ๋บ€ ๊ฐ€์šด๋ฐ๋ฅผ ์ฐพ๋Š” ๋กœ์ง let calcModuleWidthCount = calcAreaWidth / (height + intvHor + 1) //๋บ€ ๊ณต๊ฐ„์—์„œ ๋ชจ๋“ˆ์„ ๋ช‡๊ฐœ๋ฅผ ๋„ฃ์„์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๋กœ์ง + let calcAreaHeight = flowLines.right.x1 - flowLines.left.x1 + let calcModuleHeightCount = calcAreaHeight / (width + intvVer + 1) + + //๋‹จ์ˆ˜์ง€์ • ์ž๋™์ด๋ฉด + if (type === 'layout') { + calcModuleWidthCount = layoutCol > calcModuleWidthCount ? calcModuleWidthCount : layoutCol + calcModuleHeightCount = layoutRow + } + let calcMaxModuleWidthCount = calcModuleWidthCount > moduleMaxCols ? moduleMaxCols : calcModuleWidthCount //์ตœ๋Œ€ ๋ชจ๋“ˆ ๋‹จ์ˆ˜๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ตœ๋Œ€ ๋‹จ์ˆ˜๋ณด๋‹ค ์นด์šดํŠธ๊ฐ€ ํฌ๋ฉด ์ตœ๋Œ€ ๋‹จ์ˆ˜๋กœ ์”€์”€ // let totalModuleWidthCount = isChidori ? Math.abs(calcMaxModuleWidthCount) : Math.floor(calcMaxModuleWidthCount) //์น˜์กฐ๋ฐฐ์น˜์ผ๊ฒฝ์šฐ๋Š” ํ•œ๊ฐœ ๋” ๋„ฃ๋Š”๋‹ค let totalModuleWidthCount = Math.floor(calcMaxModuleWidthCount) //์น˜์กฐ๋ฐฐ์น˜์ผ๊ฒฝ์šฐ๋Š” ํ•œ๊ฐœ ๋” ๋„ฃ๋Š”๋‹ค - let calcAreaHeight = flowLines.right.x1 - flowLines.left.x1 - let calcModuleHeightCount = calcAreaHeight / (width + intvVer + 1) - let calcStartPoint = flowLines.bottom.type === 'flat' ? (calcAreaWidth - totalModuleWidthCount * height) / 2 : 0 //๋ฐ˜์”ฉ ๋‚˜๋ˆ ์„œ ์ค‘์•™์— ๋งž์ถค left ๋†’์ด ๊ธฐ์ค€์œผ๋กœ ์–‘๋ณ€์ด ์ง์„ ์ผ๋•Œ๋งŒ ๊ฐ€์šด๋ฐ ์ •๋ ฌ let startPointX = flowLines.top.y1 + calcStartPoint //์‹œ์ž‘์ ์„ ๋งŒ๋“ ๋‹ค @@ -2171,12 +2429,12 @@ export function useModuleBasicSetting(tabNum) { let moduleY = flowLines.left.x1 + width * i + 1 //์‚ด์ง ์—ฌ์œ ๋ฅผ ์ค€๋‹ค //๋‘๋ฒˆ์งธ ๋ชจ๋“ˆ -> ํ˜ผํ•ฉ์ผ ๊ฒฝ์šฐ์˜ ์„ค์น˜๋  ๋ชจ๋“ˆ ๋†’์ด๋ฅผ ๊ณ„์‚ฐ - if (moduleIndex > 0) { - moduleY = installedLastHeightCoord + intvHor + if (installedModuleHeightCount > 0) { + moduleY = installedLastHeightCoord } //์ฒซ๋ฒˆ์งธ๋Š” ๋ถ™์—ฌ์„œ ๋‘๋ฒˆ์งธ๋Š” ๋งˆ์ง„์„ ์ฃผ๊ณ  ์„ค์น˜ - heightMargin = i === 0 ? 0 : intvHor * i + heightMargin = installedModuleHeightCount === 0 ? 0 : intvHor for (let j = 0; j < totalModuleWidthCount; j++) { let moduleX = startPointX + height * j + 1 //5์ •๋„ ๋งˆ์ง„์„ ์ค€๋‹ค @@ -2227,10 +2485,11 @@ export function useModuleBasicSetting(tabNum) { if (isInstall) { ++installedModuleHeightCount + installedModuleMixYn = module.mixAsgYn } } setupModule.push(moduleArray) - }) + } } const rightFlowSetupModule = ( @@ -2252,8 +2511,35 @@ export function useModuleBasicSetting(tabNum) { let installedModuleHeightCount = 0 //๋งˆ์ง€๋ง‰์œผ๋กœ ์„ค์น˜๋œ ๋ชจ๋“ˆ์˜ ์นด์šดํŠธ let isChidoriLine = false let flowLines + let installedModuleMixYn + const isNorthSurface = moduleSetupSurface.isNorth + const isIncludeNorthModule = checkedModule.some((module) => module.northModuleYn === 'Y') //์ฒดํฌ๋œ ๋ชจ๋“ˆ ์ค‘์— ๋ถ๋ฉด ๋ชจ๋“ˆ์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๋กœ์ง - checkedModule.forEach((module, moduleIndex) => { + let layoutRow = 0 + let layoutCol = 0 + + if (type === 'layout') { + const isPassed = checkAutoLayoutModuleSetup(moduleSetupSurface, trestleDetailData) + if (!isPassed) { + return + } + } + + for (let moduleIndex = 0; moduleIndex < checkedModule.length; moduleIndex++) { + const module = checkedModule[moduleIndex] + + if (type === 'layout' && checkedLayoutData) { + const layout = checkedLayoutData.find((item) => module.itemId === item.moduleId) + layoutRow = layout.row + layoutCol = layout.col + } + + //ํ˜ผํ•ฉ์—ฌ๋ถ€์— ๋”ฐ๋ผ ์„ค์น˜ ์—ฌ๋ถ€ ๊ฒฐ์ • + if (installedModuleMixYn && installedModuleMixYn !== module.mixAsgYn) { + continue + } + + const isNorthModuleYn = module.northModuleYn === 'Y' const tmpModuleData = trestleDetailData.module.filter((moduleObj) => module.moduleTpCd === moduleObj.moduleTpCd)[0] //ํ˜ผํ•ฉ๋ชจ๋“ˆ์ผ๋•Œ๋Š” mixModuleMaxRows ๊ฐ’์ด 0 ์ด์ƒ์ž„ let moduleMaxRows = tmpModuleData.mixModuleMaxRows === 0 ? tmpModuleData.moduleMaxRows : tmpModuleData.mixModuleMaxRows @@ -2272,18 +2558,45 @@ export function useModuleBasicSetting(tabNum) { } } + if (moduleSetupSurface.isSaleStoreNorthFlg) { + //๋ถ๋ฉด๊ฐ€๋Šฅ ์„ค์น˜ ๋Œ€๋ฆฌ์ ์ด๋ฉด + //๋ถ๋ฉด์ผ๋•Œ + if (isIncludeNorthModule) { + //๋ถ๋ฉด ๋ชจ๋“ˆ์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๋กœ์ง + if (!isNorthModuleYn && isNorthSurface) { + //๋ถ๋ฉด ๋ชจ๋“ˆ์ด ์žˆ์œผ๋ฉด ๋ถ๋ฉด ๋ชจ๋“ˆ๋งŒ ๊น”๊ณ  ๋‚˜๋จธ์ง€๋Š” ์Šคํ‚ต + continue + } //ํ๋ฆ„ ๋ฐฉํ–ฅ์ด ๋ถ์ชฝ(์œ„) + } + } else { + // ๋ถˆ๋ฉด์„ค์น˜ ๋ถˆ๊ฐ€ ๋Œ€๋ฆฌ์ ์ด๋ฉด + if (isNorthSurface) { + //๋ถ๋ฉด์ผ๋•Œ + if (!isNorthModuleYn) { + //๋ถ๋ฉด ๋ชจ๋“ˆ์ด ์•„๋‹ˆ๋ฉด ์Šคํ‚ต + continue + } + } + } + //์œก์ง€๋ถ•์ด ์•„๋‹๋•Œ๋งŒ ๋„ฃ๋Š”๋‹ค ์œก์ง€๋ถ•์ผ๋• ํด๋ฆญ ์ด๋ฒคํŠธ์— ๋ณ„๋„๋กœ ๋„ฃ์–ด๋†“์Œ const moduleArray = [] let calcAreaWidth = flowLines.bottom.y1 - flowLines.top.y1 //์•„๋ž˜์—์„œ y์—์„œ ์œ„๋ฅผ y๋ฅผ ๋บ€ ๊ฐ€์šด๋ฐ๋ฅผ ์ฐพ๋Š” ๋กœ์ง let calcModuleWidthCount = calcAreaWidth / (height + intvHor + 1) //๋บ€ ๊ณต๊ฐ„์—์„œ ๋ชจ๋“ˆ์„ ๋ช‡๊ฐœ๋ฅผ ๋„ฃ์„์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๋กœ์ง + let calcAreaHeight = flowLines.right.x1 - flowLines.left.x1 + let calcModuleHeightCount = calcAreaHeight / (width + intvVer + 1) + + //๋‹จ์ˆ˜์ง€์ • ์ž๋™์ด๋ฉด + if (type === 'layout') { + calcModuleWidthCount = layoutCol > calcModuleWidthCount ? calcModuleWidthCount : layoutCol + calcModuleHeightCount = layoutRow + } + let calcMaxModuleWidthCount = calcModuleWidthCount > moduleMaxCols ? moduleMaxCols : calcModuleWidthCount //์ตœ๋Œ€ ๋ชจ๋“ˆ ๋‹จ์ˆ˜๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ตœ๋Œ€ ๋‹จ์ˆ˜๋ณด๋‹ค ์นด์šดํŠธ๊ฐ€ ํฌ๋ฉด ์ตœ๋Œ€ ๋‹จ์ˆ˜๋กœ ์”€์”€ // let totalModuleWidthCount = isChidori ? Math.abs(calcMaxModuleWidthCount) : Math.floor(calcMaxModuleWidthCount) //์น˜์กฐ๋ฐฐ์น˜์ผ๊ฒฝ์šฐ๋Š” ํ•œ๊ฐœ ๋” ๋„ฃ๋Š”๋‹ค let totalModuleWidthCount = Math.floor(calcMaxModuleWidthCount) //์น˜์กฐ๋ฐฐ์น˜์ผ๊ฒฝ์šฐ๋Š” ํ•œ๊ฐœ ๋” ๋„ฃ๋Š”๋‹ค - let calcAreaHeight = flowLines.right.x1 - flowLines.left.x1 - let calcModuleHeightCount = calcAreaHeight / (width + intvVer + 1) - let calcStartPoint = flowLines.top.type === 'flat' ? (calcAreaWidth - totalModuleWidthCount * height) / 2 : 0 //๋ฐ˜์”ฉ ๋‚˜๋ˆ ์„œ ์ค‘์•™์— ๋งž์ถค left ๋†’์ด ๊ธฐ์ค€์œผ๋กœ ์–‘๋ณ€์ด ์ง์„ ์ผ๋•Œ๋งŒ ๊ฐ€์šด๋ฐ ์ •๋ ฌ let startPointX = flowLines.bottom.y2 - calcStartPoint //์‹œ์ž‘์ ์„ ๋งŒ๋“ ๋‹ค @@ -2307,12 +2620,12 @@ export function useModuleBasicSetting(tabNum) { let moduleY = flowLines.right.x1 - width * i - 1 //์‚ด์ง ์—ฌ์œ ๋ฅผ ์ค€๋‹ค //๋‘๋ฒˆ์งธ ๋ชจ๋“ˆ -> ํ˜ผํ•ฉ์ผ ๊ฒฝ์šฐ์˜ ์„ค์น˜๋  ๋ชจ๋“ˆ ๋†’์ด๋ฅผ ๊ณ„์‚ฐ - if (moduleIndex > 0) { - moduleY = installedLastHeightCoord - intvHor + if (installedModuleHeightCount > 0) { + moduleY = installedLastHeightCoord } //์ฒซ๋ฒˆ์งธ๋Š” ๋ถ™์—ฌ์„œ ๋‘๋ฒˆ์งธ๋Š” ๋งˆ์ง„์„ ์ฃผ๊ณ  ์„ค์น˜ - heightMargin = i === 0 ? 0 : intvHor * i + heightMargin = installedModuleHeightCount === 0 ? 0 : intvHor for (let j = 0; j < totalModuleWidthCount; j++) { let moduleX = startPointX - height * j - 1 //5์ •๋„ ๋งˆ์ง„์„ ์ค€๋‹ค @@ -2366,11 +2679,12 @@ export function useModuleBasicSetting(tabNum) { if (isInstall) { ++installedModuleHeightCount + installedModuleMixYn = module.mixAsgYn } } setupModule.push(moduleArray) - }) + } } moduleSetupSurfaces.forEach((moduleSetupSurface, index) => { @@ -2460,6 +2774,18 @@ export function useModuleBasicSetting(tabNum) { } }) // calculateForApi() + + if (type === 'layout' && failAutoSetupRoof.length > 0) { + const roofNamesList = failAutoSetupRoof.map((roof) => ({ + roofName: roof.roofMaterial.roofMatlNmJp, + moduleMaxRows: roof.trestleDetail.moduleMaxRows, + })) + + const alertString = roofNamesList.map((item, index) => `${item.roofName}(${item.moduleMaxRows})`) + console.log('alertString', alertString) + + // swalFire({ text: alertString, icon: 'warning' }) + } } const coordToTurfPolygon = (points) => { diff --git a/src/locales/ja.json b/src/locales/ja.json index 5ab74329..1fc75a67 100644 --- a/src/locales/ja.json +++ b/src/locales/ja.json @@ -149,9 +149,10 @@ "modal.module.basic.setting.pitch.module.column.amount": "ๅˆ—ๆ•ฐ", "modal.module.basic.setting.pitch.module.column.margin": "ๅทฆๅณ้–“้š”", "modal.module.basic.setting.prev": "ๅ‰ใซๆˆปใ‚‹", - "modal.module.basic.setting.row.batch": "ๆฎตใƒปๅˆ—ๆ•ฐๆŒ‡ๅฎš้…็ฝฎ", + "modal.module.basic.setting.row.batch": "ใƒฌใ‚คใ‚ขใ‚ฆใƒˆๆŒ‡ๅฎš", "modal.module.basic.setting.passivity.placement": "ๆ‰‹ๅ‹•้…็ฝฎ", "modal.module.basic.setting.auto.placement": "่‡ชๅ‹•้…็ฝฎ", + "modal.module.basic.setting.auto.row.batch": "่‡ชๅ‹•ใƒฌใ‚คใ‚ขใ‚ฆใƒˆๆŒ‡ๅฎš", "plan.menu.module.circuit.setting.circuit.trestle.setting": "ๅ›ž่ทฏ่จญๅฎš", "modal.circuit.trestle.setting": "ๅ›ž่ทฏ่จญๅฎš", "modal.circuit.trestle.setting.alloc.trestle": "ๆžถๅฐ้…็ฝฎ", diff --git a/src/locales/ko.json b/src/locales/ko.json index 1090b4b1..cd8b855b 100644 --- a/src/locales/ko.json +++ b/src/locales/ko.json @@ -152,7 +152,8 @@ "modal.module.basic.setting.prev": "์ด์ „", "modal.module.basic.setting.row.batch": "๋‹จยท์—ด์ˆ˜ ์ง€์ • ๋ฐฐ์น˜", "modal.module.basic.setting.passivity.placement": "์ˆ˜๋™ ๋ฐฐ์น˜", - "modal.module.basic.setting.auto.placement": "์„ค์ •๊ฐ’์œผ๋กœ ์ž๋™ ๋ฐฐ์น˜", + "modal.module.basic.setting.auto.placement": "์ž๋™ ๋ฐฐ์น˜", + "modal.module.basic.setting.auto.row.batch": "์ž๋™ ๋‹จยท์—ด์ˆ˜ ์ง€์ • ๋ฐฐ์น˜ ", "plan.menu.module.circuit.setting.circuit.trestle.setting": "ํšŒ๋กœ์„ค์ •", "modal.circuit.trestle.setting": "ํšŒ๋กœ์„ค์ •", "modal.circuit.trestle.setting.alloc.trestle": "๊ฐ€๋Œ€ํ• ๋‹น", From 1c7b81c99f2b5bdec165298533f6446622fa3804 Mon Sep 17 00:00:00 2001 From: yjnoh Date: Mon, 28 Apr 2025 14:09:58 +0900 Subject: [PATCH 02/10] =?UTF-8?q?=EB=AA=A8=EB=93=88=20=EC=9E=90=EB=8F=99?= =?UTF-8?q?=20=EB=A0=88=EC=9D=B4=EC=95=84=EC=9B=83=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/hooks/module/useModuleBasicSetting.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/hooks/module/useModuleBasicSetting.js b/src/hooks/module/useModuleBasicSetting.js index 86279910..e60a5324 100644 --- a/src/hooks/module/useModuleBasicSetting.js +++ b/src/hooks/module/useModuleBasicSetting.js @@ -2775,6 +2775,9 @@ export function useModuleBasicSetting(tabNum) { }) // calculateForApi() + /** + * ์ž๋™ ๋ ˆ์ด์•„์›ƒ์ผ๋–„ ์„ค์น˜ ๊ฐ€๋Šฅํ•œ ์• ๋“ค์€ ์„ค์น˜ ํ•ด์ฃผ๊ณ  ์‹คํŒจํ•œ ์• ๋“ค์€ ์ด๋ฆ„, ์ตœ๋Œ€ ์„ค์น˜ ๊ฐ€๋Šฅํ•œ ๋†’์ด ์•Œ๋ ค์ค„๋ผ๊ณ  + */ if (type === 'layout' && failAutoSetupRoof.length > 0) { const roofNamesList = failAutoSetupRoof.map((roof) => ({ roofName: roof.roofMaterial.roofMatlNmJp, From ed27f2ed93ad0eff56ffb659e96f9ae6fb33b873 Mon Sep 17 00:00:00 2001 From: yjnoh Date: Tue, 29 Apr 2025 13:09:46 +0900 Subject: [PATCH 03/10] =?UTF-8?q?=EB=AA=A8=EB=93=88=20=EC=9E=90=EB=8F=99?= =?UTF-8?q?=20=EB=A0=88=EC=9D=B4=EC=95=84=EC=9B=83=20=EC=84=A4=EC=B9=98=20?= =?UTF-8?q?validate=20=EC=9E=91=EC=97=85=EC=A4=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/common/common.js | 5 + .../floor-plan/modal/basic/BasicSetting.jsx | 6 +- .../floor-plan/modal/basic/step/Placement.jsx | 6 +- src/hooks/module/useModuleBasicSetting.js | 190 ++++++++++++------ 4 files changed, 140 insertions(+), 67 deletions(-) diff --git a/src/common/common.js b/src/common/common.js index abda5acd..c98cf385 100644 --- a/src/common/common.js +++ b/src/common/common.js @@ -125,6 +125,11 @@ export const TRESTLE_MATERIAL = { BRACKET: 'bracket', } +export const MODULE_SETUP_TYPE = { + LAYOUT: 'layout', + AUTO: 'auto', +} + export const SAVE_KEY = [ 'selectable', 'name', diff --git a/src/components/floor-plan/modal/basic/BasicSetting.jsx b/src/components/floor-plan/modal/basic/BasicSetting.jsx index a930c148..66a76d71 100644 --- a/src/components/floor-plan/modal/basic/BasicSetting.jsx +++ b/src/components/floor-plan/modal/basic/BasicSetting.jsx @@ -1,4 +1,4 @@ -import { POLYGON_TYPE } from '@/common/common' +import { POLYGON_TYPE, MODULE_SETUP_TYPE } from '@/common/common' import WithDraggable from '@/components/common/draggable/WithDraggable' import { Orientation } from '@/components/floor-plan/modal/basic/step/Orientation' import PitchPlacement from '@/components/floor-plan/modal/basic/step/pitch/PitchPlacement' @@ -334,10 +334,10 @@ export default function BasicSetting({ id, pos = { x: 50, y: 230 } }) { - - diff --git a/src/components/floor-plan/modal/basic/step/Placement.jsx b/src/components/floor-plan/modal/basic/step/Placement.jsx index 909f5229..5d2c8c6a 100644 --- a/src/components/floor-plan/modal/basic/step/Placement.jsx +++ b/src/components/floor-plan/modal/basic/step/Placement.jsx @@ -64,9 +64,9 @@ const Placement = forwardRef((props, refs) => { } }, []) - useEffect(() => { - console.log('moduleRowColArray', moduleRowColArray) - }, [moduleRowColArray]) + // useEffect(() => { + // console.log('moduleRowColArray', moduleRowColArray) + // }, [moduleRowColArray]) //์ตœ์ดˆ ์ง€์ž…์‹œ ์ฒดํฌ useEffect(() => { diff --git a/src/hooks/module/useModuleBasicSetting.js b/src/hooks/module/useModuleBasicSetting.js index e60a5324..1ce7298f 100644 --- a/src/hooks/module/useModuleBasicSetting.js +++ b/src/hooks/module/useModuleBasicSetting.js @@ -19,7 +19,7 @@ import offsetPolygon, { calculateAngle, createLinesFromPolygon } from '@/util/qp import { QPolygon } from '@/components/fabric/QPolygon' import { moduleSetupSurfaceState } from '@/store/canvasAtom' import { useEvent } from '@/hooks/useEvent' -import { POLYGON_TYPE, BATCH_TYPE, LINE_TYPE } from '@/common/common' +import { POLYGON_TYPE, BATCH_TYPE, LINE_TYPE, MODULE_SETUP_TYPE } from '@/common/common' import * as turf from '@turf/turf' import { useSwal } from '@/hooks/useSwal' import { compasDegAtom } from '@/store/orientationAtom' @@ -1772,6 +1772,8 @@ export function useModuleBasicSetting(tabNum) { const autoModuleSetup = (type, layoutSetupRef) => { initEvent() //๋งˆ์šฐ์Šค ์ด๋ฒคํŠธ ์ดˆ๊ธฐํ™” + console.log('checkedModule', checkedModule) + //์‹คํŒจํ•œ ์ง€๋ถ•์žฌ ๋ฐฐ์—ด let failAutoSetupRoof = [] @@ -1780,7 +1782,7 @@ export function useModuleBasicSetting(tabNum) { /** * ์ž๋™ ๋ ˆ์ด์•„์›ƒ์ผ๋•Œ 0์ด ์žˆ๊ฑฐ๋‚˜ ํ˜ผํ•ฉ์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๋กœ์ง */ - if (type === 'layout') { + if (type === MODULE_SETUP_TYPE.LAYOUT) { checkedLayoutData = layoutSetupRef.filter((module) => module.checked) const hasZeroLength = checkedLayoutData.some((module) => module.row === 0 || module.col === 0) @@ -1789,15 +1791,15 @@ export function useModuleBasicSetting(tabNum) { return } - //ํ˜ผํ•ฉ ๊ฐ€๋Šฅ ๋ชจ๋“ˆ๊ณผ ํ˜ผํ•ฉ ๋ถˆ๊ฐ€๋Šฅ ๋ชจ๋“ˆ์„ ์„ ํƒํ–ˆ์„๋•Œ ์นด์šดํŠธ๋ฅผ ํ•ด์„œ ํ™•์ธ - const mixAsgY = checkedModule.filter((obj) => obj.mixAsgYn === 'Y') - const mixAsgN = checkedModule.filter((obj) => obj.mixAsgYn === 'N') + // //ํ˜ผํ•ฉ ๊ฐ€๋Šฅ ๋ชจ๋“ˆ๊ณผ ํ˜ผํ•ฉ ๋ถˆ๊ฐ€๋Šฅ ๋ชจ๋“ˆ์„ ์„ ํƒํ–ˆ์„๋•Œ ์นด์šดํŠธ๋ฅผ ํ•ด์„œ ํ™•์ธ + // const mixAsgY = checkedModule.filter((obj) => obj.mixAsgYn === 'Y') + // const mixAsgN = checkedModule.filter((obj) => obj.mixAsgYn === 'N') - //Y์ธ ๋ชจ๋“ˆ๊ณผ N์ธ ๋ชจ๋“ˆ์ด ๋‘˜๋‹ค ์กด์žฌํ•˜๋ฉด ์„ค์น˜ ๋ถˆ๊ฐ€ - if (mixAsgY.length > 0 && mixAsgN.length > 0) { - swalFire({ text: getMessage('modal.module.basic.setting.module.placement.mix.asg.yn.error'), icon: 'warning' }) - return - } + // //Y์ธ ๋ชจ๋“ˆ๊ณผ N์ธ ๋ชจ๋“ˆ์ด ๋‘˜๋‹ค ์กด์žฌํ•˜๋ฉด ์„ค์น˜ ๋ถˆ๊ฐ€ + // if (mixAsgY.length > 0 && mixAsgN.length > 0) { + // swalFire({ text: getMessage('modal.module.basic.setting.module.placement.mix.asg.yn.error'), icon: 'warning' }) + // return + // } } if (checkedModule.length === 0) { @@ -1805,16 +1807,6 @@ export function useModuleBasicSetting(tabNum) { return } - // //ํ˜ผํ•ฉ ๊ฐ€๋Šฅ ๋ชจ๋“ˆ๊ณผ ํ˜ผํ•ฉ ๋ถˆ๊ฐ€๋Šฅ ๋ชจ๋“ˆ์„ ์„ ํƒํ–ˆ์„๋•Œ ์นด์šดํŠธ๋ฅผ ํ•ด์„œ ํ™•์ธ - // const mixAsgY = checkedModule.filter((obj) => obj.mixAsgYn === 'Y') - // const mixAsgN = checkedModule.filter((obj) => obj.mixAsgYn === 'N') - - // //Y์ธ ๋ชจ๋“ˆ๊ณผ N์ธ ๋ชจ๋“ˆ์ด ๋‘˜๋‹ค ์กด์žฌํ•˜๋ฉด ์„ค์น˜ ๋ถˆ๊ฐ€ - // if (mixAsgY.length > 0 && mixAsgN.length > 0) { - // swalFire({ text: getMessage('modal.module.basic.setting.module.placement.mix.asg.yn.error') }) - // return - // } - const isChidori = moduleSetupOption.isChidori const setupLocation = moduleSetupOption.setupLocation const isMaxSetup = false @@ -1859,6 +1851,9 @@ export function useModuleBasicSetting(tabNum) { name: POLYGON_TYPE.MODULE, } + //์ฒดํฌ๋œ ๋ชจ๋“ˆ ์ค‘์— ๋ถ๋ฉด ๋ชจ๋“ˆ์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๋กœ์ง + const isIncludeNorthModule = checkedModule.some((module) => module.northModuleYn === 'Y') + //์„ ํƒ๋œ ์ง€๋ถ•์•ˆ์— ์˜ค๋ธŒ์ ํŠธ(๋„๋จธ, ๊ฐœ๊ตฌ๋“ฑ)์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๋กœ์ง ํฌํ•จ๋˜๋ฉด ๋ฐฐ์—ด ๋ฐ˜ํ™˜ const objectsIncludeSurface = (turfModuleSetupSurface) => { let containsBatchObjects = [] @@ -1891,32 +1886,108 @@ export function useModuleBasicSetting(tabNum) { * @returns */ const checkAutoLayoutModuleSetup = (moduleSetupSurface, trestleDetailData) => { - const isMultipleModules = checkedModule.length > 1 //๋ชจ๋“ˆ์ด ์—ฌ๋Ÿฌ๊ฐœ๋ฉด - const maxCol = trestleDetailData.moduleMaxCols //์ตœ๋Œ€ ์—ด์ˆ˜ -> ์–˜๋Š” ๋ฉ€ํ‹ฐ๋ž‘ ๊ด€๊ณ„์—†์Œ - const maxRow = isMultipleModules - ? trestleDetailData.moduleMaxRows - : trestleDetailData.module.find((item) => item.moduleTpCd === checkedModule[0].moduleTpCd).moduleMaxRows //๋ฉ€ํ‹ฐ๋ชจ๋“ˆ์ด๋ฉด ๋ฐ–์— maxRows๋กœ ํŒ๋‹จ ์•„๋‹ˆ๋ฉด module->itemmList๋ฅผ ๊ฐ€์ง€๊ณ  ํŒ๋‹จ + /** + * ์ฒดํฌ๋œ ๋ชจ๋“ˆ์ค‘์— ๋ถ๋ฉด ๋ชจ๋“ˆ์ด ์žˆ์œผ๋ฉด ๋ถ๋ฉด ๋ชจ๋“ˆ๋งŒ ๋”ฐ๋กœ ๊ณ„์‚ฐํ•˜๊ณ  ์•„๋‹ˆ๋ฉด ์ „์ฒด ๋ชจ๋“ˆ์„ ๊ณ„์‚ฐ + * ๋ถ๋ฉด ๋ชจ๋“ˆ์ด ์žˆ๊ณ  ๋ถ๋ฉด์ด ๋“ค์–ด์˜ค๋ฉด ๋ถ๋ฉด์˜ row๋ฅผ ๊ณ„์‚ฐํ•œ๋‹ค + * + */ - //๋‹จ์ˆ˜ ํ•ฉ๋‹จ์ˆ˜ - const sumRowCount = isMultipleModules - ? layoutSetupRef.filter((item) => item.checked).reduce((acc, cur) => acc + cur.row, 0) - : layoutSetupRef.find((item) => item.moduleId === checkedModule[0].itemId).row //๋ฉ€ํ‹ฐ๋ชจ๋“ˆ์ด๋ฉด ์ „์ฒด ํ•ฉ, ์ฒดํฌ๋œ ํ•œ๊ฐœ์˜ ์—ด + //๋ถ๋ฉด ๋ชจ๋“ˆ์ด ์—†์„๋•Œ + if (!isIncludeNorthModule) { + const isMultipleModules = checkedModule.length > 1 //๋ชจ๋“ˆ์ด ์—ฌ๋Ÿฌ๊ฐœ๋ฉด + const maxCol = trestleDetailData.moduleMaxCols //์ตœ๋Œ€ ์—ด์ˆ˜ -> ์–˜๋Š” ๋ฉ€ํ‹ฐ๋ž‘ ๊ด€๊ณ„์—†์Œ + const maxRow = isMultipleModules + ? trestleDetailData.moduleMaxRows + : trestleDetailData.module.find((item) => item.moduleTpCd === checkedModule[0].moduleTpCd).moduleMaxRows //๋ฉ€ํ‹ฐ๋ชจ๋“ˆ์ด๋ฉด ๋ฐ–์— maxRows๋กœ ํŒ๋‹จ ์•„๋‹ˆ๋ฉด module->itemmList๋ฅผ ๊ฐ€์ง€๊ณ  ํŒ๋‹จ - // - const sumColCount = layoutSetupRef.filter((item) => item.col).some((item) => item.col > maxCol) + //๋‹จ์ˆ˜ ํ•ฉ๋‹จ์ˆ˜ + const sumRowCount = isMultipleModules + ? layoutSetupRef.filter((item) => item.checked).reduce((acc, cur) => acc + cur.row, 0) + : layoutSetupRef.find((item) => item.moduleId === checkedModule[0].itemId).row //๋ฉ€ํ‹ฐ๋ชจ๋“ˆ์ด๋ฉด ์ „์ฒด ํ•ฉ, ์ฒดํฌ๋œ ํ•œ๊ฐœ์˜ ์—ด - if (sumRowCount > maxRow || sumColCount) { - failAutoSetupRoof.push(moduleSetupSurface) - return false - } + // + const sumColCount = layoutSetupRef.filter((item) => item.col).some((item) => item.col > maxCol) - // ํ˜ผํ•ฉ์ผ๋•Œ ๋ชจ๋“ˆ ๊ฐœ๋ณ„์˜ row๋ฅผ ์ฒดํฌํ•จ - const isPassedObject = - isMultipleModules && layoutSetupRef.find((item, index) => item.checked && item.row > trestleDetailData.module[index].mixModuleMaxRows) + if (sumRowCount > maxRow || sumColCount) { + failAutoSetupRoof.push(moduleSetupSurface) + return false + } - if (isPassedObject) { - failAutoSetupRoof.push(moduleSetupSurface) - return false + // ํ˜ผํ•ฉ์ผ๋•Œ ๋ชจ๋“ˆ ๊ฐœ๋ณ„์˜ row๋ฅผ ์ฒดํฌํ•จ + const isPassedObject = + isMultipleModules && layoutSetupRef.find((item, index) => item.checked && item.row > trestleDetailData.module[index].mixModuleMaxRows) + + if (isPassedObject) { + failAutoSetupRoof.push(moduleSetupSurface) + return false + } + } else { + //๋ถ๋ฉด ๋ชจ๋“ˆ๋งŒ ์„ ํƒํ–ˆ์„๋•Œ + if (checkedModule.length === 1) { + 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 === 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 { + const normalModule = checkedModule.filter((item) => item.northModuleYn === 'N') + const northModule = checkedModule.filter((item) => item.northModuleYn === 'Y') + + //๋งŒ์•ฝ ๋ถ๋ฉด ๋ชจ๋“ˆ์ด 2๊ฐœ๋ฉด ์ด ํ•˜์œ„ ๋กœ์ง ๊ฐ€์ ธ๋‹ค๊ฐ€ ์“ฐ๋ฉด๋จ northModule === ๋งŒ ๋ฐ”๊พธ๋ฉด ๋ ๋“ฏ + // northModule์„ ๋ฐฐ์—ด๋กœ ๋งŒ๋“ค๊ณ  include๋กœ ํ•ด์„œ ์ฒดํฌ ํ•ด์•ผ๋จ + if (normalModule.length > 0 && !moduleSetupSurface.isNorth) { + const isMultipleModules = normalModule.length > 1 //๋ชจ๋“ˆ์ด ์—ฌ๋Ÿฌ๊ฐœ๋ฉด + const maxCol = trestleDetailData.moduleMaxCols //์ตœ๋Œ€ ์—ด์ˆ˜ -> ์–˜๋Š” ๋ฉ€ํ‹ฐ๋ž‘ ๊ด€๊ณ„์—†์Œ + const maxRow = isMultipleModules + ? trestleDetailData.moduleMaxRows + : trestleDetailData.module.find((item) => item.moduleTpCd === normalModule[0].moduleTpCd).moduleMaxRows //๋ฉ€ํ‹ฐ๋ชจ๋“ˆ์ด๋ฉด ๋ฐ–์— maxRows๋กœ ํŒ๋‹จ ์•„๋‹ˆ๋ฉด module->itemmList๋ฅผ ๊ฐ€์ง€๊ณ  ํŒ๋‹จ + + //๋‹จ์ˆ˜ ํ•ฉ๋‹จ์ˆ˜ + const sumRowCount = isMultipleModules + ? layoutSetupRef.filter((item) => item.checked && item.moduleId !== northModule[0].itemId).reduce((acc, cur) => acc + cur.row, 0) + : layoutSetupRef.find((item) => item.moduleId === normalModule[0].itemId).row //๋ฉ€ํ‹ฐ๋ชจ๋“ˆ์ด๋ฉด ์ „์ฒด ํ•ฉ, ์ฒดํฌ๋œ ํ•œ๊ฐœ์˜ ์—ด + + // + const sumColCount = layoutSetupRef.filter((item) => item.col && item.moduleId !== northModule[0].itemId).some((item) => item.col > maxCol) + + if (sumRowCount > maxRow || sumColCount) { + failAutoSetupRoof.push(moduleSetupSurface) + return false + } + + // ํ˜ผํ•ฉ์ผ๋•Œ ๋ชจ๋“ˆ ๊ฐœ๋ณ„์˜ row๋ฅผ ์ฒดํฌํ•จ + const isPassedObject = + isMultipleModules && + layoutSetupRef.find( + (item, index) => + item.checked && item.moduleId !== northModule[0].itemId && item.row > trestleDetailData.module[index].mixModuleMaxRows, + ) + + if (isPassedObject) { + failAutoSetupRoof.push(moduleSetupSurface) + return false + } + } + + if (northModule.length > 0 && moduleSetupSurface.isNorth) { + 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 sumColCount = layoutSetupRef.filter((item) => item.col && item.moduleId !== northModule[0].itemId).some((item) => item.col > maxCol) + + if (sumRowCount > maxRow || sumColCount) { + failAutoSetupRoof.push(moduleSetupSurface) + return false + } + } + } } return true } @@ -1943,12 +2014,11 @@ export function useModuleBasicSetting(tabNum) { let flowLines let installedModuleMixYn const isNorthSurface = moduleSetupSurface.isNorth - const isIncludeNorthModule = checkedModule.some((module) => module.northModuleYn === 'Y') //์ฒดํฌ๋œ ๋ชจ๋“ˆ ์ค‘์— ๋ถ๋ฉด ๋ชจ๋“ˆ์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๋กœ์ง let layoutRow = 0 let layoutCol = 0 - if (type === 'layout') { + if (type === MODULE_SETUP_TYPE.LAYOUT) { const isPassed = checkAutoLayoutModuleSetup(moduleSetupSurface, trestleDetailData) if (!isPassed) { return @@ -1958,7 +2028,7 @@ export function useModuleBasicSetting(tabNum) { for (let moduleIndex = 0; moduleIndex < checkedModule.length; moduleIndex++) { const module = checkedModule[moduleIndex] - if (type === 'layout' && checkedLayoutData) { + if (type === MODULE_SETUP_TYPE.LAYOUT && checkedLayoutData) { const layout = checkedLayoutData.find((item) => module.itemId === item.moduleId) layoutRow = layout.row layoutCol = layout.col @@ -2009,7 +2079,7 @@ export function useModuleBasicSetting(tabNum) { let calcAreaHeight = flowLines.bottom.y1 - flowLines.top.y1 let calcModuleHeightCount = calcAreaHeight / (height + intvVer + 1) - if (type === 'layout') { + if (type === MODULE_SETUP_TYPE.LAYOUT) { calcModuleWidthCount = layoutCol > calcModuleWidthCount ? calcModuleWidthCount : layoutCol calcModuleHeightCount = layoutRow } @@ -2095,9 +2165,9 @@ export function useModuleBasicSetting(tabNum) { installedLastHeightCoord = moduleY - height - heightMargin } else { //๋””๋ฒ„๊น…์šฉ - tempModule.set({ fill: 'transparent', stroke: 'red', strokeWidth: 1 }) - canvas?.add(tempModule) - canvas.renderAll() + // tempModule.set({ fill: 'transparent', stroke: 'red', strokeWidth: 1 }) + // canvas?.add(tempModule) + // canvas.renderAll() } } if (isInstall) { @@ -2136,7 +2206,7 @@ export function useModuleBasicSetting(tabNum) { let layoutRow = 0 let layoutCol = 0 - if (type === 'layout') { + if (type === MODULE_SETUP_TYPE.LAYOUT) { const isPassed = checkAutoLayoutModuleSetup(moduleSetupSurface, trestleDetailData) if (!isPassed) { return @@ -2146,7 +2216,7 @@ export function useModuleBasicSetting(tabNum) { for (let moduleIndex = 0; moduleIndex < checkedModule.length; moduleIndex++) { const module = checkedModule[moduleIndex] - if (type === 'layout' && checkedLayoutData) { + if (type === MODULE_SETUP_TYPE.LAYOUT && checkedLayoutData) { const layout = checkedLayoutData.find((item) => module.itemId === item.moduleId) layoutRow = layout.row layoutCol = layout.col @@ -2204,7 +2274,7 @@ export function useModuleBasicSetting(tabNum) { let calcModuleHeightCount = calcAreaHeight / (height + intvVer + 1) //๋‹จ์ˆ˜์ง€์ • ์ž๋™์ด๋ฉด - if (type === 'layout') { + if (type === MODULE_SETUP_TYPE.LAYOUT) { calcModuleWidthCount = layoutCol > calcModuleWidthCount ? calcModuleWidthCount : layoutCol calcModuleHeightCount = layoutRow } @@ -2325,7 +2395,7 @@ export function useModuleBasicSetting(tabNum) { let layoutRow = 0 let layoutCol = 0 - if (type === 'layout') { + if (type === MODULE_SETUP_TYPE.LAYOUT) { const isPassed = checkAutoLayoutModuleSetup(moduleSetupSurface, trestleDetailData) if (!isPassed) { return @@ -2336,7 +2406,7 @@ export function useModuleBasicSetting(tabNum) { const module = checkedModule[moduleIndex] //๋‹จ์ˆ˜ ์ง€์ •์ด๋ฉด - if (type === 'layout' && checkedLayoutData) { + if (type === MODULE_SETUP_TYPE.LAYOUT && checkedLayoutData) { const layout = checkedLayoutData.find((item) => module.itemId === item.moduleId) layoutRow = layout.row layoutCol = layout.col @@ -2397,7 +2467,7 @@ export function useModuleBasicSetting(tabNum) { let calcModuleHeightCount = calcAreaHeight / (width + intvVer + 1) //๋‹จ์ˆ˜์ง€์ • ์ž๋™์ด๋ฉด - if (type === 'layout') { + if (type === MODULE_SETUP_TYPE.LAYOUT) { calcModuleWidthCount = layoutCol > calcModuleWidthCount ? calcModuleWidthCount : layoutCol calcModuleHeightCount = layoutRow } @@ -2518,7 +2588,7 @@ export function useModuleBasicSetting(tabNum) { let layoutRow = 0 let layoutCol = 0 - if (type === 'layout') { + if (type === MODULE_SETUP_TYPE.LAYOUT) { const isPassed = checkAutoLayoutModuleSetup(moduleSetupSurface, trestleDetailData) if (!isPassed) { return @@ -2528,7 +2598,7 @@ export function useModuleBasicSetting(tabNum) { for (let moduleIndex = 0; moduleIndex < checkedModule.length; moduleIndex++) { const module = checkedModule[moduleIndex] - if (type === 'layout' && checkedLayoutData) { + if (type === MODULE_SETUP_TYPE.LAYOUT && checkedLayoutData) { const layout = checkedLayoutData.find((item) => module.itemId === item.moduleId) layoutRow = layout.row layoutCol = layout.col @@ -2588,7 +2658,7 @@ export function useModuleBasicSetting(tabNum) { let calcModuleHeightCount = calcAreaHeight / (width + intvVer + 1) //๋‹จ์ˆ˜์ง€์ • ์ž๋™์ด๋ฉด - if (type === 'layout') { + if (type === MODULE_SETUP_TYPE.LAYOUT) { calcModuleWidthCount = layoutCol > calcModuleWidthCount ? calcModuleWidthCount : layoutCol calcModuleHeightCount = layoutRow } @@ -2778,16 +2848,14 @@ export function useModuleBasicSetting(tabNum) { /** * ์ž๋™ ๋ ˆ์ด์•„์›ƒ์ผ๋–„ ์„ค์น˜ ๊ฐ€๋Šฅํ•œ ์• ๋“ค์€ ์„ค์น˜ ํ•ด์ฃผ๊ณ  ์‹คํŒจํ•œ ์• ๋“ค์€ ์ด๋ฆ„, ์ตœ๋Œ€ ์„ค์น˜ ๊ฐ€๋Šฅํ•œ ๋†’์ด ์•Œ๋ ค์ค„๋ผ๊ณ  */ - if (type === 'layout' && failAutoSetupRoof.length > 0) { + if (type === MODULE_SETUP_TYPE.LAYOUT && failAutoSetupRoof.length > 0) { const roofNamesList = failAutoSetupRoof.map((roof) => ({ roofName: roof.roofMaterial.roofMatlNmJp, moduleMaxRows: roof.trestleDetail.moduleMaxRows, })) const alertString = roofNamesList.map((item, index) => `${item.roofName}(${item.moduleMaxRows})`) - console.log('alertString', alertString) - - // swalFire({ text: alertString, icon: 'warning' }) + swalFire({ text: alertString, icon: 'warning' }) } } From d5bba49ca975bd5c694f4ed1e1a81b9b5ae9250e Mon Sep 17 00:00:00 2001 From: yjnoh Date: Fri, 2 May 2025 09:23:59 +0900 Subject: [PATCH 04/10] =?UTF-8?q?console.log=20=EC=82=AD=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/hooks/module/useModuleBasicSetting.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/hooks/module/useModuleBasicSetting.js b/src/hooks/module/useModuleBasicSetting.js index 1ce7298f..ffff4344 100644 --- a/src/hooks/module/useModuleBasicSetting.js +++ b/src/hooks/module/useModuleBasicSetting.js @@ -1772,8 +1772,6 @@ export function useModuleBasicSetting(tabNum) { const autoModuleSetup = (type, layoutSetupRef) => { initEvent() //๋งˆ์šฐ์Šค ์ด๋ฒคํŠธ ์ดˆ๊ธฐํ™” - console.log('checkedModule', checkedModule) - //์‹คํŒจํ•œ ์ง€๋ถ•์žฌ ๋ฐฐ์—ด let failAutoSetupRoof = [] From 08722e8b51e3392b1f1960445f7f8ef6f0f1bf0e Mon Sep 17 00:00:00 2001 From: yjnoh Date: Fri, 2 May 2025 15:50:27 +0900 Subject: [PATCH 05/10] =?UTF-8?q?=EB=AA=A8=EB=93=88=20=EB=A0=88=EC=9D=B4?= =?UTF-8?q?=EC=95=84=EC=9B=83=20=EC=84=A4=EC=B9=98=20=EC=9E=91=EC=97=85?= =?UTF-8?q?=EC=A4=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/hooks/module/useModuleBasicSetting.js | 79 +++++++++++++++++------ 1 file changed, 58 insertions(+), 21 deletions(-) diff --git a/src/hooks/module/useModuleBasicSetting.js b/src/hooks/module/useModuleBasicSetting.js index ffff4344..785c6b0f 100644 --- a/src/hooks/module/useModuleBasicSetting.js +++ b/src/hooks/module/useModuleBasicSetting.js @@ -1822,20 +1822,35 @@ export function useModuleBasicSetting(tabNum) { } //์–ด์งœํ”ผ ์ž๋™์œผ๋กœ ๋ˆ„๋ฅด๋ฉด ์„ ํƒ์•ˆ๋œ๋ฐ๋„ ๋‹ค ๋‚ ์•„๊ฐ„๋‹ค - canvas.getObjects().forEach((obj) => { - if (obj.name === POLYGON_TYPE.MODULE) { - canvas.remove(obj) - } - }) + // canvas.getObjects().forEach((obj) => { + // if (obj.name === POLYGON_TYPE.MODULE) { + // canvas.remove(obj) + // } + // }) - notSelectedTrestlePolygons.forEach((obj) => { - if (obj.modules) { - obj.modules.forEach((module) => { - canvas?.remove(module) - }) - obj.modules = [] - } - }) + //์ž๋™์ผ๋•Œ๋งŒ ์„ ํƒ ์•ˆ๋œ ๋ชจ๋“ˆ ์‚ญ์ œ + if (type === MODULE_SETUP_TYPE.AUTO) { + notSelectedTrestlePolygons.forEach((obj) => { + if (obj.modules) { + obj.modules.forEach((module) => { + 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 = { stroke: 'black', @@ -1936,23 +1951,25 @@ export function useModuleBasicSetting(tabNum) { } else { const normalModule = checkedModule.filter((item) => item.northModuleYn === 'N') const northModule = checkedModule.filter((item) => item.northModuleYn === 'Y') + const northModuleIds = northModule.map((item) => item.itemId) //๋งŒ์•ฝ ๋ถ๋ฉด ๋ชจ๋“ˆ์ด 2๊ฐœ๋ฉด ์ด ํ•˜์œ„ ๋กœ์ง ๊ฐ€์ ธ๋‹ค๊ฐ€ ์“ฐ๋ฉด๋จ northModule === ๋งŒ ๋ฐ”๊พธ๋ฉด ๋ ๋“ฏ // northModule์„ ๋ฐฐ์—ด๋กœ ๋งŒ๋“ค๊ณ  include๋กœ ํ•ด์„œ ์ฒดํฌ ํ•ด์•ผ๋จ if (normalModule.length > 0 && !moduleSetupSurface.isNorth) { + //C1C2 ๋ชจ๋“ˆ์ผ ๊ฒฝ์šฐใ…ใ… const isMultipleModules = normalModule.length > 1 //๋ชจ๋“ˆ์ด ์—ฌ๋Ÿฌ๊ฐœ๋ฉด const maxCol = trestleDetailData.moduleMaxCols //์ตœ๋Œ€ ์—ด์ˆ˜ -> ์–˜๋Š” ๋ฉ€ํ‹ฐ๋ž‘ ๊ด€๊ณ„์—†์Œ const maxRow = isMultipleModules ? trestleDetailData.moduleMaxRows : trestleDetailData.module.find((item) => item.moduleTpCd === normalModule[0].moduleTpCd).moduleMaxRows //๋ฉ€ํ‹ฐ๋ชจ๋“ˆ์ด๋ฉด ๋ฐ–์— maxRows๋กœ ํŒ๋‹จ ์•„๋‹ˆ๋ฉด module->itemmList๋ฅผ ๊ฐ€์ง€๊ณ  ํŒ๋‹จ - //๋‹จ์ˆ˜ ํ•ฉ๋‹จ์ˆ˜ + //๋ถ๋ฉด ๋ชจ๋“ˆ id๋ฅผ ์ œ์™ธํ•œ ๋ชจ๋“ˆ์˜ ๋‹จ ์ฒดํฌ 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 //๋ฉ€ํ‹ฐ๋ชจ๋“ˆ์ด๋ฉด ์ „์ฒด ํ•ฉ, ์ฒดํฌ๋œ ํ•œ๊ฐœ์˜ ์—ด - // - const sumColCount = layoutSetupRef.filter((item) => item.col && item.moduleId !== northModule[0].itemId).some((item) => item.col > maxCol) + //๋ถ๋ฉด ๋ชจ๋“ˆ id๋ฅผ ์ œ์™ธํ•œ ๋ชจ๋“ˆ์˜ ์—ด ์ฒดํฌ + const sumColCount = layoutSetupRef.filter((item) => item.col && !northModuleIds.includes(item.moduleId)).some((item) => item.col > maxCol) if (sumRowCount > maxRow || sumColCount) { failAutoSetupRoof.push(moduleSetupSurface) @@ -1964,7 +1981,7 @@ export function useModuleBasicSetting(tabNum) { isMultipleModules && layoutSetupRef.find( (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) { @@ -1974,16 +1991,36 @@ export function useModuleBasicSetting(tabNum) { } if (northModule.length > 0 && moduleSetupSurface.isNorth) { + const isMultipleModules = northModule.length > 1 //๋ชจ๋“ˆ์ด ์—ฌ๋Ÿฌ๊ฐœ๋ฉด 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 sumColCount = layoutSetupRef.filter((item) => item.col && item.moduleId !== northModule[0].itemId).some((item) => item.col > maxCol) + const maxRow = isMultipleModules + ? 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) { failAutoSetupRoof.push(moduleSetupSurface) 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 + } } } } From d6b0e4994af85b6360f2b60759027913e68ae235 Mon Sep 17 00:00:00 2001 From: yjnoh Date: Wed, 7 May 2025 14:47:08 +0900 Subject: [PATCH 06/10] =?UTF-8?q?#=20[1014]=20:=20819=E3=81=AE=E8=BF=BD?= =?UTF-8?q?=E5=8A=A0=E3=80=80=E3=83=AC=E3=82=A4=E3=82=A2=E3=82=A6=E3=83=88?= =?UTF-8?q?=E6=8C=87=E5=AE=9A=E9=85=8D=E7=BD=AE=E3=81=AE=E8=87=AA=E5=8B=95?= =?UTF-8?q?=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit # [์ž‘์—…๋‚ด์šฉ] : http://1.248.227.176:43333/issues/1014 --- .../floor-plan/modal/basic/BasicSetting.jsx | 6 +- .../floor-plan/modal/basic/step/Placement.jsx | 6 +- src/hooks/module/useModuleBasicSetting.js | 170 +++++------------- src/locales/ja.json | 4 +- 4 files changed, 57 insertions(+), 129 deletions(-) diff --git a/src/components/floor-plan/modal/basic/BasicSetting.jsx b/src/components/floor-plan/modal/basic/BasicSetting.jsx index 66a76d71..a70b9a22 100644 --- a/src/components/floor-plan/modal/basic/BasicSetting.jsx +++ b/src/components/floor-plan/modal/basic/BasicSetting.jsx @@ -331,15 +331,15 @@ export default function BasicSetting({ id, pos = { x: 50, y: 230 } }) { + - )} diff --git a/src/components/floor-plan/modal/basic/step/Placement.jsx b/src/components/floor-plan/modal/basic/step/Placement.jsx index 5d2c8c6a..c6556ea3 100644 --- a/src/components/floor-plan/modal/basic/step/Placement.jsx +++ b/src/components/floor-plan/modal/basic/step/Placement.jsx @@ -37,7 +37,7 @@ const Placement = forwardRef((props, refs) => { const resetModuleSetupOption = useResetRecoilState(moduleSetupOptionState) const [colspan, setColspan] = useState(1) - const [moduleRowColArray, setModuleRowColArray] = useRecoilState(moduleRowColArrayState) + const moduleRowColArray = useRecoilValue(moduleRowColArrayState) //๋ชจ๋“ˆ ๋ฐฐ์น˜๋ฉด ์ƒ์„ฑ useEffect(() => { @@ -337,6 +337,7 @@ const Placement = forwardRef((props, refs) => { ))} + {colspan > 1 && {getMessage('total')}} {selectedModules.itemList.map((item) => ( @@ -356,10 +357,11 @@ const Placement = forwardRef((props, refs) => { {item.addRoof?.roofMatlNmJp} - {moduleRowColArray[index]?.map((item) => ( + {moduleRowColArray[index]?.map((item, index2) => ( <> {item.moduleMaxRows} {colspan > 1 && {item.mixModuleMaxRows}} + {colspan > 1 && index2 === moduleRowColArray[index].length - 1 && {item.maxRow}} ))} diff --git a/src/hooks/module/useModuleBasicSetting.js b/src/hooks/module/useModuleBasicSetting.js index 785c6b0f..c43477d7 100644 --- a/src/hooks/module/useModuleBasicSetting.js +++ b/src/hooks/module/useModuleBasicSetting.js @@ -49,20 +49,17 @@ export function useModuleBasicSetting(tabNum) { const [isManualModuleLayoutSetup, setIsManualModuleLayoutSetup] = useRecoilState(isManualModuleLayoutSetupState) const canvasSetting = useRecoilValue(canvasSettingState) const moduleSelectionData = useRecoilValue(moduleSelectionDataState) - const [trestleDetailParams, setTrestleDetailParams] = useState([]) const [trestleDetailList, setTrestleDetailList] = useState([]) const selectedModules = useRecoilValue(selectedModuleState) - const { getTrestleDetailList } = useMasterController() const [saleStoreNorthFlg, setSaleStoreNorthFlg] = useState(false) const setCurrentObject = useSetRecoilState(currentObjectState) const { setModuleStatisticsData } = useCircuitTrestle() const { createRoofPolygon, createMarginPolygon, createPaddingPolygon } = useMode() - const { drawDirectionArrow } = usePolygon() const moduleSetupOption = useRecoilValue(moduleSetupOptionState) const setManualSetupMode = useSetRecoilState(toggleManualSetupModeState) - const [moduleRowColArray, setModuleRowColArray] = useRecoilState(moduleRowColArrayState) + const setModuleRowColArray = useSetRecoilState(moduleRowColArrayState) useEffect(() => { return () => { @@ -111,10 +108,6 @@ export function useModuleBasicSetting(tabNum) { } } - useEffect(() => { - console.log('saleStoreNorthFlg', saleStoreNorthFlg) - }, [saleStoreNorthFlg]) - //๊ฐ€๋Œ€ ์ƒ์„ธ ๋ฐ์ดํ„ฐ ๋“ค์–ด์˜ค๋ฉด ์‹คํ–‰ useEffect(() => { if (trestleDetailList.length > 0) { @@ -153,7 +146,7 @@ export function useModuleBasicSetting(tabNum) { const moduleRowArray = [] if (isObjectNotEmpty(detail) && detail.module.length > 0) { detail.module.forEach((module) => { - moduleRowArray.push({ moduleMaxRows: module.moduleMaxRows, mixModuleMaxRows: module.mixModuleMaxRows }) + moduleRowArray.push({ moduleMaxRows: module.moduleMaxRows, mixModuleMaxRows: module.mixModuleMaxRows, maxRow: detail.moduleMaxRows }) }) } rowColArray.push(moduleRowArray) @@ -456,14 +449,14 @@ export function useModuleBasicSetting(tabNum) { } if (checkedModule.length === 0) { - swalFire({ text: getMessage('module.place.select.module') }) + swalFire({ text: getMessage('module.place.select.module'), icon: 'warning' }) setIsManualModuleSetup(false) setManualSetupMode(`manualSetup_false`) return } if (checkedModule.length > 1) { - swalFire({ text: getMessage('module.place.select.one.module') }) + swalFire({ text: getMessage('module.place.select.one.module'), icon: 'warning' }) setIsManualModuleSetup(false) setManualSetupMode(`manualSetup_false`) return @@ -1048,26 +1041,6 @@ export function useModuleBasicSetting(tabNum) { }, ] - //์•„๋ž˜๋ž˜ - // let points = [ - // { - // x: Number(mousePoint.x.toFixed(1)) - calcHalfWidth, - // y: Number(mousePoint.y.toFixed(1)) - calcHalfHeight, - // }, - // { - // x: Number(mousePoint.x.toFixed(1)) - calcHalfWidth, - // y: Number(mousePoint.y.toFixed(1)) + calcHalfHeight, - // }, - // { - // x: Number(mousePoint.x.toFixed(1)) + calcHalfWidth, - // y: Number(mousePoint.y.toFixed(1)) + calcHalfHeight, - // }, - // { - // x: Number(mousePoint.x.toFixed(1)) + calcHalfWidth, - // y: Number(mousePoint.y.toFixed(1)) - calcHalfHeight, - // }, - // ] - const turfPoints = coordToTurfPolygon(points) if (turf.booleanWithin(turfPoints, turfPolygon)) { @@ -1829,6 +1802,16 @@ export function useModuleBasicSetting(tabNum) { // }) //์ž๋™์ผ๋•Œ๋งŒ ์„ ํƒ ์•ˆ๋œ ๋ชจ๋“ˆ ์‚ญ์ œ + moduleSetupSurfaces.forEach((obj) => { + if (obj.modules) { + obj.modules.forEach((module) => { + canvas?.remove(module) + canvas?.renderAll() + }) + obj.modules = [] + } + }) + if (type === MODULE_SETUP_TYPE.AUTO) { notSelectedTrestlePolygons.forEach((obj) => { if (obj.modules) { @@ -1839,17 +1822,6 @@ export function useModuleBasicSetting(tabNum) { obj.modules = [] } }) - } else { - //๋ ˆ์ด์•„์›ƒ์ผ๋•Œ๋Š” ๊ธฐ์กด์— ๊น”๋ฆฐ ๋ชจ๋“ˆ์€ ์‚ญ์ œ ํ•˜์ง€ ์•Š์Œ ์„ ํƒ๋œ ์˜์—ญ๋งŒ ๋ชจ๋“ˆ ์‚ญ์ œ - moduleSetupSurfaces.forEach((obj) => { - if (obj.modules) { - obj.modules.forEach((module) => { - canvas?.remove(module) - canvas?.renderAll() - }) - obj.modules = [] - } - }) } let moduleOptions = { @@ -1864,9 +1836,6 @@ export function useModuleBasicSetting(tabNum) { name: POLYGON_TYPE.MODULE, } - //์ฒดํฌ๋œ ๋ชจ๋“ˆ ์ค‘์— ๋ถ๋ฉด ๋ชจ๋“ˆ์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๋กœ์ง - const isIncludeNorthModule = checkedModule.some((module) => module.northModuleYn === 'Y') - //์„ ํƒ๋œ ์ง€๋ถ•์•ˆ์— ์˜ค๋ธŒ์ ํŠธ(๋„๋จธ, ๊ฐœ๊ตฌ๋“ฑ)์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๋กœ์ง ํฌํ•จ๋˜๋ฉด ๋ฐฐ์—ด ๋ฐ˜ํ™˜ const objectsIncludeSurface = (turfModuleSetupSurface) => { let containsBatchObjects = [] @@ -1895,49 +1864,46 @@ export function useModuleBasicSetting(tabNum) { /** * ์ž๋™ ๋ ˆ์ด์•„์›ƒ ์„ค์น˜ ์ผ์‹œ row col ์ดˆ๊ณผ ์—ฌ๋ถ€ ํ™•์ธ + * ์ฒดํฌ๋œ ๋ชจ๋“ˆ์ค‘์— ๋ถ๋ฉด ๋ชจ๋“ˆ์ด ์žˆ์œผ๋ฉด ๋ถ๋ฉด ๋ชจ๋“ˆ๋งŒ ๋”ฐ๋กœ ๊ณ„์‚ฐํ•˜๊ณ  ์•„๋‹ˆ๋ฉด ์ „์ฒด ๋ชจ๋“ˆ์„ ๊ณ„์‚ฐ + * ๋ถ๋ฉด ๋ชจ๋“ˆ์ด ์žˆ๊ณ  ๋ถ๋ฉด์ด ๋“ค์–ด์˜ค๋ฉด ๋ถ๋ฉด์˜ row๋ฅผ ๊ณ„์‚ฐํ•œ๋‹ค + * * @param {*} trestleDetailData * @returns */ const checkAutoLayoutModuleSetup = (moduleSetupSurface, trestleDetailData) => { - /** - * ์ฒดํฌ๋œ ๋ชจ๋“ˆ์ค‘์— ๋ถ๋ฉด ๋ชจ๋“ˆ์ด ์žˆ์œผ๋ฉด ๋ถ๋ฉด ๋ชจ๋“ˆ๋งŒ ๋”ฐ๋กœ ๊ณ„์‚ฐํ•˜๊ณ  ์•„๋‹ˆ๋ฉด ์ „์ฒด ๋ชจ๋“ˆ์„ ๊ณ„์‚ฐ - * ๋ถ๋ฉด ๋ชจ๋“ˆ์ด ์žˆ๊ณ  ๋ถ๋ฉด์ด ๋“ค์–ด์˜ค๋ฉด ๋ถ๋ฉด์˜ row๋ฅผ ๊ณ„์‚ฐํ•œ๋‹ค - * - */ - //๋ถ๋ฉด ๋ชจ๋“ˆ์ด ์—†์„๋•Œ + //์ฒดํฌ๋œ ๋ชจ๋“ˆ ์ค‘์— ๋ถ๋ฉด ๋ชจ๋“ˆ์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๋กœ์ง + const isIncludeNorthModule = checkedModule.some((module) => module.northModuleYn === 'Y') + const maxCol = trestleDetailData.moduleMaxCols //์ตœ๋Œ€ ์—ด์ˆ˜ -> ์–˜๋Š” ๋ฉ€ํ‹ฐ๋ž‘ ๊ด€๊ณ„์—†์Œ + + //๋ถ๋ฉด ๋ชจ๋“ˆ์ด ์—†์œผ๋ฉด if (!isIncludeNorthModule) { - const isMultipleModules = checkedModule.length > 1 //๋ชจ๋“ˆ์ด ์—ฌ๋Ÿฌ๊ฐœ๋ฉด - const maxCol = trestleDetailData.moduleMaxCols //์ตœ๋Œ€ ์—ด์ˆ˜ -> ์–˜๋Š” ๋ฉ€ํ‹ฐ๋ž‘ ๊ด€๊ณ„์—†์Œ + const isMultipleModules = checkedModule.length > 1 //๋ชจ๋“ˆ์ด ์—ฌ๋Ÿฌ๊ฐœ์ธ์ง€ ์ฒดํฌํ•˜๊ณ  + + //๋ฉ€ํ‹ฐ ๋ชจ๋“ˆ์ด๋ฉด ๋ชจ๋“ˆ๋ฐ–์— ๋‚ด๋ ค์˜จ ์ •๋ณด์˜ maxRow ๋‹จ์ผ ๋ชจ๋“ˆ์ด๋ฉด ๋ชจ๋“ˆ์— maxRow const maxRow = isMultipleModules ? trestleDetailData.moduleMaxRows : trestleDetailData.module.find((item) => item.moduleTpCd === checkedModule[0].moduleTpCd).moduleMaxRows //๋ฉ€ํ‹ฐ๋ชจ๋“ˆ์ด๋ฉด ๋ฐ–์— maxRows๋กœ ํŒ๋‹จ ์•„๋‹ˆ๋ฉด module->itemmList๋ฅผ ๊ฐ€์ง€๊ณ  ํŒ๋‹จ - //๋‹จ์ˆ˜ ํ•ฉ๋‹จ์ˆ˜ + //๋ฉ€ํ‹ฐ ๋ชจ๋“ˆ์ด๋ฉด ๋ชจ๋“ˆ๋ฐ–์— ๋‚ด๋ ค์˜จ ์ •๋ณด์˜ row ํ•ฉ, ๋‹จ์ผ ๋ชจ๋“ˆ์ด๋ฉด ๋ชจ๋“ˆ์— row const sumRowCount = isMultipleModules ? layoutSetupRef.filter((item) => item.checked).reduce((acc, cur) => acc + cur.row, 0) : layoutSetupRef.find((item) => item.moduleId === checkedModule[0].itemId).row //๋ฉ€ํ‹ฐ๋ชจ๋“ˆ์ด๋ฉด ์ „์ฒด ํ•ฉ, ์ฒดํฌ๋œ ํ•œ๊ฐœ์˜ ์—ด - // + //col๋Š” moduleItems ๋ฐฐ์—ด ๋ฐ–์— ๋‚ด๋ ค์˜ด const sumColCount = layoutSetupRef.filter((item) => item.col).some((item) => item.col > maxCol) - if (sumRowCount > maxRow || sumColCount) { - failAutoSetupRoof.push(moduleSetupSurface) - return false - } - - // ํ˜ผํ•ฉ์ผ๋•Œ ๋ชจ๋“ˆ ๊ฐœ๋ณ„์˜ row๋ฅผ ์ฒดํฌํ•จ + // ํ˜ผํ•ฉ์ผ๋•Œ ๋ชจ๋“ˆ ๊ฐœ๋ณ„์˜ maxRow๋ฅผ ์ฒดํฌํ•ด์„œ ๊ฐ€๋Šฅ์—ฌ๋ถ€ ํ™•์ธ const isPassedObject = - isMultipleModules && layoutSetupRef.find((item, index) => item.checked && item.row > trestleDetailData.module[index].mixModuleMaxRows) - - if (isPassedObject) { + isMultipleModules && layoutSetupRef.find((item, index) => item.checked && item.row > trestleDetailData.module[index].mixModuleMaxRows) //์ฒดํฌ๋œ ๋ฐฐ์—ด์€ checked์—ฌ๋ถ€๋กœ ์ฒดํฌํ•ด์„œ index์™€ ๋™์ผํ•จ + //์ „์ฒด ์นด์€ํŠธ๋œ ์—ด์ˆ˜๊ฐ€ ํฌ๊ฑฐ๋‚˜ ํ˜ผํ•ฉ์นด์šดํŠธ๊ฐ€ ์กด์žฌ ํ•˜๋ฉด ์‹คํŒจ + if (sumRowCount > maxRow || sumColCount || isPassedObject) { failAutoSetupRoof.push(moduleSetupSurface) return false } } else { //๋ถ๋ฉด ๋ชจ๋“ˆ๋งŒ ์„ ํƒํ–ˆ์„๋•Œ if (checkedModule.length === 1) { - const maxCol = trestleDetailData.moduleMaxCols //์ตœ๋Œ€ ์—ด์ˆ˜ -> ์–˜๋Š” ๋ฉ€ํ‹ฐ๋ž‘ ๊ด€๊ณ„์—†์Œ const maxRow = trestleDetailData.module.find((item) => item.moduleTpCd === checkedModule[0].moduleTpCd).moduleMaxRows //๋ฉ€ํ‹ฐ๋ชจ๋“ˆ์ด๋ฉด ๋ฐ–์— maxRows๋กœ ํŒ๋‹จ ์•„๋‹ˆ๋ฉด module->itemmList๋ฅผ ๊ฐ€์ง€๊ณ  ํŒ๋‹จ //๋‹จ์ˆ˜ ํ•ฉ๋‹จ์ˆ˜ @@ -1958,7 +1924,6 @@ export function useModuleBasicSetting(tabNum) { if (normalModule.length > 0 && !moduleSetupSurface.isNorth) { //C1C2 ๋ชจ๋“ˆ์ผ ๊ฒฝ์šฐใ…ใ… const isMultipleModules = normalModule.length > 1 //๋ชจ๋“ˆ์ด ์—ฌ๋Ÿฌ๊ฐœ๋ฉด - const maxCol = trestleDetailData.moduleMaxCols //์ตœ๋Œ€ ์—ด์ˆ˜ -> ์–˜๋Š” ๋ฉ€ํ‹ฐ๋ž‘ ๊ด€๊ณ„์—†์Œ const maxRow = isMultipleModules ? trestleDetailData.moduleMaxRows : trestleDetailData.module.find((item) => item.moduleTpCd === normalModule[0].moduleTpCd).moduleMaxRows //๋ฉ€ํ‹ฐ๋ชจ๋“ˆ์ด๋ฉด ๋ฐ–์— maxRows๋กœ ํŒ๋‹จ ์•„๋‹ˆ๋ฉด module->itemmList๋ฅผ ๊ฐ€์ง€๊ณ  ํŒ๋‹จ @@ -1971,11 +1936,6 @@ export function useModuleBasicSetting(tabNum) { //๋ถ๋ฉด ๋ชจ๋“ˆ id๋ฅผ ์ œ์™ธํ•œ ๋ชจ๋“ˆ์˜ ์—ด ์ฒดํฌ const sumColCount = layoutSetupRef.filter((item) => item.col && !northModuleIds.includes(item.moduleId)).some((item) => item.col > maxCol) - if (sumRowCount > maxRow || sumColCount) { - failAutoSetupRoof.push(moduleSetupSurface) - return false - } - // ํ˜ผํ•ฉ์ผ๋•Œ ๋ชจ๋“ˆ ๊ฐœ๋ณ„์˜ row๋ฅผ ์ฒดํฌํ•จ const isPassedObject = isMultipleModules && @@ -1984,16 +1944,15 @@ export function useModuleBasicSetting(tabNum) { item.checked && !item.moduleId.includes(northModuleIds) && item.row > trestleDetailData.module[index].mixModuleMaxRows, ) - if (isPassedObject) { + // ํ•ฉ์‚ฐ ๋‹จ์ˆ˜๊ฐ€ ๋งฅ์Šค๋‹จ์ˆ˜๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ์—ด์ด ๋งฅ์Šค์—ด์ˆ˜๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ํ˜ผํ•ฉ์ผ๋•Œ ๋ชจ๋“ˆ ๊ฐœ๋ณ„์˜ row๊ฐ€ ๋งฅ์Šค๋‹จ์ˆ˜๋ณด๋‹ค ํฌ๋ฉด ์‹คํŒจ + if (sumRowCount > maxRow || sumColCount || isPassedObject) { failAutoSetupRoof.push(moduleSetupSurface) return false } } - if (northModule.length > 0 && moduleSetupSurface.isNorth) { + if (northModule.length > 0) { const isMultipleModules = northModule.length > 1 //๋ชจ๋“ˆ์ด ์—ฌ๋Ÿฌ๊ฐœ๋ฉด - const maxCol = trestleDetailData.moduleMaxCols //์ตœ๋Œ€ ์—ด์ˆ˜ -> ์–˜๋Š” ๋ฉ€ํ‹ฐ๋ž‘ ๊ด€๊ณ„์—†์Œ - const maxRow = isMultipleModules ? trestleDetailData.moduleMaxRows : trestleDetailData.module.find((item) => item.moduleTpCd === northModule[0].moduleTpCd).moduleMaxRows //๋ฉ€ํ‹ฐ๋ชจ๋“ˆ์ด๋ฉด ๋ฐ–์— maxRows๋กœ ํŒ๋‹จ ์•„๋‹ˆ๋ฉด module->itemmList๋ฅผ ๊ฐ€์ง€๊ณ  ํŒ๋‹จ @@ -2004,11 +1963,6 @@ export function useModuleBasicSetting(tabNum) { const sumColCount = layoutSetupRef.filter((item) => item.col && northModuleIds.includes(item.moduleId)).some((item) => item.col > maxCol) - if (sumRowCount > maxRow || sumColCount) { - failAutoSetupRoof.push(moduleSetupSurface) - return false - } - // ํ˜ผํ•ฉ์ผ๋•Œ ๋ชจ๋“ˆ ๊ฐœ๋ณ„์˜ row๋ฅผ ์ฒดํฌํ•จ const isPassedObject = isMultipleModules && @@ -2017,7 +1971,8 @@ export function useModuleBasicSetting(tabNum) { item.checked && northModuleIds.includes(item.moduleId) && item.row > trestleDetailData.module[index].mixModuleMaxRows, ) - if (isPassedObject) { + // ํ•ฉ์‚ฐ ๋‹จ์ˆ˜๊ฐ€ ๋งฅ์Šค๋‹จ์ˆ˜๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ์—ด์ด ๋งฅ์Šค์—ด์ˆ˜๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ํ˜ผํ•ฉ์ผ๋•Œ ๋ชจ๋“ˆ ๊ฐœ๋ณ„์˜ row๊ฐ€ ๋งฅ์Šค๋‹จ์ˆ˜๋ณด๋‹ค ํฌ๋ฉด ์‹คํŒจ + if (sumRowCount > maxRow || sumColCount || isPassedObject) { failAutoSetupRoof.push(moduleSetupSurface) return false } @@ -2028,16 +1983,7 @@ export function useModuleBasicSetting(tabNum) { } //ํ๋ฆ„ ๋ฐฉํ–ฅ์ด ๋‚จ์ชฝ(์•„๋ž˜) - const downFlowSetupModule = ( - surfaceMaxLines, //deprecated - maxLengthLine, - moduleSetupArray, - moduleSetupSurface, - containsBatchObjects, - isCenter = false, //deprecated - intvHor, - intvVer, - ) => { + const downFlowSetupModule = (maxLengthLine, moduleSetupArray, moduleSetupSurface, containsBatchObjects, intvHor, intvVer) => { let setupModule = [] const trestleDetailData = moduleSetupSurface.trestleDetail @@ -2215,16 +2161,7 @@ export function useModuleBasicSetting(tabNum) { } } - const topFlowSetupModule = ( - surfaceMaxLines, - maxLengthLine, - moduleSetupArray, - moduleSetupSurface, - containsBatchObjects, - isCenter = false, - intvHor, - intvVer, - ) => { + const topFlowSetupModule = (maxLengthLine, moduleSetupArray, moduleSetupSurface, containsBatchObjects, intvHor, intvVer) => { let setupModule = [] const trestleDetailData = moduleSetupSurface.trestleDetail @@ -2405,12 +2342,11 @@ export function useModuleBasicSetting(tabNum) { //๋‚จ, ๋ถ๊ณผ ๊ฐ™์€ ๋กœ์ง์œผ๋กœ ์ ์šฉํ•˜๋ ค๋ฉด ์ขŒ์šฐ๋Š” ์—ด -> ํ–‰ ์œผ๋กœ ๊ทธ๋ ค์•ผํ•จ //๋ณ€์ˆ˜๋ช…์€ bottom ๊ธฐ์ค€์œผ๋กœ ์ž‘์„ฑํ•˜์—ฌ ๋™์ผํ•œ ๋ฐฉํ–ฅ์œผ๋กœ ์ง„ํ–‰ํ•œ๋‹ค const leftFlowSetupModule = ( - surfaceMaxLines, maxLengthLine, moduleSetupArray, moduleSetupSurface, containsBatchObjects, - isCenter = false, + intvHor, intvVer, ) => { @@ -2597,16 +2533,7 @@ export function useModuleBasicSetting(tabNum) { } } - const rightFlowSetupModule = ( - surfaceMaxLines, - maxLengthLine, - moduleSetupArray, - moduleSetupSurface, - containsBatchObjects, - isCenter = false, - intvHor, - intvVer, - ) => { + const rightFlowSetupModule = (maxLengthLine, moduleSetupArray, moduleSetupSurface, containsBatchObjects, intvHor, intvVer) => { let setupModule = [] const trestleDetailData = moduleSetupSurface.trestleDetail //๊ฐ€๋Œ€ ์ƒ์„ธ ๋ฐ์ดํ„ฐ @@ -2798,7 +2725,6 @@ export function useModuleBasicSetting(tabNum) { const turfModuleSetupSurface = polygonToTurfPolygon(moduleSetupSurface) //ํด๋ฆฌ๊ณค์„ turf ๊ฐ์ฒด๋กœ ๋ณ€ํ™˜ const containsBatchObjects = objectsIncludeSurface(turfModuleSetupSurface) //๋ฐฐ์น˜๋ฉด์— ์˜ค๋ธŒ์ ํŠธ(๋„๋จธ, ๊ฐœ๊ตฌ๋“ฑ)์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๋กœ์ง - const surfaceMaxLines = findSetupSurfaceMaxLines(moduleSetupSurface) let maxLengthLine = moduleSetupSurface.lines.reduce((acc, cur) => { return acc.length > cur.length ? acc : cur @@ -2819,30 +2745,30 @@ export function useModuleBasicSetting(tabNum) { if (setupLocation === 'eaves') { // ํ๋ฆ„๋ฐฉํ–ฅ์ด ๋‚จ์ชฝ์ผ๋•Œ if (moduleSetupSurface.direction === 'south') { - downFlowSetupModule(surfaceMaxLines, maxLengthLine, moduleSetupArray, moduleSetupSurface, containsBatchObjects, false, intvHor, intvVer) + downFlowSetupModule(maxLengthLine, moduleSetupArray, moduleSetupSurface, containsBatchObjects, intvHor, intvVer) } if (moduleSetupSurface.direction === 'west') { - leftFlowSetupModule(surfaceMaxLines, maxLengthLine, moduleSetupArray, moduleSetupSurface, containsBatchObjects, false, intvHor, intvVer) + leftFlowSetupModule(maxLengthLine, moduleSetupArray, moduleSetupSurface, containsBatchObjects, intvHor, intvVer) } if (moduleSetupSurface.direction === 'east') { - rightFlowSetupModule(surfaceMaxLines, maxLengthLine, moduleSetupArray, moduleSetupSurface, containsBatchObjects, false, intvHor, intvVer) + rightFlowSetupModule(maxLengthLine, moduleSetupArray, moduleSetupSurface, containsBatchObjects, intvHor, intvVer) } if (moduleSetupSurface.direction === 'north') { - topFlowSetupModule(surfaceMaxLines, maxLengthLine, moduleSetupArray, moduleSetupSurface, containsBatchObjects, false, intvHor, intvVer) + topFlowSetupModule(maxLengthLine, moduleSetupArray, moduleSetupSurface, containsBatchObjects, intvHor, intvVer) } } else if (setupLocation === 'ridge') { //์šฉ๋งˆ๋ฃจ if (moduleSetupSurface.direction === 'south') { - topFlowSetupModule(surfaceMaxLines, maxLengthLine, moduleSetupArray, moduleSetupSurface, containsBatchObjects, false, intvHor, intvVer) + topFlowSetupModule(maxLengthLine, moduleSetupArray, moduleSetupSurface, containsBatchObjects, intvHor, intvVer) } if (moduleSetupSurface.direction === 'west') { - rightFlowSetupModule(surfaceMaxLines, maxLengthLine, moduleSetupArray, moduleSetupSurface, containsBatchObjects, false, intvHor, intvVer) + rightFlowSetupModule(maxLengthLine, moduleSetupArray, moduleSetupSurface, containsBatchObjects, intvHor, intvVer) } if (moduleSetupSurface.direction === 'east') { - leftFlowSetupModule(surfaceMaxLines, maxLengthLine, moduleSetupArray, moduleSetupSurface, containsBatchObjects, false, intvHor, intvVer) + leftFlowSetupModule(maxLengthLine, moduleSetupArray, moduleSetupSurface, containsBatchObjects, intvHor, intvVer) } if (moduleSetupSurface.direction === 'north') { - downFlowSetupModule(surfaceMaxLines, maxLengthLine, moduleSetupArray, moduleSetupSurface, containsBatchObjects, false, intvHor, intvVer) + downFlowSetupModule(maxLengthLine, moduleSetupArray, moduleSetupSurface, containsBatchObjects, intvHor, intvVer) } } diff --git a/src/locales/ja.json b/src/locales/ja.json index c6a1ea0e..44bf3bb4 100644 --- a/src/locales/ja.json +++ b/src/locales/ja.json @@ -1071,8 +1071,8 @@ "module.layout.setup.max.count.multiple": "ใƒขใ‚ธใƒฅใƒผใƒซ{0}ใฎๅ˜ไฝ“ใงใฎๆœ€ๅคงๆฎตๆ•ฐใฏ{1}ใ€ๆœ€ๅคงๅˆ—ๆ•ฐใฏ{2}ใงใ™ใ€‚ (JA)", "roofAllocation.not.found": "ๅ‰ฒใ‚Šๅฝ“ใฆใ‚‹ๅฑ‹ๆ นใŒใ‚ใ‚Šใพใ›ใ‚“ใ€‚ (JA)", "modal.module.basic.setting.module.placement.max.size.check": "ๅฑ‹ๆ นๆๅˆฅใƒขใ‚ธใƒฅใƒผใƒซใฎๅ˜ไฝ“ใฎๅ˜ไฝ“ใงใฎๆœ€ๅคงๆฎตๆ•ฐใ€2็จฎๆททๅˆใฎๆฎตๆ•ฐใ‚’็ขบ่ชใ—ใฆไธ‹ใ•ใ„", - "modal.module.basic.setting.module.placement.max.row": "ๅ˜ไฝ“ใงใฎๆœ€ๅคงๆฎตๆ•ฐ", - "modal.module.basic.setting.module.placement.max.rows.multiple": "2็จฎๆททๅˆๆ™‚ใฎๆœ€ๅคงๆฎตๆ•ฐ", + "modal.module.basic.setting.module.placement.max.row": "ๅ˜ไฝ“ใง\rใฎๆœ€ๅคงๆฎตๆ•ฐ", + "modal.module.basic.setting.module.placement.max.rows.multiple": "2็จฎๆททๅˆๆ™‚\rใฎๆœ€ๅคงๆฎตๆ•ฐ", "modal.module.basic.setting.module.placement.mix.asg.yn.error": "ๆททๅˆใ‚คใƒณใ‚นใƒˆใƒผใƒซไธๅฏ่ƒฝใชใƒขใ‚ธใƒฅใƒผใƒซใงใ™ใ€‚ (JA)", "modal.module.basic.setting.module.placement.mix.asg.yn": "ๆททๅˆ", "modal.module.basic.setting.layoutpassivity.placement": "layout้…็ฝฎ (JA)" From d244ba3b97c426cefbfa7923a7a8c438c37d5b0e Mon Sep 17 00:00:00 2001 From: yjnoh Date: Wed, 7 May 2025 15:18:59 +0900 Subject: [PATCH 07/10] =?UTF-8?q?[1014]=20:=20[819=E3=81=AE=E8=BF=BD?= =?UTF-8?q?=E5=8A=A0=E3=80=80=E3=83=AC=E3=82=A4=E3=82=A2=E3=82=A6=E3=83=88?= =?UTF-8?q?=E6=8C=87=E5=AE=9A=E9=85=8D=E7=BD=AE=E3=81=AE=E8=87=AA=E5=8B=95?= =?UTF-8?q?=E9=85=8D=E7=BD=AE]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [์ž‘์—…๋‚ด์šฉ] : ๊ณ ๋„ํ™” ๋‹จ์ˆ˜ ์—ด์ˆ˜ ์ž๋™ ๋ฐฐ์น˜ ์ž‘์—… --- .gitmessage.txt | 3 +++ .../floor-plan/modal/basic/step/Placement.jsx | 9 +++++---- src/hooks/module/useModuleBasicSetting.js | 11 +++-------- src/locales/ja.json | 3 ++- src/locales/ko.json | 3 ++- 5 files changed, 15 insertions(+), 14 deletions(-) create mode 100644 .gitmessage.txt diff --git a/.gitmessage.txt b/.gitmessage.txt new file mode 100644 index 00000000..07932f22 --- /dev/null +++ b/.gitmessage.txt @@ -0,0 +1,3 @@ +[์ผ๊ฐ๋ฒˆํ˜ธ] : [์ œ๋ชฉ] + +[์ž‘์—…๋‚ด์šฉ] : \ No newline at end of file diff --git a/src/components/floor-plan/modal/basic/step/Placement.jsx b/src/components/floor-plan/modal/basic/step/Placement.jsx index c6556ea3..1d2545e6 100644 --- a/src/components/floor-plan/modal/basic/step/Placement.jsx +++ b/src/components/floor-plan/modal/basic/step/Placement.jsx @@ -330,20 +330,21 @@ const Placement = forwardRef((props, refs) => { {selectedModules && selectedModules.itemList.map((item) => ( - + // +
{item.itemNm}
))} - {colspan > 1 && {getMessage('total')}} + {colspan > 1 && {getMessage('modal.module.basic.setting.module.placement.max.rows.multiple')}} {selectedModules.itemList.map((item) => ( <> {getMessage('modal.module.basic.setting.module.placement.max.row')} - {colspan > 1 && {getMessage('modal.module.basic.setting.module.placement.max.rows.multiple')}} + {/* {colspan > 1 && {getMessage('modal.module.basic.setting.module.placement.max.rows.multiple')}} */} ))} @@ -360,7 +361,7 @@ const Placement = forwardRef((props, refs) => { {moduleRowColArray[index]?.map((item, index2) => ( <> {item.moduleMaxRows} - {colspan > 1 && {item.mixModuleMaxRows}} + {/* {colspan > 1 && {item.mixModuleMaxRows}} */} {colspan > 1 && index2 === moduleRowColArray[index].length - 1 && {item.maxRow}} ))} diff --git a/src/hooks/module/useModuleBasicSetting.js b/src/hooks/module/useModuleBasicSetting.js index c43477d7..c7173dca 100644 --- a/src/hooks/module/useModuleBasicSetting.js +++ b/src/hooks/module/useModuleBasicSetting.js @@ -2809,14 +2809,9 @@ export function useModuleBasicSetting(tabNum) { /** * ์ž๋™ ๋ ˆ์ด์•„์›ƒ์ผ๋–„ ์„ค์น˜ ๊ฐ€๋Šฅํ•œ ์• ๋“ค์€ ์„ค์น˜ ํ•ด์ฃผ๊ณ  ์‹คํŒจํ•œ ์• ๋“ค์€ ์ด๋ฆ„, ์ตœ๋Œ€ ์„ค์น˜ ๊ฐ€๋Šฅํ•œ ๋†’์ด ์•Œ๋ ค์ค„๋ผ๊ณ  */ - if (type === MODULE_SETUP_TYPE.LAYOUT && failAutoSetupRoof.length > 0) { - const roofNamesList = failAutoSetupRoof.map((roof) => ({ - roofName: roof.roofMaterial.roofMatlNmJp, - moduleMaxRows: roof.trestleDetail.moduleMaxRows, - })) - - const alertString = roofNamesList.map((item, index) => `${item.roofName}(${item.moduleMaxRows})`) - swalFire({ text: alertString, icon: 'warning' }) + if (type === MODULE_SETUP_TYPE.LAYOUT && failAutoSetupRoof.length) { + const roofNames = failAutoSetupRoof.map((roof) => roof.roofMaterial.roofMatlNmJp).join(', ') + swalFire({ text: getMessage('modal.module.basic.setting.module.placement.over.max.row', [roofNames]), icon: 'warning' }) } } diff --git a/src/locales/ja.json b/src/locales/ja.json index 44bf3bb4..343673d5 100644 --- a/src/locales/ja.json +++ b/src/locales/ja.json @@ -1075,5 +1075,6 @@ "modal.module.basic.setting.module.placement.max.rows.multiple": "2็จฎๆททๅˆๆ™‚\rใฎๆœ€ๅคงๆฎตๆ•ฐ", "modal.module.basic.setting.module.placement.mix.asg.yn.error": "ๆททๅˆใ‚คใƒณใ‚นใƒˆใƒผใƒซไธๅฏ่ƒฝใชใƒขใ‚ธใƒฅใƒผใƒซใงใ™ใ€‚ (JA)", "modal.module.basic.setting.module.placement.mix.asg.yn": "ๆททๅˆ", - "modal.module.basic.setting.layoutpassivity.placement": "layout้…็ฝฎ (JA)" + "modal.module.basic.setting.layoutpassivity.placement": "layout้…็ฝฎ (JA)", + "modal.module.basic.setting.module.placement.over.max.row": "{0}์˜ ์ตœ๋Œ€๋‹จ์ˆ˜๋ฅผ ์ดˆ๊ณผํ–ˆ์Šต๋‹ˆ๋‹ค. ์ตœ๋Œ€๋‹จ์ˆ˜ํ‘œ๋ฅผ ์ฐธ๊ณ ํ•ด ์ฃผ์„ธ์š”.(JA)" } diff --git a/src/locales/ko.json b/src/locales/ko.json index cd8b855b..b3e3e99b 100644 --- a/src/locales/ko.json +++ b/src/locales/ko.json @@ -1076,5 +1076,6 @@ "modal.module.basic.setting.module.placement.max.rows.multiple": "2์ข… ํ˜ผํ•ฉ ์ตœ๋Œ€๋‹จ์ˆ˜", "modal.module.basic.setting.module.placement.mix.asg.yn.error": "ํ˜ผํ•ฉ ์„ค์น˜ ๋ถˆ๊ฐ€๋Šฅํ•œ ๋ชจ๋“ˆ์ž…๋‹ˆ๋‹ค.", "modal.module.basic.setting.module.placement.mix.asg.yn": "ํ˜ผํ•ฉ", - "modal.module.basic.setting.layoutpassivity.placement": "๋ ˆ์ด์•„์›ƒ ๋ฐฐ์น˜" + "modal.module.basic.setting.layoutpassivity.placement": "๋ ˆ์ด์•„์›ƒ ๋ฐฐ์น˜", + "modal.module.basic.setting.module.placement.over.max.row": "{0}์˜ ์ตœ๋Œ€๋‹จ์ˆ˜๋ฅผ ์ดˆ๊ณผํ–ˆ์Šต๋‹ˆ๋‹ค. ์ตœ๋Œ€๋‹จ์ˆ˜ํ‘œ๋ฅผ ์ฐธ๊ณ ํ•ด ์ฃผ์„ธ์š”." } From f3b8ee40fab1f229f975c57ae7707b6a7b9b0494 Mon Sep 17 00:00:00 2001 From: yjnoh Date: Wed, 7 May 2025 16:56:28 +0900 Subject: [PATCH 08/10] =?UTF-8?q?[1014]=20:=20[819=E3=81=AE=E8=BF=BD?= =?UTF-8?q?=E5=8A=A0=E3=80=80=E3=83=AC=E3=82=A4=E3=82=A2=E3=82=A6=E3=83=88?= =?UTF-8?q?=E6=8C=87=E5=AE=9A=E9=85=8D=E7=BD=AE=E3=81=AE=E8=87=AA=E5=8B=95?= =?UTF-8?q?=E9=85=8D=E7=BD=AE]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [์ž‘์—…๋‚ด์šฉ] : ๋ฌธ๊ตฌ ์ˆ˜์ • ๋ฐ alert icon ์ •๋ฆฌ --- src/hooks/module/useModuleBasicSetting.js | 34 +++++++++++------------ src/locales/ja.json | 2 +- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/src/hooks/module/useModuleBasicSetting.js b/src/hooks/module/useModuleBasicSetting.js index c7173dca..4471bc74 100644 --- a/src/hooks/module/useModuleBasicSetting.js +++ b/src/hooks/module/useModuleBasicSetting.js @@ -89,12 +89,12 @@ export function useModuleBasicSetting(tabNum) { //roofIndex ๋„ฃ๊ธฐ const roofConstructionArray = roofConstructions.map((detail) => ({ ...detail.trestleDetail, roofIndex: detail.roofIndex })) - setTrestleDetailList(roofConstructionArray) - //๋ถ๋ฉด ์„ค์น˜ ๊ฐ€๋Šฅ ํŒ๋งค์  if (moduleSelectionData.common.saleStoreNorthFlg == '1') { setSaleStoreNorthFlg(true) } + + setTrestleDetailList(roofConstructionArray) } } else { //์œก์ง€๋ถ• ์ผ๊ฒฝ์šฐ์—๋Š” ๋ฐ”๋กœ ๋ฐฐ์น˜๋ฉด ์„ค์น˜LL @@ -865,10 +865,10 @@ export function useModuleBasicSetting(tabNum) { // getModuleStatistics() } else { - swalFire({ text: getMessage('module.place.overlab') }) + swalFire({ text: getMessage('module.place.overlab'), icon: 'warning' }) } } else { - swalFire({ text: getMessage('module.place.out') }) + swalFire({ text: getMessage('module.place.out'), icon: 'warning' }) } } }) @@ -1266,7 +1266,7 @@ export function useModuleBasicSetting(tabNum) { const mixAsgYn = trestlePolygon.modules[0].moduleInfo.mixAsgYn //ํ˜„์žฌ ์ฒดํฌ๋œ ๋ชจ๋“ˆ๊ธฐ์ค€์œผ๋กœ ํ˜ผํ•ฉ๊ฐ€๋Šฅ์ธ์ง€ ํ™•์ธ Y === Y, N === N ์ผ๋•Œ๋งŒ ์„ค์น˜ ๊ฐ€๋Šฅ if (checkedModule[0].mixAsgYn !== mixAsgYn) { - swalFire({ text: getMessage('modal.module.basic.setting.module.placement.mix.asg.yn.error') }) + swalFire({ text: getMessage('modal.module.basic.setting.module.placement.mix.asg.yn.error'), icon: 'warning' }) return } } @@ -1425,7 +1425,7 @@ export function useModuleBasicSetting(tabNum) { // canvas.renderAll() } } else { - swalFire({ text: getMessage('module.place.overlab') }) + swalFire({ text: getMessage('module.place.overlab'), icon: 'warning' }) return } } @@ -1520,7 +1520,7 @@ export function useModuleBasicSetting(tabNum) { // canvas.renderAll() } } else { - swalFire({ text: getMessage('module.place.overlab') }) + swalFire({ text: getMessage('module.place.overlab'), icon: 'warning' }) return } } @@ -1613,7 +1613,7 @@ export function useModuleBasicSetting(tabNum) { // canvas.renderAll() } } else { - swalFire({ text: getMessage('module.place.overlab') }) + swalFire({ text: getMessage('module.place.overlab'), icon: 'warning' }) return } } @@ -1705,7 +1705,7 @@ export function useModuleBasicSetting(tabNum) { // canvas.renderAll() } } else { - swalFire({ text: getMessage('module.place.overlab') }) + swalFire({ text: getMessage('module.place.overlab'), icon: 'warning' }) return } } @@ -1790,7 +1790,7 @@ export function useModuleBasicSetting(tabNum) { const batchObjects = canvas?.getObjects().filter((obj) => obj.name === POLYGON_TYPE.OBJECT_SURFACE) //๋„๋จธs ๊ฐ์ฒด if (moduleSetupSurfaces.length === 0) { - swalFire({ text: getMessage('module.place.no.surface') }) + swalFire({ text: getMessage('module.place.no.surface'), icon: 'warning' }) return } @@ -3119,13 +3119,13 @@ export function useModuleBasicSetting(tabNum) { let moduleSetupSurfaces = canvas?.getObjects().filter((obj) => obj.name === POLYGON_TYPE.MODULE_SETUP_SURFACE) //๋ชจ๋“ˆ์„ค์น˜๋ฉด๋ฅผ ๊ฐ€์ ธ์˜ด if (isManualModuleSetup) { if (checkedModule.length === 0) { - swalFire({ text: getMessage('module.place.select.module') }) + swalFire({ text: getMessage('module.place.select.module'), icon: 'warning' }) setIsManualModuleSetup(!isManualModuleSetup) return } if (checkedModule.length > 1) { - swalFire({ text: getMessage('module.place.select.one.module') }) + swalFire({ text: getMessage('module.place.select.one.module'), icon: 'warning' }) setIsManualModuleSetup(!isManualModuleSetup) return } @@ -3438,7 +3438,7 @@ export function useModuleBasicSetting(tabNum) { const mixAsgYn = trestlePolygon.modules[0].moduleInfo.mixAsgYn //ํ˜„์žฌ ์ฒดํฌ๋œ ๋ชจ๋“ˆ๊ธฐ์ค€์œผ๋กœ ํ˜ผํ•ฉ๊ฐ€๋Šฅ์ธ์ง€ ํ™•์ธ Y === Y, N === N ์ผ๋•Œ๋งŒ ์„ค์น˜ ๊ฐ€๋Šฅ if (checkedModule[0].mixAsgYn !== mixAsgYn) { - swalFire({ text: getMessage('modal.module.basic.setting.module.placement.mix.asg.yn.error') }) + swalFire({ text: getMessage('modal.module.basic.setting.module.placement.mix.asg.yn.error'), icon: 'warning' }) return } } @@ -3471,7 +3471,7 @@ export function useModuleBasicSetting(tabNum) { const intersection = turf.intersect(turf.featureCollection([dormerTurfPolygon, tempTurfModule])) //๊ฒน์น˜๋Š”์ง€ ํ™•์ธ //๊ฒน์น˜๋ฉด ์•ˆ๋จ if (intersection) { - swalFire({ text: getMessage('module.place.overobject') }) + swalFire({ text: getMessage('module.place.overobject'), icon: 'warning' }) isIntersection = false } }) @@ -3489,10 +3489,10 @@ export function useModuleBasicSetting(tabNum) { manualDrawModules.push(manualModule) setModuleStatisticsData() } else { - swalFire({ text: getMessage('module.place.overlab') }) + swalFire({ text: getMessage('module.place.overlab'), icon: 'warning' }) } } else { - swalFire({ text: getMessage('module.place.out') }) + swalFire({ text: getMessage('module.place.out'), icon: 'warning' }) } } }) @@ -3522,7 +3522,7 @@ export function useModuleBasicSetting(tabNum) { //Y์ธ ๋ชจ๋“ˆ๊ณผ N์ธ ๋ชจ๋“ˆ์ด ๋‘˜๋‹ค ์กด์žฌํ•˜๋ฉด ์„ค์น˜ ๋ถˆ๊ฐ€ if (mixAsgY.length > 0 && mixAsgN.length > 0) { - swalFire({ text: getMessage('modal.module.basic.setting.module.placement.mix.asg.yn.error') }) + swalFire({ text: getMessage('modal.module.basic.setting.module.placement.mix.asg.yn.error'), icon: 'warning' }) return } diff --git a/src/locales/ja.json b/src/locales/ja.json index b37fbc3a..d378ff36 100644 --- a/src/locales/ja.json +++ b/src/locales/ja.json @@ -1079,5 +1079,5 @@ "modal.module.basic.setting.module.placement.mix.asg.yn.error": "ๆททๅˆใ‚คใƒณใ‚นใƒˆใƒผใƒซไธๅฏ่ƒฝใชใƒขใ‚ธใƒฅใƒผใƒซใงใ™ใ€‚ (JA)", "modal.module.basic.setting.module.placement.mix.asg.yn": "ๆททๅˆ", "modal.module.basic.setting.layoutpassivity.placement": "layout้…็ฝฎ (JA)", - "modal.module.basic.setting.module.placement.over.max.row": "{0}์˜ ์ตœ๋Œ€๋‹จ์ˆ˜๋ฅผ ์ดˆ๊ณผํ–ˆ์Šต๋‹ˆ๋‹ค. ์ตœ๋Œ€๋‹จ์ˆ˜ํ‘œ๋ฅผ ์ฐธ๊ณ ํ•ด ์ฃผ์„ธ์š”.(JA)" + "modal.module.basic.setting.module.placement.over.max.row": "{0} ๆœ€ๅคงๆฎตๆ•ฐ่ถ…้Žใ—ใพใ—ใŸใ€‚ๆœ€ๅคงๆฎตๆ•ฐ่กจใ‚’ๅ‚่€ƒใซใ—ใฆใใ ใ•ใ„ใ€‚" } From 47245e438c5200849078d9dc7a80c7d92700f372 Mon Sep 17 00:00:00 2001 From: yjnoh Date: Thu, 8 May 2025 09:48:31 +0900 Subject: [PATCH 09/10] =?UTF-8?q?[1014]=20:=20[819=E3=81=AE=E8=BF=BD?= =?UTF-8?q?=E5=8A=A0=E3=80=80=E3=83=AC=E3=82=A4=E3=82=A2=E3=82=A6=E3=83=88?= =?UTF-8?q?=E6=8C=87=E5=AE=9A=E9=85=8D=E7=BD=AE=E3=81=AE=E8=87=AA=E5=8B=95?= =?UTF-8?q?=E9=85=8D=E7=BD=AE]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [์ž‘์—…๋‚ด์šฉ] : ๋ถˆํ•„์š” ์†Œ์Šค ์‚ญ์ œ --- src/locales/ja.json | 1 - src/locales/ko.json | 1 - 2 files changed, 2 deletions(-) diff --git a/src/locales/ja.json b/src/locales/ja.json index d378ff36..796eea85 100644 --- a/src/locales/ja.json +++ b/src/locales/ja.json @@ -1078,6 +1078,5 @@ "modal.module.basic.setting.module.placement.max.rows.multiple": "2็จฎๆททๅˆๆ™‚\rใฎๆœ€ๅคงๆฎตๆ•ฐ", "modal.module.basic.setting.module.placement.mix.asg.yn.error": "ๆททๅˆใ‚คใƒณใ‚นใƒˆใƒผใƒซไธๅฏ่ƒฝใชใƒขใ‚ธใƒฅใƒผใƒซใงใ™ใ€‚ (JA)", "modal.module.basic.setting.module.placement.mix.asg.yn": "ๆททๅˆ", - "modal.module.basic.setting.layoutpassivity.placement": "layout้…็ฝฎ (JA)", "modal.module.basic.setting.module.placement.over.max.row": "{0} ๆœ€ๅคงๆฎตๆ•ฐ่ถ…้Žใ—ใพใ—ใŸใ€‚ๆœ€ๅคงๆฎตๆ•ฐ่กจใ‚’ๅ‚่€ƒใซใ—ใฆใใ ใ•ใ„ใ€‚" } diff --git a/src/locales/ko.json b/src/locales/ko.json index 9bc55162..c67e3823 100644 --- a/src/locales/ko.json +++ b/src/locales/ko.json @@ -1079,6 +1079,5 @@ "modal.module.basic.setting.module.placement.max.rows.multiple": "2์ข… ํ˜ผํ•ฉ ์ตœ๋Œ€๋‹จ์ˆ˜", "modal.module.basic.setting.module.placement.mix.asg.yn.error": "ํ˜ผํ•ฉ ์„ค์น˜ ๋ถˆ๊ฐ€๋Šฅํ•œ ๋ชจ๋“ˆ์ž…๋‹ˆ๋‹ค.", "modal.module.basic.setting.module.placement.mix.asg.yn": "ํ˜ผํ•ฉ", - "modal.module.basic.setting.layoutpassivity.placement": "๋ ˆ์ด์•„์›ƒ ๋ฐฐ์น˜", "modal.module.basic.setting.module.placement.over.max.row": "{0}์˜ ์ตœ๋Œ€๋‹จ์ˆ˜๋ฅผ ์ดˆ๊ณผํ–ˆ์Šต๋‹ˆ๋‹ค. ์ตœ๋Œ€๋‹จ์ˆ˜ํ‘œ๋ฅผ ์ฐธ๊ณ ํ•ด ์ฃผ์„ธ์š”." } From b2065e76998bde391b30566490b348d7aaccab49 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EB=AF=BC=EC=8B=9D?= <43837214+Minsiki@users.noreply.github.com> Date: Thu, 8 May 2025 14:48:05 +0900 Subject: [PATCH 10/10] =?UTF-8?q?[1030]=20:=20[=E3=80=90HANASYS=20DESIGN?= =?UTF-8?q?=E3=80=91=E6=96=87=E5=AD=97=E4=BF=AE=E6=AD=A3]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [์ž‘์—…๋‚ด์šฉ] : ๋‹ค๊ตญ์–ด ์ˆ˜์ • --- src/locales/ja.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/locales/ja.json b/src/locales/ja.json index 5aa10f4b..cea000ad 100644 --- a/src/locales/ja.json +++ b/src/locales/ja.json @@ -3,7 +3,7 @@ "welcome": "ใ‚ˆใ†ใ“ใใ€‚ {0}ใ•ใ‚“", "header.menus.home": "ใƒ›ใƒผใƒ ", "header.menus.management": "่ฆ‹็ฉๆ›ธ็ฎก็†็”ป้ข", - "header.menus.management.newStuff": "ๆ–ฐ่ฆ่ฆ‹็ฉ็™ป้Œฒ", + "header.menus.management.newStuff": "ๆ–ฐ่ฆ็‰ฉไปถ็™ป้Œฒ", "header.menus.management.detail": "็‰ฉไปถ่ฉณ็ดฐ", "header.menus.management.stuffList": "็‰ฉไปถๆคœ็ดข", "header.menus.community": "ใ‚ณใƒŸใƒฅใƒ‹ใƒ†ใ‚ฃ", @@ -186,7 +186,7 @@ "modal.circuit.trestle.setting.circuit.allocation.passivity.all.power.conditional.validation.error02": "ใ‚ทใƒชใƒผใ‚บใ‚’้ธๆŠžใ—ใฆใใ ใ•ใ„ใ€‚", "modal.circuit.trestle.setting.circuit.allocation.passivity.circuit.num.fix": "็•ชๅท็ขบๅฎš", "modal.circuit.trestle.setting.step.up.allocation": "ๆ˜‡ๅœง่จญๅฎš", - "modal.circuit.trestle.setting.step.up.allocation.serial.amount": "ใ‚ทใƒชใ‚ขใƒซๆžšๆ•ฐ", + "modal.circuit.trestle.setting.step.up.allocation.serial.amount": "็›ดๅˆ—ๆžšๆ•ฐ", "modal.circuit.trestle.setting.step.up.allocation.total.amount": "็ทๅ›ž่ทฏๆ•ฐ", "modal.circuit.trestle.setting.step.up.allocation.connected": "ๆŽฅ็ถšใ™ใ‚‹", "modal.circuit.trestle.setting.step.up.allocation.circuit.amount": "ๆ˜‡ๅœงๅ›ž่ทฏๆ•ฐ",