|
|
@ -12,6 +12,12 @@ import { |
|
|
|
GET_WGHT_TYPE_CD |
|
|
|
GET_WGHT_TYPE_CD |
|
|
|
} from '../../../utility/CondeUtil'; |
|
|
|
} from '../../../utility/CondeUtil'; |
|
|
|
import { controlGpLogAction, controlweatherAction } from '../../../modules/control/gp'; |
|
|
|
import { controlGpLogAction, controlweatherAction } from '../../../modules/control/gp'; |
|
|
|
|
|
|
|
======= |
|
|
|
|
|
|
|
import dfsxyconv from '../../../utility/dfsxyconv'; |
|
|
|
|
|
|
|
import { |
|
|
|
|
|
|
|
controlGpLogAction, |
|
|
|
|
|
|
|
controlweatherAction |
|
|
|
|
|
|
|
} from '../../../modules/control/gp'; |
|
|
|
import ControlAlarmDetail from '../alarm/ControlAlarmDetail'; |
|
|
|
import ControlAlarmDetail from '../alarm/ControlAlarmDetail'; |
|
|
|
import axios from '../../../modules/utils/customAxiosUtil'; |
|
|
|
import axios from '../../../modules/utils/customAxiosUtil'; |
|
|
|
import { |
|
|
|
import { |
|
|
@ -35,8 +41,9 @@ const ControlReportDetail = props => { |
|
|
|
//const { controlWheather } = useSelector(state => state.ControlGpWeatherState);
|
|
|
|
//const { controlWheather } = useSelector(state => state.ControlGpWeatherState);
|
|
|
|
const { controlGpWarnLog } = useSelector(state => state.controlGpLogState); |
|
|
|
const { controlGpWarnLog } = useSelector(state => state.controlGpLogState); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function weathericon() { |
|
|
|
function weathericon() { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function a() { |
|
|
|
if (controlDetail) { |
|
|
|
if (controlDetail) { |
|
|
|
let wheatherDetail = controlDetail.items.item; |
|
|
|
let wheatherDetail = controlDetail.items.item; |
|
|
|
let skyDetail = wheatherDetail[6].fcstValue; |
|
|
|
let skyDetail = wheatherDetail[6].fcstValue; |
|
|
@ -46,13 +53,11 @@ const ControlReportDetail = props => { |
|
|
|
return <CloudSnow />; |
|
|
|
return <CloudSnow />; |
|
|
|
} else if (skyDetail == 0 || wheatherDetail[5].fcstValue == 1) { |
|
|
|
} else if (skyDetail == 0 || wheatherDetail[5].fcstValue == 1) { |
|
|
|
return <Sun />; |
|
|
|
return <Sun />; |
|
|
|
} else |
|
|
|
} else return <Cloud />; |
|
|
|
return <Cloud />; |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
useEffect(() => { |
|
|
|
useEffect(() => { |
|
|
|
|
|
|
|
|
|
|
|
if (historyModal) { |
|
|
|
if (historyModal) { |
|
|
|
if (controlGpDetail) { |
|
|
|
if (controlGpDetail) { |
|
|
|
dispatch(controlGpLogAction.request({ id: controlGpDetail.controlId })); |
|
|
|
dispatch(controlGpLogAction.request({ id: controlGpDetail.controlId })); |
|
|
@ -168,10 +173,11 @@ const ControlReportDetail = props => { |
|
|
|
<dt> |
|
|
|
<dt> |
|
|
|
<div className='list-left-txt'>시작시간</div> |
|
|
|
<div className='list-left-txt'>시작시간</div> |
|
|
|
<div className='list-right-txt'> |
|
|
|
<div className='list-right-txt'> |
|
|
|
{moment( |
|
|
|
{controlDetail?.cntrlStDt |
|
|
|
controlDetail?.cntrlStDt, |
|
|
|
? moment(controlDetail?.cntrlStDt, 'YYYYMMDDHHmmss').format( |
|
|
|
'YYYYMMDDHHmmss' |
|
|
|
'MM-DD HH:mm:ss' |
|
|
|
).format('MM-DD HH:mm:ss')} |
|
|
|
) |
|
|
|
|
|
|
|
: '-'} |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</dt> |
|
|
|
</dt> |
|
|
|
{/* <dt> |
|
|
|
{/* <dt> |
|
|
@ -183,19 +189,25 @@ const ControlReportDetail = props => { |
|
|
|
<dt> |
|
|
|
<dt> |
|
|
|
<div className='list-left-txt'>속도</div> |
|
|
|
<div className='list-left-txt'>속도</div> |
|
|
|
<div className='list-right-txt'> |
|
|
|
<div className='list-right-txt'> |
|
|
|
{controlGpDetail?.speed} {controlGpDetail?.speedType} |
|
|
|
{controlGpDetail?.speed && controlGpDetail?.speedType |
|
|
|
|
|
|
|
? `${controlGpDetail?.speed} ${controlGpDetail?.speedType}` |
|
|
|
|
|
|
|
: '-'} |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</dt> |
|
|
|
</dt> |
|
|
|
<dt> |
|
|
|
<dt> |
|
|
|
<div className='list-left-txt'>고도</div> |
|
|
|
<div className='list-left-txt'>고도</div> |
|
|
|
<div className='list-right-txt'> |
|
|
|
<div className='list-right-txt'> |
|
|
|
{controlGpDetail?.elev} {controlGpDetail?.elevType} |
|
|
|
{controlGpDetail?.elev && controlGpDetail?.elevType |
|
|
|
|
|
|
|
? `${controlGpDetail?.elev} ${controlGpDetail?.elevType}` |
|
|
|
|
|
|
|
: '-'} |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</dt> |
|
|
|
</dt> |
|
|
|
<dt> |
|
|
|
<dt> |
|
|
|
<div className='list-left-txt'>좌표(위도/경도)</div> |
|
|
|
<div className='list-left-txt'>좌표(위도/경도)</div> |
|
|
|
<div className='list-right-txt'> |
|
|
|
<div className='list-right-txt'> |
|
|
|
{controlGpDetail?.lat} / {controlGpDetail?.lng} |
|
|
|
{controlGpDetail?.lat && controlGpDetail?.lng |
|
|
|
|
|
|
|
? `${controlGpDetail?.lat} / ${controlGpDetail?.lng}` |
|
|
|
|
|
|
|
: '-'} |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</dt> |
|
|
|
</dt> |
|
|
|
{/* <dt> |
|
|
|
{/* <dt> |
|
|
@ -208,7 +220,7 @@ const ControlReportDetail = props => { |
|
|
|
<dt> |
|
|
|
<dt> |
|
|
|
<div className='list-left-txt'>헤딩 방위각</div> |
|
|
|
<div className='list-left-txt'>헤딩 방위각</div> |
|
|
|
<div className='list-right-txt'> |
|
|
|
<div className='list-right-txt'> |
|
|
|
{controlGpDetail?.heading} |
|
|
|
{nullMessage(controlGpDetail?.heading)} |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</dt> |
|
|
|
</dt> |
|
|
|
{/* <dt> |
|
|
|
{/* <dt> |
|
|
@ -220,11 +232,12 @@ const ControlReportDetail = props => { |
|
|
|
<dt> |
|
|
|
<dt> |
|
|
|
<div className='list-left-txt'>위치정보 수신 시간</div> |
|
|
|
<div className='list-left-txt'>위치정보 수신 시간</div> |
|
|
|
<div className='list-right-txt'> |
|
|
|
<div className='list-right-txt'> |
|
|
|
{' '} |
|
|
|
{controlGpDetail?.serverRcvDt |
|
|
|
{moment( |
|
|
|
? moment( |
|
|
|
controlGpDetail?.serverRcvDt, |
|
|
|
controlGpDetail?.serverRcvDt, |
|
|
|
'YYYYMMDDHHmmss' |
|
|
|
'YYYYMMDDHHmmss' |
|
|
|
).format('MM-DD HH:mm:ss')} |
|
|
|
).format('MM-DD HH:mm:ss') |
|
|
|
|
|
|
|
: '-'} |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</dt> |
|
|
|
</dt> |
|
|
|
</dl> |
|
|
|
</dl> |
|
|
@ -245,7 +258,6 @@ const ControlReportDetail = props => { |
|
|
|
<dt> |
|
|
|
<dt> |
|
|
|
<div className='list-left-txt'>담당자 이름</div> |
|
|
|
<div className='list-left-txt'>담당자 이름</div> |
|
|
|
<div className='list-right-txt'> |
|
|
|
<div className='list-right-txt'> |
|
|
|
{' '} |
|
|
|
|
|
|
|
{nullMessage(controlDetail?.ownerNm)} |
|
|
|
{nullMessage(controlDetail?.ownerNm)} |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</dt> |
|
|
|
</dt> |
|
|
@ -260,15 +272,18 @@ const ControlReportDetail = props => { |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div className='layer-content'> |
|
|
|
<div className='layer-content'> |
|
|
|
<div className="layer-ti"> |
|
|
|
<div className='layer-ti'> |
|
|
|
<h4>날씨 정보</h4> |
|
|
|
<h4>날씨 정보</h4> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div className="layer-content-box"> |
|
|
|
<div className='layer-content-box'> |
|
|
|
<div className="layer-content-info"> |
|
|
|
<div className='layer-content-info'> |
|
|
|
<div className="layer-weather-table"> |
|
|
|
<div className='layer-weather-table'> |
|
|
|
<div className="layer-weather-address"> |
|
|
|
<div className='layer-weather-address'> |
|
|
|
현재위치의 날씨 정보입니다. |
|
|
|
현재위치의 날씨 정보입니다. |
|
|
|
<span><Compass size={20} />{controlDetail?.stAreaNm}</span> |
|
|
|
<span> |
|
|
|
|
|
|
|
<Compass size={20} /> |
|
|
|
|
|
|
|
{controlDetail?.stAreaNm} |
|
|
|
|
|
|
|
</span> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<Table responsive> |
|
|
|
<Table responsive> |
|
|
|
<thead> |
|
|
|
<thead> |
|
|
@ -284,8 +299,18 @@ const ControlReportDetail = props => { |
|
|
|
<tr> |
|
|
|
<tr> |
|
|
|
<td>{controlDetail?.items.item[0].baseTime.substring(0, 2)}시</td> |
|
|
|
<td>{controlDetail?.items.item[0].baseTime.substring(0, 2)}시</td> |
|
|
|
<td>{weathericon()}</td> |
|
|
|
<td>{weathericon()}</td> |
|
|
|
|
|
|
|
<td> |
|
|
|
|
|
|
|
{controlDetail?.items.item[12].fcstTime.substring(0, 2)}시 |
|
|
|
|
|
|
|
</td> |
|
|
|
|
|
|
|
<td>{a()}</td> |
|
|
|
<td>{controlDetail?.items.item[12].fcstValue}℃</td> |
|
|
|
<td>{controlDetail?.items.item[12].fcstValue}℃</td> |
|
|
|
<td><Navigation2 style={{ transform: `rotate(${controlDetail?.items.item[3].fcstValue}deg)` }} /></td> |
|
|
|
<td> |
|
|
|
|
|
|
|
<Navigation2 |
|
|
|
|
|
|
|
style={{ |
|
|
|
|
|
|
|
transform: `rotate(${controlDetail?.items.item[3].fcstValue}deg)` |
|
|
|
|
|
|
|
}} |
|
|
|
|
|
|
|
/> |
|
|
|
|
|
|
|
</td> |
|
|
|
<td>{controlDetail?.items.item[4].fcstValue}m/s</td> |
|
|
|
<td>{controlDetail?.items.item[4].fcstValue}m/s</td> |
|
|
|
</tr> |
|
|
|
</tr> |
|
|
|
</tbody> |
|
|
|
</tbody> |
|
|
|