From b8dad6211697ceea8522f805c55c5ee8f89df825 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: Fri, 9 May 2025 14:19:05 +0900 Subject: [PATCH 1/2] =?UTF-8?q?[929]=20:=20[=E7=BF=BB=E8=A8=B3=E5=A4=89?= =?UTF-8?q?=E6=9B=B4]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [작업내용] : 다국어 수정 및 validation 로직 추가 --- .../floor-plan/modal/basic/step/Trestle.jsx | 10 +++++++-- src/locales/ja.json | 21 ++++++++++--------- src/locales/ko.json | 1 + 3 files changed, 20 insertions(+), 12 deletions(-) diff --git a/src/components/floor-plan/modal/basic/step/Trestle.jsx b/src/components/floor-plan/modal/basic/step/Trestle.jsx index 6a1ef3e2..e1cca8db 100644 --- a/src/components/floor-plan/modal/basic/step/Trestle.jsx +++ b/src/components/floor-plan/modal/basic/step/Trestle.jsx @@ -125,6 +125,12 @@ const Trestle = forwardRef((props, ref) => { useEffect(() => { if (constructionList.length > 0) { setSelectedConstruction(constructionList.find((construction) => construction.constTp === trestleState?.construction?.constTp) ?? null) + if (constructionList.filter((construction) => construction.constPossYn === 'Y').length === 0) { + Swal.fire({ + title: getMessage('modal.module.basic.settting.module.error4', [selectedRoof?.nameJp]), // 시공법법을 선택해주세요. + icon: 'warning', + }) + } } else { setSelectedConstruction(null) } @@ -342,7 +348,7 @@ const Trestle = forwardRef((props, ref) => { } if (!roof.trestle?.roofBaseCd) { Swal.fire({ - title: getMessage('modal.module.basic.settting.module.error3', [roof.nameJp]), // 지붕밑바탕탕을 선택해주세요. + title: getMessage('modal.module.basic.settting.module.error3', [roof.nameJp]), // 지붕밑바탕을 선택해주세요. icon: 'warning', }) result = false @@ -350,7 +356,7 @@ const Trestle = forwardRef((props, ref) => { } if (!roof.construction?.constTp) { Swal.fire({ - title: getMessage('modal.module.basic.settting.module.error4', [roof.nameJp]), // 시공법법을 선택해주세요. + title: getMessage('modal.module.basic.settting.module.error12', [roof.nameJp]), // 시공법법을 선택해주세요. icon: 'warning', }) result = false diff --git a/src/locales/ja.json b/src/locales/ja.json index cea000ad..e866e95e 100644 --- a/src/locales/ja.json +++ b/src/locales/ja.json @@ -117,17 +117,18 @@ "modal.module.basic.setting.module.eaves.bar.fitting": "軒カバーの設置", "modal.module.basic.setting.module.blind.metal.fitting": "落雪防止金具設置", "modal.module.basic.setting.module.select": "モジュール/架台選択", - "modal.module.basic.settting.module.error1": "架台メーカーを選択してください。\n(屋根材: {0})(JA)", - "modal.module.basic.settting.module.error2": "工法を選択してください。\n(屋根材: {0})(JA)", - "modal.module.basic.settting.module.error3": "屋根の下を選択してください。\n(屋根材: {0})(JA)", + "modal.module.basic.settting.module.error1": "架台メーカーを選択してください。\n(屋根材: {0})", + "modal.module.basic.settting.module.error2": "工法を選択してください。\n(屋根材: {0})", + "modal.module.basic.settting.module.error3": "屋根の下を選択してください。\n(屋根材: {0})", "modal.module.basic.settting.module.error4": "設置可能な施工条件がないので設置条件を変更してください。\n(屋根材: {0})", - "modal.module.basic.settting.module.error5": "L を選択してください。\n(屋根材: {0})(JA)", - "modal.module.basic.settting.module.error6": "垂木の間隔を入力してください。\n(屋根材: {0})(JA)", - "modal.module.basic.settting.module.error7": "下在ビーチを入力してください。\n(屋根材: {0})(JA)", - "modal.module.basic.settting.module.error8": "モジュール配置領域の値を入力してください。\n(屋根材: {0})(JA)", - "modal.module.basic.settting.module.error9": "軒側の値は{0} mm以上でなければなりません。\n(屋根材: {1})(JA)", - "modal.module.basic.settting.module.error10": "吊下側の値は{0} mm以上でなければなりません。\n(屋根材: {1})(JA)", - "modal.module.basic.settting.module.error11": "ケラバ側の値は{0} mm以上でなければなりません。\n(屋根材: {1})(JA)", + "modal.module.basic.settting.module.error5": "L を選択してください。\n(屋根材: {0})", + "modal.module.basic.settting.module.error6": "垂木の間隔を入力してください。\n(屋根材: {0})", + "modal.module.basic.settting.module.error7": "下在ビーチを入力してください。\n(屋根材: {0})", + "modal.module.basic.settting.module.error8": "モジュール配置領域の値を入力してください。\n(屋根材: {0})", + "modal.module.basic.settting.module.error9": "軒側の値は{0} mm以上でなければなりません。\n(屋根材: {1})", + "modal.module.basic.settting.module.error10": "吊下側の値は{0} mm以上でなければなりません。\n(屋根材: {1})", + "modal.module.basic.settting.module.error11": "ケラバ側の値は{0} mm以上でなければなりません。\n(屋根材: {1})", + "modal.module.basic.settting.module.error12": "施工方法を選択してください。\n(屋根材: {0})", "modal.module.basic.setting.module.placement": "モジュールの配置", "modal.module.basic.setting.module.placement.select.fitting.type": "設置形態を選択してください。", "modal.module.basic.setting.module.placement.waterfowl.arrangement": "千鳥配置", diff --git a/src/locales/ko.json b/src/locales/ko.json index 675dc84f..43b45c52 100644 --- a/src/locales/ko.json +++ b/src/locales/ko.json @@ -128,6 +128,7 @@ "modal.module.basic.settting.module.error9": "처마쪽 값은 {0}mm 이상이어야 합니다.\n(지붕재: {1})", "modal.module.basic.settting.module.error10": "용마루쪽 값은 {0}mm 이상이어야 합니다.\n(지붕재: {1})", "modal.module.basic.settting.module.error11": "케라바쪽 값은 {0}mm 이상이어야 합니다.\n(지붕재: {1})", + "modal.module.basic.settting.module.error12": "시공법을 선택해주세요.\n(지붕재: {0})", "modal.module.basic.setting.module.placement": "모듈 배치", "modal.module.basic.setting.module.placement.select.fitting.type": "설치형태를 선택합니다.", "modal.module.basic.setting.module.placement.waterfowl.arrangement": "물떼새 배치", From 391fe39a2d48ab39c659b19b7e0891b764bd4bfa Mon Sep 17 00:00:00 2001 From: yjnoh Date: Fri, 9 May 2025 15:04:21 +0900 Subject: [PATCH 2/2] =?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/hooks/module/useModuleBasicSetting.js | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/src/hooks/module/useModuleBasicSetting.js b/src/hooks/module/useModuleBasicSetting.js index 1d9c7d66..57218019 100644 --- a/src/hooks/module/useModuleBasicSetting.js +++ b/src/hooks/module/useModuleBasicSetting.js @@ -1996,6 +1996,7 @@ 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 @@ -2342,15 +2343,7 @@ export function useModuleBasicSetting(tabNum) { //남, 북과 같은 로직으로 적용하려면 좌우는 열 -> 행 으로 그려야함 //변수명은 bottom 기준으로 작성하여 동일한 방향으로 진행한다 - const leftFlowSetupModule = ( - maxLengthLine, - moduleSetupArray, - moduleSetupSurface, - containsBatchObjects, - - intvHor, - intvVer, - ) => { + const leftFlowSetupModule = (maxLengthLine, moduleSetupArray, moduleSetupSurface, containsBatchObjects, intvHor, intvVer) => { let setupModule = [] const trestleDetailData = moduleSetupSurface.trestleDetail //가대 상세 데이터