From b0a4ca8cc18c469d36ec40465698c449475ef224 Mon Sep 17 00:00:00 2001 From: basssy Date: Mon, 9 Dec 2024 16:00:33 +0900 Subject: [PATCH] =?UTF-8?q?=EA=B2=AC=EC=A0=81=EC=84=9C=20=EC=A0=9C?= =?UTF-8?q?=ED=92=88=20=EC=82=AD=EC=A0=9C=20=EC=A0=9C=ED=92=88=20=EC=97=86?= =?UTF-8?q?=EC=9D=84=20=EA=B2=BD=EC=9A=B0=20=EC=95=8C=EB=9F=BF=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/estimate/Estimate.jsx | 3 +++ src/hooks/floorPlan/estimate/useEstimateController.js | 9 ++++++++- src/locales/ja.json | 4 +++- src/locales/ko.json | 2 ++ 4 files changed, 16 insertions(+), 2 deletions(-) diff --git a/src/components/estimate/Estimate.jsx b/src/components/estimate/Estimate.jsx index fed4c22c..1d3b18ae 100644 --- a/src/components/estimate/Estimate.jsx +++ b/src/components/estimate/Estimate.jsx @@ -717,6 +717,9 @@ export default function Estimate({ params }) { //제품 삭제 const removeItem = () => { const array = [...selection] + if (isEmptyArray(array)) { + return alert(getMessage('estimate.detail.alert.selectDelItem')) + } let delList = [] estimateContextState.itemList.filter((row) => { array.map((row2) => { diff --git a/src/hooks/floorPlan/estimate/useEstimateController.js b/src/hooks/floorPlan/estimate/useEstimateController.js index 6b07a977..6c9f221b 100644 --- a/src/hooks/floorPlan/estimate/useEstimateController.js +++ b/src/hooks/floorPlan/estimate/useEstimateController.js @@ -85,7 +85,7 @@ export const useEstimateController = (planNo) => { } const addItem = () => { - let newItemDispOrder = Math.max(...estimateContextState.itemList.map((item) => item.dispOrder)) + let newItemDispOrder = estimateContextState.itemList.length === 0 ? 0 : Math.max(...estimateContextState.itemList.map((item) => item.dispOrder)) newItemDispOrder = (Math.floor(newItemDispOrder / 100) + 1) * 100 setEstimateContextState({ itemList: [ @@ -208,6 +208,13 @@ export const useEstimateController = (planNo) => { if (fileFlg) { estimateData.itemList.map((item) => { if (item.delFlg === '0') { + if (item.addFlg) { + if (item.itemId === '') { + itemFlg = false + return alert(getMessage('estimate.detail.save.requiredItemId')) + } + } + item.amount = item.amount?.replaceAll(',', '') item.salePrice = Number(item.salePrice?.replaceAll(',', '')).toFixed(2) item.saleTotPrice = Number(item.saleTotPrice?.replaceAll(',', '')).toFixed(2) diff --git a/src/locales/ja.json b/src/locales/ja.json index 7f3dcee1..8521c658 100644 --- a/src/locales/ja.json +++ b/src/locales/ja.json @@ -907,10 +907,12 @@ "estimate.detail.save.requiredObjectName": "案件名は必須です.", "estimate.detail.save.requiredPkgAsp": "住宅pkg単価は0より大きい値を入力してください.", "estimate.detail.save.requiredEstimateDate": "見積日は必須です.", + "estimate.detail.save.requiredItemId": "製品を選択してください.", "estimate.detail.save.requiredAmount": "数量は0より大きい値を入力してください.", "estimate.detail.save.requiredSalePrice": "単価は0より大きい値を入力してください.", "estimate.detail.reset.confirmMsg": "保存した見積書情報が初期化され、図面情報が反映されます。本当に初期化しますか?", - "estimate.detail.confirm.delFile": "添付ファイルを完全に削除するには[保存]ボタンをクリックしてください", + "estimate.detail.alert.delFile": "添付ファイルを完全に削除するには[保存]ボタンをクリックしてください", + "estimate.detail.alert.selectDelItem": "削除する商品を選択してください.", "simulator.title.sub1": "物件番号", "simulator.title.sub2": "作成日", "simulator.title.sub3": "システム容量", diff --git a/src/locales/ko.json b/src/locales/ko.json index d7c164cd..cc65bb7d 100644 --- a/src/locales/ko.json +++ b/src/locales/ko.json @@ -917,10 +917,12 @@ "estimate.detail.save.requiredObjectName": "안건명은 필수값 입니다.", "estimate.detail.save.requiredPkgAsp": "주택pkg 단가는 0보다 큰 값을 입력하세요.", "estimate.detail.save.requiredEstimateDate": "견적일은 필수값 입니다.", + "estimate.detail.save.requiredItemId": "제품을 선택해주세요.", "estimate.detail.save.requiredAmount": "수량은 0보다 큰값을 입력해주세요.", "estimate.detail.save.requiredSalePrice": "단가는 0보다 큰값을 입력해주세요.", "estimate.detail.reset.confirmMsg": "저장된 견적서 정보가 초기화되고, 도면정보가 반영됩니다. 정말로 초기화 하시겠습니까?", "estimate.detail.alert.delFile": "첨부파일을 완전히 삭제하려면 [저장]버튼을 클릭하십시오.", + "estimate.detail.alert.selectDelItem": "삭제할 제품을 선택하세요.", "simulator.title.sub1": "물건번호", "simulator.title.sub2": "작성일", "simulator.title.sub3": "시스템 용량",