From d7b179638b3aa3383d853b7bea220eddf4c655da Mon Sep 17 00:00:00 2001 From: "hyojun.choi" Date: Tue, 7 Jan 2025 10:05:34 +0900 Subject: [PATCH 1/5] =?UTF-8?q?=EC=A7=80=EB=B6=95=EB=A9=B4=20=ED=95=A0?= =?UTF-8?q?=EB=8B=B9=20=EC=8B=9C=20index=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/hooks/roofcover/useRoofAllocationSetting.js | 17 ++++++++++++----- src/store/settingAtom.js | 4 +--- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/src/hooks/roofcover/useRoofAllocationSetting.js b/src/hooks/roofcover/useRoofAllocationSetting.js index 0840dc2d..05a76e9b 100644 --- a/src/hooks/roofcover/useRoofAllocationSetting.js +++ b/src/hooks/roofcover/useRoofAllocationSetting.js @@ -108,15 +108,18 @@ export function useRoofAllocationSetting(id) { // 지붕재 오른쪽 마우스 클릭 후 단일로 지붕재 변경 필요한 경우 const handleSaveContext = () => { + const newRoofList = currentRoofList.map((roof, idx) => { + return { ...roof, index: idx } + }) setBasicSetting((prev) => { return { ...prev, - selectedRoofMaterial: currentRoofList.find((roof) => roof.selected), + selectedRoofMaterial: newRoofList.find((roof) => roof.selected), } }) - setRoofList(currentRoofList) - const selectedRoofMaterial = currentRoofList.find((roof) => roof.selected) + setRoofList(newRoofList) + const selectedRoofMaterial = newRoofList.find((roof) => roof.selected) setSurfaceShapePattern(currentObject, roofDisplay.column, false, selectedRoofMaterial) closeAll() } @@ -180,14 +183,18 @@ export function useRoofAllocationSetting(id) { canvas.remove(wallLine) }) + const newRoofList = currentRoofList.map((roof, idx) => { + return { ...roof, index: idx } + }) + setBasicSetting((prev) => { return { ...prev, - selectedRoofMaterial: currentRoofList.find((roof) => roof.selected), + selectedRoofMaterial: newRoofList.find((roof) => roof.selected), } }) - setRoofList(currentRoofList) + setRoofList(newRoofList) const roofs = canvas.getObjects().filter((obj) => obj.name === 'roof') diff --git a/src/store/settingAtom.js b/src/store/settingAtom.js index 1b837fdd..305bcb57 100644 --- a/src/store/settingAtom.js +++ b/src/store/settingAtom.js @@ -224,9 +224,7 @@ export const roofMaterialsAtom = atom({ export const selectedRoofMaterialSelector = selector({ key: 'selectedRoofMaterialSelector', get: ({ get }) => { - const addedRoofs = get(addedRoofsState) - - return addedRoofs.find((roof) => roof.selected) + return get(basicSettingState).selectedRoofMaterial }, }) From f50c39dfbd91f6211cf7b5ccdf47000ffccdd86a Mon Sep 17 00:00:00 2001 From: basssy Date: Tue, 7 Jan 2025 10:46:42 +0900 Subject: [PATCH 2/5] =?UTF-8?q?=EB=AC=BC=EA=B1=B4=20=EC=A0=80=EC=9E=A5?= =?UTF-8?q?=EC=8B=9C=20=EB=8B=B4=EB=8B=B9=EC=9E=90=20=ED=95=84=EB=93=9C=20?= =?UTF-8?q?=EC=9E=90=EB=A6=AC=EC=88=98=20=EC=A0=9C=ED=95=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/main/MainContents.jsx | 8 +++++--- src/components/management/StuffDetail.jsx | 15 +++++++++++++-- src/locales/ja.json | 1 + src/locales/ko.json | 1 + 4 files changed, 20 insertions(+), 5 deletions(-) diff --git a/src/components/main/MainContents.jsx b/src/components/main/MainContents.jsx index 09aeb046..df50bd40 100644 --- a/src/components/main/MainContents.jsx +++ b/src/components/main/MainContents.jsx @@ -85,6 +85,7 @@ export default function MainContents() { } } + console.log('qcastState:::', qcastState?.businessCharger) return (
@@ -106,8 +107,8 @@ export default function MainContents() { >
{dayjs(row.lastEditDatetime).format('YYYY.MM.DD HH:mm:ss')} - {row.objectNo} - {row.objectName} + {row.tempFlg === '0' ? row.objectNo : getMessage('stuff.gridData.tempObjectNo')} + {row.objectName ? row.objectName : '-'} {row.saleStoreName}
@@ -115,7 +116,8 @@ export default function MainContents() { })} ) : ( - + <> + // )} diff --git a/src/components/management/StuffDetail.jsx b/src/components/management/StuffDetail.jsx index 640957d1..f31bbcaa 100644 --- a/src/components/management/StuffDetail.jsx +++ b/src/components/management/StuffDetail.jsx @@ -1307,12 +1307,16 @@ export default function StuffDetail() { delete params_sort.workNo delete params_sort.workName - // console.log(JSON.stringify(detail_sort) === JSON.stringify(params_sort)) - // console.log(Object.entries(detail_sort).toString() === Object.entries(params_sort).toString()) if (Object.entries(detail_sort).toString() === Object.entries(params_sort).toString()) { return alert(getMessage('stuff.detail.noChgData')) } + if (params?.receiveUser !== '') { + if (params?.receiveUser.trim().length > 10) { + return alert(getMessage('stuff.detail.tempSave.message2')) + } + } + if (editMode === 'NEW') { await promisePost({ url: apiUrl, data: params }) .then((res) => { @@ -1384,6 +1388,13 @@ export default function StuffDetail() { params.saleStoreLevel = session.storeLvl } + // 담당자 자리수 체크 + if (params?.receiveUser !== '') { + if (params?.receiveUser.trim().length > 10) { + return alert(getMessage('stuff.detail.tempSave.message2')) + } + } + const apiUrl = '/api/object/save-object' if (objectNo) { await promisePut({ url: apiUrl, data: params }) diff --git a/src/locales/ja.json b/src/locales/ja.json index f1532f56..27794f3e 100644 --- a/src/locales/ja.json +++ b/src/locales/ja.json @@ -665,6 +665,7 @@ "stuff.detail.tooltip.saleStoreId": "販売代理店または販売代理店IDを1文字以上入力してください", "stuff.detail.tooltip.surfaceType": "塩害地域の定義は各メーカーの設置マニュアルをご確認ください", "stuff.detail.tempSave.message1": "一時保存されました。商品番号を取得するには、必須項目をすべて入力してください。", + "stuff.detail.tempSave.message2": "担当者は10桁以下で入力してください.", "stuff.detail.confirm.message1": "販売店情報を変更すると、設計依頼文書番号が削除されます。変更しますか?", "stuff.detail.delete.message1": "仕様が確定したものは削除できません。", "stuff.detail.planList.title": "プランリスト", diff --git a/src/locales/ko.json b/src/locales/ko.json index 4d0f393c..b7a64b03 100644 --- a/src/locales/ko.json +++ b/src/locales/ko.json @@ -675,6 +675,7 @@ "stuff.detail.tooltip.saleStoreId": "판매대리점 또는 판매대리점ID를 1자 이상 입력하세요", "stuff.detail.tooltip.surfaceType": "염해지역 정의는 각 메이커의 설치 메뉴얼을 확인해주십시오", "stuff.detail.tempSave.message1": "임시저장 되었습니다. 물건번호를 획득하려면 필수 항목을 모두 입력해 주십시오.", + "stuff.detail.tempSave.message2": "담당자는 10자리 이하로 입력해 주십시오.", "stuff.detail.confirm.message1": "판매점 정보를 변경하면, 설계의뢰 문서번호가 삭제됩니다. 변경하시겠습니까?", "stuff.detail.delete.message1": "사양이 확정된 물건은 삭제할 수 없습니다.", "stuff.detail.planList.title": "플랜리스트", From 1b8c3ef2d5b5200275bd9665236f1b3480c64351 Mon Sep 17 00:00:00 2001 From: "hyojun.choi" Date: Tue, 7 Jan 2025 10:56:38 +0900 Subject: [PATCH 3/5] =?UTF-8?q?=EC=A7=80=EB=B6=95=20=EC=B6=94=EA=B0=80=20?= =?UTF-8?q?=EC=8B=9C=20index=20=EC=BB=AC=EB=9F=BC=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/hooks/roofcover/useRoofAllocationSetting.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/hooks/roofcover/useRoofAllocationSetting.js b/src/hooks/roofcover/useRoofAllocationSetting.js index 05a76e9b..ec2d2661 100644 --- a/src/hooks/roofcover/useRoofAllocationSetting.js +++ b/src/hooks/roofcover/useRoofAllocationSetting.js @@ -83,7 +83,13 @@ export function useRoofAllocationSetting(id) { } setCurrentRoofList([ ...currentRoofList, - { ...currentRoofMaterial, selected: false, id: currentRoofMaterial.roofMatlCd, name: currentRoofMaterial.roofMatlNm }, + { + ...currentRoofMaterial, + selected: false, + id: currentRoofMaterial.roofMatlCd, + name: currentRoofMaterial.roofMatlNm, + index: currentRoofList.length, + }, ]) } From e3e23a027dc47dcfcbbd86143f2a10e7dec8750f Mon Sep 17 00:00:00 2001 From: "hyojun.choi" Date: Tue, 7 Jan 2025 11:00:02 +0900 Subject: [PATCH 4/5] =?UTF-8?q?=EC=A7=80=EB=B6=95=EB=A9=B4=20=EC=88=98?= =?UTF-8?q?=EC=A0=95=EC=8B=9C=20=EC=97=90=EB=9F=AC=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/hooks/roofcover/useRoofAllocationSetting.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/hooks/roofcover/useRoofAllocationSetting.js b/src/hooks/roofcover/useRoofAllocationSetting.js index ec2d2661..0671f502 100644 --- a/src/hooks/roofcover/useRoofAllocationSetting.js +++ b/src/hooks/roofcover/useRoofAllocationSetting.js @@ -258,8 +258,6 @@ export function useRoofAllocationSetting(id) { return roof }) - newRoofList[selectedIndex].selected = true - setCurrentRoofList(newRoofList) } From 96be1c7cc232c3a18cc46d1b029c105c4d06ced4 Mon Sep 17 00:00:00 2001 From: basssy Date: Tue, 7 Jan 2025 11:03:30 +0900 Subject: [PATCH 5/5] =?UTF-8?q?Qcast=20=EB=A9=94=EC=9D=B8=ED=99=94?= =?UTF-8?q?=EB=A9=B4=20=EC=B5=9C=EA=B7=BC=20=EB=AC=BC=EA=B1=B4=20=EC=97=86?= =?UTF-8?q?=EC=9D=84=EA=B2=BD=EC=9A=B0=20=ED=99=94=EB=A9=B4=20=EC=B2=98?= =?UTF-8?q?=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/main/MainContents.jsx | 9 +++++++-- src/locales/ja.json | 2 ++ src/locales/ko.json | 2 ++ 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/components/main/MainContents.jsx b/src/components/main/MainContents.jsx index df50bd40..452e2a3a 100644 --- a/src/components/main/MainContents.jsx +++ b/src/components/main/MainContents.jsx @@ -116,8 +116,13 @@ export default function MainContents() { })} ) : ( - <> - // +
+

{getMessage('main.content.objectList.noData1')}

+

{getMessage('main.content.objectList.noData2')}

+ +
)}
diff --git a/src/locales/ja.json b/src/locales/ja.json index 27794f3e..c4a457ea 100644 --- a/src/locales/ja.json +++ b/src/locales/ja.json @@ -801,6 +801,8 @@ "main.storeName": "販売店名", "main.objectNo": "物件番号", "main.faq": "FAQ", + "main.content.objectList.noData1": "登録された商品情報はありません.", + "main.content.objectList.noData2": "下のボタンをクリックして商品情報を登録してください.", "main.content.objectList": "最近の更新物件一覧", "main.content.notice": "お知らせ", "main.content.download1": "操作マニュアル", diff --git a/src/locales/ko.json b/src/locales/ko.json index b7a64b03..94f21f7e 100644 --- a/src/locales/ko.json +++ b/src/locales/ko.json @@ -811,6 +811,8 @@ "main.storeName": "판매점명", "main.objectNo": "물건번호", "main.faq": "FAQ", + "main.content.objectList.noData1": "등록된 물건정보가 없습니다.", + "main.content.objectList.noData2": "아래 버튼을 클릭하여 물건정보를 등록하십시오.", "main.content.objectList": "최근 갱신 물건목록", "main.content.notice": "공지사항", "main.content.download1": "조작메뉴얼",