index.html 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241
  1. <!doctype html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="utf-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
  6. <link rel="shortcut icon" href="/img/logo.png" />
  7. <link rel="bookmark" href="/img/logo.png" />
  8. <link rel="stylesheet" href="../DashBoard.css?v3" />
  9. <script src="/Plugins/jquery-3.4.1/jquery-3.4.1.min.js"></script>
  10. <script src="/Plugins/xrequest/xrequest.min.js"></script>
  11. <script src="/Plugins/xcountto/xcountTo.min.js"></script>
  12. <title>东科软件</title>
  13. </head>
  14. <body>
  15. <div class="m4_box_1920_1080">
  16. <div class="m4_box_title" onclick="showHelp()" style="cursor:pointer">
  17. <div class="m4_box_title_arrow"></div><div class="m4_box_title_arrow2"></div> <div>包装日计划</div><span class="m4_box_title_loading" id="报表加载"></span>
  18. </div>
  19. <div class="m4_box_body" style="padding-right: 20px;width:1720px;">
  20. <div style="width: 1720px; height: 230px;">
  21. <!--流量-->
  22. <table cellspacing="0" cellpadding="0" border="0" style="width:100%;">
  23. <tr class="tr_title_warning" style="height:50px;">
  24. <td colspan="2">成型产量</td>
  25. <td colspan="2">半检产量</td>
  26. <td colspan="2">施釉产量</td>
  27. <td colspan="2">烧成产量</td>
  28. <td colspan="2">成检产量</td>
  29. </tr>
  30. <tr class="tr_title_warning">
  31. <td>大件</td>
  32. <td>小件</td>
  33. <td>大件</td>
  34. <td>小件</td>
  35. <td>大件</td>
  36. <td>小件</td>
  37. <td>大件</td>
  38. <td>小件</td>
  39. <td>大件</td>
  40. <td>小件</td>
  41. </tr>
  42. <tr class="tr_bg_light_warning" style="height:120px;">
  43. <td id="agv1" data-decimals="2" data-speed="2000" style="font-size: 40px; width: 10%"></td>
  44. <td id="agv11" data-decimals="2" data-speed="2000" style="font-size: 40px; width: 10%"></td>
  45. <td id="agv2" data-decimals="2" data-speed="2000" style="font-size: 40px; width: 10%"></td>
  46. <td id="agv22" data-decimals="2" data-speed="2000" style="font-size: 40px; width: 10%"></td>
  47. <td id="agv3" data-decimals="2" data-speed="2000" style="font-size: 40px; width: 10%"></td>
  48. <td id="agv33" data-decimals="2" data-speed="2000" style="font-size: 40px; width: 10%"></td>
  49. <td id="agv4" data-decimals="2" data-speed="2000" style="font-size: 40px; width: 10%"></td>
  50. <td id="agv44" data-decimals="2" data-speed="2000" style="font-size: 40px; width: 10%"></td>
  51. <td id="agv5" data-decimals="2" data-speed="2000" style="font-size: 40px; width: 10%"></td>
  52. <td id="agv55" data-decimals="2" data-speed="2000" style="font-size: 40px; width: 10%"></td>
  53. </tr>
  54. </table>
  55. </div>
  56. <div style="width:100%;height:620px;display:flex;flex-direction:row;">
  57. <div style="width: 100%; height: 620px; ">
  58. <!--月计划达成率表格-->
  59. <table cellspacing="0" cellpadding="0" border="0" style="width:99.9%;">
  60. <tr class="tr_title">
  61. <td colspan="6" style="color:white">产成品包装日计划</td>
  62. </tr>
  63. <tr class="tr_title">
  64. <td style="width: 25%; font-size: 20px;">产品名称</td>
  65. <td style="width: 25%; font-size: 20px;">物料编码</td>
  66. <td style="width: 10%; font-size: 20px;">计划包装数</td>
  67. <td style="width: 10%; font-size: 20px;">实际生产数量</td>
  68. <td style="width: 15%; font-size: 20px;">完成率</td>
  69. <td style="width: 15%; font-size: 20px;">车间</td>
  70. </tr>
  71. </table>
  72. <div style="height: 620px; overflow: hidden; width: 100%; ">
  73. <div>
  74. <table id="dayTable_template" style="display:none;">
  75. <tr class="tr_title_warning" style="height: 60px;">
  76. <!--<td style="width: 7.1%; font-size: 14px;">{成型线}</td>-->
  77. <td style="width: 25%; font-size: 18px;">{产品名称}</td>
  78. <td style="width: 25%; font-size: 18px;">{物料编码}</td>
  79. <td style="width: 10%; font-size: 18px;">{计划包装数}</td>
  80. <td style="width: 10%; font-size: 18px;">{实际生产数量}</td>
  81. <td style="width: 15%; font-size: 18px;">{完成率}</td>
  82. <td style="width: 15%; font-size: 18px;">{车间}</td>
  83. </tr>
  84. </table>
  85. </div>
  86. <table id="dayTable" style="width: 100%;height:560px;">
  87. </table>
  88. </div>
  89. </div>
  90. </div>
  91. </div>
  92. </div>
  93. <script>
  94. //页面刷新刷新时间
  95. var refreshTime1 = 60000;
  96. var currentTime1 = 0;
  97. var doGetData;
  98. var doGetTime;
  99. var mainInterval;
  100. var mainRowCount = 0;
  101. $(document).ready(function (){
  102. initData();
  103. doGetData = setInterval(function () { timeUpdate(); }, 1000);
  104. PlanData();
  105. setInterval(function () { PlanData(); }, 60000);
  106. ProcedureCount()
  107. setInterval(function () { ProcedureCount(); }, 60000);
  108. });
  109. function ProcedureCount() {
  110. $.get("rpt.ashx?m=count", function (data) {
  111. var jsondata = JSON.parse(data);
  112. if (jsondata["success"] == true) {
  113. $("#agv1").attr('data-to', jsondata["rows"][0]["成型产量"]);
  114. $("#agv1").countTo();
  115. $("#agv11").attr('data-to', jsondata["rows"][1]["成型产量"]);
  116. $("#agv11").countTo();
  117. $("#agv2").attr('data-to', jsondata["rows"][0]["半检产量"]);
  118. $("#agv2").countTo();
  119. $("#agv22").attr('data-to', jsondata["rows"][1]["半检产量"]);
  120. $("#agv22").countTo();
  121. $("#agv3").attr('data-to', jsondata["rows"][0]["施釉产量"]);
  122. $("#agv3").countTo();
  123. $("#agv33").attr('data-to', jsondata["rows"][1]["施釉产量"]);
  124. $("#agv33").countTo();
  125. $("#agv4").attr('data-to', jsondata["rows"][0]["烧成产量"]);
  126. $("#agv4").countTo();
  127. $("#agv44").attr('data-to', jsondata["rows"][1]["烧成产量"]);
  128. $("#agv44").countTo();
  129. $("#agv5").attr('data-to', jsondata["rows"][0]["成检产量"]);
  130. $("#agv5").countTo();
  131. $("#agv55").attr('data-to', jsondata["rows"][1]["成检产量"]);
  132. $("#agv55").countTo();
  133. }
  134. });
  135. }
  136. function PlanData() {
  137. if (mainInterval) {
  138. clearInterval(mainInterval);
  139. console.log("Interval Stop!");
  140. }
  141. $.get("rpt.ashx?m=table", function (data){
  142. var json = JSON.parse(data);
  143. if (json["success"] == true) {
  144. for (var i = 0; i < json["rows"].length; i++) {
  145. var temp = $("#dayTable_template").html();
  146. temp = temp.replace("<tbody>", "").replace("</tbody>", "");
  147. temp = temp.replace('{产品名称}', json["rows"][i]['产品名称']);
  148. temp = temp.replace('{物料编码}', json["rows"][i]['物料编码']);
  149. temp = temp.replace('{计划包装数}', json["rows"][i]['计划包装数']);
  150. temp = temp.replace('{实际生产数量}', json["rows"][i]['实际生产数量']);
  151. temp = temp.replace('{完成率}', json["rows"][i]['完成率']);
  152. temp = temp.replace('{车间}', json["rows"][i]['车间']);
  153. $("#dayTable").append(temp);
  154. }
  155. mainRowCount = json["rows"].length;
  156. mainInterval = setInterval(mainScroll, 3000);
  157. }
  158. });
  159. }
  160. function mainScroll() {
  161. var scrollHeight = $("#dayTable").find("tr").outerHeight();
  162. $("#dayTable").animate({ marginTop: -scrollHeight, }, 500,
  163. function () {
  164. $(this).css({ marginTop: "0px", }).find("tr:first").appendTo(this);
  165. if (--mainRowCount == -1) loadMainTable();
  166. }
  167. );
  168. }
  169. //帮助说明
  170. function showHelp() {
  171. var message = "统计说明:" + "\n";
  172. message += "型号滚动计划数: web端看板配置-产品产量计划; 计划数 * (本月已过天数 / 本月天数);" + "\n";
  173. message += "工序计划数: web端看板配置-看板工序产量计划; 计划数 * (本月已过天数 / 本月天数);" + "\n";
  174. message += "智能马桶型号实际产量: 对应型号的产成品交接数,不区分车间" + "\n";
  175. message += "成型工序完工产量: 三车间型号的注浆数" + "\n";
  176. message += "一检工序完工产量: 三车间型号的2#-3#交坯数和3#交坯数" + "\n";
  177. message += "改洗工序完工产量: 三车间型号的3#上水数" + "\n";
  178. message += "施釉工序完工产量: 三车间型号的3#施釉数" + "\n";
  179. message += "烧成工序完工产量: 全部车间的3#入窑数" + "\n";
  180. message += "成检工序完工产量: 全部车间的3#成检交接数" + "\n";
  181. alert(message);
  182. }
  183. function timeUpdate() {
  184. if (currentTime1 <= 0) {
  185. //clearData();
  186. setTimeout(loadData(), 1000);
  187. //loadData();
  188. currentTime1 = refreshTime1;
  189. }
  190. else {
  191. if (currentTime1 > 0) {
  192. $('#报表加载').html('刷新:' + currentTime1 / 1000 + ' 秒');
  193. currentTime1 = currentTime1 - 1000;
  194. }
  195. }
  196. }
  197. function loadData(callback) {
  198. }
  199. function initData() {
  200. window.chartColors = {
  201. red: 'rgb(255, 99, 132)',
  202. orange: 'rgb(255, 159, 64)',
  203. yellow: 'rgb(255, 250, 86)',
  204. green: 'rgb(75, 192, 192)',
  205. blue: 'rgb(54, 162, 250)',
  206. purple: 'rgb(153, 102, 255)',
  207. grey: 'rgb(231,233,237)'
  208. };
  209. var color = Chart.helpers.color;
  210. window.randomScalingFactor = function (num) {
  211. return Math.round(Math.random() * num);
  212. }
  213. Chart.defaults.global.defaultFontColor = 'white';
  214. Chart.defaults.global.defaultFontSize = 24;
  215. Chart.defaults.global.legend.display = false;
  216. }
  217. </script>
  218. <script src="/Plugins/chartjs-2.8.0/chart-2.8.min.js"></script>
  219. <script src="/Plugins/chartjs-2.8.0/chartjs-plugin-datalabels.js"></script>
  220. <script src="/Plugins/chartjs-2.8.0/utils.js"></script>
  221. <script src="/Plugins/circleChart/circleChart.min.js"></script>
  222. </body>
  223. </html>