//iqc待检看板
|
var interval_do = null;// 页面刷新定时器
|
clearInterval(interval_do);
|
|
var MyMarhq = '';// 滚动定时器
|
clearInterval(MyMarhq);
|
|
$(function() {
|
console.log('111111111111111111111111111');
|
doData()
|
interval_do = setInterval(getKanbanData, 100 * 1000); // 启动,执行默认方法
|
})
|
|
function doData() {
|
if (KANBAN_DATA) {
|
console.log('111111111111111111111111111');
|
tableBox()
|
setAera()
|
}
|
}
|
|
function tableBox() {
|
setInfo()// 信息
|
setTaskTable()// 生产任务信息栏
|
// setProdTable()// 生产确认信息
|
setSalaryTable()// 异常呼叫
|
}
|
|
function setAera() {
|
var data1 = [];
|
var data2 = [];
|
console.log(KANBAN_DATA)
|
if (KANBAN_DATA.data.DATA_2.length > 0) {
|
var list = KANBAN_DATA.data.DATA_2
|
for (var i = 0; i < list.length; i++) {
|
var arr = list[i]
|
if (arr.FTYPE == "1") {
|
data1.push(arr)
|
}
|
}
|
capacityEcharts(data1)
|
}
|
|
if (KANBAN_DATA.data.DATA_5.length > 0) {
|
var list = KANBAN_DATA.data.DATA_5;
|
for (var i = 0; i < list.length; i++) {
|
var arr = list[i]
|
data2.push(arr)
|
}
|
unQualEcharts(data2, 'bar')
|
}
|
}
|
|
function setSalaryTable() {
|
console.log('11111');
|
var Items = KANBAN_DATA.data.DATA_6
|
if(isNull(Items)==true)
|
{console.log('22222');}
|
$('.tbl-body tbody').empty();
|
$('.tbl-header tbody').empty();
|
var str = '';
|
var style = '';
|
if (Items.length <= 4) {// 不滚动
|
$.each(Items, function(i, item) {
|
if (i == Items.length - 1) {// 最后一行增加下划线
|
style = "style='border-bottom: 2px solid #333399;'";
|
}
|
str = '<tr>' +
|
'<td ' + style + '>' + isNull(item.PROC_NO) + '</td>' +
|
'<td ' + style + '>' + isNull(item.ERRCODE) + '</td>' +
|
'<td ' + style + '>' + isNull(item.EXC_BY) + '</td>' +
|
'<td ' + style + '>' + isNull(item.AD_TIME) + '</td>' +
|
'<td ' + style + '>' + isNull(item.IN_TIEM) + '</td>' +
|
'<td ' + style + '>' + isNull(item.TIME_QTY) + '</td>' +
|
'<td ' + style + '>' + isNull(item.FSTATUS) + '</td>' + '</tr>'
|
$('.tbl-body tbody').append(str);
|
$('.tbl-header tbody').append(str);
|
});
|
} else {// 有滚动效果
|
$.each(Items, function(i, item) {
|
str = '<tr>' +
|
'<td ' + style + '>' + isNull(item.PROC_NO) + '</td>' +
|
'<td ' + style + '>' + isNull(item.ERRCODE) + '</td>' +
|
'<td ' + style + '>' + isNull(item.EXC_BY) + '</td>' +
|
'<td ' + style + '>' + isNull(item.AD_TIME) + '</td>' +
|
'<td ' + style + '>' + isNull(item.IN_TIEM) + '</td>' +
|
'<td ' + style + '>' + isNull(item.TIME_QTY) + '</td>' +
|
'<td ' + style + '>' + isNull(item.FSTATUS) + '</td>' + '</tr>'
|
$('.tbl-body tbody').append(str);
|
$('.tbl-header tbody').append(str);
|
});
|
}
|
|
if (MyMarhq != null) {// 判断计时器是否为空-关闭
|
clearInterval(MyMarhq);
|
MyMarhq = null;
|
}
|
|
if (Items.length > 4) {
|
$('.tbl-body tbody').html($('.tbl-body tbody').html() + $('.tbl-body tbody').html());
|
$('.tbl-body').css('top', '0');
|
var tblTop = 0;
|
var speedhq = 50; // 数值越大越慢
|
var outerHeight = $('.tbl-body tbody').find("tr").outerHeight();
|
function Marqueehq() {
|
if (tblTop <= -outerHeight * Items.length) {
|
tblTop = 0;
|
} else {
|
tblTop -= 1;
|
}
|
$('.tbl-body').css('top', tblTop + 'px');
|
}
|
|
MyMarhq = setInterval(Marqueehq, speedhq);
|
|
// 鼠标移上去取消事件
|
$(".tbl-header tbody").hover(function() {
|
clearInterval(MyMarhq);
|
}, function() {
|
clearInterval(MyMarhq);
|
MyMarhq = setInterval(Marqueehq, speedhq);
|
})
|
}
|
|
}
|
|
function setProdTable() {
|
var Items = KANBAN_DATA.data.DATA_3
|
$('.tbl-body-bot tbody').empty();
|
var str = '';
|
var color = ''
|
$.each(Items, function(i, item) {
|
if (item.FSTATUS == "1") {
|
color = "<div class='raidus' style='background-color: #33CC99;'></div>"
|
} else if (item.FSTATUS == "0") {
|
color = "<div class='raidus' style='background-color: #CCCC66;'></div>"
|
} else {
|
color = "<div class='raidus' style='background-color: #999999;'></div>"
|
}
|
str = '<tr>' + '<td>' + isNull(item.XM) + '</td>' + '<td>' + color + '</td>' + '<td>' + isNull(item.CRESUL) + '</td>' + '</tr>'
|
$('.tbl-body-bot tbody').append(str);
|
});
|
|
}
|
|
function setTaskTable() {
|
console.log('11111');
|
var Items = KANBAN_DATA.data.DATA_1
|
$('.tbl-body-task tbody').empty();
|
var str = '';
|
$.each(Items, function(i, item) {
|
str = '<tr>' + '<td >' + isNull(item.T_STATUS) + '</td>' +
|
'<td>' + isNull(item.TASK_NO) + '</td>'
|
+ '<td>' + isNull(item.BOARD_NAME) + '</td>'
|
+ '<td>'
|
+ isNull(item.SCHEME_QTY) + '</td>'
|
+ '<td>' + isNull(item.BL_QTY) + '</td>'
|
+ '<td>'
|
+ isNull(item.PLAN_BEGIN_TIME) + '</td>'
|
+ '<td>'+ isNull(item.REAL_BEGIN_TIME)+ '</td>'
|
+ '<td>' + isNull(item.NG_QTY) + '</td>' +
|
'<td>' + isNull(item.OUT_QTY)
|
+ '</td>' + '<td>' + isNull(item.LV_QTY) + '</td>'
|
+ '<td>' + isNull(item.COMP_QTY) + '</td>' + '</tr>'
|
$('.tbl-body-task tbody').append(str);
|
});
|
}
|
|
function setInfo() {
|
var data5 = [];
|
if (KANBAN_DATA.data.DATA_0) {
|
var list = KANBAN_DATA.data.DATA_0
|
|
$("#attend").text(list[0].LINE_NAME )// 出勤人数
|
$("#linerName").text("组长:" + list[0].FUSERNAME)// 组长名称
|
$("#check_count").text("检验批次:" + list[0].LOT_QTY)// 组长名称
|
$("#ok_count").text("合格批次:" + list[0].OK_QTY)// 组长名称
|
|
for (var i=0; i<list.length;i++ ){
|
var arr=list[i]
|
data5.push(arr)
|
}
|
//dashboard(data5,'dashboard')// 批次合格率
|
var obj = list[0].FUSERCODE;
|
getLinerPic(obj);//每次打开看板都更新图片
|
$("#liner_pic").attr('src',"../downImages/"+obj+".png");
|
if (isHasImg("../downImages/" + obj + ".png")) {
|
$("#liner_pic").attr('src', "../downImages/" + obj + ".png");
|
} else {
|
getLinerPic(obj)
|
}
|
if (KANBAN_DATA.data.DATA_3.length > 0) {
|
var list = KANBAN_DATA.data.DATA_3;
|
for (var i = 0; i < list.length; i++) {
|
var arr = list[i]
|
data5.push(arr)
|
}
|
dashboard(data5, 'dashboard')
|
}
|
|
} else {
|
var list = KANBAN_DATA.data.DATA_0
|
for (var i=0; i<list.length;i++ ){
|
var arr=list[i]
|
data5.push(arr)
|
}
|
$("#attend").text("考勤人数:0")// 出勤人数
|
$("#linerName").text("组长:-无")// 组长名称
|
// dashboard(data5,'dashboard')// 批次合格率
|
// //dashboard(0)// 批次合格率
|
}
|
}
|
|
function isHasImg(pathImg) {// 判断路径是否存在图片
|
var ImgObj = new Image();
|
ImgObj.src = pathImg;
|
// console.log(ImgObj.width+"/"+ImgObj.height)
|
if (ImgObj.fileSize > 0 || (ImgObj.width > 0 && ImgObj.height > 0)) {
|
return true;
|
} else {
|
return false;
|
}
|
}
|
|
function getLinerPic(usercode) {
|
$.ajax({
|
type : "GET",
|
url : context + "kanban/getUserImage",
|
data : {
|
usrcode : usercode
|
},
|
dataType : "json",
|
success : function(res) {
|
if (res[0]) {
|
$("#liner_pic").attr('src', "../downImages/" + usercode + ".png");
|
} else {
|
console.log("图片加载失败!")
|
}
|
}
|
});
|
}
|
|
function dashboard(valueList, dashboard) {
|
|
var time = []
|
var exterior = []
|
var functions = []
|
if (valueList.length > 0) {
|
for (var i = 0; i < valueList.length; i++) {
|
time.push(valueList[i].X_VAL);
|
exterior.push(parseInt(valueList[i].Y_VAL));
|
functions.push(parseInt(valueList[i].U_VAL));
|
}
|
}
|
|
option = {
|
tooltip: {
|
trigger: 'axis',
|
axisPointer: {
|
type: 'shadow'
|
}
|
},
|
legend: {
|
textStyle : {
|
fontSize : 14,// 字体大小
|
color : '#ffffff'// 字体颜色
|
},
|
},
|
grid: {
|
left: '3%',
|
right: '4%',
|
bottom: '3%',
|
containLabel: true
|
},
|
yAxis: {
|
type: 'value',
|
axisLabel : {
|
show : true,
|
interval : 0,
|
textStyle : {
|
color : '#ffffff',
|
fontSize : 14,
|
}
|
},
|
axisLine : {
|
lineStyle : {
|
color : '#FFFFFF'
|
}
|
},
|
},
|
xAxis: {
|
type: 'category',
|
data: time,
|
axisLabel : {
|
show : true,
|
interval : 0,
|
textStyle : {
|
color : '#ffffff',
|
fontSize : 14,
|
}
|
},
|
axisLine : {
|
lineStyle : {
|
color : '#FFFFFF'
|
}
|
},
|
},
|
series: [
|
// {
|
// name: '外观不良',
|
// type: 'bar',
|
// stack: 'total',
|
// label: {
|
// show: true,
|
// textStyle : {
|
// color : '#0000ff',
|
// fontSize : 20,
|
// }
|
// },
|
// emphasis: {
|
// focus: 'series'
|
// },
|
// data: exterior,
|
// itemStyle: {
|
// color: '#ffd700'
|
// }
|
// },
|
{
|
name: '功能不良',
|
type: 'bar',
|
stack: 'total',
|
label: {
|
show: true,
|
textStyle : {
|
color : '#0000ff',
|
fontSize : 20,
|
}
|
},
|
emphasis: {
|
focus: 'series'
|
},
|
data: functions,
|
itemStyle: {
|
color: '#fd666d'
|
}
|
}
|
]
|
};
|
// 创建echarts对象在哪个节点上
|
var myCharts1 = echarts.init(document.getElementById(dashboard));
|
// 将选项对象赋值给echarts对象。
|
myCharts1.setOption(option, true);
|
|
// option = {
|
// series : [ {
|
// type : 'gauge',
|
// axisLine : {
|
// lineStyle : {
|
// width : 15,
|
// color : [ [ 0.3, '#fd666d' ], [ 0.7, '#FFD700' ], [ 1, '#00FF7F' ] ]
|
// }
|
// },
|
// pointer : {
|
// itemStyle : {
|
// color : 'auto'
|
// }
|
// },
|
// axisTick : {
|
// distance : -20,
|
// length : 6,
|
// lineStyle : {
|
// color : '#fff',
|
// width : 2
|
// }
|
// },
|
// splitLine : {
|
// distance : -20,
|
// length : 20,
|
// lineStyle : {
|
// color : '#fff',
|
// width : 5
|
// }
|
// },
|
// axisLabel : {
|
// color : 'auto',
|
// distance : 10,
|
// fontSize : 15
|
// },
|
// detail : {
|
// valueAnimation : true,
|
// formatter : '{value}% ',
|
// color : 'auto'
|
// },
|
// data : [ {
|
// value : okRate==null?0:okRate
|
// } ]
|
// } ]
|
// };
|
// // 创建echarts对象在哪个节点上
|
// var myCharts1 = echarts.init(document.getElementById('dashboard'));
|
// // 将选项对象赋值给echarts对象。
|
// myCharts1.setOption(option, true);
|
}
|
|
function unQualEcharts(valueList, bar) {
|
var time = []
|
var exterior = []
|
var functions = []
|
if (valueList.length > 0) {
|
for (var i = 0; i < valueList.length; i++) {
|
time.push(valueList[i].X_VAL);
|
exterior.push(parseInt(valueList[i].Y_VAL));
|
functions.push(parseInt(valueList[i].U_VAL));
|
}
|
}
|
|
option = {
|
tooltip: {
|
trigger: 'axis',
|
axisPointer: {
|
type: 'shadow'
|
}
|
},
|
legend: {
|
textStyle : {
|
fontSize : 14,// 字体大小
|
color : '#ffffff'// 字体颜色
|
},
|
},
|
grid: {
|
left: '3%',
|
right: '4%',
|
bottom: '3%',
|
containLabel: true
|
},
|
yAxis: {
|
type: 'value',
|
axisLabel : {
|
show : true,
|
interval : 0,
|
textStyle : {
|
color : '#ffffff',
|
fontSize : 14,
|
}
|
},
|
axisLine : {
|
lineStyle : {
|
color : '#FFFFFF'
|
}
|
},
|
},
|
xAxis: {
|
type: 'category',
|
data: time,
|
axisLabel : {
|
show : true,
|
interval : 0,
|
textStyle : {
|
color : '#ffffff',
|
fontSize : 14,
|
}
|
},
|
axisLine : {
|
lineStyle : {
|
color : '#FFFFFF'
|
}
|
},
|
},
|
series: [
|
// {
|
// name: '外观不良',
|
// type: 'bar',
|
// stack: 'total',
|
// label: {
|
// show: true,
|
// textStyle : {
|
// color : '#0000ff',
|
// fontSize : 20,
|
// }
|
// },
|
// emphasis: {
|
// focus: 'series'
|
// },
|
// data: exterior,
|
// itemStyle: {
|
// color: '#ffd700'
|
// }
|
// },
|
{
|
name: '功能不良',
|
type: 'bar',
|
stack: 'total',
|
label: {
|
show: true,
|
textStyle : {
|
color : '#0000ff',
|
fontSize : 20,
|
}
|
},
|
emphasis: {
|
focus: 'series'
|
},
|
data: functions,
|
itemStyle: {
|
color: '#fd666d'
|
}
|
}
|
]
|
};
|
// 创建echarts对象在哪个节点上
|
var myCharts1 = echarts.init(document.getElementById(bar));
|
// 将选项对象赋值给echarts对象。
|
myCharts1.setOption(option, true);
|
}
|
|
function capacityEcharts(echartData) {
|
|
var xData = [];
|
var yData = [];
|
var average = 0;
|
if (echartData.length > 0) {
|
var list = echartData
|
average = list[0].U_VAL
|
for (var i = 0; i < list.length; i++) {
|
xData.push(list[i].X_VAL)
|
yData.push(list[i].Y_VAL)
|
}
|
}
|
|
option = {
|
tooltip : {
|
trigger : 'axis',
|
axisPointer : {
|
type : 'cross',
|
crossStyle : {
|
color : '#999'
|
}
|
}
|
},
|
grid : {
|
x : 60,// 左边距
|
y : 55,// 上边距
|
x2 : 50,// 右边距
|
y2 : 50,// 下边距
|
borderWidth : 10
|
},
|
legend : {
|
data : [ "产出数量" ],
|
// orient: 'vertical',
|
x : 'center', // 可设定图例在左、右、居中
|
top : 0,
|
textStyle : {
|
fontSize : 14,// 字体大小
|
color : '#ffffff'// 字体颜色
|
},
|
},
|
color : [ '#00FF66' ],
|
xAxis : {
|
type : 'category',
|
boundaryGap : false,
|
data : xData,
|
axisPointer : {
|
type : 'shadow'
|
},
|
axisLabel : {
|
show : true,
|
interval : 0,
|
textStyle : {
|
color : '#ffffff',
|
fontSize : 14,
|
}
|
},
|
axisLine : {
|
lineStyle : {
|
color : '#FFFFFF'
|
}
|
},
|
},
|
yAxis : {
|
type : 'value',
|
splitLine : {
|
show : false
|
},
|
axisLabel : {
|
// formatter : '{value} ',
|
textStyle : {
|
color : '#ffffff',
|
fontSize : 14,// 字体大小
|
}
|
},
|
axisLine : {
|
lineStyle : {
|
color : '#FFFFFF'
|
}
|
},
|
max:function (value) {
|
if(value.max>average){
|
return value.max;
|
}else{
|
return average;
|
}
|
}
|
},
|
series : [ {
|
name : '产出数量',
|
data : yData,
|
type : 'line',
|
yAxisIndex : 0,
|
areaStyle : {},
|
label : {
|
show : true,
|
position : [ 5, -20 ],
|
textStyle : {
|
fontSize : 14,// 字体大小
|
}
|
},
|
markLine : {
|
symbol : "none",
|
data : [ {
|
silent : true, // 鼠标悬停事件 true没有,false有
|
label : {
|
// formatter : '标产',
|
show : true,
|
},
|
lineStyle : { // 警戒线的样式 ,虚实 颜色
|
type : "solid",
|
color : "#FFFF66",
|
},
|
yAxis : average
|
// 警戒线的标注值,可以有多个yAxis,多条警示线
|
} ]
|
}
|
} ]
|
};
|
// 创建echarts对象在哪个节点上
|
var myCharts1 = echarts.init(document.getElementById('capacity'));
|
// 将选项对象赋值给echarts对象。
|
myCharts1.setOption(option, true);
|
}
|
|
function getKanbanData() {
|
$.ajax({
|
type : "GET",
|
url : context + "kanban/getLineHeadList",
|
data : {
|
floor : FLOOR
|
},
|
dataType : "json",
|
success : function(res) {
|
if (res.result) {
|
KANBAN_DATA = res
|
doData()
|
} else {
|
// clearInterval(interval_do);//错误-关闭定时器
|
}
|
}
|
});
|
}
|
|
function isNull(str) {
|
if (str == null) {
|
return ""
|
} else {
|
return str
|
}
|
}
|