From a751b15dcd86efaf5ae2bf2b6fe1348b34f9438c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?scnoh=28=EB=85=B8=EC=8A=B9=EC=B2=A0=29?= Date: Tue, 9 Aug 2022 14:38:04 +0900 Subject: [PATCH] =?UTF-8?q?[=EB=B9=84=ED=96=89=EA=B3=84=ED=9A=8D=EC=84=9C]?= =?UTF-8?q?=20=EB=B9=84=ED=96=89=20=EA=B5=AC=EC=97=AD=20=EC=9A=B0=ED=9A=8C?= =?UTF-8?q?=20=EC=95=8C=EB=A6=BC=20=EA=B8=B0=EB=8A=A5=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../plan/FlightPlanAreaDetailContainer.js | 25 +++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/src/containers/basis/flight/plan/FlightPlanAreaDetailContainer.js b/src/containers/basis/flight/plan/FlightPlanAreaDetailContainer.js index d6df9b71..aaf35c5d 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} /> + )