Merge branch 'dev' of https://git.jetbrains.space/nalpari/q-cast-iii/qcast-front into qcast-pub
This commit is contained in:
commit
d454a8b8de
@ -85,6 +85,7 @@ export default function MainContents() {
|
||||
}
|
||||
}
|
||||
|
||||
console.log('qcastState:::', qcastState?.businessCharger)
|
||||
return (
|
||||
<div className="main-product-list-wrap">
|
||||
<div className="main-product-list">
|
||||
@ -106,8 +107,8 @@ export default function MainContents() {
|
||||
>
|
||||
<div className="item-inner">
|
||||
<span className="time">{dayjs(row.lastEditDatetime).format('YYYY.MM.DD HH:mm:ss')}</span>
|
||||
<span>{row.objectNo}</span>
|
||||
<span>{row.objectName}</span>
|
||||
<span>{row.tempFlg === '0' ? row.objectNo : getMessage('stuff.gridData.tempObjectNo')}</span>
|
||||
<span>{row.objectName ? row.objectName : '-'}</span>
|
||||
<span>{row.saleStoreName}</span>
|
||||
</div>
|
||||
</li>
|
||||
@ -115,7 +116,13 @@ export default function MainContents() {
|
||||
})}
|
||||
</ul>
|
||||
) : (
|
||||
<MainSkeleton count={6} />
|
||||
<div className="recently-no-data">
|
||||
<h3>{getMessage('main.content.objectList.noData1')}</h3>
|
||||
<p>{getMessage('main.content.objectList.noData2')}</p>
|
||||
<button type="button" className="btn-origin navy" onClick={() => router.push('/management/stuff/tempReg')}>
|
||||
+ {getMessage('stuff.search.btn.register')}
|
||||
</button>
|
||||
</div>
|
||||
)}
|
||||
</ProductItem>
|
||||
<ProductItem num={2} name={getMessage('main.content.notice')}>
|
||||
|
||||
@ -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 })
|
||||
|
||||
@ -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)
|
||||
}
|
||||
|
||||
|
||||
@ -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": "操作マニュアル",
|
||||
|
||||
@ -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": "조작메뉴얼",
|
||||
|
||||
@ -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
|
||||
},
|
||||
})
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user