Browse Source

드론관제 thunk type 수정

master
박상현 7 months ago
parent
commit
997e596921
  1. 6
      src/redux/features/control/gp/gpSlice.ts
  2. 65
      src/redux/features/control/gp/gpThunk.ts
  3. 2
      src/views/control/report/ControlReportDetail.js

6
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;

65
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(

2
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]);

Loading…
Cancel
Save