1166 lines
38 KiB
JavaScript
1166 lines
38 KiB
JavaScript
|
|
var picHeight, steadyData, tabs, singleArea;
|
|||
|
|
var singleAreaM = 0;
|
|||
|
|
var $area = $("#area");
|
|||
|
|
var $startTime = $("#startTime");
|
|||
|
|
var $endTime = $("#endTime");
|
|||
|
|
$("#interval").val("月份");
|
|||
|
|
|
|||
|
|
// 新增tab页
|
|||
|
|
function addTab(url, label) {
|
|||
|
|
tabs.add({url: url, label: label});
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//获取区域下拉列表
|
|||
|
|
$(function () {
|
|||
|
|
tabs = $('#tabs').cleverTabs();
|
|||
|
|
picHeight = ($(window).height() - 88) * 0.5;
|
|||
|
|
$.ajax({
|
|||
|
|
type: "POST",
|
|||
|
|
url: "/pqs9000/user/getAreasInfo",
|
|||
|
|
dataType: 'json',
|
|||
|
|
success: function (data) {
|
|||
|
|
$("#area").val(data[0].name);
|
|||
|
|
$("#area").attr("index", data[0].id);
|
|||
|
|
areaTree = $.fn.zTree.init($("#areaTree"), settingAreaTree, data);
|
|||
|
|
//初始化页面内容
|
|||
|
|
var area = $area.eq(0).attr("index");
|
|||
|
|
var startTime = $startTime.eq(0).val();
|
|||
|
|
var endTime = $endTime.eq(0).val();
|
|||
|
|
refresh(area, startTime, endTime);
|
|||
|
|
}
|
|||
|
|
})
|
|||
|
|
})
|
|||
|
|
|
|||
|
|
//点击查询按钮
|
|||
|
|
$("#query").click(function () {
|
|||
|
|
var area = $area.eq(0).attr("index");
|
|||
|
|
var startTime = $startTime.eq(0).val();
|
|||
|
|
var endTime = $endTime.eq(0).val();
|
|||
|
|
$("#qualifiedTab li").removeClass("active");
|
|||
|
|
$("#qualifiedTab li:first").addClass("active");
|
|||
|
|
refresh(area, startTime, endTime);
|
|||
|
|
});
|
|||
|
|
|
|||
|
|
//获取全部数据并画图
|
|||
|
|
function refresh(area, startTime, endTime) {
|
|||
|
|
$("li").removeClass("active");
|
|||
|
|
$("ul li:first-child").addClass("active")
|
|||
|
|
var i;
|
|||
|
|
$.ajax({
|
|||
|
|
url: '/pqs9000/area/allData',
|
|||
|
|
data: {
|
|||
|
|
startTime: startTime,
|
|||
|
|
endTime: endTime,
|
|||
|
|
area: area
|
|||
|
|
},
|
|||
|
|
type: 'post',
|
|||
|
|
dataType: 'json',
|
|||
|
|
beforeSend: function () {
|
|||
|
|
i = ityzl_SHOW_LOAD_LAYER();
|
|||
|
|
},
|
|||
|
|
success: function (data) {
|
|||
|
|
changeClass();
|
|||
|
|
if (data.code === 500 | data.body === null) {
|
|||
|
|
layer.msg(data.message, {icon: 2, time: 2000})
|
|||
|
|
steadyData = null;
|
|||
|
|
} else {
|
|||
|
|
steadyData = data.body;
|
|||
|
|
}
|
|||
|
|
startQuery();
|
|||
|
|
//***********关闭loading
|
|||
|
|
ityzl_CLOSE_LOAD_LAYER(i);
|
|||
|
|
}
|
|||
|
|
})
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//切换指标,重新绘制图
|
|||
|
|
$("#qualifiedTab a").on('click', function () {
|
|||
|
|
var html = $(this).html();
|
|||
|
|
//执行查询操作并画图
|
|||
|
|
var urlPart = $(this).prop("id");
|
|||
|
|
if (urlPart === "allData") {
|
|||
|
|
changeClass();
|
|||
|
|
if (steadyData === null | steadyData === "" | steadyData === undefined | steadyData.area.length > 1 | steadyData.area.length === 0) {
|
|||
|
|
changeAllClass(0);
|
|||
|
|
initTable(steadyData)
|
|||
|
|
drawAllArea(steadyData)
|
|||
|
|
} else {
|
|||
|
|
changeAllClass(1);
|
|||
|
|
initTableSingle(steadyData)
|
|||
|
|
}
|
|||
|
|
} else {
|
|||
|
|
changeClass(1);
|
|||
|
|
drawAreaPic(steadyData, urlPart);
|
|||
|
|
drawVoltagePic(steadyData, urlPart);
|
|||
|
|
drawLoadTypePic(steadyData, urlPart);
|
|||
|
|
}
|
|||
|
|
})
|
|||
|
|
|
|||
|
|
//根据值返回需要的数据
|
|||
|
|
function getValue(value) {
|
|||
|
|
if (value === 3.14159) {
|
|||
|
|
return "(暂无数据)";
|
|||
|
|
} else if (value === 3.1415) {
|
|||
|
|
return "/";
|
|||
|
|
} else {
|
|||
|
|
return value;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//指定地级市表格数据显示
|
|||
|
|
function initTableSingle(area) {
|
|||
|
|
var height = picHeight * 2 - 60;
|
|||
|
|
var tempHeight = height - 33 * 10;
|
|||
|
|
if (tempHeight > 0) {
|
|||
|
|
$("#singleTable").css("margin-top", tempHeight * 0.5);
|
|||
|
|
singleAreaM = tempHeight * 0.5;
|
|||
|
|
height = 34 * 10;
|
|||
|
|
}
|
|||
|
|
singleArea = height;
|
|||
|
|
area = area.area;
|
|||
|
|
var data = [];
|
|||
|
|
var temp = {};
|
|||
|
|
temp.name = "频率偏差";
|
|||
|
|
temp.value = getValue(area[0].frequency);
|
|||
|
|
data.push(temp);
|
|||
|
|
var temp = {};
|
|||
|
|
temp.name = "闪变";
|
|||
|
|
temp.value = getValue(area[0].flicker);
|
|||
|
|
data.push(temp);
|
|||
|
|
var temp = {};
|
|||
|
|
temp.name = "电压不平衡";
|
|||
|
|
temp.value = getValue(area[0].uBalance);
|
|||
|
|
data.push(temp);
|
|||
|
|
var temp = {};
|
|||
|
|
temp.name = "谐波电压";
|
|||
|
|
temp.value = getValue(area[0].harmVoltage);
|
|||
|
|
data.push(temp);
|
|||
|
|
var temp = {};
|
|||
|
|
temp.name = "电压偏差";
|
|||
|
|
temp.value = getValue(area[0].voltageDeviation);
|
|||
|
|
data.push(temp);
|
|||
|
|
var temp = {};
|
|||
|
|
temp.name = "谐波电流";
|
|||
|
|
temp.value = getValue(area[0].harmElec);
|
|||
|
|
data.push(temp);
|
|||
|
|
var temp = {};
|
|||
|
|
temp.name = "负序电流";
|
|||
|
|
temp.value = getValue(area[0].iNeg);
|
|||
|
|
data.push(temp);
|
|||
|
|
var temp = {};
|
|||
|
|
temp.name = "间谐波电压含有率";
|
|||
|
|
temp.value = getValue(area[0].inUharm);
|
|||
|
|
data.push(temp);
|
|||
|
|
var temp = {};
|
|||
|
|
temp.name = "操作";
|
|||
|
|
var innerContent = getValue(area[0].frequency);
|
|||
|
|
var button;
|
|||
|
|
if (innerContent === "(暂无数据)" | innerContent === "/") {
|
|||
|
|
button = "<button type='button' class='btn themeBGDisableColor' href='javascript:void(0);' disabled='disabled' >越限详情</button>";
|
|||
|
|
} else {
|
|||
|
|
button = "<button type='button' class='btn themeBGColor' onclick='viewDetailData(\"" + area[0].areaIndex + "\",\"" + area[0].name + "\")' >越限详情</button>";
|
|||
|
|
}
|
|||
|
|
temp.value = button;
|
|||
|
|
data.push(temp);
|
|||
|
|
$("#singeleAreaTable").DataTable({
|
|||
|
|
data: data,
|
|||
|
|
autoWidth: false,
|
|||
|
|
columnDefs: [{
|
|||
|
|
orderable: false,
|
|||
|
|
targets: [0,1]
|
|||
|
|
}],
|
|||
|
|
order:[],
|
|||
|
|
paging: false,
|
|||
|
|
lengthChange: false,
|
|||
|
|
searching: false,
|
|||
|
|
destroy: true,
|
|||
|
|
scrollY: height,
|
|||
|
|
info: false,
|
|||
|
|
language: {
|
|||
|
|
url: '/pqs9000/json/chine.json',
|
|||
|
|
},
|
|||
|
|
columns: [
|
|||
|
|
{width: "50%", data: 'name'},
|
|||
|
|
{width: "50%", data: 'value', type: 'special-fate'}
|
|||
|
|
]
|
|||
|
|
})
|
|||
|
|
drawSingleArea(area);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//指定地级市图形数据显示
|
|||
|
|
function drawSingleArea(area) {
|
|||
|
|
var $singleArea = $("#singleArea");
|
|||
|
|
$singleArea.css("height", singleArea + singleAreaM);
|
|||
|
|
$singleArea.css("margin-top", singleAreaM);
|
|||
|
|
var areaOption = echarts.init($("#singleArea")[0]);
|
|||
|
|
var areas = [];
|
|||
|
|
var frequency = [], uBalance = [], voltageDeviation = [], flicker = [], harmVol = [], harmEle = [], iNeg = [], inUharm = [];
|
|||
|
|
if (null != area) {
|
|||
|
|
for (var i = 0; i < 1; i++) {
|
|||
|
|
areas[i] = area[i].name;
|
|||
|
|
var harmVolValue = Number(area[i].harmVoltage);
|
|||
|
|
var harmVolSingleData = {};
|
|||
|
|
harmVolSingleData.areaIndex = area[i].areaIndex;
|
|||
|
|
var harmVolItem = {};
|
|||
|
|
harmVolItem.color = getColor(harmVolValue);
|
|||
|
|
if (harmVolValue < 3.1414) {
|
|||
|
|
harmVolSingleData.value = 3.1415;
|
|||
|
|
harmVolItem.actual = harmVolValue;
|
|||
|
|
} else {
|
|||
|
|
harmVolSingleData.value = harmVolValue;
|
|||
|
|
}
|
|||
|
|
harmVolSingleData.itemStyle = harmVolItem;
|
|||
|
|
harmVol[i] = harmVolSingleData;
|
|||
|
|
|
|||
|
|
var harmEleValue = Number(area[i].harmElec);
|
|||
|
|
var harmEleSingleData = {};
|
|||
|
|
harmEleSingleData.areaIndex = area[i].areaIndex;
|
|||
|
|
var harmEleItem = {};
|
|||
|
|
harmEleItem.color = getColor(harmEleValue);
|
|||
|
|
if (harmEleValue < 3.1414) {
|
|||
|
|
harmEleSingleData.value = 3.1415;
|
|||
|
|
harmEleItem.actual = harmEleValue;
|
|||
|
|
} else {
|
|||
|
|
harmEleSingleData.value = harmEleValue;
|
|||
|
|
}
|
|||
|
|
harmEleSingleData.itemStyle = harmEleItem;
|
|||
|
|
harmEle[i] = harmEleSingleData;
|
|||
|
|
|
|||
|
|
var iNegValue = Number(area[i].iNeg);
|
|||
|
|
var iNegSingleData = {};
|
|||
|
|
iNegSingleData.areaIndex = area[i].areaIndex;
|
|||
|
|
var iNegItem = {};
|
|||
|
|
iNegItem.color = getColor(iNegValue);
|
|||
|
|
if (iNegValue < 3.1414) {
|
|||
|
|
iNegSingleData.value = 3.1415;
|
|||
|
|
iNegItem.actual = iNegValue;
|
|||
|
|
} else {
|
|||
|
|
iNegSingleData.value = iNegValue;
|
|||
|
|
}
|
|||
|
|
iNegSingleData.itemStyle = iNegItem;
|
|||
|
|
iNeg[i] = iNegSingleData;
|
|||
|
|
|
|||
|
|
var inUharmValue = Number(area[i].inUharm);
|
|||
|
|
var inUharmSingleData = {};
|
|||
|
|
inUharmSingleData.areaIndex = area[i].areaIndex;
|
|||
|
|
var inUharmItem = {};
|
|||
|
|
inUharmItem.color = getColor(inUharmValue);
|
|||
|
|
if (inUharmValue < 3.1414) {
|
|||
|
|
inUharmSingleData.value = 3.1415;
|
|||
|
|
inUharmItem.actual = inUharmValue;
|
|||
|
|
} else {
|
|||
|
|
inUharmSingleData.value = inUharmValue;
|
|||
|
|
}
|
|||
|
|
inUharmSingleData.itemStyle = inUharmItem;
|
|||
|
|
inUharm[i] = inUharmSingleData;
|
|||
|
|
|
|||
|
|
|
|||
|
|
var flValue = Number(area[i].flicker);
|
|||
|
|
var flSingleData = {};
|
|||
|
|
flSingleData.areaIndex = area[i].areaIndex;
|
|||
|
|
var flItem = {};
|
|||
|
|
flItem.color = getColor(flValue);
|
|||
|
|
if (flValue < 3.1414) {
|
|||
|
|
flSingleData.value = 3.1415;
|
|||
|
|
flItem.actual = flValue;
|
|||
|
|
} else {
|
|||
|
|
flSingleData.value = flValue;
|
|||
|
|
}
|
|||
|
|
flSingleData.itemStyle = flItem;
|
|||
|
|
flicker[i] = flSingleData;
|
|||
|
|
|
|||
|
|
var ubValue = Number(area[i].uBalance);
|
|||
|
|
var ubSingleData = {};
|
|||
|
|
ubSingleData.areaIndex = area[i].areaIndex;
|
|||
|
|
var ubItem = {};
|
|||
|
|
ubItem.color = getColor(ubValue);
|
|||
|
|
if (ubValue < 3.1414) {
|
|||
|
|
ubSingleData.value = 3.1415;
|
|||
|
|
ubItem.actual = ubValue;
|
|||
|
|
} else {
|
|||
|
|
ubSingleData.value = ubValue;
|
|||
|
|
}
|
|||
|
|
ubSingleData.itemStyle = ubItem;
|
|||
|
|
uBalance[i] = ubSingleData;
|
|||
|
|
|
|||
|
|
var freValue = Number(area[i].frequency);
|
|||
|
|
var freSingleData = {};
|
|||
|
|
freSingleData.areaIndex = area[i].areaIndex;
|
|||
|
|
var freItem = {};
|
|||
|
|
freItem.color = getColor(freValue);
|
|||
|
|
if (freValue < 3.1414) {
|
|||
|
|
freSingleData.value = 3.1415;
|
|||
|
|
freItem.actual = freValue;
|
|||
|
|
} else {
|
|||
|
|
freSingleData.value = freValue;
|
|||
|
|
}
|
|||
|
|
freSingleData.itemStyle = freItem;
|
|||
|
|
frequency[i] = freSingleData;
|
|||
|
|
|
|||
|
|
|
|||
|
|
var volValue = Number(area[i].voltageDeviation);
|
|||
|
|
var volSingleData = {};
|
|||
|
|
volSingleData.areaIndex = area[i].areaIndex;
|
|||
|
|
var valItem = {};
|
|||
|
|
valItem.color = getColor(volValue);
|
|||
|
|
if (volValue < 3.1414) {
|
|||
|
|
volSingleData.value = 3.1415;
|
|||
|
|
valItem.actual = volValue;
|
|||
|
|
} else {
|
|||
|
|
volSingleData.value = volValue;
|
|||
|
|
}
|
|||
|
|
volSingleData.itemStyle = valItem;
|
|||
|
|
voltageDeviation[i] = volSingleData;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
var labelOption = {
|
|||
|
|
normal: {
|
|||
|
|
show: false,
|
|||
|
|
position: 'insideBottom',
|
|||
|
|
distance: 15,
|
|||
|
|
align: 'left',
|
|||
|
|
verticalAlign: 'middle',
|
|||
|
|
rotate: 90,
|
|||
|
|
formatter: '{c} {name|{a}}',
|
|||
|
|
fontSize: 16,
|
|||
|
|
rich: {
|
|||
|
|
name: {
|
|||
|
|
textBorderColor: '#fff'
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
};
|
|||
|
|
var option = {
|
|||
|
|
backgroundColor: canvasBG,//背景色
|
|||
|
|
title: {
|
|||
|
|
text: '区域',
|
|||
|
|
x: 'center'
|
|||
|
|
},
|
|||
|
|
tooltip: {
|
|||
|
|
trigger: 'axis',
|
|||
|
|
axisPointer: {
|
|||
|
|
type: 'shadow'
|
|||
|
|
},
|
|||
|
|
formatter: function (params) {
|
|||
|
|
var color = params[0].color;
|
|||
|
|
var tips = "";
|
|||
|
|
tips += params[0].name;
|
|||
|
|
for (var i = 0; i < params.length; i++) {
|
|||
|
|
if (color === noMonitor) {
|
|||
|
|
tips += '<br/>' + params[i].seriesName + ' : /';
|
|||
|
|
} else if (color === noData) {
|
|||
|
|
tips += '<br/>' + params[i].seriesName + ' : (暂无数据)';
|
|||
|
|
} else {
|
|||
|
|
if (params[i].data.itemStyle.actual !== undefined) {
|
|||
|
|
tips += '<br/>' + params[i].seriesName + ' : ' + params[i].data.itemStyle.actual;
|
|||
|
|
} else {
|
|||
|
|
tips += '<br/>' + params[i].seriesName + ' : ' + params[i].value;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
return tips;
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
//控制图标在dataroom中的位置大小
|
|||
|
|
grid: {
|
|||
|
|
left: '3%',
|
|||
|
|
right: '7%',
|
|||
|
|
bottom: '3%',
|
|||
|
|
containLabel: true
|
|||
|
|
},
|
|||
|
|
xAxis: [{
|
|||
|
|
type: 'category',
|
|||
|
|
data: areas,
|
|||
|
|
name: '地区',
|
|||
|
|
}],
|
|||
|
|
yAxis: [{
|
|||
|
|
type: 'value',
|
|||
|
|
name: '%',
|
|||
|
|
min: '0',
|
|||
|
|
max: '100'
|
|||
|
|
}],
|
|||
|
|
series: [{
|
|||
|
|
name: '频率偏差',
|
|||
|
|
type: 'bar',
|
|||
|
|
barGap: 0.2,
|
|||
|
|
label: labelOption,
|
|||
|
|
barMaxWidth: barMax,
|
|||
|
|
data: frequency
|
|||
|
|
}, {
|
|||
|
|
name: '闪变',
|
|||
|
|
type: 'bar',
|
|||
|
|
label: labelOption,
|
|||
|
|
barMaxWidth: barMax,
|
|||
|
|
data: flicker
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
name: '电压不平衡',
|
|||
|
|
type: 'bar',
|
|||
|
|
label: labelOption,
|
|||
|
|
barMaxWidth: barMax,
|
|||
|
|
data: uBalance
|
|||
|
|
}, {
|
|||
|
|
name: '谐波电压',
|
|||
|
|
type: 'bar',
|
|||
|
|
label: labelOption,
|
|||
|
|
barMaxWidth: barMax,
|
|||
|
|
data: harmVol
|
|||
|
|
}, {
|
|||
|
|
name: '电压偏差',
|
|||
|
|
type: 'bar',
|
|||
|
|
label: labelOption,
|
|||
|
|
barMaxWidth: barMax,
|
|||
|
|
data: voltageDeviation
|
|||
|
|
}, {
|
|||
|
|
name: '谐波电流',
|
|||
|
|
type: 'bar',
|
|||
|
|
label: labelOption,
|
|||
|
|
barMaxWidth: barMax,
|
|||
|
|
data: harmEle
|
|||
|
|
}, {
|
|||
|
|
name: '负序电流',
|
|||
|
|
type: 'bar',
|
|||
|
|
label: labelOption,
|
|||
|
|
barMaxWidth: barMax,
|
|||
|
|
data: iNeg
|
|||
|
|
}, {
|
|||
|
|
name: '间谐波电压含有率',
|
|||
|
|
type: 'bar',
|
|||
|
|
label: labelOption,
|
|||
|
|
barMaxWidth: barMax,
|
|||
|
|
data: inUharm
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
};
|
|||
|
|
areaOption.setOption(option);
|
|||
|
|
areaOption.on('click', function (params) {
|
|||
|
|
var city = params.data.areaIndex;
|
|||
|
|
var startTime = $startTime.eq(0).val();
|
|||
|
|
var endTime = $endTime.eq(0).val();
|
|||
|
|
var interval = $("#interval").val();
|
|||
|
|
if (getRole("/pqs9000/area/steadytable") == 1) {
|
|||
|
|
window.top.addTab('/pqs9000/area/steadytable?startTime=' + startTime + '&endTime=' + endTime + '&area=' + city + '&interval=' + interval, '稳态合格率列表')
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//画指定指标的区域图
|
|||
|
|
function drawAreaPic(steadyData, urlPart) {
|
|||
|
|
var area;
|
|||
|
|
if (steadyData === null) {
|
|||
|
|
area = null;
|
|||
|
|
} else {
|
|||
|
|
area = steadyData.area;
|
|||
|
|
}
|
|||
|
|
$("#areaDepts").css("height", picHeight);
|
|||
|
|
var areaOption = echarts.init($("#areaDepts")[0]);
|
|||
|
|
var inte = [];
|
|||
|
|
var areas = [];
|
|||
|
|
var route;
|
|||
|
|
var lineFeedBar;
|
|||
|
|
if(area.length>barUpperLimit12){
|
|||
|
|
route=barRouteIncline;
|
|||
|
|
lineFeedBar=noLineFeed;
|
|||
|
|
}else{
|
|||
|
|
route=barRouteZero;
|
|||
|
|
lineFeedBar=lineFeed;
|
|||
|
|
}
|
|||
|
|
if (null != area) {
|
|||
|
|
for (var i = 0; i < area.length; i++) {
|
|||
|
|
areas[i] = area[i].name + lineFeedBar+"(" + area[i].monitors + ")";
|
|||
|
|
var integralityRate = getSteady(area[i], urlPart);
|
|||
|
|
var singleData = {};
|
|||
|
|
var item = {};
|
|||
|
|
item.color = getColor(integralityRate);
|
|||
|
|
if (integralityRate < 3.1414) {
|
|||
|
|
singleData.value = 3.1415;
|
|||
|
|
item.actual = integralityRate;
|
|||
|
|
} else {
|
|||
|
|
singleData.value = integralityRate;
|
|||
|
|
}
|
|||
|
|
singleData.itemStyle = item;
|
|||
|
|
inte[i] = singleData;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
var option = {
|
|||
|
|
backgroundColor: canvasBG,//背景色
|
|||
|
|
title: {
|
|||
|
|
text: '区域',
|
|||
|
|
x: 'center'
|
|||
|
|
},
|
|||
|
|
tooltip: {
|
|||
|
|
trigger: 'axis',
|
|||
|
|
axisPointer: {
|
|||
|
|
type: 'shadow'
|
|||
|
|
},
|
|||
|
|
formatter: function (params) {
|
|||
|
|
var color = params[0].color;
|
|||
|
|
var tips = "";
|
|||
|
|
tips += params[0].name;
|
|||
|
|
for (var i = 0; i < params.length; i++) {
|
|||
|
|
if (color === noMonitor) {
|
|||
|
|
tips += '<br/>' + params[i].seriesName + ' : /';
|
|||
|
|
} else if (color === noData) {
|
|||
|
|
tips += '<br/>' + params[i].seriesName + ' : (暂无数据)';
|
|||
|
|
} else {
|
|||
|
|
if (params[0].data.itemStyle.actual !== undefined) {
|
|||
|
|
tips += '<br/>' + params[0].seriesName + ' : ' + params[0].data.itemStyle.actual;
|
|||
|
|
} else {
|
|||
|
|
tips += '<br/>' + params[0].seriesName + ' : ' + params[0].value;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
return tips;
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
//控制图标在dataroom中的位置大小
|
|||
|
|
grid: {
|
|||
|
|
left: '1%',
|
|||
|
|
right: '7%',
|
|||
|
|
bottom: '3%',
|
|||
|
|
containLabel: true
|
|||
|
|
},
|
|||
|
|
xAxis: [{
|
|||
|
|
type: 'category',
|
|||
|
|
data: areas,
|
|||
|
|
name: '地区\n(监测点数)\n',
|
|||
|
|
axisLabel: {
|
|||
|
|
interval: 0,
|
|||
|
|
show: true,
|
|||
|
|
rotate:route,
|
|||
|
|
fontSize:10
|
|||
|
|
}
|
|||
|
|
}],
|
|||
|
|
yAxis: [{
|
|||
|
|
type: 'value',
|
|||
|
|
name: '%',
|
|||
|
|
min: '0',
|
|||
|
|
max: '100'
|
|||
|
|
}],
|
|||
|
|
series: [{
|
|||
|
|
name: '合格率',
|
|||
|
|
type: 'bar',
|
|||
|
|
barMaxWidth: barMax,
|
|||
|
|
data: inte
|
|||
|
|
}]
|
|||
|
|
};
|
|||
|
|
areaOption.setOption(option);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//画指定指标的电压等级图
|
|||
|
|
function drawVoltagePic(steadyData, urlPart) {
|
|||
|
|
var vol;
|
|||
|
|
if (steadyData === null) {
|
|||
|
|
vol = null;
|
|||
|
|
} else {
|
|||
|
|
vol = steadyData.vol;
|
|||
|
|
}
|
|||
|
|
$("#voltage").css("height", picHeight);
|
|||
|
|
var volOption = echarts.init($("#voltage")[0]);
|
|||
|
|
var inte = [];
|
|||
|
|
var areas = [];
|
|||
|
|
if (null != vol) {
|
|||
|
|
for (var i = 0; i < vol.length; i++) {
|
|||
|
|
areas[i] = vol[i].name + "\n(" + vol[i].monitors + ")";
|
|||
|
|
var integralityRate = getSteady(vol[i], urlPart);
|
|||
|
|
var singleData = {};
|
|||
|
|
var item = {};
|
|||
|
|
item.color = getColor(integralityRate);
|
|||
|
|
if (integralityRate < 3.1414) {
|
|||
|
|
singleData.value = 3.1415;
|
|||
|
|
item.actual = integralityRate;
|
|||
|
|
} else {
|
|||
|
|
singleData.value = integralityRate;
|
|||
|
|
}
|
|||
|
|
singleData.itemStyle = item;
|
|||
|
|
inte[i] = singleData;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
var option = {
|
|||
|
|
backgroundColor: canvasBG,//背景色
|
|||
|
|
title: {
|
|||
|
|
text: '电压等级',
|
|||
|
|
x: 'center'
|
|||
|
|
},
|
|||
|
|
tooltip: {
|
|||
|
|
trigger: 'axis',
|
|||
|
|
axisPointer: {
|
|||
|
|
type: 'shadow'
|
|||
|
|
},
|
|||
|
|
formatter: function (params) {
|
|||
|
|
var color = params[0].color;
|
|||
|
|
var tips = "";
|
|||
|
|
tips += params[0].name;
|
|||
|
|
for (var i = 0; i < params.length; i++) {
|
|||
|
|
if (color === noMonitor) {
|
|||
|
|
tips += '<br/>' + params[i].seriesName + ' : /';
|
|||
|
|
} else if (color === noData) {
|
|||
|
|
tips += '<br/>' + params[i].seriesName + ' : (暂无数据)';
|
|||
|
|
} else {
|
|||
|
|
if (params[0].data.itemStyle.actual !== undefined) {
|
|||
|
|
tips += '<br/>' + params[0].seriesName + ' : ' + params[0].data.itemStyle.actual;
|
|||
|
|
} else {
|
|||
|
|
tips += '<br/>' + params[0].seriesName + ' : ' + params[0].value;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
return tips;
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
//控制图标在dataroom中的位置大小
|
|||
|
|
grid: {
|
|||
|
|
left: '3%',
|
|||
|
|
right: '13%',
|
|||
|
|
bottom: '3%',
|
|||
|
|
containLabel: true
|
|||
|
|
},
|
|||
|
|
xAxis: [{
|
|||
|
|
type: 'category',
|
|||
|
|
data: areas,
|
|||
|
|
name: '电压等级\n(监测点数)\n',
|
|||
|
|
}],
|
|||
|
|
yAxis: [{
|
|||
|
|
type: 'value',
|
|||
|
|
name: '%',
|
|||
|
|
min: '0',
|
|||
|
|
max: '100'
|
|||
|
|
}],
|
|||
|
|
series: [{
|
|||
|
|
name: '合格率',
|
|||
|
|
type: 'bar',
|
|||
|
|
barMaxWidth: barMax,
|
|||
|
|
data: inte
|
|||
|
|
}]
|
|||
|
|
};
|
|||
|
|
volOption.setOption(option);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//画指定指标的监测点对象类型图
|
|||
|
|
function drawLoadTypePic(steadyData, urlPart) {
|
|||
|
|
var loadType;
|
|||
|
|
if (steadyData === null) {
|
|||
|
|
loadType = null;
|
|||
|
|
} else {
|
|||
|
|
loadType = steadyData.loadType;
|
|||
|
|
}
|
|||
|
|
$("#loadType").css("height", picHeight);
|
|||
|
|
var comOption = echarts.init($("#loadType")[0]);
|
|||
|
|
var inte = [];
|
|||
|
|
var areas = [];
|
|||
|
|
if (null != loadType) {
|
|||
|
|
for (var i = 0; i < loadType.length; i++) {
|
|||
|
|
areas[i] = loadType[i].name + "\n(" + loadType[i].monitors + ")";
|
|||
|
|
var integralityRate = getSteady(loadType[i], urlPart);
|
|||
|
|
var singleData = {};
|
|||
|
|
var item = {};
|
|||
|
|
item.color = getColor(integralityRate);
|
|||
|
|
if (integralityRate < 3.1414) {
|
|||
|
|
singleData.value = 3.1415;
|
|||
|
|
item.actual = integralityRate;
|
|||
|
|
} else {
|
|||
|
|
singleData.value = integralityRate;
|
|||
|
|
}
|
|||
|
|
singleData.itemStyle = item;
|
|||
|
|
inte[i] = singleData;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
var option = {
|
|||
|
|
backgroundColor: canvasBG,//背景色
|
|||
|
|
title: {
|
|||
|
|
text: '干扰源类型',
|
|||
|
|
x: 'center'
|
|||
|
|
},
|
|||
|
|
tooltip: {
|
|||
|
|
trigger: 'axis',
|
|||
|
|
axisPointer: {
|
|||
|
|
type: 'shadow'
|
|||
|
|
},
|
|||
|
|
formatter: function (params) {
|
|||
|
|
var color = params[0].color;
|
|||
|
|
var tips = "";
|
|||
|
|
tips += params[0].name;
|
|||
|
|
for (var i = 0; i < params.length; i++) {
|
|||
|
|
if (color === noMonitor) {
|
|||
|
|
tips += '<br/>' + params[i].seriesName + ' : /';
|
|||
|
|
} else if (color === noData) {
|
|||
|
|
tips += '<br/>' + params[i].seriesName + ' : (暂无数据)';
|
|||
|
|
} else {
|
|||
|
|
if (params[0].data.itemStyle.actual !== undefined) {
|
|||
|
|
tips += '<br/>' + params[0].seriesName + ' : ' + params[0].data.itemStyle.actual;
|
|||
|
|
} else {
|
|||
|
|
tips += '<br/>' + params[0].seriesName + ' : ' + params[0].value;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
return tips;
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
//控制图标在dataroom中的位置大小
|
|||
|
|
grid: {
|
|||
|
|
left: '3%',
|
|||
|
|
right: '13%',
|
|||
|
|
bottom: '3%',
|
|||
|
|
containLabel: true
|
|||
|
|
},
|
|||
|
|
xAxis: [{
|
|||
|
|
type: 'category',
|
|||
|
|
data: areas,
|
|||
|
|
name: '干扰源类型\n(监测点数)\n',
|
|||
|
|
}],
|
|||
|
|
yAxis: [{
|
|||
|
|
type: 'value',
|
|||
|
|
name: '%',
|
|||
|
|
min: '0',
|
|||
|
|
max: '100'
|
|||
|
|
}],
|
|||
|
|
series: [{
|
|||
|
|
name: '合格率',
|
|||
|
|
type: 'bar',
|
|||
|
|
barMaxWidth: barMax,
|
|||
|
|
data: inte
|
|||
|
|
}]
|
|||
|
|
};
|
|||
|
|
comOption.setOption(option);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//画全部地区的数据图
|
|||
|
|
function drawAllArea(steadyData) {
|
|||
|
|
var area;
|
|||
|
|
if (null == steadyData) {
|
|||
|
|
area = null;
|
|||
|
|
} else {
|
|||
|
|
area = steadyData.area;
|
|||
|
|
}
|
|||
|
|
var $allArea = $("#allArea");
|
|||
|
|
$allArea.css("height", picHeight);
|
|||
|
|
var areaOption = echarts.init($("#allArea")[0]);
|
|||
|
|
var areas = [];
|
|||
|
|
var frequency = [], uBalance = [], voltageDeviation = [], flicker = [], harmVol = [], harmEle = [], iNeg = [],
|
|||
|
|
inUharm = [];
|
|||
|
|
var route;
|
|||
|
|
if(area.length>barUpperLimit12){
|
|||
|
|
route=barRouteIncline;
|
|||
|
|
}else{
|
|||
|
|
route=barRouteZero;
|
|||
|
|
}
|
|||
|
|
if (null != area) {
|
|||
|
|
for (var i = 0; i < area.length; i++) {
|
|||
|
|
areas[i] = area[i].name;
|
|||
|
|
var harmVolValue = Number(area[i].harmVoltage);
|
|||
|
|
var harmVolSingleData = {};
|
|||
|
|
harmVolSingleData.areaIndex = area[i].areaIndex;
|
|||
|
|
var harmVolItem = {};
|
|||
|
|
harmVolItem.color = getColor(harmVolValue);
|
|||
|
|
if (harmVolValue < 3.1414) {
|
|||
|
|
harmVolSingleData.value = 3.1415;
|
|||
|
|
harmVolItem.actual = harmVolValue;
|
|||
|
|
} else {
|
|||
|
|
harmVolSingleData.value = harmVolValue;
|
|||
|
|
}
|
|||
|
|
harmVolSingleData.itemStyle = harmVolItem;
|
|||
|
|
harmVol[i] = harmVolSingleData;
|
|||
|
|
|
|||
|
|
var harmEleValue = Number(area[i].harmElec);
|
|||
|
|
var harmEleSingleData = {};
|
|||
|
|
harmEleSingleData.areaIndex = area[i].areaIndex;
|
|||
|
|
var harmEleItem = {};
|
|||
|
|
harmEleItem.color = getColor(harmEleValue);
|
|||
|
|
if (harmEleValue < 3.1414) {
|
|||
|
|
harmEleSingleData.value = 3.1415;
|
|||
|
|
harmEleItem.actual = harmEleValue;
|
|||
|
|
} else {
|
|||
|
|
harmEleSingleData.value = harmEleValue;
|
|||
|
|
}
|
|||
|
|
harmEleSingleData.itemStyle = harmEleItem;
|
|||
|
|
harmEle[i] = harmEleSingleData;
|
|||
|
|
|
|||
|
|
var iNegValue = Number(area[i].iNeg);
|
|||
|
|
var iNegSingleData = {};
|
|||
|
|
iNegSingleData.areaIndex = area[i].areaIndex;
|
|||
|
|
var iNegItem = {};
|
|||
|
|
iNegItem.color = getColor(iNegValue);
|
|||
|
|
if (iNegValue < 3.1414) {
|
|||
|
|
iNegSingleData.value = 3.1415;
|
|||
|
|
iNegItem.actual = iNegValue;
|
|||
|
|
} else {
|
|||
|
|
iNegSingleData.value = iNegValue;
|
|||
|
|
}
|
|||
|
|
iNegSingleData.itemStyle = iNegItem;
|
|||
|
|
iNeg[i] = iNegSingleData;
|
|||
|
|
|
|||
|
|
var inUharmValue = Number(area[i].inUharm);
|
|||
|
|
var inUharmSingleData = {};
|
|||
|
|
inUharmSingleData.areaIndex = area[i].areaIndex;
|
|||
|
|
var inUharmItem = {};
|
|||
|
|
inUharmItem.color = getColor(inUharmValue);
|
|||
|
|
if (inUharmValue < 3.1414) {
|
|||
|
|
inUharmSingleData.value = 3.1415;
|
|||
|
|
inUharmItem.actual = inUharmValue;
|
|||
|
|
} else {
|
|||
|
|
inUharmSingleData.value = inUharmValue;
|
|||
|
|
}
|
|||
|
|
inUharmSingleData.itemStyle = inUharmItem;
|
|||
|
|
inUharm[i] = inUharmSingleData;
|
|||
|
|
|
|||
|
|
|
|||
|
|
var flValue = Number(area[i].flicker);
|
|||
|
|
var flSingleData = {};
|
|||
|
|
flSingleData.areaIndex = area[i].areaIndex;
|
|||
|
|
var flItem = {};
|
|||
|
|
flItem.color = getColor(flValue);
|
|||
|
|
if (flValue < 3.1414) {
|
|||
|
|
flSingleData.value = 3.1415;
|
|||
|
|
flItem.actual = flValue;
|
|||
|
|
} else {
|
|||
|
|
flSingleData.value = flValue;
|
|||
|
|
}
|
|||
|
|
flSingleData.itemStyle = flItem;
|
|||
|
|
flicker[i] = flSingleData;
|
|||
|
|
|
|||
|
|
var ubValue = Number(area[i].uBalance);
|
|||
|
|
var ubSingleData = {};
|
|||
|
|
ubSingleData.areaIndex = area[i].areaIndex;
|
|||
|
|
var ubItem = {};
|
|||
|
|
ubItem.color = getColor(ubValue);
|
|||
|
|
if (ubValue < 3.1414) {
|
|||
|
|
ubSingleData.value = 3.1415;
|
|||
|
|
ubItem.actual = ubValue;
|
|||
|
|
} else {
|
|||
|
|
ubSingleData.value = ubValue;
|
|||
|
|
}
|
|||
|
|
ubSingleData.itemStyle = ubItem;
|
|||
|
|
uBalance[i] = ubSingleData;
|
|||
|
|
|
|||
|
|
var freValue = Number(area[i].frequency);
|
|||
|
|
var freSingleData = {};
|
|||
|
|
freSingleData.areaIndex = area[i].areaIndex;
|
|||
|
|
var freItem = {};
|
|||
|
|
freItem.color = getColor(freValue);
|
|||
|
|
if (freValue < 3.1414) {
|
|||
|
|
freSingleData.value = 3.1415;
|
|||
|
|
freItem.actual = freValue;
|
|||
|
|
} else {
|
|||
|
|
freSingleData.value = freValue;
|
|||
|
|
}
|
|||
|
|
freSingleData.itemStyle = freItem;
|
|||
|
|
frequency[i] = freSingleData;
|
|||
|
|
|
|||
|
|
|
|||
|
|
var volValue = Number(area[i].voltageDeviation);
|
|||
|
|
var volSingleData = {};
|
|||
|
|
volSingleData.areaIndex = area[i].areaIndex;
|
|||
|
|
var valItem = {};
|
|||
|
|
valItem.color = getColor(volValue);
|
|||
|
|
if (volValue < 3.1414) {
|
|||
|
|
volSingleData.value = 3.1415;
|
|||
|
|
valItem.actual = volValue;
|
|||
|
|
} else {
|
|||
|
|
volSingleData.value = volValue;
|
|||
|
|
}
|
|||
|
|
volSingleData.itemStyle = valItem;
|
|||
|
|
voltageDeviation[i] = volSingleData;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
var labelOption = {
|
|||
|
|
normal: {
|
|||
|
|
show: false,
|
|||
|
|
position: 'insideBottom',
|
|||
|
|
distance: 15,
|
|||
|
|
align: 'left',
|
|||
|
|
verticalAlign: 'middle',
|
|||
|
|
rotate: 90,
|
|||
|
|
formatter: '{c} {name|{a}}',
|
|||
|
|
fontSize: 16,
|
|||
|
|
rich: {
|
|||
|
|
name: {
|
|||
|
|
textBorderColor: '#fff'
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
};
|
|||
|
|
var option = {
|
|||
|
|
backgroundColor: canvasBG,//背景色
|
|||
|
|
title: {
|
|||
|
|
text: '区域',
|
|||
|
|
x: 'center'
|
|||
|
|
},
|
|||
|
|
tooltip: {
|
|||
|
|
trigger: 'axis',
|
|||
|
|
axisPointer: {
|
|||
|
|
type: 'shadow'
|
|||
|
|
},
|
|||
|
|
formatter: function (params) {
|
|||
|
|
var color = params[0].color;
|
|||
|
|
var tips = "";
|
|||
|
|
tips += params[0].name;
|
|||
|
|
for (var i = 0; i < params.length; i++) {
|
|||
|
|
if (color === noMonitor) {
|
|||
|
|
tips += '<br/>' + params[i].seriesName + ' : /';
|
|||
|
|
} else if (color === noData) {
|
|||
|
|
tips += '<br/>' + params[i].seriesName + ' : (暂无数据)';
|
|||
|
|
} else {
|
|||
|
|
if (params[i].data.itemStyle.actual !== undefined) {
|
|||
|
|
tips += '<br/>' + params[i].seriesName + ' : ' + params[i].data.itemStyle.actual;
|
|||
|
|
} else {
|
|||
|
|
tips += '<br/>' + params[i].seriesName + ' : ' + params[i].value;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
return tips;
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
//控制图标在dataroom中的位置大小
|
|||
|
|
grid: {
|
|||
|
|
left: '3%',
|
|||
|
|
right: '7%',
|
|||
|
|
bottom: '3%',
|
|||
|
|
containLabel: true
|
|||
|
|
},
|
|||
|
|
xAxis: [{
|
|||
|
|
type: 'category',
|
|||
|
|
data: areas,
|
|||
|
|
name: '地区',
|
|||
|
|
axisLabel: {
|
|||
|
|
interval: 0,
|
|||
|
|
show: true,
|
|||
|
|
rotate:route,
|
|||
|
|
fontSize:10
|
|||
|
|
}
|
|||
|
|
}],
|
|||
|
|
yAxis: [{
|
|||
|
|
type: 'value',
|
|||
|
|
name: '%',
|
|||
|
|
min: '0',
|
|||
|
|
max: '100'
|
|||
|
|
}],
|
|||
|
|
series: [{
|
|||
|
|
name: '频率偏差',
|
|||
|
|
type: 'bar',
|
|||
|
|
barGap: 0.2,
|
|||
|
|
label: labelOption,
|
|||
|
|
barMaxWidth: barMax,
|
|||
|
|
data: frequency
|
|||
|
|
}, {
|
|||
|
|
name: '闪变',
|
|||
|
|
type: 'bar',
|
|||
|
|
label: labelOption,
|
|||
|
|
barMaxWidth: barMax,
|
|||
|
|
data: flicker
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
name: '电压不平衡',
|
|||
|
|
type: 'bar',
|
|||
|
|
label: labelOption,
|
|||
|
|
barMaxWidth: barMax,
|
|||
|
|
data: uBalance
|
|||
|
|
}, {
|
|||
|
|
name: '谐波电压',
|
|||
|
|
type: 'bar',
|
|||
|
|
label: labelOption,
|
|||
|
|
barMaxWidth: barMax,
|
|||
|
|
data: harmVol
|
|||
|
|
}, {
|
|||
|
|
name: '电压偏差',
|
|||
|
|
type: 'bar',
|
|||
|
|
label: labelOption,
|
|||
|
|
barMaxWidth: barMax,
|
|||
|
|
data: voltageDeviation
|
|||
|
|
}, {
|
|||
|
|
name: '谐波电流',
|
|||
|
|
type: 'bar',
|
|||
|
|
label: labelOption,
|
|||
|
|
barMaxWidth: barMax,
|
|||
|
|
data: harmEle
|
|||
|
|
}, {
|
|||
|
|
name: '负序电流',
|
|||
|
|
type: 'bar',
|
|||
|
|
label: labelOption,
|
|||
|
|
barMaxWidth: barMax,
|
|||
|
|
data: iNeg
|
|||
|
|
}, {
|
|||
|
|
name: '间谐波电压含有率',
|
|||
|
|
type: 'bar',
|
|||
|
|
label: labelOption,
|
|||
|
|
barMaxWidth: barMax,
|
|||
|
|
data: inUharm
|
|||
|
|
}
|
|||
|
|
]
|
|||
|
|
};
|
|||
|
|
areaOption.setOption(option);
|
|||
|
|
areaOption.on('click', function (params) {
|
|||
|
|
var city = params.data.areaIndex;
|
|||
|
|
var startTime = $startTime.eq(0).val();
|
|||
|
|
var endTime = $endTime.eq(0).val();
|
|||
|
|
var interval = $("#interval").val();
|
|||
|
|
if (getRole("/pqs9000/area/steadytable") == 1) {
|
|||
|
|
window.top.addTab('/pqs9000/area/steadytable?startTime=' + startTime + '&endTime=' + endTime + '&area=' + city + '&interval=' + interval, '稳态指标列表')
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//初始化表格
|
|||
|
|
function initTable(data) {
|
|||
|
|
var area;
|
|||
|
|
if (null == data) {
|
|||
|
|
area = null;
|
|||
|
|
} else {
|
|||
|
|
area = data.area;
|
|||
|
|
}
|
|||
|
|
var height = picHeight - 60;
|
|||
|
|
$("#areaTable").DataTable({
|
|||
|
|
data: area,
|
|||
|
|
autoWidth: false,
|
|||
|
|
columnDefs: [{
|
|||
|
|
orderable: false,
|
|||
|
|
targets: [0]
|
|||
|
|
}],
|
|||
|
|
order: [1, "desc"],
|
|||
|
|
paging: false,
|
|||
|
|
lengthChange: false,
|
|||
|
|
searching: false,
|
|||
|
|
destroy: true,
|
|||
|
|
scrollY: height,
|
|||
|
|
info: false,
|
|||
|
|
pageLength: 100,
|
|||
|
|
language: {
|
|||
|
|
url: '/pqs9000/json/chine.json',
|
|||
|
|
},
|
|||
|
|
columns: [
|
|||
|
|
{
|
|||
|
|
data: 'name'
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
data: 'frequency', type: "special-fate", render: function (data, type, full, meta) {
|
|||
|
|
return getValue(data);
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
data: 'flicker', type: "special-fate", render: function (data, type, full, meta) {
|
|||
|
|
return getValue(data);
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
data: 'uBalance', type: "special-fate", render: function (data, type, full, meta) {
|
|||
|
|
return getValue(data);
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
data: 'harmVoltage', type: "special-fate", render: function (data, type, full, meta) {
|
|||
|
|
return getValue(data);
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
data: 'voltageDeviation', type: "special-fate", render: function (data, type, full, meta) {
|
|||
|
|
return getValue(data);
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
{
|
|||
|
|
data: 'harmElec', type: "special-fate", render: function (data, type, full, meta) {
|
|||
|
|
return getValue(data);
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
data: 'iNeg', type: "special-fate", render: function (data, type, full, meta) {
|
|||
|
|
return getValue(data);
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
{
|
|||
|
|
data: 'inUharm', type: "special-fate", render: function (data, type, full, meta) {
|
|||
|
|
return getValue(data);
|
|||
|
|
}
|
|||
|
|
}, {
|
|||
|
|
data: 'evenElectric', render: function (data, type, full, meta) {
|
|||
|
|
var innerContent = getValue(data);
|
|||
|
|
var button;
|
|||
|
|
if (innerContent === "(暂无数据)" | innerContent === "/") {
|
|||
|
|
button = "<button type='button' class='btn themeBGDisableColor' style='margin-right:10px;' href='javascript:void(0);' disabled='disabled' >越限详情</button>";
|
|||
|
|
} else {
|
|||
|
|
button = "<button type='button' class='btn themeBGColor' style='margin-right:10px;' onclick='viewDetailData(\"" + full.areaIndex + "\",\"" + full.name + "\")' >越限详情</button>";
|
|||
|
|
}
|
|||
|
|
return button;
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
],
|
|||
|
|
})
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
//获取layer打开新页面后,在标题添加内容并向右浮动
|
|||
|
|
function getTitleInfo(startTime, endTime, target, name) {
|
|||
|
|
startTime = startTime.replace(/-/g, '/');
|
|||
|
|
endTime = endTime.replace(/-/g, '/');
|
|||
|
|
return "<span class='fr font12' ><span class='info'><span class='inB bg-info smallBlock'></span> 合格率≥90%</span><span class='warn''> <span class='inB bg-warn smallBlock'></span> 60%≤合格率<90% </span><span class='error'> <span class='inB bg-error smallBlock'></span> 合格率<60%</span></span><span class='fr font25'> | </span><span class='fr font12'>统计时间:<span class='fontBold' >" + startTime + "-" + endTime + "</span></span><span class='fr font12'> 统计区域:<span class='fontBold ' id='target' style='cursor:pointer;margin-right: 10px !important;' >" + name + "</span></span>";
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
//查看越线详情
|
|||
|
|
function viewDetailData(areaIndex, name) {
|
|||
|
|
var startTime = $startTime.eq(0).val();
|
|||
|
|
var endTime = $endTime.eq(0).val();
|
|||
|
|
var title = getTitleInfo(startTime, endTime, "稳态越限详情", name);
|
|||
|
|
title = "稳态越限详情" + title;
|
|||
|
|
layer.open({
|
|||
|
|
id: 'areaSteady',
|
|||
|
|
type: 2,
|
|||
|
|
title: title,
|
|||
|
|
maxmin: false,
|
|||
|
|
resize: false,
|
|||
|
|
shadeClose: true, //点击遮罩关闭层
|
|||
|
|
area: ['100%', '100%'],
|
|||
|
|
content: '/pqs9000/area/outOfLimitDetailView?startTime=' + startTime + "&endTime=" + endTime + "&areaIndex=" + areaIndex,
|
|||
|
|
scrollbar: false
|
|||
|
|
})
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//根据url获取指标合格率
|
|||
|
|
function getSteady(data, urlPart) {
|
|||
|
|
var integralityRate;
|
|||
|
|
if (urlPart === "frequency") {
|
|||
|
|
integralityRate = Number(data.frequency);
|
|||
|
|
} else if (urlPart === "flicker") {
|
|||
|
|
integralityRate = Number(data.flicker);
|
|||
|
|
} else if (urlPart === "uBalance") {
|
|||
|
|
integralityRate = Number(data.uBalance);
|
|||
|
|
} else if (urlPart === "harmVoltage") {
|
|||
|
|
integralityRate = Number(data.harmVoltage);
|
|||
|
|
} else if (urlPart === "voltageDeviation") {
|
|||
|
|
integralityRate = Number(data.voltageDeviation);
|
|||
|
|
} else if (urlPart === "harmElec") {
|
|||
|
|
integralityRate = Number(data.harmElec);
|
|||
|
|
} else if (urlPart === "iNeg") {
|
|||
|
|
integralityRate = Number(data.iNeg);
|
|||
|
|
} else if (urlPart === "inUharm") {
|
|||
|
|
integralityRate = Number(data.inUharm);
|
|||
|
|
}
|
|||
|
|
return integralityRate;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
//特殊处理,表头紧缩问题--start
|
|||
|
|
var it = null;
|
|||
|
|
|
|||
|
|
function startQuery() {
|
|||
|
|
//实时刷新时间单位为毫秒
|
|||
|
|
it = setInterval('refreshQuery()', 100);
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/* 刷新查询 */
|
|||
|
|
function refreshQuery() {
|
|||
|
|
var width = $("#table").width();
|
|||
|
|
if (width > 100) {
|
|||
|
|
if (steadyData === null || steadyData === "" || steadyData === undefined || steadyData.area.length > 1 || steadyData.area.length === 0) {
|
|||
|
|
changeAllClass(0);
|
|||
|
|
initTable(steadyData)
|
|||
|
|
drawAllArea(steadyData)
|
|||
|
|
} else {
|
|||
|
|
changeAllClass(1);
|
|||
|
|
initTableSingle(steadyData)
|
|||
|
|
}
|
|||
|
|
window.clearInterval(it)
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//特殊处理,表头紧缩问题--end
|