diff --git a/src/containers/basis/flight/plan/FlightPlanAreaDetailContainer.js b/src/containers/basis/flight/plan/FlightPlanAreaDetailContainer.js index d6df9b7..aaf35c5 100644 --- a/src/containers/basis/flight/plan/FlightPlanAreaDetailContainer.js +++ b/src/containers/basis/flight/plan/FlightPlanAreaDetailContainer.js @@ -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} /> + )