김지은 12 months ago
parent
commit
d12cab5d11
  1. 29
      src/containers/laanc/LaancPlanContainer.js
  2. 4
      src/views/laanc/FlightArea.js
  3. 4
      src/views/laanc/LaancAreaMap.js
  4. 25
      src/views/laanc/LaancStep1.js

29
src/containers/laanc/LaancPlanContainer.js

@ -23,14 +23,19 @@ import {
Label,
Input
} from 'reactstrap';
import { AREA_DETAIL_INIT } from '../../modules/basis/flight/actions/basisFlightAction';
import { useDispatch } from 'react-redux';
import {
AREA_DETAIL_INIT,
FLIGHT_PLAN_AREA_BUFFER_LIST
} from '../../modules/basis/flight/actions/basisFlightAction';
import { useDispatch, useSelector } from 'react-redux';
export default function LaancPlanContainer({
currentParm,
disabledAnimation,
setDisabledAnimation
}) {
const { areaCoordList } = useSelector(state => state.flightState);
const dispatch = useDispatch();
const [step, setStep] = useState(1);
const [detailData, setDetailData] = useState(initFlightBas.initDetail);
@ -217,6 +222,25 @@ export default function LaancPlanContainer({
}
};
const handlerBufferApply = () => {
if (areaCoordList) {
if (areaCoordList[0].coordList.length > 0) {
const array = [];
const copy = { ...areaCoordList[0] };
copy.bufferZone = detailData.areaList[0].bufferZone;
array.push(copy);
dispatch(FLIGHT_PLAN_AREA_BUFFER_LIST.request(array));
}
} else {
setModal2({
isOpen: true,
title: '필수값 입력 오류',
desc: '비행 구역을 설정해 주세요.'
});
}
};
const handlerLaancClose = () => {
setDisabledAnimation(!disabledAnimation);
dispatch(AREA_DETAIL_INIT());
@ -246,6 +270,7 @@ export default function LaancPlanContainer({
setCenteredModal={setCenteredModal}
currentParm={currentParm}
handlerLaancClose={handlerLaancClose}
handlerBufferApply={handlerBufferApply}
/>
</>
)}

4
src/views/laanc/FlightArea.js

@ -333,9 +333,9 @@ export default function FlightArea({ centeredModal, setCenteredModal, page }) {
ref={mapContainer}
style={{ width: '100%', height: '35vh' }}
></div>
{/* {isMapLoad && mapObject ? (
{isMapLoad && mapObject ? (
<FeatureAirZone map={mapObject} mapboxgl={mapboxgl} />
) : null} */}
) : null}
</div>
{page === 1 ? (
<Modal

4
src/views/laanc/LaancAreaMap.js

@ -38,6 +38,7 @@ import {
import flatGimpo from '../../components/map/geojson/flatGimpoAirportAirArea.json';
import gimpo from '../../components/map/geojson/gimpoAirportAirArea.json';
import geoJson from '../../components/map/geojson/airArea.json';
import { FeatureAirZone } from '../../components/map/mapbox/feature/FeatureAirZone';
export default function LaancAreaMap({ centeredModal, mapContainer }) {
const dispatch = useDispatch();
@ -420,6 +421,9 @@ export default function LaancAreaMap({ centeredModal, mapContainer }) {
</div>
</div>
</div>
{isMapLoad && mapObject ? (
<FeatureAirZone map={mapObject} mapboxgl={mapboxgl} />
) : null}
</div>
</CardBody>
</Card>

25
src/views/laanc/LaancStep1.js

@ -29,18 +29,7 @@ import {
Input
} from 'reactstrap';
import {
initFlight,
initFlightBas
} from '../../modules/basis/flight/models/basisFlightModel';
import {
areaClickAction,
environmentClickAction,
mapTypeChangeAction,
sensorClickAction
} from '../../modules/control/map/actions/controlMapActions';
import FlightArea from './FlightArea';
import { AREA_DETAIL_INIT } from '../../modules/basis/flight/actions/basisFlightAction';
export default function LaancStep1({
handleChange,
@ -52,13 +41,12 @@ export default function LaancStep1({
centeredModal,
setCenteredModal,
currentParm,
handlerLaancClose
handlerLaancClose,
handlerBufferApply
}) {
const { user } = useSelector(state => state.authState);
const { areaCoordList } = useSelector(state => state.flightState);
const history = useHistory();
const dispatch = useDispatch();
const location = useLocation();
const queryParams = new URLSearchParams(location.search);
@ -69,10 +57,6 @@ export default function LaancStep1({
if (!currentParm) setCenteredModal(mapParam);
}, [location]);
useEffect(() => {
console.log(areaCoordList, '저장상태');
}, [areaCoordList]);
// console.log('>', data);
return (
<>
@ -234,7 +218,10 @@ export default function LaancStep1({
</Col>
<Col className='list-input' md='12'>
<div className='ti'>
비행 구역 정보<Button size='sm'>적용</Button>
비행 구역 정보
<Button size='sm' onClick={handlerBufferApply}>
적용
</Button>
</div>
<Row>
<Col className='list-input' md='6'>

Loading…
Cancel
Save