diff --git a/src/components/management/StuffDetail.jsx b/src/components/management/StuffDetail.jsx index 93328de3..6378aeec 100644 --- a/src/components/management/StuffDetail.jsx +++ b/src/components/management/StuffDetail.jsx @@ -18,6 +18,7 @@ import WindSelectPop from './popup/WindSelectPop' import { useCommonCode } from '@/hooks/common/useCommonCode' import StuffPlanQGrid from './StuffPlanQGrid' import { floorPlanObjectState } from '@/store/floorPlanObjectAtom' +import { ManagementContext } from '@/app/management/ManagementProvider' export default function StuffDetail() { const setFloorPlanObjectNo = useSetRecoilState(floorPlanObjectState) //견적서 화면용 물건번호리코일 @@ -96,7 +97,7 @@ export default function StuffDetail() { const objectNo = searchParams.get('objectNo') //url에서 물건번호 꺼내서 바로 set const [editMode, setEditMode] = useState('NEW') - const [detailData, setDetailData] = useState({}) + const { managementState, setManagementState } = useContext(ManagementContext) const [planGridProps, setPlanGridProps] = useState({ planGridData: [], @@ -289,9 +290,9 @@ export default function StuffDetail() { promiseGet({ url: `/api/object/${objectNo}/detail` }).then((res) => { if (res.status === 200) { if (res.data != null) { - setDetailData(res.data) + setManagementState(res.data) } else { - setDetailData({}) + setManagementState({}) } if (isNotEmptyArray(res.data.planList)) { setPlanGridProps({ ...planGridProps, planGridData: res.data.planList }) @@ -299,7 +300,7 @@ export default function StuffDetail() { setPlanGridProps({ ...planGridProps, planGridData: [] }) } } else { - setDetailData({}) + setManagementState({}) setPlanGridProps({ ...planGridProps, planGridData: [] }) } }) @@ -415,7 +416,7 @@ export default function StuffDetail() { }, [commonCode]) useEffect(() => { - if (isObjectNotEmpty(detailData)) { + if (isObjectNotEmpty(managementState)) { // 도도부현API get({ url: '/api/object/prefecture/list' }).then((res) => { if (!isEmptyArray(res)) { @@ -449,18 +450,17 @@ export default function StuffDetail() { setFavoriteStoreList(favList) setShowSaleStoreList(favList) - if (detailData.firstAgentId != null) { - form.setValue('saleStoreId', detailData.firstAgentId) - setSelOptions(detailData.firstAgentId) + if (managementState.firstAgentId != null) { + form.setValue('saleStoreId', managementState.firstAgentId) + setSelOptions(managementState.firstAgentId) } else { - form.setValue('saleStoreId', detailData.saleStoreId) - setSelOptions(detailData.saleStoreId) + form.setValue('saleStoreId', managementState.saleStoreId) + setSelOptions(managementState.saleStoreId) } //상세데이터의 1차점 아이디로 2차점 목록 조회하기 - let data = detailData?.firstAgentId ? detailData.firstAgentId : detailData.saleStoreId - // url = `/api/object/saleStore/${session?.storeId}/list?firstFlg=0&userId=${session?.userId}` + let data = managementState?.firstAgentId ? managementState.firstAgentId : managementState.saleStoreId url = `/api/object/saleStore/${data}/list?firstFlg=0&userId=${session?.userId}` get({ url: url }).then((res) => { @@ -502,74 +502,74 @@ export default function StuffDetail() { //상세데이터가 1차점이면 1차점에 세팅 //상세데이터가 2차점이면 2차점에 세팅하고 세션으로 1차점 세팅 - if (detailData.saleStoreLevel === '1') { - setSelOptions(detailData.saleStoreId) - form.setValue('saleStoreId', detailData.saleStoreId) - form.setValue('saleStoreLevel', detailData.saleStoreLevel) + if (managementState.saleStoreLevel === '1') { + setSelOptions(managementState.saleStoreId) + form.setValue('saleStoreId', managementState.saleStoreId) + form.setValue('saleStoreLevel', managementState.saleStoreLevel) } else { - setOtherSelOptions(detailData.saleStoreId) - form.setValue('otherSaleStoreId', detailData.saleStoreId) - form.setValue('otherSaleStoreLevel', detailData.saleStoreLevel) + setOtherSelOptions(managementState.saleStoreId) + form.setValue('otherSaleStoreId', managementState.saleStoreId) + form.setValue('otherSaleStoreLevel', managementState.saleStoreLevel) form.setValue('saleStoreLevel', '1') } //설계의뢰No. - form.setValue('planReqNo', detailData.planReqNo) + form.setValue('planReqNo', managementState.planReqNo) //담당자 - form.setValue('receiveUser', detailData.receiveUser) + form.setValue('receiveUser', managementState.receiveUser) //물건구분objectStatusId - setSelectObjectStatusId(detailData.objectStatusId) - form.setValue('objectStatusId', detailData.objectStatusId) + setSelectObjectStatusId(managementState.objectStatusId) + form.setValue('objectStatusId', managementState.objectStatusId) //물건명 - form.setValue('objectName', detailData.objectName) + form.setValue('objectName', managementState.objectName) //경칭코드 - setSelHonorificCode(detailData.objectNameOmit) - form.setValue('objectNameOmit', detailData.objectNameOmit) + setSelHonorificCode(managementState.objectNameOmit) + form.setValue('objectNameOmit', managementState.objectNameOmit) //물건명 후리가나 - form.setValue('objectNameKana', detailData.objectNameKana) + form.setValue('objectNameKana', managementState.objectNameKana) //우편번호 - form.setValue('zipNo', detailData.zipNo) + form.setValue('zipNo', managementState.zipNo) //도도부현 / 주소 - setPrefValue(detailData.prefId) - form.setValue('prefId', detailData.prefId) - form.setValue('prefName', detailData.prefName) - form.setValue('address', detailData.address) + setPrefValue(managementState.prefId) + form.setValue('prefId', managementState.prefId) + form.setValue('prefName', managementState.prefName) + form.setValue('address', managementState.address) //발전시뮬 - form.setValue('areaId', detailData.areaId) + form.setValue('areaId', managementState.areaId) //기준풍속 - form.setValue('standardWindSpeedId', detailData.standardWindSpeedId) + form.setValue('standardWindSpeedId', managementState.standardWindSpeedId) //수직적설량 - form.setValue('verticalSnowCover', detailData.verticalSnowCover) + form.setValue('verticalSnowCover', managementState.verticalSnowCover) //한랭지대책시행 coldRegionFlg 1이면 true - form.setValue('coldRegionFlg', detailData.coldRegionFlg === '1' ? true : false) + form.setValue('coldRegionFlg', managementState.coldRegionFlg === '1' ? true : false) //면조도구분 surfaceType null로 내려오면 셋팅 안하고 저장할때 필수값 체크하도록 // form.setValue('surfaceType', 'Ⅱ') // form.setValue('surfaceType', 'Ⅲ・Ⅳ') - form.setValue('surfaceType', detailData.surfaceType) + form.setValue('surfaceType', managementState.surfaceType) //염해지역용아이템사용 saltAreaFlg 1이면 true - form.setValue('saltAreaFlg', detailData.saltAreaFlg === '1' ? true : false) + form.setValue('saltAreaFlg', managementState.saltAreaFlg === '1' ? true : false) //설치높이 - form.setValue('installHeight', detailData.installHeight) + form.setValue('installHeight', managementState.installHeight) //계약조건 null로 내려오면 0으로 디폴트셋팅 - if (detailData.conType === null) { + if (managementState.conType === null) { form.setValue('conType', '0') } else { - form.setValue('conType', detailData.conType) + form.setValue('conType', managementState.conType) } //메모 - form.setValue('remarks', detailData.remarks) + form.setValue('remarks', managementState.remarks) }) } - }, [detailData, session]) + }, [managementState, session]) //경칭선택 변경 이벤트 const onChangeHonorificCode = (key) => { @@ -1189,9 +1189,9 @@ export default function StuffDetail() { return alert(getMessage('stuff.detail.save.valierror2')) } - let detail_sort = Object.keys(detailData) + let detail_sort = Object.keys(managementState) .sort() - .reduce((obj, key) => ((obj[key] = detailData[key]), obj), {}) + .reduce((obj, key) => ((obj[key] = managementState[key]), obj), {}) let params_sort = Object.keys(params) .sort() .reduce((obj, key) => ((obj[key] = params[key]), obj), {}) @@ -1313,7 +1313,7 @@ export default function StuffDetail() { // 물건삭제 const onDelete = () => { - const specificationConfirmDate = detailData.specificationConfirmDate + const specificationConfirmDate = managementState.specificationConfirmDate if (specificationConfirmDate != null) { alert(getMessage('stuff.detail.delete.message1')) } else { @@ -1860,8 +1860,7 @@ export default function StuffDetail() {