IntelligentRecognition/ah-jjsp-web/bns/js/dutyTask/violation/teamVoiDetail.js

279 lines
10 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.

let form, layer, table, tableIns, myChart, teamLeaderNumberParam = null, classIdParam = null,teamIdParam;
let dataobj = {};
function setParams(teamLeaderNumber, classId,teamId) {
teamIdParam=teamId;
if(!teamLeaderNumber || teamLeaderNumber === 'null'){
teamLeaderNumber = null;
}
teamLeaderNumberParam = teamLeaderNumber, classIdParam = classId;
layui.use(['form', 'layer', 'table'], function () {
form = layui.form;
layer = layui.layer;
table = layui.table;
form.on('radio(demo-radio-filter)', function (data) {
var elem = data.elem; // 获得 radio 原始 DOM 对象
var value = elem.value; // 获得 radio 值
myChart.dispose();
myChart = echarts.init(document.getElementById('voi-echarts'));
console.log(dataobj);
if (value === 'level') {
initEchartsOne(dataobj.level, '违章等级');
} else if (value === 'type') {
initEchartsOne(dataobj.type, '违章类型');
} else if (value === '装置违章') {
initEchartsOne(dataobj.device_voi, '装置违章');
} else if (value === '管理违章') {
initEchartsOne(dataobj.manage_voi, '管理违章');
} else if (value === '行为违章') {
initEchartsOne(dataobj.active_voi, '行为违章');
}
});
myChart = echarts.init(document.getElementById('voi-echarts'));
teamVoiNumAjax();
initTable();
})
}
// 班组违章类型、违章等级数量
function teamVoiNumAjax() {
let url = dataUrl + 'proteam/pot/superStatistics/getTeamVoiNum';
let params = {
'teamLeaderNumber': teamLeaderNumberParam,
'classId': classIdParam,
'teamId':teamIdParam
};
ajaxRequest(url, "POST", params, true, function () {
}, function (result) {
console.log(result);
setVoiData(result.data);
if (parseInt(result.code) == 200) {
} else if (parseInt(result.code) === 500) {
layer.alert('服务异常', { icon: 2 })
} else if (parseInt(result.code) === 401) {
logout(1);
}
}, function (xhr) {
});
function setVoiData(result) {
let cent = '<input type="radio" name="voi" value="level" title="违章等级" checked lay-filter="demo-radio-filter">';
let html = '<input type="radio" name="voi" value="type" title="违章类型" lay-filter="demo-radio-filter">';
let levelNumList = result.levelNumList;
let typeNumList = result.typeNumList;
let manage_voi = result.manage_voi;
let active_voi = result.active_voi;
let device_voi = result.device_voi;
if (levelNumList && levelNumList.length > 0) {
$.each(levelNumList, function (index, item) {
cent += '<p>' + item.name + '数量:' + item.value + '</p>';
})
}
if (typeNumList && typeNumList.length > 0) {
$.each(typeNumList, function (index, item) {
html += '<input type="radio" name="voi" value="' + item.name + '" title="' + item.name + '' + item.value + '" lay-filter="demo-radio-filter">'
})
}
dataobj.level = levelNumList;
dataobj.type = typeNumList;
dataobj.manage_voi = manage_voi;
dataobj.active_voi = active_voi;
dataobj.device_voi = device_voi;
$('.layui-form .layui-form-item').eq(0).empty().append(cent);
$('.layui-form .layui-form-item').eq(1).empty().append(html);
layui.form.render();
myChart.dispose();
myChart = echarts.init(document.getElementById('voi-echarts'));
initEchartsOne(levelNumList, '违章等级');
}
}
function initEchartsOne(valueList, title) {
let fontSize = '14', fontFamily = 'Alibaba PuHuiTi R', fontColor = '#000';
let option = {
color: ['#37a2da', '#32c5e9', '#9fe6b8', '#ffdb5c', '#ff9f7f', '#fb7293', '#e7bcf3', '#8378ea'],
tooltip: {
trigger: 'item',
formatter: '{a} <br/>{b} : {c} ({d}%)',
textStyle: {
color: fontColor,
fontFamily: fontFamily
},
},
toolbox: {
show: true,
},
legend: {
x: '10%', //水平位置【left\center\right\数字】
y: '420', //垂直位置【top\center\bottom\数字】
align: 'left', //字在图例的左边或右边【left/right】
orient: 'horizontal', //图例方向【horizontal/vertical】
icon: 'circle', //图例形状【circle\rect\roundRect\triangle\diamond\pin\arrow\none】
textStyle: {
color: '#000',
fontFamily: fontFamily,
fontSize: fontSize
},
formatter: function (name) {
let res = valueList.filter((v) => v.name === name);
res = res[0] || {};
const p = res.value;
return name + '' + p + '';
},
},
series: [
{
name: title,
type: 'pie',
radius: [0, 130],
center: ["50%", "40%"],
label: {
textStyle: {
color: '#000',
fontFamily: fontFamily,
fontSize: fontSize
},
},
data: valueList,
},
],
};
myChart.setOption(option, true);
window.addEventListener("resize", function () {
myChart.resize();
});
}
/*初始化表格*/
function initTable(dataList, limit, page) {
let loadingMsg = layer.msg("数据加载中,请稍候...", { icon: 16, scrollbar: false, time: 0, });
tableIns = table.render({
elem: "#violationStatisticsTable",
id: "violationStatisticsTable",
// height: "full-230",
// data: dataList,
// limit: limit,
url: dataUrl + "proteam/pot/superStatistics/getTeamVoiHistory?token=" + token,
method: 'POST',
where: {
teamLeaderNumber: teamLeaderNumberParam,
classId: classIdParam,
teamId: teamIdParam
},
height: "full-30",
page: {
layout: ['prev', 'page', 'next', 'skip', 'count', 'limit'],
groups: 5, //只显示 5 个连续页码
limits: [30, 50, 100],
limit: 50,
curr: 1
},
response: {
statusCode: 200 //重新规定成功的状态码为 200table 组件默认为 0
},
parseData: function (res) { // res 即为原始返回的数据
return {
"code": res.code,
"msg": res.msg,
"count": res.count,
"data": res.data,
"limit": res.limit,
"curr": res.curr
};
},
cols: [[
//表头
{
title: "序号",
width: 70,
unresize: true,
align: "center",
templet: function (d) {
// return (page - 1) * limit + d.LAY_INDEX;
return d.LAY_NUM;
}
},
{
field: "teamName",
title: "班组名称",
width: 200,
unresize: true,
align: "center",
},
{
field: "teamLeader",
title: "班组长",
width: 150,
unresize: true,
align: "center",
templet: function (d) {
return '<span>' + d.workManager + '</span><span>' + d.workManagerPhone + '</span>';
}
},
{
field: "type",
title: "违章类型",
width: 140,
unresize: true,
align: "center",
},
{
field: "childType",
title: "违章子类型",
width: 200,
unresize: true,
align: "center",
},
{
field: "levelId",
title: "违章等级",
width: 140,
unresize: true,
align: "center",
templet: function (d) {
if (d.levelId === '严重违章') {
return '<span style="color: #ff5d5d;">' + d.levelId + '</span>';
}
return '<span>' + d.levelId + '</span>';
}
},
{
field: "content",
title: "违章内容",
width: 500,
unresize: true,
align: "center",
templet: function (d) {
if (d.content) {
if (d.content.length > 110) {
return '<span title="' + d.content + '">' + d.content.substring(0, 110) + '...</span>'
} else {
return '<span title="' + d.content + '">' + d.content + '</span>'
}
} else {
return '';
}
}
},]
],
done: function (res, curr, count) {
layer.close(loadingMsg);
$(".layui-table-main tr").each(function (index, val) {
$($(".layui-table-fixed .layui-table-body tbody tr")[index]).height($(val).height());
});
//动态监听表体高度变化,冻结行跟着改变高度
$(".layui-table-body tr").resize(function () {
$(".layui-table-body tr").each(function (index, val) {
$($(".layui-table-fixed .layui-table-body table tr")[index]).height($(val).height());
});
});
//初始化高度,使得冻结行表体高度一致
$(".layui-table-body tr").each(function (index, val) {
$($(".layui-table-fixed .layui-table-body table tr")[index]).height($(val).height());
});
table.resize("violationStatisticsTable");
// pageNum = res.curr, limitSize = res.limit;
},
});
}