Browse Source

관제 - 알림내역 리스트

pull/2/head
junh_eee(이준희) 2 years ago
parent
commit
2b4f6799ba
  1. 6
      src/components/map/naver/dron/DronMarker.js
  2. 20
      src/modules/control/gp/actions/controlGpAction.ts
  3. 21
      src/modules/control/gp/apis/controlGpApi.ts
  4. 20
      src/modules/control/gp/models/controlGpModel.ts
  5. 34
      src/modules/control/gp/reducers/controlGpReducer.ts
  6. 28
      src/modules/control/gp/sagas/controlGpSaga.ts
  7. 3
      src/redux/reducers/rootReducer.ts
  8. 39
      src/views/control/report/ControlReportDetail.js
  9. 9
      src/views/control/report/ControlReportList.js

6
src/components/map/naver/dron/DronMarker.js

@ -4,7 +4,7 @@ import { useDispatch, useSelector } from 'react-redux';
import '../../../../assets/css/custom.css'; import '../../../../assets/css/custom.css';
import DronIconPulple from '../../../../assets/images/drone-marker-icon-pulple.png'; import DronIconPulple from '../../../../assets/images/drone-marker-icon-pulple.png';
import DronIcon from '../../../../assets/images/drone-marker-icon.png'; import DronIcon from '../../../../assets/images/drone-marker-icon.png';
import { controlGpDtlAction, controlGpHisAction, controlDbHisAction, controlGpFlightPlanAction } from '../../../../modules/control/gp'; import { controlGpDtlAction, controlGpHisAction, controlDbHisAction, controlGpFlightPlanAction, controlGpLogAction } from '../../../../modules/control/gp';
import { objectClickAction, objectUnClickAction } from '../../../../modules/control/map/actions/controlMapActions'; import { objectClickAction, objectUnClickAction } from '../../../../modules/control/map/actions/controlMapActions';
import { toast } from 'react-toastify'; import { toast } from 'react-toastify';
import DronToast from './DronToast'; import DronToast from './DronToast';
@ -129,6 +129,10 @@ export const DronMarker = props => {
dispatch(objectClickAction(controlId)); dispatch(objectClickAction(controlId));
dispatch(controlGpDtlAction.request(controlId)); dispatch(controlGpDtlAction.request(controlId));
dispatch(controlGpFlightPlanAction.request(idntfNum)); dispatch(controlGpFlightPlanAction.request(idntfNum));
// dispatch(controlGpLogAction.request({ id: controlId }));
// dispatch(controlGpLogAction.request(controlId));
// dispatch(controlGpHisAction.request({ id: objectId }));
}; };
//마커를 삭제 한다. //마커를 삭제 한다.

20
src/modules/control/gp/actions/controlGpAction.ts

@ -4,13 +4,16 @@ import { ActionType, createAction, createAsyncAction } from 'typesafe-actions';
import { import {
ControlDetailData, ControlDetailData,
ControlGpData, ControlGpData,
ControlGpState,
ControlGpDtlState, ControlGpDtlState,
ControlGpFlightPlanDataList, ControlGpFlightPlanDataList,
ControlGpWarnLogData,
ControlGpLogState,
ControlGpHisState, ControlGpHisState,
ControlGpPlanContainsRQ, ControlGpPlanContainsRQ,
ControlGpPlanContainsRS, ControlGpPlanContainsRS,
ControlGpState, ControlGroupAuthState,
ControlGroupAuthState // ControlGpWarnLogDataList,
} from '../models/controlGpModel'; } from '../models/controlGpModel';
const CONTROL_GP_REQUEST = 'control/gp/CONTROL_GP_REQUEST'; const CONTROL_GP_REQUEST = 'control/gp/CONTROL_GP_REQUEST';
@ -39,6 +42,11 @@ const CONTROL_FLIGHT_PLAN_REQUEST = 'control/gp/flight/plan/CONTROL_FLIGHT_PLAN_
const CONTROL_FLIGHT_PLAN_SUCCESS = 'control/gp/flight/plan/CONTROL_FLIGHT_PLAN_SUCCESS'; const CONTROL_FLIGHT_PLAN_SUCCESS = 'control/gp/flight/plan/CONTROL_FLIGHT_PLAN_SUCCESS';
const CONTROL_FLIGHT_PLAN_FAILURE = 'control/gp/flight/plan/CONTROL_FLIGHT_PLAN_FAILURE'; const CONTROL_FLIGHT_PLAN_FAILURE = 'control/gp/flight/plan/CONTROL_FLIGHT_PLAN_FAILURE';
//로그 리스트 조회
const CONTROL_GP_LOG_REQIEST = 'control/gp/CONTROL_GP_LOG_REQUEST';
const CONTROL_GP_LOG_SUCCESS = 'control/gp/CONTROL_GP_LOG_SUCCESS';
const CONTROL_GP_LOG_FAILURE = 'control/gp/CONTROL_GP_LOG_FAILURE';
const CONTROL_FLIGHT_PLAN_INIT = 'control/gp/flight/plan/CONTROL_FLIGHT_PLAN_INIT'; const CONTROL_FLIGHT_PLAN_INIT = 'control/gp/flight/plan/CONTROL_FLIGHT_PLAN_INIT';
// [관제] 비행 구역 비정상 여부 체크 // [관제] 비행 구역 비정상 여부 체크
@ -58,6 +66,7 @@ export const controlGpHisAction = createAsyncAction(
CONTROL_GP_HIS_FAILURE CONTROL_GP_HIS_FAILURE
)<{ id: string }, ControlGpHisState, AxiosError>(); )<{ id: string }, ControlGpHisState, AxiosError>();
export const controlGpDtlAction = createAsyncAction( export const controlGpDtlAction = createAsyncAction(
CONTROL_GP_DTL_REQUEST, CONTROL_GP_DTL_REQUEST,
CONTROL_GP_DTL_SUCCESS, CONTROL_GP_DTL_SUCCESS,
@ -82,6 +91,12 @@ export const controlGpFlightPlanAction = createAsyncAction(
CONTROL_FLIGHT_PLAN_FAILURE, CONTROL_FLIGHT_PLAN_FAILURE,
)<string, ControlGpFlightPlanDataList, AxiosError>(); )<string, ControlGpFlightPlanDataList, AxiosError>();
export const controlGpLogAction = createAsyncAction(
CONTROL_GP_LOG_REQIEST,
CONTROL_GP_LOG_SUCCESS,
CONTROL_GP_LOG_FAILURE
)<{ id: string }, ControlGpLogState, AxiosError>();
export const controlGpFlightPlanWarnAction = createAsyncAction( export const controlGpFlightPlanWarnAction = createAsyncAction(
CONTROL_FLIGHT_PLAN_WARN_REQUEST, CONTROL_FLIGHT_PLAN_WARN_REQUEST,
CONTROL_FLIGHT_PLAN_WARN_SUCCESS, CONTROL_FLIGHT_PLAN_WARN_SUCCESS,
@ -93,6 +108,7 @@ export const controlGpFlightPlanInitAction = createAction(CONTROL_FLIGHT_PLAN_IN
const actions = { const actions = {
controlGpAction, controlGpAction,
controlGpHisAction, controlGpHisAction,
controlGpLogAction,
controlGpDtlAction, controlGpDtlAction,
controlGpRtDtlAction, controlGpRtDtlAction,
controlGroupAuthAction, controlGroupAuthAction,

21
src/modules/control/gp/apis/controlGpApi.ts

@ -1,5 +1,10 @@
import axios from '../../../utils/customAxiosUtil'; import axios from '../../../utils/customAxiosUtil';
import { ReponseControlGpHistory, ControlGroupAuthData, ResponseControlGroupAuth, ControlGpPlanContainsRQ} from '../models/controlGpModel'; import {
ResponseControlGpHistory,
ResponseControlGroupAuth,
ControlGpPlanContainsRQ,
ResponseControlGpWarnLog
} from '../models/controlGpModel';
import qs from 'qs'; import qs from 'qs';
export const controlGpApi = { export const controlGpApi = {
@ -8,12 +13,24 @@ export const controlGpApi = {
console.log(' ID is Empty'); console.log(' ID is Empty');
return null; return null;
} }
const { data }: ReponseControlGpHistory = await axios.get( const { data }: ResponseControlGpHistory = await axios.get(
`api/ctr/cntrl/history/list/${id}` `api/ctr/cntrl/history/list/${id}`
); );
return data; return data;
}, },
getWarnLog: async (id: string) => {
if (!id) {
console.log(' ID is Empty');
return null;
}
const { data }: ResponseControlGpWarnLog = await axios.get(
`api/ctr/cntrl/warnLog/${id}`
);
return data;
},
getDetail: async (id: string) => { getDetail: async (id: string) => {
return await axios.get(`api/ctr/cntrl/detail/${id}`); return await axios.get(`api/ctr/cntrl/detail/${id}`);
}, },

20
src/modules/control/gp/models/controlGpModel.ts

@ -9,6 +9,10 @@ export interface ControlGpFlightPlanState {
controlGpContains: ControlGpPlanContainsRS | undefined; controlGpContains: ControlGpPlanContainsRS | undefined;
} }
export interface ControlGpLogState {
controlGpWarnLog: ControlGpWarnLogData[] | undefined;
}
export interface ControlGpHisState { export interface ControlGpHisState {
controlGpHistory: ControlGpHistoryData[] | undefined; controlGpHistory: ControlGpHistoryData[] | undefined;
} }
@ -16,7 +20,6 @@ export interface ControlGpHisState {
export interface ControlGpDtlState { export interface ControlGpDtlState {
controlGpDetail: ControlGpDtlData | undefined; controlGpDetail: ControlGpDtlData | undefined;
controlDetail: ControlDetailData | undefined; controlDetail: ControlDetailData | undefined;
} }
export interface ControlGroupAuthState { export interface ControlGroupAuthState {
@ -104,7 +107,6 @@ export interface ControlGroupAuthData {
} }
export interface ControlGpFlightPlanDataList extends Array<ControlGpFlightPlanData> {}; export interface ControlGpFlightPlanDataList extends Array<ControlGpFlightPlanData> {};
export interface ControlGpFlightPlanData { export interface ControlGpFlightPlanData {
planSno?: number, planSno?: number,
groupId: string, groupId: string,
@ -128,6 +130,12 @@ export interface ControlGpFlightPlanData {
areaList?: FlightPlanAreaDataList | undefined areaList?: FlightPlanAreaDataList | undefined
} }
export interface ControlGpWarnLogData {
warnLogSno: number;
cntrlId: String;
createDt: String;
}
export interface FlightPlanAreaDataList extends Array<FlightPlanAreaData> {}; export interface FlightPlanAreaDataList extends Array<FlightPlanAreaData> {};
export interface FlightPlanAreaData { export interface FlightPlanAreaData {
@ -169,10 +177,14 @@ export interface ControlGpPlanContainsRS {
idntfNum: string, idntfNum: string,
} }
export interface ReponseControlGpHistory { export interface ResponseControlGpHistory {
data: ControlGpHistoryData[]; data: ControlGpHistoryData[];
} }
export interface ResponseControlGpWarnLog {
data: ControlGpWarnLogData[];
}
export interface ResponseControlGroupAuth { export interface ResponseControlGroupAuth {
data: ControlGroupAuthData[]; data: ControlGroupAuthData[];
} }
@ -181,8 +193,10 @@ export const initiaResponseControlGpData = {
controlGpList: undefined, controlGpList: undefined,
controlGpDetail: undefined, controlGpDetail: undefined,
controlGpHistory: undefined, controlGpHistory: undefined,
controlGpWarnLog: undefined,
controlDetail: undefined, controlDetail: undefined,
controlGroupAuthInfo: undefined, controlGroupAuthInfo: undefined,
controlGpFltPlanList: undefined, controlGpFltPlanList: undefined,
controlGpWarnLogList: undefined,
controlGpContains: undefined controlGpContains: undefined
}; };

34
src/modules/control/gp/reducers/controlGpReducer.ts

@ -7,18 +7,21 @@ import {
controlGpFlightPlanAction, controlGpFlightPlanAction,
controlGpFlightPlanInitAction, controlGpFlightPlanInitAction,
controlGpFlightPlanWarnAction, controlGpFlightPlanWarnAction,
controlGpLogAction,
controlGpHisAction, controlGpHisAction,
controlGpRtDtlAction, controlGpRtDtlAction,
controlGroupAuthAction controlGroupAuthAction,
} from '../actions/controlGpAction'; } from '../actions/controlGpAction';
import { import {
ControlGpWarnLogData,
ControlDetailData, ControlDetailData,
ControlGpDtlState, ControlGpDtlState,
ControlGpFlightPlanState, ControlGpFlightPlanState,
ControlGpLogState,
ControlGpHisState, ControlGpHisState,
ControlGpState, ControlGpState,
ControlGroupAuthState, ControlGroupAuthState,
initiaResponseControlGpData initiaResponseControlGpData,
} from '../models/controlGpModel'; } from '../models/controlGpModel';
export const controlGpReducer = createReducer<ControlGpState, ControlGpAction>( export const controlGpReducer = createReducer<ControlGpState, ControlGpAction>(
@ -28,7 +31,7 @@ export const controlGpReducer = createReducer<ControlGpState, ControlGpAction>(
const { controlGpList } = action.payload; const { controlGpList } = action.payload;
draft.controlGpList = controlGpList; draft.controlGpList = controlGpList;
}) })
) );
export const controlGpFltPlanReducer = createReducer<ControlGpFlightPlanState, ControlGpAction>( export const controlGpFltPlanReducer = createReducer<ControlGpFlightPlanState, ControlGpAction>(
initiaResponseControlGpData initiaResponseControlGpData
@ -50,24 +53,27 @@ export const controlGpFltPlanReducer = createReducer<ControlGpFlightPlanState, C
}) })
); );
export const controlGpLogReducer = createReducer<ControlGpLogState, ControlGpAction>(
initiaResponseControlGpData
).handleAction(controlGpLogAction.success, (state, action) =>
produce(state, draft => {
const { controlGpWarnLog } = action.payload;
draft.controlGpWarnLog = controlGpWarnLog;
})
);
export const controlGpHisReducer = createReducer< export const controlGpHisReducer = createReducer<ControlGpHisState, ControlGpAction>(
ControlGpHisState, initiaResponseControlGpData
ControlGpAction ).handleAction(controlGpHisAction.success, (state, action) =>
>(initiaResponseControlGpData).handleAction(
controlGpHisAction.success,
(state, action) =>
produce(state, draft => { produce(state, draft => {
const { controlGpHistory } = action.payload; const { controlGpHistory } = action.payload;
draft.controlGpHistory = controlGpHistory; draft.controlGpHistory = controlGpHistory;
}) })
); );
export const controlGpDtlReducer = createReducer< export const controlGpDtlReducer = createReducer<ControlGpDtlState, ControlGpAction>(
ControlGpDtlState, initiaResponseControlGpData
ControlGpAction ).handleAction(controlGpRtDtlAction.success, (state, action) =>
>(initiaResponseControlGpData)
.handleAction(controlGpRtDtlAction.success, (state, action) =>
produce(state, draft => { produce(state, draft => {
const { controlGpDetail } = action.payload; const { controlGpDetail } = action.payload;

28
src/modules/control/gp/sagas/controlGpSaga.ts

@ -35,20 +35,19 @@ function* getControlGpSaga(
}); });
} }
console.log('gps ', gpsData); console.log('gps>>>> ', data);
yield put( yield put(
Actions.controlGpAction.success({ Actions.controlGpAction.success({
controlGpList: gpsData controlGpList: data
}) })
); );
if (objectId && isClickObject) { if (objectId && isClickObject) {
let detailData; let detailData;
//상세 정보에서 실시간 데이터 호출 //상세 정보에서 실시간 데이터 호출
gpsData.map(item => { data.map(item => {
if (item.controlId === objectId) { if (item.controlId === objectId) {
detailData = item; detailData = item;
} }
@ -98,7 +97,6 @@ function* controlGpRtDtlSaga(
try { try {
const controlGpDetail = action.payload; const controlGpDetail = action.payload;
// console.log(controlGpDetail);
yield put( yield put(
Actions.controlGpRtDtlAction.success({ Actions.controlGpRtDtlAction.success({
controlDetail: undefined, controlDetail: undefined,
@ -117,7 +115,6 @@ function* controlDtlSaga(
const controlId = action.payload; const controlId = action.payload;
const { data } = yield call(controlGpApi.getDetail, controlId); const { data } = yield call(controlGpApi.getDetail, controlId);
console.log('data>>>>>>>>>>>>>>>>>>>>>', data);
yield put(Actions.controlGpDtlAction.success(data)); yield put(Actions.controlGpDtlAction.success(data));
} catch (error) { } catch (error) {
yield put(Actions.controlGpDtlAction.failure(error)); yield put(Actions.controlGpDtlAction.failure(error));
@ -161,6 +158,23 @@ function* controlGpFlightPlanSaga(
} }
} }
function* getControlGpWarnLogSaga(
action: ActionType<typeof Actions.controlGpLogAction.request>
) {
try{
const {id} = action.payload;
const data = yield call(controlGpApi.getWarnLog, id)
console.log('SAGA : Warn Log list : ', data);
yield put(
Actions.controlGpLogAction.success({
controlGpWarnLog: data
})
);
} catch(error) {
yield put(Actions.controlGpLogAction.failure(error));
}
}
function* controlGpFlightPlanWarnSaga( function* controlGpFlightPlanWarnSaga(
action: ActionType<typeof Actions.controlGpFlightPlanWarnAction.request> action: ActionType<typeof Actions.controlGpFlightPlanWarnAction.request>
) { ) {
@ -176,9 +190,11 @@ function* controlGpFlightPlanWarnSaga(
} }
} }
export function* controlGpSaga() { export function* controlGpSaga() {
yield takeEvery(Actions.controlGpAction.request, getControlGpSaga); yield takeEvery(Actions.controlGpAction.request, getControlGpSaga);
yield takeEvery(Actions.controlGpHisAction.request, getControlGpHistorySaga); yield takeEvery(Actions.controlGpHisAction.request, getControlGpHistorySaga);
yield takeEvery(Actions.controlGpLogAction.request, getControlGpWarnLogSaga);
yield takeEvery(Actions.controlGpRtDtlAction.request, controlGpRtDtlSaga); yield takeEvery(Actions.controlGpRtDtlAction.request, controlGpRtDtlSaga);
yield takeEvery(Actions.controlGpDtlAction.request, controlDtlSaga); yield takeEvery(Actions.controlGpDtlAction.request, controlDtlSaga);
yield takeEvery(Actions.controlGroupAuthAction.request, controlGroupAuthSaga); yield takeEvery(Actions.controlGroupAuthAction.request, controlGroupAuthSaga);

3
src/redux/reducers/rootReducer.ts

@ -22,6 +22,7 @@ import {
controlGpFltPlanReducer, controlGpFltPlanReducer,
controlGpSaga, controlGpSaga,
ControlGpState, ControlGpState,
controlGpLogReducer,
} from '../../modules/control/gp'; } from '../../modules/control/gp';
import controlMapReducer from '../../modules/control/map/reducers/controlMapReducer'; import controlMapReducer from '../../modules/control/map/reducers/controlMapReducer';
import { mainDahReducer } from '../../modules/main/dash/reducers/mainDashReducer'; import { mainDahReducer } from '../../modules/main/dash/reducers/mainDashReducer';
@ -34,6 +35,7 @@ import navbar from './navbar';
import { flightReducer } from '../../modules/basis/flight/reducers/basisFlightReducer'; import { flightReducer } from '../../modules/basis/flight/reducers/basisFlightReducer';
import { flightSaga } from '../../modules/basis/flight/sagas/basisFlightSaga'; import { flightSaga } from '../../modules/basis/flight/sagas/basisFlightSaga';
export interface StoreState { export interface StoreState {
controlGpState: ControlGpState; controlGpState: ControlGpState;
} }
@ -63,6 +65,7 @@ const rootReducer = combineReducers({
accountState: accountReducer, accountState: accountReducer,
controlGpState: controlGpReducer, controlGpState: controlGpReducer,
controlGpHisState: controlGpHisReducer, controlGpHisState: controlGpHisReducer,
controlGpLogState: controlGpLogReducer,
controlGpDtlState: controlGpDtlReducer, controlGpDtlState: controlGpDtlReducer,
controlGroupAuthState: controlGroupAuthReducer, controlGroupAuthState: controlGroupAuthReducer,
controlGpFltPlanState: controlGpFltPlanReducer, controlGpFltPlanState: controlGpFltPlanReducer,

39
src/views/control/report/ControlReportDetail.js

@ -11,19 +11,22 @@ import {
GET_ARCTFT_TYPE_CD, GET_ARCTFT_TYPE_CD,
GET_WGHT_TYPE_CD GET_WGHT_TYPE_CD
} from '../../../utility/CondeUtil'; } from '../../../utility/CondeUtil';
import { Button, Modal, ModalHeader, ModalBody, ModalFooter } from 'reactstrap' import { Button, Modal, ModalHeader, ModalBody, ModalFooter, Card } from 'reactstrap'
import { controlGpLogAction } from '../../../modules/control/gp';
const ControlReportDetail = props => { const ControlReportDetail = props => {
const [historyModal, setHistoryModal] = useState(false);
const dispatch = useDispatch(); const dispatch = useDispatch();
const [historyModal, setHistoryModal] = useState(false);
const { controlGpDetail, controlDetail } = useSelector( const { controlGpDetail, controlDetail } = useSelector(state => state.controlGpDtlState);
state => state.controlGpDtlState const { controlGpWarnLog } = useSelector(state => state.controlGpLogState);
);
useEffect(() => {
if(historyModal) {
dispatch(controlGpLogAction.request({id : controlGpDetail.controlId}));
}
}, [historyModal])
// useEffect(() => {
// // console.log(controlGpDetail);
// }, [controlGpDetail]);
const handlerClose = () => { const handlerClose = () => {
// console.log('================'); // console.log('================');
@ -37,6 +40,7 @@ const ControlReportDetail = props => {
return '-'; return '-';
} }
}; };
return ( return (
<div className='left-layer'> <div className='left-layer'>
<div className='layer-content'> <div className='layer-content'>
@ -55,6 +59,7 @@ const ControlReportDetail = props => {
<div className='layer-content-box mb-1'> <div className='layer-content-box mb-1'>
<button type="button" className='history-btn'onClick={() => setHistoryModal(!historyModal)}>비정상상황 알림내역</button> <button type="button" className='history-btn'onClick={() => setHistoryModal(!historyModal)}>비정상상황 알림내역</button>
</div> </div>
<Modal <Modal
isOpen={historyModal} isOpen={historyModal}
toggle={() => setHistoryModal(!historyModal)} toggle={() => setHistoryModal(!historyModal)}
@ -62,7 +67,7 @@ const ControlReportDetail = props => {
> >
<ModalHeader toggle={() => setHistoryModal(!historyModal)}> <ModalHeader toggle={() => setHistoryModal(!historyModal)}>
<div className='drone-ti'> <div className='drone-ti'>
<span className="drone-name">DRONE01</span> <span className="drone-name">{controlGpDetail?.objectId}</span>
<span>알림내역</span> <span>알림내역</span>
</div> </div>
@ -74,11 +79,21 @@ const ControlReportDetail = props => {
<th>날짜</th> <th>날짜</th>
<th>내용</th> <th>내용</th>
</tr> </tr>
{controlGpWarnLog ?
controlGpWarnLog.map((p, i) => {
return (
<tr> <tr>
<th>1</th> <th>{i+1}</th>
<th>2022-08-12 22:12:05</th> <th>{p.createDt}</th>
<th>탈출!!비상탈출!!!</th> <th>{p.warnType}</th>
</tr> </tr>
)
})
:
<tr>
<th colSpan={3}>데이터가 없습니다.</th>
</tr>
}
</table> </table>
</ModalBody> </ModalBody>
<ModalFooter> <ModalFooter>

9
src/views/control/report/ControlReportList.js

@ -3,7 +3,7 @@ import React, { useEffect, useState } from 'react';
import { Search, X } from 'react-feather'; import { Search, X } from 'react-feather';
import { useDispatch, useSelector } from 'react-redux'; import { useDispatch, useSelector } from 'react-redux';
import { Badge, Button, Input, InputGroup } from 'reactstrap'; import { Badge, Button, Input, InputGroup } from 'reactstrap';
import { controlGpDtlAction } from '../../../modules/control/gp'; import { controlGpDtlAction, controlGpLogAction } from '../../../modules/control/gp';
import { objectClickAction } from '../../../modules/control/map/actions/controlMapActions'; import { objectClickAction } from '../../../modules/control/map/actions/controlMapActions';
const ControlReportList = props => { const ControlReportList = props => {
@ -12,11 +12,6 @@ const ControlReportList = props => {
const dispatch = useDispatch(); const dispatch = useDispatch();
useEffect(() => {
// console.log('>>>>', filterId);
controlGpList;
}, [controlGpList]);
const handlerDetail = (objectId, cntrlId) => { const handlerDetail = (objectId, cntrlId) => {
dispatch(objectClickAction(objectId)); dispatch(objectClickAction(objectId));
dispatch(controlGpDtlAction.request(cntrlId)); dispatch(controlGpDtlAction.request(cntrlId));
@ -63,7 +58,7 @@ const ControlReportList = props => {
// console.log(item); // console.log(item);
if (item.objectId && item.objectId.indexOf(filterId) != -1) { if (item.objectId && item.objectId.indexOf(filterId) != -1) {
console.log(item); // console.log(item);
return ( return (
<div <div
className='layer-content-list' className='layer-content-list'

Loading…
Cancel
Save