diff --git a/src/containers/laanc/LaancPlanContainer.js b/src/containers/laanc/LaancPlanContainer.js index da77b2ed..29baed94 100644 --- a/src/containers/laanc/LaancPlanContainer.js +++ b/src/containers/laanc/LaancPlanContainer.js @@ -79,11 +79,52 @@ export default function LaancPlanContainer({ }); break; case 'area': + if ( + name === 'fltElev' && + parseInt(value.replace('/^0+/', 'm', ''), 10) > 150 + ) { + setModal2({ + isOpen: true, + title: '고도 재설정 알림', + desc: ( + <> + 설정하신 고도가 150m를 초과하였습니다. +
+ 150m 초과 시 드론원스톱을 통해 특별비행승인이 필요합니다. + + ) + }); + setDetailData(prevState => { + const arr = [...prevState[arrName]]; + const updateData = { + ...prevState[arrName][0], + [name]: 0 + }; + arr[0] = updateData; + console.log('>', arr[0]); + return { + ...prevState, + [arrName]: arr + }; + }); + } else { + setDetailData(prevState => { + const arr = [...prevState[arrName]]; + const updateData = { + ...prevState[arrName][0], + [name]: value + }; + arr[0] = updateData; + return { + ...prevState, + [arrName]: arr + }; + }); + } + break; case 'pilot': case 'arcrft': - if (name === 'fltElev' || name === 'bufferZone' || name === 'hpno') { - const newValue = value.replace(/^0+/, '').replace(/\D/g, ''); - + if (name === 'bufferZone') { setDetailData(prevState => { const arr = [...prevState[arrName]]; const updateData = { diff --git a/src/modules/laanc/models/laancModels.ts b/src/modules/laanc/models/laancModels.ts index 6228b85d..d1f0ff37 100644 --- a/src/modules/laanc/models/laancModels.ts +++ b/src/modules/laanc/models/laancModels.ts @@ -86,7 +86,7 @@ export const LaancFlightData = { areaType: '', fltMethod: '', bufferZone: 0, - fltElev: '', + fltElev: 0, createUserId: '', createDt: '', updateUserId: '', @@ -128,7 +128,7 @@ export const LaancFlightData = { areaType: '', fltMethod: '', bufferZone: 0, - fltElev: '', + fltElev: 0, createUserId: '', createDt: '', updateUserId: '', @@ -276,7 +276,7 @@ export interface FlightPlanAreaData { areaType: string; fltMethod: string; bufferZone: number; - fltElev: string; + fltElev: number; createUserId?: string; createDt?: string; updateUserId?: string; @@ -388,7 +388,7 @@ export const laancControlData = { areaType: '', fltMethod: '', bufferZone: 0, - fltElev: '', + fltElev: 0, createUserId: '', createDt: '', updateUserId: '', @@ -496,7 +496,7 @@ export const initFlightBas = { areaType: '', fltMethod: '', bufferZone: 0, - fltElev: '', + fltElev: 0, createUserId: '', createDt: '', updateUserId: '', @@ -539,7 +539,7 @@ export const initFlightBas = { areaType: '', fltMethod: '', bufferZone: 0, - fltElev: '0', + fltElev: 0, createUserId: '', createDt: '', updateUserId: '', diff --git a/src/views/laanc/LaancStep1.js b/src/views/laanc/LaancStep1.js index 2f8fc3cb..0c06dfcf 100644 --- a/src/views/laanc/LaancStep1.js +++ b/src/views/laanc/LaancStep1.js @@ -284,7 +284,10 @@ export default function LaancStep1({ handleChange({ type: 'area', name, - value + value: value + .replace(/^0+/, '') // 맨 앞의 0 제거 + .replace(/\D/g, '') // 숫자가 아닌 문자 제거 + .replace('m') // "m"을 맨 뒤에 붙임 }); }} innerRef={fltElevRef} // Input 요소에 ref를 연결 @@ -310,7 +313,10 @@ export default function LaancStep1({ handleChange({ type: 'area', name, - value + value: value + .replace(/^0+/, '') // 맨 앞의 0 제거 + .replace(/\D/g, '') // 숫자가 아닌 문자 제거 + .replace('m') // "m"을 맨 뒤에 붙임 }); }} innerRef={bufferZoneRef} // Input 요소에 ref를 연결