@@ -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,13 @@ export default function MainContents() {
})}
) : (
-
+
+
{getMessage('main.content.objectList.noData1')}
+
{getMessage('main.content.objectList.noData2')}
+
+
)}
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/hooks/roofcover/useRoofAllocationSetting.js b/src/hooks/roofcover/useRoofAllocationSetting.js
index 0840dc2d..0671f502 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,
+ },
])
}
@@ -108,15 +114,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 +189,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')
@@ -245,8 +258,6 @@ export function useRoofAllocationSetting(id) {
return roof
})
- newRoofList[selectedIndex].selected = true
-
setCurrentRoofList(newRoofList)
}
diff --git a/src/locales/ja.json b/src/locales/ja.json
index f1532f56..c4a457ea 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": "プランリスト",
@@ -800,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 4d0f393c..94f21f7e 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": "플랜리스트",
@@ -810,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": "조작메뉴얼",
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
},
})