|
|
|
@ -4,6 +4,8 @@ import { Col, Row, Form } from 'reactstrap';
|
|
|
|
|
import * as Actions from '../../../../modules/basis/flight/actions/basisFlightAction'; |
|
|
|
|
import FlightPlanAreaDetailForm from '../../../../components/basis/flight/plan/FlightPlanAreaDetailForm'; |
|
|
|
|
import {initFlightBas} from '../../../../modules/basis/flight/models/basisFlightModel'; |
|
|
|
|
import { InfoModal } from '../../../../components/modal/InfoModal'; |
|
|
|
|
import axios from '../../../../modules/utils/customAxiosUtil'; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const FlightPlanAreaDetailContainer = ({ handleModal }) => { |
|
|
|
@ -12,12 +14,17 @@ const FlightPlanAreaDetailContainer = ({ handleModal }) => {
|
|
|
|
|
|
|
|
|
|
const { areaCoordList, detail } = useSelector(state => state.flightState); |
|
|
|
|
const [areaDetail, setAreaDetail] = useState(initFlightBas.initDetail.areaList); |
|
|
|
|
const [alertModal, setAlertModal] = useState({ |
|
|
|
|
isOpen: false, |
|
|
|
|
title: '', |
|
|
|
|
desc: '' |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
const handleClose = (status) => { |
|
|
|
|
handleModal({ type: 'area', isOpne: false}); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
const handleSave = () => { |
|
|
|
|
const handleSave = async () => { |
|
|
|
|
const resultAreaDetail = areaDetail.map((area, i) => { |
|
|
|
|
return { |
|
|
|
|
...area, |
|
|
|
@ -25,8 +32,21 @@ const FlightPlanAreaDetailContainer = ({ handleModal }) => {
|
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
dispatch(Actions.AREA_DETAIL_LIST_SAVE(resultAreaDetail)); |
|
|
|
|
const { data } = await axios.post( |
|
|
|
|
`api/bas/flight/airspace/contains`, resultAreaDetail |
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
if(data.result) { |
|
|
|
|
setAlertModal({ |
|
|
|
|
isOpen: true, |
|
|
|
|
title: '우회 여부 확인', |
|
|
|
|
desc: '경로상에 비행 금지된 구역이 있습니다.\n우회하여 경로 설정해주시기 바랍니다.' |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
dispatch(Actions.AREA_DETAIL_LIST_SAVE(resultAreaDetail)); |
|
|
|
|
handleModal({ type: 'area', isOpne: false}); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -80,6 +100,7 @@ const FlightPlanAreaDetailContainer = ({ handleModal }) => {
|
|
|
|
|
mapControl={mapControl} |
|
|
|
|
/> |
|
|
|
|
</Col> |
|
|
|
|
<InfoModal modal={alertModal} setModal={setAlertModal} /> |
|
|
|
|
</Row> |
|
|
|
|
|
|
|
|
|
) |
|
|
|
|