| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456 |
- <!doctype html>
- <html lang="en">
- <head>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
- <link rel="shortcut icon" href="/img/logo.png" />
- <link rel="bookmark" href="/img/logo.png" />
- <link rel="stylesheet" href="../DashBoard.css?v3" />
- <script src="/Plugins/jquery-3.4.1/jquery-3.4.1.min.js"></script>
- <script src="/Plugins/xrequest/xrequest.min.js"></script>
- <title>东科软件</title>
- </head>
- <body style="background-color:black;">
- <div class="box_1920_1080">
- <div class="box_title" onclick="showHelp()" style="cursor:pointer">
- 月计划达成率 <span class="box_title_arrow">>>></span><span class="box_title_loading" id="报表加载"></span>
- </div>
- <div class="box_body" style="display: flex; flex-direction: column;">
- <div style="width:1840px;height:500px;display:flex;flex-direction:row;">
- <div style="width: 70%;height:500px;">
- <!--月计划达成率表格-->
- <table cellspacing="0" cellpadding="0" border="0" style="width:100%;">
- <tr class="tr_title">
- <td colspan="6" style="color:white">智能马桶成品统计(月度)</td>
- </tr>
- <tr class="tr_title">
- <td>序号</td>
- <td>产品型号</td>
- <td>滚动计划数</td>
- <td>实际生产数</td>
- <td>单位</td>
- <td>实际达成率</td>
- </tr>
- <tr class="tr_bg_light">
- <td>1</td>
- <td id="q1"></td>
- <td id="w1"></td>
- <td id="p1"></td>
- <td>件</td>
- <td id="e1"></td>
- </tr>
- <tr class="tr_bg_dark">
- <td>2</td>
- <td id="q2"></td>
- <td id="w2"></td>
- <td id="p2"></td>
- <td>件</td>
- <td id="e2"></td>
- </tr>
- <tr class="tr_bg_light">
- <td>3</td>
- <td id="q3"></td>
- <td id="w3"></td>
- <td id="p3"></td>
- <td>件</td>
- <td id="e3"></td>
- </tr>
- <tr class="tr_bg_dark">
- <td>4</td>
- <td id="q4"></td>
- <td id="w4"></td>
- <td id="p4"></td>
- <td>件</td>
- <td id="e4"></td>
- </tr>
- <tr class="tr_bg_light">
- <td>5</td>
- <td id="q5"></td>
- <td id="w5"></td>
- <td id="p5"></td>
- <td>件</td>
- <td id="e5"></td>
- </tr>
- <tr class="tr_bg_dark">
- <td>6</td>
- <td id="q6"></td>
- <td id="w6"></td>
- <td id="p6"></td>
- <td>件</td>
- <td id="e6"></td>
- </tr>
- </table>
- </div>
- <div style="width: 30%; height: 500px; padding-left:20px;">
- <!--工序预警表格-->
- <table cellspacing="0" cellpadding="0" border="0" style="width:100%;">
- <tr class="tr_title_warning">
- <td colspan="2" style="color:white">三车间各工序完工统计 (月度)</td>
- </tr>
- <tr class="tr_title_warning">
- <td>序号</td>
- <td>工序预警标准</td>
- </tr>
- <tr class="tr_bg_light_warning">
- <td>1</td>
- <td id="t1"></td>
- </tr>
- <tr class="tr_bg_dark_warning">
- <td>2</td>
- <td id="t2"></td>
- </tr>
- <tr class="tr_bg_light_warning">
- <td>3</td>
- <td id="t3"></td>
- </tr>
- <tr class="tr_bg_dark_warning">
- <td>4</td>
- <td id="t4"></td>
- </tr>
- <tr class="tr_bg_light_warning">
- <td>5</td>
- <td id="t5"></td>
- </tr>
- <tr class="tr_bg_dark_warning">
- <td>6</td>
- <td id="t6"></td>
- </tr>
- </table>
- </div>
- </div>
- <div style="width:1840px;height:460px;display:flex;flex-direction:row;">
- <div style="width: 50%; height: 460px; ">
- <!--产品完成度百分比-->
- <canvas id="canvasGoodsCL" style="-moz-user-select: none; -webkit-user-select: none; -ms-user-select: none; height: 460px; width: 100%"></canvas>
- </div>
- <div style="width: 50%; height: 460px;">
- <!--工序完工占比-->
- <canvas id="canvasProcedureCL" style="-moz-user-select: none; -webkit-user-select: none; -ms-user-select: none; height: 460px; width: 100%"></canvas>
- </div>
- </div>
- </div>
- </div>
- <script>
- //缺陷统计刷新时间
- var refreshTime1 = 3000;
- var currentTime1 = 0;
- var doGetData;
- var doGetTime;
- var frameHeight;
- var tableHeight;
- var offsetHeight = 20;
- $(document).ready(function () {
- initData();
- clearData();
- doGetData = setInterval(function () { timeUpdate(); }, 1000);
- });
- //帮助说明
- function showHelp() {
- var message = "统计说明:" + "\n";
- message += "型号滚动计划数: web端看板配置-产品产量计划; 计划数 * (本月已过天数 / 本月天数);" + "\n";
- message += "工序计划数: web端看板配置-看板工序产量计划; 计划数 * (本月已过天数 / 本月天数);" + "\n";
- message += "智能马桶型号实际产量: 对应型号的产成品交接数,不区分车间" + "\n";
- message += "成型工序完工产量: 三车间型号的注浆数" + "\n";
- message += "一检工序完工产量: 三车间型号的2#-3#交坯数和3#交坯数" + "\n";
- message += "改洗工序完工产量: 三车间型号的3#上水数" + "\n";
- message += "施釉工序完工产量: 三车间型号的3#施釉数" + "\n";
- message += "烧成工序完工产量: 全部车间的3#入窑数" + "\n";
- message += "成检工序完工产量: 全部车间的3#成检交接数" + "\n";
- alert(message);
- }
- function timeUpdate() {
- if (currentTime1 <= 0) {
- //clearData();
- setTimeout(loadData(), 1000);
- //loadData();
- currentTime1 = refreshTime1;
- }
- else {
- if (currentTime1 > 0) {
- $('#报表加载').html('刷新:' + currentTime1 / 1000 + ' 秒');
- currentTime1 = currentTime1 - 1000;
- }
- }
- }
- function clearData() {
- //清除数据
- window.GoodsCL.data.datasets[0].data = [0, 0, 0, 0, 0, 0];
- window.GoodsCL.data.datasets[1].data = [0, 0, 0, 0, 0, 0];
- window.GoodsCL.update();
- window.ProcedureCL.data.datasets[0].data = [0, 0, 0, 0, 0, 0, 0];
- window.ProcedureCL.data.datasets[1].data = [0, 0, 0, 0, 0, 0, 0];
- window.ProcedureCL.update();
- }
- function loadData(callback) {
- //获取月产品完工数据
- $.get("demo.ashx?m=finish", function (data) {
- var json = JSON.parse(data);
- if (json["success"] == true) {
- for (var i = 0; i < json["rows"].length; i++) {
- $("#q" + (i + 1).toString()).text(json["rows"][i]["型号"]);
- $("#w" + (i + 1).toString()).text(json["rows"][i]["本月计划数"]);
- $("#p" + (i + 1).toString()).text(json["rows"][i]["达成数"]);
- $("#e" + (i + 1).toString()).text(json["rows"][i]["目标达成率"]);
- window.GoodsCL.data.labels[i] = (json["rows"][i]["型号"]);
- window.GoodsCL.data.datasets[1].data[i] = (json["rows"][i]["达成数"]);
- window.GoodsCL.data.datasets[0].data[i] = (json["rows"][i]["本月计划数"]);
- }
- window.GoodsCL.update();
- }
- });
- //成型
- $.get("demo.ashx?m=procedure&procedure=成型", function (data) {
- var json = JSON.parse(data);
- if (json["success"] == true) {
- window.ProcedureCL.data.datasets[1].data[0] = (json["rows"][0]["月实际生产数"]);
- window.ProcedureCL.data.datasets[0].data[0] = (json["rows"][0]["计划数"]);
- window.ProcedureCL.update();
- if (parseInt(json["rows"][0]["完成率"]) + parseInt(json["rows"][0]["预警"]) < 100) {
- $("#t1").text("【成型】工序产量低于" + (100 - parseInt(json["rows"][0]["预警"])) + "%");
- } else {
- $("#t1").text("【成型】达成");
- }
- }
- });
- //一检
- $.get("demo.ashx?m=procedure&procedure=一检", function (data) {
- var json = JSON.parse(data);
- if (json["success"] == true) {
- window.ProcedureCL.data.datasets[1].data[1] = (json["rows"][0]["月实际生产数"]);
- window.ProcedureCL.data.datasets[0].data[1] = (json["rows"][0]["计划数"]);
- window.ProcedureCL.update();
- if (parseInt(json["rows"][0]["完成率"]) + parseInt(json["rows"][0]["预警"]) < 100) {
- $("#t2").text("【一检】工序产量低于" + (100 - parseInt(json["rows"][0]["预警"])) + "%");
- } else {
- $("#t2").text("【一检】达成");
- }
- }
- });
- //改洗
- $.get("demo.ashx?m=procedure&procedure=改洗", function (data) {
- var json = JSON.parse(data);
- if (json["success"] == true) {
- window.ProcedureCL.data.datasets[1].data[2] = (json["rows"][0]["月实际生产数"]);
- window.ProcedureCL.data.datasets[0].data[2] = (json["rows"][0]["计划数"]);
- window.ProcedureCL.update();
- if (parseInt(json["rows"][0]["完成率"]) + parseInt(json["rows"][0]["预警"]) < 100) {
- $("#t3").text("【改洗】工序产量低于" + (100 - parseInt(json["rows"][0]["预警"])) + "%");
- } else {
- $("#t3").text("【改洗】达成");
- }
- }
- });
- //二检
- $.get("demo.ashx?m=procedure&procedure=二检", function (data) {
- var json = JSON.parse(data);
- if (json["success"] == true) {
- window.ProcedureCL.data.datasets[1].data[3] = (json["rows"][0]["月实际生产数"]);
- window.ProcedureCL.data.datasets[0].data[3] = (json["rows"][0]["计划数"]);
- window.ProcedureCL.update();
- if (parseInt(json["rows"][0]["完成率"]) + parseInt(json["rows"][0]["预警"]) < 100) {
- $("#t4").text("【二检】工序产量低于" + (100 - parseInt(json["rows"][0]["预警"])) + "%");
- } else {
- $("#t4").text("【二检】达成");
- }
- }
- });
- //施釉
- $.get("demo.ashx?m=procedure&procedure=施釉", function (data) {
- var json = JSON.parse(data);
- if (json["success"] == true) {
- window.ProcedureCL.data.datasets[1].data[4] = (json["rows"][0]["月实际生产数"]);
- window.ProcedureCL.data.datasets[0].data[4] = (json["rows"][0]["计划数"]);
- window.ProcedureCL.update();
- if (parseInt(json["rows"][0]["完成率"]) + parseInt(json["rows"][0]["预警"]) < 100) {
- $("#t5").text("【施釉】工序产量低于" + (100 - parseInt(json["rows"][0]["预警"])) + "%");
- } else {
- $("#t5").text("【施釉】达成");
- }
- }
- });
- //烧成
- $.get("demo.ashx?m=procedure&procedure=烧成", function (data) {
- var json = JSON.parse(data);
- if (json["success"] == true) {
- window.ProcedureCL.data.datasets[1].data[5] = (json["rows"][0]["月实际生产数"]);
- window.ProcedureCL.data.datasets[0].data[5] = (json["rows"][0]["计划数"]);
- window.ProcedureCL.update();
- if (parseInt(json["rows"][0]["完成率"]) + parseInt(json["rows"][0]["预警"]) < 100) {
- $("#t6").text("【烧成】工序产量低于" + (100 - parseInt(json["rows"][0]["预警"])) + "%");
- } else {
- $("#t6").text("【烧成】达成");
- }
- }
- });
- //成检
- $.get("demo.ashx?m=procedure&procedure=成检", function (data) {
- var json = JSON.parse(data);
- if (json["success"] == true) {
- window.ProcedureCL.data.datasets[1].data[6] = (json["rows"][0]["月实际生产数"]);
- window.ProcedureCL.data.datasets[0].data[6] = (json["rows"][0]["计划数"]);
- window.ProcedureCL.update();
- //if (parseInt(json["rows"][0]["完成率"]) + parseInt(json["rows"][0]["预警"]) < 100) {
- // $("#t7").text("【成检】工序产量低于" + json["rows"][0]["预警"] + "%");
- //} else {
- // $("#t7").text("【成检】达成");
- //}
- }
- });
- }
- function initData() {
- window.chartColors = {
- red: 'rgb(255, 99, 132)',
- orange: 'rgb(255, 159, 64)',
- yellow: 'rgb(255, 250, 86)',
- green: 'rgb(75, 192, 192)',
- blue: 'rgb(54, 162, 250)',
- purple: 'rgb(153, 102, 255)',
- grey: 'rgb(231,233,237)'
- };
- var color = Chart.helpers.color;
- window.randomScalingFactor = function (num) {
- return Math.round(Math.random() * num);
- }
- Chart.defaults.global.defaultFontColor = 'white';
- Chart.defaults.global.defaultFontSize = 24;
- Chart.defaults.global.legend.display = false;
- //产品型号达成=======================================
- window.configGoodsCL = {
- data: {
- labels: ['GOODS', 'GOODS', 'GOODS', 'GOODS', 'GOODS', 'GOODS'],
- datasets: [{
- type: 'line',
- label: '计划产量',
- backgroundColor: color(window.chartColors.orange).alpha(0.35).rgbString(),
- fill: false,
- borderColor: window.chartColors.orange,
- borderWidth: 2,
- pointRadius: 30,
- data: [0, 0, 0, 0, 0, 0]
- }, {
- label: '实际产量',
- backgroundColor: color(window.chartColors.blue).alpha(0.35).rgbString(),
- borderColor: window.chartColors.blue,
- borderWidth: 1,
- data: [0, 0, 0, 0, 0, 0]
- }]
- },
- type: 'bar',
- options: {
- legend: {
- display: true
- },
- title: {
- display: true,
- text: "智能马桶成品统计(月度)"
- },
- tooltips: {
- mode: 'point',
- intersect: false
- },
- responsive: true,
- scales: {
- xAxes: [{
- stacked: false
- }],
- yAxes: [{
- display: true,
- stacked: false,
- ticks: {
- min: 0,
- stepSize: 200,
- max: 2000
- }
- }]
- }
- }
- };
- var ctxGoodsCL = document.getElementById("canvasGoodsCL").getContext("2d");
- window.GoodsCL = new Chart(ctxGoodsCL, configGoodsCL);
- //===================================================
- //工序产量达成=======================================
- window.configProcedureCL = {
- data: {
- labels: ['成型', '一检', '改洗', '二检', '施釉', '烧成', '成检'],
- datasets: [{
- type: 'line',
- label: '计划产量',
- backgroundColor: color(window.chartColors.orange).alpha(0.35).rgbString(),
- fill: false,
- borderColor: window.chartColors.orange,
- borderWidth: 2,
- pointRadius: 30,
- data: [0, 0, 0, 0, 0, 0, 0]
- }, {
- label: '实际产量',
- backgroundColor: color(window.chartColors.blue).alpha(0.35).rgbString(),
- borderColor: window.chartColors.blue,
- borderWidth: 1,
- data: [0, 0, 0, 0, 0, 0, 0]
- }]
- },
- type: 'bar',
- options: {
- legend: {
- display: true
- },
- title: {
- display: true,
- text: "三车间各工序完工统计 (月度)"
- },
- tooltips: {
- mode: 'point',
- intersect: false
- },
- responsive: true,
- scales: {
- xAxes: [{
- stacked: false
- }],
- yAxes: [{
- display: true,
- stacked: false,
- ticks: {
- min: 0,
- stepSize: 200,
- max: 2000
- }
- }]
- }
- }
- };
- var ctxProcedureCL = document.getElementById("canvasProcedureCL").getContext("2d");
- window.ProcedureCL = new Chart(ctxProcedureCL, configProcedureCL);
- //===================================================
- }
- </script>
- <script src="/Plugins/chartjs-2.8.0/chart-2.8.min.js"></script>
- <script src="/Plugins/chartjs-2.8.0/chartjs-plugin-datalabels.js"></script>
- <script src="/Plugins/chartjs-2.8.0/utils.js"></script>
- <script src="/Plugins/circleChart/circleChart.min.js"></script>
- </body>
- </html>
|