Commit 05e6152c authored by xinglei's avatar xinglei

延时刷新风险总数websocket

parent 11d9caac
......@@ -25,7 +25,7 @@
//picURI为地图瓦片服务器地址
picURI: 'http://172.16.3.121:8001/',
loginURI: 'http://172.16.10.72',//基础平台
//巡检图片
//巡检图片
patrolURI: 'http://172.16.11.20:9999/',
// 斜影路径
......@@ -39,7 +39,7 @@
// websocket 地址
wsURI: {
baseURI: 'ws://172.16.11.20:10600/',
rulesConfigURI: 'ws://172.16.11.20:8080/',
rulesConfigURI: 'ws://172.16.11.20:8080/',
securityBaseURI: 'ws://172.16.11.20:10600/',
viewTileURI: '',//卫星图消息 //mqtt消息接受地址
mqttURI: 'ws://172.16.11.20:8083/mqtt'
......@@ -61,10 +61,10 @@
isAutoOpenBussiness: true,
//内外部地图加载,outMap是true 使用离线地图, false使用在线地图
outMap: true,
evaluateModelId: 11
evaluateModelId: 11 //配置评价方法ID
},
//添加关联设备弹出框标识 'bank'代表银行 'fireAutoSys'代表换流站
equipmentIdentification:'bank',
//添加关联设备弹出框标识 'bank'代表银行 'fireAutoSys'代表换流站
equipmentIdentification: 'bank',
// 屏保配置信息
screenSaverConf: {
......
......@@ -10,7 +10,7 @@ import { Table } from 'amos-antd';
import BottomTable from './rightChartChild/bottomTable';
import moment from 'moment';
import { BarCharts } from 'amos-core';
import { setPieOption,setLineOption } from './chartData';
import { setPieOption, setLineOption } from './chartData';
import ReactEcharts from 'amos-viz/lib/echarts';
import { getLeftMetricDataAction, getLeftDangerDataAction } from './../../../../services/2dService';
import { browserHistory } from 'amos-react-router';
......@@ -24,56 +24,56 @@ const chartStyle = {
width: '100%', height: '100%'
};
const chartDatas = {
dangerNums:{
dangerNums: {
total: 0,
data: [
{
name:'一级风险',
value:'0/0'
},{
name:'二级风险',
value:'0/0'
},{
name:'三级风险',
value:'0/0'
},{
name:'四级风险',
value:'0/0'
name: '一级风险',
value: '0/0'
}, {
name: '二级风险',
value: '0/0'
}, {
name: '三级风险',
value: '0/0'
}, {
name: '四级风险',
value: '0/0'
}
]
},
alarmNums:{
alarmNums: {
total: 223,
data: [
{
name:'紧急',
value:'0/0'
},{
name:'重要',
value:'0/0'
},{
name:'次要',
value:'0/0'
},{
name:'警告',
value:'0/0'
name: '紧急',
value: '0/0'
}, {
name: '重要',
value: '0/0'
}, {
name: '次要',
value: '0/0'
}, {
name: '警告',
value: '0/0'
}
]
},
equipmentData:[
equipmentData: [
{
name: '网络设备',
num: 0,
unit: '个',
damageNum: 0,
damageRate: '0%'
},{
}, {
name: '服务器',
num: 0,
unit: '个',
damageNum: 0,
damageRate: '0%'
},{
}, {
name: 'NPC节点',
num: 0,
unit: '个',
......@@ -81,10 +81,10 @@ const chartDatas = {
damageRate: '0%'
}
],
rangeData:[
rangeData: [
{
name:'中心机房',
data:[
name: '中心机房',
data: [
{
name: '供配电',
normalNum: 11,
......@@ -94,19 +94,19 @@ const chartDatas = {
name: 'UPS',
normalNum: 15,
damageNum: 6
},{
}, {
name: '精密空调',
normalNum: 21,
damageNum: 5
},{
}, {
name: '其他',
normalNum: 19,
damageNum: 8
}
]
},{
name:'通信转接机房',
data:[
}, {
name: '通信转接机房',
data: [
{
name: '供配电',
normalNum: 13,
......@@ -116,11 +116,11 @@ const chartDatas = {
name: 'UPS',
normalNum: 17,
damageNum: 5
},{
}, {
name: '精密空调',
normalNum: 15,
damageNum: 7
},{
}, {
name: '其他',
normalNum: 19,
damageNum: 8
......@@ -143,31 +143,24 @@ class LeftCharts extends Component {
this.state = {
currentCode: this.props.currentCode || '1*2',
dangerNumData: [],
gjdate:[],
gjznum:0,
gjdate: [],
gjznum: 0,
equipmentData: [],
dangerAllNum: [0,0]
dangerAllNum: [0, 0]
};
}
componentDidMount() {
// getLeftMetricDataAction({code:this.state.currentCode}).then(data => {
// console.log('hhhhh',data);
// this.setState({
// dangerNumData: data
// });
// });
this.initData();
}
handleData = (data) => {
console.log(data);
this.initData();
}
console.log('WS风险总数刷新...');
setTimeout(() => {
this.initData();
}, 2000);
};
componentWillReceiveProps = nextProps => {
if (nextProps.currentCode && this.state.currentCode !== nextProps.currentCode) {
......@@ -180,23 +173,22 @@ class LeftCharts extends Component {
initData = () => {
getLeftMetricDataAction({ code: this.state.currentCode }).then(data => {
//console.log('hhhhh',data);
let dataList = data.data || [];
let num=0;
dataList.forEach(v=>{
num=num+Number(v.value.split('/')[1]);
let num = 0;
dataList.forEach(v => {
num = num + Number(v.value.split('/')[1]);
});
this.state.dangerAllNum[0] = num || 0;
this.props.dotTipNumChange(this.state.dangerAllNum[0]+this.state.dangerAllNum[1]);
this.props.dotTipNumChange(this.state.dangerAllNum[0] + this.state.dangerAllNum[1]);
this.setState({
dangerNumData: data,
dangerAllNum: this.state.dangerAllNum
});
if (data.result === 'FAILURE' && data.message) { AmosAlert.error('警告', data.message);}
if (data.result === 'FAILURE' && data.message) { AmosAlert.error('警告', data.message); }
});
let dates = {
let dates = {
collectionName: 'alarm',
conditions: [
{
......@@ -212,13 +204,13 @@ class LeftCharts extends Component {
getLeftDangerDataAction({ code: this.state.currentCode }).then(data => {
if (data&&data.length>0){
let num=0;
data.forEach(v=>{
num=num+v.value;
if (data && data.length > 0) {
let num = 0;
data.forEach(v => {
num = num + v.value;
});
this.state.dangerAllNum[1] = num || 0;
this.props.dotTipNumChange(this.state.dangerAllNum[0]+this.state.dangerAllNum[1]);
this.props.dotTipNumChange(this.state.dangerAllNum[0] + this.state.dangerAllNum[1]);
this.setState({
gjznum: num,
dangerAllNum: this.state.dangerAllNum
......@@ -239,25 +231,18 @@ class LeftCharts extends Component {
}
gofx(){
gofx() {
browserHistory.push('/biz/riskModel');
}
componentWillUnmount() {
}
renderDangerNum = () => {
let { dangerNumData } = this.state;
return (dangerNumData.data || chartDatas.dangerNums.data || []).map((item,index) => {
return (dangerNumData.data || chartDatas.dangerNums.data || []).map((item, index) => {
return (
<div className='item' key={index} onClick={ () => {this.gofx()} }>
<div className='item' key={index} onClick={() => { this.gofx() }}>
<div className='itemContent' >
<span className='itemValue'>{item.value}</span>
<span className='itemLable'>{item.name}</span>
......@@ -280,8 +265,8 @@ class LeftCharts extends Component {
let { gjdate } = this.state;
// gjdate = gjdate.filter( e => { return e._id != null })
if(!utils.isEmpty(gjdate) && utils.isArray(gjdate)){
return (gjdate||[]).map((item, index) => {
if (!utils.isEmpty(gjdate) && utils.isArray(gjdate)) {
return (gjdate || []).map((item, index) => {
return (
<div className='item' key={index}>
<div className='itemContent'>
......@@ -292,9 +277,9 @@ class LeftCharts extends Component {
</div>
)
})
}else{
} else {
let alarmNumData = chartDatas.alarmNums.data || [];
return alarmNumData.map((item,index) => {
return alarmNumData.map((item, index) => {
return (
<div className='item' key={index}>
<div className='itemContent'>
......@@ -320,21 +305,20 @@ class LeftCharts extends Component {
<BarCharts barOps={setPieOption(item)} />
</div>
<div className='chartDesc'>
<span className='itemName'>
{
item.name === '网络设备'?
<span className='itemIcon' style={{ background: 'url("/src/assets/indexChart/net.png") no-repeat center center/100% 100%' }}></span>:
item.name === '服务器'?
<span className='itemIcon' style={{ background: 'url("/src/assets/indexChart/service.png") no-repeat center center/100% 100%' }}></span>:
item.name === 'NPC节点'?
<span className='itemIcon' style={{ background: 'url("/src/assets/indexChart/NPC.png") no-repeat center center/100% 100%' }}></span>:''
item.name === '网络设备' ?
<span className='itemIcon' style={{ background: 'url("/src/assets/indexChart/net.png") no-repeat center center/100% 100%' }}></span> :
item.name === '服务器' ?
<span className='itemIcon' style={{ background: 'url("/src/assets/indexChart/service.png") no-repeat center center/100% 100%' }}></span> :
item.name === 'NPC节点' ?
<span className='itemIcon' style={{ background: 'url("/src/assets/indexChart/NPC.png") no-repeat center center/100% 100%' }}></span> : ''
}
{item.templateAlias || item.name}
</span>
{
item.alarmTotal&&item.alarmTotal!=0?<span className='itemValue'>{`${Math.round(((item.alarmTotal / item.total)*100))}% ${item.alarmTotal || 0}个`}</span>:
<span className='itemValue'>{`0% 0个`}</span>
item.alarmTotal && item.alarmTotal != 0 ? <span className='itemValue'>{`${Math.round(((item.alarmTotal / item.total) * 100))}% ${item.alarmTotal || 0}个`}</span> :
<span className='itemValue'>{`0% 0个`}</span>
}
</div>
......@@ -353,11 +337,11 @@ class LeftCharts extends Component {
</div>
<div className='chartBox'>
{/*<LineCharts barOps={setLineOption(item)} chartStyle={chartStyle} />*/}
<ReactEcharts option={setLineOption(item)} style={chartStyle} className="react_for_echarts" />
<ReactEcharts option={setLineOption(item)} style={chartStyle} className="react_for_echarts" />
</div>
</div>
)
})
);
});
}
renderWorkList = () => {
// let workMsg = chartDatas.workMsg || [];
......@@ -378,11 +362,11 @@ class LeftCharts extends Component {
render() {
let now = moment().locale('zh-cn').format('YYYY-MM-DD');
const { dangerNumData,gjdate,gjznum } = this.state;
const { dangerNumData, gjdate, gjznum } = this.state;
const wsURL = completeToken(SysWsURL.view3dws);
return (
<div className="chart-content">
<AmosWebSocket ref={node => this.aws = node} url={wsURL} onMessage={this.handleData} reconnect />
<AmosWebSocket ref={node => this.aws = node} url={wsURL} onMessage={this.handleData} reconnect />
<div className='dangerNums'>
<div className='tieleBox'>
......@@ -403,7 +387,7 @@ class LeftCharts extends Component {
<span className='titleLeft'>
<span className='titleIcon' style={{ background: 'url("/src/assets/indexChart/point.png") no-repeat center center/100% 100%' }}></span>
告警统计</span>
<span className='titleRight'>{gjznum|| 0}</span>
<span className='titleRight'>{gjznum || 0}</span>
</div>
</div>
<div className='chartBody'>
......@@ -434,17 +418,17 @@ class LeftCharts extends Component {
{this.renderRangeData()}
</div>
</div>*/}
<div className='business'>
<div className='title'>
<span className='titleLeft'>
<div className='business'>
<div className='title'>
<span className='titleLeft'>
<span className='titleIcon' style={{ background: 'url("/src/assets/indexChart/point.png") no-repeat center center/100% 100%' }}></span>
支付业务累计数据</span>
<span className='titleRight'>{ now }</span>
</div>
<div className='chartBody'>
<BottomTable />
</div>
<span className='titleRight'>{now}</span>
</div>
<div className='chartBody'>
<BottomTable />
</div>
</div>
</div>
);
}
......
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