diff --git a/js/pages/newDataAnalysis/environDetection.js b/js/pages/newDataAnalysis/environDetection.js new file mode 100644 index 0000000..557ad94 --- /dev/null +++ b/js/pages/newDataAnalysis/environDetection.js @@ -0,0 +1,346 @@ +let table, layer, form; +let myChart = null, myChart2 = null; +layui.use(['layer', 'table', 'form'], function () { + layer = layui.layer; + table = layui.table; + form = layui.form; + let bidCode = parent.parent.$('#bidPro').val() + let filterList = dataList.filter(item => { + return item.bidCode === bidCode; + }); + initTable(filterList[0].list || []); + initEcharts(filterList[0].list[0]); +}); + + +function initTable(data) { + table.render({ + elem: '#demo2', + id: 'demo2', + skin: 'line', + page: true, + height: 'full-140', + headers: { + "decrypt": "decrypt", + "Authorization": token + }, + data: data, + cols: [[ + { type: 'numbers', title: '序号', width: '10%' }, // 添加序号列 + { field: 'userName', title: '工人', align: 'center', width: '10%' }, + { field: 'teamName', title: '班组', align: 'center', width: '10%' }, + { field: 'postName', title: '工种', align: 'center', width: '10%' }, + { field: 'attDay', title: '出勤天数', align: 'center', width: '10%' }, + { + field: 'workTime', title: '工作时长', align: 'center', width: '10%', + templet: function (d) { + return d.workTime + '小时'; + } + }, + { + field: 'completeWorkload', title: '完成工作量', align: 'center', width: '10%', + templet: function (d) { + return d.completeWorkload + d.completeWorkloadUnit; + } + }, + { + field: 'unitTimeOutput', title: '单位时间产量', align: 'center', width: '10%', + templet: function (d) { + return d.unitTimeOutput + d.unitTimeOutputUnit; + } + }, + { + field: 'unitTimeOutput', title: '单位时间标准产量', align: 'center', width: '10%', + templet: function (d) { + return d.standardTimeOutput + d.unitTimeOutputUnit; + } + }, + { + field: 'rateLevel', title: '效率评级', align: 'center', width: '10%', + templet: function (d) { + let color = ''; + if (d.rateLevel === '高效') { + color = 'green'; + } else if (d.rateLevel === '达标') { + color = 'yellow'; + } else if (d.rateLevel === '低效') { + color = 'red'; + } + return '

' + d.rateLevel + '

'; + } + + } + ]], + initComplete: function () { + // 在表格渲染完成后,重新渲染序号列 + var that = this.elem.next(); + var tool = that.children('.layui-table-box').children('.layui-table-fixed').children('.layui-table-body').children('.layui-table'); + tool.find("tr").each(function (index, item) { + $(this).find('td[data-field="LAY_TABLE_INDEX"]').text(index + 1); + }); + }, + done: function (res, curr, count, origin) { + // console.log(res); + } + }) + table.on('rowDouble(demo2)', function (obj) { + initEcharts(obj.data); + }); +} + +function query(type) { + let userName = $('#userName').val(); + let bidCode = parent.parent.$('#bidPro').val() + let filterList = dataList.filter(item => { + return item.bidCode === bidCode; + }); + let list = filterList[0].list || [] + let data = []; + if (userName) { + data = list.filter(item => { + return item.userName.indexOf(userName) > -1; + }); + } else { + data = list; + } + initTable(data); + if(data && data.length > 0){ + initEcharts(data[0]); + } +} + +// 初始化 echarts +function initEcharts(data) { + if (myChart && myChart2) { + myChart.dispose(); + myChart2.dispose(); + } + myChart = echarts.init(document.getElementById("oneEcharts")); + myChart2 = echarts.init(document.getElementById("twoEcharts")); + initEchartsOne(data); +} + +function initEchartsOne(obj) { + const data = [obj.unitTimeOutput]; + const data2 = [obj.standardTimeOutput]; + const colorArr1 = ["rgba(11, 83, 128)", "rgba(2, 143, 224)", "#2a7fcc"]; + const colorArr2 = ["rgb(12, 109, 122)", "rgba(1, 241, 228)", "#5ce1d6"]; + var color1 = { + type: "linear", + x: 0, + x2: 1, + y: 0, + y2: 0, + colorStops: [ + { + offset: 0, + color: colorArr1[0], + }, + { + offset: 0.5, + color: colorArr1[0], + }, + { + offset: 0.5, + color: colorArr1[1], + }, + { + offset: 1, + color: colorArr1[1], + }, + ], + }; + var color2 = { + type: "linear", + x: 0, + x2: 1, + y: 0, + y2: 0, + colorStops: [ + { + offset: 0, + color: colorArr2[0], + }, + { + offset: 0.5, + color: colorArr2[0], + }, + { + offset: 0.5, + color: colorArr2[1], + }, + { + offset: 1, + color: colorArr2[1], + }, + ], + }; + var barWidth = 18; + const option = { + backgroundColor: 'transparent', + legend: { + top: '3%', + right: '3%', + textStyle: { + fontSize: '12px', + color: '#FFF', + } + }, + tooltip: { + trigger: 'axis', + formatter: function (params) { + var str = params[0].name + ":"; + params.filter(function (item) { + if (item.componentSubType == "bar") { + str += "
" + item.seriesName + ":" + item.value + obj.unitTimeOutputUnit; + } + }); + return str; + }, + }, + //图表大小位置限制 + grid: { + x: '10%', + x2: '5%', + y: '15%', + y2: '15%', + }, + xAxis: { + data: [obj.userName], + //坐标轴 + axisLine: { + show: true, + lineStyle: { + width: 1, + color: '#214776' + }, + textStyle: { + color: '#fff', + fontSize: '10' + } + }, + type: 'category', + axisLabel: { + textStyle: { + color: '#C5DFFB', + fontWeight: 500, + fontSize: '14' + } + }, + axisTick: { + textStyle: { + color: '#fff', + fontSize: '16' + }, + show: false, + }, + axisLine: { + //坐标轴轴线相关设置。数学上的x轴 + show: true, + lineStyle: { + type: 'dashed',//线的类型 虚线 + color: '#DEDEDE', + }, + }, + }, + yAxis: { + name: '效率对标分析', + nameTextStyle: { + color: '#DEDEDE', + fontSize: 12, + padding: 10, + }, + min: 0,//最小 + max: obj.max,//最大 + interval: obj.interval,//相差 + type: 'value', + splitLine: { + show: true, + lineStyle: { + type: 'dashed',//线的类型 虚线0 + opacity: 0.2//透明度 + }, + }, + axisTick: { + show: false + }, + axisLine: { + show: false, + }, + //坐标值标注 + axisLabel: { + show: true, + textStyle: { + color: '#C5DFFB', + } + }, + }, + series: [ + { + z: 1, + name: '单位时间产量', + type: "bar", + barWidth: barWidth, + barGap: "0%", + data: data, + itemStyle: { + normal: { + color: color1, + } + }, + }, + { + z: 3, + name: '单位时间产量', + type: "pictorialBar", + symbolPosition: "end", + data: data, + symbol: "diamond", + symbolOffset: ["-75%", "-60%"], + symbolSize: [18, 12], + itemStyle: { + normal: { + borderWidth: 2, + color: colorArr1[2] + }, + }, + }, + { + z: 1, + name: '单位时间标准产量', + type: "bar", + barWidth: barWidth, + barGap: "50%", + data: data2, + itemStyle: { + normal: { + color: color2, + } + }, + }, + { + z: 3, + name: '单位时间标准产量', + type: "pictorialBar", + symbolPosition: "end", + data: data2, + symbol: "diamond", + symbolOffset: ["75%", "-60%"], + symbolSize: [18, 12], + itemStyle: { + normal: { + borderWidth: 2, + color: colorArr2[2] + }, + }, + tooltip: { + show: false, + }, + }, + ], + } + myChart.setOption(option, true); + window.addEventListener("resize", function () { + myChart.resize(); + }); +} \ No newline at end of file diff --git a/js/pages/newDataAnalysis/environDetectionData.js b/js/pages/newDataAnalysis/environDetectionData.js new file mode 100644 index 0000000..de7c86d --- /dev/null +++ b/js/pages/newDataAnalysis/environDetectionData.js @@ -0,0 +1,221 @@ + +/** 工人效率分析数据*/ +// 1512P017007Y01-凌云变 1612P021000T01-红枫变 +let dataList = [{ + bidCode: '1512P017007Y01', + list: [{ + userName: '宋跃进', + teamName: '变电土建-朱润生3班', + postName: '组塔工', + attDay: 22, + workTime: 176, + completeWorkload: 15, + completeWorkloadUnit:'座', + unitTimeOutput: 0.085, + unitTimeOutputUnit: '座/小时', + rateLevel: '低效', + standardTimeOutput:0.1, + max:0.2, + interval:0.1, + nameList:['技能不足','工具故障'], + }, + { + userName: '刘振', + teamName: '变电土建-朱润生3班', + postName: '导线压线工', + attDay: 22, + workTime: 176, + completeWorkload: 15, + completeWorkloadUnit:'座', + unitTimeOutput: 0.1, + unitTimeOutputUnit: '座/小时', + rateLevel: '高效', + standardTimeOutput:0.1, + max:0.2, + interval:0.1 + }, + { + userName: '黄照飞', + teamName: '变电土建-朱润生3班', + postName: '组塔工', + attDay: 22, + workTime: 176, + completeWorkload: 15, + completeWorkloadUnit:'座', + unitTimeOutput: 0.085, + unitTimeOutputUnit: '座/小时', + rateLevel: '高效', + standardTimeOutput:0.1, + max:0.2, + interval:0.1 + }, + { + userName: '王玉华', + teamName: '变电土建-朱润生3班', + postName: '组塔工', + attDay: 22, + workTime: 176, + completeWorkload: 15, + completeWorkloadUnit:'座', + unitTimeOutput: 0.085, + unitTimeOutputUnit: '座/小时', + rateLevel: '高效', + standardTimeOutput:0.1, + max:0.2, + interval:0.1 + }, + { + userName: '黄丹', + teamName: '变电土建-朱润生3班', + postName: '组塔工', + attDay: 22, + workTime: 176, + completeWorkload: 15, + completeWorkloadUnit:'座', + unitTimeOutput: 0.085, + unitTimeOutputUnit: '座/小时', + rateLevel: '高效', + standardTimeOutput:0.1, + max:0.2, + interval:0.1 + }, + { + userName: '赵光伟', + teamName: '变电土建-朱润生3班', + postName: '组塔工', + attDay: 22, + workTime: 176, + completeWorkload: 15, + completeWorkloadUnit:'座', + unitTimeOutput: 0.085, + unitTimeOutputUnit: '座/小时', + rateLevel: '高效', + standardTimeOutput:0.1, + max:0.2, + interval:0.1 + }, + { + userName: '刘磊', + teamName: '变电土建-朱润生3班', + postName: '组塔工', + attDay: 22, + workTime: 176, + completeWorkload: 15, + completeWorkloadUnit:'座', + unitTimeOutput: 0.085, + unitTimeOutputUnit: '座/小时', + rateLevel: '高效', + standardTimeOutput:0.1, + max:0.2, + interval:0.1 + }, + { + userName: '化苏碧', + teamName: '变电土建-朱润生3班', + postName: '组塔工', + attDay: 22, + workTime: 176, + completeWorkload: 15, + completeWorkloadUnit:'座', + unitTimeOutput: 0.085, + unitTimeOutputUnit: '座/小时', + rateLevel: '高效', + standardTimeOutput:0.1, + max:0.2, + interval:0.1 + }, + { + userName: '曹先应', + teamName: '变电土建-朱润生3班', + postName: '组塔工', + attDay: 22, + workTime: 176, + completeWorkload: 15, + completeWorkloadUnit:'座', + unitTimeOutput: 0.085, + unitTimeOutputUnit: '座/小时', + rateLevel: '高效', + standardTimeOutput:0.1, + max:0.2, + interval:0.1 + }, + { + userName: '陆乃怀', + teamName: '变电土建-朱润生3班', + postName: '组塔工', + attDay: 22, + workTime: 176, + completeWorkload: 15, + completeWorkloadUnit:'座', + unitTimeOutput: 0.085, + unitTimeOutputUnit: '座/小时', + rateLevel: '高效', + standardTimeOutput:0.1, + max:0.2, + interval:0.1 + }, + { + userName: '袁加纯', + teamName: '变电土建-朱润生3班', + postName: '组塔工', + attDay: 22, + workTime: 176, + completeWorkload: 15, + completeWorkloadUnit:'座', + unitTimeOutput: 0.085, + unitTimeOutputUnit: '座/小时', + rateLevel: '高效', + standardTimeOutput:0.1, + max:0.2, + interval:0.1 + }, + { + userName: '张友顺', + teamName: '变电土建-朱润生3班', + postName: '组塔工', + attDay: 22, + workTime: 176, + completeWorkload: 15, + completeWorkloadUnit:'座', + unitTimeOutput: 0.085, + unitTimeOutputUnit: '座/小时', + rateLevel: '高效', + standardTimeOutput:0.1, + max:0.2, + interval:0.1 + } + ] +}, +{ + bidCode: '1612P021000T01', + list: [{ + userName: '袁加纯', + teamName: '变电土建-宋鹏2班', + postName: '组塔工', + attDay: 22, + workTime: 176, + completeWorkload: 15, + completeWorkloadUnit:'座', + unitTimeOutput: 0.085, + unitTimeOutputUnit: '座/小时', + rateLevel: '高效', + standardTimeOutput:0.1, + max:0.2, + interval:0.1 + }, + { + userName: '李仲恒', + teamName: '变电土建-宋鹏2班', + postName: '组塔工', + attDay: 22, + workTime: 176, + completeWorkload: 15, + completeWorkloadUnit:'座', + unitTimeOutput: 0.085, + unitTimeOutputUnit: '座/小时', + rateLevel: '高效', + standardTimeOutput:0.1, + max:0.2, + interval:0.1 + }] +}]; \ No newline at end of file diff --git a/js/pages/newDataAnalysis/newDataAnalysis.js b/js/pages/newDataAnalysis/newDataAnalysis.js index d6de7d4..2f48703 100644 --- a/js/pages/newDataAnalysis/newDataAnalysis.js +++ b/js/pages/newDataAnalysis/newDataAnalysis.js @@ -40,7 +40,7 @@ function changeData(that, type) { }else if(type == 6){ // 工人效率分析 src = 'workerEfficiencyAnalysis.html'; }else if(type == 7){ // 环境监测分析 - src = ''; + src = 'environDetection.html'; }else if(type == 8){ // 项目管理分析 src = ''; }else if(type == 9){ // 整体效能分析 diff --git a/js/pages/newDataAnalysis/workerEfficiencyAnalysis.js b/js/pages/newDataAnalysis/workerEfficiencyAnalysis.js index fa9c8ff..265cb2b 100644 --- a/js/pages/newDataAnalysis/workerEfficiencyAnalysis.js +++ b/js/pages/newDataAnalysis/workerEfficiencyAnalysis.js @@ -19,7 +19,7 @@ function initTable(data) { id: 'demo2', skin: 'line', page: true, - height: 'full-120', + height: 'full-140', headers: { "decrypt": "decrypt", "Authorization": token @@ -104,7 +104,7 @@ function query(type) { data = list; } initTable(data); - if(data && data.length > 0){ + if (data && data.length > 0) { initEcharts(data[0]); } } @@ -118,6 +118,9 @@ function initEcharts(data) { myChart = echarts.init(document.getElementById("oneEcharts")); myChart2 = echarts.init(document.getElementById("twoEcharts")); initEchartsOne(data); + if (data.unitTimeOutput < data.standardTimeOutput) { + initEchartsTwo(data); + } } function initEchartsOne(obj) { @@ -343,4 +346,47 @@ function initEchartsOne(obj) { window.addEventListener("resize", function () { myChart.resize(); }); +} + +/* 变化趋势 */ +function initEchartsTwo(data) { + let nameList = ['技能不足','工具故障']; + let valueList = [{name:'技能不足',value:1},{name:'工具故障',value:3}]; + const option = { + grid: { + top: 0, + bottom: 0, + left: 0, + right: 0, + }, + title: { + text: "", + x: "center", + }, + tooltip: { + trigger: "item", + formatter: "{a}
{b} : {c} ({d}%)", + }, + legend: { + show: false, + data: nameList, + }, + series: [ + { + name: "效率低下分析", + type: "pie", + radius: "65%", + center: ["50%", "50%"], + label: { + show: true, + formatter: "{b} {d}%", + }, + data: valueList, + }, + ], + }; + myChart2.setOption(option, true); + window.addEventListener("resize", function () { + myChart2.resize(); + }); } \ No newline at end of file diff --git a/js/pages/newDataAnalysis/workerEfficiencyAnalysisData.js b/js/pages/newDataAnalysis/workerEfficiencyAnalysisData.js index a4c688f..c4aa2fe 100644 --- a/js/pages/newDataAnalysis/workerEfficiencyAnalysisData.js +++ b/js/pages/newDataAnalysis/workerEfficiencyAnalysisData.js @@ -13,7 +13,7 @@ let dataList = [{ completeWorkloadUnit:'座', unitTimeOutput: 0.085, unitTimeOutputUnit: '座/小时', - rateLevel: '高效', + rateLevel: '低效', standardTimeOutput:0.1, max:0.2, interval:0.1 @@ -27,9 +27,9 @@ let dataList = [{ workTime: 176, completeWorkload: 15, completeWorkloadUnit:'座', - unitTimeOutput: 0.085, + unitTimeOutput: 0.1, unitTimeOutputUnit: '座/小时', - rateLevel: '高效', + rateLevel: '达标', standardTimeOutput:0.1, max:0.2, interval:0.1 @@ -42,7 +42,7 @@ let dataList = [{ workTime: 176, completeWorkload: 15, completeWorkloadUnit:'座', - unitTimeOutput: 0.085, + unitTimeOutput: 0.11, unitTimeOutputUnit: '座/小时', rateLevel: '高效', standardTimeOutput:0.1, diff --git a/pages/newDataAnalysis/environDetection.html b/pages/newDataAnalysis/environDetection.html new file mode 100644 index 0000000..4167e0c --- /dev/null +++ b/pages/newDataAnalysis/environDetection.html @@ -0,0 +1,62 @@ + + + + + + + + + + + + + + + + + + + + + + 环境检测 + + +
+
+ +
+
+
+
+ +
+
+ +
+
+
+ + + + + + diff --git a/pages/newDataAnalysis/workerEfficiencyAnalysis.html b/pages/newDataAnalysis/workerEfficiencyAnalysis.html index 9ebb2b4..9038ed6 100644 --- a/pages/newDataAnalysis/workerEfficiencyAnalysis.html +++ b/pages/newDataAnalysis/workerEfficiencyAnalysis.html @@ -9,7 +9,6 @@ - @@ -19,7 +18,6 @@ - 工人效率分析