Files
SIPAIIS_WMS_JSSW/WebRoot/jsp/data/curveView.jsp

2385 lines
106 KiB
Plaintext
Raw Permalink 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" %>
<%@page import="com.sipai.entity.data.DataCurve" %>
<% request.setAttribute("Type_group", DataCurve.Type_group);%>
<% request.setAttribute("Type_sys", DataCurve.Type_sys);%>
<% request.setAttribute("Type_user", DataCurve.Type_user);%>
<style type="text/css">
.W120 .th-inner {
width: 150px !important;
}
</style>
<script type="text/javascript">
let beginTimeStore1 = '';
let endTimeStore1 = '';
//var colors = ['#00c200', '#d14a61', '#675bba','#5793f3','#1BBC9B','#BF55EC','#D91E18'];
let colors = ['#c12e34', '#e6b600', '#0098d9', '#2b821d', '#005eaa', '#339ca8', '#cda819', '#32a487', '#f3a43b', '#60c0dd', '#d7504b', '#c6e579', '#f4e001'];
let color = [
"#2ec7c9",
"#b6a2de",
"#5ab1ef",
"#ffb980",
"#d87a80",
"#8d98b3",
"#e5cf0d",
"#97b552",
"#95706d",
"#dc69aa",
"#07a2a4",
"#9a7fd1",
"#588dd5",
"#f5994e",
"#c05050",
"#59678c",
"#c9ab00",
"#7eb00a",
"#6f5553",
"#c14089"
];
var viewHeight = jQuery(window).height();
$('#chartdiv').css('height', (viewHeight - 160) + 'px');
var unitId = unitId;
let curveType = "1";//单Y轴
if ('${curveType}' != null && '${curveType}' != '') {
curveType = '${curveType}';
}
let curveShowType = "0";//折线图
if ('${curveShowType}' != null && '${curveShowType}' != '') {
curveShowType = '${curveShowType}';
}
let dataAaccuracy = "min";//数据精度
let scatterXData = [];
for (let i = 0; i < 24; i++) {
for (let j = 0; j < 60; j++) {
let nowHourOut = "";
let nowMinOut = "";
if (i < 10) {
nowHourOut = "0" + i;
} else {
nowHourOut = i;
}
if (j < 10) {
nowMinOut = "0" + j;
} else {
nowMinOut = j;
}
scatterXData.push(nowHourOut + ":" + nowMinOut);
}
}
function initDate1() {
var locale = {
"format": 'YYYY-MM-DD HH:mm',
"separator": " ~ ",
"applyLabel": "确定",
"cancelLabel": "取消",
"fromLabel": "起始时间",
"toLabel": "结束时间'",
"customRangeLabel": "自定义",
"weekLabel": "W",
"daysOfWeek": ["日", "一", "二", "三", "四", "五", "六"],
"monthNames": ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"],
"firstDay": 1
};
var oldreservationtime1 = "${param.oldreservationtime1}";
if (oldreservationtime1 != "" && oldreservationtime1.length > 0) {
beginTimeStore1 = oldreservationtime1.substring(0, 16);
endTimeStore1 = oldreservationtime1.substring(19, 36);
$('#reservationtime1').val(oldreservationtime1);
} else {
beginTimeStore1 = moment().subtract(3, 'days').format('YYYY-MM-DD HH:mm');
endTimeStore1 = moment().subtract(0, 'days').format('YYYY-MM-DD HH:mm');
$('#reservationtime1').val(beginTimeStore1 + locale.separator + endTimeStore1);
}
$('#reservationtime1').daterangepicker({
"timePicker": true,
"timePicker24Hour": true,
"linkedCalendars": false,
"autoUpdateInput": false,
"timePickerIncrement": 10,
"locale": locale,
//汉化按钮部分
ranges: {
// '今日': [moment(), moment().subtract(-1, 'days')],
'昨日': [moment().subtract(1, 'days'), moment()],
'最近7日': [moment().subtract(7, 'days'), moment()],
'本月': [moment().startOf('month'), moment().endOf('month')],
'上月': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')]
},
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));
}
});
};
var mpcodestr = "";
var mpnamestr = "";
// var mpunitstr="";
var unitIdstr = "";
var unitNamestr = "";
var expstr = "";//计算方式,用于系统方案中需要计算的点组
//var idArr =[];
var hmpids = "";
var forcemin = "";
var forcemax = "";
var remarkMpidsContent = "";
var remarkNewMpidsContent = "";
let remarkSdt = "";
let remarkEdt = "";
$(function () {
// curveType = '1';
// curveShowType = '0';
dataAaccuracy = 'min'
if ('${param.firstIn}' != 'true') {
hmpids = "${mpids}";
$('#mpids').val(hmpids);
initDate1();
getMpointJson();
$('#chart').css("display", "block");
$('#noDataDiv').css("display", "none");
} else {
$('#chart').css("display", "none");
$('#noDataDiv').css("display", "block");
$('#noDataDivSvg').css("padding-top", windowghight / 2 - 200 + "px");
}
$(document).click(function (e) {
var divTree = $('#deleteDatadrop'); // 设置目标区域
if (!divTree.is(e.target) && divTree.has(e.target).length === 0) {
divTree.hide()
}
});
$(document).click(function (e) {
var divTree = $('#hisDatadrop'); // 设置目标区域
if (!divTree.is(e.target) && divTree.has(e.target).length === 0) {
divTree.hide()
}
});
$(document).click(function (e) {
var divTree = $('#hisDataTabledrop'); // 设置目标区域
if (!divTree.is(e.target) && divTree.has(e.target).length === 0) {
divTree.hide()
}
});
$(document).click(function (e) {
var divTree = $('#alarmLinedrop'); // 设置目标区域
if (!divTree.is(e.target) && divTree.has(e.target).length === 0) {
divTree.hide()
}
});
$(document).click(function (e) {
var divTree = $('#programmedrop'); // 设置目标区域
if (!divTree.is(e.target) && divTree.has(e.target).length === 0) {
divTree.hide()
}
});
});
function getMpointJson() {
// if(curveType=='2'&&curveShowType=='2'){
// alert("散点图无法在多表下查看");
// return;
// }
$.post(ext.contextPath + "/data/getMPointJson.do", {checkedIds: hmpids}, function (data) {
var ArrayDatas = eval("(" + data + ")");
// console.log(ArrayDatas);
let yValuePointSelectHtml = "";
let yValueyValueContentHtml = "";
yValuePointSelectHtml += "<select onchange='doYValueChange();' style='height: 27.33px;line-height: 27.33px;padding: 2px;' class='form-control select2' id='yValuePointSelect' name='yValuePointSelect'>";
for (var i = 0; i < ArrayDatas.length; i++) {
mpcodestr += ArrayDatas[i].mpointcode + ",";//测量点code
mpnamestr += ArrayDatas[i].parmname + ",";//测量点名称
// mpunitstr+=ArrayDatas[i].unit+",";//测量点单位
unitIdstr += ArrayDatas[i].bizid + ",";//厂
unitNamestr += ArrayDatas[i].bizname + ",";//厂
expstr += ArrayDatas[i].exp + ",";//计算方式
// forcemin += ArrayDatas[i].forcemin + ",";//y轴最小值
// forcemax += ArrayDatas[i].forcemax + ",";//y轴最大值
yValuePointSelectHtml += "<option value='" + ArrayDatas[i].mpointcode + "' num='" + i + "'>" + ArrayDatas[i].parmname + "</option>";
if (i == 0) {
yValueyValueContentHtml += "<div id='yValueContentShow" + i + "' style='display: block;'>";
} else {
yValueyValueContentHtml += "<div id='yValueContentShow" + i + "' style='display: none;'>";
}
yValueyValueContentHtml += "<div class='ckbox'>";
yValueyValueContentHtml += "<input name='yValueAuto" + i + "' type='checkbox' value='true' checked><label for='yValueAuto" + i + "' style='margin-left:10px;'>自适应</label>";
yValueyValueContentHtml += "</div>";
yValueyValueContentHtml += "<div style='float:left;width: 25%;height:32.33px;padding-top: 5px;line-height: 27.33px;font-weight: bold;'>下限值 </div>";
yValueyValueContentHtml += "<div style='float:left;width: 25%;height:32.33px;padding-top: 5px;'><input id='yValueMin" + i + "' style='width: 100%;' value=''/></div>";
yValueyValueContentHtml += "<div style='float:left;width: 25%;height:32.33px;padding-top: 5px;line-height: 27.33px;text-align:center;font-weight: bold;'>上限值</div>";
yValueyValueContentHtml += "<div style='float:left;width: 25%;height:32.33px;padding-top: 5px;'><input id='yValueMax" + i + "' style='width: 100%;' value=''/></div>";
yValueyValueContentHtml += "</div >";
}
yValuePointSelectHtml += "</select>";
$('#yValuePointSelect').html(yValuePointSelectHtml);
$('#yValueContent').html(yValueyValueContentHtml);
if (curveType == '0' || curveType == '1') {
$('#chart').css('height', '100%');
} else if (curveType == '2') {
$('#chart').css('height', (ArrayDatas.length * 380) + 80 + 'px');
}
getEcharts();
});
}
var mychart = "";
var option = [];
var mpcodedata = [];
var mpnamedata = [];
var unitNames = [];
var singleUnitIdSt = "0";
var scatterOption = [];//散点图
function getEcharts() {
document.getElementById("chart").removeAttribute("_echarts_instance_");
mychart = echarts.init(document.getElementById('chart'));
mychart.showLoading({
text: '数据正在加载...',
textStyle: {fontSize: 30, color: '#444'},
effectOption: {backgroundColor: 'rgba(0, 0, 0, 0)'}
});
var series = [];
var yAxis = [];
var xAxis = [];
var grid = [];
var dataZoom = [];
var legenddata = [];
mpcodedata = (mpcodestr.substring(0, mpcodestr.length - 1)).split(",");
mpnamedata = (mpnamestr.substring(0, mpnamestr.length - 1)).split(",");
var unitIds = [];
unitIds = (unitIdstr.substring(0, unitIdstr.length - 1)).split(",");
//判断是否是单厂数据
var singleUnitId = "0";
if (unitIds.length > 0) {
for (var i = 0; i < unitIds.length; i++) {
if (i == 0) {
singleUnitId = unitIds[i];
singleUnitIdSt = "0";
} else {
if (singleUnitId != unitIds[i]) {
singleUnitIdSt = "1";
break;
}
}
}
}
unitNames = (unitNamestr.substring(0, unitIdstr.length - 1)).split(",");
var expname = [];
expname = (expstr.substring(0, expstr.length - 1)).split(",");
// var forcemins = [];
// forcemins = (forcemin.substring(0, forcemin.length - 1)).split(",");
//
// var forcemaxs = [];
// forcemaxs = (forcemax.substring(0, forcemax.length - 1)).split(",");
remarkMpidsContent = "";
if (mpnamedata.length > 0) {
for (var i = 0; i < mpnamedata.length; i++) {
if (expname[i] != "-") {
legenddata.push(mpnamedata[i]);
} else {
// legenddata.push(mpnamedata[i]+":"+mpcodedata[i]);
if (singleUnitIdSt == "0") {
legenddata.push(mpnamedata[i]);
} else if (singleUnitIdSt == "1") {
legenddata.push(unitNames[i] + ":" + mpnamedata[i]);
}
}
remarkMpidsContent += mpcodedata[i] + ":" + unitIds[i] + ":" + mpnamedata[i] + ","
}
}
let seriesType = 'line';
if (curveShowType == '0') {
seriesType = 'line';
} else if (curveShowType == '1') {
seriesType = 'bar';
} else if (curveShowType == '2') {
seriesType = 'scatter';
}
// if (curveShowType == '0' || curveShowType == '1') {
if (curveType == '0') {//多Y轴
// $('#chart').css('height', '100%');
if (legenddata.length == 2) {
for (var i = 0; i < legenddata.length; i++) {
series.push({
symbol: 'none',
symbolSize: '8',
name: legenddata[i],
// xAxisIndex:i,
yAxisIndex: i,
lineStyle: {
width: 2
},
data: '',
type: seriesType,
markPoint: {
data: ''
},
markLine: {
data: ''
}
})
}
yAxis.push({
type: 'value',
name: false,
position: 'left',//在左侧显示Y轴
offset: 0,//循环显示Y轴位置
axisLine: {
show: true,
lineStyle: {
color: color[0]
}
},
splitLine: {
show: true//是否显示分隔线。默认数值轴显示,类目轴不显示。
},
scale: true//设置成 true 后坐标刻度不会强制包含零刻度。
});
yAxis.push({
type: 'value',
name: false,
position: 'right',//在左侧显示Y轴
offset: 0,//循环显示Y轴位置
axisLine: {
show: true,
lineStyle: {
color: color[1]
}
},
splitLine: {
show: true//是否显示分隔线。默认数值轴显示,类目轴不显示。
},
scale: true//设置成 true 后坐标刻度不会强制包含零刻度。
});
} else {
for (var i = 0; i < legenddata.length; i++) {
series.push({
symbol: 'none',
symbolSize: '8',
name: legenddata[i],
// xAxisIndex:i,
yAxisIndex: i,
lineStyle: {
width: 2
},
data: '',
type: seriesType,
markPoint: {
data: ''
},
markLine: {
data: ''
}
})
yAxis.push({
type: 'value',
name: false,
position: 'left',//在左侧显示Y轴
offset: i * 40,//循环显示Y轴位置
axisLine: {
show: true,
lineStyle: {
color: color[i]
}
},
splitLine: {
show: true//是否显示分隔线。默认数值轴显示,类目轴不显示。
},
scale: true//设置成 true 后坐标刻度不会强制包含零刻度。
});
}
}
xAxis.push({
type: 'time'
});
grid.push({
left: '4%', // 与容器左侧的距离
right: '4%', // 与容器右侧的距离
top: '5%', // 与容器顶部的距离
//bottom: '5%', // 与容器底部的距离
containLabel: true
});
dataZoom.push({
type: 'inside',
start: 0,
end: 100
})
dataZoom.push({
start: 0,
end: 100,
handleIcon: 'M10.7,11.9v-1.3H9.3v1.3c-4.9,0.3-8.8,4.4-8.8,9.4c0,5,3.9,9.1,8.8,9.4v1.3h1.3v-1.3c4.9-0.3,8.8-4.4,8.8-9.4C19.5,16.3,15.6,12.2,10.7,11.9z M13.3,24.4H6.7V23h6.6V24.4z M13.3,19.6H6.7v-1.4h6.6V19.6z',
handleSize: '60%',
handleStyle: {
color: '#fff',
shadowBlur: 3,
shadowColor: 'rgba(0, 0, 0, 0.6)',
shadowOffsetX: 2,
shadowOffsetY: 2
}
})
} else if (curveType == '1') {//单Y轴
// $('#chart').css('height', '100%');
for (var i = 0; i < legenddata.length; i++) {
series.push({
data: '',
symbol: 'none',
symbolSize: '8',
name: legenddata[i],
type: seriesType,
// xAxisIndex:i,
lineStyle: {
width: 2
},
markPoint: {
data: ''
},
markLine: {
data: ''
}
})
}
xAxis.push({
type: 'time'
});
yAxis.push({
type: 'value',
name: false,
splitLine: {
show: true//是否显示分隔线。默认数值轴显示,类目轴不显示。
},
axisLine: {
show: true
},
scale: true//设置成 true 后坐标刻度不会强制包含零刻度。
});
grid.push({
left: '4%', // 与容器左侧的距离
right: '4%', // 与容器右侧的距离
top: '5%', // 与容器顶部的距离
//bottom: '5%', // 与容器底部的距离
containLabel: true
});
dataZoom.push({
type: 'inside',
start: 0,
end: 100
})
dataZoom.push({
start: 0,
end: 100,
handleIcon: 'M10.7,11.9v-1.3H9.3v1.3c-4.9,0.3-8.8,4.4-8.8,9.4c0,5,3.9,9.1,8.8,9.4v1.3h1.3v-1.3c4.9-0.3,8.8-4.4,8.8-9.4C19.5,16.3,15.6,12.2,10.7,11.9z M13.3,24.4H6.7V23h6.6V24.4z M13.3,19.6H6.7v-1.4h6.6V19.6z',
handleSize: '60%',
handleStyle: {
color: '#fff',
shadowBlur: 3,
shadowColor: 'rgba(0, 0, 0, 0.6)',
shadowOffsetX: 2,
shadowOffsetY: 2
}
})
} else if (curveType == '2') {//多表
// $('#chart').css('height', (legenddata.length * 380) + 80 + 'px');
for (var i = 0; i < legenddata.length; i++) {
xAxis.push({
type: 'time',
gridIndex: i,
});
yAxis.push({
type: 'value',
name: false,
splitLine: {
show: true//是否显示分隔线。默认数值轴显示,类目轴不显示。
},
axisLine: {
show: true
},
scale: true,//设置成 true 后坐标刻度不会强制包含零刻度。
gridIndex: i
});
series.push({
data: '',
symbol: 'none',
name: legenddata[i],
type: seriesType,
lineStyle: {
width: 2
},
markPoint: {
data: ''
},
markLine: {
data: ''
},
xAxisIndex: i,
yAxisIndex: i
});
let topH = 80 * (i + 1) + i * 300;
grid.push({
height: '300px',
top: topH + 'px'
})
dataZoom.push({
type: 'inside',
// zoomLock: 'true',
start: 0,
end: 100,
xAxisIndex: i,
filterMode: 'filter',
})
dataZoom.push({
type: 'inside',
// zoomLock: 'true',
start: 0,
end: 100,
yAxisIndex: i,
filterMode: 'empty',
})
dataZoom.push({
start: 0,
end: 100,
handleIcon: 'M10.7,11.9v-1.3H9.3v1.3c-4.9,0.3-8.8,4.4-8.8,9.4c0,5,3.9,9.1,8.8,9.4v1.3h1.3v-1.3c4.9-0.3,8.8-4.4,8.8-9.4C19.5,16.3,15.6,12.2,10.7,11.9z M13.3,24.4H6.7V23h6.6V24.4z M13.3,19.6H6.7v-1.4h6.6V19.6z',
handleSize: '60%',
xAxisIndex: i,
height: '25px',
top: topH + 340 + 'px',
handleStyle: {
color: '#fff',
shadowBlur: 3,
shadowColor: 'rgba(0, 0, 0, 0.6)',
shadowOffsetX: 2,
shadowOffsetY: 2
}
})
dataZoom.push({
start: 0,
end: 100,
handleIcon: 'M10.7,11.9v-1.3H9.3v1.3c-4.9,0.3-8.8,4.4-8.8,9.4c0,5,3.9,9.1,8.8,9.4v1.3h1.3v-1.3c4.9-0.3,8.8-4.4,8.8-9.4C19.5,16.3,15.6,12.2,10.7,11.9z M13.3,24.4H6.7V23h6.6V24.4z M13.3,19.6H6.7v-1.4h6.6V19.6z',
handleSize: '60%',
yAxisIndex: i,
// height: '25px',
top: topH + 'px',
handleStyle: {
color: '#fff',
shadowBlur: 3,
shadowColor: 'rgba(0, 0, 0, 0.6)',
shadowOffsetX: 2,
shadowOffsetY: 2
}
})
}
}
if (curveShowType == '2') {//散点图
$.post(ext.contextPath + "/data/getScatterData.do", {
mpcode: hmpids,
sdt: beginTimeStore1,
edt: endTimeStore1
}, function (data) {
// console.log(data)
let namearr = mpnamestr.substring(0, mpnamestr.length - 1);
namearr = namearr.split(",");
let scatterseriesData = [];
// for (let i = 0; i < data.length; i++) {
// scatterseriesData.push({
// name: namearr[i],
// type: 'scatter',
// data: data[i].data
// })
// }
let scatterxAxis = [];
let scatteryAxis = [];
let scatterdataZoom = [];
let scattergrid = [];
if (curveType == '0' || curveType == '1') {
scatterxAxis.push({
scale: true,
data: scatterXData,
});
if (curveType == '0') {
for (var i = 0; i < data.length; i++) {
scatteryAxis.push({
type: 'value',
name: false,
position: 'left',//在左侧显示Y轴
offset: i * 40,//循环显示Y轴位置
axisLine: {
show: true,
lineStyle: {
color: color[i]
}
},
splitLine: {
show: true//是否显示分隔线。默认数值轴显示,类目轴不显示。
},
scale: true//设置成 true 后坐标刻度不会强制包含零刻度。
});
scatterseriesData.push({
name: namearr[i],
type: 'scatter',
data: data[i].data,
yAxisIndex: i
})
}
} else {
scatteryAxis.push({
type: 'value',
name: false,
splitLine: {
show: true//是否显示分隔线。默认数值轴显示,类目轴不显示。
},
axisLine: {
show: true
},
scale: true//设置成 true 后坐标刻度不会强制包含零刻度。
});
for (var i = 0; i < data.length; i++) {
scatterseriesData.push({
name: namearr[i],
type: 'scatter',
data: data[i].data,
})
}
}
scattergrid.push({
left: '4%', // 与容器左侧的距离
right: '4%', // 与容器右侧的距离
top: '5%', // 与容器顶部的距离
//bottom: '5%', // 与容器底部的距离
containLabel: true
});
scatterdataZoom.push({
type: 'inside',
start: 0,
end: 100
})
scatterdataZoom.push({
start: 0,
end: 100,
handleIcon: 'M10.7,11.9v-1.3H9.3v1.3c-4.9,0.3-8.8,4.4-8.8,9.4c0,5,3.9,9.1,8.8,9.4v1.3h1.3v-1.3c4.9-0.3,8.8-4.4,8.8-9.4C19.5,16.3,15.6,12.2,10.7,11.9z M13.3,24.4H6.7V23h6.6V24.4z M13.3,19.6H6.7v-1.4h6.6V19.6z',
handleSize: '60%',
handleStyle: {
color: '#fff',
shadowBlur: 3,
shadowColor: 'rgba(0, 0, 0, 0.6)',
shadowOffsetX: 2,
shadowOffsetY: 2
}
})
} else if (curveType == '2') {//多表
for (var i = 0; i < data.length; i++) {
scatterxAxis.push({
scale: true,
data: scatterXData,
gridIndex: i,
});
scatteryAxis.push({
type: 'value',
name: false,
splitLine: {
show: true//是否显示分隔线。默认数值轴显示,类目轴不显示。
},
axisLine: {
show: true
},
scale: true,//设置成 true 后坐标刻度不会强制包含零刻度。
gridIndex: i
});
scatterseriesData.push({
name: namearr[i],
type: 'scatter',
data: data[i].data,
xAxisIndex: i,
yAxisIndex: i,
})
let topH = 80 * (i + 1) + i * 300;
scattergrid.push({
height: '300px',
top: topH + 'px'
})
scatterdataZoom.push({
type: 'inside',
// zoomLock: 'true',
start: 0,
end: 100,
xAxisIndex: i,
filterMode: 'filter',
})
scatterdataZoom.push({
type: 'inside',
// zoomLock: 'true',
start: 0,
end: 100,
yAxisIndex: i,
filterMode: 'empty',
})
scatterdataZoom.push({
start: 0,
end: 100,
handleIcon: 'M10.7,11.9v-1.3H9.3v1.3c-4.9,0.3-8.8,4.4-8.8,9.4c0,5,3.9,9.1,8.8,9.4v1.3h1.3v-1.3c4.9-0.3,8.8-4.4,8.8-9.4C19.5,16.3,15.6,12.2,10.7,11.9z M13.3,24.4H6.7V23h6.6V24.4z M13.3,19.6H6.7v-1.4h6.6V19.6z',
handleSize: '60%',
xAxisIndex: i,
height: '25px',
top: topH + 340 + 'px',
handleStyle: {
color: '#fff',
shadowBlur: 3,
shadowColor: 'rgba(0, 0, 0, 0.6)',
shadowOffsetX: 2,
shadowOffsetY: 2
}
})
scatterdataZoom.push({
start: 0,
end: 100,
handleIcon: 'M10.7,11.9v-1.3H9.3v1.3c-4.9,0.3-8.8,4.4-8.8,9.4c0,5,3.9,9.1,8.8,9.4v1.3h1.3v-1.3c4.9-0.3,8.8-4.4,8.8-9.4C19.5,16.3,15.6,12.2,10.7,11.9z M13.3,24.4H6.7V23h6.6V24.4z M13.3,19.6H6.7v-1.4h6.6V19.6z',
handleSize: '60%',
yAxisIndex: i,
// height: '25px',
top: topH + 'px',
handleStyle: {
color: '#fff',
shadowBlur: 3,
shadowColor: 'rgba(0, 0, 0, 0.6)',
shadowOffsetX: 2,
shadowOffsetY: 2
}
})
}
}
scatterOption = {
color: color,
xAxis: scatterxAxis,
yAxis: scatteryAxis,
legend: {
data: namearr,
left: 'center'
},
grid: scattergrid,
tooltip: {
trigger: 'item'
},
series: scatterseriesData,
dataZoom: dataZoom
}
mychart.setOption(scatterOption, true);
mychart.hideLoading();
}, 'json');
} else {
option = {
color: color,
animation: false,
// tooltip: {
// trigger: 'axis',
// axisPointer: {
// type: 'cross'
// }
// },
legend: {
type: 'scroll',
// right: 50,
data: legenddata,
left: 'center',
padding: [
10, // 上
100, // 右
0, // 下
0, // 左
]
},
grid: grid,
toolbox: {
feature: {
saveAsImage: {show: true},
}
},
xAxis: xAxis,
yAxis: yAxis,
series: series,
tooltip: {
trigger: 'axis',
enterable: true,
// confine:true,
formatter: function (params, ticket, callback) {
var htmlStr = '';
for (var i = 0; i < params.length; i++) {
var param = params[i];
var xName = param.name;//x轴的名称
var seriesName = param.seriesName;//图例名称
// var xvalue = param.value[0];//x轴值
var xvalue = getLocalTime2(param.value[0] / 1000);
var yvalue = param.value[1];//y轴值
var remarkvalue = param.value[2];//备注轴值
var unit = "";//单位
if (param.value[3] != '-') {
unit = param.value[3];
}
var color = param.color;//图例颜色
htmlStr += '<div>';
htmlStr += xvalue + '<br/>';
htmlStr += '<span style="margin-right:5px;display:inline-block;width:10px;height:10px;border-radius:5px;background-color:' + color + ';"></span>';
htmlStr += seriesName + '' + '<span style="font-weight: 600;">' + yvalue + ' ' + unit + '</span>';
if (remarkvalue != "") {
htmlStr += '<br/>' + '备注:' + remarkvalue;
}
htmlStr += '</div>';
}
return htmlStr;
}
},
dataZoom: dataZoom
};
// console.log(option)
mychart.setOption(option, true);
mychart.on('click', function (param) {
// console.log(param);//这里根据param填写你的跳转逻辑
if (param.componentSubType == 'line') {
var time = param.data[0];//获取日期
// console.log(time)
var remarkCnum = $('#remarkCnum').val();
if (remarkCnum == '0') {
remarkSdt = getLocalTime2(time / 1000);
// $('#remarkSdt').val(getLocalTime2(time / 1000));
$('#remarkCnum').val('1');
} else if (remarkCnum == '1') {
remarkEdt = getLocalTime2(time / 1000);
// $('#remarkEdt').val(getLocalTime2(time / 1000));
$('#remarkCnum').val('2');
$.post(ext.contextPath + '/data/remarkView.do', {
sdt: remarkSdt,
edt: remarkEdt,
remarkMpidsContent: remarkNewMpidsContent//remarkMpidsContent
}, function (data) {
$("#subDiv").html(data);
openModal('curveRemarkSubModal');
$('#remarkCnum').val('0');
});
} else {
alert("只可选择两个时间点,请重置选择!");
}
}
});
mychart.on('legendselectchanged', function (obj) {
// console.log(obj)
// console.log(remarkMpidsContent)
var selected = obj.selected;
var legend = obj.name;
var nowselect = "";
// var oldmpidss = ($('#oldremarkMpids').val().substring(0, $('#oldremarkMpids').val().length - 1)).split(",");
remarkNewMpidsContent = remarkMpidsContent.substring(0, remarkMpidsContent.length - 1).split(",");
// console.log(remarkMpidsContent)
for (var key in selected) {
if (selected[key]) {
// var nowmpids=key.split(":");
for (let m = 0; m < remarkNewMpidsContent.length; m++) {
var oldmpids = remarkNewMpidsContent[m].split(":");
var nowmpname = key;
var oldmpname = oldmpids[2];
if (oldmpname == nowmpname) {
nowselect += oldmpids[0] + ":" + oldmpids[1] + ":" + oldmpids[2] + ",";
}
}
}
}
remarkNewMpidsContent = nowselect;
// console.log(remarkNewMpidsContent)
// $('#remarkMpids').val(nowselect);
// $("#remarkLineSelect").empty();
// for (var r = 0; r < oldmpidss.length; r++) {
// var remarkMpsDetails = oldmpidss[r].split(":");
// var rmpname = remarkMpsDetails[2];
// var rmpvalue = remarkMpsDetails[0] + ":" + remarkMpsDetails[1];
// if (nowselect.indexOf(rmpname) >= 0) {
// $("#remarkLineSelect").append("<option value=" + rmpvalue + " selected>" + rmpname + "</option>");
// } else {
// $("#remarkLineSelect").append("<option value=" + rmpvalue + " >" + rmpname + "</option>");
// }
// }
// $('#remarkLineSelect').multipleSelect({
// addTitle: true, //鼠标点悬停在下拉框时是否显示被选中的值
// selectAll: true, //是否显示全部复选框,默认显示
// name: "备注曲线",
// //delimiter: ', ', //多个值直接的间隔符,默认是逗号
// placeholder: "下拉选择" //不选择时下拉框显示的内容
// });
});
mpcodedata.forEach(function (item, index) {
if (item != '') {
appendDataToChart(item, index, unitIds[index], expname[index], mpnamedata[index]);
}
});
}
}
var alarmdata = [];
var visualMap = [];
function appendDataToChart(id, index, unitIds, exp, mpname) {
$.ajax({
type: 'GET',
url: ext.contextPath + "/work/mpoint/getMpointJsonFormpids.do",
async: false,
globle: false,
data: {
unitId: unitIds,
mpids: id,
func: exp,
mpname: mpname,
sdt: beginTimeStore1,
edt: endTimeStore1
// dataAaccuracy: dataAaccuracy
},
dataType: 'json',
error: function () {
return false;
},
success: function (datas) {
var piecesdata = [];
// var datas = eval('(' + data + ')');
// console.log(datas)
if (index == 0) {
mychart.hideLoading();
}
// console.log(datas);
if (datas != '') {
alarmdata.push({
name: mpname,
maxlimit: datas[0].maxlimit,
minlimit: datas[0].minlimit
});
var edatas = datas[0].data;
// console.log(edatas);
//为全局赋值
option.series[index].data = edatas;
if (datas[0].remarkS.length > 0) {
piecesdata.push({
index: index,
remarkS: datas[0].remarkS,
remarkE: datas[0].remarkE
})
}
//后端构造对应数据
mychart.appendData({
seriesIndex: index,
data: edatas
});
// console.log(piecesdata);
for (var r = 0; r < piecesdata.length; r++) {
var pieces = [];
for (var rs = 0; rs < piecesdata[r].remarkS.length; rs++) {
pieces.push({
gt: option.series[piecesdata[r].index].data[piecesdata[r].remarkS[rs]][0],
lte: option.series[piecesdata[r].index].data[piecesdata[r].remarkE[rs] - 1][0],
// gt: piecesdata[r].remarkS[rs] - 1,
// lte: piecesdata[r].remarkE[rs] - 1,
color: 'red'
})
}
visualMap.push({
show: false,
dimension: 0,
seriesIndex: piecesdata[r].index,
pieces: pieces,
outOfRange: {color: color[piecesdata[r].index]}
});
}
option.visualMap = visualMap;
//刷新
mychart.setOption(option, true);
}
}
});
}
function getHistoryList() {
var namearr = mpnamestr.substring(0, mpnamestr.length - 1);
namearr = namearr.split(",");
var length = namearr.length;
var mpoint = [];
var checkobx = {};
checkobx.checkbox = true;
//mpoint.push(checkobx);
var measuredt = {};
measuredt.class = 'W120',
measuredt.field = 'measuredt';
measuredt.title = '时间';
measuredt.align = 'center';
measuredt.valign = 'middle';
measuredt.width = 140;
mpoint.push(measuredt);
for (var i = 0; i < namearr.length; i++) {
var color = colors[i % namearr.length];
var parmvalue = {};
parmvalue.field = 'paramvalue' + i;
parmvalue.title = namearr[i];
parmvalue.align = 'center';
parmvalue.valign = 'middle';
parmvalue.width = (800 - 10) / namearr.length;
var css1 = {};
css1.color = color;
var cellstyle = {};
cellstyle.css = css1;
parmvalue.cellStyle = cellstyle,
mpoint.push(parmvalue);
}
var jsonStr1 = JSON.stringify(mpoint)
$("#datatable").bootstrapTable({ // 对应table标签的id
url: ext.contextPath + '/work/mpoint/getDiffUnitHistoryList.do', // 获取表格数据的url
cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true
striped: true, //表格显示条纹默认为false
pagination: true, // 在表格底部显示分页组件默认false
pageList: [10, 20, 50], // 设置页面可以显示的数据条数
pageSize: 10, // 页面数据条数
pageNumber: 1, // 首页页码
sidePagination: 'server', // 设置为服务器端分页
rowStyle: function (row, index) {
var classes = ['active', 'success', 'info', 'warning', 'danger'];
return {
classes: classes[row / 5]
};
return {};
},
queryParams: function (params) { // 请求服务器数据时发送的参数可以在这里添加额外的查询参数返回false则终止请求
return {
rows: params.limit, // 每页要显示的数据条数
page: params.offset / params.limit + 1, // 每页显示数据的开始页码
sort: params.sort, // 要排序的字段
order: params.order,
ids: hmpids,
sdt: beginTimeStore1,
edt: endTimeStore1
}
},
sortName: 'measuredt', // 要排序的字段
sortOrder: 'asc', // 排序规则
onClickRow: function (row) {//单击行事件,执行查看功能
//viewFun(row.id);
},
columns: mpoint,
onLoadSuccess: function () { //加载成功时执行
adjustBootstrapTableView("datatable");
},
onLoadError: function () { //加载失败时执行
console.info("加载数据失败");
}
})
// $(".th-inner").css('background-color','#659be0');
}
function dosearch() {
mpcodestr = "";
mpnamestr = "";
// mpunitstr="";
mychart = "";
option = [];
// $('#remarkMpids').val("");
// $('#oldremarkMpids').val("");
getMpointJson();
$("#datatable").bootstrapTable('refresh');
// $('#remarkShow').text('不显示');
hisDataoption = "";
hisDatamychart = "";
forcemin = "";
forcemax = "";
}
function changeCureType(obj) {
var value = $(obj).val();
curveType = value;
// if (curveType == '0' || curveType == '1') {
// $('#chart').css('height', '100%');
// } else if (curveType == '2') {
// $('#chart').css('height', (mpcodedata.length * 380) + 80 + 'px');
// }
dosearch();
}
function changeCureShowType(obj) {
// console.log(option)
var value = $(obj).val();
curveShowType = value;
if (curveShowType == '0') {
if (option != null) {
for (let i = 0; i < option.series.length; i++) {
option.series[i].type = 'line';
}
mychart.setOption(option, true);
} else {
getMpointJson();
}
} else if (curveShowType == '1') {
mychart.setOption(option, true);
if (option != null) {
for (let i = 0; i < option.series.length; i++) {
option.series[i].type = 'bar';
}
mychart.setOption(option, true);
} else {
getMpointJson();
}
} else if (curveShowType == '2') {
getMpointJson();
}
}
function changeDataAaccuracy(obj) {
var value = $(obj).val();
dataAaccuracy = value;
dosearch();
}
var hisDataoption = [];
var hisDatamychart = "";
function dohisData() {
$('#hisDatadrop').hide();
option = "";
var s = $('#mpids').val().split(",");
s = s.splice(0, (s.length - 1));
let reservationtime2 = $('#reservationtime2').val();
let reservationtime3 = $('#reservationtime3').val();
document.getElementById("chart").removeAttribute("_echarts_instance_");
hisDatamychart = echarts.init(document.getElementById('chart'));
hisDatamychart.showLoading({
text: '数据正在加载...',
textStyle: {fontSize: 30, color: '#444'},
effectOption: {backgroundColor: 'rgba(0, 0, 0, 0)'}
});
let hisBJData = [];
for (let i = 0; i < s.length; i++) {
let s2 = s[i].split(":");
let mpid = s2[0];
let unitIds = s2[1];
$.ajax({
type: 'GET',
url: ext.contextPath + "/work/mpoint/getMpointJsonForHisContrast.do",
async: false,
globle: false,
data: {
unitId: unitIds,
mpid: mpid,
basicsDt: reservationtime2,
hisDt: reservationtime3
},
dataType: 'json',
error: function () {
return false;
},
success: function (datas) {
// console.log(datas);
let data1 = datas[0].data;
let data2 = datas[1].data;
let hisBJDetailData = [];
hisBJDetailData.push({
data1: data1,
data2: data2,
name1: datas[0].name,
name2: datas[1].name
});
hisBJData.push(hisBJDetailData);
}
});
}
if (s.length == 1) {
let data1 = hisBJData[0][0].data1;
let data2 = hisBJData[0][0].data2;
let name1 = hisBJData[0][0].name1;
let name2 = hisBJData[0][0].name2;
if (curveType == '1') {
hisDataoption = {
animation: false,
legend: {
data: [name1, name2],
left: 'center',
padding: [
10, // 上
100, // 右
0, // 下
0, // 左
]
},
grid: {
left: '4%', // 与容器左侧的距离
right: '4%', // 与容器右侧的距离
top: '5%', // 与容器顶部的距离
//bottom: '5%', // 与容器底部的距离
containLabel: true
},
toolbox: {
feature: {
saveAsImage: {show: true},
}
},
xAxis: {
type: 'time'
},
yAxis: {
type: 'value',
name: false,
splitLine: {
show: false//是否显示分隔线。默认数值轴显示,类目轴不显示。
},
scale: true//设置成 true 后坐标刻度不会强制包含零刻度。
},
series: [
{
name: name1,
type: 'line',
symbol: 'none',
markPoint: {
data: ''
},
markLine: {
data: ''
},
data: data1
},
{
name: name2,
type: 'line',
symbol: 'none',
markPoint: {
data: ''
},
markLine: {
data: ''
},
data: data2
}
],
tooltip: {
trigger: 'axis',
formatter: function (params, ticket, callback) {
// console.log(params);
var htmlStr = '';
for (var i = 0; i < params.length; i++) {
var param = params[i];
var seriesName = param.seriesName;//图例名称
var xvalue = param.value[2];//x轴值
var yvalue = param.value[1];//y轴值
var color = param.color;//图例颜色
// var showName = seriesName.split(":");
htmlStr += '<div>';
htmlStr += xvalue + '<br/>';
htmlStr += '<span style="margin-right:5px;display:inline-block;width:10px;height:10px;border-radius:5px;background-color:' + color + ';"></span>';
htmlStr += seriesName + '' + yvalue + '';
htmlStr += '</div>';
}
return htmlStr;
}
// alwaysShowContent:true,
},
dataZoom: [{
type: 'inside',
start: 0,
end: 20
}, {
start: 0,
end: 20,
handleIcon: 'M10.7,11.9v-1.3H9.3v1.3c-4.9,0.3-8.8,4.4-8.8,9.4c0,5,3.9,9.1,8.8,9.4v1.3h1.3v-1.3c4.9-0.3,8.8-4.4,8.8-9.4C19.5,16.3,15.6,12.2,10.7,11.9z M13.3,24.4H6.7V23h6.6V24.4z M13.3,19.6H6.7v-1.4h6.6V19.6z',
handleSize: '60%',
handleStyle: {
color: '#fff',
shadowBlur: 3,
shadowColor: 'rgba(0, 0, 0, 0.6)',
shadowOffsetX: 2,
shadowOffsetY: 2
}
}]
};
} else {
alert("请将轴类型切位单Y轴");
}
} else {
if (curveType == '2') {
let xAxis = [];
let yAxis = [];
let series = [];
let grid = [];
let dataZoom = [];
let legendNmae = [];
for (let j = 0; j < hisBJData.length; j++) {
let data1 = hisBJData[j][0].data1;
let data2 = hisBJData[j][0].data2;
let name1 = hisBJData[j][0].name1;
let name2 = hisBJData[j][0].name2;
legendNmae.push(name1);
legendNmae.push(name2);
xAxis.push({
type: 'time',
gridIndex: j,
});
yAxis.push({
type: 'value',
name: false,
splitLine: {
show: true//是否显示分隔线。默认数值轴显示,类目轴不显示。
},
axisLine: {
show: true
},
scale: true,//设置成 true 后坐标刻度不会强制包含零刻度。
gridIndex: j
});
series.push({
name: name1,
type: 'line',
symbol: 'none',
data: data1,
xAxisIndex: j,
yAxisIndex: j,
markPoint: {
data: ''
},
markLine: {
data: ''
}
});
series.push({
name: name2,
type: 'line',
symbol: 'none',
data: data2,
xAxisIndex: j,
yAxisIndex: j,
markPoint: {
data: ''
},
markLine: {
data: ''
},
});
let topH = 80 * (j + 1) + j * 300;
grid.push({
height: '300px',
top: topH + 'px'
})
dataZoom.push({
type: 'inside',
zoomLock: 'true',
start: 0,
end: 100,
xAxisIndex: j,
yAxisIndex: j
})
dataZoom.push({
start: 0,
end: 100,
handleIcon: 'M10.7,11.9v-1.3H9.3v1.3c-4.9,0.3-8.8,4.4-8.8,9.4c0,5,3.9,9.1,8.8,9.4v1.3h1.3v-1.3c4.9-0.3,8.8-4.4,8.8-9.4C19.5,16.3,15.6,12.2,10.7,11.9z M13.3,24.4H6.7V23h6.6V24.4z M13.3,19.6H6.7v-1.4h6.6V19.6z',
handleSize: '60%',
xAxisIndex: j,
yAxisIndex: j,
height: '25px',
top: topH + 340 + 'px',
handleStyle: {
color: '#fff',
shadowBlur: 3,
shadowColor: 'rgba(0, 0, 0, 0.6)',
shadowOffsetX: 2,
shadowOffsetY: 2
}
})
}
hisDataoption = {
animation: false,
legend: {
data: legendNmae,
type: 'scroll',
left: 'center',
padding: [
10, // 上
100, // 右
0, // 下
0, // 左
]
},
grid: grid,
toolbox: {
feature: {
saveAsImage: {show: true},
}
},
xAxis: xAxis,
yAxis: yAxis,
series: series,
tooltip: {
trigger: 'axis',
formatter: function (params, ticket, callback) {
var htmlStr = '';
for (var i = 0; i < params.length; i++) {
var param = params[i];
var seriesName = param.seriesName;//图例名称
var xvalue = param.value[2];//x轴值
var yvalue = param.value[1];//y轴值
var color = param.color;//图例颜色
// var showName = seriesName.split(":");
htmlStr += '<div>';
htmlStr += xvalue + '<br/>';
htmlStr += '<span style="margin-right:5px;display:inline-block;width:10px;height:10px;border-radius:5px;background-color:' + color + ';"></span>';
htmlStr += seriesName + '' + yvalue + '';
htmlStr += '</div>';
}
return htmlStr;
}
// alwaysShowContent:true,
},
dataZoom: dataZoom
};
// console.log(hisDataoption);
} else {
alert("请将轴类型切位多表");
}
}
hisDatamychart.setOption(hisDataoption);
hisDatamychart.hideLoading();
}
function doYearCompare() {
var myDate = new Date;
var year = myDate.getFullYear(); //获取当前年
var mon = myDate.getMonth() + 1; //获取当前月
// var date = myDate.getDate(); //获取当前日
if (parseInt(mon) < 10) {
mon = "0" + mon;
}
var nowdt = year + "-" + mon;
$('#reservationtime2').val(nowdt);
var lastyear = parseInt(year) - 1;
var lastmon = mon;
var lastdt = lastyear + "-" + lastmon;
$('#reservationtime3').val(lastdt);
document.getElementById("yearCompare").style.border = "2px solid #ccc";
document.getElementById("monthCompare").style.border = "0px solid #ccc";
$('#compareText').text("同比:本月数据和去年同月数据对比");
}
function doMonthCompare() {
var myDate = new Date;
var year = myDate.getFullYear(); //获取当前年
var mon = myDate.getMonth() + 1; //获取当前月
// var date = myDate.getDate(); //获取当前日
if (parseInt(mon) < 10) {
mon = "0" + mon;
}
var nowdt = year + "-" + mon;
$('#reservationtime2').val(nowdt);
var lastyear = year;
var lastmon = parseInt(mon) - 1;
if (parseInt(mon) == 1) {
lastyear = parseInt(lastyear) - 1;
lastmon = "12";
}
if (parseInt(lastmon) < 10) {
lastmon = "0" + lastmon;
}
var lastdt = lastyear + "-" + lastmon;
$('#reservationtime3').val(lastdt);
document.getElementById("monthCompare").style.border = "2px solid #ccc";
document.getElementById("yearCompare").style.border = "0px solid #ccc";
$('#compareText').text("环比:本月数据和上月数据对比");
}
function deleteDataContent() {
var deleteDataContent = $('#mpids').val();
// console.log(deleteDataContent)
var deleteDataContents = [];
deleteDataContents = (deleteDataContent.substring(0, deleteDataContent.length - 1)).split(",");
// console.log(deleteDataContents);
var html = "<div style='width:100%;padding:5px;' >";
html += "<div style='float:left;width:100%;padding-bottom:10px;border-bottom:10px solid #f4f4f4;' >";
html += "<div style='width:100%;float:right;'><div class='pull-right' style='width:80px;height:25px;border-radius: 4px;background: #3c8dbc;margin-right: 10px;' ><div style='text-align:center;line-height:25px;font-size:12px;color:#ffffff;font-weight:700;font-family: MicrosoftYaHei, MicrosoftYaHei-Bold;cursor: pointer;' onclick='deleteDataAllContent();'>全部删除</div></div></div>";
html += "</div>";
if (deleteDataContents != null && deleteDataContents != '' && deleteDataContents.length > 0) {
for (var i = 0; i < deleteDataContents.length; i++) {
var showname = "";
if (singleUnitIdSt == "0") {
showname = mpnamedata[i];
} else if (singleUnitIdSt == "1") {
showname = unitNames[i] + ":" + mpnamedata[i];
}
html += "<div style='float:left;width:100%;padding-bottom:10px;padding-top:10px;border-bottom:10px solid #f4f4f4;' >";
html += "<div title='" + showname + "' style='float:left;width:90%;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;'>" + showname + "</div>";
html += "<div style='float:left;width:10%;text-align:center;cursor: pointer;'><a ><i id='" + deleteDataContents[i] + "' class='fa fa-times-circle-o' style='font-size:18px;' onclick='doOneDeleteData(this);'></i></a></div>";
html += "</div>";
}
}
html += "</div>";
$('#deleteDataContent').html(html);
}
function deleteDataAllContent() {
hmpids = "";
mychart = "";
option = [];
$('#mpids').val("");
$("#chart").html("");
$('#deleteDatadrop').hide();
// $('#remarkMpids').val("");
// $('#oldremarkMpids').val("");
for (let i = 0; i < nodeIds.length; i++) {
$('#singleBizDiv').treeview('toggleNodeSelected', [nodeIds[i].nodeId, {silent: true}]);
}
while (nodeIds.length) {
nodeIds.pop();
}
}
function doOneDeleteData(obj) {
var check = $(obj).attr("id") + ",";
var oldmpids = $('#mpids').val();
var newmpids = oldmpids.replace(check, "");
hmpids = newmpids;
$('#mpids').val(newmpids);
//取消左侧数的选中状态
let onlyMpid = $(obj).attr("id").split(":")[0];
for (let i = 0; i < nodeIds.length; i++) {
if (onlyMpid == nodeIds[i].mpid) {
$('#singleBizDiv').treeview('toggleNodeSelected', [nodeIds[i].nodeId, {silent: true}]);
nodeIds.splice(i, 1);
break;
}
}
$('#deleteDatadrop').hide();
if (hmpids == "") {
hmpids = "";
mychart = "";
option = [];
$('#mpids').val("");
$("#chart").html("");
// $('#remarkMpids').val("");
// $('#oldremarkMpids').val("");
} else {
dosearch();
}
}
function doAuxiliaryTools() {
// console.log(alarmdata);
let markPointdata = [];
let avgSt = '0';
let alarmSt = '0';
$('input[name="alarmLineName"]:checked').each(function () {//遍历每一个名字为interest的复选框其中选中的执行函数
if ($(this).val() == '0') {
markPointdata.push({
type: 'max',
name: '最大值'
});
} else if ($(this).val() == '1') {
markPointdata.push({
type: 'min',
name: '最小值'
});
} else if ($(this).val() == '2') {
avgSt = '1';
if (option != null && option != '') {
for (let i = 0; i < option.series.length; i++) {
let markLinedata = [];
markLinedata.push({
type: 'average',
name: '平均值'
});
option.series[i].markLine.data = markLinedata;
}
} else if (hisDataoption != null && hisDataoption != '') {
for (let i = 0; i < hisDataoption.series.length; i++) {
let markLinedata = [];
markLinedata.push({
type: 'average',
name: '平均值'
});
hisDataoption.series[i].markLine.data = markLinedata;
}
}
} else if ($(this).val() == '3') {
alarmSt = '1';
if (option != null && option != '') {
for (let i = 0; i < option.series.length; i++) {
for (let j = 0; j < alarmdata.length; j++) {
if (alarmdata[j].name == option.series[i].name) {
let markLinedata = [];
if (alarmdata[i].maxlimit != '-') {
markLinedata.push({
silent: true, //鼠标悬停事件 true没有false有
lineStyle: { //警戒线的样式 ,虚实 颜色
type: 'solid'
},
name: '上限',
yAxis: alarmdata[i].maxlimit
});
}
if (alarmdata[i].minlimit != '-') {
markLinedata.push({
silent: true, //鼠标悬停事件 true没有false有
lineStyle: { //警戒线的样式 ,虚实 颜色
type: 'solid'
},
name: '下限',
yAxis: alarmdata[i].minlimit
});
}
let nowMarkLineData = [];
nowMarkLineData = option.series[i].markLine.data;
if (nowMarkLineData != '') {
for (let m = 0; m < markLinedata.length; m++) {
nowMarkLineData.push(markLinedata[m]);
}
} else {
nowMarkLineData = markLinedata;
}
option.series[i].markLine.data = nowMarkLineData;
}
}
}
} else if (hisDataoption != null && hisDataoption != '') {
for (var i = 0; i < hisDataoption.series.length; i++) {
for (let j = 0; j < alarmdata.length; j++) {
let name = hisDataoption.series[i].name.split(":");
if (name[0] == '基础月') {
if (name[1] == alarmdata[j].name) {
let markLinedata = [];
if (alarmdata[j].maxlimit != '-') {
markLinedata.push({
silent: true, //鼠标悬停事件 true没有false有
lineStyle: { //警戒线的样式 ,虚实 颜色
type: 'solid'
},
name: '上限',
yAxis: alarmdata[j].maxlimit
});
}
if (alarmdata[j].minlimit != '-') {
markLinedata.push({
silent: true, //鼠标悬停事件 true没有false有
lineStyle: { //警戒线的样式 ,虚实 颜色
type: 'solid'
},
name: '下限',
yAxis: alarmdata[j].minlimit
});
}
let nowMarkLineData = [];
nowMarkLineData = hisDataoption.series[i].markLine.data;
if (nowMarkLineData != '') {
for (let m = 0; m < markLinedata.length; m++) {
nowMarkLineData.push(markLinedata[m]);
}
} else {
nowMarkLineData = markLinedata;
}
hisDataoption.series[i].markLine.data = nowMarkLineData;
}
}
}
}
}
}
});
// console.log(option)
// $('input[name="yValueAuto"]').each(function () {
// let yckst = $(this).context.checked;
// if (yckst) {
// yValueAuto = "true";
//
// } else {
// yValueAuto = "false";
// let min = $('#yValueMin').val();
// let max = $('#yValueMax').val();
// if (min == '' && max == '') {
// alert("必须勾选自适应或者填写最大最小值!");
// return;
// } else {
// if (max <= min) {
// alert("最大值必须小于最小值!");
// return;
// }else {
// // option.yAxis
// }
// }
//
// }
// });
$("#yValuePointSelect option").each(function () {
let num = Number($(this).attr("num"));
let yMin = $('#yValueMin' + num).val();
let yMax = $('#yValueMax' + num).val();
// let yAuto = $('#yValueAuto' + num);
let yckst = true;
$("input[name='yValueAuto" + num + "']").each(function () {
yckst = $(this).context.checked;
});
if (yckst) {
if (curveType == '1') {
if (num == '0') {
if (option != null && option != '') {
delete option.yAxis[0].max;
delete option.yAxis[0].min;
} else if (hisDataoption != null && hisDataoption != '') {
delete hisDataoption.yAxis[0].max;
delete hisDataoption.yAxis[0].min;
}
}
} else {
if (option != null && option != '') {
delete option.yAxis[num].max;
delete option.yAxis[num].min;
} else if (hisDataoption != null && hisDataoption != '') {
delete hisDataoption.yAxis[num].max;
delete hisDataoption.yAxis[num].min;
}
}
} else {
if (yMin == '' && yMax == '') {
alert("所有曲线必须勾选自适应或者填写最大最小值!");
return;
} else {
if ((yMin != '' && yMax != '') && yMax <= yMin) {
alert("所有曲线上限值必须大于下限值!");
return;
} else {
if (curveType == '1') {
if (num == '0') {
if (option != null && option != '') {
if (yMin != '') {
option.yAxis[0].min = Number(yMin);
}
if (yMax != '') {
option.yAxis[0].max = Number(yMax);
}
} else if (hisDataoption != null && hisDataoption != '') {
if (yMin != '') {
hisDataoption.yAxis[0].min = Number(yMin);
}
if (yMax != '') {
hisDataoption.yAxis[0].max = Number(yMax);
}
}
}
} else {
if (option != null && option != '') {
if (yMin != '') {
option.yAxis[num].min = Number(yMin);
}
if (yMax != '') {
option.yAxis[num].max = Number(yMax);
}
} else if (hisDataoption != null && hisDataoption != '') {
if (yMin != '') {
hisDataoption.yAxis[num].min = Number(yMin);
}
if (yMax != '') {
hisDataoption.yAxis[num].max = Number(yMax);
}
}
}
// option.yAxis
}
}
}
}
);
// console.log(option)
if (option != null && option != '') {
for (var i = 0; i < option.series.length; i++) {
if (option.series[i].markLine != null) {
for (let j = 0; j < option.series[i].markLine.data.length; j++) {
if (avgSt == '0') {
if (option.series[i].markLine.data[j] != null) {
if (option.series[i].markLine.data[j].name == '平均值') {
option.series[i].markLine.data.splice(j, 1);
j--;
}
}
}
if (alarmSt == '0') {
if (option.series[i].markLine.data[j] != null) {
if (option.series[i].markLine.data[j].name != '平均值') {
option.series[i].markLine.data.splice(j, 1);
j--;
}
}
}
}
}
option.series[i].markPoint.data = markPointdata;
}
// console.log(option)
mychart.setOption(option, true);
} else if (hisDataoption != null && hisDataoption != '') {
for (var i = 0; i < hisDataoption.series.length; i++) {
if (hisDataoption.series[i].markLine != null) {
for (let j = 0; j < hisDataoption.series[i].markLine.data.length; j++) {
if (avgSt == '0') {
if (hisDataoption.series[i].markLine.data[j] != null) {
if (hisDataoption.series[i].markLine.data[j].name == '平均值') {
hisDataoption.series[i].markLine.data.splice(j, 1);
j--;
}
}
}
if (alarmSt == '0') {
if (hisDataoption.series[i].markLine.data[j] != null) {
if (hisDataoption.series[i].markLine.data[j].name != '平均值') {
hisDataoption.series[i].markLine.data.splice(j, 1);
j--;
}
}
}
}
}
hisDataoption.series[i].markPoint.data = markPointdata;
}
// console.log(hisDataoption);
hisDatamychart.setOption(hisDataoption, true);
}
$('#alarmLinedrop').hide();
}
function tableDownload() {
window.open(ext.contextPath + "/data/downloadExcel.do?sdt=" + beginTimeStore1
+ "&edt=" + endTimeStore1 + "&ids=" + hmpids.replace(/\#/g, "%23"));
}
function doProgrammeAdd() {
var programmename = $('#programmename').val();
var hiddenUnitId = $('#hiddenUnitId').val();
var mpids = $('#mpids').val();
swal({
text: "您确定要添加方案?",
dangerMode: true,
buttons: {
cancel: {
text: "取消",
value: null,
visible: true,
className: "btn btn-default btn-sm",
closeModal: true,
},
confirm: {
text: "确定",
value: true,
visible: true,
className: "btn btn-danger btn-sm",
closeModal: true
}
}
})
.then(function (willDelete) {
if (willDelete) {
if (programmename == '') {
alert("请填写方案名称!");
} else {
$.post(ext.contextPath + "/data/doCurveProgrammeSave.do", {
unitId: hiddenUnitId,
mpids: mpids,
programmename: programmename
}, function (data) {
// console.log(data);
if (data.code == 1) {
$('#programmedrop').hide();
initProgrammeTreeView();
// initProgrammeTreePersonView();
// dosearch();
} else if (data == 0) {
showAlert('d', '添加失败');
} else {
showAlert('d', data);
}
}, 'json');
}
}
});
}
function deleteDatadropShow() {
document.getElementById('deleteDatadrop').style.display = 'block';
document.getElementById('programmedrop').style.display = 'none';
document.getElementById('hisDatadrop').style.display = 'none';
document.getElementById('hisDataTabledrop').style.display = 'none';
document.getElementById('alarmLinedrop').style.display = 'none';
// document.getElementById('remarkdrop').style.display = 'none';
}
function programmedropShow() {
document.getElementById('deleteDatadrop').style.display = 'none';
document.getElementById('programmedrop').style.display = 'block';
document.getElementById('hisDatadrop').style.display = 'none';
document.getElementById('hisDataTabledrop').style.display = 'none';
document.getElementById('alarmLinedrop').style.display = 'none';
// document.getElementById('remarkdrop').style.display = 'none';
}
function hisDatadropShow() {
document.getElementById('deleteDatadrop').style.display = 'none';
document.getElementById('programmedrop').style.display = 'none';
document.getElementById('hisDatadrop').style.display = 'block';
document.getElementById('hisDataTabledrop').style.display = 'none';
document.getElementById('alarmLinedrop').style.display = 'none';
// document.getElementById('remarkdrop').style.display = 'none';
}
function hisDataTabledropShow() {
document.getElementById('deleteDatadrop').style.display = 'none';
document.getElementById('programmedrop').style.display = 'none';
document.getElementById('hisDatadrop').style.display = 'none';
document.getElementById('hisDataTabledrop').style.display = 'block';
document.getElementById('alarmLinedrop').style.display = 'none';
// document.getElementById('remarkdrop').style.display = 'none';
}
function alarmLinedropShow() {
document.getElementById('deleteDatadrop').style.display = 'none';
document.getElementById('programmedrop').style.display = 'none';
document.getElementById('hisDatadrop').style.display = 'none';
document.getElementById('hisDataTabledrop').style.display = 'none';
document.getElementById('alarmLinedrop').style.display = 'block';
// document.getElementById('remarkdrop').style.display = 'none';
}
function remarkdropShow() {
remarkNewMpidsContent = remarkMpidsContent;
var name = $('#showRemarkPoint').val();
if (name == '1') {
$('#showRemarkPoint').val('0');
for (var i = 0; i < option.series.length; i++) {
option.series[i].symbol = 'none';
// option.visualMap = '';
}
} else if (name == '0') {
$('#showRemarkPoint').val('1');
// console.log(piecesdata)
for (var i = 0; i < option.series.length; i++) {
option.series[i].symbol = 'circle';
}
}
// console.log(option);
mychart.setOption(option, true);
// document.getElementById('deleteDatadrop').style.display = 'none';
// document.getElementById('programmedrop').style.display = 'none';
// document.getElementById('hisDatadrop').style.display = 'none';
// document.getElementById('hisDataTabledrop').style.display = 'none';
// document.getElementById('alarmLinedrop').style.display = 'none';0
// document.getElementById('remarkdrop').style.display = 'block';
}
function doYValueChange() {
$("#yValuePointSelect option").each(function () {
let num = $(this).attr("num");
let st = $(this).is(":checked");
if (st) {
$("#yValueContentShow" + num).css("display", "block");
} else {
$("#yValueContentShow" + num).css("display", "none");
}
});
}
</script>
<input id="mpids" name="mpids" type="hidden" style="width: 500px;" value=""/>
<input id="remarkMpids" name="remarkMpids" type="hidden" style="width: 500px;" value=""/>
<input id="oldremarkMpids" name="oldremarkMpids" type="hidden" style="width: 500px;" value=""/>
<input id="remarkCnum" name="remarkCnum" type="hidden" value="0"/>
<div class="box box-solid" id="box-echart" style="height: 100%;">
<div class="box-header with-border">
<h3 class="box-title">曲线绘制</h3>
<div class="box-tools pull-right">
</div>
</div>
<!-- <div class="box-body " style="height: 30px;">
<div id="tipdiv"></div>
</div> -->
<div class="box-body ">
<div class="input-group pull-left input-group-sm">
<input type="text" class="form-control pull-left" id="reservationtime1" style="width:230px;">
<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="input-group pull-left input-group-sm" style="margin-left: 5px;">
<div class="control-label">
<label class="control-label" style="margin-left: 5px;">曲线类型:</label>
<select id="curveShowType" name="curveShowType" class="select2" style="height: 30px;padding: 0px 10px;"
onchange="changeCureShowType(this);">
<option value="0" <c:if test="${curveShowType==0 }">selected</c:if>>折线图</option>
<option value="1" <c:if test="${curveShowType==1 }">selected</c:if>>柱状图</option>
<option value="2" <c:if test="${curveShowType==2 }">selected</c:if>>散点图</option>
</select>
<label class="control-label" style="margin-left: 5px;">轴类型:</label>
<select id="curveType" name="curveType" class="select2" style="height: 30px;padding: 0px 10px;"
onchange="changeCureType(this);">
<option value="1" <c:if test="${curveType==1 }">selected</c:if>>单Y轴</option>
<option value="0" <c:if test="${curveType==0 }">selected</c:if>>多Y轴</option>
<option value="2" <c:if test="${curveType==2 }">selected</c:if>>多表</option>
</select>
</div>
</div>
<%-- <div class="input-group pull-left input-group-sm" style="margin-left: 5px;width: 140px;">--%>
<%-- <div class="control-label" style="width: 100%;line-height: 30px;">--%>
<%-- <label class="col-sm-5">精度</label>--%>
<%-- <select id="dataAaccuracy" name="dataAaccuracy" class="select2 col-sm-7"--%>
<%-- style="height: 30px;padding: 0px 10px;" onchange="changeDataAaccuracy(this);">--%>
<%-- <option value="min" selected>分钟</option>--%>
<%-- <option value="sec">秒</option>--%>
<%-- </select>--%>
<%-- </div>--%>
<%-- </div>--%>
<!-- <div class="input-group pull-right input-group-sm" style="margin-left: 5px;">
<div style="background-color: #1890FF;width:20pt;height:20pt;border-radius: 2pt;cursor: pointer;" title="清除数据" onclick="deleteData();">
<img src="<%=request.getContextPath()%>/IMG/curve/delete.png" style="width:100%;height:100%;" />
</div>
</div> -->
<div class="input-group pull-right input-group-sm" style="margin-left: 5px;">
<!-- <li class="dropdown" > -->
<a href="#" class="dropdown-toggle" data-toggle="dropdown" onclick="deleteDatadropShow();">
<div style="background-color: #1890FF;width:20pt;height:20pt;border-radius: 2pt;cursor: pointer;"
title="清除数据" onclick="deleteDataContent();">
<img src="<%=request.getContextPath()%>/IMG/curve/delete.png"
style="width:100%;height:100%;"/>
</div>
</a>
<ul id="deleteDatadrop" class="dropdown-menu" data-stopPropagation="true"
style="width:300px;height:350px;overflow: auto;box-shadow:#d2cdcd 0px 3px 5px 0px;">
<div id="deleteDataContent" style="width:100%;"></div>
</ul>
</div>
<div class="input-group pull-right input-group-sm" style="margin-left: 5px;">
<!-- <li class="dropdown" > -->
<a href="#" class="dropdown-toggle" data-toggle="dropdown" onclick="programmedropShow();">
<div style="background-color: #1890FF;width:20pt;height:20pt;border-radius: 2pt;cursor: pointer;"
title="添加方案">
<img src="<%=request.getContextPath()%>/IMG/curve/personalProgram.png"
style="width:100%;height:100%;"/>
</div>
</a>
<ul id="programmedrop" class="dropdown-menu" data-stopPropagation="true"
style="width:100px;height:100px;overflow: auto;box-shadow:#d2cdcd 0px 3px 5px 0px;">
<div style="padding-left: 15px;padding-right: 15px;padding-top: 5px;">
<input type="text" class="form-control" id="programmename" name="programmename" placeholder="方案名称">
</div>
<div style="width:100%;float:left;margin-top: 10px;">
<div class="pull-right"
style="width:50px;height:25px;border-radius: 4px;background: #3c8dbc;margin-right: 10px;">
<div style="text-align:center;line-height:25px;font-size:12px;color:#ffffff;font-weight:700;font-family: MicrosoftYaHei, MicrosoftYaHei-Bold;cursor: pointer;"
onclick="doProgrammeAdd();">确认
</div>
</div>
</div>
</ul>
</div>
<div class="input-group pull-right input-group-sm" style="margin-left: 5px;">
<div style="background-color: #1890FF;width:20pt;height:20pt;border-radius: 2pt;cursor: pointer;"
title="数据导出" onclick="tableDownload();">
<img src="<%=request.getContextPath()%>/IMG/curve/tableDownload.png"
style="width:100%;height:100%;"/>
</div>
</div>
<div class="input-group pull-right input-group-sm" style="margin-left: 5px;">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" onclick="hisDatadropShow();">
<div style="background-color: #1890FF;width:20pt;height:20pt;border-radius: 2pt;cursor: pointer;"
title="数据对比">
<img src="<%=request.getContextPath()%>/IMG/curve/hisData.png"
style="width:100%;height:100%;"/>
</div>
</a>
<ul id="hisDatadrop" class="dropdown-menu" data-stopPropagation="true"
style="width:600px;height:120px;box-shadow:#d2cdcd 0px 3px 5px 0px;">
<div style="width:100%;float:left;margin-left: 10px;">
<div id="yearCompare" class="pull-left"
style="width:50px;height:25px;border-radius: 4px;background: #3c8dbc;margin-right: 10px;">
<div style="text-align:center;line-height:25px;font-size:12px;color:#ffffff;font-weight:700;font-family: MicrosoftYaHei, MicrosoftYaHei-Bold;cursor: pointer;"
onclick="doYearCompare();">同比
</div>
</div>
<div id="monthCompare" class="pull-left"
style="width:50px;height:25px;border-radius: 4px;background: #3c8dbc;margin-right: 10px;">
<div style="text-align:center;line-height:25px;font-size:12px;color:#ffffff;font-weight:700;font-family: MicrosoftYaHei, MicrosoftYaHei-Bold;cursor: pointer;"
onclick="doMonthCompare();">环比
</div>
</div>
<div id="compareText" class="pull-left"
style="width:300px;height:25px;border-radius: 4px;padding-left: 10px;line-height:25px;"></div>
</div>
<div style="width:100%;float:left;margin-top: 10px;">
<div style="width:50%;float:left;">
<div class="input-group" style="margin-left: 10px;">
<span class="input-group-addon"
style="height:31px;color:#000000;border-top-left-radius: 4px;border-bottom-left-radius: 4px;font-weight:bold">基础月:</span>
<input class="form-control " id="reservationtime2" name="reservationtime2"
style="height:31px;width: 190px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;cursor:pointer;"
/>
</div>
</div>
<div style="width:50%;float:left;">
<div class="input-group" style="margin-left: 10px;">
<span class="input-group-addon"
style="height:31px;color:#000000;border-top-left-radius: 4px;border-bottom-left-radius: 4px;font-weight:bold">对比月:</span>
<input class="form-control " id="reservationtime3" name="reservationtime3"
style="height:31px;width: 190px;border-top-right-radius: 4px;border-bottom-right-radius: 4px;cursor:pointer;"
/>
</div>
</div>
</div>
<div style="width:100%;float:left;margin-top: 10px;">
<div class="pull-right"
style="width:50px;height:25px;border-radius: 4px;background: #3c8dbc;margin-right: 10px;">
<div style="text-align:center;line-height:25px;font-size:12px;color:#ffffff;font-weight:700;font-family: MicrosoftYaHei, MicrosoftYaHei-Bold;cursor: pointer;"
onclick="dohisData();">确认
</div>
</div>
</div>
</ul>
</div>
<div class="input-group pull-right input-group-sm" style="margin-left: 5px;">
<!-- <li class="dropdown" > -->
<a href="#" class="dropdown-toggle" data-toggle="dropdown" onclick="hisDataTabledropShow();">
<div style="background-color: #1890FF;width:20pt;height:20pt;border-radius: 2pt;cursor: pointer;"
title="表格数据" onclick="getHistoryList();">
<img src="<%=request.getContextPath()%>/IMG/curve/table.png"
style="width:100%;height:100%;"/>
</div>
</a>
<ul id="hisDataTabledrop" class="dropdown-menu" data-stopPropagation="true"
style="width:800px;height:500px;overflow: auto;box-shadow:#d2cdcd 0px 3px 5px 0px;">
<table id="datatable" style="width:100%;"></table>
</ul>
</div>
<div class="input-group pull-right input-group-sm" style="margin-left: 5px;">
<!-- <li class="dropdown" > -->
<a href="#" class="dropdown-toggle" data-toggle="dropdown" onclick="alarmLinedropShow();">
<div style="background-color: #1890FF;width:20pt;height:20pt;border-radius: 2pt;cursor: pointer;"
title="辅助工具">
<img src="<%=request.getContextPath()%>/IMG/curve/alarmLine.png"
style="width:100%;height:100%;"/>
</div>
</a>
<ul id="alarmLinedrop" class="dropdown-menu" data-stopPropagation="true"
style="width:415px;height:210px;overflow: auto;box-shadow:#d2cdcd 0px 3px 5px 0px;">
<div style="float:left;width: 100px;">
<div style="padding-left: 15px;padding-top: 5px;font-weight: bold;">
限值数据
</div>
<div style="padding-left: 15px;padding-top: 5px;">
<div class="ckbox">
<input name="alarmLineName" type="checkbox" value="0"><label for="alarmLineName"
style="margin-left:10px;">最大值</label>
</div>
</div>
<div style="padding-left: 15px;padding-top: 5px;">
<div class="ckbox">
<input name="alarmLineName" type="checkbox" value="1"><label for="alarmLineName"
style="margin-left:10px;">最小值</label>
</div>
</div>
<div style="padding-left: 15px;padding-top: 5px;">
<div class="ckbox">
<input name="alarmLineName" type="checkbox" value="2"><label for="alarmLineName"
style="margin-left:10px;">平均值</label>
</div>
</div>
<div style="padding-left: 15px;padding-top: 5px;">
<div class="ckbox">
<input name="alarmLineName" type="checkbox" value="3"><label for="alarmLineName"
style="margin-left:10px;">报警限值</label>
</div>
</div>
</div>
<div style="float:left;width: 2px;height:160px;border-left: 2px solid #d2d6de;"></div>
<div style="float:left;width: 300px;">
<div style="padding-left: 15px;padding-top: 5px;font-weight: bold;">
纵轴设置(单Y轴以第一个曲线点为准)
</div>
<div style="height:32.33px;padding-left: 15px;padding-top: 5px;font-weight: bold;">
<div style="float:left;width: 25%;height:32.33px;padding-top: 5px;line-height: 27.33px;font-weight: bold;line-height: 27.33px;">
曲线点
</div>
<div id="yValuePointSelect" style="float:left;width: 75%;height:32.33px;padding-top: 5px;">
</div>
</div>
<div style="padding-left: 15px;padding-top: 10px;">
<div id="yValueContent"></div>
</div>
</div>
<div style="width:100%;float:left;margin-top: 10px;">
<div class="pull-right"
style="width:50px;height:25px;border-radius: 4px;background: #3c8dbc;margin-right: 10px;">
<div style="text-align:center;line-height:25px;font-size:12px;color:#ffffff;font-weight:700;font-family: MicrosoftYaHei, MicrosoftYaHei-Bold;cursor: pointer;"
onclick="doAuxiliaryTools();">确认
</div>
</div>
</div>
</ul>
</div>
<div class="input-group pull-right input-group-sm" style="margin-left: 5px;">
<!-- <li class="dropdown" > -->
<a
<%-- href="#" class="dropdown-toggle" data-toggle="dropdown" --%>
onclick="remarkdropShow();">
<input type="hidden" id="showRemarkPoint" value="0"/>
<div style="background-color: #1890FF;width:20pt;height:20pt;border-radius: 2pt;cursor: pointer;"
title="拐点备注">
<img src="<%=request.getContextPath()%>/IMG/curve/remark.png"
style="width:100%;height:100%;"/>
</div>
</a>
</div>
<br>
<div class="col-sm-12 col-md-12 col-lg-12 col-xl-12"
style="height:100%;padding:0px;overflow-y:auto;overflow-x:hidden;" id="chartdiv">
<%-- <c:if test="${param.firstIn==true}">--%>
<div id="noDataDiv" style="float: left;text-align: center;width: 100%;display: none;">
<div id="noDataDivSvg" style="float: left;text-align: center;width: 100%;">
<svg t="1630287980488" class="icon" viewBox="0 0 1024 1024" p-id="1469" width="200"
height="200">
<path d="M216.6 531h73.8v217.1h-73.8zM345.7 407h73.8v341.1h-73.8zM702.4 357.4h73.8v390.7h-73.8zM585.6 593h73.8v155.1h-73.8zM468.5 295.4h73.8v452.7h-73.8z"
fill="#EAF4FE" p-id="1470"></path>
<path d="M275 760.5h-73.8c-5.1 0-9.2-4.2-9.2-9.3V534.1c0-5.1 4.1-9.3 9.2-9.3H275c2.5 0 4.9 0.9 6.7 2.7 1.8 1.7 2.8 4.1 2.8 6.6v217.1c0 2.5-1 4.9-2.8 6.6-1.8 1.7-4.2 2.7-6.7 2.7z m-64.7-18.6h55.4V543.4h-55.3l-0.1 198.5z m193.9 18.6h-73.8c-5.1 0-9.2-4.2-9.2-9.3V410.1c0-5.1 4.1-9.2 9.2-9.3h73.8c5.1 0 9.2 4.2 9.2 9.3v341.1c0 5.1-4.1 9.2-9.2 9.3z m-64.7-18.6h55.4V419.4h-55.3l-0.1 322.5z m421.4 18.6h-73.8c-5.1 0-9.2-4.2-9.2-9.3V360.4c0-5.1 4.1-9.3 9.2-9.3h73.8c5.1 0 9.2 4.2 9.2 9.3v390.7c0 5.2-4.1 9.3-9.2 9.4z m-64.7-18.6h55.4V370h-55.3l-0.1 371.9z m-52.1 18.6h-73.8c-5.1 0-9.2-4.2-9.2-9.3V596.1c0-5.1 4.1-9.3 9.2-9.3h73.8c5.1 0 9.2 4.2 9.2 9.3v155.1c0 5.1-4.1 9.2-9.2 9.3z m-64.7-18.6h55.4V605.4h-55.3l-0.1 136.5zM527 760.5h-73.6c-5.1 0-9.2-4.2-9.2-9.3V298.4c0-5.1 4.1-9.3 9.2-9.3H527c5.1 0 9.2 4.2 9.2 9.3v452.7c0 5.2-4.1 9.3-9.2 9.4z m-64.7-18.6h55.4V307.7h-55.4v434.2z m506.1-107.5h-30.7c-5.1 0-9.3-4.2-9.3-9.3s4.2-9.3 9.3-9.3h30.7c5.1 0 9.3 4.2 9.3 9.3s-4.2 9.3-9.3 9.3z m0 0"
fill="#5C92E8" p-id="1471"></path>
<path d="M953 650.7c-5.1 0-9.2-4.2-9.2-9.3v-32.3c0-3.3 1.8-6.3 4.6-8 2.9-1.6 6.4-1.6 9.2 0 2.9 1.6 4.6 4.7 4.6 8v32.3c0.1 5.2-4.1 9.3-9.2 9.3zM87.5 441c-8.8 0.1-16.7-5.2-20.1-13.3-3.4-8.1-1.6-17.4 4.6-23.7 6.2-6.2 15.5-8.1 23.6-4.8 8.1 3.3 13.4 11.3 13.4 20 0 12.1-9.6 21.8-21.5 21.8z m0-31c-3.8 0-7.2 2.2-8.6 5.7-1.5 3.5-0.7 7.5 2 10.2 2.7 2.7 6.7 3.5 10.1 2.1 3.5-1.4 5.8-4.8 5.8-8.6-0.2-5.2-4.3-9.3-9.3-9.4z m129.1-198.2h-43c-5.1 0-9.3-4.2-9.3-9.3 0-5.1 4.2-9.3 9.3-9.3h43c5.1 0 9.3 4.2 9.3 9.3 0 5.1-4.2 9.3-9.3 9.3z m0 0"
fill="#5C92E8" p-id="1472"></path>
<path d="M195.1 234.7c-5.1 0-9.2-4.2-9.2-9.3v-45.8c0-3.3 1.8-6.3 4.6-8 2.9-1.6 6.4-1.6 9.2 0 2.9 1.6 4.6 4.7 4.6 8v45.8c0 5.1-4.1 9.3-9.2 9.3z m765.6 54.4c-10.1 0.2-19.3-5.7-23.3-14.9-4-9.3-2-20 5-27.2 7.1-7.2 17.8-9.4 27.1-5.6 9.3 3.8 15.5 12.9 15.5 23 0 13.4-10.8 24.5-24.3 24.7z m0-37.1c-5 0-9.5 3-11.5 7.6-1.9 4.6-0.9 10 2.6 13.5 3.5 3.6 8.9 4.6 13.5 2.7 4.6-1.9 7.7-6.4 7.7-11.4 0-3.3-1.2-6.5-3.5-8.8-2.3-2.4-5.5-3.7-8.8-3.7v0.1z m46.2 508.5h-81.5c-5.1 0-9.3-4.2-9.3-9.3 0-5.1 4.2-9.3 9.3-9.3h81.5c5.1 0 9.3 4.2 9.3 9.3 0 5.1-4.2 9.3-9.3 9.3z m-123.1 0h-38.4c-5.1 0-9.3-4.2-9.3-9.3 0-5.1 4.2-9.3 9.3-9.3h38.4c5.1 0 9.3 4.2 9.3 9.3 0 5.1-4.1 9.3-9.3 9.3z m-78.4 0H172.5c-5.1 0-9.3-4.2-9.3-9.3 0-5.1 4.2-9.3 9.3-9.3h632.9c5.1 0 9.3 4.2 9.3 9.3 0 5.1-4.1 9.3-9.3 9.3z m-660.5 0h-17.5c-5.1 0-9.3-4.2-9.3-9.3 0-5.1 4.2-9.3 9.3-9.3h17.5c5.1 0 9.3 4.2 9.3 9.3-0.1 5.1-4.2 9.3-9.3 9.3z m-60.5 0H22.9c-5.1 0-9.3-4.2-9.3-9.3 0-5.1 4.2-9.3 9.3-9.3h61.5c5.1 0 9.3 4.2 9.3 9.3 0 5.1-4.2 9.3-9.3 9.3z m0 0"
fill="#5C92E8" p-id="1473"></path>
</svg>
</div>
<div style="float: left;text-align: center;width: 100%;font-weight: bold;">请选择测量点或方案!</div>
</div>
<%-- </c:if>--%>
<%-- <c:if test="${param.firstIn!=true}">--%>
<div id="chart" style="height:100%;display: none;overflow: hidden;"></div>
<%-- </c:if>--%>
<!-- <div id="chart1" ></div>
<div id="chart2" ></div> -->
</div>
<!-- <div class="col-sm-12 col-md-12 col-lg-12 col-xl-12" style="" id="tablediv">
<table id="table" style=""></table>
</div> -->
</div>
</div>