Commit e13fa66d authored by 吴俊凯's avatar 吴俊凯

1.4.0.2版本修改代码提交

parent 87cf6437
...@@ -147,12 +147,14 @@ export const FscSerUrl = { ...@@ -147,12 +147,14 @@ export const FscSerUrl = {
//值班信息模块 //值班信息模块
middleHeaderDataUrl: completePrefix(baseURI, 'duty/middleHeader?orgCode={orgCode}'), middleHeaderDataUrl: completePrefix(baseURI, 'duty/middleHeader?orgCode={orgCode}'),
middleTableListUrl: completePrefix(baseURI, 'duty/middleTableList?orgCode={orgCode}'), middleTableListUrl: completePrefix(baseURI, 'duty/middleTableList?orgCode={orgCode}&id={id}'),
middleHeaderAction1:completePrefix(baseURI, 'bank/inspection/patrolPlanList?start={start}&end={end}&deptId={depId}&deptName={deptName}'), middleHeaderAction1:completePrefix(baseURI, 'bank/inspection/patrolPlanList?start={start}&end={end}&deptId={depId}&deptName={deptName}'),
getporintAction:completePrefix(baseURI, 'bank/inspection/getporint?pointid={pointid}'), getporintAction:completePrefix(baseURI, 'bank/inspection/getporint?pointid={pointid}'),
// 告警数据 // 告警数据
alarmDataUrl: completePrefix(baseURI, 'bank/alarm/list'), alarmDataUrl: completePrefix(baseURI, 'bank/alarm/list'),
sevenDaysalarmDataUrl: completePrefix(baseURI, 'bank/alarm/statistics'),
getMobileShowDateUrl: completePrefix(baseURI, 'bank/alarm/mobile/show'),
// impEquAlarmUrl: completePrefix(deviceURI, 'alarm/equipAttr'), // impEquAlarmUrl: completePrefix(deviceURI, 'alarm/equipAttr'),
// metricDataUrl: completePrefix(deviceURI, 'metricdata/listMongoData'), // metricDataUrl: completePrefix(deviceURI, 'metricdata/listMongoData'),
//******************************************************************************* //*******************************************************************************
...@@ -515,7 +517,8 @@ export const MonitorUrl = { ...@@ -515,7 +517,8 @@ export const MonitorUrl = {
getMonitorsByPageDataUrl: completePrefix(baseURI, 'rtsp/listVideoByPage'), //监控视频分页查询 getMonitorsByPageDataUrl: completePrefix(baseURI, 'rtsp/listVideoByPage'), //监控视频分页查询
getMonitorsTreeUrl: completePrefix(baseURI, 'rtsp/monitorVideoTree'), //视频监控左侧树列表 getMonitorsTreeUrl: completePrefix(baseURI, 'rtsp/monitorVideoTree'), //视频监控左侧树列表
getMonitorsByFloor3dUrl: completePrefix(baseURI, 'rtsp/list?floor3d={floor}&orgCode={orgCode}'), //根据行政编码和楼层查询监控信息 getMonitorsByFloor3dUrl: completePrefix(baseURI, 'rtsp/list?floor3d={floor}&orgCode={orgCode}'), //根据行政编码和楼层查询监控信息
updateMonitorPosition3dUrl: completePrefix(baseURI, 'video/updateDevice') //更新监控点三维坐标 updateMonitorPosition3dUrl: completePrefix(baseURI, 'video/updateDevice'), //更新监控点三维坐标
updateDynamicRingPosition3dUrl: completePrefix(baseURI, '/bank/dynamicRingData/update') //更新监控点三维坐标
}; };
// export const DeviceURI = { 废弃 // export const DeviceURI = { 废弃
......
...@@ -273,9 +273,9 @@ export const rightTopChartAction = (companyId) => { ...@@ -273,9 +273,9 @@ export const rightTopChartAction = (companyId) => {
* 查询主页一级值班信息 * 查询主页一级值班信息
* @param {*} id * @param {*} id
*/ */
export const middleTabletAction = () => { export const middleTabletAction = (id) => {
let orgCode = getOrgCode(); let orgCode = getOrgCode();
return commonGet(formatUrl(FscSerUrl.middleTableListUrl, { orgCode })); return commonGet(formatUrl(FscSerUrl.middleTableListUrl, { orgCode,id }));
}; };
/** /**
* 查询主页二级值班信息 * 查询主页二级值班信息
......
...@@ -6,3 +6,17 @@ import { FscSerUrl } from './../consts/urlConsts'; ...@@ -6,3 +6,17 @@ import { FscSerUrl } from './../consts/urlConsts';
export const getAlarms = function() { export const getAlarms = function() {
return commonGet(FscSerUrl.alarmDataUrl); return commonGet(FscSerUrl.alarmDataUrl);
}; };
/**
* 获取七天告警统计数据
*/
export const getSevenDaysAlarms = function() {
return commonGet(FscSerUrl.sevenDaysalarmDataUrl);
};
/**
* 首页动环信息展示
*/
export const getMobileShowDate = function() {
return commonGet(FscSerUrl.getMobileShowDateUrl);
};
...@@ -52,3 +52,12 @@ export const updateMonitorPosition3d = (data) => { ...@@ -52,3 +52,12 @@ export const updateMonitorPosition3d = (data) => {
let url = MonitorUrl.updateMonitorPosition3dUrl; let url = MonitorUrl.updateMonitorPosition3dUrl;
return commonPut(url, data); return commonPut(url, data);
}; };
/**
* 更新动环点三维坐标
* @param {*} data
*/
export const updateDynamicRingPosition = (data) => {
let url = MonitorUrl.updateDynamicRingPosition3dUrl;
return commonPut(url, data);
};
...@@ -8,6 +8,8 @@ ...@@ -8,6 +8,8 @@
.content-body-2d { .content-body-2d {
display: flex;
display: -webkit-flex;
width: 100%; width: 100%;
height: 100%; height: 100%;
background: #d7e7fb !important; background: #d7e7fb !important;
...@@ -32,6 +34,9 @@ ...@@ -32,6 +34,9 @@
color: #fff; color: #fff;
.body-left { .body-left {
position: absolute; position: absolute;
// @media screen and (min-width: 1280px) and (max-width: 1366px) {
// position: fixed;
// }
top: 0; top: 0;
//right: 47px; //right: 47px;
left: 10px; left: 10px;
...@@ -49,8 +54,11 @@ ...@@ -49,8 +54,11 @@
width: 100%; width: 100%;
} }
} }
.point{
padding-top: 60px;
}
.dangerNums { .dangerNums {
margin-bottom: 5px; margin-bottom: -12px;
// height: 15%; // height: 15%;
.item { .item {
...@@ -60,7 +68,7 @@ ...@@ -60,7 +68,7 @@
// background:linear-gradient(180deg,rgba(0,185,255,0.38) 0%,rgba(12,181,213,0.1) 100%); // background:linear-gradient(180deg,rgba(0,185,255,0.38) 0%,rgba(12,181,213,0.1) 100%);
background: rgba(23, 90, 201, 0.9); background: rgba(23, 90, 201, 0.9);
box-shadow: 0 3px 6px rgba(0, 0, 0, 0.27); box-shadow: 0 3px 6px rgba(0, 0, 0, 0.27);
height: 100%; height: 90%;
padding: 8px 0; padding: 8px 0;
.itemValue { .itemValue {
font-size: 17px; font-size: 17px;
...@@ -106,7 +114,8 @@ ...@@ -106,7 +114,8 @@
} }
.alarmNums { .alarmNums {
height: 15%; height: 15%;
padding-top: 4px;
margin-bottom: -8px;
.item { .item {
width: 25%; width: 25%;
// border-left: 1px solid #fff; // border-left: 1px solid #fff;
...@@ -114,7 +123,7 @@ ...@@ -114,7 +123,7 @@
// background:linear-gradient(180deg,rgba(0,185,255,0.38) 0%,rgba(12,181,213,0.1) 100%); // background:linear-gradient(180deg,rgba(0,185,255,0.38) 0%,rgba(12,181,213,0.1) 100%);
background: rgba(23, 90, 201, 0.9); background: rgba(23, 90, 201, 0.9);
box-shadow: 0 3px 6px rgba(0, 0, 0, 0.27); box-shadow: 0 3px 6px rgba(0, 0, 0, 0.27);
height: 100%; height: 90%;
padding: 8px 0; padding: 8px 0;
.itemValue { .itemValue {
font-size: 17px; font-size: 17px;
...@@ -158,8 +167,90 @@ ...@@ -158,8 +167,90 @@
} }
} }
} }
.alarmLineChart{
width: 100%;
height: 40%;
-webkit-tap-highlight-color: transparent;
user-select: none;
position: absolute;
background: transparent;
background-color: #2965ca;
}
.equipmentdata { .equipmentdata {
height: 22%; height: 180px;
.equipmentdiv {
width: 100%;
height: 170%;
background-color: rgba(23, 90, 201, 0.9);
border: 1px solid white;
.quarter-div{
width: 50%;
height: 50%;
float: left;
border: 1px solid white;
}
.dh-title {
text-align: left;
padding: 0.2em 0.8em;
font-size: 12px;
}
.xf-title {
text-align: left;
font-size: 12px;
padding: 0.2em 0.8em;
}
.dh-content {
width: 100%;
height: calc(100% - 1.8em);
}
.dh-icon{
display: inline-block;
width: 30px;
height: 70%;
vertical-align: top;
text-align: center;
padding-top: 6px;
}
.dh-values{
display: inline-block;
width: calc(100% - 70px);
height: 100%;
font-size: 11px;
text-align: left;
.dh-values-item{
display: inline-block;
padding: 4px;
}
}
.xf-values{
text-align: center;
}
.xf-citys{
margin-right: 0.5em;
}
.xf-city-values{
margin-right: 2em;
}
.xf-yc-values{
margin-right: 2em;
color:red;
}
.dh-img{
width: 25px;
object-fit: contain;
}
// .blue{
// text-align: left;
// .temperature {
// display: inline-block;
// height: 30px;
// width: 30px;
// vertical-align: middle;
// margin-left: 20%;
// }
// }
}
.item { .item {
width: 33.333%; width: 33.333%;
border-left: 1px solid #fff; border-left: 1px solid #fff;
...@@ -288,8 +379,21 @@ ...@@ -288,8 +379,21 @@
//padding-bottom: 25px; //padding-bottom: 25px;
padding-bottom: 10px; padding-bottom: 10px;
> div { > div {
height: 30px; @media screen and (min-width: 1280px) and (max-width: 1366px) {
line-height: 30px; height: 15px;
};
@media screen and (min-width: 1367px) and (max-width: 1680px) {
line-height: 30px;
};
@media screen and (min-width: 1681px) and (max-width: 1980px) {
line-height: 60px;
height: 50px;
};
@media screen and (min-width: 1981px) {
line-height: 70px;
height: 80px;
};
text-align: center; text-align: center;
margin-bottom: 2px; margin-bottom: 2px;
} }
...@@ -1274,10 +1378,12 @@ ...@@ -1274,10 +1378,12 @@
.point { .point {
// height: 50%; // height: 50%;
margin-bottom: 5px;
.chartBody { .chartBody {
//height: 420px; //height: 420px;
height: 359px; height: 359px;
@media screen and (min-width: 1280px) and (max-width: 1366px) {
height: 300px;
}
} }
.left-chart-top { .left-chart-top {
...@@ -1309,6 +1415,7 @@ ...@@ -1309,6 +1415,7 @@
} }
.technology { .technology {
// height: 40%; // height: 40%;
padding-top: 6px;
.chartBody { .chartBody {
height: 220px; height: 220px;
.leaderBox { .leaderBox {
...@@ -1339,6 +1446,7 @@ ...@@ -1339,6 +1446,7 @@
line-height: 60px; line-height: 60px;
text-align: center; text-align: center;
float: left; float: left;
overflow: auto;
} }
.itemList { .itemList {
height: 60px; height: 60px;
...@@ -1481,7 +1589,13 @@ ...@@ -1481,7 +1589,13 @@
} }
} }
.chartBody { .chartBody {
height: 87px; height: 87px;
@media screen and (min-width: 1280px) and (max-width: 1366px) {
height: 40px;
}
@media screen and (min-width: 1680px) and (max-width: 1980px) {
height: 123px;
}
} }
} }
} }
...@@ -1702,7 +1816,7 @@ ...@@ -1702,7 +1816,7 @@
border-left: 1px solid #fff; border-left: 1px solid #fff;
border-right: 1px solid #fff; border-right: 1px solid #fff;
} }
.clearfloat:after{display:block;clear:both;content:"";visibility:hidden;height:0}  .clearfloat:after{display:block;clear:both;content:"";visibility:hidden;height:0}
.clearfloat{zoom:1} .clearfloat{zoom:1}
.list4 { .list4 {
width: 100%; width: 100%;
......
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
height: 100%; height: 100%;
text-align: center; text-align: center;
background: url('../../assets/region/region-bg.png') no-repeat $core-border-color; background: url('../../assets/region/region-bg.png') no-repeat $core-border-color;
background-size: 100%;
flex-wrap: wrap; flex-wrap: wrap;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
......
import amosRequest, { singleFetch } from 'amos-processor/lib/fetch/amosRequest'; import amosRequest, { singleFetch } from 'amos-processor/lib/fetch/amosRequest';
import { utils } from 'amos-tool'; import { utils } from 'amos-tool';
import formatUrl from 'amos-processor/lib/utils/urlFormat'; import formatUrl from 'amos-processor/lib/utils/urlFormat';
import SysConsts from 'amos-processor/lib/config/consts';
import { Store } from 'amos-tool'; import { Store } from 'amos-tool';
import { message } from 'amos-framework'; import { message } from 'amos-framework';
import sysConsts from 'amos-processor/lib/config'; import sysConsts from 'amos-processor/lib/config';
...@@ -116,7 +117,35 @@ const commonDelete = (url, data, params) => { ...@@ -116,7 +117,35 @@ const commonDelete = (url, data, params) => {
//message.danger(error.message || '请求失败,服务器错误!'); //message.danger(error.message || '请求失败,服务器错误!');
} }
}).then(data => payload(data)); }).then(data => payload(data));
} };
const token = SysConsts.token;
const exportExcel = ({ url, method }, fileName) => {
window.fetch(url, {
method,
headers: {
'Accept': 'application/vnd.ms-excel',
'Content-Type': 'application/json; charset=utf-8',
'X-Access-Token': window.localStorage.getItem(token),
'token': window.localStorage.getItem(token),
'appKey': 'AMOS_BANK',
'product': 'AMOS_BANK_WEB'
}
// body: body ? JSON.stringify(body) : undefined
}).then((e) => {
e.blob().then((blob) => {
const a = window.document.createElement('a');
const downUrl = window.URL.createObjectURL(blob);
a.href = downUrl;
a.download = `${fileName}.xls`;
a.click();
window.URL.revokeObjectURL(downUrl);
});
}).catch((e) => {
});
};
const compleHeaders = () => { const compleHeaders = () => {
return { return {
...@@ -149,4 +178,4 @@ export function getOrgCode(){ ...@@ -149,4 +178,4 @@ export function getOrgCode(){
return lsTool.read(ORGCODE); return lsTool.read(ORGCODE);
} }
export { amosRequest, commonGet, getWithCookie, singleFetch, commonPost, commonPut, commonDelete, convertDatalist, buildPageable, formatUrl }; export { amosRequest, commonGet, getWithCookie, singleFetch, commonPost, commonPut, commonDelete, convertDatalist, buildPageable, formatUrl,exportExcel };
...@@ -18,11 +18,9 @@ const checkListColumns = (self) => { ...@@ -18,11 +18,9 @@ const checkListColumns = (self) => {
key: 'type', key: 'type',
width: '20%', width: '20%',
render: (text, record) => { render: (text, record) => {
debugger
if (record && record !== null) { if (record && record !== null) {
record.map((item, index) => { record.map((item, index) => {
//根据换行符分隔 //根据换行符分隔
debugger
let arr = item.type.split(","); let arr = item.type.split(",");
let p = document.createElement('span'); let p = document.createElement('span');
...@@ -36,7 +34,7 @@ const checkListColumns = (self) => { ...@@ -36,7 +34,7 @@ const checkListColumns = (self) => {
grandChildItem.append(font); grandChildItem.append(font);
p.append(grandChildItem); p.append(grandChildItem);
} }
}); });
return <div dangerouslySetInnerHTML={{ __html: p.outerHTML }} ></div> return <div dangerouslySetInnerHTML={{ __html: p.outerHTML }} ></div>
...@@ -45,7 +43,7 @@ const checkListColumns = (self) => { ...@@ -45,7 +43,7 @@ const checkListColumns = (self) => {
} }
} }
},{ },{
title: '风险等级', title: '风险等级',
...@@ -62,7 +60,7 @@ const checkListColumns = (self) => { ...@@ -62,7 +60,7 @@ const checkListColumns = (self) => {
}; };
export const data = export const data =
[ [
{ {
...@@ -135,7 +133,6 @@ class RiskSourceDetailModal extends Component { ...@@ -135,7 +133,6 @@ class RiskSourceDetailModal extends Component {
} }
render() { render() {
debugger
//const { data = {} } = this.state; //const { data = {} } = this.state;
return ( return (
<div className="risk-warn"> <div className="risk-warn">
......
...@@ -90,10 +90,7 @@ export const bizControls = [ ...@@ -90,10 +90,7 @@ export const bizControls = [
{ key: 'impEqu_04', label: 'IP设备' } { key: 'impEqu_04', label: 'IP设备' }
] }, ] },
// { key: 'monitorEquipment-point', icon: 'shujudian', type: 'monitorEquipment', label: '动环数据' }, // { key: 'monitorEquipment-point', icon: 'shujudian', type: 'monitorEquipment', label: '动环数据' },
{ key: 'dynamicRingData-point', icon: 'shujudian', type: 'dynamicRingData', label: '动环数据', subs: [ { key: 'dynamicRingData-point', icon: 'shujudian', type: 'dynamicRingData', label: '动环数据' },
{ key: 'dynamicRingData_01', label: '动环数据' },
{ key: 'dynamicRingData_02', label: '火探' }
] },
{ key: 'monitor-point', icon: 'xunjiandian', type: 'video', label: '视频监控' } { key: 'monitor-point', icon: 'xunjiandian', type: 'video', label: '视频监控' }
]; ];
......
...@@ -11,8 +11,8 @@ const AmosConfig = endConf.AmosConfig; ...@@ -11,8 +11,8 @@ const AmosConfig = endConf.AmosConfig;
const imgs = {"二线技术":"/src/assets/indexChart/work.png", const imgs = {"二线技术":"/src/assets/indexChart/work.png",
"二线业务":"/src/assets/indexChart/service.png"} "二线业务":"/src/assets/indexChart/service.png"}
const time = {'早班': '08:30-20:30', // const time = {'早班': '08:30-20:30',
'晚班': '20:30-次日08:30'} // '晚班': '20:30-次日08:30'}
@eventConnect @eventConnect
class MiddleTable extends Component { class MiddleTable extends Component {
...@@ -25,7 +25,10 @@ class MiddleTable extends Component { ...@@ -25,7 +25,10 @@ class MiddleTable extends Component {
this.state = { this.state = {
headerData: {}, headerData: {},
dataList: [], dataList: [],
arrangeName: null arrangeList: [],
arrangeName: null,
arrangeNo: '',
id: ''
}; };
} }
...@@ -33,6 +36,17 @@ class MiddleTable extends Component { ...@@ -33,6 +36,17 @@ class MiddleTable extends Component {
this.refreshDataList(); this.refreshDataList();
this.getHeaderData(); this.getHeaderData();
} }
getarrangeIdex = () =>{
const { arrangeList, arrangeNo } = this.state;
let count = 0;
for (let i = 0; i < arrangeList.length; i++){
if (arrangeList[i].id === arrangeNo){
return count;
} else {
count = count + 1;
}
}
}
getHeaderData = () => { getHeaderData = () => {
middleHeaderAction().then(data => { middleHeaderAction().then(data => {
if(data!=null){ if(data!=null){
...@@ -41,16 +55,43 @@ class MiddleTable extends Component { ...@@ -41,16 +55,43 @@ class MiddleTable extends Component {
}); });
} }
refreshDataList = () => { leftClick = () =>{
middleTabletAction().then(data => { const { arrangeList } = this.state;
this.setState({ dataList: data.content, arrangeName:data.arrangeName }); let count = this.getarrangeIdex();
if (count - 1 < 0 ){
return;
} else {
count = count - 1;
}
middleTabletAction(arrangeList[count].id).then(data => {
this.setState({ dataList: data.content, arrangeName: data.arrangeName,arrangeList: data.arrangeList,arrangeNo: data.arrangeNo });
});
}
rightClick= ()=>{
const { arrangeList } = this.state;
let count = this.getarrangeIdex();
if (count + 1 > arrangeList.length - 1){
return;
} else {
count = count + 1;
}
middleTabletAction(arrangeList[count].id).then(data => {
this.setState({dataList: data.content, arrangeName: data.arrangeName,arrangeList: data.arrangeList,arrangeNo: data.arrangeNo });
}); });
} }
refreshDataList = () => {
middleTabletAction(this.state.id).then(data => {
console.log(data);
this.setState({ dataList: data.content, arrangeName: data.arrangeName,arrangeList: data.arrangeList,arrangeNo: data.arrangeNo });
});
}
render() { render() {
const { headerData, dataList, arrangeName, selectTime } = this.state; const { headerData, dataList,arrangeList, arrangeNo } = this.state;
let leader = (headerData.leader && headerData.leader[0]) || {}; let leader = (headerData.leader && headerData.leader[0]) || {};
let secondTier = headerData.secondTier || []; let secondTier = headerData.secondTier || [];
let arrange = arrangeList.find(item => item.id === arrangeNo) || {};
return ( return (
<div className='table-middle'> <div className='table-middle'>
<div className='leaderBox'> <div className='leaderBox'>
...@@ -78,7 +119,10 @@ class MiddleTable extends Component { ...@@ -78,7 +119,10 @@ class MiddleTable extends Component {
<Row className='table-header-row'>{ leader.phone || ''}</Row> <Row className='table-header-row'>{ leader.phone || ''}</Row>
</Col> </Col>
<Col className='table-header-right'> <Col className='table-header-right'>
<Row className='table-header-row'>二线人员</Row> <Row className='table-header-row'>
</Row>
{ second && second.map(e => { { second && second.map(e => {
return (<Row className='table-header-row' key={e}> return (<Row className='table-header-row' key={e}>
<img src={ imgs[e.post] }/><span style={{color:'#05ddf9'}}>{e.post}</span>&emsp;&emsp; <img src={ imgs[e.post] }/><span style={{color:'#05ddf9'}}>{e.post}</span>&emsp;&emsp;
...@@ -91,11 +135,11 @@ class MiddleTable extends Component { ...@@ -91,11 +135,11 @@ class MiddleTable extends Component {
<Row className='table-body-cotent firstPeople'> <Row className='table-body-cotent firstPeople'>
<Col className=''> <Col className=''>
<Row className='table-header-row title'> <Row className='table-header-row title'>
{/* <Col className='leftBtn' span={1}><img className='table-page-img' src="/src/assets/3dview/left.png" onClick={ () => this.leftClick() }/></Col> */} <Col className='leftBtn' span={1}><img className='table-page-img' src="/src/assets/3dview/left.png" onClick={ () => this.leftClick() }/></Col>
<Col span={7}>岗位</Col> <Col span={7}>岗位</Col>
<Col span={8}>{time[arrangeName]}</Col> <Col span={8}>{arrange.startTime} - {arrange.endTime} </Col>
<Col span={7}>电话</Col> <Col span={7}>电话</Col>
{/* <Col className='rightBtn' span={1}><img className='table-page-img' src="/src/assets/3dview/right.png" onClick={ () => this.rightClick() }/></Col> */} <Col className='rightBtn' span={1}><img className='table-page-img' src="/src/assets/3dview/right.png" onClick={ () => this.rightClick() }/></Col>
</Row> </Row>
{ dataList && dataList.map((d,index) => { { dataList && dataList.map((d,index) => {
return ( return (
......
import React, { Component } from 'react';
import PropTypes from 'prop-types';
import AmosEcharts from 'amos-viz/lib/echarts';
/**
* 巡检首页-图表
*
* @class PatrolChart
* @extends {Component}
*/
class AlarmLineChart extends Component {
constructor(props) {
super(props);
}
getOption = () => {
const { data } = this.props;
const { xAxis, urgent, important, secondary, warning } = data || {};
return {
grid: {
top: '40px',
bottom: '10px',
containLabel: true
},
tooltip: {
trigger: 'axis',
axisPointer: {
type: 'shadow'
}
},
legend: {
icon: 'circle',
// itemWidth: 14,
// itemHeight: 5,
// itemGap: 13,
textStyle: {
color: 'white'
},
data: ['紧急', '重要', '次要','警告']
},
xAxis: {
type: 'category',
data: xAxis,
axisLabel: {
interval: 0,
show: true,
textStyle: {
color: 'white'
}
},
axisLine: {
lineStyle: {
show: false,
color: '#494d54',
width: 1
}
}
},
yAxis: [{
nameLocation: 'middle',
nameTextStyle: {
'color': '#AEA4A8'
},
axisLabel: {
interval: 0,
show: true
},
axisLine: {
show: false
},
axisTick: {
show: false
},
splitLine: {
lineStyle: {
color: '#e6e6e6',
width: 1
}
}
}
],
series: [{
name: '紧急',
type: 'line',
smooth: true,
barGap: 0,
barWidth: '30%',
label: {
normal: {
show: true,
position: 'top',
color: '#dc143c',
align: 'center'
}
},
itemStyle: {
normal: {
color: '#dc143c',
barBorderRadius: 11
}
},
data: urgent
},
{
name: '重要',
type: 'line',
smooth: true,
barGap: 0,
barWidth: '30%',
label: {
normal: {
show: true,
position: 'top',
color: '#ff7f50',
align: 'center'
}
},
itemStyle: {
normal: {
color: '#ff7f50',
barBorderRadius: 11
}
},
data: important
},{
name: '次要',
type: 'line',
smooth: true,
barGap: 0,
barWidth: '30%',
label: {
normal: {
show: true,
position: 'top',
color: '#ffd700',
align: 'center'
}
},
itemStyle: {
normal: {
color: '#ffd700',
barBorderRadius: 11
}
},
data: secondary
},{
name: '警告',
type: 'line',
smooth: true,
barGap: 0,
barWidth: '30%',
label: {
normal: {
show: true,
position: 'top',
color: '#00ced1',
align: 'center'
}
},
itemStyle: {
normal: {
color: '#00ced1',
barBorderRadius: 11
}
},
data: warning
}]
};
}
render() {
console.log(this.getOption());
return (
<div className="alarmLineChart">
<AmosEcharts option={this.getOption()} />
</div>
);
}
}
AlarmLineChart.propTypes = {
data: PropTypes.object
};
AlarmLineChart.defaultProps = {
data: []
};
export default AlarmLineChart;
...@@ -2,7 +2,8 @@ import React, { Component } from 'react'; ...@@ -2,7 +2,8 @@ import React, { Component } from 'react';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import { Form, Input, Radio, Select, Button, Toast, CopyToClipboard } from 'amos-framework'; import { Form, Input, Radio, Select, Button, Toast, CopyToClipboard } from 'amos-framework';
// eslint-disable-next-line max-len // eslint-disable-next-line max-len
import { getRiskSoureData, updateRiskSourePosition3d, getPointData, updatePointPosition3d, getMonitorsByFloor3d, updateMonitorPosition3d } from 'SERVICES/pickService'; import { getRiskSoureData, updateRiskSourePosition3d, getPointData, updatePointPosition3d, getMonitorsByFloor3d, updateMonitorPosition3d, updateDynamicRingPosition } from 'SERVICES/pickService';
import { initView3DFromBizAction } from './../../../../../src/services/bizService';
const FormItem = Form.Item; const FormItem = Form.Item;
const Option = Select.Option; const Option = Select.Option;
...@@ -53,12 +54,15 @@ class PickModal extends Component { ...@@ -53,12 +54,15 @@ class PickModal extends Component {
case 'impEquipment': case 'impEquipment':
this.setState({ datas: [] }); this.setState({ datas: [] });
break; break;
case 'dynamicRingData': // case 'dynamicRingData':
this.setState({ datas: [] }); // this.setState({ datas: [] });
break; // break;
case 'video': case 'video':
this.getMonitorData(); this.getMonitorData();
break; break;
case 'dynamicRingData':
this.getDynamicRingData();
break;
default: default:
console.log('不支持的类型'); console.log('不支持的类型');
} }
...@@ -142,6 +146,28 @@ class PickModal extends Component { ...@@ -142,6 +146,28 @@ class PickModal extends Component {
}); });
} }
/**
* 获取动环监测点
*
* @memberof PickModal
*/
getDynamicRingData = () => {
const { orgCode } = this.props;
const { form } = this.state;
initView3DFromBizAction('dynamicRingData',orgCode).then(data => {
var filteredProducts = [];
for ( let i = 0;i < data.length; i++){
console.log( data[i].objKey.charAt(data[i].objKey.length - 1));
if (Number(data[i].objKey.charAt(data[i].objKey.length - 1)) === Number(form.floor) ){
filteredProducts.push(data[i]);
}
}
this.setState({ datas: data });
console.log(this.state.datas);
});
}
/** /**
* 更新监控点坐标 * 更新监控点坐标
* *
...@@ -155,6 +181,20 @@ class PickModal extends Component { ...@@ -155,6 +181,20 @@ class PickModal extends Component {
this.props.onCancel(); this.props.onCancel();
}); });
} }
/**
* 更新动环点坐标
*
* @memberof PickModal
*/
updateDynamicRingPosition3d = (pickedPosition) => {
const { form } = this.state;
const param = Object.assign({}, form, { position3d: pickedPosition.join(',') });
updateDynamicRingPosition(param).then(res => {
Toast.success({ title: `${form.desc}三维坐标更新成功!` });
this.props.onCancel();
});
}
handleSubmit = e => { handleSubmit = e => {
this.form.validate((valid, dataValues) => { this.form.validate((valid, dataValues) => {
...@@ -171,6 +211,7 @@ class PickModal extends Component { ...@@ -171,6 +211,7 @@ class PickModal extends Component {
case 'impEquipment': case 'impEquipment':
break; break;
case 'dynamicRingData': case 'dynamicRingData':
this.updateDynamicRingPosition3d(pickedPosition);
break; break;
case 'video': case 'video':
this.updateMonitorPosition3d(pickedPosition); this.updateMonitorPosition3d(pickedPosition);
...@@ -220,13 +261,14 @@ class PickModal extends Component { ...@@ -220,13 +261,14 @@ class PickModal extends Component {
{/* <Option value="impEquipment">网络设备</Option> */} {/* <Option value="impEquipment">网络设备</Option> */}
{/* {<Option value="dynamicRingData">动环数据</Option>} */} {/* {<Option value="dynamicRingData">动环数据</Option>} */}
{<Option value="video">视频监控</Option>} {<Option value="video">视频监控</Option>}
{/* {<Option value="dynamicRingData">动环监测</Option>} */}
</Select> </Select>
</FormItem> </FormItem>
<FormItem label={form.desc} field="data" {...formItemLayout}> <FormItem label={form.desc} field="data" {...formItemLayout}>
<RadioGroup onChange={this.onRadioChange}> <RadioGroup onChange={this.onRadioChange}>
{ datas.map(item => { { datas.map(item => {
return ( return (
<Radio key={item.token} value={item.id}>{item.name}</Radio> <Radio key={item.token} value={item.id}>{item.label || item.name }</Radio>
); );
})} })}
</RadioGroup> </RadioGroup>
......
...@@ -53,50 +53,54 @@ class DynamicRingDataModal extends Component { ...@@ -53,50 +53,54 @@ class DynamicRingDataModal extends Component {
queryDynamicRingData =(dialogId)=>{ queryDynamicRingData =(dialogId)=>{
dynamicRingData3dAction(dialogId).then(data =>{ dynamicRingData3dAction(dialogId).then(data =>{
let monitorElectricityJson = data.find(e => { return e.equipTempCapabName === '运行参数'}) == undefined ? [] : data.find(e => { return e.equipTempCapabName === '运行参数'}).metricList; let monitorElectricityJson = data.find(e => { return e.equipTempCapabName === '运行参数' || e.equipTempCapabName === '市电监测'
let alarmMessageJson = data.find(e => { return e.equipTempCapabName === '监测报警'}) == undefined ? [] : data.find(e => { return e.equipTempCapabName === '监测报警'}).metricList; || e.equipTempCapabName === '常电监测' || e.equipTempCapabName === '进线参数' ;}) === undefined ? [] : data.find(e => { return e.equipTempCapabName === '运行参数' ||
let otherInfoJson = data.find(e => { return e.equipTempCapabName === '运行状态'}) == undefined ? [] : data.find(e => { return e.equipTempCapabName === '运行状态'}).metricList; e.equipTempCapabName === '市电监测' || e.equipTempCapabName === '常电监测' || e.equipTempCapabName === '进线参数';}).metricList;
this.setState({ let alarmMessageJson = data.find(e => { return e.equipTempCapabName === '监测报警' || e.equipTempCapabName === '监控告警';
// monitorElectricity: monitorElectricityJson != 'null' ? JSON.parse(monitorElectricityJson) : {}, }) === undefined ? [] : data.find(e => { return e.equipTempCapabName === '监测报警' || e.equipTempCapabName === '监控告警'; }).metricList;
// alarmMessage: alarmMessageJson != 'null' ? JSON.parse(alarmMessageJson) : {}, let otherInfoJson = data.find(e => { return e.equipTempCapabName === '运行状态' || e.equipTempCapabName === '状态' || e.equipTempCapabName === '通信状态'
// otherInfo: otherInfoJson != 'null' ? JSON.parse(otherInfoJson) : {}, ; }) === undefined ?
monitorElectricity: monitorElectricityJson != 'null' ? monitorElectricityJson : [], [] : data.find(e => { return e.equipTempCapabName === '运行状态' || e.equipTempCapabName === '状态' || e.equipTempCapabName === '通信状态';}).metricList;
alarmMessage: alarmMessageJson != 'null' ? alarmMessageJson : [], this.setState({
otherInfo: otherInfoJson != 'null' ? otherInfoJson : [], monitorElectricity: monitorElectricityJson != 'null' ? monitorElectricityJson : [],
}); alarmMessage: alarmMessageJson != 'null' ? alarmMessageJson : [],
otherInfo: otherInfoJson != 'null' ? otherInfoJson : [],
});
}); });
} }
onTabClick = (value) => { // onTabClick = (value) => {
this.setState({ activeKey: value }); // this.setState({ activeKey: value });
}; // };
render() { render() {
const { data, monitorElectricity, alarmMessage, otherInfo, activeKey } = this.state; const { monitorElectricity, alarmMessage, otherInfo } = this.state;
return ( return (
<div className="dynamicRingData-info"> <div>
<Tabs className='dynamicRingData-info-body' activeKey={activeKey} onChange={(index, key) => this.onTabClick(key)} destroyContent closeAnimate cardMode> <div className="dynamicRingData-info">
<TabList> {/* <TabList>
{serverTabs.map((item, i) => ( {serverTabs.map((item, i) => (
<Tab key={item.id} activeKey={item.id} closable={item.closable}> <Tab key={item.id} activeKey={item.id} closable={item.closable}>
{item.title} {item.title}
</Tab> </Tab>
))} ))}
</TabList> </TabList> */}
<TabPanel activeKey="1"> <div className="dynamicRingData-info-body">
<MonitorElectricity data = {monitorElectricity}/> <div>
</TabPanel> <MonitorElectricity data={monitorElectricity} />
<TabPanel activeKey="2"> </div>
<AlarmMessage data = {alarmMessage}/> <div >
</TabPanel> <AlarmMessage data={alarmMessage} />
<TabPanel activeKey="3"> </div>
<OtherInfo data = {otherInfo}/> <div>
</TabPanel> <OtherInfo data={otherInfo} />
</Tabs> </div>
</div> </div>
</div>
</div>
); );
} }
} }
......
...@@ -158,7 +158,7 @@ class TopologyComponent extends Component { ...@@ -158,7 +158,7 @@ class TopologyComponent extends Component {
showToolTip = (obj, diagram, tool) => { showToolTip = (obj, diagram, tool) => {
let toolTipDIV = document.getElementById('toolTipDIV'); let toolTipDIV = document.getElementById('toolTipDIV');
let pt = diagram.lastInput.viewPoint; let pt = diagram.lastInput.viewPoint;
toolTipDIV.style.left = `${pt.x + 12}px`; toolTipDIV.style.left = `${pt.x - 300}px`;
toolTipDIV.style.top = `${pt.y}px`; toolTipDIV.style.top = `${pt.y}px`;
toolTipDIV.style.display = 'block'; toolTipDIV.style.display = 'block';
this.getNodeDetail(obj.data.id); this.getNodeDetail(obj.data.id);
......
...@@ -124,7 +124,7 @@ class NetTopology extends Component { ...@@ -124,7 +124,7 @@ class NetTopology extends Component {
<div className={classnames({ 'left-content': isTreeDisplay, 'left-content-close': !isTreeDisplay })}> <div className={classnames({ 'left-content': isTreeDisplay, 'left-content-close': !isTreeDisplay })}>
<div className={classnames({ 'view-header': isTreeDisplay, 'view-header-close': !isTreeDisplay })}> <div className={classnames({ 'view-header': isTreeDisplay, 'view-header-close': !isTreeDisplay })}>
<div className="left-view"> <div className="left-view">
<img className="image-sytle" src="/src/assets/bizView/netTopology/left-view.png" alt="左视图" onClick={() => this.toggleView('left')} /> <img className="image-sytle" src="/src/assets/bizView/netTopology/left-view.png" alt="左视图" onClick={() => this.toggleView('right')} />
</div> </div>
<div className="right-view"> <div className="right-view">
<img className="image-sytle" src="/src/assets/bizView/netTopology/detail-view.png" alt="详细视图" onClick={() => this.toggleView('detail')} /> <img className="image-sytle" src="/src/assets/bizView/netTopology/detail-view.png" alt="详细视图" onClick={() => this.toggleView('detail')} />
......
import React, { Component } from 'react'; import React, { Component } from 'react';
import { Table, Col, Row,Pagination } from 'amos-antd'; import { Table, Col, Row,Pagination } from 'amos-antd';
import _amosTool from 'amos-tool';
import BizIcon from './../../../common/icon/BizIcon'; import BizIcon from './../../../common/icon/BizIcon';
import { Icon,Button } from 'amos-framework'; import { Icon,Button } from 'amos-framework';
import { getWarningsData, getWarningsByPageData, getWarningsExcelData } from 'SERVICES/situationService'; import { getWarningsData, getWarningsByPageData, getWarningsExcelData } from 'SERVICES/situationService';
import AmosWebSocket from 'amos-websocket'; import AmosWebSocket from 'amos-websocket';
import SysWsURL, { completeToken } from 'CONSTS/wsUrlConsts'; import SysWsURL, { completeToken } from 'CONSTS/wsUrlConsts';
import WarningsSearchFilter from './WarningsSearchFilter'; import WarningsSearchFilter from './WarningsSearchFilter';
import { exportExcel } from './../../../../utils/request';
import './../../../../view/bank/3dview/common/biz/FilterPane.scss'; import './../../../../view/bank/3dview/common/biz/FilterPane.scss';
import './../../../../styles/view/biz/situation/warn.scss'; import './../../../../styles/view/biz/situation/warn.scss';
//页面列表 //页面列表
const columnss = () => [ const columnss = () => [
{ title: '设备编号', dataIndex: 'sourceId', key: "sourceId", width: '6%' }, { title: '设备编号', dataIndex: 'sourceId', key: "sourceId", width: '6%' },
...@@ -169,7 +172,7 @@ class Warnings extends Component { ...@@ -169,7 +172,7 @@ class Warnings extends Component {
current = arr - 1; current = arr - 1;
} }
getWarningsByPageData(pageItem1, pageItem.current, pageItem.pageSize).then((data) => { getWarningsByPageData(pageItem1, current, pageItem.pageSize).then((data) => {
this.setState({ this.setState({
warnings: data.content, warnings: data.content,
pageItem: { pageItem: {
...@@ -217,7 +220,8 @@ class Warnings extends Component { ...@@ -217,7 +220,8 @@ class Warnings extends Component {
*/ */
onClickExport = (data) => { onClickExport = (data) => {
let url = getWarningsExcelData(); let url = getWarningsExcelData();
window.open(url); // window.open(url);
exportExcel({ url, method: 'get' }, '告警信息下载');
} }
/** /**
......
...@@ -100,7 +100,6 @@ class DangerList extends Component { ...@@ -100,7 +100,6 @@ class DangerList extends Component {
exportDangerList = (searchParam) => { exportDangerList = (searchParam) => {
let url = formatUrl(SpcSerUrl.exportDangerListUrl); let url = formatUrl(SpcSerUrl.exportDangerListUrl);
debugger
fetch(url, { fetch(url, {
method: 'post', method: 'post',
headers: { headers: {
...@@ -111,7 +110,6 @@ class DangerList extends Component { ...@@ -111,7 +110,6 @@ class DangerList extends Component {
}, },
body: JSON.stringify(searchParam) body: JSON.stringify(searchParam)
}).then(e => { }).then(e => {
debugger
e.blob().then(blob => { e.blob().then(blob => {
const a = window.document.createElement('a'); const a = window.document.createElement('a');
const downUrl = window.URL.createObjectURL(blob); const downUrl = window.URL.createObjectURL(blob);
......
...@@ -209,7 +209,6 @@ class DifferentiateView extends Component { ...@@ -209,7 +209,6 @@ class DifferentiateView extends Component {
let startTime = new Date(searchParam.startTime).getTime(); let startTime = new Date(searchParam.startTime).getTime();
let endTime = new Date(searchParam.endTime).getTime(); let endTime = new Date(searchParam.endTime).getTime();
dataList = dataList.filter(item => { dataList = dataList.filter(item => {
debugger
let _time = new Date(item.time).getTime(); let _time = new Date(item.time).getTime();
return _time >= startTime && _time <= endTime; return _time >= startTime && _time <= endTime;
}); });
......
...@@ -64,7 +64,6 @@ class AlarmSearch extends Component { ...@@ -64,7 +64,6 @@ class AlarmSearch extends Component {
}; };
searchData = () => { searchData = () => {
debugger
let { searchParam } = this.state; let { searchParam } = this.state;
this.props.setSearchParam(searchParam); this.props.setSearchParam(searchParam);
}; };
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment