Files
SIPAIIS_WMS_JSSW/WebRoot/jsp/data/curveManageViewInMonth.jsp

373 lines
15 KiB
Plaintext
Raw Normal View History

2026-01-16 14:13:44 +08:00
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
<%@ page import="com.sipai.entity.base.ServerObject"%>
<%@ taglib uri="http://www.springsecurity.org/jsp" prefix="security"%>
<!DOCTYPE html>
<!-- <html lang="zh-CN"> -->
<!-- BEGIN HEAD -->
<head>
<title><%= ServerObject.atttable.get("TOPTITLE")%></title>
<!-- 引用页头及CSS页-->
<jsp:include page="/jsp/inc.jsp"></jsp:include>
<script type="text/javascript">
var beginTimeStore1 = '';
var endTimeStore1 = '';
var colors = ['#00c200', '#d14a61', '#675bba','#5793f3'];
function initDate1() {
//定义locale汉化插件
beginTimeStore1 = moment().subtract(7, 'days').format('YYYY-MM-DD HH:mm');;
endTimeStore1 = moment().format('YYYY-MM-DD HH:mm');
/* if(${param.sdt!=''}){
beginTimeStore1='2018-08-09';
}
if(${param.edt!=''}){
endTimeStore1='2018-08-10';
} */
var locale = {
"format": 'YYYY-MM-DD HH:mm',
"separator": " ~ ",
"applyLabel": "确定",
"cancelLabel": "取消",
"fromLabel": "起始时间",
"toLabel": "结束时间'",
"customRangeLabel": "自定义",
"weekLabel": "W",
"daysOfWeek": ["日", "一", "二", "三", "四", "五", "六"],
"monthNames": ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"],
"firstDay": 1
};
$('#reservationtime1').daterangepicker({
"timePicker": true,
"timePicker24Hour": true,
"linkedCalendars": false,
"autoUpdateInput": false,
"timePickerIncrement": 10,
"locale": locale,
//汉化按钮部分
ranges: {
'7天': [moment().subtract(7, 'days'), moment()],
'30天': [moment().subtract(30, 'days'), moment()],
},
startDate: beginTimeStore1,
endDate: endTimeStore1
}, function(start, end, label) {
beginTimeStore1 = start.format(this.locale.format);
endTimeStore1 = end.format(this.locale.format);
if(!this.startDate){
this.element.val('');
}else{
this.element.val(this.startDate.format(this.locale.format) + this.locale.separator + this.endDate.format(this.locale.format));
}
});
$('#reservationtime1').val(beginTimeStore1 + locale.separator + endTimeStore1);
//展示测量点曲线
getMpointJson();
};
var companyId="";
/* var editFun = function(id) {
$.post(ext.contextPath + '/data/showCurveView.do', {companyId:companyId,id:id} , function(data) {
$("#menuBox").html(data);
});
};
var initTreeView = function() {
$.post(ext.contextPath + '/data/getCurvesJson.do', {ng:''} , function(data) {
//console.info(data)
$('#tree').treeview({data: data
});
$('#tree').on('nodeSelected', function(event, data) {
editFun(data.id);
//var node=$('#tree').treeview('getSelected');
});
},'json');
$("#menuBox").html("");
}; */
var mpcodestr="";
var mpnamestr="";
var mpunitstr="";
var optionArr= new Array();
var colors = ['#00c200', '#d14a61', '#675bba','#5793f3'];
function getMpointJson(){
$.post(ext.contextPath +"/data/energyAnalysis/getMPointJson.do",{companyId:companyId,key:"${param.key}"},function(data){
//var rows = data.rows;
var ArrayDatas = eval("(" + data + ")").rows;
var mpcode = [];
for (var i=0;i<ArrayDatas.length;i++){
mpcode.push(ArrayDatas[i].mPoint.mpointcode);
mpcodestr+=ArrayDatas[i].mPoint.mpointcode+",";//测量点code
mpnamestr+=ArrayDatas[i].mPoint.parmname+",";//测量点名称
mpunitstr+=ArrayDatas[i].mPoint.unit+",";//测量点单位
}
console.log(mpcodestr);
getHistoryList(mpcodestr,mpnamestr);
getHistoryJsons(mpcodestr,mpnamestr,mpunitstr);
});
//console.log(idArr.length);
};
function getHistoryJsons(ids,names,units){
console.log(ids);
console.log(names);
console.log(units);
$.post(ext.contextPath +"/work/mpoint/getHistory.do",{bizId:companyId,ids:ids,sdt:beginTimeStore1,edt:endTimeStore1},function(data){
var ArrayDatas = eval("(" + data + ")");
console.log(ArrayDatas);
var measuredt = [];
var res = ArrayDatas[0];
for(var i=0;i<res.length;i++){
measuredt.push(res[i].measuredt.substring(0,16));
}
var parmvalue = [];
var mpnamestr = names.substring(0, names.length-1);
mpnamestr = mpnamestr.split(",");
var mpunitstr = units.substring(0, units.length-1);
mpunitstr = mpunitstr.split(",");
var offset=60;
var yaAxis=[];
var series=[];
for(var i=0;i<mpnamestr.length;i++){
var xobj = {};
xobj.type='value';
xobj.name=mpnamestr[i];
if(i==0){
xobj.position='left';
xobj.offset=0;
}else{
xobj.position='right';
xobj.offset=offset*(i-1);
}
var axisLine={};
var lineStyle={};
var length=mpnamestr.length-1;
lineStyle.color=colors[i%colors.length];
axisLine.lineStyle=lineStyle;
xobj.axisLine=axisLine;
var axisLabel={};
axisLabel.formatter='{value}'+mpunitstr[i];
xobj.axisLabel=axisLabel;
xobj.min= function(value){
return value.min;
}
yaAxis.push(xobj);
var yobj = {};
yobj.type='line';
yobj.name=mpnamestr[i];
yobj.yAxisIndex=i;
var data =[];
for(var j=0;j<measuredt.length;j++){
var resy = ArrayDatas[i];
data.push(resy[j].parmvalue);
}
yobj.data=data;
var markPoint={};
/* var str ='{"data": [{"type": "max", "name": "最大值", "itemStyle": {"color": "red"}},{"type": "min", "name": "最小值", "itemStyle": {"color": "green"}}]}';
yobj.markPoint=JSON.parse(str);
str ='{"data": [{"type": "average", "name": "平均值"}]}';
yobj.markLine=JSON.parse(str); */
series.push(yobj);
};
var option = {
color: colors,
tooltip: {
trigger: 'axis',
axisPointer: {
type: 'cross'
}
},
grid: {
right: '20%'
},
toolbox: {
feature: {
dataView: {show: false, readOnly: false},
restore: {show: false},
saveAsImage: {show: false}
}
},
legend: {
data:mpnamestr
},
xAxis: [
{
type: 'category',
axisTick: {
alignWithLabel: true
},
data: measuredt,
axisLabel: {
                    //interval: 1000,//横坐标间隔
                    rotate: 340,//横坐标倾斜角度
                    //倾斜度 -90 至 90 默认为0  
                   // margin: 2,
                   /* textStyle: {
                        fontWeight: "bolder",
                        color: "#000000"
                    } */
                },
}
],
yAxis:yaAxis,
series:series
};
var chart = document.getElementById("chart");
var number=mpnamestr.length;
console.log(offset);
//chart.style.width = $("#chartdiv").width()+offset*number+300+'px';
//chart.style.height = 250+'px';
$("#chart").height($("#chartdiv").height()-50);
$("#chart").width($("#chartdiv").width());
//$("#chart").width(700);
var chartData = echarts.init(chart);
//setTimeout(function(){
chartData.setOption(option);
});
}
function getHistoryList(ids,names){
var idarr = ids.substring(0, ids.length-1);
idarr = idarr.split(",");
var namearr = names.substring(0, names.length-1);
namearr = namearr.split(",");
console.log(idarr);
var length = idarr.length;
var mpoint = [];
var checkobx={};
checkobx.checkbox = true;
//mpoint.push(checkobx);
var measuredt={};
measuredt.field='measuredt';
measuredt.title='时间';
measuredt.align='center';
measuredt.valign='middle';
measuredt.width=150;
mpoint.push(measuredt);
for(var i=0;i<idarr.length;i++){
var color=colors[i%idarr.length];
var parmvalue={};
parmvalue.field = 'paramvalue'+i;
parmvalue.title=namearr[i];
parmvalue.align='center';
parmvalue.valign='middle';
//parmvalue.width=60;
var css1 = {};
css1.color = color;
var cellstyle = {};
cellstyle.css=css1;
parmvalue.cellStyle=cellstyle,
mpoint.push(parmvalue);
};
};
function dosearch(){
mpcodestr="";
mpnamestr="";
mpunitstr="";
optionArr= new Array();
getMpointJson();
}
$(function() {
$.post(ext.contextPath + "/user/getSearchBizsByUserId4Select.do", {}, function(data) {
if(data.length == 1){
//选择厂区为一个厂时隐藏选择框
$("#search_code").css("display", "none");
$("#company").text(data[0].text);
companyId=data[0].id;
}else{
$("#company").css("display", "none");
var selelct=$("#search_code").select2({
data : data ,
placeholder:'请先选择水厂',//默认文字提示
allowClear: true,//允许清空
escapeMarkup: function (markup) { return markup; }, // 自定义格式化防止xss注入
language: "zh-CN",
minimumInputLength: 0,
minimumResultsForSearch: 10,//数据超过十个启用搜索框
formatResult: function formatRepo(repo){return repo.text;}, // 函数用来渲染结果
formatSelection: function formatRepoSelection(repo){return repo.text;} // 函数用于呈现当前的选择
});
$(".select2-selection--single").css({'height':'30px','paddingTop':'4px'})
selelct.val('').trigger("change");
//refreshSelect();
selelct.on("change",function(e){
companyId= $(this).val();
});
}
initDate1();
},'json');
//initTreeView();
});
</script>
</head>
<body onload="initMenu()" class="hold-transition ${cu.themeclass} sidebar-mini">
<div class="wrapper">
<!-- 引用top -->
<%-- <jsp:include page="/jsp/top.jsp"></jsp:include> --%>
<!-- 菜单栏 -->
<%-- <jsp:include page="/jsp/left.jsp"></jsp:include> --%>
<div class="content-wrapper">
<!-- Content Header (Page header) -->
<section class="content-header">
<h1 id ="head_title"></h1>
<ol class="breadcrumb">
<li><a id ='head_firstlevel' href="#"><i class="fa fa-dashboard"></i> </a></li>
<!-- <li class="active">Here</li> -->
</ol>
</section>
<!-- Main content -->
<section class="content container-fluid">
<div id="mainAlertdiv"></div>
<div id="subDiv"></div>
<div id="mpSubDiv"></div>
<div class="form-group">
<label class="form-label" id="companylabel">水厂:</label>
<label class="form-label" id="company" style="width:180px;border: none;background: transparent;" ></label>
<select class="form-control select2 " id="search_code" name ="search_code" style="width: 220px;"></select>
</div>
<div class="input-group pull-right input-group-sm" >
<input type="text" class="form-control pull-left" id="reservationtime1" style="width:225px">
<div class="input-group-btn pull-left">
<button type="button" class="btn btn-default" onclick="dosearch();" ><i class="fa fa-search"></i> 查询</button>
</div>
</div>
<div class="col-sm-12 col-md-12 col-lg-12 col-xl-12" style="height:450px;padding:0px;overflow:hidden;overflow-y:hidden" id="chartdiv">
<div id="chart" style=""></div>
</div>
</section>
<!-- /.content -->
</div>
<%-- <jsp:include page="/jsp/bottom.jsp"></jsp:include> --%>
<%-- <jsp:include page="/jsp/side.jsp"></jsp:include> --%>
</div>
</body>
<!-- echarts-->
<script type="text/javascript" src="<%=request.getContextPath()%>/plugins/echarts/echarts.js" charset="utf-8"></script>
<script type="text/javascript" src="<%=request.getContextPath()%>/plugins/echarts/macarons.js" charset="utf-8"></script>
<!-- 引入daterangepicker-->
<link rel="stylesheet" href="<%=request.getContextPath()%>/plugins/bootstrap-daterangepicker/daterangepicker.css"/>
<script type="text/javascript" src="<%=request.getContextPath()%>/plugins/bootstrap-daterangepicker/moment.min.js" charset="utf-8"></script>
<script type="text/javascript" src="<%=request.getContextPath()%>/plugins/bootstrap-daterangepicker/daterangepicker.js" charset="utf-8"></script>
</html>