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 = ''; let html = ''; 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 += '

' + item.name + '数量:' + item.value + '

'; }) } if (typeNumList && typeNumList.length > 0) { $.each(typeNumList, function (index, item) { html += '' }) } 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}
{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 //重新规定成功的状态码为 200,table 组件默认为 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 '' + d.workManager + '' + d.workManagerPhone + ''; } }, { 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 '' + d.levelId + ''; } return '' + d.levelId + ''; } }, { field: "content", title: "违章内容", width: 500, unresize: true, align: "center", templet: function (d) { if (d.content) { if (d.content.length > 110) { return '' + d.content.substring(0, 110) + '...' } else { return '' + d.content + '' } } 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; }, }); }