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;
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 '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 = {

12
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: '',

10
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를 연결

Loading…
Cancel
Save