diff --git a/src/views/control/alarm/ControlAlarmList.js b/src/views/control/alarm/ControlAlarmList.js
index 8c205530..1aeb4c9b 100644
--- a/src/views/control/alarm/ControlAlarmList.js
+++ b/src/views/control/alarm/ControlAlarmList.js
@@ -3,6 +3,7 @@ import { X } from 'react-feather';
import { useDispatch, useSelector } from 'react-redux';
import { controlGpArcrftWarnAction, controlGpLogAction } from '../../../modules/control/gp/actions/controlGpAction';
import ControlAlarmDetail from './ControlAlarmDetail';
+import { Badge } from 'reactstrap';
const ControlAlarmList = props => {
const dispatch = useDispatch();
@@ -12,6 +13,8 @@ const ControlAlarmList = props => {
const { controlGpList } = useSelector(state => state.controlGpState);
const { controlGpArcrftWarnList } = useSelector(state => state.controlGpLogState);
const { controlGpWarnLog } = useSelector(state => state.controlGpLogState);
+ const { objectId, isClickObject } = useSelector(state => state.controlMapReducer);
+
const [total, setTotal] = useState({
totalDroneCnt: 0,
@@ -25,6 +28,13 @@ const ControlAlarmList = props => {
dispatch(controlGpLogAction.request({id : cntrlId}));
}
+ useEffect(() => {
+ if(isClickObject) {
+ props.setOpenAlarmList(false);
+ }
+
+ }, [objectId, isClickObject])
+
useEffect(() => {
if(controlGpArcrftWarnList) {
let totalWarnCnt = 0;
@@ -89,8 +99,22 @@ const ControlAlarmList = props => {
-
-
{total? total.totalDroneCnt: 0}대 비행 중
-
전체 {total? total.totalWarnCnt : 0}건
+
드론 현황
+
+
+ {total? total.totalDroneCnt: 0}대 비행 중
+
+
+
+
+ -
+
+
비정상 알림 전체
+
+
+ {total? total.totalWarnCnt : 0}건
+
+
diff --git a/src/views/control/main/ControlMain.js b/src/views/control/main/ControlMain.js
index 0b38dafd..3a0b023e 100644
--- a/src/views/control/main/ControlMain.js
+++ b/src/views/control/main/ControlMain.js
@@ -5,7 +5,8 @@ import logo from '../../../assets/images/pal_logo.png';
import { Sun, Map, Bell } from 'react-feather';
-import { AiOutlinePoweroff } from 'react-icons/ai';
+import { AiOutlinePoweroff, AiOutlineExclamation } from 'react-icons/ai';
+import { IoAlertOutline } from 'react-icons/io5';
import { ReactComponent as DroneMenuIcon } from '../../../assets/images/drone_menu_icon.svg';
@@ -19,11 +20,15 @@ import WebsocketClient from '../../../components/websocket/WebsocketClient';
import { useDispatch, useSelector } from 'react-redux';
import * as Actions from '../../../modules/account/login/actions/authAction';
+import { objectUnClickAction } from '../../../modules/control/map/actions/controlMapActions';
const ControlMain = () => {
const dispatch = useDispatch();
const { isClickObject } = useSelector(state => state.controlMapReducer);
+ const { controlGpList } = useSelector(state => state.controlGpState);
+
+ const [alarm, setAlarm] = useState(false);
const [oepnReportList, setOpenReportList] = useState(false);
const [openReportDetail, setOpenReportDetail] = useState(false);
@@ -45,10 +50,14 @@ const ControlMain = () => {
setOpenWeatherList(true);
setOpenAlarmList(false);
} else if (val === 'alarmList') {
+ dispatch(objectUnClickAction());
+
setOpenReportList(false);
setOpenReportDetail(false);
setOpenWeatherList(false);
setOpenAlarmList(true);
+
+ setAlarm(false);
}
};
@@ -61,6 +70,20 @@ const ControlMain = () => {
dispatch(Actions.logout.request());
};
+ useEffect(() => {
+
+ if(controlGpList) {
+ const warnGps = controlGpList.find(gps => {
+ return gps.controlWarnNotyCd === true
+ })
+
+ if(warnGps) {
+ setAlarm(true);
+ }
+ }
+
+ }, [controlGpList]);
+
return (
<>
@@ -88,7 +111,7 @@ const ControlMain = () => {
*/}