From 1253945bc02be07583faa2e2c32e4dc0e5fe1b68 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EB=B0=95=EC=83=81=ED=98=84?= Date: Mon, 6 Nov 2023 14:01:26 +0900 Subject: [PATCH] =?UTF-8?q?laanc=20=EA=B3=A0=EB=8F=84=20=EC=9D=BC=EB=8C=80?= =?UTF-8?q?=EC=9D=BC=20->=20=EC=9D=BC=EB=8C=80=EB=8B=A4=20=EB=B3=80?= =?UTF-8?q?=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/laanc/list/LaancGrid.js | 5 +++-- src/components/laanc/map/FlightArea.js | 8 -------- src/components/laanc/step/LaancStep1.js | 4 ++-- src/containers/laanc/LaancPlanContainer.js | 10 +++++----- src/modules/laanc/actions/laancActions.ts | 4 ++-- src/modules/laanc/models/laancModels.ts | 2 +- src/modules/laanc/reducers/laancReducers.ts | 8 +++++++- 7 files changed, 20 insertions(+), 21 deletions(-) diff --git a/src/components/laanc/list/LaancGrid.js b/src/components/laanc/list/LaancGrid.js index 7d45013e..3f2b41db 100644 --- a/src/components/laanc/list/LaancGrid.js +++ b/src/components/laanc/list/LaancGrid.js @@ -21,9 +21,10 @@ export default function LaancGrid() { const [isAnimation, setIsAnimation] = useState(false); - const { laancSearchData } = useSelector(state => state.laancState); + const { laancSearchData, laancDetail } = useSelector( + state => state.laancState + ); const { loading } = useSelector(state => state.loadingReducer); - const { laancDetail } = useSelector(state => state.laancState); useEffect(() => { if (laancDetail) { diff --git a/src/components/laanc/map/FlightArea.js b/src/components/laanc/map/FlightArea.js index 3476d2d9..b42e6e50 100644 --- a/src/components/laanc/map/FlightArea.js +++ b/src/components/laanc/map/FlightArea.js @@ -101,14 +101,6 @@ export default function FlightArea({ } }, [areaCoordList, centeredModal, previewLayer]); - // useEffect(() => { - // console.log(saveElev, '---elev'); - // }, [saveElev]); - - // useEffect(() => { - // console.log(laancElev, '---laancelev'); - // }, [laancElev]); - const handlerCreateAirSpace = ( map, useGeoJson = { diff --git a/src/components/laanc/step/LaancStep1.js b/src/components/laanc/step/LaancStep1.js index 200c3100..b0b57fe2 100644 --- a/src/components/laanc/step/LaancStep1.js +++ b/src/components/laanc/step/LaancStep1.js @@ -163,7 +163,7 @@ export default function LaancStep1({ // 관제권안에서 허용고도 초과시 경고문 const controlledAltitudeExceededWarning = laancArea?.duplicated && - parseInt(value.replace('/^0+/', 'm', ''), 10) >= laancElev && + parseInt(value.replace('/^0+/', 'm', ''), 10) >= laancElev[0] && parseInt(value.replace('/^0+/', 'm', ''), 10) < maxElev; switch (type) { @@ -215,7 +215,7 @@ export default function LaancStep1({ <> 유효성 검사에 실패하여 미 승인 대상입니다.
- 제출하신 비행계획서의 고도는 {laancElev}m이하에서만 비행이 + 제출하신 비행계획서의 고도는 {laancElev[0]}m이하에서만 비행이 가능합니다.
고도 설정을 다시 확인해주시기 바랍니다. diff --git a/src/containers/laanc/LaancPlanContainer.js b/src/containers/laanc/LaancPlanContainer.js index 87df25a7..96238ea6 100644 --- a/src/containers/laanc/LaancPlanContainer.js +++ b/src/containers/laanc/LaancPlanContainer.js @@ -67,7 +67,7 @@ export default function LaancPlanContainer({ parseInt( detailData.areaList[0].fltElev.replace('/^0+/', 'm', ''), 10 - ) >= laancElev && + ) >= laancElev[0] && parseInt(detailData.areaList[0].fltElev.replace('/^0+/', 'm', ''), 10) < maxElev; @@ -79,7 +79,7 @@ export default function LaancPlanContainer({ <> 유효성 검사에 실패하여 미 승인 대상입니다.
- 제출하신 비행계획서의 고도는 {laancElev}m이하에서만 비행이 + 제출하신 비행계획서의 고도는 {laancElev[0]}m이하에서만 비행이 가능합니다.
고도 설정을 다시 확인해주시기 바랍니다. @@ -93,7 +93,7 @@ export default function LaancPlanContainer({ }); } } - }, [laancElev]); + }, [[laancElev]]); //비행 방식 직접 입력칸 작성 시 api 호출 부분 useEffect(() => { @@ -104,7 +104,7 @@ export default function LaancPlanContainer({ // laanc 승인 api 200 시 step 이동 const handlerLaanc = async () => { - if (laancArea && laancElev) { + if (laancArea && laancElev[0]) { // laanc 필요 없이 날 수 있음 const laancNotRequired = !laancArea.duplicated && @@ -147,7 +147,7 @@ export default function LaancPlanContainer({ url: 'https://drone.onestop.go.kr/introduce/systemintro3 ' }); } else if ( - parseInt(detailData.areaList[0].fltElev) <= laancElev && + parseInt(detailData.areaList[0].fltElev) <= laancElev[0] && parseInt(detailData.areaList[0].fltElev) < maxElev ) { try { diff --git a/src/modules/laanc/actions/laancActions.ts b/src/modules/laanc/actions/laancActions.ts index 055e9e67..81c729ac 100644 --- a/src/modules/laanc/actions/laancActions.ts +++ b/src/modules/laanc/actions/laancActions.ts @@ -121,14 +121,14 @@ export const LAANC_ALTITUDE = createAsyncAction( LAANC_ALTITUDE_REQUEST, LAANC_ALTITUDE_SUCCESS, LAANC_ALTITUDE_FAILURE -)(); +)(); //비행 관제 구역 체크 export const LAANC_VALID_AREA = createAsyncAction( LAANC_VALID_AREA_REQUEST, LAANC_VALID_AREA_SUCCESS, LAANC_VALID_AREA_FAILURE -)(); +)(); //laanc TS 연동 export const LAANC_VALID_TS = createAsyncAction( diff --git a/src/modules/laanc/models/laancModels.ts b/src/modules/laanc/models/laancModels.ts index 616007dc..5c0b28b6 100644 --- a/src/modules/laanc/models/laancModels.ts +++ b/src/modules/laanc/models/laancModels.ts @@ -7,7 +7,7 @@ export interface laancState { laancSun: LaancSunData[] | undefined; laancSearchData: LaancAprvData[] | undefined; laancDetail: LaancDetailData | undefined; - laancElev: VaildElevData | undefined; + laancElev: number[] | undefined; laancArea: VaildAreaData | undefined; laancTs: LaancTsData | undefined; } diff --git a/src/modules/laanc/reducers/laancReducers.ts b/src/modules/laanc/reducers/laancReducers.ts index 2eda6970..569fda9d 100644 --- a/src/modules/laanc/reducers/laancReducers.ts +++ b/src/modules/laanc/reducers/laancReducers.ts @@ -57,7 +57,13 @@ export const laancReducer = createReducer( .handleAction(Actions.LAANC_ALTITUDE.success, (state, action) => produce(state, draft => { const data = action.payload; - draft.laancElev = data[0]; + if (!draft.laancElev) { + draft.laancElev = []; + } + draft.laancElev.push(...data); + if (draft.laancElev.length > 0) { + draft.laancElev = [Math.min(...draft.laancElev)]; + } }) ) .handleAction(Actions.LAANC_VALID_AREA.success, (state, action) =>