Files
SIPAIIS_WMS_JSSW/WebRoot/JS/mainPage.js
2026-01-16 14:13:44 +08:00

933 lines
37 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

//定制化显示块-安全、公告
var mainPageType_Security='SecurityType';
var mainPageType_Info='InfoType';
var initialProduceGaugeItem =function(id,mPoint){
var myChart = echarts.init(document.getElementById(id));
// 指定图表的配置项和数据
var alarmPersentMin =mPoint.forcemin;
var alarmPersentMax =mPoint.forcemax;
if(mPoint.alarmmin!=0 && mPoint.forcemax!=0 && mPoint.forcemax!=mPoint.alarmmin){
alarmPersentMin=(mPoint.alarmmin-mPoint.forcemin)/(mPoint.forcemax-mPoint.forcemin)
}
if(mPoint.alarmmin!=0 && mPoint.forcemax!=0 && mPoint.forcemax!=mPoint.alarmmin){
alarmPersentMax=(mPoint.alarmmax-mPoint.forcemin)/(mPoint.forcemax-mPoint.forcemin)
}
var option = {
title: {
text: mPoint.parmname, //标题文本内容
left: 'center',
},
toolbox: { //可视化的工具箱
show: false,
feature: {
restore: { //重置
},
saveAsImage: {//保存图片
}
}
},
tooltip: { //弹窗组件
formatter: "{a} <br/>{b} : {c}"
},
series: [{
type: 'gauge',
radius: '90%',
center: ["50%", "60%"],
min:mPoint.forcemin,
max:mPoint.forcemax,
axisLine: {
lineStyle: {
color: [
[alarmPersentMin, '#ddd'],
[alarmPersentMax, '#66D99F'],
[1, '#F35A4A']
],
width: 15 // 这个是修改宽度的属性
}
},
axisTick: { // 坐标轴小标记
length: 15, // 属性length控制线长
lineStyle: { // 属性lineStyle控制线条样式
color: 'auto'
}
},
axisLabel: { // 刻度标签。
show: false,
},
splitLine: { // 分隔线
length: 20, // 属性length控制线长
lineStyle: { // 属性lineStyle详见lineStyle控制线条样式
color: 'auto'
}
},
pointer: { // 仪表盘指针。
show: true, // 是否显示指针,默认 true。
length: "70%", // 指针长度,可以是绝对数值,也可以是相对于半径的百分比,默认 80%。
width: 5, // 指针宽度,默认 8。
},
detail: {formatter:'{value}'},
data: [{value: mPoint.parmvalue, name: mPoint.unit}]
}]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
}
var initialProduceBarItem =function(id,mPoint){
/* <div id="bar1" style="height:240px;"> </div> */
var myChart = echarts.init(document.getElementById(id));
//$.post(ext.contextPath + '/work/mpoint/getHistory.do', {ids:mPoint.mpointcode,sdt:beginTimeStore,edt:endTimeStore,bizId:$("#bizId").val(),timeInterval:60} , function(data) {
$.post(ext.contextPath + '/work/mpoint/getHistory.do', {ids:mPoint.mpointcode,sdt:beginTimeStore,edt:endTimeStore,bizId:bizId,timeInterval:60} , function(data) {
//var labels=[];
var thisIds=[];
var chartData=[];
$.each(data[0], function(index, obj) {
//labels.push("("+obj.measuredt.substring(8,10)+")"+obj.measuredt.substring(11,16));
//thisIds.push(obj.measuredt.substring(10,13));
thisIds.push(obj.measuredt.substring(11,16));
chartData.push(parseFloat(obj.parmvalue));
});
myChart.setOption({
title: {
text:mPoint.parmname,
left: 'center',
},
tooltip: {},
grid:{
show:false, //---是否显示直角坐标系网格
top:40,
bottom:20, //---相对位置top\bottom\left\right
containLabel:false, //---grid 区域是否包含坐标轴的刻度标签
},
xAxis: {
/* axisLine: {
lineStyle: {
color: '#FFF',//左边线的颜色
}
}, */
data: thisIds,
/* axisLabel : {//坐标轴刻度标签的相关设置。
rotate:"-45"
}*/
},
yAxis: {
/* axisLine: {
lineStyle: {
color: '#FFF',//左边线的颜色
}
}, */
},
series: [{
name: mPoint.unit,
type: 'bar',
markPoint: {
data: [
{type: 'max', name: '最大值', itemStyle: {
color: 'red'
}},
{type: 'min', name: '最小值', itemStyle: {
color: 'green'
}}
]
},
itemStyle: {
normal: {
color:'#5FAEE3'
}
},
data: chartData
}]
});
},'json');
}
var initialProduceLineItem =function(id,mPoint){
var myChart = echarts.init(document.getElementById(id));
//$.post(ext.contextPath + '/work/mpoint/getHistory.do', {ids:mPoint.mpointcode,sdt:beginTimeStore,edt:endTimeStore,bizId:$("#bizId").val(),timeInterval:60} , function(data) {
$.post(ext.contextPath + '/work/mpoint/getHistory.do', {ids:mPoint.mpointcode,sdt:beginTimeStore,edt:endTimeStore,bizId:bizId,timeInterval:60} , function(data) {
//var labels=[];
var thisIds=[];
var chartData=[];
$.each(data[0], function(index, obj) {
//labels.push("("+obj.measuredt.substring(8,10)+")"+obj.measuredt.substring(11,16));
//thisIds.push(obj.measuredt.substring(10,13));
thisIds.push(obj.measuredt.substring(11,16));
chartData.push(parseFloat(obj.parmvalue));
});
console.log("thisIds==========="+thisIds);
console.log("chartData==========="+chartData);
myChart.setOption({
title: {
text:mPoint.parmname,
left: 'center',
},
tooltip: {},
grid:{
show:false, //---是否显示直角坐标系网格
top:40,
bottom:20, //---相对位置top\bottom\left\right
containLabel:false, //---grid 区域是否包含坐标轴的刻度标签
},
xAxis: {
/* axisLine: {
lineStyle: {
color: '#FFF',//左边线的颜色
}
}, */
data: thisIds,
/* axisLabel : {//坐标轴刻度标签的相关设置。
rotate:"-45"
}*/
},
yAxis: {
/* axisLine: {
lineStyle: {
color: '#FFF',//左边线的颜色
}
}, */
},
series: [{
name: mPoint.unit,
type: 'line',
markLine: {
data: [
{name: '超限最大', yAxis: mPoint.alarmmax, lineStyle: {
color: 'red'
}},
{name: '超限最小', yAxis: mPoint.alarmmin, lineStyle: {
color: 'orange'
}}
]
},
itemStyle: {
normal: {
// 随机显示
color:'#5FAEE3'
}
},
data: chartData
}]
});
},'json');
}
var initialEfficiencyGaugeItem =function(id,mPoint){
var myChart = echarts.init(document.getElementById(id));
// 指定图表的配置项和数据
var alarmPersentMin =mPoint.forcemin;
var alarmPersentMax =mPoint.forcemax;
if(mPoint.alarmmin!=0 && mPoint.forcemax!=0 && mPoint.forcemax!=mPoint.alarmmin){
alarmPersentMin=(mPoint.alarmmin-mPoint.forcemin)/(mPoint.forcemax-mPoint.forcemin)
}
if(mPoint.alarmmin!=0 && mPoint.forcemax!=0 && mPoint.forcemax!=mPoint.alarmmin){
alarmPersentMax=(mPoint.alarmmax-mPoint.forcemin)/(mPoint.forcemax-mPoint.forcemin)
}
var option = {
title: {
text: mPoint.parmname, //标题文本内容
left: 'center',
},
toolbox: { //可视化的工具箱
show: false,
feature: {
restore: { //重置
},
saveAsImage: {//保存图片
}
}
},
tooltip: { //弹窗组件
formatter: "{a} <br/>{b} : {c}"
},
series: [{
type: 'gauge',
radius: '75%',
center: ["50%", "65%"],
min:mPoint.forcemin,
max:mPoint.forcemax,
axisLine: {
lineStyle: {
color: [
[alarmPersentMin, '#ddd'],
[alarmPersentMax, '#66D99F'],
[1, '#F35A4A']
],
width: 15 // 这个是修改宽度的属性
}
},
axisTick: { // 坐标轴小标记
length: 15, // 属性length控制线长
lineStyle: { // 属性lineStyle控制线条样式
color: 'auto'
}
},
axisLabel: { // 刻度标签。
show: false,
},
splitLine: { // 分隔线
length: 20, // 属性length控制线长
lineStyle: { // 属性lineStyle详见lineStyle控制线条样式
color: 'auto'
}
},
pointer: { // 仪表盘指针。
show: true, // 是否显示指针,默认 true。
length: "70%", // 指针长度,可以是绝对数值,也可以是相对于半径的百分比,默认 80%。
width: 5, // 指针宽度,默认 8。
},
detail: {formatter:'{value}'},
data: [{value: mPoint.parmvalue, name: mPoint.unit}]
}]
};
// 使用刚指定的配置项和数据显示图表。
myChart.setOption(option);
}
var initialSecurityBarItem =function(id,bizId,dateSpan){
$.post(ext.contextPath + '/work/scadaAlarm/getAlarmNumberByDateSpan.do', {companyId:bizId,dateSpan:dateSpan} , function(data) {
var dateItems= new Array;
var alarmItems= new Array;
var alarmUnRecoverItems= new Array;
$.each(data,function(i,item){
dateItems.push(item.name);
alarmItems.push(item.num+item.num_recover);
alarmUnRecoverItems.push(item.num);
});
var myChart = echarts.init(document.getElementById(id));
myChart.setOption({
title : {
text: '报警统计',
},
tooltip : {
trigger: 'axis'
},
legend: {
data:['报警量','未解除报警量']
},
toolbox: {
show : false,
},
calculable : true,
xAxis : [
{
type : 'category',
data : dateItems
}
],
yAxis : [
{
type : 'value'
}
],
series : [
{
name:'报警量',
type:'bar',
data:alarmItems,
markPoint : {
data : [
{type : 'max', name: '最大值'},
{type : 'min', name: '最小值'}
]
},
markLine : {
data : [
{type : 'average', name: '平均值'}
]
},
itemStyle: {
normal: {
color:'#66D99F'
}
},
},
{
name:'未解除报警量',
type:'bar',
data:alarmUnRecoverItems,
markPoint : {
data : [
{type : 'max', name: '最大值'},
{type : 'min', name: '最小值'}
]
},
markLine : {
data : [
{type : 'average', name : '平均值'}
]
},
itemStyle: {
normal: {
color:'orange'
}
},
}
]
});
},'json');
}
var initialProduceBase =function(id,bizId,mainPageTypeId){
$('#'+id).empty();
/* var domItem ='<div class="info-box bg-green" style="height: 50px">'+
'<span class="info-box-icon" ><i class="ion ion-ribbon-a"></i></span>'+
'<div class="info-box-content">'+
'<span class="info-box-number" style="margin-top:10px;">优<i class="ion ion-arrow-up-a pull-right"></i></span>'+
'<div class="progress">'+
'<div class="progress-bar" style="width: 100%"></div>'+
'</div> '+
'<span class="progress-description" style="text-align:right;">生产</span>'+
'</div>'+
'</div>';*/
//$('#'+id).append(domItem);
$.post(ext.contextPath +"/base/mainPage/getAllList.do",{bizId:bizId,type:mainPageTypeId,showWay:ChartType_Base},function(data){
if(data.length>0){
$.each(data,function(index,item){
var domItem ='<div class="info-box bg-light-blue" style="height: 50px">'+
'<span class="info-box-icon" ><i class="ion ion-waterdrop"></i></span>'+
'<div class="info-box-content">'+
'<span class="info-box-number" style="margin-top:10px;">'+item.mPoint.parmvalue+'<i class="ion ion-arrow-up-a pull-right"></i></span>'+
'<div class="progress">'+
'<div class="progress-bar" style="width: 100%"></div>'+
'</div> '+
'<span class="progress-description" style="text-align:right;">'+item.mPoint.parmname+'</span>'+
'</div>'+
'</div>';
$('#'+id).append(domItem);
})
}
},'json');
}
var initialProduceGauge =function(id,bizId,mainPageTypeId){
$('#'+id).empty();
$.post(ext.contextPath +"/base/mainPage/getAllList.do",{bizId:bizId,type:mainPageTypeId,showWay:ChartType_Gauge},function(data){
if(data.length>0 && data.length<13){
var colspan=parseInt(12/data.length);
$.each(data,function(index,item){
var domItem ='<div class="col-lg-'+colspan+' col-md-'+colspan+'">'
+'<div id="produceGauge'+mainPageTypeId+index+1+'" style="height:200px;"></div>'
+'</div>';
$('#'+id).append(domItem);
initialProduceGaugeItem('produceGauge'+mainPageTypeId+index+1,item.mPoint);
})
}
},'json');
}
var initialProduceBarAndLine =function(id,bizId,mainPageTypeId){
$('#'+id).empty();
$.post(ext.contextPath +"/base/mainPage/getAllList.do",{bizId:bizId,type:mainPageTypeId,showWay:ChartType_Bar+','+ChartType_Line},function(data){
if(data.length>0 && data.length<13){
var colspan=parseInt(12/data.length);
$.each(data,function(index,item){
var index_=index+1;
var domItem ='<div class="col-lg-'+colspan+' col-md-'+colspan+'">'
+'<div id="produce'+mainPageTypeId+item.showWay+index_+'" style="height:200px;"></div>'
+'</div>';
$('#'+id).append(domItem);
switch(item.showWay){
case ChartType_Bar:
initialProduceBarItem('produce'+mainPageTypeId+item.showWay+index_,item.mPoint);
break;
case ChartType_Line:
initialProduceLineItem('produce'+mainPageTypeId+item.showWay+index_,item.mPoint);
break;
}
})
}
},'json');
}
var initialEfficiencyBaseItem =function(id,mPoint){
$('#'+id).empty();
var domItem =
'<div class="info-box bg-light-blue" style="height: 50px">'+
'<span class="info-box-icon" ><i class="ion ion-waterdrop"></i></span>'+
'<div class="info-box-content">'+
'<span class="info-box-number" style="margin-top:10px;">'+mPoint.parmvalue+'<i class="ion ion-arrow-up-a pull-right"></i></span>'+
'<div class="progress">'+
'<div class="progress-bar" style="width: 100%"></div>'+
'</div> '+
'<span class="progress-description" style="text-align:right;">'+mPoint.parmname+'</span>'+
'</div>'+
'</div>';
$('#'+id).append(domItem);
}
var initialEfficiencyBase =function(id,bizId,mainPageTypeId){
$('#'+id).empty();
$.post(ext.contextPath +"/base/mainPage/getAllList.do",{bizId:bizId,type:mainPageTypeId,showWay:ChartType_Base},function(data){
if(data.length>0 && data.length<13){
var colspan=parseInt(12/(data.length));
$.each(data,function(index,item){
var index_=index+1;
var itemId =item.type+item.showWay+index_;
var domItem ='<div class="col-lg-'+colspan+' col-md-'+colspan+'">'+
'<div class="info-box bg-light-blue" style="height: 50px">'+
'<span class="info-box-icon" ><i class="ion ion-waterdrop"></i></span>'+
'<div class="info-box-content">'+
'<span class="info-box-number" style="margin-top:10px;">'+item.mPoint.parmvalue+'<i class="ion ion-arrow-up-a pull-right"></i></span>'+
'<div class="progress">'+
'<div class="progress-bar" style="width: 100%"></div>'+
'</div> '+
'<span class="progress-description" style="text-align:right;">'+item.mPoint.parmname+'</span>'+
'</div>'+
'</div>'+
'</div>';
$('#'+id).append(domItem);
})
}
},'json');
}
var initialEfficiencyGauge =function(id,bizId,mainPageTypeId){
$('#'+id).empty();
$.post(ext.contextPath +"/base/mainPage/getAllList.do",{bizId:bizId,type:mainPageTypeId,showWay:ChartType_Gauge},function(data){
if(data.length>0 && data.length<13){
var colspan=parseInt(12/data.length);
$.each(data,function(index,item){
var itemId =item.type+mainPageTypeId+item.showWay+index;
var domItem ='<div id='+itemId+' style="height:200px;"></div>';
$('#'+id).append(domItem);
initialEfficiencyGaugeItem(itemId,item.mPoint);
})
}
},'json');
}
/**
* 初始化默认块结构
*/
var initialVerticalBlock =function(id,bizId,mainPageTypeId){
$('#'+id).empty();
var showWay =ChartType_Base+","+ChartType_Gauge+','+ChartType_Line+','+ChartType_Bar;
$.post(ext.contextPath +"/base/mainPage/getAllList.do",{bizId:bizId,type:mainPageTypeId,showWay:showWay},function(data){
console.info(data);
if(data.length>0 && data.length<13){
var colspan=parseInt(12/data.length);
$.each(data,function(index,item){
//var itemId =mainPageTypeId+index;
var itemId =item.type+mainPageTypeId+item.showWay+index;
var domItem ='<div id='+itemId+' " style="height:200px;"></div>';
$('#'+id).append(domItem);
switch(item.showWay){
case ChartType_Gauge:
initialProduceGaugeItem(itemId,item.mPoint);
break;
case ChartType_Line:
initialProduceLineItem(itemId,item.mPoint);
break;
case ChartType_Bar:
initialProduceBarItem(itemId,item.mPoint);
break;
default :
initialEfficiencyBaseItem(itemId,item.mPoint);
}
})
}
},'json');
}
var initialHorizontalBlock =function(id,bizId,mainPageTypeId){
$('#'+id).empty();
var showWay =ChartType_Base+","+ChartType_Gauge+','+ChartType_Line+','+ChartType_Bar;
$.post(ext.contextPath +"/base/mainPage/getAllList.do",{bizId:bizId,type:mainPageTypeId,showWay:showWay},function(data){
console.info(data);
if(data.length>0 && data.length<13){
var colspan=parseInt(12/data.length);
$.each(data,function(index,item){
//var itemId =item.type+mainPageTypeId+item.showWay+index;
var itemId =item.type+mainPageTypeId+item.showWay+index;
var domItem ='<div id='+itemId+' class="col-lg-'+colspan+' col-md-'+colspan+'" style="height:200px;"></div>';
$('#'+id).append(domItem);
switch(item.showWay){
case ChartType_Gauge:
initialProduceGaugeItem(itemId,item.mPoint);
break;
case ChartType_Line:
initialProduceLineItem(itemId,item.mPoint);
break;
case ChartType_Bar:
initialProduceBarItem(itemId,item.mPoint);
break;
default :
initialEfficiencyBaseItem(itemId,item.mPoint);
}
})
}
},'json');
}
var initialEfficiencyBarAndLine =function(id,bizId,mainPageTypeId){
$('#'+id).empty();
$.post(ext.contextPath +"/base/mainPage/getAllList.do",{bizId:bizId,type:mainPageTypeId,showWay:ChartType_Bar+','+ChartType_Line},function(data){
if(data.length>0 && data.length<13){
var colspan=parseInt(12/data.length);
$.each(data,function(index,item){
var index_=index+1;
var itemId =item.type+mainPageTypeId+item.showWay+index_;
var domItem ='<div class="col-lg-'+colspan+' col-md-'+colspan+'">'
+'<div id="'+itemId+'" style="height:200px;"></div>'
+'</div>';
$('#'+id).append(domItem);
switch(item.showWay){
case ChartType_Bar:
initialProduceBarItem(itemId,item.mPoint);
break;
case ChartType_Line:
initialProduceLineItem(itemId,item.mPoint);
break;
}
})
}
},'json');
}
var initialSecurityBase =function(id){
$('#'+id).empty();
$.post(ext.contextPath +"/base/mainPage/getAllList.do",{bizId:$("#bizId").val(),type:'${MainPageType_Security}',showWay:'${ChartType_Base}'},function(data){
if(data.length>0 ){//&& data.length<13
var colspan=4;//parseInt(12/(data.length+1));
var domItem ='<div class="col-lg-'+colspan+' col-md-'+colspan+'">'+
'<div class="info-box bg-orange" style="height: 50px">'+
'<span class="info-box-icon" ><i class="ion ion-ribbon-a"></i></span>'+
'<div class="info-box-content">'+
'<span class="info-box-number" style="margin-top:10px;">良<i class="ion ion-arrow-down-a pull-right"></i></span>'+
'<div class="progress">'+
'<div class="progress-bar" style="width: 100%"></div>'+
'</div> '+
'<span class="progress-description" style="text-align:right;">安全</span>'+
'</div>'+
'</div>'+
'</div>';
$('#'+id).append(domItem);
$.each(data,function(index,item){
var index_=index+1;
var itemId =item.type+item.showWay+index_;
var domItem ='<div class="col-lg-'+colspan+' col-md-'+colspan+'">'+
'<div class="info-box bg-light-blue" style="height: 50px">'+
'<span class="info-box-icon" ><i class="ion ion-waterdrop"></i></span>'+
'<div class="info-box-content">'+
'<span class="info-box-number" style="margin-top:10px;">'+item.mPoint.parmvalue+'<i class="ion ion-arrow-up-a pull-right"></i></span>'+
'<div class="progress">'+
'<div class="progress-bar" style="width: 100%"></div>'+
'</div> '+
'<span class="progress-description" style="text-align:right;">'+item.mPoint.parmname+'</span>'+
'</div>'+
'</div>'+
'</div>';
$('#'+id).append(domItem);
})
}
},'json');
}
var initialSecurityBarAndLine =function(id,bizId,dateSpan){
$('#'+id).empty();
var domItem ='<div class="col-lg-12 col-md-12">'
+'<div id="securitybar1" style="height:400px;"></div>'
+'</div>';
$('#'+id).append(domItem);
initialSecurityBarItem("securitybar1",bizId,dateSpan);
}
//生产图表展示div
function productShowDiv(containerId,jsonstr,index){
var mainPageType = JSON.parse(jsonstr);
var productDom=
'<div class="col-lg-'+mainPageType.classlg+' col-xs-12">'+
'<div class="box box-primary" style="padding-bottom:10px" id="'+mainPageType.id+'">'+
'<div class="box-header ui-sortable-handle">'+
' <i class="fa fa-industry"></i>'+
' <h3 class="box-title">'+mainPageType.title+'</h3>'+
' <div class="box-tools pull-right">'+
' <button type="button" class="btn btn-box-tool" data-widget="collapse"><i class="fa fa-minus"></i>'+
' </button>'+
' <button type="button" class="btn btn-box-tool" data-widget="remove"><i class="fa fa-times"></i>'+
' </button>'+
' </div>'+
'</div>'+
'<!-- /.box-header -->'+
'<div class="box-body">'+
' <div class="col-lg-3 col-md-3" id="produceBase'+index+'"></div>'+
' <div class="col-lg-9 col-md-9">'+
' <div id="produceGauge'+index+'"></div>'+
' <div id="produceBarALine'+index+'"></div>'+
' </div>'+
'</div>'+
'</div>'+
'</div>';
$('#'+containerId).append(productDom);
$('#'+mainPageType.id).boxWidget();
$('#'+mainPageType.id).on('removed.boxwidget',function(){setTimeout(function(){refreshMainPagePosition(containerId);}, 200);});//需要延时才能确保box被清除
initialProduceBase('produceBase'+index,mainPageType.bizId,mainPageType.id);
initialProduceGauge('produceGauge'+index,mainPageType.bizId,mainPageType.id);
initialProduceBarAndLine('produceBarALine'+index,mainPageType.bizId,mainPageType.id);
}
//效率图表展示div
function efficiencyShowDiv(containerId,jsonstr,index){
var mainPageType = JSON.parse(jsonstr);
var efficiencyDom=
'<div class="col-lg-'+mainPageType.classlg+' col-xs-12">'+
'<div class="box box-primary" style="padding-bottom:10px" id="'+mainPageType.id+'">'+
' <div class="box-header ui-sortable-handle">'+
' <i class="fa fa-dashboard"></i>'+
' <h3 class="box-title">'+mainPageType.title+'</h3>'+
' <div class="box-tools pull-right">'+
' <button type="button" class="btn btn-box-tool" data-widget="collapse" ><i class="fa fa-minus"></i>'+
' </button>'+
' <button type="button" class="btn btn-box-tool" data-widget="remove" ><i class="fa fa-times"></i>'+
' </button>'+
' </div>'+
' </div>'+
' <!-- /.box-header -->'+
' <div class="box-body">'+
' <div id="efficiencyBase'+index+'"></div>'+
' <div>'+
' <div class="col-lg-3 col-md-3" id="efficiencyGauge'+index+'"></div>'+
' <div class="col-lg-9 col-md-9" id="efficiencyBarALine'+index+'"></div>'+
' </div>'+
' </div>'+
'</div>'+
'</div>';
$('#'+containerId).append(efficiencyDom);
$('#'+mainPageType.id).boxWidget();
$('#'+mainPageType.id).on('removed.boxwidget',function(){setTimeout(function(){refreshMainPagePosition(containerId);}, 200);});//需要延时才能确保box被清除
initialEfficiencyBase('efficiencyBase'+index,mainPageType.bizId,mainPageType.id);
initialEfficiencyGauge('efficiencyGauge'+index,mainPageType.bizId,mainPageType.id);
initialEfficiencyBarAndLine('efficiencyBarALine'+index,mainPageType.bizId,mainPageType.id)
}
function verticalBlockShowDiv(containerId,jsonstr,index){
var mainPageType = JSON.parse(jsonstr);
var efficiencyDom=
'<div class="col-lg-'+mainPageType.classlg+' col-xs-12">'+
'<div class="box box-primary" style="padding-bottom:10px" id="'+mainPageType.id+'">'+
' <div class="box-header ui-sortable-handle">'+
' <i class="fa fa-area-chart"></i>'+
' <h3 class="box-title">'+mainPageType.title+'</h3>'+
' <div class="box-tools pull-right">'+
' <button type="button" class="btn btn-box-tool" data-widget="collapse"><i class="fa fa-minus"></i>'+
' </button>'+
' <button type="button" class="btn btn-box-tool" data-widget="remove"><i class="fa fa-times"></i>'+
' </button>'+
' </div>'+
' </div>'+
' <!-- /.box-header -->'+
' <div class="box-body">'+
' <div id="'+mainPageType.id+index+'"></div>'+
' </div>'+
'</div>'+
'</div>';
$('#'+containerId).append(efficiencyDom);
$('#'+mainPageType.id).boxWidget();
$('#'+mainPageType.id).on('removed.boxwidget',function(){setTimeout(function(){refreshMainPagePosition(containerId);}, 200);});//需要延时才能确保box被清除
initialVerticalBlock(mainPageType.id+index,mainPageType.bizId,mainPageType.id);
}
function horizontalBlockShowDiv(containerId,jsonstr,index){
var mainPageType = JSON.parse(jsonstr);
var efficiencyDom=
'<div class="col-lg-'+mainPageType.classlg+' col-xs-12">'+
'<div class="box box-primary" style="padding-bottom:10px" id="'+mainPageType.id+'">'+
' <div class="box-header ui-sortable-handle">'+
' <i class="fa fa-area-chart"></i>'+
' <h3 class="box-title">'+mainPageType.title+'</h3>'+
' <div class="box-tools pull-right">'+
' <button type="button" class="btn btn-box-tool" data-widget="collapse"><i class="fa fa-minus"></i>'+
' </button>'+
' <button type="button" class="btn btn-box-tool" data-widget="remove"><i class="fa fa-times"></i>'+
' </button>'+
' </div>'+
' </div>'+
' <!-- /.box-header -->'+
' <div class="box-body">'+
' <div id="'+mainPageType.id+index+'"></div>'+
' </div>'+
'</div>'+
'</div>';
$('#'+containerId).append(efficiencyDom);
$('#'+mainPageType.id).boxWidget();
$('#'+mainPageType.id).on('removed.boxwidget',function(){setTimeout(function(){refreshMainPagePosition(containerId);}, 200);});//需要延时才能确保box被清除
initialHorizontalBlock(mainPageType.id+index,mainPageType.bizId,mainPageType.id);
}
//安全图表展示div
function securityShowDiv(containerId,bizId,index){
var securityDom=
'<div class="col-lg-8 col-xs-12">'+
'<div class="box box-primary" style="padding-bottom:10px" id="'+mainPageType_Security+'">'+
' <div class="box-header ui-sortable-handle">'+
' <i class="fa fa-shield"></i>'+
' <h3 class="box-title">安全</h3>'+
' <div class="box-tools pull-right">'+
' <button type="button" class="btn btn-box-tool" data-widget="collapse"><i class="fa fa-minus"></i>'+
' </button>'+
' <button type="button" class="btn btn-box-tool" data-widget="remove"><i class="fa fa-times"></i>'+
' </button>'+
' </div>'+
' </div>'+
' <!-- /.box-header -->'+
' <div class="box-body" style="overflow: hidden; width: auto;">'+
' <div id="securityBase"></div>'+
' <div>'+
' <div class="col-lg-12 col-md-12" id="securityBarALine"></div>'+
' </div>'+
' </div>'+
'</div>'+
'</div>';
$('#'+containerId).append(securityDom);
$('#'+mainPageType_Security).boxWidget();
$('#'+mainPageType_Security).on('removed.boxwidget',function(){setTimeout(function(){refreshMainPagePosition(containerId);}, 200);});//需要延时才能确保box被清除
initialSecurityBarAndLine('securityBarALine',bizId,dateSpan);
}
//公告展示div
function infoShowDiv(containerId,bizId,index){
var infoDom=
'<div class="col-lg-4 col-xs-12">'+
' <div class="box box-primary" style="padding-bottom:10px;display:none" id="'+mainPageType_Info+'">'+
' <div class="box-header ui-sortable-handle">'+
' <i class="ion ion-clipboard"></i>'+
' <h3 class="box-title">公告</h3>'+
' <div class="box-tools pull-right">'+
' <button type="button" class="btn btn-box-tool" data-widget="collapse"><i class="fa fa-minus"></i>'+
' </button>'+
' <button type="button" class="btn btn-box-tool" data-widget="remove"><i class="fa fa-times"></i>'+
' </button>'+
' </div> '+
' </div>'+
' <!-- /.box-header -->'+
' <div class="box-body" id="infoBoxBody"'+
' style="overflow: hidden; width: auto;">'+
' </div>'+
' <div class="box-footer">'+
' <a class="pull-right " onclick="goToLocation(\'info/showViewList.do\')" style="cursor:pointer ">查看更多'+
' <i class="fa fa-arrow-circle-right"></i></a>'+
' </div>'+
' </div>'+
'</div>';
$('#'+containerId).append(infoDom);
$('#'+mainPageType_Info).boxWidget();
$('#'+mainPageType_Info).on('removed.boxwidget',function(){setTimeout(function(){refreshMainPagePosition(containerId);}, 200);});//需要延时才能确保box被清除
//获取所有公告数量
$.post(ext.contextPath +"/info/getInfos.do",function(data){
if(data=='' || data.lenth==0){
$('#'+mainPageType_Info).hide();
}else{
$('#'+mainPageType_Info).show();
}
$('#infoBoxBody').html(data);
});
//初始化slimScroll
/* $('#'+mainPageType_Info).slimScroll({
infoBoxBody: '270px'
});*/
}
/**
* 保存布局
*
*/
var refreshMainPagePosition = function(containerId){
var $mainPageTypeDoms =$("#"+containerId).children();
var mainPageTypeIds="";
console.info($("#"+containerId).children())
$.each($mainPageTypeDoms,function(index,item){
var id=$(item).children('.box:first').attr('id');
console.info(id)
if($(item).children('.box:first').attr('id')!=undefined){
if(mainPageTypeIds!=''){
mainPageTypeIds+=",";
}
mainPageTypeIds+=$(item).children('.box:first').attr('id');
}
});
$.post(ext.contextPath +"/base/mainPageTypeUser/saveAndUpdate.do",{mainPageTypeIds:mainPageTypeIds},function(data){
},'json');
}
/**
* 默认初始化首页块
* */
var initialDefaultMainPageType =function(containerId,bizId,userId){
$.post(ext.contextPath +"/base/mainPageType/getAllList.do",{bizId:bizId},function(data){
$.each(data,function(index,item){
var jsonstr = JSON.stringify(item);
switch(item.style){
case 'produce':
productShowDiv(containerId,jsonstr,index);
break;
case 'efficiency':
efficiencyShowDiv(containerId,jsonstr,index);
break;
case 'verticalBlock':
verticalBlockShowDiv(containerId,jsonstr,index);
break;
default:
horizontalBlockShowDiv(containerId,jsonstr,index);
}
});
//securityShowDiv(containerId,bizId);
infoShowDiv(containerId,bizId);
},'json');
}
/**
* 初始化首页
*/
var initialMainPageType =function(containerId,bizId,userId){
$.post(ext.contextPath +"/base/mainPageTypeUser/getAllList.do",{},function(data){
var mainPageTypeUsers=data;
if(mainPageTypeUsers==null || mainPageTypeUsers.length==0){
initialDefaultMainPageType(containerId,bizId,userId);
}else{
//按用户自定义顺序显示
$.each(mainPageTypeUsers,function(index,item){
switch(item.type){
case mainPageType_Security:
securityShowDiv(containerId,bizId);
break;
case mainPageType_Info:
infoShowDiv(containerId,bizId);
break;
default:
var mainPageType=item.mainPageType;
if(mainPageType!=null){
var jsonstr = JSON.stringify(mainPageType);
switch(mainPageType.style){
case 'produce':
productShowDiv(containerId,jsonstr,index);
break;
case 'efficiency':
efficiencyShowDiv(containerId,jsonstr,index);
break;
case 'verticalBlock':
verticalBlockShowDiv(containerId,jsonstr,index);
break;
default:
horizontalBlockShowDiv(containerId,jsonstr,index);
}
}
}
});
}
},'json');
}