물건정보

This commit is contained in:
basssy 2024-10-24 11:26:11 +09:00
parent e3bc19d603
commit cc5870e32f
4 changed files with 166 additions and 60 deletions

View File

@ -53,9 +53,9 @@ export default function Stuff() {
const onDoubleClick = (e) => { const onDoubleClick = (e) => {
let objectNo = e.target.innerText let objectNo = e.target.innerText
if (objectNo.substring(0, 1) === 'R') { if (objectNo.substring(0, 1) === 'R') {
router.push(`${pathname}/detail?objectNo=${objectNo.toString()}`) router.push(`${pathname}/detail?objectNo=${objectNo.toString()}`, { scroll: false })
} else { } else {
router.push(`${pathname}/tempdetail?objectNo=${objectNo.toString()}`) router.push(`${pathname}/tempdetail?objectNo=${objectNo.toString()}`, { scroll: false })
} }
} }
@ -157,9 +157,9 @@ export default function Stuff() {
//T R //T R
if (event.data.objectNo) { if (event.data.objectNo) {
if (event.data.objectNo.substring(0, 1) === 'R') { if (event.data.objectNo.substring(0, 1) === 'R') {
router.push(`${pathname}/detail?objectNo=${event.data.objectNo.toString()}`) router.push(`${pathname}/detail?objectNo=${event.data.objectNo.toString()}`, { scroll: false })
} else { } else {
router.push(`${pathname}/tempdetail?objectNo=${event.data.objectNo.toString()}`) router.push(`${pathname}/tempdetail?objectNo=${event.data.objectNo.toString()}`, { scroll: false })
} }
} }
} }
@ -244,7 +244,8 @@ export default function Stuff() {
} }
async function fetchData() { async function fetchData() {
const apiUrl = `/api/object/list?saleStoreId=${sessionState?.storeId}&${queryStringFormatter(params)}` // const apiUrl = `/api/object/list?saleStoreId=${sessionState?.storeId}&${queryStringFormatter(params)}`
const apiUrl = `/api/object/list?saleStoreId=T100&${queryStringFormatter(params)}`
await get({ await get({
url: apiUrl, url: apiUrl,
}).then((res) => { }).then((res) => {

View File

@ -100,13 +100,13 @@ export default function StuffDetail() {
field: 'planNo', field: 'planNo',
headerName: getMessage('stuff.detail.planGridHeader.planNo'), headerName: getMessage('stuff.detail.planGridHeader.planNo'),
width: 100, width: 100,
cellStyle: { display: 'flex', justifyContent: 'center', alignItems: 'center' }, cellStyle: { justifyContent: 'center' },
}, },
{ {
field: 'orderFlg', field: 'orderFlg',
headerName: getMessage('stuff.detail.planGridHeader.orderFlg'), headerName: getMessage('stuff.detail.planGridHeader.orderFlg'),
width: 80, width: 80,
cellStyle: { display: 'flex', justifyContent: 'center', alignItems: 'center' }, cellStyle: { justifyContent: 'center' },
cellRenderer: (params) => { cellRenderer: (params) => {
//1 //1
let orderFlg let orderFlg
@ -118,13 +118,13 @@ export default function StuffDetail() {
field: 'moduleModel', field: 'moduleModel',
headerName: getMessage('stuff.detail.planGridHeader.moduleModel'), headerName: getMessage('stuff.detail.planGridHeader.moduleModel'),
flex: 1, flex: 1,
cellStyle: { display: 'flex', justifyContent: 'center', alignItems: 'center' }, cellStyle: { justifyContent: 'flex-start' /* 좌측정렬*/ },
}, },
{ {
field: 'capacity', field: 'capacity',
headerName: getMessage('stuff.detail.planGridHeader.capacity'), headerName: getMessage('stuff.detail.planGridHeader.capacity'),
width: 120, width: 120,
cellStyle: { display: 'flex', justifyContent: 'center', alignItems: 'center' }, cellStyle: { justifyContent: 'flex-end' /* 우측정렬*/ },
}, },
{ {
field: 'roofMaterialIdMulti', field: 'roofMaterialIdMulti',
@ -132,17 +132,18 @@ export default function StuffDetail() {
width: 140, width: 140,
wrapText: true, wrapText: true,
autoHeight: true, autoHeight: true,
cellStyle: { display: 'flex', justifyContent: 'center', alignItems: 'center' }, cellStyle: { justifyContent: 'flex-start' /* 좌측정렬*/ },
cellRenderer: (params) => { cellRenderer: (params) => {
// .. ?
let origin = params.value let origin = params.value
if (origin !== null) { if (origin !== null) {
return ( return (
<> <>
{origin?.split(',').map((it) => ( {origin?.split('').map((it, idx) => (
<> <span key={idx} className="block">
{it} {it}
<br /> <br />
</> </span>
))} ))}
</> </>
) )
@ -156,17 +157,17 @@ export default function StuffDetail() {
headerName: getMessage('stuff.detail.planGridHeader.constructSpecification'), headerName: getMessage('stuff.detail.planGridHeader.constructSpecification'),
wrapText: true, wrapText: true,
autoHeight: true, autoHeight: true,
cellStyle: { display: 'flex', justifyContent: 'center', alignItems: 'center' }, cellStyle: { justifyContent: 'flex-start' /* 좌측정렬*/ },
cellRenderer: (params) => { cellRenderer: (params) => {
let origin = params.value let origin = params.value
if (origin !== null) { if (origin !== null) {
return ( return (
<> <>
{origin?.split(',').map((it) => ( {origin?.split('').map((it, idx) => (
<> <span key={idx} className="block">
{it} {it}
<br /> <br />
</> </span>
))} ))}
</> </>
) )
@ -180,17 +181,17 @@ export default function StuffDetail() {
headerName: getMessage('stuff.detail.planGridHeader.supportMethodIdMulti'), headerName: getMessage('stuff.detail.planGridHeader.supportMethodIdMulti'),
wrapText: true, wrapText: true,
autoHeight: true, autoHeight: true,
cellStyle: { display: 'flex', justifyContent: 'center', alignItems: 'center' }, cellStyle: { justifyContent: 'flex-start' /* 좌측정렬*/ },
cellRenderer: (params) => { cellRenderer: (params) => {
let origin = params.value let origin = params.value
if (origin !== null) { if (origin !== null) {
return ( return (
<> <>
{origin?.split(',').map((it) => ( {origin?.split('').map((it, idx) => (
<> <span key={idx} className="block">
{it} {it}
<br /> <br />
</> </span>
))} ))}
</> </>
) )
@ -205,17 +206,17 @@ export default function StuffDetail() {
flex: 1, flex: 1,
wrapText: true, wrapText: true,
autoHeight: true, autoHeight: true,
cellStyle: { display: 'flex', justifyContent: 'center', alignItems: 'center' }, cellStyle: { justifyContent: 'flex-start' /* 좌측정렬*/ },
cellRenderer: (params) => { cellRenderer: (params) => {
let origin = params.value let origin = params.value
if (origin !== null) { if (origin !== null) {
return ( return (
<> <>
{origin?.split(',').map((it) => ( {origin?.split('').map((it, idx) => (
<> <span key={idx} className="block">
{it} {it}
<br /> <br />
</> </span>
))} ))}
</> </>
) )
@ -229,7 +230,7 @@ export default function StuffDetail() {
headerName: getMessage('stuff.detail.planGridHeader.management'), headerName: getMessage('stuff.detail.planGridHeader.management'),
width: 200, width: 200,
autoHeight: true, autoHeight: true,
cellStyle: { display: 'flex', justifyContent: 'center', alignItems: 'center' }, cellStyle: { justifyContent: 'center' },
cellRenderer: () => { cellRenderer: () => {
return ( return (
<div className="grid-cell-btn"> <div className="grid-cell-btn">
@ -266,7 +267,7 @@ export default function StuffDetail() {
setEditMode('EDIT') setEditMode('EDIT')
if (objectNo.substring(0, 1) === 'R') { if (objectNo.substring(0, 1) === 'R') {
// // ..
setIsFormValid(true) setIsFormValid(true)
} }
promiseGet({ url: `/api/object/${objectNo}/detail` }).then((res) => { promiseGet({ url: `/api/object/${objectNo}/detail` }).then((res) => {
@ -298,7 +299,8 @@ export default function StuffDetail() {
//1 : X167 T01 //1 : X167 T01
//2 : 10X22, 201X112 //2 : 10X22, 201X112
get({ url: `/api/object/saleStore/${sessionState?.storeId}/list` }).then((res) => { // get({ url: `/api/object/saleStore/${sessionState?.storeId}/list` }).then((res) => {
get({ url: `/api/object/saleStore/T100/list` }).then((res) => {
if (!isEmptyArray(res)) { if (!isEmptyArray(res)) {
const firstList = res.filter((row) => row.saleStoreLevel === '1') const firstList = res.filter((row) => row.saleStoreLevel === '1')
const otherList = res.filter((row) => row.saleStoreLevel !== '1') const otherList = res.filter((row) => row.saleStoreLevel !== '1')
@ -354,7 +356,8 @@ export default function StuffDetail() {
//1 : X167 T01 //1 : X167 T01
//2 : 10X22, 201X112 //2 : 10X22, 201X112
get({ url: `/api/object/saleStore/${sessionState?.storeId}/list` }).then((res) => { // get({ url: `/api/object/saleStore/${sessionState?.storeId}/list` }).then((res) => {
get({ url: `/api/object/saleStore/T100/list` }).then((res) => {
if (!isEmptyArray(res)) { if (!isEmptyArray(res)) {
const firstList = res.filter((row) => row.saleStoreLevel === '1') const firstList = res.filter((row) => row.saleStoreLevel === '1')
const otherList = res.filter((row) => row.saleStoreLevel !== '1') const otherList = res.filter((row) => row.saleStoreLevel !== '1')
@ -363,8 +366,10 @@ export default function StuffDetail() {
//1 //1
setOriginOtherSaleStoreList(otherList) setOriginOtherSaleStoreList(otherList)
setOtherSaleStoreList(otherList) setOtherSaleStoreList(otherList)
// console.log('1::', firstList)
// console.log('2::', otherList)
} }
console.log('상세데이타::세팅:::::', detailData)
//No. //No.
form.setValue('planReqNo', detailData.planReqNo) form.setValue('planReqNo', detailData.planReqNo)
// //
@ -384,14 +389,16 @@ export default function StuffDetail() {
// //
form.setValue('objectNameKana', detailData.objectNameKana) form.setValue('objectNameKana', detailData.objectNameKana)
// console.log('1::', firstList) console.log('상세데이타::세팅:::::', detailData)
// console.log('2::', otherList) // 2 2
setSelOptions(detailData.saleStoreId) // 1 1 2
form.setValue('saleStoreId', detailData.saleStoreId) //1
form.setValue('saleStoreLevel', sessionState?.storeLvl) // setSelOptions(detailData.saleStoreId)
// form.setValue('saleStoreId', detailData.saleStoreId)
// form.setValue('saleStoreLevel', sessionState?.storeLvl)
//2 //2
console.log('2차점까지 고른경우 확인필요') // console.log('2 ')
// setOtherSelOptions(sessionState?.storeId) // setOtherSelOptions(sessionState?.storeId)
// form.setValue('saleStoreId', firstList[0].saleStoreId) // form.setValue('saleStoreId', firstList[0].saleStoreId)
// form.setValue('otherSaleStoreId', sessionState?.storeId) // form.setValue('otherSaleStoreId', sessionState?.storeId)
@ -454,19 +461,60 @@ export default function StuffDetail() {
//1 //1
const onSelectionChange = (key) => { const onSelectionChange = (key) => {
const planReqNo = form.watch('planReqNo') const planReqNo = form.watch('planReqNo')
let delFlg = false let delFlg = false
if (planReqNo !== '') {
if (confirm('stuff.detail.confirm.message1')) { if (editMode === 'NEW') {
delFlg = true if (planReqNo !== '') {
} else { if (confirm(getMessage('stuff.detail.confirm.message1'))) {
delFlg = false delFlg = true
} else {
delFlg = false
}
}
} else {
// EDIT
if (planReqNo !== null) {
if (confirm(getMessage('stuff.detail.confirm.message1'))) {
delFlg = true
} else {
delFlg = false
}
} }
} }
if (planReqNo !== '') { let tempObjectNo = 'T'
if (delFlg) { if (objectNo) {
form.setValue('planReqNo', '') tempObjectNo = objectNo.substring(0, 1)
}
if (tempObjectNo !== 'R') {
if (planReqNo) {
if (delFlg) {
form.setValue('planReqNo', '')
if (isObjectNotEmpty(key)) {
setOtherSaleStoreList(otherSaleStoreList)
form.setValue('saleStoreId', key.saleStoreId)
form.setValue('saleStoreName', key.saleStoreName)
form.setValue('saleStoreLevel', key.saleStoreLevel)
setSelOptions(key.saleStoreId)
// 1 2 list
// 
let newOtherSaleStoreList = originOtherSaleStoreList.filter((row) => row.firstAgentId === key.saleStoreId)
setOtherSaleStoreList(newOtherSaleStoreList)
} else {
//X
setSelOptions('')
form.setValue('saleStoreId', '')
form.setValue('saleStoreName', '')
form.setValue('saleStoreLevel', '')
form.setValue('otherSaleStoreId', '')
form.setValue('otherSaleStoreName', '')
form.setValue('otherSaleStoreLevel', '')
//1 2
setOtherSaleStoreList(originOtherSaleStoreList)
handleClear()
}
}
} else {
if (isObjectNotEmpty(key)) { if (isObjectNotEmpty(key)) {
setOtherSaleStoreList(otherSaleStoreList) setOtherSaleStoreList(otherSaleStoreList)
form.setValue('saleStoreId', key.saleStoreId) form.setValue('saleStoreId', key.saleStoreId)
@ -521,19 +569,47 @@ export default function StuffDetail() {
//2 //2
const onSelectionChange2 = (key) => { const onSelectionChange2 = (key) => {
const planReqNo = form.watch('planReqNo') const planReqNo = form.watch('planReqNo')
let delFlg = false let delFlg = false
if (planReqNo !== '') { if (editMode === 'NEW') {
if (confirm('stuff.detail.confirm.message1')) { if (planReqNo !== '') {
delFlg = true if (confirm(getMessage('stuff.detail.confirm.message1'))) {
} else { delFlg = true
delFlg = false } else {
delFlg = false
}
}
} else {
//EDIT
if (planReqNo !== null) {
if (confirm(getMessage('stuff.detail.confirm.message1'))) {
delFlg = true
} else {
delFlg = false
}
} }
} }
if (planReqNo !== '') { let tempObjectNo = 'T'
if (delFlg) { if (objectNo) {
form.setValue('planReqNo', '') tempObjectNo = objectNo.substring(0, 1)
}
if (tempObjectNo !== 'R') {
if (planReqNo) {
if (delFlg) {
form.setValue('planReqNo', '')
if (isObjectNotEmpty(key)) {
setOtherSelOptions(key.saleStoreId)
form.setValue('otherSaleStoreId', key.saleStoreId)
form.setValue('otherSaleStoreName', key.saleStoreName)
form.setValue('otherSaleStoreLevel', key.saleStoreLevel)
} else {
setOtherSelOptions('')
form.setValue('otherSaleStoreId', '')
form.setValue('otherSaleStoreName', '')
form.setValue('otherSaleStoreLevel', '')
}
}
} else {
if (isObjectNotEmpty(key)) { if (isObjectNotEmpty(key)) {
setOtherSelOptions(key.saleStoreId) setOtherSelOptions(key.saleStoreId)
form.setValue('otherSaleStoreId', key.saleStoreId) form.setValue('otherSaleStoreId', key.saleStoreId)
@ -782,9 +858,9 @@ export default function StuffDetail() {
// //
const onValid = async () => { const onValid = async () => {
const formData = form.getValues() const formData = form.getValues()
// console.log(' :::', formData)
const apiUrl = '/api/object/save-object' const apiUrl = '/api/object/save-object'
const params = { const params = {
planReqNo: formData.planReqNo,
saleStoreId: formData.otherSaleStoreId ? formData.otherSaleStoreId : formData.saleStoreId, saleStoreId: formData.otherSaleStoreId ? formData.otherSaleStoreId : formData.saleStoreId,
saleStoreName: formData.otherSaleStoreName ? formData.otherSaleStoreName : formData.saleStoreName, saleStoreName: formData.otherSaleStoreName ? formData.otherSaleStoreName : formData.saleStoreName,
saleStoreLevel: formData.otherSaleStoreLevel ? formData.otherSaleStoreLevel : formData.saleStoreLevel, saleStoreLevel: formData.otherSaleStoreLevel ? formData.otherSaleStoreLevel : formData.saleStoreLevel,
@ -805,11 +881,24 @@ export default function StuffDetail() {
conType: formData.conType, conType: formData.conType,
coldRegionFlg: formData.coldRegionFlg === true ? '1' : '0', coldRegionFlg: formData.coldRegionFlg === true ? '1' : '0',
saltAreaFlg: formData.saltAreaFlg === true ? '1' : '0', saltAreaFlg: formData.saltAreaFlg === true ? '1' : '0',
remarks: formData.remarks,
tempFlg: '0', tempFlg: '0',
workNo: null, workNo: null,
workName: null, workName: null,
} }
// console.log('params::', params) console.log('REAL저장::', params)
//, 0
let snow = params.verticalSnowCover
let height = params.installHeight
if (snow === '0') {
alert(getMessage('stuff.detail.save.valierror1'))
}
if (height === '0') {
alert(getMessage('stuff.detail.save.valierror2'))
}
alert('작업중') alert('작업중')
return return
if (editMode === 'NEW') { if (editMode === 'NEW') {
@ -832,6 +921,7 @@ export default function StuffDetail() {
const onTempSave = async () => { const onTempSave = async () => {
const formData = form.getValues() const formData = form.getValues()
const params = { const params = {
planReqNo: formData.planReqNo,
saleStoreId: formData.otherSaleStoreId ? formData.otherSaleStoreId : formData.saleStoreId, saleStoreId: formData.otherSaleStoreId ? formData.otherSaleStoreId : formData.saleStoreId,
saleStoreName: formData.otherSaleStoreName ? formData.otherSaleStoreName : formData.saleStoreName, saleStoreName: formData.otherSaleStoreName ? formData.otherSaleStoreName : formData.saleStoreName,
saleStoreLevel: formData.otherSaleStoreLevel ? formData.otherSaleStoreLevel : formData.saleStoreLevel, saleStoreLevel: formData.otherSaleStoreLevel ? formData.otherSaleStoreLevel : formData.saleStoreLevel,
@ -852,6 +942,7 @@ export default function StuffDetail() {
conType: formData.conType, conType: formData.conType,
coldRegionFlg: formData.coldRegionFlg === true ? '1' : '0', coldRegionFlg: formData.coldRegionFlg === true ? '1' : '0',
saltAreaFlg: formData.saltAreaFlg === true ? '1' : '0', saltAreaFlg: formData.saltAreaFlg === true ? '1' : '0',
remarks: formData.remarks,
tempFlg: '1', tempFlg: '1',
workNo: null, workNo: null,
workName: null, workName: null,
@ -862,7 +953,17 @@ export default function StuffDetail() {
params.saleStoreId = sessionState.storeId params.saleStoreId = sessionState.storeId
params.saleStoreLevel = sessionState.storeLvl params.saleStoreLevel = sessionState.storeLvl
} }
console.log('임시저장파람:::', params) //, 0
let snow = params.verticalSnowCover
let height = params.installHeight
if (snow === '0') {
alert(getMessage('stuff.detail.save.valierror1'))
}
if (height === '0') {
alert(getMessage('stuff.detail.save.valierror2'))
}
alert('작업중') alert('작업중')
return return
await promisePost({ url: '/api/object/save-object', data: params }).then((res) => { await promisePost({ url: '/api/object/save-object', data: params }).then((res) => {
@ -1323,7 +1424,7 @@ export default function StuffDetail() {
<div className="flx-box"> <div className="flx-box">
<div className="product-input-wrap mr5"> <div className="product-input-wrap mr5">
<input type="text" className="product-input" readOnly value={form.watch('planReqNo') || ''} /> <input type="text" className="product-input" readOnly value={form.watch('planReqNo') || ''} />
{objectNo.substring(0, 1) === 'T' && form.watch('planReqNo') !== '' ? ( {objectNo.substring(0, 1) === 'T' && form.watch('planReqNo') ? (
<button <button
type="button" type="button"
className="product-delete" className="product-delete"
@ -1742,7 +1843,7 @@ export default function StuffDetail() {
</div> </div>
{/* 진짜R 플랜끝 */} {/* 진짜R 플랜끝 */}
<div className="sub-right-footer"> <div className="sub-right-footer">
<Link href="/management/stuff"> <Link href="/management/stuff" scroll={false}>
<button type="button" className="btn-origin grey mr5"> <button type="button" className="btn-origin grey mr5">
R상세: {getMessage('stuff.detail.btn.moveList')} R상세: {getMessage('stuff.detail.btn.moveList')}
</button> </button>
@ -1767,7 +1868,7 @@ export default function StuffDetail() {
TEMP상세:{getMessage('stuff.detail.btn.save')} TEMP상세:{getMessage('stuff.detail.btn.save')}
</Button> </Button>
)} )}
<Link href="/management/stuff"> <Link href="/management/stuff" scroll={false}>
<button type="button" className="btn-origin grey"> <button type="button" className="btn-origin grey">
TEMP상세:{getMessage('stuff.detail.btn.moveList')} TEMP상세:{getMessage('stuff.detail.btn.moveList')}
</button> </button>

View File

@ -516,6 +516,8 @@
"stuff.detail.btn.moveList": "商品リスト", "stuff.detail.btn.moveList": "商品リスト",
"stuff.detail.btn.save": "保存", "stuff.detail.btn.save": "保存",
"stuff.detail.btn.tempSave": "一時保存", "stuff.detail.btn.tempSave": "一時保存",
"stuff.detail.save.valierror1": "垂直説説は0より大きい値を入力してください",
"stuff.detail.save.valierror2": "設置高さ0より大きい値を入力してください",
"stuff.planReqPopup.popTitle": "設計依頼検索", "stuff.planReqPopup.popTitle": "設計依頼検索",
"stuff.planReqPopup.btn1": "検索", "stuff.planReqPopup.btn1": "検索",
"stuff.planReqPopup.btn2": "初期化", "stuff.planReqPopup.btn2": "初期化",

View File

@ -521,6 +521,8 @@
"stuff.detail.btn.moveList": "물건목록", "stuff.detail.btn.moveList": "물건목록",
"stuff.detail.btn.save": "저장", "stuff.detail.btn.save": "저장",
"stuff.detail.btn.tempSave": "임시저장", "stuff.detail.btn.tempSave": "임시저장",
"stuff.detail.save.valierror1": "수직적설량은 0보다 큰 값을 입력하세요",
"stuff.detail.save.valierror2": "설치높이 0보다 큰 값을 입력하세요",
"stuff.planReqPopup.popTitle": "설계 요청 검색", "stuff.planReqPopup.popTitle": "설계 요청 검색",
"stuff.planReqPopup.btn1": "검색", "stuff.planReqPopup.btn1": "검색",
"stuff.planReqPopup.btn2": "초기화", "stuff.planReqPopup.btn2": "초기화",