Просмотр исходного кода

驾驶舱 重构优化代码结构 适配4K显示器 添加计时器

李士越 1 год назад
Родитель
Сommit
d2f2f6004f
1 измененных файлов с 192 добавлено и 219 удалено
  1. 192 219
      wwwroot/main/manage/JiaShiCang/demo2.html

+ 192 - 219
wwwroot/main/manage/JiaShiCang/demo2.html

@@ -1,5 +1,5 @@
 <!doctype html>
-<html lang="en" data-bs-theme="auto">
+<html lang="en" data-bs-theme="auto"style="width:100%;height:100%;">
 <head>
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width">
@@ -12,12 +12,6 @@
             height: 100vh;
         }
 
-        .col {
-            width: 1680px;
-            height: 960px;
-            margin: auto;
-        }
-
         .bigtitle {
             height: 200px;
             background-repeat: no-repeat;
@@ -26,32 +20,42 @@
             background-size: 100% auto;
         }
 
-        .boardone {
+        .col {
+            width: 100%;
+            height: 100%;
+            margin: auto;
             background-repeat: no-repeat;
             background-position: center;
             background-image: url(/Img/bg9in1.png);
-            background-size: 1500px 800px; /* 宽度*高度*/
+            background-size: 100% 100%; /* 宽度*高度*/
         }
 
-            .boardone .title {
-                padding-top: 140px;
+            .col .title {
+                margin-top: 5%;
                 color: white;
                 font-size: 40px;
                 font-weight: 600;
             }
 
-            .boardone .chart {
-                margin-left: 150px;
-                margin-top: 10px;
-                width: 100%;
-                height: 550px;
-                font-size: 10px;
-                outline-width: 10px;
-            }
+        .chart {
+            height: 80%;
+            width: 90%;
+            margin: auto auto 2% auto;
+           
+        }
+
+        .col .chart canvas {
+            /* 使canvas宽度填满其父容器 */
+            width: 100%;
+            /* 根据内容自动调整高度,或者设置固定高度 */
+            height: 100%;
+        }
 
         .doughnut {
-            width: 600px !important;
-            height: 800px !important;
+            /* 使用百分比宽度,但可能需要调整以适应父容器 */
+            width: 100%;
+            /* 根据内容调整高度,或使用固定高度但需确保不超出父容器 */
+            height: 100%;
         }
 
         table, tr, td {
@@ -59,12 +63,17 @@
             font-size: 30px;
             color: #D0D0D0;
             white-space: nowrap;
-            /*line-height: 200%;*/
         }
 
-        .tableheader {
-            font-weight: 800;
-            background-color: #0f58a2;
+        .tableheader-container {
+            overflow: hidden;
+            width: 100%;
+        }
+
+        #tableheader {
+            width: 100%;
+            /* 确保列宽固定,有助于计算 */
+            table-layout: fixed;
         }
 
         .pinguan {
@@ -76,154 +85,188 @@
         }
 
         .container {
+     /*       height: 90vh;
+            width: 100vw;*/
             width: 100%;
+            height: 90% ;
             display: grid;
-            grid-template-columns: repeat(3, 1fr); /* 创建3列,每列等宽 */
-
-            grid-gap: 200px;
+            /* 创建3列,每列等宽 */
+            grid-template-columns: repeat(3, 1fr);
+            /* 添加此行以平分高度 */
+            grid-template-rows: repeat(3, 1fr);
+            grid-gap: 150px;
+            /* 确保padding被包含在容器的总宽度内 */
             box-sizing: border-box;
-            padding: 0 20px;
-            box-sizing: border-box; /* 确保padding被包含在容器的总宽度内 */
             max-width: none !important;
+            padding-top: 50px;
         }
 
         .workshop {
             font-size: 30px;
             color: white;
         }
+
+        .doughnut-row {
+            width: 100%;
+            height: 85%;
+            /* 启用flex布局以水平排列项目 */
+            display: flex;
+            /* 在行中,左右元素之间等间距 */
+            justify-content: space-between;
+        }
+
+        .doughnut-item {
+            width: 100%;
+            text-align: center;
+        }
+
+            .doughnut-item canvas, .doughnut-item span {
+                /* 将它们转换为块级元素,以便更容易地应用垂直居中 */
+                display: block;
+                /* 水平居中*/
+                margin: 0 auto;
+            }
     </style>
 </head>
 <body class="m-0 p-0 border-0" style="width:100%;height:100%;">
     <!--Android-->
-    <div class="m-1" style="width:100%;height:100%;">
-        <div class="row pb-4" style="width:100%;">
+    <div style="width:100%;height:100%;">
+        <div class="row" style="width:100%;">
             <div class=" bigtitle"></div>
         </div>
-        <div class="row  text-center g-2 container" style="width:100%;">
-            <div class="col  boardone  ">
-                <div class="title">
-                    新品入仓
-                </div>
-                <div class="chart" style="height:100%; width:80%">
-                    <canvas id="canvas04" height="125"></canvas>
+        <div class="row  text-center g-2 container" style="">
+            <div class="col">
+                <div class="title">新品入仓</div>
+                <div class="chart">
+                    <canvas id="canvas04"></canvas>
                 </div>
+
             </div>
-            <div class="col   boardone  ">
+            <div class="col">
                 <div class="title">
                     每周产品半检检验报废率TOP5
                 </div>
-                <div class="chart" style="height:100%; width: 82%; margin-left: 120px ;margin-top:-15px">
-                    <canvas id="canvas10" height="130"></canvas>
+                <div class="chart">
+                    <canvas id="canvas10"></canvas>
                 </div>
             </div>
 
-            <div class="col   boardone  ">
-                <div class="title pb-2">
+            <div class="col">
+                <div class="title">
                     每周产品成检检验报废率TOP5
                 </div>
-                <div class="chart" style="height:100%; width: 72%; margin-left: 200px ;">
-                    <canvas id="canvas06" height="140"></canvas>
+                <div class="chart">
+                    <canvas id="canvas06"></canvas>
                 </div>
             </div>
 
-            <div class="col boardone  ">
+            <div class="col">
                 <div class="title">
                     每周各车间半检TOP3
                 </div>
-                <div class="doughnut">
-                    <div style=" margin-top: 120px; height: 500px; width: 800px;">
-                        <canvas id="canvas031"></canvas>
-                        <span class="workshop">一车间</span>
-                    </div>
-                    <div style="margin-left: 420px; margin-top: -620px; height: 500px; width: 800px; ">
-                        <canvas id="canvas032"></canvas>
-                        <span class="workshop">二车间</span>
-                    </div>
-                    <div style="margin-left: 900px; margin-top: -370px; height: 500px; width: 800px;">
-                        <canvas id="canvas033"></canvas>
-                        <span class="workshop">三车间</span>
+                <div class="chart">
+
+                    <div class="doughnut-row" style="justify-content: center; ">
+                        <div class="doughnut-item">
+                            <canvas id="canvas031"></canvas>
+                            <span class="workshop">一车间</span>
+                        </div>
+                        <div class="doughnut-item">
+                            <canvas id="canvas032"></canvas>
+                            <span class="workshop">二车间</span>
+                        </div>
+                        <div class="doughnut-item">
+                            <canvas id="canvas033"></canvas>
+                            <span class="workshop">三车间</span>
+                        </div>
                     </div>
                 </div>
             </div>
-            <div class="col boardone ">
+            <div class="col">
                 <div class="title">
                     每周各车间产质量
                 </div>
-                <div class="chart" style="height:100%; width: 72%; margin-left: 200px ;">
-                    <canvas id="canvas01" height="145"></canvas>
+                <div class="chart">
+                    <canvas id="canvas01"></canvas>
                 </div>
             </div>
-            <div class="col boardone ">
+            <div class="col">
                 <div class="title">
                     每周各车间成检TOP3
                 </div>
-                <div class="doughnut">
-                    <div style="margin-top: 120px; height: 500px; width: 800px;">
-                        <canvas id="canvas021"></canvas>
-                        <span class="workshop">一车间</span>
-                    </div>
-                    <div style="margin-left: 420px; margin-top: -620px; height: 500px; width: 800px; ">
-                        <canvas id="canvas022"></canvas>
-                        <span class="workshop">二车间</span>
-                    </div>
-                    <div style="margin-left: 900px; margin-top: -370px; height: 500px; width: 800px;">
-                        <canvas id="canvas023"></canvas>
-                        <span class="workshop">三车间</span>
+                <div class="chart">
+
+                    <div class="doughnut-row">
+                        <div class="doughnut-item">
+                            <canvas id="canvas021"></canvas>
+                            <span class="workshop">一车间</span>
+                        </div>
+
+                        <div class="doughnut-item">
+                            <canvas id="canvas022"></canvas>
+                            <span class="workshop">二车间</span>
+                        </div>
+
+                        <div class="doughnut-item">
+                            <canvas id="canvas023"></canvas>
+                            <span class="workshop">三车间</span>
+                        </div>
                     </div>
+
                 </div>
+
             </div>
-            <div class="col  boardone ">
+            <div class="col">
                 <div class="title">
                     品管抽检缺陷率
                 </div>
-                <div class="chart" style="height: 100%;width:82%;  margin-left: 120px ;">
-                    <canvas id="canvas11" height="125"></canvas>
+                <div class="chart">
+                    <canvas id="canvas11"></canvas>
                 </div>
             </div>
-            <div class="col  boardone ">
+            <div class="col">
                 <div class="title">
                     品管抽检数据展示
                 </div>
-                <div class="chart" style="height:100%;width: 82%; margin-left: 120px ;">
-                    <canvas id="canvas09" height="125"></canvas>
+                <div class="chart">
+                    <canvas id="canvas09"></canvas>
                 </div>
             </div>
-            <div class="col boardone ">
-                <div class="title pb-2">
+            <div class="col">
+                <div class="title">
                     各车间缺陷周环比
                 </div>
-                <div class="chart" style="height: 100%; margin-left: 150px;">
-                    <table style="width:80%; height:50px;" class="table-striped">
+                <div class="chart">
+                    <table class="table-striped" style="width: 100%;">
                         <tr class="各车间缺陷周环比">
-                            <td style="width:160px; height:10%;">产品类别</td>
-                            <td style="width: 160px; height: 10%;">缺陷名称</td>
-                            <td style="width: 160px; height: 10%;">缺陷数</td>
-                            <td style="width: 180px; height: 10%;">缺陷占比 </td>
-                            <td style="width: 180px; height: 10%;">上周比</td>
-                            <td>对比趋势</td>
+                            <td style="width: 15%;  ">产品类别</td>
+                            <td style="width: 15%; height: 10%;">缺陷名称</td>
+                            <td style="width: 15%; height: 10%;">缺陷数</td>
+                            <td style="width: 15%; height: 10%;">缺陷占比 </td>
+                            <td style="width: 15%; height: 10%;">上周比</td>
+                            <td style="width: 25%; height: 10%;">对比趋势</td>
                         </tr>
                     </table>
-                    <div>
-                        <div>
-                            <table id="dayTable_template" style="display:none;">
+                    <div class="tableheader-container">
+                        <div style="width:100%">
+                            <table id="dayTable_template" style="display: none; width: 100%;">
                                 <tr>
-                                    <td style="width: 160px; height: 10%;">{产品类别}</td>
-                                    <td style="width: 160px; height: 10%;">{缺陷名称}</td>
-                                    <td style="width: 160px; height: 10%;">{缺陷数}</td>
-                                    <td style="width: 180px; height: 10%;">{缺陷占比}</td>
-                                    <td style="width: 180px; height: 10%;">{上周比}</td>
-                                    <td>{对比趋势}</td>
+                                    <td style="width: 15%;  ">{产品类别}</td>
+                                    <td style="width: 15%; height: 10%;">{缺陷名称}</td>
+                                    <td style="width: 15%; height: 10%;">{缺陷数}</td>
+                                    <td style="width: 15%; height: 10%;">{缺陷占比}</td>
+                                    <td style="width: 15%; height: 10%;">{上周比}</td>
+                                    <td style="width: 25%; height: 10%;">{对比趋势}</td>
                                 </tr>
                             </table>
                         </div>
-                        <table id="tableheader" class="tablefix" style="width:80%;height:100%; ">
+                        <table id="tableheader" class="tablefix"  style="width: 100%; height: 90%; ">
                         </table>
                     </div>
                 </div>
             </div>
         </div>
     </div>
-
     <script src="/plugins/bootstrap/bootstrap.bundle.min.js"></script>
     <script src="/plugins/jquery-3.4.1/jquery-3.4.1.min.js"></script>
     <script src="/Plugins/chartjs-2.8.0/chart-2.8.min.js"></script>
@@ -233,74 +276,25 @@
     <script>
         //定义color
         var color = Chart.helpers.color;
-        //每周各车间产质量
-        var refreshTime01 = 30;
-        var currentTime01 = 10;
-        //半检大小件TOP3缺陷占比
-        var refreshTime02 = 60;
-        var currentTime02 = 10;
-        //成检大小件TOP3缺陷占比
-        var refreshTime03 = 120;
-        var currentTime03 = 10;
-        //每周各车间成型产量湿收率
-        var refreshTime04 = 180;
-        var currentTime04 = 10;
-        //各车间缺陷周环比
-        var refreshTime05 = 240;
-        var currentTime05 = 10;
-        //每周干补率及冷补率
-        var refreshTime06 = 300;
-        var currentTime06 = 10;
-        //每周大小件大工序产量
-        var refreshTime07 = 360;
-        var currentTime07 = 10;
-        //模具库存周转率,产品SKU周转率
-        var refreshTime08 = 420;
-        var currentTime08 = 10;
-        //品管抽检数据展示
-        var refreshTime09 = 480;
-        var currentTime09 = 10;
-
-        var mainInterval;
         var mainRowCount = 0;
-        //刷新时间
-        function doTimer() {
-            if (currentTime01 == 0) load01();
-            if (currentTime01 >= 0) $("#currentTime01").text(currentTime01);
-            currentTime01--;
-            if (currentTime02 == 0) load02();
-            if (currentTime02 >= 0) $("#currentTime02").text(currentTime02);
-            currentTime02--;
-            if (currentTime03 == 0) load03();
-            if (currentTime03 >= 0) $("#currentTime03").text(currentTime03);
-            currentTime03--;
-            if (currentTime04 == 0) load04();
-            if (currentTime04 >= 0) $("#currentTime04").text(currentTime04);
-            currentTime04--;
-            if (currentTime05 == 0) load05();
-            if (currentTime05 >= 0) $("#currentTime05").text(currentTime05);
-            currentTime05--;
-            if (currentTime06 == 0) load06();
-            if (currentTime06 >= 0) $("#currentTime06").text(currentTime06);
-            currentTime06--;
-            if (currentTime07 == 0) load07();
-            if (currentTime07 >= 0) $("#currentTime07").text(currentTime07);
-            currentTime07--;
-            if (currentTime08 == 0) load08();
-            if (currentTime08 >= 0) $("#currentTime08").text(currentTime08);
-            currentTime08--;
-            if (currentTime09 == 0) load09();
-            if (currentTime09 >= 0) $("#currentTime09").text(currentTime09);
-            currentTime09--;
-        }
-
         //页面初期
         $(document).ready(function () {
             initAll();
             //设置缩放
             xuwell.setScale(0.56);
             loadAll();
-        });
+            maxheight();
+            // 使用setInterval来每1分钟(60000毫秒)调用一次load01函数  
+            setInterval(function () {
+                loadAll();
+            }, 60000); 
+        }); 
+        function maxheight(){
+            var chartHeight = $('.chart').outerHeight(); // 使用outerHeight以包括padding和border(如果需要)  
+            var maxHeight = chartHeight * 0.75; 
+            $('.tableheader-container').css('max-height', maxHeight + 'px');
+            $('.tableheader-container').css('min-height', maxHeight + 'px');
+        }
         function mainScroll() {
             var scrollHeight = $("#tableheader").find("tr").outerHeight();
             $("#tableheader").animate({ marginTop: -scrollHeight, }, 500,
@@ -324,7 +318,7 @@
                 DarkViolet: 'rgb(148,0,211)',
                 Magenta1: 'rgb(255,0,255)'
             };
-
+       
             window.randomScalingFactor = function (num) {
                 return Math.round(Math.random() * num);
             }
@@ -389,6 +383,7 @@
                         intersect: true
                     },
                     responsive: true,
+                    maintainAspectRatio: false,
                     scales: {
                         xAxes: [{
                             scaleLabel: {
@@ -477,8 +472,8 @@
                         mode: 'point',
                         intersect: false
                     },
-                    responsive: true
-
+                    responsive: true,
+                    maintainAspectRatio: false,
                 }
             };
             var ctx021 = document.getElementById("canvas021").getContext("2d");
@@ -520,8 +515,8 @@
                         mode: 'point',
                         intersect: false
                     },
-                    responsive: true
-
+                    responsive: true,
+                     maintainAspectRatio: false,
                 }
             };
             var ctx022 = document.getElementById("canvas022").getContext("2d");
@@ -563,8 +558,8 @@
                         mode: 'point',
                         intersect: false
                     },
-                    responsive: true
-
+                    responsive: true,
+                     maintainAspectRatio: false,
                 }
             };
             var ctx023 = document.getElementById("canvas023").getContext("2d");
@@ -610,8 +605,8 @@
                         mode: 'point',
                         intersect: false
                     },
-                    responsive: true
-
+                    responsive: true,
+                     maintainAspectRatio: false,
                 }
             };
             var ctx031 = document.getElementById("canvas031").getContext("2d");
@@ -653,7 +648,8 @@
                         mode: 'point',
                         intersect: false
                     },
-                    responsive: true
+                    responsive: true,
+                    maintainAspectRatio: false,
                 }
             };
             var ctx032 = document.getElementById("canvas032").getContext("2d");
@@ -695,7 +691,8 @@
                         mode: 'point',
                         intersect: false
                     },
-                    responsive: true
+                    responsive: true,
+                    maintainAspectRatio: false,
                 }
             };
             var ctx033 = document.getElementById("canvas033").getContext("2d");
@@ -736,6 +733,7 @@
                         },
                     },
                     responsive: true,
+                    maintainAspectRatio: false,
                     scales: {
                         xAxes: [{
                             display: true,
@@ -767,7 +765,6 @@
                 }
             };
             var ctx04 = document.getElementById("canvas04").getContext("2d");
-            ctx04.fontsize = 10;
             window.chart04 = new Chart(ctx04, config04);
         }
         //各车间缺陷周环比
@@ -821,8 +818,9 @@
                     hover: {
                         mode: 'nearest',
                         intersect: true
-                    },
+                    }, 
                     responsive: true,
+                    maintainAspectRatio: false,
                     scales: {
                         xAxes: [{
                             scaleLabel: {
@@ -996,6 +994,7 @@
                         intersect: true
                     },
                     responsive: true,
+                    maintainAspectRatio: false,
                     scales: {
                         xAxes: [{
                             scaleLabel: {
@@ -1103,6 +1102,7 @@
                     },
 
                     responsive: true,
+                    maintainAspectRatio: false,
                     scales: {
                         xAxes: [{
                             scaleLabel: {
@@ -1199,6 +1199,7 @@
                         intersect: true
                     },
                     responsive: true,
+                    maintainAspectRatio: false,
                     scales: {
                         xAxes: [{
                             scaleLabel: {
@@ -1276,9 +1277,7 @@
                     window.chart01.data.datasets[1].data = onedate2;
                     window.chart01.data.datasets[2].data = onedate1;
                     window.chart01.update();
-                }
-                //加载完成,重置刷新时间。
-                currentTime01 = refreshTime01;
+                } 
             });
         }
         //半检大小件TOP3缺陷占比
@@ -1314,11 +1313,8 @@
                         window.chart033.data.labels = threelabel;
                         window.chart031.update();
                         window.chart032.update();
-                        window.chart033.update();
-
-                    }
-                    //加载完成,重置刷新时间。
-                    currentTime01 = refreshTime01;
+                        window.chart033.update(); 
+                    } 
                 }
             });
         }
@@ -1358,9 +1354,7 @@
                             window.chart022.update();
                             window.chart023.update();
                         }
-                    }
-                    //加载完成,重置刷新时间。
-                    currentTime01 = refreshTime01;
+                    } 
                 }
             });
         }
@@ -1380,17 +1374,11 @@
                         window.chart04.data.datasets[0].data = onedate;
                         window.chart04.update();
                     }
-                }
-                //加载完成,重置刷新时间。
-                currentTime01 = refreshTime01;
+                } 
             });
         }
         //各车间缺陷周环比
-        function load05() {
-            if (mainInterval) {
-                clearInterval(mainInterval);
-                console.log("Interval Stop!");
-            }
+        function load05() { 
             //加载数据
             $.get("rpt.ashx?m=Load05", function (data) {
                 //更新图表数据
@@ -1419,9 +1407,7 @@
                         }
                     }
                     mainRowCount = json["rows"].length;
-                    mainInterval = setInterval(mainScroll, 3000);
-                    //加载完成,重置刷新时间。
-                    currentTime01 = refreshTime01;
+                    mainInterval = setInterval(mainScroll, 5000);
                 }
             });
         }
@@ -1436,20 +1422,16 @@
                     let onedate2 = [];
                     let onedate3 = [];
                     var num = (json["rows"].length);
-                    for (var i = 0; i < num; i++) {
-
+                    for (var i = 0; i < num; i++) { 
                         onedate3.push(json["rows"][i]["检验数"]);
-                        onedate2.push(json["rows"][i]["废品率"]);
-
+                        onedate2.push(json["rows"][i]["废品率"]); 
                         onedate1.push(json["rows"][i]["GOODSCODE"]);
                     }
                     window.chart06.data.datasets[0].data = onedate2;
                     window.chart06.data.datasets[1].data = onedate3;
                     window.chart06.data.labels = onedate1;
                     window.chart06.update();
-                }
-                //加载完成,重置刷新时间。
-                currentTime01 = refreshTime01;
+                }  
             });
         }
         //每周大小件大工序产量
@@ -1459,9 +1441,7 @@
                 var json = JSON.parse(data);
                 if (json["success"] == true) {
                     let onedate1 = [];
-                    let onedate2 = [];
-                    let onedate3 = [];
-
+                    let onedate2 = []; 
                     onedate1.push((json["rows"][0]["SMALLGDD"]));
                     onedate1.push((json["rows"][0]["SMALLHALF"]));
                     onedate1.push((json["rows"][0]["SMALLGLAZE"]));
@@ -1478,8 +1458,7 @@
                     window.chart07.data.datasets[0].data = onedate2;
                     window.chart07.update();
                 }
-                //加载完成,重置刷新时间。
-                currentTime01 = refreshTime01;
+                 
             });
         }
         //每周产品检验报废率
@@ -1504,9 +1483,7 @@
                     window.chart10.data.datasets[1].data = onedate3;
                     window.chart10.data.labels = onedate1;
                     window.chart10.update();
-                }
-                //加载完成,重置刷新时间。
-                currentTime01 = refreshTime01;
+                } 
             });
         }
         //品管抽检数据展示
@@ -1531,9 +1508,7 @@
                     window.chart09.data.datasets[2].data = onedate4;
                     window.chart09.data.labels = onedate3;
                     window.chart09.update();
-                }
-                //加载完成,重置刷新时间。
-                currentTime01 = refreshTime01;
+                } 
             });
         }
 
@@ -1557,9 +1532,7 @@
                     window.chart11.data.datasets[1].data = onedate3;
                     window.chart11.data.labels = onedate1;
                     window.chart11.update();
-                }
-                //加载完成,重置刷新时间。
-                currentTime01 = refreshTime01;
+                }  
             });
         }
     </script>