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> |