layui.use('laydate', function () {
var laydate = layui.laydate;
var _layDateMark = (new Date()).getTime();
$('#lineMonthSelectBox').attr('lay-key','11'+_layDateMark);
//执行一个laydate实例
laydate.render({
elem: '#lineMonthSelectBox' //折线元素
, type: 'month'
, range: true
, done: function (value, date) {
if (value) {
var dateArray = value.split(' - ')
$('#lineEchartBegin').val(dateArray[0] + '-01');
var endVal = dateArray[1].split('-');
var endYear = endVal[0];
var endMonth = endVal[1];
if (endMonth == '01' || endMonth == '03' || endMonth == '05' || endMonth == '07' || endMonth == '08' || endMonth == '10' || endMonth == '12') {
$('#lineEchartEnd').val(dateArray[1] + '-31')
} else if (endMonth == '04' || endMonth == '06' || endMonth == '07' || endMonth == '11') {
$('#lineEchartEnd').val(dateArray[1] + '-30')
} else if (((endYear % 400) == 0) || ((endYear % 4 == 0) && (endYear % 100 != 0))) {
$('#lineEchartEnd').val(dateArray[1] + '-29')
} else {
$('#lineEchartEnd').val(dateArray[1] + '-28')
}
} else {
$('#lineEchartBegin').val('');
$('#lineEchartEnd').val('');
}
}
})
$('#tableSelectBox').attr('lay-key','22'+_layDateMark);
laydate.render({
elem: '#tableSelectBox' //表格元素
, range: true
, done: function (value, date) {
var dateArray = value.split(' - ')
$('#tableEchartBegin').val(dateArray[0])
$('#tableEchartEnd').val(dateArray[1])
}
})
$('#downtimSelectBox').attr('lay-key','33'+_layDateMark);
laydate.render({
elem: '#downtimSelectBox' //指定元素
, range: true
, done: function (value, date) {
var dateArray = value.split(' - ')
$('#downbegin').val(dateArray[0])
$('#downend').val(dateArray[1])
}
})
});
// 1基于准备好的dom,初始化echarts实例
var lineChart = echarts.init(document.getElementById('line-chart'));
// 指定图表的配置项和数据
var lineOption = {
title: {
text: 'CPU温度(°C)',
textStyle: {
color: '#029eef'
}
},
tooltip: {
trigger: 'axis',
formatter: function (params) {
var returnData = '';
var time = '';
for (let g in params) {
time = params[g].axisValue;
returnData += params[g].seriesName + ':' + params[g].value + '°C';
}
return time + '
' + returnData;
}
},
legend: {
data: ['CPU温度']
},
grid: {
left: '3%',
right: '4%',
bottom: '3%',
containLabel: true
},
toolbox: {
feature: {
// saveAsImage: {}
}
},
xAxis: {
type: 'category',
boundaryGap: false,
data: []
},
yAxis: {
type: 'value',
data: []
},
dataZoom: [{
// startValue: '2014-06-01'
}, {
type: 'inside'
}],
series: [
{
name: 'CPU温度',
type: 'line',
data: [],
itemStyle: {
normal: {
color: '#6ecdfe'
}
}
}
]
};
// 2基于准备好的dom,初始化echarts实例
var barChart = echarts.init(document.getElementById('bar-chart'));
// 指定图表的配置项和数据
var barOption = {
title: {
text: '信号强度',
textStyle: {
color: '#029eef'
}
},
tooltip: {
trigger: 'axis',
formatter: function (params) {
var returnData = '';
var time = '';
for (let g in params) {
time = params[g].axisValue;
returnData += params[g].seriesName + ':' + params[g].value;
}
return time + '
' + returnData;
}
},
legend: {
data: ['信号强度']
},
grid: {
left: '3%',
right: '4%',
bottom: '3%',
containLabel: true
},
toolbox: {
feature: {
// saveAsImage: {}
}
},
xAxis: {
type: 'category',
boundaryGap: false,
data: []
},
yAxis: {
type: 'value',
data: []
},
dataZoom: [{
// startValue: '2014-06-01'
}, {
type: 'inside'
}],
series: [
{
name: '信号强度',
type: 'line',
data: [],
itemStyle: {
normal: {
color: '#6ecdfe'
}
}
}
]
};
window.onresize = function () {
//当窗口发生变化时图表显示
lineChart.resize();
barChart.resize();
// pieChart.resize();
}
$(function () {
var equip_id = document.getElementById("equip_id").value
// var latV = document.getElementById("lat").value
// var lngV = document.getElementById("lng").value
// // 动态获取位置
// if (lngV > 999) {
// var lng = Math.floor(lngV / 100) + ((lngV % 100) / 60);
// var lat = Math.floor(latV / 100) + ((latV % 100) / 60);
// } else {
// var lng = lngV;
// var lat = latV;
// }
// var geoc = new BMap.Geocoder();
// var pt = new BMap.Point(lng,lat);
// geoc.getLocation(pt, function(rs){
// var addComp = rs.addressComponents;
// // $('.area').html('位置:'+ addComp.province + ", " + addComp.city + ", " + addComp.district)
// $('#curr_area').html(addComp.province + ", " + addComp.city + ", " + addComp.district + ", " + addComp.street);
// });
//请求图表数据:
$.ajax({
url: 'rtu_chart',
type: 'post',
data: {
req: 'data',
id: equip_id,
begin: '',
end: ''
},
success: function (data) {
sessionStorage.setItem("scdData", data);
var temp = eval('(' + data + ')');
var cpu = [], csq = [], time = []
console.log(temp)
for (var i = 0; i < temp.length; i++) {
csq.unshift(Number(temp[i].csq).toFixed(1));
cpu.unshift(Number(temp[i].cpu_tmp / 1000).toFixed(1));
time.unshift(temp[i].tim);
}
console.log(cpu)
// lineOption.series[0].data = csq;
lineOption.series[0].data = cpu;
lineOption.xAxis.data = time;
if (!temp.length) {
$('#line-chart').prev().html('暂无CPU温度数据').css('z-index', 99);
} else {
$('#line-chart').prev().html('').css('z-index', 0);
}
barOption.series[0].data = csq;
barOption.xAxis.data = time;
// 使用刚指定的配置项和数据显示图表。
setTimeout(function () {
lineChart.setOption(lineOption);
barChart.setOption(barOption);
})
if (!temp.length) {
$('#bar-chart').prev().html('暂无信号强度数据').css('z-index', 99);
} else {
$('#bar-chart').prev().html('').css('z-index', 0);
}
}
})
// 数据汇总
$('#type').on('change', function () {
var timeDat = [], valueDat = [];
var type = $(this).val();
var dat = JSON.parse(sessionStorage.getItem("scdData"));
if (dat.length) {
if (type == 2) {
for (var j = 0; j < dat.length; j++) {
timeDat.unshift(dat[j].tim);
valueDat.unshift(dat[j].ct)
}
} else if (type == 3) {
var prevTime = dat[0].tim.split(' ')[0]; //上一次日期 判断日期是否一样
var currentVal = 0; //默认杀虫数
for (var j = 0; j < dat.length; j++) {
var currentTime = dat[j].tim.split(' ')[0];
if (timeDat.indexOf(currentTime) == -1) {
timeDat.unshift(currentTime);
}
if (prevTime == currentTime && j != dat.length - 1) {
currentVal += dat[j].ct;
} else if (prevTime == currentTime && j == dat.length - 1) {
currentVal += dat[j].ct;
valueDat.unshift(currentVal);
} else if (prevTime != currentTime && j == dat.length - 1) {
currentVal;
valueDat.unshift(currentVal);
valueDat.unshift(dat[j].ct);
} else {
valueDat.unshift(currentVal);
prevTime = currentTime;
currentVal = dat[j].ct;
}
}
}else if (type == 4) {
var prevTime = dat[0].tim.split(' ')[0].substring(0,7); //上一次日期 判断日期是否一样
var currentVal = 0; //默认杀虫数
for (var j = 0; j < dat.length; j++) {
var currentTime = dat[j].tim.split(' ')[0].substring(0,7);
if (timeDat.indexOf(currentTime) == -1) {
timeDat.unshift(currentTime);
}
if (prevTime == currentTime && j != dat.length - 1) {
currentVal += dat[j].ct;
} else if (prevTime == currentTime && j == dat.length - 1) {
currentVal += dat[j].ct;
valueDat.unshift(currentVal);
} else if (prevTime != currentTime && j == dat.length - 1) {
currentVal;
valueDat.unshift(currentVal);
valueDat.unshift(dat[j].ct);
} else {
valueDat.unshift(currentVal);
prevTime = currentTime;
currentVal = dat[j].ct;
}
}
}
barOption.series[0].data = valueDat;
barOption.xAxis.data = timeDat;
setTimeout(function () {
barChart.setOption(barOption);
})
}else{
$('#bar-chart').prev().html('暂无击虫数据').css('z-index', 99);
}
})
})
function lineEchart_sub_filter() {
var begin = $('#lineEchartBegin').val();
var end = $('#lineEchartEnd').val();
var id = $('#equip_id').val();
if (begin) {
// 请求折线图的搜索:
$.ajax({
url: 'rtu_chart',
type: 'post',
dataType: 'json',
data: {
req: "data",
id: id,
begin: begin,
end: end
},
success: function (data) {
sessionStorage.setItem("scdData", JSON.stringify(data));
// console.log(data)
var temp = data;
var cpu = [], csq = [], time = []
for (var i = 0; i < temp.length; i++) {
csq.unshift(Number(temp[i].csq).toFixed(1));
cpu.unshift(Number(temp[i].cpu_tmp / 1000).toFixed(1));
time.unshift(temp[i].tim);
}
console.log(cpu)
lineOption.series[0].data = cpu;
lineOption.xAxis.data = time;
if (!temp.length) {
$('#line-chart').prev().html('暂无CPU温度数据').css('z-index', 99);
$('#bar-chart').prev().html('暂无信号强度数据').css('z-index', 99);
} else {
$('#line-chart').prev().html('').css('z-index', 0);
$('#bar-chart').prev().html('').css('z-index', 0);
}
barOption.series[0].data = csq;
barOption.xAxis.data = time;
// 使用刚指定的配置项和数据显示图表。
setTimeout(function () {
lineChart.setOption(lineOption);
barChart.setOption(barOption);
})
}
})
} else {
layer.msg('请输入时间段')
}
}
function tableEchart_sub_filter() {
var begin = $('#tableEchartBegin').val();
var end = $('#tableEchartEnd').val();
var id = $('#equip_id').val();
if (begin) {
// 请求表格数据搜索:
$.ajax({
url: 'rtu_data',
type: 'post',
dataType: 'json',
data: {
req: "filter",
id: id,
begin: begin,
end: end,
page: 1
},
success: function (data) {
$("#datatable tr:not(:first)").html("");
if (data.dat.length > 0) {
datFill_Table('datatable', data.dat);
$('#page').parent().show();
} else {
datFill_null_Table('datatable');
$('#page').parent().hide();
}
if ($('.content').height() > 750) {
$('#iframe-main', parent.document).css('height', $('.content').height() + 20)
} else {
$('#iframe-main', parent.document).css('height', '750px')
}
var datas = {
req: "filter",
id: id,
begin: begin,
end: end
}
initSearchPage(data.nums, 'scd_report_detail', datas);
}
})
} else {
layer.msg('请选择查询时间段')
}
}
//表格数据筛选分页:
function initSearchPage(page, url, datas) {
console.log(page)
layui.use('laypage', function () {
var laypage = layui.laypage;
laypage.render({
elem: 'page' //注意,这里的 test1 是 ID,不用加 # 号
// , count: 30
, count: page
, theme: '#428BCA'
, layout: ['prev', 'page', 'next', 'skip']
, jump: function (obj, first) {
datas.page = obj.curr;
if (!first) {
$.ajax({
url: url,
type: 'post',
data: datas,
success: function (data) {
$("#datatable tr:not(:first)").html("");
var msg = $.parseJSON(data);
if (msg.dat.length > 0) {
datFill_Table('datatable', msg.dat)
} else {
datFill_null_Table('datatable', msg.dat)
}
if ($('.content').height() > 750) {
$('#iframe-main', parent.document).css('height', $('.content').height() + 20)
} else {
$('#iframe-main', parent.document).css('height', '750px')
}
}
})
}
}
});
});
}
// 窗口改变iframe高度改变
$(window).resize(function () {
if ($('.content').height() > 750) {
$('#iframe-main', parent.document).css('height', $('.content').height() + 20)
} else {
$('#iframe-main', parent.document).css('height', '750px')
}
});
function downtype(obj) {
if ($(obj).val() == 2) {
$('.timeStage').show();
} else {
$('.timeStage').hide();
$('#downbegin').val('');
$('#downend').val('');
$('#downtimSelectBox').val('');
}
}
// 判断主流浏览器
function decideExport(){
$('#myModal').modal('toggle')
}
//导出
// function operation() {
// if (!$('#filename').val()) {
// layer.msg("请填写文件名!", { time: 2000 });
// return false;
// }
// if ($('#downtype').val() == 2) {
// if (!($('#downbegin').val() && $('#downbegin').val())) {
// layer.msg("请选择时间段!", { time: 2000 });
// return false;
// }
// }
// window.location.href = 'scd_data_export?id='+$('#equip_id').val()+'&begin='+$('#downbegin').val()+'&end='+$('#downend').val()+'&filename='+$('#filename').val()
// }