Browse Source

merge

pull/2/head
김장현 1 year ago
parent
commit
e70568596a
  1. 11
      src/@core/layouts/components/menu/vertical-menu/index.js
  2. BIN
      src/assets/images/finevt_logo.png
  3. BIN
      src/assets/images/uam_icon.png
  4. BIN
      src/assets/images/uam_icon_purple.png
  5. 2
      src/components/map/naver/dron/DronMarker.js
  6. 42
      src/views/control/main/ControlMain.js
  7. 5
      src/views/control/report/ControlReportList.js

11
src/@core/layouts/components/menu/vertical-menu/index.js

@ -20,6 +20,8 @@ import VerticalMenuHeader from './VerticalMenuHeader';
import VerticalNavMenuItems from './VerticalNavMenuItems';
import { useSelector } from 'react-redux';
import finevt_logo from '../../../../../assets/images/finevt_logo.png';
const Sidebar = props => {
const { topMenuCd } = useSelector(state => state.menuState);
@ -123,6 +125,15 @@ const Sidebar = props => {
currentActiveItem={currentActiveItem}
/>
</ul>
{menuHover ? (
<ul
style={{ position: 'absolute', bottom: 0, padding: '10px' }}
>
<img src={finevt_logo} width='200' />
</ul>
) : (
<></>
)}
</PerfectScrollbar>
</Fragment>
)}

BIN
src/assets/images/finevt_logo.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

BIN
src/assets/images/uam_icon.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

BIN
src/assets/images/uam_icon_purple.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

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

@ -267,7 +267,7 @@ export const DronMarker = props => {
controlId: controlId,
type: markerOption.type,
icon: {
content: `<img id=${id} src="${markerOption.url}" alt="" style="transform: rotate(${gps.heading}deg)">`,
content: `<img id=${id} src="${markerOption.url}" alt="" style="transform: rotate(${gps.heading}deg);">`,
origin: markerOption.origin,
anchor: markerOption.anchor
},

42
src/views/control/main/ControlMain.js

@ -2,6 +2,7 @@ import React, { useEffect, useState } from 'react';
import '../../../assets/css/custom.css';
import logo from '../../../assets/images/pal_logo.png';
import finevt_logo from '../../../assets/images/finevt_logo.png';
import {
Sun,
@ -42,6 +43,11 @@ const ControlMain = () => {
const { controlGpCountDrone, controlGpCountFlight } = useSelector(
state => state.controlGpCountState
);
// pav박람회 -> uam, 드론 구별을 위한 임시 코드
// (이 작업으로 고도화 하려면 추후에 서버에서 uam타입을 새로 더 받아 작업해야 함)
const [droneCount, setDroneCount] = useState(0);
const [uamCount, setUamCount] = useState(0);
const [alarm, setAlarm] = useState(false);
const { user } = useSelector(state => state.authState);
const [oepnReportList, setOpenReportList] = useState(false);
@ -102,6 +108,20 @@ const ControlMain = () => {
}
}, [isClickObject]);
useEffect(() => {
if (controlGpCountDrone) {
const uamCnt = controlGpCountDrone.filter(i =>
i.gps.objectId.includes('UAM')
);
const droneCnt = controlGpCountDrone.filter(
i => !i.gps.objectId.includes('UAM')
);
setUamCount(uamCnt.length);
setDroneCount(droneCnt.length);
}
}, [controlGpCountDrone]);
const handlerClose = () => {
setOpenReportList(true);
dispatch(objectUnClickAction());
@ -136,6 +156,7 @@ const ControlMain = () => {
<img src={logo} width='80' />
<span>PAL</span>
</h1>
<ul className='left-menu-nav'>
<li>
<button onClick={() => openMenu('reportList')}>
@ -163,6 +184,10 @@ const ControlMain = () => {
</li>
</ul>
<ul className='left-menu-footer'>
<li>
<img src={finevt_logo} width='50' />
</li>
<li>
<AiOutlinePoweroff
size={25}
@ -170,7 +195,9 @@ const ControlMain = () => {
onClick={handlerLogout}
/>
</li>
<li style={{ marginLeft: '8px' }}>
<WebsocketClient />
</li>
{/* socket_off = 클래스명 변경시 빨간색! 접속이 원할하지않을때 */}
</ul>
</div>
@ -185,7 +212,11 @@ const ControlMain = () => {
<Card>
<div className='data-box-header'>
<span className='box-ti'>
{!isClickObject ? '인천광역시' : !controlDetail?.stAreaNm ? `${controlDetail?.res.area1} ${controlDetail?.res.area2} ${controlDetail?.res.area3} ${controlDetail?.res.landNm} ${controlDetail?.res.landNum} ` : controlDetail?.stAreaNm}
{!isClickObject
? '인천광역시'
: !controlDetail?.stAreaNm
? `${controlDetail?.res.area1} ${controlDetail?.res.area2} ${controlDetail?.res.area3} ${controlDetail?.res.landNm} ${controlDetail?.res.landNum} `
: controlDetail?.stAreaNm}
</span>
<span className=''>&nbsp;{weathericon()}</span>
</div>
@ -233,11 +264,16 @@ const ControlMain = () => {
<div className='data-list'>
<span>드론</span>
{/* <span>{controlGpList ? controlGpList.length : 0}</span> */}
<span>
{/* <span>
{controlGpCountDrone?.length > 0
? controlGpCountDrone?.length
: 0}
</span>
</span> */}
<span>{droneCount}</span>
</div>
<div className='data-list'>
<span>UAM</span>
<span>{uamCount}</span>
</div>
<div className='data-list'>
<span>항공기</span>

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

@ -101,10 +101,7 @@ const ControlReportList = props => {
{item.objectId.includes('NAMWON') ? (
<dt>
<div className='data-list'>
<NavLink
to='/system/multi/views'
style={{ width: '100%' }}
>
<NavLink to='/system/multi/views'>
<span>실시간 영상보기</span>
</NavLink>
</div>

Loading…
Cancel
Save