2385 lines
106 KiB
Plaintext
2385 lines
106 KiB
Plaintext
|
|
<%@ 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>
|