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() // }