From 997e59692111e331efcdd5f176a0c08b6a7471b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EB=B0=95=EC=83=81=ED=98=84?= Date: Thu, 22 Feb 2024 13:51:31 +0900 Subject: [PATCH] =?UTF-8?q?=EB=93=9C=EB=A1=A0=EA=B4=80=EC=A0=9C=20thunk=20?= =?UTF-8?q?type=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/redux/features/control/gp/gpSlice.ts | 6 -- src/redux/features/control/gp/gpThunk.ts | 65 ++++++++++--------- .../control/report/ControlReportDetail.js | 2 +- 3 files changed, 34 insertions(+), 39 deletions(-) diff --git a/src/redux/features/control/gp/gpSlice.ts b/src/redux/features/control/gp/gpSlice.ts index 04ae4cd0..bd8268bf 100644 --- a/src/redux/features/control/gp/gpSlice.ts +++ b/src/redux/features/control/gp/gpSlice.ts @@ -1,11 +1,8 @@ -import dayjs from 'dayjs'; import { createSlice } from '@reduxjs/toolkit'; import { ControlGpFlightPlanState, IControlGpPlanContainsRS, - IControlGpRq, IControlGpState, - IControlGroupAuthData, IControlGpFlightPlanDataListRs, ControlGpLogState, ControlGpWarnLogList, @@ -24,9 +21,7 @@ import { getWeather, checkPlanContains, getArcrftWarn, - getDetail, getFlightPlan, - getGroupAuth, getControlGp, controlDt } from './gpThunk'; @@ -216,5 +211,4 @@ export const controlGpHisReducer = controlGpHisSlice.reducer; export const controlGpDtlReducer = controlGpDtlSlice.reducer; export const controlGpFltPlanReducer = controlGpFlightPlanSlice.reducer; export const controlGpCountReducer = controlGpCountSlice.reducer; - export const controlGpReducer = controlGpSlice.reducer; diff --git a/src/redux/features/control/gp/gpThunk.ts b/src/redux/features/control/gp/gpThunk.ts index ae0da943..312648c9 100644 --- a/src/redux/features/control/gp/gpThunk.ts +++ b/src/redux/features/control/gp/gpThunk.ts @@ -4,7 +4,14 @@ import { IControlweatherRq, IControlGpArcrftWarnRq, IControlGroupAuthData, - IControlGpRq + IControlGpRq, + IControlweatherRs, + IControlDetailRs, + ControlGpHisState, + ControlGpWarnLogList, + IControlGpFlightPlanDataListRs, + IControlGpPlanContainsRS, + IControlGpArcrftWarnListRs } from './gpState'; import { createAsyncThunk } from '@reduxjs/toolkit'; import { openModal } from '../../comn/message/messageSlice'; @@ -27,7 +34,7 @@ export const getControlGp = createAsyncThunk( try { const state = getState() as RootState; - const { objectId, isClickObject } = state.mapState; + const { objectId } = state.mapState; // 그룹 별 기체 필터링 @@ -53,14 +60,13 @@ export const getControlGp = createAsyncThunk( cntrlId: param }; - await dispatch(getArcrftWarnList(obj)); + await dispatch(getArcrftWarn(obj)); } if (objectId) { let detailData; //상세 정보에서 실시간 데이터 호출 - //* data.map(item => { if (item.controlId === objectId) { detailData = item; @@ -111,8 +117,8 @@ export const controlDt = createAsyncThunk( const data = await dispatch(getDetail(controlId)); const resData = { - ...res.payload, - ...data.payload + ...(res.payload as IControlweatherRs), + ...(data.payload as IControlDetailRs) }; return { ...resData @@ -135,7 +141,9 @@ export const getHistory = createAsyncThunk( if (!id) { return null; } - const { data } = await axios.get(`api/ctr/cntrl/history/list/${id}`); + const { data }: { data: ControlGpHisState } = await axios.get( + `api/ctr/cntrl/history/list/${id}` + ); return data; } catch (error) { thunkAPI.dispatch( @@ -155,7 +163,9 @@ export const getWarnLog = createAsyncThunk( if (!id) { return null; } - const { data } = await axios.get(`api/ctr/cntrl/warn/detail/${id}`); + const { data }: { data: ControlGpWarnLogList } = await axios.get( + `api/ctr/cntrl/warn/detail/${id}` + ); return data; } catch (error) { thunkAPI.dispatch( @@ -172,7 +182,9 @@ export const getDetail = createAsyncThunk( 'control/gp/getDetail', async (id: string, thunkAPI) => { try { - const { data } = await axios.get(`api/ctr/cntrl/detail/${id}`); + const { data }: { data: IControlDetailRs } = await axios.get( + `api/ctr/cntrl/detail/${id}` + ); return data; } catch (error) { thunkAPI.dispatch( @@ -192,7 +204,9 @@ export const getGroupAuth = createAsyncThunk( if (!id) { return null; } - const { data } = await axios.get(`api/ctr/cntrl/group?cstmrSno=${id}`); + const { data }: { data: IControlGroupAuthData } = await axios.get( + `api/ctr/cntrl/group?cstmrSno=${id}` + ); return data; } catch (error) { thunkAPI.dispatch( @@ -212,7 +226,8 @@ export const getFlightPlan = createAsyncThunk( if (!idntfNum) { return null; } - const { data } = await axios.get(`api/ctr/cntrl/flight_plan/${idntfNum}`); + const { data }: { data: IControlGpFlightPlanDataListRs } = + await axios.get(`api/ctr/cntrl/flight_plan/${idntfNum}`); return data; } catch (error) { thunkAPI.dispatch( @@ -253,7 +268,10 @@ export const checkPlanContains = createAsyncThunk( if (!rq.idntfNum) { return null; } - const { data } = await axios.post(`api/ctr/cntrl/contains`, rq); + const { data }: { data: IControlGpPlanContainsRS } = await axios.post( + `api/ctr/cntrl/contains`, + rq + ); return data; } catch (error) { thunkAPI.dispatch( @@ -273,27 +291,10 @@ export const getArcrftWarn = createAsyncThunk( if (!rq.cntrlId) { return null; } - const { data } = await axios.post(`api/ctr/cntrl/arcrft/warn/list`, rq); - return data; - } catch (error) { - thunkAPI.dispatch( - openModal({ - header: MODAL_HEADER.error, - body: MODAL_BODY.error - }) + const { data }: { data: IControlGpArcrftWarnListRs } = await axios.post( + `api/ctr/cntrl/arcrft/warn/list`, + rq ); - } - } -); - -export const getArcrftWarnList = createAsyncThunk( - 'control/gp/getArcrftWarnList', - async (rq: IControlGpArcrftWarnRq, thunkAPI) => { - try { - if (!rq.cntrlId) return null; - - const { data } = await axios.post(`api/ctr/cntrl/arcrft/warn/list`, rq); - return data; } catch (error) { thunkAPI.dispatch( diff --git a/src/views/control/report/ControlReportDetail.js b/src/views/control/report/ControlReportDetail.js index fbf9ba37..6b4091a0 100644 --- a/src/views/control/report/ControlReportDetail.js +++ b/src/views/control/report/ControlReportDetail.js @@ -39,7 +39,7 @@ const ControlReportDetail = props => { useEffect(() => { if (historyModal) { if (controlGpDetail) { - dispatch(getWarnLog({ id: controlGpDetail.controlId })); + dispatch(getWarnLog(controlGpDetail.controlId)); } } }, [historyModal]);