diff --git a/src/views/control/alarm/ControlAlarmDetail.js b/src/views/control/alarm/ControlAlarmDetail.js new file mode 100644 index 00000000..a335a85c --- /dev/null +++ b/src/views/control/alarm/ControlAlarmDetail.js @@ -0,0 +1,54 @@ +import { useState, useEffect } from 'react'; +import { Button, Modal, ModalHeader, ModalBody, ModalFooter, Card } from 'reactstrap' + +const ControlAlarmDetail = ({ historyModal, setHistoryModal, controlGpWarnLog }) => { + return ( + setHistoryModal(!historyModal)} + className='modal-dialog-centered historyModal' + > + setHistoryModal(!historyModal)}> +
+ {controlGpWarnLog?.idntfNum} + 알림내역 +
+
+ + + + + + + + + {controlGpWarnLog ? + controlGpWarnLog.map((p, i) => { + return ( + + + + + + ) + }) + : + + + + } +
번호날짜내용
{i + 1}{p.createDt}{p.warnType}
데이터가 없습니다.
+
+ + + +
+ ) +} + +export default ControlAlarmDetail; \ No newline at end of file diff --git a/src/views/control/alarm/ControlAlarmList.js b/src/views/control/alarm/ControlAlarmList.js index 45109e63..8c205530 100644 --- a/src/views/control/alarm/ControlAlarmList.js +++ b/src/views/control/alarm/ControlAlarmList.js @@ -1,13 +1,17 @@ import { useEffect, useState } from 'react'; import { X } from 'react-feather'; import { useDispatch, useSelector } from 'react-redux'; -import { controlGpArcrftWarnAction } from '../../../modules/control/gp/actions/controlGpAction'; +import { controlGpArcrftWarnAction, controlGpLogAction } from '../../../modules/control/gp/actions/controlGpAction'; +import ControlAlarmDetail from './ControlAlarmDetail'; const ControlAlarmList = props => { const dispatch = useDispatch(); + const [historyModal, setHistoryModal] = useState(false); + const { controlGpList } = useSelector(state => state.controlGpState); const { controlGpArcrftWarnList } = useSelector(state => state.controlGpLogState); + const { controlGpWarnLog } = useSelector(state => state.controlGpLogState); const [total, setTotal] = useState({ totalDroneCnt: 0, @@ -15,6 +19,12 @@ const ControlAlarmList = props => { warnList: [] }); + const handleWarnDetail = (cntrlId) => { + setHistoryModal(prev => !prev); + + dispatch(controlGpLogAction.request({id : cntrlId})); + } + useEffect(() => { if(controlGpArcrftWarnList) { let totalWarnCnt = 0; @@ -90,11 +100,11 @@ const ControlAlarmList = props => {

알림 목록

- {!total ? null : total.warnList.map((warn, i) => { + {total?.warnList.map((warn, i) => { const warnContent = warn.warnType === 'PLAN' ? '비행 경로 이탈' : '비정상 상황 발생' return ( -
+
handleWarnDetail(warn.cntrlId)}>
@@ -153,6 +163,12 @@ const ControlAlarmList = props => {
*/}
+ + ); }; diff --git a/src/views/control/report/ControlReportDetail.js b/src/views/control/report/ControlReportDetail.js index 3f8288fa..5cabd158 100644 --- a/src/views/control/report/ControlReportDetail.js +++ b/src/views/control/report/ControlReportDetail.js @@ -11,8 +11,9 @@ import { GET_ARCTFT_TYPE_CD, GET_WGHT_TYPE_CD } from '../../../utility/CondeUtil'; -import { Button, Modal, ModalHeader, ModalBody, ModalFooter, Card } from 'reactstrap' + import { controlGpLogAction } from '../../../modules/control/gp'; +import ControlAlarmDetail from '../alarm/ControlAlarmDetail'; const ControlReportDetail = props => { const dispatch = useDispatch(); @@ -62,53 +63,6 @@ const ControlReportDetail = props => { - setHistoryModal(!historyModal)} - className='modal-dialog-centered historyModal' - > - setHistoryModal(!historyModal)}> -
- {controlGpDetail?.objectId} - 알림내역 -
- -
- - - - - - - - {controlGpWarnLog ? - controlGpWarnLog.map((p, i) => { - return ( - - - - - - ) - }) - : - - - - } -
번호날짜내용
{i+1}{p.createDt}{p.warnType}
데이터가 없습니다.
-
- - - -
- -
@@ -272,6 +226,12 @@ const ControlReportDetail = props => {
+ + ); };