Browse Source

고도 150 초과시 알림 기능 추가

pull/2/head
sanguu516(박상현) 11 months ago
parent
commit
07f728ae0a
  1. 47
      src/containers/laanc/LaancPlanContainer.js
  2. 12
      src/modules/laanc/models/laancModels.ts
  3. 10
      src/views/laanc/LaancStep1.js

47
src/containers/laanc/LaancPlanContainer.js

@ -79,11 +79,52 @@ export default function LaancPlanContainer({
}); });
break; break;
case 'area': case 'area':
if (
name === 'fltElev' &&
parseInt(value.replace('/^0+/', 'm', ''), 10) > 150
) {
setModal2({
isOpen: true,
title: '고도 재설정 알림',
desc: (
<>
설정하신 고도가 150m를 초과하였습니다.
<br />
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 'pilot':
case 'arcrft': case 'arcrft':
if (name === 'fltElev' || name === 'bufferZone' || name === 'hpno') { if (name === 'bufferZone') {
const newValue = value.replace(/^0+/, '').replace(/\D/g, '');
setDetailData(prevState => { setDetailData(prevState => {
const arr = [...prevState[arrName]]; const arr = [...prevState[arrName]];
const updateData = { const updateData = {

12
src/modules/laanc/models/laancModels.ts

@ -86,7 +86,7 @@ export const LaancFlightData = {
areaType: '', areaType: '',
fltMethod: '', fltMethod: '',
bufferZone: 0, bufferZone: 0,
fltElev: '', fltElev: 0,
createUserId: '', createUserId: '',
createDt: '', createDt: '',
updateUserId: '', updateUserId: '',
@ -128,7 +128,7 @@ export const LaancFlightData = {
areaType: '', areaType: '',
fltMethod: '', fltMethod: '',
bufferZone: 0, bufferZone: 0,
fltElev: '', fltElev: 0,
createUserId: '', createUserId: '',
createDt: '', createDt: '',
updateUserId: '', updateUserId: '',
@ -276,7 +276,7 @@ export interface FlightPlanAreaData {
areaType: string; areaType: string;
fltMethod: string; fltMethod: string;
bufferZone: number; bufferZone: number;
fltElev: string; fltElev: number;
createUserId?: string; createUserId?: string;
createDt?: string; createDt?: string;
updateUserId?: string; updateUserId?: string;
@ -388,7 +388,7 @@ export const laancControlData = {
areaType: '', areaType: '',
fltMethod: '', fltMethod: '',
bufferZone: 0, bufferZone: 0,
fltElev: '', fltElev: 0,
createUserId: '', createUserId: '',
createDt: '', createDt: '',
updateUserId: '', updateUserId: '',
@ -496,7 +496,7 @@ export const initFlightBas = {
areaType: '', areaType: '',
fltMethod: '', fltMethod: '',
bufferZone: 0, bufferZone: 0,
fltElev: '', fltElev: 0,
createUserId: '', createUserId: '',
createDt: '', createDt: '',
updateUserId: '', updateUserId: '',
@ -539,7 +539,7 @@ export const initFlightBas = {
areaType: '', areaType: '',
fltMethod: '', fltMethod: '',
bufferZone: 0, bufferZone: 0,
fltElev: '0', fltElev: 0,
createUserId: '', createUserId: '',
createDt: '', createDt: '',
updateUserId: '', updateUserId: '',

10
src/views/laanc/LaancStep1.js

@ -284,7 +284,10 @@ export default function LaancStep1({
handleChange({ handleChange({
type: 'area', type: 'area',
name, name,
value value: value
.replace(/^0+/, '') // 맨 앞의 0 제거
.replace(/\D/g, '') // 숫자가 아닌 문자 제거
.replace('m') // "m"을 맨 뒤에 붙임
}); });
}} }}
innerRef={fltElevRef} // Input 요소에 ref를 연결 innerRef={fltElevRef} // Input 요소에 ref를 연결
@ -310,7 +313,10 @@ export default function LaancStep1({
handleChange({ handleChange({
type: 'area', type: 'area',
name, name,
value value: value
.replace(/^0+/, '') // 맨 앞의 0 제거
.replace(/\D/g, '') // 숫자가 아닌 문자 제거
.replace('m') // "m"을 맨 뒤에 붙임
}); });
}} }}
innerRef={bufferZoneRef} // Input 요소에 ref를 연결 innerRef={bufferZoneRef} // Input 요소에 ref를 연결

Loading…
Cancel
Save