5 changed files with 279 additions and 0 deletions
@ -0,0 +1,123 @@ |
|||
function comprechart(spotslist, datalist) { |
|||
var app = {}; |
|||
|
|||
var chartDom = document.getElementById('mainchart'); |
|||
var myChart = echarts.init(chartDom); |
|||
var option; |
|||
|
|||
var posList = [ |
|||
'left', 'right', 'top', 'bottom', |
|||
'inside', |
|||
'insideTop', 'insideLeft', 'insideRight', 'insideBottom', |
|||
'insideTopLeft', 'insideTopRight', 'insideBottomLeft', 'insideBottomRight' |
|||
]; |
|||
|
|||
app.configParameters = { |
|||
rotate: { |
|||
min: -90, |
|||
max: 90 |
|||
}, |
|||
align: { |
|||
options: { |
|||
left: 'left', |
|||
center: 'center', |
|||
right: 'right' |
|||
} |
|||
}, |
|||
verticalAlign: { |
|||
options: { |
|||
top: 'top', |
|||
middle: 'middle', |
|||
bottom: 'bottom' |
|||
} |
|||
}, |
|||
position: { |
|||
options: posList.reduce(function (map, pos) { |
|||
map[pos] = pos; |
|||
return map; |
|||
}, {}) |
|||
}, |
|||
distance: { |
|||
min: 0, |
|||
max: 100 |
|||
} |
|||
}; |
|||
|
|||
app.config = { |
|||
rotate: 90, |
|||
align: 'left', |
|||
verticalAlign: 'middle', |
|||
position: 'insideBottom', |
|||
distance: 15, |
|||
onChange: function () { |
|||
} |
|||
}; |
|||
|
|||
var labelOption = { |
|||
show: true, |
|||
position: app.config.position, |
|||
distance: app.config.distance, |
|||
align: app.config.align, |
|||
verticalAlign: app.config.verticalAlign, |
|||
rotate: app.config.rotate, |
|||
formatter: '{c} {name|{a}}', |
|||
fontSize: 16, |
|||
rich: { |
|||
name: {} |
|||
} |
|||
}; |
|||
|
|||
var datas = []; |
|||
for (i = 0; i < datalist.length; i++) { |
|||
datas.push({ |
|||
'name': datalist[i]['spot'], |
|||
'type': 'bar', |
|||
'barGap': 0, |
|||
'label': labelOption, |
|||
'emphasis': {'focus': 'series'}, |
|||
'data': datalist[i]['data'] |
|||
}); |
|||
} |
|||
|
|||
option = { |
|||
tooltip: { |
|||
trigger: 'axis', |
|||
axisPointer: { |
|||
type: 'shadow' |
|||
} |
|||
}, |
|||
legend: { |
|||
data: spotslist |
|||
}, |
|||
color: [ |
|||
"#5470c6", "#91cc75", "#fac858", "#ee6666", "#73c0de", "#fc8452", "#9a60b4" |
|||
], |
|||
toolbox: { |
|||
show: true, |
|||
orient: 'vertical', |
|||
left: 'right', |
|||
top: 'center', |
|||
feature: { |
|||
mark: {show: true}, |
|||
dataView: {show: true, readOnly: false}, |
|||
magicType: {show: true, type: ['line', 'bar', 'stack', 'tiled']}, |
|||
restore: {show: true}, |
|||
saveAsImage: {show: true} |
|||
} |
|||
}, |
|||
xAxis: [ |
|||
{ |
|||
type: 'category', |
|||
axisTick: {show: false}, |
|||
data: ['正常', '高温', '高湿', '断电', '漏水', '火情'] |
|||
} |
|||
], |
|||
yAxis: [ |
|||
{ |
|||
type: 'value' |
|||
} |
|||
], |
|||
series: datas |
|||
}; |
|||
option && myChart.setOption(option); |
|||
} |
File diff suppressed because one or more lines are too long
@ -0,0 +1,63 @@ |
|||
function envchart(title, tpcol, datalist) { |
|||
var chartDom = document.getElementById('mainchart'); |
|||
var myChart = echarts.init(chartDom); |
|||
var option; |
|||
|
|||
var data = []; |
|||
for(i=0;i<datalist.length;i++){ |
|||
data.push([datalist[i]['rectime'], datalist[i][tpcol]]); |
|||
} |
|||
|
|||
option = { |
|||
tooltip: { |
|||
trigger: 'axis', |
|||
position: function (pt) { |
|||
return [pt[0], '10%']; |
|||
} |
|||
}, |
|||
title: { |
|||
left: 'center', |
|||
text: title+'统计表', |
|||
}, |
|||
toolbox: { |
|||
feature: { |
|||
dataZoom: { |
|||
yAxisIndex: 'none' |
|||
}, |
|||
restore: {}, |
|||
saveAsImage: {} |
|||
} |
|||
}, |
|||
xAxis: { |
|||
type: 'time', |
|||
boundaryGap: false |
|||
}, |
|||
yAxis: { |
|||
type: 'value', |
|||
boundaryGap: [0, '100%'] |
|||
}, |
|||
dataZoom: [{ |
|||
type: 'inside', |
|||
show:true, |
|||
xAxisIndex:[0],//表示x轴折叠
|
|||
start: 0, |
|||
end: 30 |
|||
}, { |
|||
type:"inside", |
|||
show:false, |
|||
start: 0, |
|||
end: 50 |
|||
}], |
|||
series: [ |
|||
{ |
|||
name: title, |
|||
type: 'line', |
|||
smooth: false, |
|||
symbol: 'none', |
|||
areaStyle: {}, |
|||
data: data |
|||
} |
|||
] |
|||
}; |
|||
option && myChart.setOption(option); |
|||
} |
File diff suppressed because one or more lines are too long
@ -0,0 +1,72 @@ |
|||
$(function(){ |
|||
var clock = ''; |
|||
clock = setInterval(flushcmd, 5000); |
|||
}); |
|||
function flushcmd(){ |
|||
//alert('clock exec');
|
|||
$.get("http://172.18.17.136:8000/env/cmdqueue/", function(result){ |
|||
$("#cmdul").empty(); |
|||
var clist = jQuery.parseJSON(result); |
|||
for(i in clist.cmdlist){ |
|||
$("#cmdul").append("<li class=\"lst\">"+clist.cmdlist[i].replace(/\$/g,',')+"</li>"); |
|||
} |
|||
}); |
|||
} |
|||
function change_spot(value) { |
|||
$("#spotval").val(value); |
|||
$('#spotbtn').html($("#sptlist"+value).html()); |
|||
$("#sptname").val($("#sptlist"+value).html()); |
|||
} |
|||
function change_cmd(value) { |
|||
$("#cmdval").val(value); |
|||
$('#cmdbtn').html($("#cmdlist"+value).html()); |
|||
$("#cmdname").val($("#cmdlist"+value).html()); |
|||
$("#cmdval").change(); |
|||
} |
|||
function isInteger(obj){ |
|||
if(isFinite(obj) && obj%1===0){ |
|||
return true; |
|||
} |
|||
else{ |
|||
return false; |
|||
} |
|||
} |
|||
function check_form() { |
|||
if(!$("#spotval").val()||!$("#cmdval").val()){ |
|||
alert('请选择设备和命令!'); |
|||
return false; |
|||
} |
|||
if($("#cmdval").val()!='REBOOT'){ |
|||
var reg = new RegExp("^[0-9]+\.?[0-9]*$"); |
|||
if(!reg.test($("#paramval").val())){ |
|||
alert('请输入正确的数值!'); |
|||
return false; |
|||
} |
|||
} |
|||
if($("#cmdval").val()=='TIMESPAN'&&!isInteger($("#paramval").val())){ |
|||
alert('时间间隔应为整数!'); |
|||
return false; |
|||
} |
|||
else if($("#cmdval").val()=='A_FIRE'&&(parseInt($("#paramval").val())<8000||parseInt($("#paramval").val())>50000)){ |
|||
alert('烟雾报警参数取值:[8000,50000]!'); |
|||
return false; |
|||
} |
|||
else if($("#cmdval").val()=='A_TEMP'&&($("#paramval").val()<5||$("#paramval").val()>50)){ |
|||
alert('温度报警参数取值:[5.0, 50.0]!'); |
|||
return false; |
|||
} |
|||
else if($("#cmdval").val()=='A_HUM'&&($("#paramval").val()<30||$("#paramval").val()>95)){ |
|||
alert('湿度报警参数取值:[30.0, 95.0]!'); |
|||
return false; |
|||
} |
|||
return true; |
|||
} |
|||
function get_device(){ |
|||
if($("#spotval").val()){ |
|||
// alert($("#cmdval").val());
|
|||
$.get("http://172.18.17.136:8000/env/deviceinfo/?spot="+$("#spotval").val(), function(result){ |
|||
// alert(jQuery.parseJSON(result));
|
|||
$("#paramval").val(jQuery.parseJSON(result)[$("#cmdval").val()]); |
|||
}); |
|||
} |
|||
} |
Loading…
Reference in new issue