물건현황 상세 목록 페이징

This commit is contained in:
basssy 2024-10-24 17:41:36 +09:00
parent cc5f5f85fe
commit b5eefeca7e
5 changed files with 262 additions and 124 deletions

View File

@ -25,7 +25,7 @@ export default function Stuff() {
const [stuffSearch, setStuffSearch] = useRecoilState(stuffSearchState) const [stuffSearch, setStuffSearch] = useRecoilState(stuffSearchState)
const { getMessage } = useMessage() const { getMessage } = useMessage()
const [pageNo, setPageNo] = useState(1) // const [pageNo, setPageNo] = useState(1) //
const [pageSize, setPageSize] = useState(100) // const [pageSize, setPageSize] = useState(5) //
const [totalCount, setTotalCount] = useState(0) // const [totalCount, setTotalCount] = useState(0) //
const [defaultSortType, setDefaultSortType] = useState('R') const [defaultSortType, setDefaultSortType] = useState('R')
@ -172,55 +172,54 @@ export default function Stuff() {
} }
// //
const fnDeleteRowData = (data) => { // const fnDeleteRowData = (data) => {
console.log('물건삭제:::::::::::') // if (data.length === 0) {
if (data.length === 0) { // return alert(' ')
return alert('삭제할 데이터를 선택하세요') // }
} // let errCount = 0
let errCount = 0 // data.forEach((cell) => {
data.forEach((cell) => { // if (!cell.objectNo) {
if (!cell.objectNo) { // if (errCount === 0) {
if (errCount === 0) { // alert(' ')
alert('물건정보가 있는 행만 삭제 됩니다') // }
} // errCount++
errCount++ // }
} // })
}) // }
}
// //
let newCount = 0 // let newCount = 0
const addRowItems = () => { // const addRowItems = () => {
// console.log('girdRef::::::', gridRef.current.api) // // console.log('girdRef::::::', gridRef.current.api)
const newItems = [ // const newItems = [
{ // {
mission: newCount + 1, // mission: newCount + 1,
successful: true, // successful: true,
}, // },
] // ]
gridRef.current.api.applyTransaction({ // gridRef.current.api.applyTransaction({
add: newItems, // add: newItems,
addIndex: newCount, // addIndex: newCount,
}) // })
newCount++ // newCount++
} // }
// //
const removeRowItems = () => { // const removeRowItems = () => {
// console.log('selectedRowData::', selectedRowData) // // console.log('selectedRowData::', selectedRowData)
let errCount = 0 // let errCount = 0
selectedRowData.forEach((cell) => { // selectedRowData.forEach((cell) => {
if (!cell.company) { // if (!cell.company) {
let newSelectedRowData = selectedRowData.filter((item) => item.company == null) // let newSelectedRowData = selectedRowData.filter((item) => item.company == null)
gridRef.current.api.applyTransaction({ remove: newSelectedRowData }) // gridRef.current.api.applyTransaction({ remove: newSelectedRowData })
} else { // } else {
if (errCount === 0) { // if (errCount === 0) {
alert('행추가로 추가 한 행만 삭제됩니다.') // alert(' .')
} // }
errCount++ // errCount++
} // }
}) // })
} // }
// //
useEffect(() => { useEffect(() => {
@ -381,6 +380,7 @@ export default function Stuff() {
// //
const handleChangePage = (page) => { const handleChangePage = (page) => {
console.log('page:::', page)
stuffSearchParams.code = 'S' stuffSearchParams.code = 'S'
setStuffSearch({ setStuffSearch({
@ -390,9 +390,13 @@ export default function Stuff() {
endRow: page * pageSize, endRow: page * pageSize,
}) })
// console.log('::::::::::::', page)
setPageNo(page) setPageNo(page)
} }
// console.log('pageNo:::', pageNo)
// console.log('pageSize:::', pageSize)
// console.log('totalCount:::', totalCount)
return ( return (
<> <>
{/* 퍼블시작 */} {/* 퍼블시작 */}
@ -420,7 +424,7 @@ export default function Stuff() {
</div> </div>
<div className="select-box" style={{ width: '80px' }}> <div className="select-box" style={{ width: '80px' }}>
<select className="select-light black" name="" id="" onChange={onChangePerPage}> <select className="select-light black" name="" id="" onChange={onChangePerPage}>
<option value="100">100</option> <option value="5">5</option>
<option value="200">200</option> <option value="200">200</option>
<option value="300">300</option> <option value="300">300</option>
</select> </select>

View File

@ -261,24 +261,21 @@ export default function StuffDetail() {
}) })
useEffect(() => { useEffect(() => {
// console.log('objectNo::', objectNo)
if (objectNo) { if (objectNo) {
setEditMode('EDIT') setEditMode('EDIT')
if (objectNo.substring(0, 1) !== 'T') {
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) => {
if (res.status === 200) { if (res.status === 200) {
console.log('플랜데이타:::', res.data.planList)
if (res.data != null) { if (res.data != null) {
setDetailData(res.data) setDetailData(res.data)
} else { } else {
setDetailData({}) setDetailData({})
} }
if (isNotEmptyArray(res.data.planList)) { if (isNotEmptyArray(res.data.planList)) {
// console.log('RES::::::::', res.data.planList)
setPlanGridProps({ ...planGridProps, planGridData: res.data.planList }) setPlanGridProps({ ...planGridProps, planGridData: res.data.planList })
} else { } else {
setPlanGridProps({ ...planGridProps, planGridData: [] }) setPlanGridProps({ ...planGridProps, planGridData: [] })
@ -300,16 +297,23 @@ 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/T01/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')
//1 //1
setSaleStoreList(firstList) setSaleStoreList(firstList)
//1
setOriginOtherSaleStoreList(otherList) let filterOtherList
setOtherSaleStoreList(otherList) if (sessionState?.storeId === 'T01') {
filterOtherList = otherList.filter((row) => row.firstAgentId === 'T01')
setOriginOtherSaleStoreList(filterOtherList)
setOtherSaleStoreList(filterOtherList)
} else {
//1
setOriginOtherSaleStoreList(otherList)
setOtherSaleStoreList(otherList)
}
if (sessionState?.storeLvl === '1') { if (sessionState?.storeLvl === '1') {
setSelOptions(sessionState?.storeId) setSelOptions(sessionState?.storeId)
@ -332,21 +336,19 @@ export default function StuffDetail() {
const code2 = findCommonCode(201700) /// const code2 = findCommonCode(201700) ///
const code3 = findCommonCode(202000) // 202000 const code3 = findCommonCode(202000) // 202000
if (code1 != null) { if (code1 != null) {
// console.log('::::::', code1)
setHonorificCodeList(code1) setHonorificCodeList(code1)
} }
if (code2 != null) { if (code2 != null) {
// console.log('/::::', code2)
setObjectStatusList(code2) setObjectStatusList(code2)
} }
if (code3 != null) { if (code3 != null) {
// console.log('::::', code3)
setWindSpeedList(code3) setWindSpeedList(code3)
} }
}, [commonCode]) }, [commonCode])
useEffect(() => { useEffect(() => {
if (isObjectNotEmpty(detailData)) { if (isObjectNotEmpty(detailData)) {
// console.log(':::::', detailData)
// API // API
get({ url: '/api/object/prefecture/list' }).then((res) => { get({ url: '/api/object/prefecture/list' }).then((res) => {
if (!isEmptyArray(res)) { if (!isEmptyArray(res)) {
@ -357,19 +359,40 @@ 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/T01/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')
//1 //1
setSaleStoreList(firstList) setSaleStoreList(firstList)
//1
setOriginOtherSaleStoreList(otherList)
setOtherSaleStoreList(otherList)
// console.log('1::', firstList) let filterOtherList
// console.log('2::', otherList) if (sessionState?.storeId === 'T01') {
filterOtherList = otherList.filter((row) => row.firstAgentId === 'T01')
setOriginOtherSaleStoreList(filterOtherList)
setOtherSaleStoreList(filterOtherList)
} else {
//1
setOriginOtherSaleStoreList(otherList)
setOtherSaleStoreList(otherList)
}
} }
// 1 1
// 2 2 1
if (detailData.saleStoreLevel === '1') {
setSelOptions(detailData.saleStoreId)
form.setValue('saleStoreId', detailData.saleStoreId)
form.setValue('saleStoreLevel', detailData.saleStoreLevel)
} else {
setSelOptions(sessionState?.storeId)
form.setValue('saleStoreId', sessionState?.storeId)
form.setValue('saleStoreLevel', sessionState?.storeLvl)
setOtherSelOptions(detailData.saleStoreId)
form.setValue('otherSaleStoreId', detailData.saleStoreId)
form.setValue('otherSaleStoreLevel', detailData.saleStoreLevel)
}
//No. //No.
form.setValue('planReqNo', detailData.planReqNo) form.setValue('planReqNo', detailData.planReqNo)
// //
@ -389,21 +412,6 @@ export default function StuffDetail() {
// //
form.setValue('objectNameKana', detailData.objectNameKana) form.setValue('objectNameKana', detailData.objectNameKana)
console.log('상세데이타::세팅:::::', detailData)
// 2 2
// 1 1 2
//1
// setSelOptions(detailData.saleStoreId)
// form.setValue('saleStoreId', detailData.saleStoreId)
// form.setValue('saleStoreLevel', sessionState?.storeLvl)
//2
// console.log('2 ')
// setOtherSelOptions(sessionState?.storeId)
// form.setValue('saleStoreId', firstList[0].saleStoreId)
// form.setValue('otherSaleStoreId', sessionState?.storeId)
// form.setValue('otherSaleStoreLevel', sessionState?.storeLvl)
// //
form.setValue('zipNo', detailData.zipNo) form.setValue('zipNo', detailData.zipNo)
@ -412,7 +420,11 @@ export default function StuffDetail() {
form.setValue('prefId', detailData.prefId) form.setValue('prefId', detailData.prefId)
//prefName ??? //prefName ???
form.setValue('address', detailData.address) form.setValue('address', detailData.address)
//
form.setValue('areaId', detailData.areaId)
//
form.setValue('standardWindSpeedId', detailData.standardWindSpeedId)
// //
form.setValue('verticalSnowCover', detailData.verticalSnowCover) form.setValue('verticalSnowCover', detailData.verticalSnowCover)
// coldRegionFlg 1 true // coldRegionFlg 1 true
@ -460,6 +472,10 @@ export default function StuffDetail() {
} }
//1 //1
const onSelectionChange = (key) => { const onSelectionChange = (key) => {
if (key.saleStoreId === selOptions) {
return
}
const planReqNo = form.watch('planReqNo') const planReqNo = form.watch('planReqNo')
let delFlg = false let delFlg = false
@ -486,7 +502,7 @@ export default function StuffDetail() {
if (objectNo) { if (objectNo) {
tempObjectNo = objectNo.substring(0, 1) tempObjectNo = objectNo.substring(0, 1)
} }
if (tempObjectNo !== 'R') { if (tempObjectNo === 'T') {
if (planReqNo) { if (planReqNo) {
if (delFlg) { if (delFlg) {
form.setValue('planReqNo', '') form.setValue('planReqNo', '')
@ -568,6 +584,10 @@ export default function StuffDetail() {
//2 //2
const onSelectionChange2 = (key) => { const onSelectionChange2 = (key) => {
if (key.saleStoreId === otherSelOptions) {
return
}
const planReqNo = form.watch('planReqNo') const planReqNo = form.watch('planReqNo')
let delFlg = false let delFlg = false
if (editMode === 'NEW') { if (editMode === 'NEW') {
@ -593,7 +613,7 @@ export default function StuffDetail() {
if (objectNo) { if (objectNo) {
tempObjectNo = objectNo.substring(0, 1) tempObjectNo = objectNo.substring(0, 1)
} }
if (tempObjectNo !== 'R') { if (tempObjectNo === 'T') {
if (planReqNo) { if (planReqNo) {
if (delFlg) { if (delFlg) {
form.setValue('planReqNo', '') form.setValue('planReqNo', '')
@ -646,7 +666,6 @@ export default function StuffDetail() {
// //
const setZipInfo = (info) => { const setZipInfo = (info) => {
// console.log(' ::::::::', info)
setPrefValue(info.prefId) setPrefValue(info.prefId)
form.setValue('prefId', info.prefId) form.setValue('prefId', info.prefId)
form.setValue('prefName', info.address1) form.setValue('prefName', info.address1)
@ -761,7 +780,7 @@ export default function StuffDetail() {
setIsFormValid(Object.keys(errors).length === 0 ? true : false) setIsFormValid(Object.keys(errors).length === 0 ? true : false)
} else { } else {
console.log('상세일때 폼체크') //
const formData = form.getValues() const formData = form.getValues()
let errors = {} let errors = {}
if (!formData.receiveUser || formData.receiveUser.trim().length === 0) { if (!formData.receiveUser || formData.receiveUser.trim().length === 0) {
@ -781,7 +800,7 @@ export default function StuffDetail() {
errors.zipNo = true errors.zipNo = true
} }
if (!formData.prefId) { if (!formData.prefId || formData.prefId === '0') {
errors.prefId = true errors.prefId = true
} }
@ -801,7 +820,7 @@ export default function StuffDetail() {
errors.installHeight = true errors.installHeight = true
} }
console.log('상세 저장용 에러결과?????::', errors) // console.log(':::::', errors)
setIsFormValid(Object.keys(errors).length === 0 ? true : false) setIsFormValid(Object.keys(errors).length === 0 ? true : false)
} }
}, [ }, [
@ -839,7 +858,7 @@ export default function StuffDetail() {
} }
useEffect(() => { useEffect(() => {
if (prefValue !== '') { if (prefValue) {
// //
get({ url: `/api/object/prefecture/${prefValue}/list` }).then((res) => { get({ url: `/api/object/prefecture/${prefValue}/list` }).then((res) => {
if (!isEmptyArray(res)) { if (!isEmptyArray(res)) {
@ -855,11 +874,66 @@ export default function StuffDetail() {
form.setValue('areaName', e.prefName) form.setValue('areaName', e.prefName)
} }
//
const onValid = async () => { const onValid = async () => {
const formData = form.getValues() const formData = form.getValues()
let errors = {}
let fieldNm
if (!formData.receiveUser || formData.receiveUser.trim().length === 0) {
fieldNm = getMessage('stuff.detail.receiveUser')
errors = fieldNm
}
if (!formData.objectName || formData.objectName.trim().length === 0) {
fieldNm = getMessage('stuff.detail.objectStatusId')
errors = fieldNm
}
if (!formData.objectNameOmit) {
fieldNm = getMessage('stuff.detail.objectNameOmit')
errors = fieldNm
}
if (!formData.saleStoreId) {
fieldNm = getMessage('stuff.detail.saleStoreId')
errors = fieldNm
}
if (!formData.zipNo) {
fieldNm = getMessage('stuff.detail.zipNo')
errors = fieldNm
}
if (!formData.prefId || formData.prefId === '0') {
fieldNm = getMessage('stuff.detail.prefId')
errors = fieldNm
}
if (!formData.areaId) {
fieldNm = getMessage('stuff.detail.areaId')
errors = fieldNm
}
if (!formData.standardWindSpeedId) {
fieldNm = getMessage('stuff.detail.standardWindSpeedId')
errors = fieldNm
}
if (!formData.verticalSnowCover) {
fieldNm = getMessage('stuff.detail.verticalSnowCover')
errors = fieldNm
}
if (!formData.installHeight) {
fieldNm = getMessage('stuff.detail.installHeight')
errors = fieldNm
}
if (Object.keys(errors).length > 0) {
return alert(getMessage('stuff.detail.save.valierror3', [errors]))
}
const apiUrl = '/api/object/save-object' const apiUrl = '/api/object/save-object'
const params = { const params = {
objectNo: objectNo,
planReqNo: formData.planReqNo, 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,
@ -886,7 +960,6 @@ export default function StuffDetail() {
workNo: null, workNo: null,
workName: null, workName: null,
} }
console.log('REAL저장::', params)
//, 0 //, 0
let snow = params.verticalSnowCover let snow = params.verticalSnowCover
@ -899,20 +972,76 @@ export default function StuffDetail() {
return alert(getMessage('stuff.detail.save.valierror2')) return alert(getMessage('stuff.detail.save.valierror2'))
} }
alert('작업중') let detail_sort = Object.keys(detailData)
return .sort()
.reduce((obj, key) => ((obj[key] = detailData[key]), obj), {})
let params_sort = Object.keys(params)
.sort()
.reduce((obj, key) => ((obj[key] = params[key]), obj), {})
delete detail_sort.areaName
delete detail_sort.contentsPath
delete detail_sort.createDatetime
delete detail_sort.createUserName
delete detail_sort.dispCompanyName
delete detail_sort.firstAgentId
delete detail_sort.lastEditDatetime
delete detail_sort.lastEditUserName
delete detail_sort.planList
delete detail_sort.planNo
delete detail_sort.planTotCnt
delete detail_sort.receiveCompanyName
delete detail_sort.saleStoreName
delete detail_sort.rowNumber
delete detail_sort.prefName
delete detail_sort.sameObjectInfo
delete detail_sort.specificationConfirmDate
delete detail_sort.totCnt
delete detail_sort.workNo
delete detail_sort.workName
delete params_sort.areaName
delete params_sort.contentsPath
delete params_sort.createDatetime
delete params_sort.createUserName
delete params_sort.dispCompanyName
delete params_sort.firstAgentId
delete params_sort.lastEditDatetime
delete params_sort.lastEditUserName
delete params_sort.planList
delete params_sort.planNo
delete params_sort.planTotCnt
delete params_sort.receiveCompanyName
delete params_sort.saleStoreName
delete params_sort.rowNumber
delete params_sort.prefName
delete params_sort.sameObjectInfo
delete params_sort.specificationConfirmDate
delete params_sort.totCnt
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 (editMode === 'NEW') { if (editMode === 'NEW') {
await promisePost({ url: apiUrl, data: params }).then((res) => { await promisePost({ url: apiUrl, data: params }).then((res) => {
console.log('진짜저장결과::::', pathname, res)
// //
//router.push(`${pathname}?objectNo=${res.data.objectNo.toString()}`) if (res.status === 201) {
alert(getMessage('stuff.detail.save'))
router.push(`/management/stuff/detail?objectNo=${res.data.objectNo.toString()}`)
}
}) })
} else { } else {
// PUT // PUT
await promisePut({ url: apiUrl, data: params }).then((res) => { await promisePut({ url: apiUrl, data: params }).then((res) => {
console.log('진짜데이터 수정 결과::::::::::', pathname, res) if (res.status === 201) {
//??? alert(getMessage('stuff.detail.save'))
router.refresh()
}
}) })
} }
} }
@ -963,12 +1092,9 @@ export default function StuffDetail() {
if (height === '0') { if (height === '0') {
return alert(getMessage('stuff.detail.save.valierror2')) return alert(getMessage('stuff.detail.save.valierror2'))
} }
alert('작업중')
return
await promisePost({ url: '/api/object/save-object', data: params }).then((res) => { await promisePost({ url: '/api/object/save-object', data: params }).then((res) => {
if (res.status === 201) { if (res.status === 201) {
getMessage('stuff.detail.tempSave.message1') alert(getMessage('stuff.detail.tempSave.message1'))
router.push(`${pathname}?objectNo=${res.data.objectNo.toString()}`) router.push(`${pathname}?objectNo=${res.data.objectNo.toString()}`)
} }
}) })
@ -976,15 +1102,12 @@ export default function StuffDetail() {
// //
const onDelete = () => { const onDelete = () => {
// console.log('::::::::', objectNo)
// console.log('detailData:::::::::', detailData)
const specificationConfirmDate = detailData.specificationConfirmDate const specificationConfirmDate = detailData.specificationConfirmDate
if (specificationConfirmDate != null) { if (specificationConfirmDate != null) {
alert(getMessage('stuff.detail.delete.message1')) alert(getMessage('stuff.detail.delete.message1'))
} else { } else {
if (confirm(getMessage('common.message.data.delete'))) { if (confirm(getMessage('common.message.data.delete'))) {
del({ url: `/api/object/${objectNo}` }).then((res) => { del({ url: `/api/object/${objectNo}` }).then((res) => {
// console.log(':::::::', res)
router.push('/management/stuff') router.push('/management/stuff')
}) })
} }
@ -1038,7 +1161,7 @@ export default function StuffDetail() {
</tr> </tr>
<tr> <tr>
<th> <th>
{getMessage('stuff.detail.dispCompanyName')} <span className="important">*</span> {getMessage('stuff.detail.receiveUser')} <span className="important">*</span>
</th> </th>
<td> <td>
<div className="input-wrap" style={{ width: '500px' }}> <div className="input-wrap" style={{ width: '500px' }}>
@ -1129,7 +1252,7 @@ export default function StuffDetail() {
getOptionLabel={(x) => x.saleStoreName} getOptionLabel={(x) => x.saleStoreName}
getOptionValue={(x) => x.saleStoreId} getOptionValue={(x) => x.saleStoreId}
isClearable={sessionState?.storeLvl === '1' ? true : false} isClearable={sessionState?.storeLvl === '1' ? true : false}
isDisabled={sessionState?.storeLel !== '1' ? true : false} isDisabled={sessionState?.storeLvl !== '1' ? true : false}
value={saleStoreList.filter(function (option) { value={saleStoreList.filter(function (option) {
return option.saleStoreId === selOptions return option.saleStoreId === selOptions
})} })}
@ -1264,7 +1387,7 @@ export default function StuffDetail() {
</tr> </tr>
<tr> <tr>
<th> <th>
{getMessage('stuff.detail.windSpeed')} <span className="important">*</span> {getMessage('stuff.detail.standardWindSpeedId')} <span className="important">*</span>
</th> </th>
<td> <td>
<div className="flx-box"> <div className="flx-box">
@ -1287,7 +1410,7 @@ export default function StuffDetail() {
})} })}
></Select> ></Select>
</div> </div>
<span className="mr10">{getMessage('stuff.detail.windSpeedSpan')}</span> <span className="mr10">{getMessage('stuff.detail.standardWindSpeedIdSpan')}</span>
<Button type="button" className="btn-origin grey" onClick={onSearchWindSpeedPopOpen}> <Button type="button" className="btn-origin grey" onClick={onSearchWindSpeedPopOpen}>
{getMessage('stuff.detail.btn.windSpeedPop')} {getMessage('stuff.detail.btn.windSpeedPop')}
</Button> </Button>
@ -1389,16 +1512,16 @@ export default function StuffDetail() {
<div className="sub-right-footer"> <div className="sub-right-footer">
{!isFormValid ? ( {!isFormValid ? (
<Button className="btn-origin grey mr5" onClick={onTempSave}> <Button className="btn-origin grey mr5" onClick={onTempSave}>
New화면 {getMessage('stuff.detail.btn.tempSave')} {getMessage('stuff.detail.btn.tempSave')}
</Button> </Button>
) : ( ) : (
<Button type="submit" className="btn-origin navy mr5"> <Button type="submit" className="btn-origin navy mr5">
NEW화면 {getMessage('stuff.detail.btn.save')} {getMessage('stuff.detail.btn.save')}
</Button> </Button>
)} )}
<Link href="/management/stuff" scroll={false}> <Link href="/management/stuff" scroll={false}>
<button type="button" className="btn-origin grey"> <button type="button" className="btn-origin grey">
NEW화면 {getMessage('stuff.detail.btn.moveList')} {getMessage('stuff.detail.btn.moveList')}
</button> </button>
</Link> </Link>
</div> </div>
@ -1425,6 +1548,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') || ''} />
{/* {detailData?.tempFlg === '1' && 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"
@ -1435,6 +1559,7 @@ export default function StuffDetail() {
></button> ></button>
) : null} ) : null}
</div> </div>
{/* {detailData?.tempFlg === '1' ? ( */}
{objectNo.substring(0, 1) === 'T' ? ( {objectNo.substring(0, 1) === 'T' ? (
<> <>
<Button className="btn-origin grey" onClick={onSearchDesignRequestPopOpen}> <Button className="btn-origin grey" onClick={onSearchDesignRequestPopOpen}>
@ -1447,7 +1572,7 @@ export default function StuffDetail() {
</tr> </tr>
<tr> <tr>
<th> <th>
{getMessage('stuff.detail.dispCompanyName')} <span className="important">*</span> {getMessage('stuff.detail.receiveUser')} <span className="important">*</span>
</th> </th>
<td> <td>
<div className="input-wrap" style={{ width: '500px' }}> <div className="input-wrap" style={{ width: '500px' }}>
@ -1457,7 +1582,7 @@ export default function StuffDetail() {
</tr> </tr>
<tr> <tr>
<th> <th>
{getMessage('stuff.detail.objectStatusId')} <span className="importatn">*</span> {getMessage('stuff.detail.objectStatusId')} <span className="important">*</span>
</th> </th>
<td> <td>
<div className="flx-box"> <div className="flx-box">
@ -1538,7 +1663,7 @@ export default function StuffDetail() {
getOptionLabel={(x) => x.saleStoreName} getOptionLabel={(x) => x.saleStoreName}
getOptionValue={(x) => x.saleStoreId} getOptionValue={(x) => x.saleStoreId}
isClearable={sessionState?.storeLvl === '1' ? true : false} isClearable={sessionState?.storeLvl === '1' ? true : false}
isDisabled={sessionState?.storeLel !== '1' ? true : false} isDisabled={sessionState?.storeLvl !== '1' ? true : false}
value={saleStoreList.filter(function (option) { value={saleStoreList.filter(function (option) {
return option.saleStoreId === selOptions return option.saleStoreId === selOptions
})} })}
@ -1678,7 +1803,7 @@ export default function StuffDetail() {
{/* 기준풍속시작 */} {/* 기준풍속시작 */}
<tr> <tr>
<th> <th>
{getMessage('stuff.detail.windSpeed')} <span className="important">*</span> {getMessage('stuff.detail.standardWindSpeedId')} <span className="important">*</span>
</th> </th>
<td> <td>
<div className="flx-box"> <div className="flx-box">
@ -1701,7 +1826,7 @@ export default function StuffDetail() {
})} })}
></Select> ></Select>
</div> </div>
<span className="mr10">{getMessage('stuff.detail.windSpeedSpan')}</span> <span className="mr10">{getMessage('stuff.detail.standardWindSpeedIdSpan')}</span>
<Button type="button" className="btn-origin grey" onClick={onSearchWindSpeedPopOpen}> <Button type="button" className="btn-origin grey" onClick={onSearchWindSpeedPopOpen}>
{getMessage('stuff.detail.btn.windSpeedPop')} {getMessage('stuff.detail.btn.windSpeedPop')}
</Button> </Button>
@ -1812,7 +1937,8 @@ export default function StuffDetail() {
</table> </table>
</div> </div>
</div> </div>
{objectNo.substring(0, 1) === 'R' ? ( {/* {detailData?.tempFlg === '0' ? ( */}
{objectNo.substring(0, 1) !== 'T' ? (
<> <>
{/* 진짜R 플랜시작 */} {/* 진짜R 플랜시작 */}
<div className="table-box-title-wrap"> <div className="table-box-title-wrap">
@ -1840,7 +1966,6 @@ export default function StuffDetail() {
<div className="information-grid"> <div className="information-grid">
<div className="q-grid no-cols"> <div className="q-grid no-cols">
<StuffPlanQGrid {...planGridProps} /> <StuffPlanQGrid {...planGridProps} />
{/* <div className="pagination-wrap">페이징영역</div> */}
</div> </div>
</div> </div>
{/* 진짜R 플랜끝 */} {/* 진짜R 플랜끝 */}
@ -1862,7 +1987,7 @@ export default function StuffDetail() {
<> <>
<div className="sub-right-footer"> <div className="sub-right-footer">
{!isFormValid ? ( {!isFormValid ? (
<Button type="submit" className="btn-origin grey mr5" onClick={onTempSave}> <Button className="btn-origin grey mr5" onClick={onTempSave}>
TEMP상세:{getMessage('stuff.detail.btn.tempSave')} TEMP상세:{getMessage('stuff.detail.btn.tempSave')}
</Button> </Button>
) : ( ) : (

View File

@ -45,6 +45,7 @@ export default function StuffPlanQGrid(props) {
rowSelection={'singleRow'} rowSelection={'singleRow'}
pagination={isPageable} pagination={isPageable}
domLayout="autoHeight" domLayout="autoHeight"
suppressCellFocus={true}
/> />
</div> </div>
) )

View File

@ -477,10 +477,11 @@
"stuff.detail.header.createDatetime": "登録日", "stuff.detail.header.createDatetime": "登録日",
"stuff.detail.required": "必須入力項目", "stuff.detail.required": "必須入力項目",
"stuff.detail.planReqNo": "設計依頼No.", "stuff.detail.planReqNo": "設計依頼No.",
"stuff.detail.dispCompanyName": "担当者", "stuff.detail.receiveUser": "担当者",
"stuff.detail.objectStatusId": "物品区分/物件名", "stuff.detail.objectStatusId": "物品区分/物件名",
"stuff.detail.objectStatus0": "新築", "stuff.detail.objectStatus0": "新築",
"stuff.detail.objectStatus1": "基軸", "stuff.detail.objectStatus1": "基軸",
"stuff.detail.objectNameOmit": "敬称",
"stuff.detail.objectNameKana": "商品名 ふりがな", "stuff.detail.objectNameKana": "商品名 ふりがな",
"stuff.detail.saleStoreId": "一次販売店名/ID", "stuff.detail.saleStoreId": "一次販売店名/ID",
"stuff.detail.otherSaleStoreId": "二次販売店名/ID", "stuff.detail.otherSaleStoreId": "二次販売店名/ID",
@ -489,8 +490,8 @@
"stuff.detail.btn.addressPop.guide": "※ 郵便番号7桁を入力した後、アドレス検索ボタンをクリックしてください", "stuff.detail.btn.addressPop.guide": "※ 郵便番号7桁を入力した後、アドレス検索ボタンをクリックしてください",
"stuff.detail.prefId": "都道府県 / 住所 ", "stuff.detail.prefId": "都道府県 / 住所 ",
"stuff.detail.areaId": "発電量シミュレーション地域 ", "stuff.detail.areaId": "発電量シミュレーション地域 ",
"stuff.detail.windSpeed": "基準風速", "stuff.detail.standardWindSpeedId": "基準風速",
"stuff.detail.windSpeedSpan": "m/s以下", "stuff.detail.standardWindSpeedIdSpan": "m/s以下",
"stuff.detail.btn.windSpeedPop": "風速選択", "stuff.detail.btn.windSpeedPop": "風速選択",
"stuff.detail.verticalSnowCover": "垂直説説", "stuff.detail.verticalSnowCover": "垂直説説",
"stuff.detail.coldRegionFlg": "寒冷地対策施行", "stuff.detail.coldRegionFlg": "寒冷地対策施行",
@ -516,8 +517,11 @@
"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": "保存しました",
"stuff.detail.noChgData": "変更内容はありません",
"stuff.detail.save.valierror1": "垂直説説は0より大きい値を入力してください", "stuff.detail.save.valierror1": "垂直説説は0より大きい値を入力してください",
"stuff.detail.save.valierror2": "設置高さ0より大きい値を入力してください", "stuff.detail.save.valierror2": "設置高さ0より大きい値を入力してください",
"stuff.detail.save.valierror3": "{0} 必須入力項目です.",
"stuff.planReqPopup.popTitle": "設計依頼検索", "stuff.planReqPopup.popTitle": "設計依頼検索",
"stuff.planReqPopup.btn1": "検索", "stuff.planReqPopup.btn1": "検索",
"stuff.planReqPopup.btn2": "初期化", "stuff.planReqPopup.btn2": "初期化",

View File

@ -482,10 +482,11 @@
"stuff.detail.header.createDatetime": "등록일", "stuff.detail.header.createDatetime": "등록일",
"stuff.detail.required": "필수 입력항목", "stuff.detail.required": "필수 입력항목",
"stuff.detail.planReqNo": "설계의뢰No.", "stuff.detail.planReqNo": "설계의뢰No.",
"stuff.detail.dispCompanyName": "담당자", "stuff.detail.receiveUser": "담당자",
"stuff.detail.objectStatusId": "물건구분/물건명", "stuff.detail.objectStatusId": "물건구분/물건명",
"stuff.detail.objectStatus0": "신축", "stuff.detail.objectStatus0": "신축",
"stuff.detail.objectStatus1": "기축", "stuff.detail.objectStatus1": "기축",
"stuff.detail.objectNameOmit": "경칭",
"stuff.detail.objectNameKana": "물건명 후리가나", "stuff.detail.objectNameKana": "물건명 후리가나",
"stuff.detail.saleStoreId": "1차 판매점명 / ID", "stuff.detail.saleStoreId": "1차 판매점명 / ID",
"stuff.detail.otherSaleStoreId": "2차 판매점명 / ID", "stuff.detail.otherSaleStoreId": "2차 판매점명 / ID",
@ -494,8 +495,8 @@
"stuff.detail.btn.addressPop.guide": "※ 주소검색 버튼을 클릭한 후, 도도부현 정보를 선택해주십시오.", "stuff.detail.btn.addressPop.guide": "※ 주소검색 버튼을 클릭한 후, 도도부현 정보를 선택해주십시오.",
"stuff.detail.prefId": "도도부현 / 주소", "stuff.detail.prefId": "도도부현 / 주소",
"stuff.detail.areaId": "발전량시뮬레이션지역", "stuff.detail.areaId": "발전량시뮬레이션지역",
"stuff.detail.windSpeed": "기준풍속", "stuff.detail.standardWindSpeedId": "기준풍속",
"stuff.detail.windSpeedSpan": "m/s이하", "stuff.detail.standardWindSpeedIdSpan": "m/s이하",
"stuff.detail.btn.windSpeedPop": "풍속선택", "stuff.detail.btn.windSpeedPop": "풍속선택",
"stuff.detail.verticalSnowCover": "수직적설량", "stuff.detail.verticalSnowCover": "수직적설량",
"stuff.detail.coldRegionFlg": "한랭지대책시행", "stuff.detail.coldRegionFlg": "한랭지대책시행",
@ -521,8 +522,11 @@
"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": "저장되었습니다",
"stuff.detail.noChgData": "변경된 내용이 없습니다",
"stuff.detail.save.valierror1": "수직적설량은 0보다 큰 값을 입력하세요", "stuff.detail.save.valierror1": "수직적설량은 0보다 큰 값을 입력하세요",
"stuff.detail.save.valierror2": "설치높이는 0보다 큰 값을 입력하세요", "stuff.detail.save.valierror2": "설치높이는 0보다 큰 값을 입력하세요",
"stuff.detail.save.valierror3": "{0} 필수 입력 항목입니다.",
"stuff.planReqPopup.popTitle": "설계 요청 검색", "stuff.planReqPopup.popTitle": "설계 요청 검색",
"stuff.planReqPopup.btn1": "검색", "stuff.planReqPopup.btn1": "검색",
"stuff.planReqPopup.btn2": "초기화", "stuff.planReqPopup.btn2": "초기화",