diff --git a/ruoyi-admin/src/main/resources/static/js/board/beforeLibrary.js b/ruoyi-admin/src/main/resources/static/js/board/beforeLibrary.js index a1c247e..257d2b7 100644 --- a/ruoyi-admin/src/main/resources/static/js/board/beforeLibrary.js +++ b/ruoyi-admin/src/main/resources/static/js/board/beforeLibrary.js @@ -23,6 +23,9 @@ $(() => { //成品入库统计轮询 autoUpdate(url + "/selectProductInStore ", INTERVAL, data => { + data.sort((a,b)=> { + return b.qty - a.qty + }) barChartAndLineChart({ xName: data.map(value => value.name), yDataTwo: data.map(value => value.qty), diff --git a/ruoyi-admin/src/main/resources/static/js/echartsCommon.js b/ruoyi-admin/src/main/resources/static/js/echartsCommon.js index adfeda9..412e760 100644 --- a/ruoyi-admin/src/main/resources/static/js/echartsCommon.js +++ b/ruoyi-admin/src/main/resources/static/js/echartsCommon.js @@ -592,26 +592,32 @@ const barChartAndLineChartTwo = function (data, id) { // 饼图 const pieChart = function (data, id) { let charts = echarts.init(id); - // if (!data) { - // data = [ - // { - // value: 285, - // name: "类型1", - // }, - // { - // value: 410, - // name: "类型2", - // }, - // { - // value: 274, - // name: "类型3", - // }, - // { - // value: 235, - // name: "类型4", - // }, - // ] - // } + if (!data) { + data = [ + { + value: 285, + name: "类型1", + }, + { + value: 410, + name: "类型2", + }, + { + value: 274, + name: "类型3", + }, + { + value: 235, + name: "类型4", + }, + ] + } + if(data.length === 0){ + data = [{ + value : 0, + name:'' + }] + } let option = { tooltip: { trigger: "item", @@ -628,9 +634,7 @@ const pieChart = function (data, id) { radius: "90%", center: ["50%", "50%"], color: ["rgb(131,249,103)", "#FBFE27", "#FE5050", "#1DB7E5"], //'#FBFE27','rgb(11,228,96)','#FE5050' - data: data.sort(function (a, b) { - return a.value - b.value; - }), + data: data, roseType: "radius", label: { normal: { diff --git a/ruoyi-admin/src/main/resources/templates/broad/fp.html b/ruoyi-admin/src/main/resources/templates/broad/fp.html index 41569b9..76cf38f 100644 --- a/ruoyi-admin/src/main/resources/templates/broad/fp.html +++ b/ruoyi-admin/src/main/resources/templates/broad/fp.html @@ -393,11 +393,11 @@ } // 生产统计数据 - const planInfo = new AutoScrollTable(document.getElementById("my-transition"), ['工位', '型号', '状态', '目标', '计划', '累计', '达成率', '8:30', '9:30', '10:30', '11:30', '12:30', '13:30', '14:30', '15:30', '16:30', '17:30', '18:30', '19:00'], { + const planInfo = new AutoScrollTable(document.getElementById("my-transition"), ['工位', '型号', '状态', '目标', '计划', '累计', '达成率', '8:30', '9:30', '10:30', '11:30', '12:30', '13:30', '14:30', '15:30', '16:30', '17:30', '18:30', '19:30'], { width: ["5%", '10%', "7%", "5%", "5%", "5%", "8%", "4%", "4%", "4%", "4%", "4%", "4%", "4%", "4%", "4%", "4%", "4%", "4%"], }) - const planInfo2 = new AutoScrollTable(document.getElementById("my-transition2"), ['工位', '型号', '状态', '目标', '计划', '累计', '达成率', '8:30', '9:30', '10:30', '11:30', '12:30', '13:30', '14:30', '15:30', '16:30', '17:30', '18:30', '19:00'], { + const planInfo2 = new AutoScrollTable(document.getElementById("my-transition2"), ['工位', '型号', '状态', '目标', '计划', '累计', '达成率', '8:30', '9:30', '10:30', '11:30', '12:30', '13:30', '14:30', '15:30', '16:30', '17:30', '18:30', '19:30'], { width: ["5%", '10%', "7%", "5%", "5%", "5%", "8%", "4%", "4%", "4%", "4%", "4%", "4%", "4%", "4%", "4%", "4%", "4%", "4%"], }) @@ -416,7 +416,6 @@ $(() => { area() - total() // 订单执行 + 生产统计 autoUpdate('/broad/fp/selectOrderExecution', INTERVAL, data => { orderInf.loadData(data.map(value => [value.name, value.plan_number, value.actual_number, value.plan_number - value.actual_number, value.rate]), Object.keys(orderInfColumns)) @@ -502,16 +501,29 @@ // // data.push(consolidatedRow) - planInfo.loadData(data.map(value => [value.station_no, value.name, value.status, value.target, value.plan_number, value.qty, `${value.rate}%`, value.h1, value.h2, value.h3, value.h4, value.h5, value.h6, value.h7, value.h8, value.h9, value.h10, value.h11, value.h12]), Object.keys( ['工位', '型号', '状态', '目标', '计划','累计','达成率','8:00','9:00','10:00','11:00','12:00','13:00','14:00','15:00','16:00','17:00','18:00','19:00'])) - data.map(value => [value.orderType, value.plannedProduction, value.actualProduction, value.plannedProduction - value.actualProduction, `${(value.actualProduction / value.plannedProduction * 100).toFixed(2)}%`]) + planInfo.loadData(data.map(value => [value.station_no, value.name, value.status, value.target, value.plan_number, value.qty, `${value.rate}%`, value.h1, value.h2, value.h3, value.h4, value.h5, value.h6, value.h7, value.h8, value.h9, value.h10, value.h11, value.h12]), Object.keys( ['工位', '型号', '状态', '目标', '计划','累计','达成率','8:00','9:00','10:00','11:00','12:00','13:00','14:00','15:00','16:00','17:00','18:00','19:30'])) + planInfo2.loadData(data.map(value => [value.station_no, value.name, value.status, value.target, value.plan_number, value.qty, `${value.rate}%`, value.h1, value.h2, value.h3, value.h4, value.h5, value.h6, value.h7, value.h8, value.h9, value.h10, value.h11, value.h12]), Object.keys( ['工位', '型号', '状态', '目标', '计划','累计','达成率','8:00','9:00','10:00','11:00','12:00','13:00','14:00','15:00','16:00','17:00','18:00','19:30'])) + // data.map(value => [value.orderType, value.plannedProduction, value.actualProduction, value.plannedProduction - value.actualProduction, `${(value.actualProduction / value.plannedProduction * 100).toFixed(2)}%`]) + total((data.filter(val => val.status === '生产中').length/28).toFixed(4)*100 + '%', + eval(data.map(val => val.plan_number).join('+')), + eval(data.map(val => val.qty).join('+')), + ((eval(data.map(val => val.qty).join('+'))/eval(data.map(val => val.plan_number).join('+'))).toFixed(4)*100 +'' ).substring(0,3)+ '%', + eval(data.map(val => val.h1).join('+')), + eval(data.map(val => val.h2).join('+')), + eval(data.map(val => val.h3).join('+')), + eval(data.map(val => val.h4).join('+')), + eval(data.map(val => val.h5).join('+')), + eval(data.map(val => val.h6).join('+')), + eval(data.map(val => val.h7).join('+')), + eval(data.map(val => val.h8).join('+')), + eval(data.map(val => val.h9).join('+')), + eval(data.map(val => val.h10).join('+')), + eval(data.map(val => val.h11).join('+')), + eval(data.map(val => val.h12).join('+')), + ) }) // flip('#bottom-left') - autoUpdate('/broad/fp/selectStationHourInfo', INTERVAL, data => { - - planInfo2.loadData(data.map(value => [value.station_no, value.name, value.status, value.target, value.plan_number, value.qty, `${value.rate}%`, value.h1, value.h2, value.h3, value.h4, value.h5, value.h6, value.h7, value.h8, value.h9, value.h10, value.h11, value.h12]), Object.keys( ['工位', '型号', '状态', '目标', '计划','累计','达成率','8:00','9:00','10:00','11:00','12:00','13:00','14:00','15:00','16:00','17:00','18:00','19:00'])) - }) - // 右侧压力 + 右侧温度 autoUpdate('/broad/fp/selectDeviceStation', INTERVAL, data => { @@ -892,29 +904,29 @@ ` $("body").append(html) } - const total = () => { + const total = (val1=0,val2=0,val3=0,val4=0,val5=0,val6=0,val7=0,val8=0,val9=0,val10=0,val11=0,val12=0,val13=0,val14=0,val15=0,val16=0) => { const html = ` - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + 合计 + ${val1} + + ${val2} + ${val3} + ${val4} + ${val5} + ${val6} + ${val7} + ${val8} + ${val9} + ${val10} + ${val11} + ${val12} + ${val13} + ${val14} + ${val15} + ${val16} ` - $("#total").append(html) + $("#total").html(html) }