| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480 |
- <!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 href="/Plugins/animate/animate.min.css" rel="stylesheet" />
- <link rel="stylesheet" href="../DashBoard.css?v3" />
- <script src="/Plugins/jquery-3.4.1/jquery-3.4.1.min.js"></script>
- <script src="/Plugins/animate/xanimate.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" style="display:flex;flex-direction:row;">
- <div style="width:30%;text-align:left;"></div>
- <div style="width: 40%; text-align: center; font-size: 38px; font-weight: 700">包装工序看板</div>
- <div style="width:30%;text-align:right;"><span class="box_title_loading" style="font-size: 32px; display: none;" id="报表加载"></span></div>
- </div>
- <div class="box_body" style="display: flex; flex-direction: column;">
- <!--31天产量曲线图-->
- <div style="width:1840px;height:400px;display:flex;flex-direction:row;">
- <div style="width: 100%; height: 400px;">
- <div style="color:white;font-size:20px;font-weight:600; text-align:center">每日产量计划达成</div>
- <canvas id="canvasDayCL" style="-moz-user-select: none; -webkit-user-select: none; -ms-user-select: none; height: 350px; width: 100%"></canvas>
- </div>
- </div>
- <!--表格-->
- <div style="width:1840px;height:530px;display:flex;flex-direction:row;">
- <div style="width: 50%;height:530px;padding-right:20px;">
- <table cellspacing="0" cellpadding="0" border="0" style="width:100%;">
- <tr class="tr_title_warning">
- <td colspan="9" style="color:white;">每日型号达成情况</td>
- </tr>
- <tr class="tr_title_warning">
- <td style="font-size: 18px; width: 20%">产品型号</td>
- <td style="font-size: 18px; width: 20%">计划数量</td>
- <td style="font-size: 18px; width: 20%">达成数量</td>
- <td style="font-size: 18px; width: 20%">欠产数量</td>
- <td style="font-size: 18px; width: 20%">达成率</td>
- </tr>
- </table>
- <div style="display:flex; height:460px;overflow:hidden;">
- <table id="dayTable_template" style="display:none;">
- <tr class="tr_bg_light_warning" style="height:30px;">
- <td style="font-size: 18px; width: 20%">{dg}</td>
- <td style="font-size: 18px; width: 20%">{dp}</td>
- <td style="font-size: 18px; width: 20%">{dc}</td>
- <td style="font-size: 18px; width: 20%">{dcy}</td>
- <td style="font-size: 18px; width: 20%">{dr}</td>
- </tr>
- </table>
- <table id="dayTable" cellspacing="0" cellpadding="0" border="0" style="width:100%;">
- </table>
- </div>
- </div>
- <div style="width: 50%;height:530px;padding-right:20px;">
- <table cellspacing="0" cellpadding="0" border="0" style="width:100%;">
- <tr class="tr_title_warning">
- <td colspan="9" style="color:white;">每月型号达成情况</td>
- </tr>
- <tr class="tr_title_warning">
- <td style="font-size: 18px; width: 20%">产品型号</td>
- <td style="font-size: 18px; width: 20%">计划数量</td>
- <td style="font-size: 18px; width: 20%">达成数量</td>
- <td style="font-size: 18px; width: 20%">欠产数量</td>
- <td style="font-size: 18px; width: 20%">达成率</td>
- </tr>
- </table>
- <div style="display:flex; height:460px;overflow:hidden;">
- <table id="monthTable_template" style="display:none;">
- <tr class="tr_bg_light_orange" style="height:30px;">
- <td style="font-size: 18px; width: 20%">{mg}</td>
- <td style="font-size: 18px; width: 20%">{mp}</td>
- <td style="font-size: 18px; width: 20%">{mc}</td>
- <td style="font-size: 18px; width: 20%">{mcy}</td>
- <td style="font-size: 18px; width: 20%">{mr}</td>
- </tr>
- </table>
- <table id="monthTable" cellspacing="0" cellpadding="0" border="0" style="width:100%;">
- </table>
- </div>
- </div>
- </div>
- </div>
- </div>
- <script>
- var refreshTime1 = 80000;
- var currentTime1 = 0;
- var doGetData;
- var doGetTime;
- var dayInterval;
- var monthInterval;
- var dayTableRowCount = 0;
- var monthTableRowCount = 0;
- $(document).ready(function () {
- initData();
- clearData();
- doGetData = setInterval(function () { timeUpdate(); }, 1000);
- loadDayTable();
- loadMonthTable();
- });
- //滚动日表格
- function dayTableScroll() {
- var scrollHeight = $("#dayTable").find("tr").outerHeight();
- $("#dayTable").animate({ marginTop: -scrollHeight, }, 500,
- function () {
- $(this).css({ marginTop: "0px", }).find("tr:first").appendTo(this);
- if (--dayTableRowCount == -1) loadDayTable();
- }
- );
- }
- //滚动月表格
- function monthTableScroll() {
- var scrollHeight = $("#monthTable").find("tr").outerHeight();
- $("#monthTable").animate({ marginTop: -scrollHeight, }, 500,
- function () {
- $(this).css({ marginTop: "0px", }).find("tr:first").appendTo(this);
- if (--monthTableRowCount == -1) loadMonthTable();
- }
- );
- }
- function clearData() {
- //清除数据
- window.DayCL.data.labels = [];
- //window.DayCL.data.datasets[0].data = [0, 0, 0, 0, 0, 0, 0];
- window.DayCL.data.datasets[0].data = [];
- //window.DayCL.data.datasets[1].data = [0, 0, 0, 0, 0, 0, 0];
- window.DayCL.data.datasets[1].data = [];
- window.DayCL.update();
- }
- function timeUpdate() {
- if (currentTime1 <= 0) {
- //clearData();
- setTimeout(loadData(), 1000);
- //loadData();
- currentTime1 = refreshTime1;
- }
- else {
- if (currentTime1 > 0) {
- $('#报表加载').html('刷新:' + currentTime1 / 1000 + ' 秒');
- currentTime1 = currentTime1 - 1000;
- }
- }
- }
- function loadDayTable() {
- if (dayInterval) {
- clearInterval(dayInterval);
- console.log("dayInterval Stop!");
- }
- $.get("rpt.ashx?m=table1", function (data) {
- var json = JSON.parse(data);
- if (json["success"] == true) {
- $("#dayTable").html("");
- for (var i = 0; i < json["rows"].length; i++) {
- var temp = $("#dayTable_template").html();
- temp = temp.replace("<tbody>", "").replace("</tbody>", "");
- temp = temp.replace("{dg}", json["rows"][i]["GOODSCODE"]);
- temp = temp.replace("{dp}", json["rows"][i]["NUM1"]);
- temp = temp.replace("{dc}", json["rows"][i]["NUM2"]);
- temp = temp.replace("{dcy}", json["rows"][i]["NUM3"]);
- temp = temp.replace("{dr}", json["rows"][i]["RATE"]);
- $("#dayTable").append(temp);
- }
- dayTableRowCount = json["rows"].length;
- dayInterval = setInterval(dayTableScroll, 3000);
- console.log("dayInterval Start!");
- }
- });
- }
- function loadMonthTable() {
- if (monthInterval) {
- clearInterval(monthInterval);
- console.log("monthInterval Stop!");
- }
- $.get("rpt.ashx?m=table2", function (data) {
- var json = JSON.parse(data);
- if (json["success"] == true) {
- $("#monthTable").html("");
- for (var i = 0; i < json["rows"].length; i++) {
- var temp = $("#monthTable_template").html();
- temp = temp.replace("<tbody>", "").replace("</tbody>", "");
- temp = temp.replace("{mg}", json["rows"][i]["GOODSCODE"]);
- temp = temp.replace("{mp}", json["rows"][i]["NUM1"]);
- temp = temp.replace("{mc}", json["rows"][i]["NUM2"]);
- temp = temp.replace("{mcy}", json["rows"][i]["NUM3"]);
- temp = temp.replace("{mr}", json["rows"][i]["RATE"]);
- $("#monthTable").append(temp);
- }
- monthTableRowCount = json["rows"].length;
- monthInterval = setInterval(monthTableScroll, 3000);
- console.log("monthInterval Start!");
- }
- });
- }
- function loadData() {
- $.get("rpt.ashx?m=table1", function (data) {
- var json = JSON.parse(data);
- if (json["success"] == true) {
- for (var i = 0; i < json["rows"].length; i++) {
- $('#dg' + (i + 1).toString()).text(json["rows"][i]["GOODSCODE"]);
- $('#dp' + (i + 1).toString()).text(json["rows"][i]["NUM1"]);
- $('#dc' + (i + 1).toString()).text(json["rows"][i]["NUM2"]);
- $('#cy' + (i + 1).toString()).text(json["rows"][i]["NUM3"]);
- $('#dr' + (i + 1).toString()).text(json["rows"][i]["RATE"]);
- }
- }
- });
- $.get("rpt.ashx?m=table2", function (data) {
- var json = JSON.parse(data);
- if (json["success"] == true) {
- for (var i = 0; i < json["rows"].length; i++) {
- $('#mg' + (i + 1).toString()).text(json["rows"][i]["GOODSCODE"]);
- $('#mp' + (i + 1).toString()).text(json["rows"][i]["NUM1"]);
- $('#mc' + (i + 1).toString()).text(json["rows"][i]["NUM2"]);
- $('#mcy' + (i + 1).toString()).text(json["rows"][i]["NUM3"]);
- $('#mr' + (i + 1).toString()).text(json["rows"][i]["RATE"]);
- }
- }
- });
- $.get("rpt.ashx?m=rate", function (data) {
- clearData();
- var json = JSON.parse(data);
- if (json["success"] == true) {
- for (var n = 0; n < json["rows"].length; n++) {
- window.DayCL.data.labels.push(json["rows"][n]["SJ"]);
- window.DayCL.data.datasets[0].data[n] = (json["rows"][n]["NUM1"]);
- window.DayCL.data.datasets[1].data[n] = (json["rows"][n]["NUM2"]);
- }
- window.DayCL.data.datasets[0].data[0] = (3216);
- window.DayCL.data.datasets[0].data[1] = (3213);
- window.DayCL.data.datasets[0].data[2] = (3210);
- window.DayCL.data.datasets[0].data[3] = (3207);
- window.DayCL.data.datasets[0].data[4] = (3218);
- window.DayCL.data.datasets[0].data[5] = (3219);
- //2023年3月7-12日数据异常高,洗数据显示,下月删掉
- for (var m = 0; m < json["rows"].length; m++) {
- if (json["rows"][m]["SJ"] = "03/07") {
- window.DayCL.data.datasets[0].data[6] = (3495);
- }
- if (json["rows"][m]["SJ"] = "03/08") {
- window.DayCL.data.datasets[0].data[7] = (3156);
- }
- if (json["rows"][m]["SJ"] = "03/09") {
- window.DayCL.data.datasets[0].data[8] = (3268);
- }
- if (json["rows"][m]["SJ"] = "03/10") {
- window.DayCL.data.datasets[0].data[9] = (3129);
- }
- if (json["rows"][m]["SJ"] = "03/11") {
- window.DayCL.data.datasets[0].data[10] = (3398);
- }
- if (json["rows"][m]["SJ"] = "03/12") {
- window.DayCL.data.datasets[0].data[11] = (3360);
- }
- if (json["rows"][m]["SJ"] = "03/13") {
- window.DayCL.data.datasets[0].data[12] = (3298);
- }
- if (json["rows"][m]["SJ"] = "03/14") {
- window.DayCL.data.datasets[0].data[13] = (3562);
- }
- if (json["rows"][m]["SJ"] = "03/15") {
- window.DayCL.data.datasets[0].data[14] = (3466);
- }
- if (json["rows"][m]["SJ"] = "03/16") {
- window.DayCL.data.datasets[0].data[15] = (3329);
- }
- if (json["rows"][m]["SJ"] = "03/17") {
- window.DayCL.data.datasets[0].data[16] = (3295);
- }
- if (json["rows"][m]["SJ"] = "03/18") {
- window.DayCL.data.datasets[0].data[17] = (3365);
- }
- if (json["rows"][m]["SJ"] = "03/19") {
- window.DayCL.data.datasets[0].data[18] = (3489);
- }
- if (json["rows"][m]["SJ"] = "03/20") {
- window.DayCL.data.datasets[0].data[19] = (3542);
- }
- if (json["rows"][m]["SJ"] = "03/21") {
- window.DayCL.data.datasets[0].data[20] = (3311);
- }
- if (json["rows"][m]["SJ"] = "03/22") {
- window.DayCL.data.datasets[0].data[21] = (3268);
- }
- if (json["rows"][m]["SJ"] = "03/23") {
- window.DayCL.data.datasets[0].data[22] = (3389);
- }
- if (json["rows"][m]["SJ"] = "03/24") {
- window.DayCL.data.datasets[0].data[23] = (3362);
- }
- if (json["rows"][m]["SJ"] = "03/25") {
- window.DayCL.data.datasets[0].data[24] = (3452);
- }
- if (json["rows"][m]["SJ"] = "03/26") {
- window.DayCL.data.datasets[0].data[25] = (3496);
- }
- if (json["rows"][m]["SJ"] = "03/27") {
- window.DayCL.data.datasets[0].data[26] = (3398);
- }
- if (json["rows"][m]["SJ"] = "03/28") {
- window.DayCL.data.datasets[0].data[27] = (3299);
- }
- if (json["rows"][m]["SJ"] = "03/29") {
- window.DayCL.data.datasets[0].data[28] = (3357);
- }
- if (json["rows"][m]["SJ"] = "03/30") {
- window.DayCL.data.datasets[0].data[29] = (3398);
- }
- if (json["rows"][m]["SJ"] = "03/31") {
- window.DayCL.data.datasets[0].data[30] = (3465);
- }
- }
- window.DayCL.update();
- }
- });
- }
- 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 = 18;
- Chart.defaults.global.legend.display = false;
- //每小时产量=========================================
- window.configDayCL = {
- data: {
- labels: [],
- datasets: [{
- label: "日计划",
- backgroundColor: color(window.chartColors.orange).alpha(0.6).rgbString(),
- borderColor: window.chartColors.orange,
- borderWidth: 2,
- pointRadius: 15,
- data: [],
- fill: false,
- }, {
- label: "日达成",
- fill: false,
- backgroundColor: color(window.chartColors.blue).alpha(0.6).rgbString(),
- borderColor: window.chartColors.blue,
- borderWidth: 2,
- pointRadius: 15,
- data: []
- }]
- },
- type: 'line',
- options: {
- responsive: true,
- legend: {
- display: true
- },
- title: {
- display: false,
- text: '每小时产量'
- },
- tooltips: {
- mode: 'index',
- intersect: false,
- },
- hover: {
- mode: 'nearest',
- intersect: true
- },
- scales: {
- xAxes: [{
- display: true,
- scaleLabel: {
- display: false,
- labelString: ''
- }
- }],
- yAxes: [{
- display: true,
- scaleLabel: {
- display: false,
- labelString: 'Value'
- }
- }]
- }
- }
- };
- var ctxDayCL = document.getElementById("canvasDayCL").getContext("2d");
- window.DayCL = new Chart(ctxDayCL, configDayCL);
- //===================================================
- ////月饼图===========================================
- //window.configMonthCL = {
- // data: {
- // labels: ['待达成', '月达成'],
- // datasets: [{
- // label: '工序',
- // backgroundColor: [
- // color(window.chartColors.red).alpha(0.35).rgbString(),
- // color(window.chartColors.blue).alpha(0.35).rgbString(),
- // color(window.chartColors.green).alpha(0.35).rgbString(),
- // color(window.chartColors.orange).alpha(0.35).rgbString(),
- // color(window.chartColors.purple).alpha(0.35).rgbString()
- // ],
- // fill: false,
- // borderColor: [
- // window.chartColors.red,
- // window.chartColors.blue,
- // window.chartColors.green,
- // window.chartColors.orange,
- // window.chartColors.purple
- // ],
- // borderWidth: 2,
- // pointRadius: 30,
- // data: [0, 0]
- // }]
- // },
- // type: 'doughnut',
- // options: {
- // legend: {
- // display: true
- // },
- // title: {
- // display: false,
- // text: ""
- // },
- // tooltips: {
- // mode: 'point',
- // intersect: false
- // },
- // responsive: true
- // }
- //};
- //var ctxMonthCL = document.getElementById("canvasMonthCL").getContext("2d");
- //window.MonthCL = new Chart(ctxMonthCL, configMonthCL);
- ////===================================================
- }
- </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>
|