2020-03-17 18:27:46 +08:00
|
|
|
<script>
|
|
|
|
|
import chartDataFormat from "../../../charts/chartDataFormat";
|
2020-04-09 16:14:32 +08:00
|
|
|
import bus from '../../../../libs/bus';
|
2020-04-22 19:45:10 +08:00
|
|
|
let bgColorList=['#b3424a','#7bbfea', '#f05b72', '#596032', '#bd6758',
|
2020-04-21 19:28:01 +08:00
|
|
|
'#cd9a5b', '#918597', '#70a19f', '#005344', '#FF00FF',
|
|
|
|
|
'#f7acbc', '#5f5d46', '#66ffff', '#ccFF66', '#f47920',
|
|
|
|
|
'#769149', '#1d953f', '#abc88b', '#7f7522', '#9b95c9',
|
|
|
|
|
'#f3715c', '#ea66a6', '#d1c7b7', '#9d9087', '#77787b',
|
|
|
|
|
'#f58220', '#c37e00', '#00ae9d', '#f26522', '#76becc',
|
|
|
|
|
'#76624c', '#d71345', '#2468a2', '#ca8687', '#1b315e',
|
2020-04-26 18:53:24 +08:00
|
|
|
];
|
|
|
|
|
let overviewBgColor = ['#d64f40', '#ffdb28', '#7bfc95', '#77baf4',
|
|
|
|
|
'#ac958f', '', '', '', '', '', '', '', '', '', '', ];
|
2020-04-27 17:54:24 +08:00
|
|
|
/* let pieColor = ["#0c69ff","#59f747","#2eeab8","#b5ed8e",
|
|
|
|
|
"#205299","#ffd6c6","#a0ffdf","#9be524",
|
|
|
|
|
"#8abafc","#d181e8","#d88d50","#cce8ff",
|
|
|
|
|
"#161ef9"];*/
|
|
|
|
|
|
|
|
|
|
let pieColor = ['#d64f40', '#e66f60', '#f68f80', '#f6afa0',
|
2020-04-26 18:53:24 +08:00
|
|
|
'#ffdb28', '#ffeb38', '#fffb48', '#ffffbb'];
|
2020-04-27 17:54:24 +08:00
|
|
|
|
2020-03-17 18:27:46 +08:00
|
|
|
const commonOption={
|
|
|
|
|
title:{
|
|
|
|
|
show:false,
|
|
|
|
|
},
|
2020-04-21 19:28:01 +08:00
|
|
|
color: bgColorList,
|
2020-03-23 18:20:19 +08:00
|
|
|
legend:{
|
|
|
|
|
show:false,
|
|
|
|
|
},
|
2020-04-22 19:45:10 +08:00
|
|
|
toolbox:{
|
|
|
|
|
show:false,
|
|
|
|
|
top:'0',
|
|
|
|
|
showTitle:false,
|
|
|
|
|
tooltip:{
|
|
|
|
|
show:false,
|
|
|
|
|
},
|
|
|
|
|
feature:{
|
|
|
|
|
dataZoom:{
|
|
|
|
|
yAxisIndex:false
|
|
|
|
|
},
|
|
|
|
|
magicType:{
|
|
|
|
|
type:['stack']
|
|
|
|
|
},
|
|
|
|
|
// restore: {},
|
|
|
|
|
}
|
|
|
|
|
},
|
2020-03-17 18:27:46 +08:00
|
|
|
tooltip: {
|
|
|
|
|
trigger: 'axis',
|
|
|
|
|
confine:false,
|
|
|
|
|
extraCssText:'z-index:1000;',
|
2020-05-20 15:55:02 +08:00
|
|
|
backgroundColor:'rgba(221,228,237,1)',
|
|
|
|
|
borderColor:'rgba(221,228,237,1)',
|
|
|
|
|
textStyle:{color: "#000"}
|
2020-03-17 18:27:46 +08:00
|
|
|
// formatter:null,
|
|
|
|
|
// position:null,
|
|
|
|
|
},
|
|
|
|
|
grid: {
|
2020-04-22 19:45:10 +08:00
|
|
|
top: 30,
|
2020-03-17 18:27:46 +08:00
|
|
|
left: 0,
|
|
|
|
|
right: 30,
|
|
|
|
|
containLabel: true,
|
2020-04-22 19:45:10 +08:00
|
|
|
bottom:8,//156
|
2020-03-17 18:27:46 +08:00
|
|
|
},
|
|
|
|
|
dataZoom: [{
|
|
|
|
|
type: 'slider',
|
2020-04-21 19:28:01 +08:00
|
|
|
show:false,
|
2020-03-17 18:27:46 +08:00
|
|
|
xAxisIndex: [0],
|
|
|
|
|
start: 0,
|
|
|
|
|
end: 100,
|
|
|
|
|
height:25,
|
|
|
|
|
bottom:10,//96
|
|
|
|
|
left:40,
|
|
|
|
|
right:48,
|
|
|
|
|
}],
|
|
|
|
|
xAxis: {
|
|
|
|
|
type: 'time',
|
|
|
|
|
// boundaryGap: false,//line-false; bar-true;
|
|
|
|
|
axisLabel: {
|
|
|
|
|
intervale: 0,
|
|
|
|
|
rotate: 0,
|
|
|
|
|
formatter: function (value) {
|
2020-04-09 16:14:32 +08:00
|
|
|
value=bus.computeTimezone(value)
|
2020-03-17 18:27:46 +08:00
|
|
|
var t_date = new Date(value);
|
|
|
|
|
return [t_date.getFullYear(), t_date.getMonth() + 1, t_date.getDate()].join('-') + "\n"
|
|
|
|
|
+ [t_date.getHours(), t_date.getMinutes()].join(':');
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
axisPointer: {//y轴上显示指针对应的值
|
|
|
|
|
show: true,
|
|
|
|
|
},
|
2020-06-03 19:20:46 +08:00
|
|
|
axisLine: {
|
|
|
|
|
show: false
|
|
|
|
|
},
|
|
|
|
|
axisTick: {
|
|
|
|
|
show: false
|
|
|
|
|
},
|
2020-03-17 18:27:46 +08:00
|
|
|
splitLine:{
|
2020-06-03 18:58:07 +08:00
|
|
|
show:true,
|
|
|
|
|
lineStyle: {
|
|
|
|
|
color: "#d9d9d9",
|
|
|
|
|
opacity: 0.8,
|
|
|
|
|
width: 1
|
|
|
|
|
}
|
2020-03-17 18:27:46 +08:00
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
yAxis: {
|
|
|
|
|
type: 'value',
|
|
|
|
|
splitLine:{
|
2020-06-03 18:58:07 +08:00
|
|
|
show:true,
|
|
|
|
|
lineStyle: {
|
|
|
|
|
color: "#d9d9d9",
|
|
|
|
|
opacity: 0.8,
|
|
|
|
|
width: 1
|
|
|
|
|
}
|
2020-03-17 18:27:46 +08:00
|
|
|
},
|
2020-06-03 19:20:46 +08:00
|
|
|
axisLine: {
|
|
|
|
|
show: false
|
|
|
|
|
},
|
|
|
|
|
axisTick: {
|
|
|
|
|
show: false
|
|
|
|
|
},
|
2020-03-17 18:27:46 +08:00
|
|
|
axisLabel: {
|
|
|
|
|
// formatter:null,
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
useUTC: false,//使用本地时间
|
|
|
|
|
series: [],
|
2020-04-23 22:27:41 +08:00
|
|
|
};
|
2020-03-24 13:19:18 +08:00
|
|
|
const mapOptions={
|
2020-03-24 20:25:16 +08:00
|
|
|
geo:{
|
|
|
|
|
map:'',
|
2020-04-02 20:57:43 +08:00
|
|
|
|
2020-04-07 22:30:36 +08:00
|
|
|
roam:'scale',//鼠标是否可以控制缩放
|
|
|
|
|
scaleLimit:{
|
|
|
|
|
min:0.7,
|
|
|
|
|
max:1.5
|
|
|
|
|
},
|
2020-03-24 20:25:16 +08:00
|
|
|
// center:[],//当前视角的中心点,用经纬度表示
|
|
|
|
|
label: { //控制显示地图名称
|
|
|
|
|
normal: {
|
|
|
|
|
show: true
|
|
|
|
|
},
|
|
|
|
|
emphasis: {
|
|
|
|
|
show: true
|
|
|
|
|
},
|
|
|
|
|
} ,
|
|
|
|
|
itemStyle:{
|
2020-04-02 20:57:43 +08:00
|
|
|
// areaColor:'lightgrey', //设置默认状态下地图颜色
|
|
|
|
|
|
2020-03-24 20:25:16 +08:00
|
|
|
},
|
|
|
|
|
emphasis:{
|
|
|
|
|
itemStyle: {
|
|
|
|
|
areaColor:'white'
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
left:0,
|
|
|
|
|
top:0,
|
|
|
|
|
right:0,
|
|
|
|
|
bottom:0,
|
|
|
|
|
},
|
2020-03-24 13:19:18 +08:00
|
|
|
tooltip : {
|
|
|
|
|
trigger: 'item',
|
|
|
|
|
type:'cross',
|
|
|
|
|
alwaysShowContent: false,
|
2020-04-01 21:45:05 +08:00
|
|
|
// backgroundColor: 'rgba(0,0,0,0.7)',
|
2020-03-24 20:25:16 +08:00
|
|
|
borderColor:'#ffffff',
|
2020-03-24 13:19:18 +08:00
|
|
|
borderRadius: 4,
|
|
|
|
|
borderWidth: 1,
|
|
|
|
|
padding: 0,
|
2020-03-17 18:27:46 +08:00
|
|
|
},
|
2020-04-23 22:27:41 +08:00
|
|
|
};
|
|
|
|
|
const assetTypePie = {
|
|
|
|
|
title: {
|
|
|
|
|
show: false,
|
|
|
|
|
},
|
2020-04-26 18:53:24 +08:00
|
|
|
color: pieColor,
|
2020-04-23 22:27:41 +08:00
|
|
|
legend: {
|
|
|
|
|
show: false,
|
|
|
|
|
},
|
|
|
|
|
grid: {},
|
|
|
|
|
series: [],
|
|
|
|
|
tooltip : {}
|
|
|
|
|
};
|
|
|
|
|
const alertMessageBar = {
|
|
|
|
|
title: {
|
|
|
|
|
show: false,
|
|
|
|
|
},
|
2020-04-26 18:53:24 +08:00
|
|
|
color: overviewBgColor,
|
2020-04-23 22:27:41 +08:00
|
|
|
legend: {
|
|
|
|
|
show: false,
|
|
|
|
|
},
|
2020-04-24 21:43:51 +08:00
|
|
|
grid: {
|
|
|
|
|
top: 30,
|
|
|
|
|
left: 0,
|
|
|
|
|
right: 30,
|
|
|
|
|
bottom:8
|
|
|
|
|
},
|
2020-04-23 22:27:41 +08:00
|
|
|
series: [],
|
|
|
|
|
tooltip : {},
|
|
|
|
|
xAxis: {
|
2020-04-24 21:43:51 +08:00
|
|
|
type: 'value',
|
|
|
|
|
axisLine: {
|
|
|
|
|
show: false
|
|
|
|
|
},
|
|
|
|
|
axisTick: {
|
|
|
|
|
show: false
|
|
|
|
|
},
|
|
|
|
|
axisLabel: {
|
2020-06-04 11:58:20 +08:00
|
|
|
show:true,
|
|
|
|
|
fontSize: 10
|
2020-04-24 21:43:51 +08:00
|
|
|
}
|
2020-04-23 22:27:41 +08:00
|
|
|
},
|
|
|
|
|
yAxis: {
|
|
|
|
|
type: 'category',
|
2020-04-24 21:43:51 +08:00
|
|
|
axisLine: {
|
|
|
|
|
show: false
|
|
|
|
|
},
|
|
|
|
|
axisTick: {
|
|
|
|
|
show: false
|
|
|
|
|
},
|
|
|
|
|
data: [],
|
|
|
|
|
axisLabel: {
|
2020-07-09 21:14:05 +08:00
|
|
|
show: true,
|
2020-04-24 21:43:51 +08:00
|
|
|
formatter: function(value) {
|
2020-07-09 21:14:05 +08:00
|
|
|
if (value.length > 33) {
|
|
|
|
|
return value.substring(0, 30) + "...";
|
2020-04-24 21:43:51 +08:00
|
|
|
}
|
|
|
|
|
return value;
|
|
|
|
|
},
|
2020-07-09 21:14:05 +08:00
|
|
|
align: 'left',
|
|
|
|
|
margin: 200,
|
2020-04-24 21:43:51 +08:00
|
|
|
},
|
|
|
|
|
triggerEvent: true
|
|
|
|
|
},
|
|
|
|
|
};
|
2020-04-26 18:53:24 +08:00
|
|
|
const overviewLine = {
|
2020-04-24 21:43:51 +08:00
|
|
|
title:{
|
|
|
|
|
show: false,
|
|
|
|
|
},
|
2020-04-26 18:53:24 +08:00
|
|
|
color: overviewBgColor,
|
2020-04-24 21:43:51 +08:00
|
|
|
legend:{
|
|
|
|
|
show:false,
|
|
|
|
|
},
|
|
|
|
|
toolbox:{
|
|
|
|
|
show:false,
|
|
|
|
|
top:'0',
|
|
|
|
|
showTitle:false,
|
|
|
|
|
tooltip:{
|
|
|
|
|
show:false,
|
|
|
|
|
},
|
|
|
|
|
feature:{
|
|
|
|
|
dataZoom:{
|
|
|
|
|
yAxisIndex:false
|
|
|
|
|
},
|
|
|
|
|
magicType:{
|
|
|
|
|
type:['stack']
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
tooltip: {
|
|
|
|
|
trigger: 'axis',
|
|
|
|
|
confine: false,
|
|
|
|
|
extraCssText:'z-index:1000;',
|
2020-05-06 19:29:56 +08:00
|
|
|
formatter: function(v, i) {
|
|
|
|
|
return v;
|
|
|
|
|
}
|
2020-04-24 21:43:51 +08:00
|
|
|
},
|
|
|
|
|
grid: {
|
|
|
|
|
left: 6,
|
2020-04-26 18:53:24 +08:00
|
|
|
right: 20,
|
2020-04-24 21:43:51 +08:00
|
|
|
containLabel: true,
|
2020-04-26 18:53:24 +08:00
|
|
|
bottom: 0,
|
2020-04-23 22:27:41 +08:00
|
|
|
},
|
2020-04-24 21:43:51 +08:00
|
|
|
xAxis: {
|
|
|
|
|
type: 'time',
|
|
|
|
|
axisLabel: {
|
|
|
|
|
intervale: 0,
|
|
|
|
|
rotate: 0,
|
|
|
|
|
formatter: function (value) {
|
|
|
|
|
value = bus.computeTimezone(value)
|
|
|
|
|
let now = bus.computeTimezone(new Date().getTime());
|
|
|
|
|
let t_date = new Date(value);
|
|
|
|
|
let hhmm = [t_date.getHours(), t_date.getMinutes() < 10 ? "0" + t_date.getMinutes() : t_date.getMinutes()].join(':');
|
|
|
|
|
let mmdd = [t_date.getMonth() + 1, t_date.getDate() < 10 ? "0" + t_date.getDate() : t_date.getDate()].join('/');
|
2020-07-10 18:43:27 +08:00
|
|
|
if (now-value < 1000*60*60*24) {
|
2020-04-24 21:43:51 +08:00
|
|
|
return hhmm;
|
2020-07-10 18:43:27 +08:00
|
|
|
} else if (now-value >= 1000*60*60*24 && now-value < 1000*60*60*24*30) {
|
2020-04-24 21:43:51 +08:00
|
|
|
return mmdd + " " + hhmm;
|
|
|
|
|
} else {
|
|
|
|
|
return mmdd;
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
fontSize: 13*window.devicePixelRatio
|
|
|
|
|
},
|
|
|
|
|
axisPointer: {//y轴上显示指针对应的值
|
|
|
|
|
show: true,
|
|
|
|
|
},
|
|
|
|
|
splitLine:{
|
|
|
|
|
show:false
|
|
|
|
|
},
|
|
|
|
|
axisLine: {
|
|
|
|
|
show: false
|
|
|
|
|
},
|
|
|
|
|
axisTick: {
|
|
|
|
|
show: false
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
yAxis: {
|
|
|
|
|
type: 'value',
|
|
|
|
|
splitLine:{
|
|
|
|
|
show:true
|
|
|
|
|
},
|
|
|
|
|
axisLine: {
|
|
|
|
|
show: false
|
|
|
|
|
},
|
|
|
|
|
axisTick: {
|
|
|
|
|
show: false
|
|
|
|
|
},
|
|
|
|
|
axisLabel: {
|
2020-05-06 19:29:56 +08:00
|
|
|
fontSize: 13*window.devicePixelRatio,
|
|
|
|
|
formatter: function(value, i) {
|
|
|
|
|
let y;
|
|
|
|
|
if (value < 1000) {
|
|
|
|
|
y = value + " Bs";
|
|
|
|
|
} else if (value < 1000000) {
|
|
|
|
|
y = value/1000 + " KBs";
|
|
|
|
|
} else if (value >= 1000000) {
|
|
|
|
|
y = value/1000000 + " MBs";
|
|
|
|
|
} else {
|
|
|
|
|
y = value/1000000000 + " GBs";
|
|
|
|
|
}
|
|
|
|
|
return y;
|
|
|
|
|
}
|
2020-04-24 21:43:51 +08:00
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
useUTC: false,//使用本地时间
|
|
|
|
|
series: [],
|
2020-04-23 22:27:41 +08:00
|
|
|
};
|
2020-06-03 18:58:07 +08:00
|
|
|
const noDataOption={
|
|
|
|
|
grid: {
|
|
|
|
|
top: 30,
|
|
|
|
|
left: 0,
|
|
|
|
|
right: 30,
|
|
|
|
|
containLabel: true,
|
|
|
|
|
bottom:8,//156
|
|
|
|
|
},
|
|
|
|
|
xAxis: {
|
|
|
|
|
type: 'category',
|
|
|
|
|
data: createTempTimes(),
|
|
|
|
|
splitLine:{
|
|
|
|
|
show:true
|
|
|
|
|
},
|
2020-06-03 19:20:46 +08:00
|
|
|
axisLine: {
|
|
|
|
|
show: false
|
|
|
|
|
},
|
2020-06-03 18:58:07 +08:00
|
|
|
axisTick: {
|
|
|
|
|
show: false
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
yAxis: {
|
|
|
|
|
type: 'category',
|
|
|
|
|
data: [1, 3, 5, 7, 9, 11, 13],
|
|
|
|
|
splitLine:{
|
|
|
|
|
show:true
|
|
|
|
|
},
|
2020-06-03 19:20:46 +08:00
|
|
|
axisLine: {
|
|
|
|
|
show: false
|
|
|
|
|
},
|
2020-06-03 18:58:07 +08:00
|
|
|
axisTick: {
|
|
|
|
|
show: false
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
series: null,
|
|
|
|
|
};
|
|
|
|
|
function createTempTimes(){
|
|
|
|
|
let times=[];
|
|
|
|
|
for(let i=0;i<10;i++){
|
|
|
|
|
let time=new Date();
|
|
|
|
|
time.setMinutes(new Date().getMinutes()-(10-i)*5);
|
|
|
|
|
times.push(bus.timeFormate(time,'hh:mm'))
|
|
|
|
|
}
|
|
|
|
|
return times;
|
|
|
|
|
}
|
2020-03-24 13:19:18 +08:00
|
|
|
const chartTypes={
|
|
|
|
|
line:{name:'line',option:commonOption},
|
2020-04-26 18:53:24 +08:00
|
|
|
overviewLine: {name: 'line', option: overviewLine},
|
2020-03-24 13:19:18 +08:00
|
|
|
map:{name:'map',option:mapOptions},
|
2020-04-23 22:27:41 +08:00
|
|
|
pie: {name: 'assetType', option: assetTypePie},
|
2020-06-03 18:58:07 +08:00
|
|
|
bar: {name: 'alertMessage', option: alertMessageBar},
|
|
|
|
|
noData:{name:'noData',option:noDataOption},
|
2020-04-23 22:27:41 +08:00
|
|
|
};
|
2020-03-24 13:19:18 +08:00
|
|
|
export default {
|
|
|
|
|
getOption:function(type){
|
|
|
|
|
return Object.assign({},chartTypes[type].option);
|
2020-03-17 18:27:46 +08:00
|
|
|
},
|
2020-03-24 20:25:16 +08:00
|
|
|
setMap:function(map){
|
|
|
|
|
mapOptions.geo.map=map
|
2020-04-21 19:28:01 +08:00
|
|
|
},
|
|
|
|
|
getBgColorList:function(){
|
|
|
|
|
return Object.assign([],bgColorList)
|
2020-03-24 20:25:16 +08:00
|
|
|
}
|
2020-03-17 18:27:46 +08:00
|
|
|
}
|
|
|
|
|
</script>
|