Files
SIPAIIS_WMS_JSSW/WebRoot/JS/mainPage.js

933 lines
37 KiB
JavaScript
Raw Normal View History

2026-01-16 14:13:44 +08:00
//定制化显示块-安全、公告
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');
}