Files
SIPAIIS_WMS_JSSW/WebRoot/JS/smart/smart.js

1409 lines
66 KiB
JavaScript
Raw Normal View History

2026-01-16 14:13:44 +08:00
var fontcolor_grey = '#aeaeae';
var fontcolor_black = '#0d2336';
var color_blue = '#36FFF9';
var color_blue_other = '#1D4F6D';
var img_name = '';
var titleColor = '#ffffff';
var heightV =1;
var widthV =1;
var height = 1080;
var width = 1920;
var bizid = "";
var jsp_id = "";
var color = ['#ffff13','#31ff7d','#ff2ee3','#2e97ff','#ffb536','#58C6FF','#07FF72'];
var selected_DailyWaterSupply = true;
var selected_RawWaterQuality = true;
var selected_EffluentQuality_beijiang = true;
var selected_EffluentQuality_xijiang = true;
var selectedAll = [];
var left_top_height = 0;
var left_middle_height = 0;
var left_bottom_height = 0;
var center_top_height = 0;
var center_middle_height = 0;
var center_bottom_height = 0;
var right_top_height = 0;
var right_middle_height = 0;
var right_bottom_height = 0;
function changeDataType(){
var dataType = $("#dataType").val();
if(dataType==1){
$("#unit").show();
$("#configureDetail").show();
$("#proDatavisualFrame").hide();
}else{
if(dataType==2){
$("#configureDetail").show();
}else{
$("#configureDetail").hide();
}
$("#proDatavisualFrame").show();
$("#unit").hide();
}
}
function showDatavisualFrame4Select(hiddenId,textId,id){
$.post(ext.contextPath + '/process/dataVisualFrame/showMenu4Select.do', {
formId: "subForm",
hiddenId: hiddenId,
textId: textId,
ownId: id,
menuType: 'proVisual'
}, function (data) {
$("#menu4SelectDiv").html(data);
openModal("menu4SelectModal")
});
}
function showSmartCompany4Select(){
$.post(ext.contextPath + '/smart/showCompany4Select.do', {
formId: "subForm",
hiddenId: "companyid",
textId: "companyname",
}, function (data) {
$("#menu4SelectDiv").html(data);
openModal("company4SelectModal")
});
}
function dosaveElement(){
var icon_width = 36;
var icon_height = 49;
var elementLeft = $("#elementLeft").val();
var elementTop = $("#elementTop").val();
if(dataType==1){
icon_width = 36;
icon_height = 49;
}else{
icon_width = 18;
icon_height = 42;
}
$("#subForm #elementLeft").val(elementLeft-icon_width/2);
$("#subForm #elementTop").val(elementTop-icon_height);
$("#subForm").bootstrapValidator({
live: 'disabled',//验证时机enabled是内容有变化就验证默认disabled和submitted是提交再验证
fields: {
name: {
validators: {
notEmpty: {
message: '名称不能为空'
}
}
},
}
});
$("#subForm").bootstrapValidator('validate');//提交验证
if ($("#subForm").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
$.post(ext.contextPath + "/jspConfigure/save.do", $("#subForm").serialize(), function(result) {
if (result == 1) {
getImgData();
}else{
alert('保存失败');
}
},'json');
}
}
function doupdateElement() {
$("#subForm").bootstrapValidator('validate');//提交验证
if ($("#subForm").data('bootstrapValidator').isValid()) {//获取验证结果,如果成功,执行下面代码
$.post(ext.contextPath + "/jspConfigure/update.do", $("#subForm").serialize(), function(data) {
if (data == 1){
getImgData();
}else if(data == 0){
alert('保存失败');
}else{
alert(data);
}
},'json');
}
}
function dodelElement() {
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) {
$.post(ext.contextPath + '/jspConfigure/delete.do', $("#subForm").serialize(), function(data) {
if(data>0){
getImgData();
}else{
alert('删除失败');
}
},'json');
}
});
}
function doConfigureDetail(id) {
$.post(ext.contextPath + '/jspConfigure/jspConfigureDetail.do', {configureId: id,}, function (data) {
$("#menu4SelectDiv").html(data);
openModal("jspConfigureDetailModal")
});
}
function getImgData(){
$('.center-middle').empty();
$.post(ext.contextPath + '/jspConfigure/getSmartImgData.do', {bizid:bizid,jsp_id:jsp_id} , function(data) {
var arr = JSON.parse(data);
console.log(arr);
var elements = "";
if(arr.rows!=null && arr.rows!=undefined && arr.rows!=''){
for(var i=0;i<arr.rows.length;i++){
var element= arr.rows[i];
var icon_width = 36;
var icon_height = 49;
if(element.dataType==1){
src = ext.contextPath+"/IMG/smart/map_waterworks.png";
icon_width = 36;
icon_height = 49;
}else{
src = ext.contextPath+"/IMG/smart/map_pump_station.png";
icon_width = 18;
icon_height = 42;
}
var heightAlone = 0;
var widthAlone = 0;
if(element.windowsHeight != null && element.windowsHeight != undefined && element.windowsHeight != ''){
heightAlone = height/element.windowsHeight;
}else{
heightAlone = heightV;
}
if(element.windowsWidth != null && element.windowsWidth != undefined && element.windowsWidth != ''){
widthAlone = width/element.windowsWidth;
}else{
widthAlone = widthV;
}
var proDatavisualFrameName= "";
if(element.dataVisualFrame!=null){
proDatavisualFrameName=element.dataVisualFrame.name;
}
var companyname= "";
if(element.unit!=null){
companyname=element.unit.sname;
}
var selectUnitName= "";
if(element.unit!=null){
selectUnitName=element.unit.sname;
}
var left = 0;
if(element.dataType==1){
left = element.name.length/2*3;
}else{
left = element.name.length/2*8;
}
elements = '<span class="edit-element-name" style="left: '+(element.elementLeft*widthAlone-left)+'px;top: '+(element.elementTop*heightAlone-20)+'px;">'
+element.name+'</span>';
elements += '<div id="'+element.id+'" '+
' class="edit-element" title="'+element.name+'" data-id="'+element.id+'" data-name="'+element.name+'" '+
' data-elementLeft="'+element.elementLeft+'" data-elementTop="'+element.elementTop+'" data-proDatavisualFrameId="'+element.proDatavisualFrameId+'" '+
' data-proDatavisualFrameName="'+proDatavisualFrameName+'" data-dataType="'+element.dataType+'" '+
' data-companyid="'+element.companyid+'" data-companyname="'+companyname+'" '+
' data-selectUnitId="'+element.selectUnitId+'" data-selectUnitName="'+selectUnitName+'" '+
' style=" left: '+(element.elementLeft*widthAlone)+'px;top: '+(element.elementTop*heightAlone)+'px;">'+
' <img src= "'+src+'" style="width: '+icon_width+'px;height: '+icon_height+'px;" draggable="false"/>'+
' </div>';
var detailList = element.detailList;
if(detailList!=null && detailList.length>0){
var detailListStr =
'<div class="map-content map-content-'+element.id+'" style="left: '+(element.elementLeft*widthAlone-left-70)+'px;top: '+(element.elementTop*heightAlone+icon_height)+'px;">';
for(var d=0;d<detailList.length;d++){
var value = 0;
if(detailList[d].value!=null && detailList[d].value!=undefined && detailList[d].value!=''){
value =detailList[d].value;
}else{
if(detailList[d].mPoint!=null && detailList[d].mPoint!=undefined && detailList[d].mPoint!=''){
value =detailList[d].mPoint.parmvalue;
}
}
detailListStr+=
'<div class="col-xs-5">'+detailList[d].dataName+'</div>'+
'<div class="col-xs-4 font-color-blue">'+value+'</div>'+
'<div class="col-xs-3">'+detailList[d].unit+'</div>';
}
detailListStr+='</div>';
elements += detailListStr;
if($.inArray(element.id,map_content)==-1){
map_content.push(element.id);
}
}
$('.center-middle').append(elements);
var fun = "drag"; // 函数的名称
try {
if($.isFunction(eval(fun))){
drag(element.id);
}
} catch(e) {
console.log('drag函数不存在!');
}
}
}
//结束定时器
clearInterval(interval);
/*启动定时*/
doIntervalShowAndHide();
$(".edit-element").hover(function() {
noMouse = false;
//结束定时器
clearInterval(interval);
//隐藏所有
doHiddenAll();
//显示当前
doShow($(this).attr('id'));
}, function() {
//隐藏所有
doHiddenAll();
noMouse = true;
/*启动定时*/
doIntervalShowAndHide();
});
});
}
var map_content = [];
var noMouse = true;
var interval;
var j = 0;
/*定时-10s*/
function doIntervalShowAndHide(){
/*初始显示第一个*/
doShow(map_content[j]);
interval = setInterval(function(){
//判断鼠标状态
if(noMouse){
doHidden(map_content[j]);
j++;
if(j==(map_content.length)){
j=0;
}
doShow(map_content[j]);
}
},10000);
}
/*执行显示*/
function doShow(code){
$(".map-content-"+code).show();
}
/*执行隐藏*/
function doHidden(code){
$(".map-content-"+code).hide();
}
/*隐藏全部*/
function doHiddenAll(){
$(".map-content").hide();
}
function addAndRemove4Class(one,two){
$('.'+one).addClass(two);
$('.'+one).removeClass(one);
}
function getData(bizid){
var jsp_id = $('#jsp_id').val();
var time_input = $('#time_input').val();
$.post(ext.contextPath + '/smart/getSmartCompanyData.do', {bizid:bizid,time:time_input,jsp_id:jsp_id} , function(data) {
var arr= JSON.parse(data);
console.log(arr);
var left_top_line_legenddata=[];
var left_top_line_seriesdata=[];
var left_middle_line_legenddata=[];
var left_middle_line_seriesdata=[];
var left_bottom_bar_legenddata=[];
var left_bottom_bar_seriesdata=[];
var left_bottom_line_1_legenddata=[];
var left_bottom_line_1_seriesdata=[];
var left_bottom_line_2_legenddata=[];
var left_bottom_line_2_seriesdata=[];
var bar_max =0;
var bar_min =0;
var bar_totle =0;
var center_bottom_line_legenddata=[];
var center_bottom_line_seriesdata=[];
var patrol =0;
var maintenance =0;
var right_bottom_bar_legenddata=[];
var right_bottom_bar_seriesdata=[];
var water_supply_title = "";
var rawWaterQuality_title = "";
var effluentQuality_title = "";
if(arr.rows!=null && arr.rows!=undefined && arr.rows!=''){
for(var i=0;i<arr.rows.length;i++){
var value =0;
var numtail=0;
var dataMax=0;
var rate = 1;
var nowdate = getNowTime();
if(arr.rows[i].visualCacheConfig!=null
&& arr.rows[i].visualCacheConfig!=undefined
&& arr.rows[i].visualCacheConfig!=''){
var visualCacheConfig = arr.rows[i].visualCacheConfig;
if(visualCacheConfig.numtail!=null && visualCacheConfig.numtail!=undefined && visualCacheConfig.numtail!=''){
numtail = visualCacheConfig.numtail;
}
}
if(arr.rows[i].visualCacheData!=null
&& arr.rows[i].visualCacheData!=undefined
&& arr.rows[i].visualCacheData!=''){
var visualCacheData = arr.rows[i].visualCacheData;
if(visualCacheData.inivalue!=null && visualCacheData.inivalue!=undefined && visualCacheData.inivalue!=''){
value = visualCacheData.inivalue;
}else{
if(visualCacheData.value!=null && visualCacheData.value!=undefined && visualCacheData.value!=''){
value = visualCacheData.value;
}else{
if(arr.rows[i].mPoint!=null && arr.rows[i].mPoint!=undefined && arr.rows[i].mPoint!=''){
var mPoint = arr.rows[i].mPoint;
if(mPoint.parmvalue!=null && mPoint.parmvalue!=undefined && mPoint.parmvalue!=''){
value = mPoint.parmvalue;
}
if(mPoint.alarmmax!=null && mPoint.alarmmax!=undefined && mPoint.alarmmax!=''){
dataMax = mPoint.alarmmax;
}
if(mPoint.numtail!=null && mPoint.numtail!=undefined && mPoint.numtail!=''){
numtail = mPoint.numtail;
}
if(mPoint.measuredt!=null && mPoint.measuredt!=undefined && mPoint.measuredt!=''){
nowdate = mPoint.measuredt;
}
}
}
}
if(visualCacheData.numtail!=null && visualCacheData.numtail!=undefined && visualCacheData.numtail!=''){
numtail = visualCacheData.numtail;
}
if(visualCacheData.insdt!=null && visualCacheData.insdt!=undefined && visualCacheData.insdt!=''){
nowdate = visualCacheData.insdt;
}
if(visualCacheData.rate!=null && visualCacheData.rate!=undefined && visualCacheData.rate!=''){
rate = visualCacheData.rate;
}
}else{
var mPoint = arr.rows[i].mPoint;
if(mPoint!=null && mPoint!=undefined && mPoint!=''){
if(mPoint.parmvalue!=null && mPoint.parmvalue!=undefined && mPoint.parmvalue!=''){
value = mPoint.parmvalue;
}
if(mPoint.alarmmax!=null && mPoint.alarmmax!=undefined && mPoint.alarmmax!=''){
dataMax = mPoint.alarmmax;
}
if(mPoint.numtail!=null && mPoint.numtail!=undefined && mPoint.numtail!=''){
numtail = mPoint.numtail;
}
if(mPoint.measuredt!=null && mPoint.measuredt!=undefined && mPoint.measuredt!=''){
nowdate = mPoint.measuredt;
}
}
}
value = parseFloat(value)*rate;
value = value.toFixed(numtail);
if($("."+arr.rows[i].elementCode).length > 0){
$("."+arr.rows[i].elementCode).html(toThousands(value));
}
if($("."+arr.rows[i].elementCode).parent().find('.nowdate').length > 0){
$("."+arr.rows[i].elementCode).parent().find('.nowdate').html(nowdate.substring(11,16));
}
//原水浊度\原水PH\原水溶解氧
if(arr.rows[i].elementCode=='raw_water_turbidity'
|| arr.rows[i].elementCode=='raw_water_ph'
|| arr.rows[i].elementCode=='raw_water_dissolved_oxygen'){
if(arr.rows[i].visualCacheData.mpcode!=null){
rawWaterQuality_title += arr.rows[i].visualCacheData.mpcode+",";
}
left_middle_line_legenddata.push(arr.rows[i].name);
if(!selectedAll.some(item=>item.name===arr.rows[i].name)){
var legenddata = {
name : arr.rows[i].name,
flag : selected_RawWaterQuality
};
selectedAll.push(legenddata);
selected_RawWaterQuality = false;
}
var dataseries =[];
if(arr.rows[i].mPointHistory!=null
&& arr.rows[i].mPointHistory!=undefined
&& arr.rows[i].mPointHistory!=''){
var mPointHistory = arr.rows[i].mPointHistory;
for(var m=0;m<mPointHistory.length;m++){
var dataserie =[];
if(mPointHistory[m].parmvalue!=null
&& mPointHistory[m].parmvalue!=undefined
&& mPointHistory[m].parmvalue!=''){
dataserie.push(mPointHistory[m].measuredt);
if(mPointHistory[m].parmvalue!=null){
dataserie.push(mPointHistory[m].parmvalue.toFixed(numtail));
}
dataseries.push(dataserie);
}
}
}else{
if(arr.rows[i].visualCacheDataList!=null
&& arr.rows[i].visualCacheDataList!=undefined
&& arr.rows[i].visualCacheDataList!=''){
var visualCacheDataList = arr.rows[i].visualCacheDataList;
for(var m=0;m<visualCacheDataList.length;m++){
var dataserie =[];
if(visualCacheDataList[m].value!=null
&& visualCacheDataList[m].value!=undefined
&& visualCacheDataList[m].value!=''){
dataserie.push(visualCacheDataList[m].insdt);
if(visualCacheDataList[m].value!=null){
dataserie.push(visualCacheDataList[m].value.toFixed(numtail));
}
dataseries.push(dataserie);
}
}
}
}
left_middle_line_seriesdata.push({
name: arr.rows[i].name,
type: 'line',
smooth: true,
symbol: 'none',
data: dataseries
});
}
if(arr.rows[i].elementCode=='effluent_turbidity' ){
if($(".yesterday_water_supply").length > 0){
var yes_value = 0;
if(arr.rows[i].mPointHistory!=null
&& arr.rows[i].mPointHistory!=undefined
&& arr.rows[i].mPointHistory!=''){
var mPointHistory = arr.rows[i].mPointHistory;
if(mPointHistory.length>2){
yes_value = mPointHistory[mPointHistory.length-2].parmvalue.toFixed(numtail);
}else{
if(mPointHistory.length>1){
yes_value = mPointHistory[mPointHistory.length-1].parmvalue.toFixed(numtail);
}else{
yes_value = mPointHistory[0].parmvalue.toFixed(numtail);
}
}
}else{
if(arr.rows[i].visualCacheDataList!=null
&& arr.rows[i].visualCacheDataList!=undefined
&& arr.rows[i].visualCacheDataList!=''){
var visualCacheDataList = arr.rows[i].visualCacheDataList;
if(visualCacheDataList.length>2){
yes_value = visualCacheDataList[visualCacheDataList.length-2].value.toFixed(numtail);
}else{
if(visualCacheDataList.length>1){
yes_value = visualCacheDataList[visualCacheDataList.length-1].value.toFixed(numtail);
}else{
yes_value = visualCacheDataList[0].value.toFixed(numtail);
}
}
}
}
$(".yesterday_water_supply").html(toThousands(yes_value));
}
}
//巡检完成率
if(arr.rows[i].elementCode=='patrol_inspection_completion_rate'){
patrol=value;
}
//维修完成率
if(arr.rows[i].elementCode=='maintenance_completion_rate'){
maintenance=value;
}
//机械设备日维修次\电气设备日维修次数\自动化设备日维修次数\水质设备日维修次数
if(arr.rows[i].elementCode=='mechanics_equipment_repair_day'
|| arr.rows[i].elementCode=='electrical_equipment_repair_day'
|| arr.rows[i].elementCode=='automation_equipment_repair_day'
|| arr.rows[i].elementCode=='water_equipment_repair_day' ){
right_bottom_bar_legenddata.push(arr.rows[i].name);
var dataseries =[];
if(arr.rows[i].mPointHistory!=null
&& arr.rows[i].mPointHistory!=undefined
&& arr.rows[i].mPointHistory!=''){
var mPointHistory = arr.rows[i].mPointHistory;
for(var m=0;m<mPointHistory.length;m++){
var dataserie =[];
dataserie.push(mPointHistory[m].measuredt.substr(0,7));
if(mPointHistory[m].parmvalue!=null){
dataserie.push(mPointHistory[m].parmvalue.toFixed(numtail));
}
dataseries.push(dataserie);
}
}else{
if(arr.rows[i].visualCacheDataList!=null
&& arr.rows[i].visualCacheDataList!=undefined
&& arr.rows[i].visualCacheDataList!=''){
var visualCacheDataList = arr.rows[i].visualCacheDataList;
for(var m=0;m<visualCacheDataList.length;m++){
var dataserie =[];
dataserie.push(visualCacheDataList[m].insdt.substr(0,7));
if(visualCacheDataList[m].value!=null){
dataserie.push(visualCacheDataList[m].value.toFixed(numtail));
}
dataseries.push(dataserie);
}
}
}
right_bottom_bar_seriesdata.push({
name: arr.rows[i].name,
type: 'bar',
barMaxWidth: '10%',
stack: '设备',
data: dataseries
});
}
//日供水量
if(arr.rows[i].elementCode=='water_supply' ){
if(arr.rows[i].visualCacheData.mpcode!=null){
water_supply_title += arr.rows[i].visualCacheData.mpcode+",";
}
left_top_line_legenddata.push('总供水量');
if(!selectedAll.some(item=>item.name==='总供水量')){
var legenddata = {
name : '总供水量',
flag : selected_DailyWaterSupply
};
selectedAll.push(legenddata);
selected_DailyWaterSupply = false;
}
if(arr.rows[i].visualCacheData!=null
&& arr.rows[i].visualCacheData!=undefined
&& arr.rows[i].visualCacheData!=''){
var visualCacheData = arr.rows[i].visualCacheData;
if(visualCacheData.mpcode!=null && visualCacheData.mpcode!=''){
water_supply_title += visualCacheData.mpcode+',';
}
}
var dataseries =[];
if(arr.rows[i].mPointHistory!=null
&& arr.rows[i].mPointHistory!=undefined
&& arr.rows[i].mPointHistory!=''){
var mPointHistory = arr.rows[i].mPointHistory;
for(var m=0;m<mPointHistory.length;m++){
var dataserie =[];
dataserie.push(mPointHistory[m].measuredt);
if(mPointHistory[m].parmvalue!=null){
dataserie.push(mPointHistory[m].parmvalue.toFixed(numtail));
}
dataseries.push(dataserie);
}
}else{
if(arr.rows[i].visualCacheDataList!=null
&& arr.rows[i].visualCacheDataList!=undefined
&& arr.rows[i].visualCacheDataList!=''){
var visualCacheDataList = arr.rows[i].visualCacheDataList;
for(var m=0;m<visualCacheDataList.length;m++){
var dataserie =[];
dataserie.push(visualCacheDataList[m].insdt);
if(visualCacheDataList[m].value!=null){
dataserie.push(visualCacheDataList[m].value.toFixed(numtail));
}
dataseries.push(dataserie);
}
}
}
left_top_line_seriesdata.push({
name: '总供水量',
type: 'line',
smooth: true,
symbol: 'none',
areaStyle: {},
/* barMaxWidth: '10%',
itemStyle: {
normal: {
barBorderRadius: 12,
},
}, */
data: dataseries
});
}
//日供水量
if(arr.rows[i].elementCode=='water_supply_beijiang' ){
if(arr.rows[i].visualCacheData.mpcode!=null){
water_supply_title += arr.rows[i].visualCacheData.mpcode+",";
}
left_top_line_legenddata.push('北江厂');
if(!selectedAll.some(item=>item.name==='北江厂')){
var legenddata = {
name : '北江厂',
flag : selected_DailyWaterSupply
};
selectedAll.push(legenddata);
selected_DailyWaterSupply = false;
}
var dataseries =[];
if(arr.rows[i].mPointHistory!=null
&& arr.rows[i].mPointHistory!=undefined
&& arr.rows[i].mPointHistory!=''){
var mPointHistory = arr.rows[i].mPointHistory;
for(var m=0;m<mPointHistory.length;m++){
var dataserie =[];
dataserie.push(mPointHistory[m].measuredt);
if(mPointHistory[m].parmvalue!=null){
dataserie.push(mPointHistory[m].parmvalue.toFixed(numtail));
}
dataseries.push(dataserie);
}
}else{
if(arr.rows[i].visualCacheDataList!=null
&& arr.rows[i].visualCacheDataList!=undefined
&& arr.rows[i].visualCacheDataList!=''){
var visualCacheDataList = arr.rows[i].visualCacheDataList;
for(var m=0;m<visualCacheDataList.length;m++){
var dataserie =[];
dataserie.push(visualCacheDataList[m].insdt);
if(visualCacheDataList[m].value!=null){
dataserie.push(visualCacheDataList[m].value.toFixed(numtail));
}
dataseries.push(dataserie);
}
}
}
left_top_line_seriesdata.push({
name: '北江厂',
type: 'line',
smooth: true,
symbol: 'none',
areaStyle: {},
/* barMaxWidth: '10%',
itemStyle: {
normal: {
barBorderRadius: 12,
},
}, */
data: dataseries
});
}
//日供水量
if(arr.rows[i].elementCode=='water_supply_xijiang' ){
if(arr.rows[i].visualCacheData.mpcode!=null){
water_supply_title += arr.rows[i].visualCacheData.mpcode+",";
}
left_top_line_legenddata.push('西江厂');
if(!selectedAll.some(item=>item.name==='西江厂')){
var legenddata = {
name : '西江厂',
flag : selected_DailyWaterSupply
};
selectedAll.push(legenddata);
selected_DailyWaterSupply = false;
}
var dataseries =[];
if(arr.rows[i].mPointHistory!=null
&& arr.rows[i].mPointHistory!=undefined
&& arr.rows[i].mPointHistory!=''){
var mPointHistory = arr.rows[i].mPointHistory;
for(var m=0;m<mPointHistory.length;m++){
var dataserie =[];
dataserie.push(mPointHistory[m].measuredt);
if(mPointHistory[m].parmvalue!=null){
dataserie.push(mPointHistory[m].parmvalue.toFixed(numtail));
}
dataseries.push(dataserie);
}
}else{
if(arr.rows[i].visualCacheDataList!=null
&& arr.rows[i].visualCacheDataList!=undefined
&& arr.rows[i].visualCacheDataList!=''){
var visualCacheDataList = arr.rows[i].visualCacheDataList;
for(var m=0;m<visualCacheDataList.length;m++){
var dataserie =[];
dataserie.push(visualCacheDataList[m].insdt);
if(visualCacheDataList[m].value!=null){
dataserie.push(visualCacheDataList[m].value.toFixed(numtail));
}
dataseries.push(dataserie);
}
}
}
left_top_line_seriesdata.push({
name: '西江厂',
type: 'line',
smooth: true,
symbol: 'none',
areaStyle: {},
/* barMaxWidth: '10%',
itemStyle: {
normal: {
barBorderRadius: 12,
},
}, */
data: dataseries
});
}
//北江
//出水浊度\出水PH\出水溶解氧
if(arr.rows[i].elementCode=='effluent_turbidity_beijiang'
|| arr.rows[i].elementCode=='effluent_ph_beijiang'
|| arr.rows[i].elementCode=='effluent_dissolved_oxygen_beijiang'){
if(arr.rows[i].visualCacheData.mpcode!=null){
effluentQuality_title += arr.rows[i].visualCacheData.mpcode+",";
}
left_bottom_line_1_legenddata.push(arr.rows[i].name);
if(!selectedAll.some(item=>item.name===arr.rows[i].name)){
var legenddata = {
name : arr.rows[i].name,
flag : selected_EffluentQuality_beijiang
};
selectedAll.push(legenddata);
selected_EffluentQuality_beijiang = false;
}
var dataseries =[];
if(arr.rows[i].mPointHistory!=null
&& arr.rows[i].mPointHistory!=undefined
&& arr.rows[i].mPointHistory!=''){
var mPointHistory = arr.rows[i].mPointHistory;
for(var m=0;m<mPointHistory.length;m++){
var dataserie =[];
dataserie.push(mPointHistory[m].measuredt);
if(mPointHistory[m].parmvalue!=null){
dataserie.push(mPointHistory[m].parmvalue.toFixed(numtail));
}
dataseries.push(dataserie);
}
}else{
if(arr.rows[i].visualCacheDataList!=null
&& arr.rows[i].visualCacheDataList!=undefined
&& arr.rows[i].visualCacheDataList!=''){
var visualCacheDataList = arr.rows[i].visualCacheDataList;
for(var m=0;m<visualCacheDataList.length;m++){
var dataserie =[];
dataserie.push(visualCacheDataList[m].insdt);
if(visualCacheDataList[m].value!=null){
dataserie.push(visualCacheDataList[m].value.toFixed(numtail));
}
dataseries.push(dataserie);
}
}
}
left_bottom_line_1_seriesdata.push({
name: arr.rows[i].name,
type: 'line',
smooth: true,
symbol: 'none',
data: dataseries
});
}
//西江
//出水浊度\出水PH\出水溶解氧
if(arr.rows[i].elementCode=='effluent_turbidity_xijiang'
|| arr.rows[i].elementCode=='effluent_ph_xijiang'
|| arr.rows[i].elementCode=='effluent_dissolved_oxygen_xijiang'){
if(arr.rows[i].visualCacheData.mpcode!=null){
effluentQuality_title += arr.rows[i].visualCacheData.mpcode+",";
}
left_bottom_line_2_legenddata.push(arr.rows[i].name);
if(!selectedAll.some(item=>item.name===arr.rows[i].name)){
var legenddata = {
name : arr.rows[i].name,
flag : selected_EffluentQuality_xijiang
};
selectedAll.push(legenddata);
selected_EffluentQuality_xijiang = false;
}
var dataseries =[];
if(arr.rows[i].mPointHistory!=null
&& arr.rows[i].mPointHistory!=undefined
&& arr.rows[i].mPointHistory!=''){
var mPointHistory = arr.rows[i].mPointHistory;
for(var m=0;m<mPointHistory.length;m++){
var dataserie =[];
dataserie.push(mPointHistory[m].measuredt);
if(mPointHistory[m].parmvalue!=null){
dataserie.push(mPointHistory[m].parmvalue.toFixed(numtail));
}
dataseries.push(dataserie);
}
}else{
if(arr.rows[i].visualCacheDataList!=null
&& arr.rows[i].visualCacheDataList!=undefined
&& arr.rows[i].visualCacheDataList!=''){
var visualCacheDataList = arr.rows[i].visualCacheDataList;
for(var m=0;m<visualCacheDataList.length;m++){
var dataserie =[];
dataserie.push(visualCacheDataList[m].insdt);
if(visualCacheDataList[m].value!=null){
dataserie.push(visualCacheDataList[m].value.toFixed(numtail));
}
dataseries.push(dataserie);
}
}
}
left_bottom_line_2_seriesdata.push({
name: arr.rows[i].name,
type: 'line',
smooth: true,
symbol: 'none',
data: dataseries
});
}
}
}
var selected = {};
if(selectedAll.length>0){
for(var s=0;s<selectedAll.length;s++){
selected[selectedAll[s].name]=selectedAll[s].flag;
}
}
echarts_line('left-middle-line',left_middle_line_legenddata,left_middle_line_seriesdata,selected);
echarts_line('left-bottom-line-1',left_bottom_line_1_legenddata,left_bottom_line_1_seriesdata,selected);
echarts_line('left-bottom-line-2',left_bottom_line_2_legenddata,left_bottom_line_2_seriesdata,selected);
echarts_line_top('left-top-line',left_top_line_legenddata,left_top_line_seriesdata,selected);
echarts_bar_right('right-bottom-bar',right_bottom_bar_legenddata,right_bottom_bar_seriesdata,titleColor);
var data = {value:patrol,name:'巡检完成率'};
doendPie('right-top-pie-1',data);
data = {value:maintenance,name:'维修完成率'};
doendPie('right-top-pie-2',data);
if($("#water_supply_title").length > 0){
$("#water_supply_title").attr("data-mpcode",water_supply_title);
}
if($("#rawWaterQuality_title").length > 0){
$("#rawWaterQuality_title").attr("data-mpcode",rawWaterQuality_title);
}
if($("#effluentQuality_title").length > 0){
$("#effluentQuality_title").attr("data-mpcode",effluentQuality_title);
}
});
getMonitorData(bizid,time_input,jsp_id);
getImgData();
}
function getMonitorData(bizid,time_input,jsp_id){
$.post(ext.contextPath + '/smart/getMonitorData.do', {bizid:bizid,time:time_input,jsp_id:'monitor'} , function(data) {
var arr= JSON.parse(data);
console.log(arr);
if(arr.rows!=null && arr.rows!=undefined && arr.rows!=''){
$('#monitor_pressure').empty();
$('#monitor_flow').empty();
for(var i=0;i<arr.rows.length;i++){
var value =0;
var numtail=0;
var dataMax=0;
var rate = 1;
var nowdate = getNowTime();
if(arr.rows[i].visualCacheConfig!=null
&& arr.rows[i].visualCacheConfig!=undefined
&& arr.rows[i].visualCacheConfig!=''){
var visualCacheConfig = arr.rows[i].visualCacheConfig;
if(visualCacheConfig.numtail!=null && visualCacheConfig.numtail!=undefined && visualCacheConfig.numtail!=''){
numtail = visualCacheConfig.numtail;
}
}
if(arr.rows[i].visualCacheData!=null
&& arr.rows[i].visualCacheData!=undefined
&& arr.rows[i].visualCacheData!=''){
var visualCacheData = arr.rows[i].visualCacheData;
if(visualCacheData.inivalue!=null && visualCacheData.inivalue!=undefined && visualCacheData.inivalue!=''){
value = visualCacheData.inivalue;
}else{
if(visualCacheData.value!=null && visualCacheData.value!=undefined && visualCacheData.value!=''){
value = visualCacheData.value;
}else{
if(arr.rows[i].mPoint!=null && arr.rows[i].mPoint!=undefined && arr.rows[i].mPoint!=''){
var mPoint = arr.rows[i].mPoint;
if(mPoint.parmvalue!=null && mPoint.parmvalue!=undefined && mPoint.parmvalue!=''){
value = mPoint.parmvalue;
}
if(mPoint.alarmmax!=null && mPoint.alarmmax!=undefined && mPoint.alarmmax!=''){
dataMax = mPoint.alarmmax;
}
if(mPoint.numtail!=null && mPoint.numtail!=undefined && mPoint.numtail!=''){
numtail = mPoint.numtail;
}
if(mPoint.measuredt!=null && mPoint.measuredt!=undefined && mPoint.measuredt!=''){
nowdate = mPoint.measuredt;
}
}
}
}
if(visualCacheData.numtail!=null && visualCacheData.numtail!=undefined && visualCacheData.numtail!=''){
numtail = visualCacheData.numtail;
}
if(visualCacheData.insdt!=null && visualCacheData.insdt!=undefined && visualCacheData.insdt!=''){
nowdate = visualCacheData.insdt;
}
if(visualCacheData.rate!=null && visualCacheData.rate!=undefined && visualCacheData.rate!=''){
rate = visualCacheData.rate;
}
}else{
var mPoint = arr.rows[i].mPoint;
if(mPoint!=null && mPoint!=undefined && mPoint!=''){
if(mPoint.parmvalue!=null && mPoint.parmvalue!=undefined && mPoint.parmvalue!=''){
value = mPoint.parmvalue;
}
if(mPoint.alarmmax!=null && mPoint.alarmmax!=undefined && mPoint.alarmmax!=''){
dataMax = mPoint.alarmmax;
}
if(mPoint.numtail!=null && mPoint.numtail!=undefined && mPoint.numtail!=''){
numtail = mPoint.numtail;
}
if(mPoint.measuredt!=null && mPoint.measuredt!=undefined && mPoint.measuredt!=''){
nowdate = mPoint.measuredt;
}
}
}
value = parseFloat(value)*rate;
value = value.toFixed(numtail);
var tableStr='<tr>'+
'<td>'+arr.rows[i].name+'</td>'+
'<td class="'+arr.rows[i].elementCode+'">'+toThousands(value)+'</td>'+
'<td class="nowdate">'+nowdate.substring(11,16)+'</td>'+
'</tr>';
if(arr.rows[i].pid=="monitor_flow"){
$('#monitor_flow').append(tableStr);
}
if(arr.rows[i].pid=="monitor_pressure"){
$('#monitor_pressure').append(tableStr);
}
}
}
});
}
function echarts_line(id,legenddata,seriesdata,selected){
var lifeChart = echarts.getInstanceByDom(document.getElementById(id));
//有的话就获取已有echarts实例的DOM节点。
if (lifeChart != null) { // 如果存在,就进行销毁。
lifeChart.dispose();
}
var option = {
color:color,
tooltip: {
trigger: 'axis'
},
legend: {
data: legenddata,
x:'right',
textStyle: {
color: fontcolor_grey ,
fontSize: 12 ,
},
icon:'roundRect',
selected: selected
},
grid: {
left: '3%',
right: '4%',
bottom: '3%',
containLabel: true
},
xAxis: {
type: 'time',
},
yAxis: {
type: 'value',
axisLine: {
show: true,
},
splitLine: {
show: true,
lineStyle: {
type: 'dashed' ,
}
}
},
series: seriesdata,
};
lifeChart = echarts.init(document.getElementById(id));
lifeChart.setOption(option,true);
lifeChart.on('legendselectchanged', function(obj) {
var selected = obj.selected;
var legend = obj.name;
if(selectedAll.length>0){
for(var s=0;s<selectedAll.length;s++){
if(selectedAll[s].name===legend){
selectedAll[s].flag = selected[legend];
}
}
}
});
}
function echarts_line_top(id,legenddata,seriesdata,selected){
var lifeChart = echarts.getInstanceByDom(document.getElementById(id));
//有的话就获取已有echarts实例的DOM节点。
if (lifeChart != null) { // 如果存在,就进行销毁。
lifeChart.dispose();
}
var option = {
color:[color[5],color[6],color[0]],
tooltip: {
trigger: 'axis'
},
grid: {
left: '3%',
right: '4%',
bottom: '3%',
containLabel: true
},
legend: {
data: legenddata,
x:'right',
textStyle: {
color: fontcolor_grey ,
fontSize: 12 ,
},
icon:'roundRect',
selected: selected
},
xAxis: {
type: 'time',
name:''
},
yAxis: {
type: 'value',
axisLine: {
show: true,
},
max: function (value) {
if(value.max>1){
return Math.floor(value.max*1.3);
}else{
return (value.max+0.2);
}
},
splitLine: {
show: true,
lineStyle: {
type: 'dashed' ,
}
}
},
series: seriesdata,
};
lifeChart = echarts.init(document.getElementById(id));
lifeChart.setOption(option,true);
lifeChart.on('legendselectchanged', function(obj) {
var selected = obj.selected;
var legend = obj.name;
if(selectedAll.length>0){
for(var s=0;s<selectedAll.length;s++){
if(selectedAll[s].name===legend){
selectedAll[s].flag = selected[legend];
}
}
}
});
}
function echarts_bar_right(id,legenddata,seriesdata,titleColor){
var lifeChart = echarts.getInstanceByDom(document.getElementById(id));
//有的话就获取已有echarts实例的DOM节点。
if (lifeChart != null) { // 如果存在,就进行销毁。
lifeChart.dispose();
}
var option = {
color:color,
title: {
text: '月度设备维修次数统计',
textStyle: {
color: titleColor ,
fontSize: 16 ,
},
},
tooltip: {
trigger: 'axis'
},
legend: {
data: legenddata,//['机械设备', '电气设备', '自动化设备', '水质设备'],
top:'30',
x:'right',
textStyle: {
color: fontcolor_grey ,
fontSize: 14 ,
}
},
grid: {
left: '3%',
right: '4%',
bottom: '3%',
top:'85',
containLabel: true
},
xAxis: {
type: 'category',
},
yAxis: {
type: 'value',
name:'次',
axisLine: {
show: true,
},
splitLine: {
show: true,
lineStyle: {
type: 'dashed' ,
}
}
},
series: seriesdata,
};
lifeChart = echarts.init(document.getElementById(id));
lifeChart.setOption(option,true);
}
function doendPie(id,data){
var othVal = 100 - data.value;
var myChart = echarts.init(document.getElementById(id));
var option = {
color: [color_blue_other],
title: {
text: data.value,
subtext: '%',
x: 'center',
y: 'center',
top:'30%',
textStyle: {
fontWeight: 'normal',
color: color_blue,
fontSize: '48'
},
subtextStyle: {
fontWeight: 'normal',
color: color_blue,
fontSize: '16',
verticalAlign :'top'
},
},
legend: {
data:[data.name],
left: '16%',
y: '5%',
icon:'none',
textStyle: {
color: '#a3a9af' ,
lineHeight: 16,
fontSize: 13 ,
fontWeight : 600 ,
},
},
grid: {
top:0,
left:0,
right:0,
bottom:0,
},
series: [{
name: 'Line 1',
type: 'pie',
clockWise: true,
radius: ['50%', '60%'],
center: ['50%', '50%'],
itemStyle: {
normal: {
label: {
show: false
},
labelLine: {
show: false
}
}
},
hoverAnimation: false,
startAngle:90, //起始角度
data: [{
value: data.value,
name: data.name,
itemStyle: {
normal: {
color: color_blue,
label: {
show: false
},
labelLine: {
show: false
}
}
}
}, {
name: '02',
value: othVal
}]
}]
}
myChart.clear();
myChart.setOption(option, true);
}
//添加千分位符合
function toThousands(num) {
var nums =num;
var re=/\d{1,3}(?=(\d{3})+$)/g;
var n1=0;
if(nums!=null && nums!='' && nums!=undefined){
n1=nums.toString().replace(/^(\d+)((\.\d+)?)$/,function(s,s1,s2){return s1.replace(re,"$&,")+s2;});
}
return n1;
}
//配置压力、流量
function showMonitor() {
$.post(ext.contextPath + '/smart/monitor.do',{jsp_id:'monitor',unitId:unitId}, function (data) {
$("#monitorDiv").html(data);
openModal("monitorModal")
});
}
$(function () {
left_top_height = $('.left-top').height();
left_middle_height = $('.left-middle').height();
left_bottom_height = $('.left-bottom').height();
center_top_height = $('.center-top').height();
center_middle_height = $('.center-middle').height();
center_bottom_height = $('.center-bottom').height();
right_top_height = $('.right-top').height();
right_middle_height = $('.right-middle').height();
right_bottom_height = $('.right-bottom').height();
showElement();
/*$('.mask-beijiang').click(function(){
parent.changgeCompany("f31c04e44c9548bdaeca9f54c9e982e2","北江水厂","1");
//parent.changgeCompany("7b19e5c1efe94009b6ba777f096f4caa","泵站所","1");;
});*/
bizid = unitId;
jsp_id = $('#jsp_id').val();
$(document).on('click','.center-middle',function(e){
var fun = "mapClick"; // 函数的名称
try {
if($.isFunction(eval(fun))){
var element = this;
mapClick(element,e);
}
} catch(e) {
console.log('mapClick函数不存在!');
}
});
$(document).on('click','.new-element',function(event){
//防止事件冒泡到DOM树上也就是不触发的任何前辈元素上的事件处理函数。
event.stopPropagation();
});
$(document).on('click','.edit-element',function(event){
//防止事件冒泡到DOM树上也就是不触发的任何前辈元素上的事件处理函数。
event.stopPropagation();
var element = this;
editElement(element,event);
});
$(document).on('click','.btn-box-tool',function(event){
//防止事件冒泡到DOM树上也就是不触发的任何前辈元素上的事件处理函数。
event.stopPropagation();
var widget = $(this).data("widget");
if(widget=='remove'){
$(this).parent().parent().parent().remove();
getImgData();
}
});
$('#switch').bootstrapSwitch({ //初始化按钮
onText:" ",
offText:" ",
onColor:"primary",
offColor:"default",
size:"mini",
handleWidth:10,
labelWidth:20,
onSwitchChange:function(event,state){
if(state==true){
console.log("深色");
addAndRemove4Class('content-wrapper-bg-grey','content-wrapper-bg-darkblue');
addAndRemove4Class('content-wrapper-bg-white','content-wrapper-bg-transparent');
//addAndRemove4Class('font-color-lightBlack','font-color-white');
addAndRemove4Class('font-color-lightBlue','font-color-blue');
addAndRemove4Class('font-color-smalt','font-color-dark-blue');
addAndRemove4Class('font-color-lightWhite','font-color-black');
addAndRemove4Class('font-color-light-blue','font-color-dark-white');
addAndRemove4Class('bgcolor-white','bgcolor-blue');
addAndRemove4Class('right-title-blue','right-title');
addAndRemove4Class('right-title-long-blue','right-title-long');
addAndRemove4Class('waterDataLight','waterData');
addAndRemove4Class('modularLight','modular');
addAndRemove4Class('table_font_black','table_font_white');
fontcolor_black = '#0d2336';
color_blue = '#36FFF9';
color_blue_other = '#1D4F6D';
titleColor = '#ffffff';
img_name = '';
$('.switch-title').html("深色");
}else{
console.log("浅色");
addAndRemove4Class('content-wrapper-bg-darkblue','content-wrapper-bg-grey');
addAndRemove4Class('content-wrapper-bg-transparent','content-wrapper-bg-white');
addAndRemove4Class('font-color-black','font-color-lightWhite');
addAndRemove4Class('font-color-blue','font-color-lightBlue');
addAndRemove4Class('font-color-dark-blue','font-color-smalt');
addAndRemove4Class('font-color-dark-white','font-color-light-blue');
addAndRemove4Class('bgcolor-blue','bgcolor-white');
addAndRemove4Class('right-title','right-title-blue');
addAndRemove4Class('right-title-long','right-title-long-blue');
addAndRemove4Class('waterData','waterDataLight');
addAndRemove4Class('modular','modularLight');
addAndRemove4Class('table_font_white','table_font_black');
fontcolor_black = '#fff';
color_blue = '#1790FF';
color_blue_other = '#E9E9E9';
titleColor = '#0d2336';
img_name = '_blue';
$('.switch-title').html("浅色");
}
getData(bizid);
}
});
echarts_line('left-middle-line',[],[]);
echarts_bar_right('right-bottom-bar',[],[],titleColor);
getData(bizid);
//setInterval("getData('"+bizid+"')",600000);
$(window).resize(function() {
showElement();
getData(bizid);
});
});
function showElement(){
height = $(window).height();
width = $(window).width();
if(height<(global_height*0.1)){
height = global_height;
}
if(width<(global_width*0.1)){
width = global_width;
}
heightV = height/1080;
widthV = width/1690;
var proportion = height/1080;
$('.left-top').height(left_top_height*proportion);
$('.left-top-line').height($('.left-top').height()-30);
$('.left-middle').height(left_middle_height*proportion);
$('.left-middle-line').height($('.left-middle').height()-30);
$('.left-bottom').height(left_bottom_height*proportion);
$('.left-bottom-line').height($('.left-bottom').height()-30);
$('.left-bottom-line').width($('.left-bottom').width());
$('.center-top').height(center_top_height*proportion);
$('.center-middle').height(center_middle_height*proportion);
$('.center-middle').css('background-size',(695*proportion)+'px '+(830*proportion)+'px');
$('.center-bottom').height(center_bottom_height*proportion);
$('.center-bottom-line').height($('.center-bottom').height()-30);
$('.right-top').height(right_top_height*proportion);
$('.right-bottom-bar').height($('.right-top').height()-150*proportion);
$('.right-top-pie').height($('.right-top').height()*0.45);
$('.right-top-pie').width($('.right-top').width()*0.5);
$('.right-bottom').height(right_bottom_height*proportion);
}
function showLine(ele) {
var mpcode = $(ele).attr("data-mpcode");
$.post(ext.contextPath + '/data/showOnlyLine.do', {mpcode: mpcode, unitId: unitId}, function (data2) {
$("#subDiv").html(data2);
openModal('curveModal');
});
}