Commit d8bc10d6 authored by zhengjiangtao's avatar zhengjiangtao

Merge branch 'develop_20200601' of http://172.16.10.76/bank/AmosBankView into develop_20200601

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