FormingKanban.html 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400
  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 href="/Plugins/animate/animate.min.css" rel="stylesheet" />
  9. <link rel="stylesheet" href="../DashBoard.css?v3" />
  10. <script src="/Plugins/jquery-3.4.1/jquery-3.4.1.min.js"></script>
  11. <script src="/Plugins/animate/xanimate.js"></script>
  12. <script src="/Plugins/xrequest/xrequest.min.js"></script>
  13. <link rel="stylesheet" href="/plugins/bootstrap-4.3.1/css/bootstrap.min.css">
  14. <link rel="stylesheet" href="/plugins/font-awesome-4.7.0/css/font-awesome.min.css">
  15. <link href="/Plugins/bootstrap-table/bootstrap-table.min.css" rel="stylesheet" />
  16. <title>东科软件</title>
  17. </head>
  18. <body >
  19. <div class="box_1920_1080">
  20. <div class="box_title" style="display:flex;flex-direction:row;">
  21. <div style="width:30%;text-align:left;"></div>
  22. <div style="width:40%;text-align:center;">成型看板</div>
  23. <div style="width:30%;text-align:right;"></div>
  24. </div>
  25. <div class="box_body" style="display: flex; flex-direction: column;">
  26. <!--31天产量曲线图-->
  27. <div style="width:1840px;height:30%;display:flex;flex-direction:row;">
  28. <div style="width: 80%; height: 300px;">
  29. <div style="color:white;font-size:15px;font-weight:600; text-align:center">每日产量计划达成</div>
  30. <canvas id="canvasDayCL" style="-moz-user-select: none; -webkit-user-select: none; -ms-user-select: none; height: 330px; width: 90% "></canvas>
  31. </div>
  32. </div>
  33. <div>
  34. <table rules="none" align="right" style="width: 20%; height: 270px; margin-left:80%;margin-top:-291px ">
  35. <tr class="tr_title_warning">
  36. <td style="width: 12%; height: 60px; font-size: 30px; text-align: left" colspan="2"><strong><span id="sj" style="color:white;">2023-4-30 00:00:00</span></strong></td>
  37. </tr>
  38. <tr class="tr_title_warning">
  39. <td style="width: 12%; height: 140px; font-size: 30px; text-align: left ">月交坯量:<span style="text-align: center; color: white; font-size: 50px; " id="yjp">加载中...</span></td>
  40. </tr>
  41. <tr class="tr_title_warning">
  42. <td style="width: 12%; height: 140px; font-size: 30px; text-align: left ">月注浆量:<span style="text-align: center; color: white; font-size: 50px; " id="yzj">加载中...</span></td>
  43. </tr>
  44. </table>
  45. </div>
  46. <!--表格-->
  47. <div style="width: 100%; height: 530px; display: flex; flex-direction: row; margin-top: 4%">
  48. <div style="width: 50%; height: 530px; padding-right: 20px;">
  49. <table cellspacing="0" cellpadding="0" border="0" style="width:100%;">
  50. <tr class="tr_title_warning" style="height: 60px; font-size:27px">
  51. <td rowspan="2">成型A </td>
  52. <td clospan="2" style="text-align :left " ><span id="cxaj" style="color:white;">交坯量:0</span></td>
  53. <td rowspan="2">成型B</td>
  54. <td clospan="2" style="text-align :left"><span id="cxbj" style="color:white;">交坯量:0</span></td>
  55. </tr>
  56. <tr class="tr_title_warning" style="height: 60px; font-size: 27px">
  57. <td clospan="2" style="text-align :left"><span id="cxaz" style="color:white;">注浆量:0</span></td>
  58. <td clospan="2" style="text-align :left" ><span id="cxbz" style="color:white;">注浆量:0</span></td>
  59. </tr>
  60. <tr class="tr_title_warning" style="height: 60px; font-size: 27px">
  61. <td rowspan="2">成型C </td>
  62. <td clospan="2" style="text-align :left" ><span id="cxcj" style="color:white;">交坯量:0</span></td>
  63. <td rowspan="2">高压</td>
  64. <td clospan="2" style="text-align :left" ><span id="gyj" style="color:white;">交坯量:0</span></td>
  65. </tr>
  66. <tr class="tr_title_warning" style="height: 60px; font-size: 27px">
  67. <td clospan="2" style="text-align :left" ><span id="cxcz" style="color:white;">注浆量:0</span></td>
  68. <td clospan="2" style="text-align :left" ><span id="gyz" style="color:white;">注浆量:0</span></td>
  69. </tr>
  70. </table>
  71. <table cellspacing="0" cellpadding="0" border="0" style="width: 100%; margin-top: 2%;">
  72. <tr class="tr_title_warning" style="height: 90px; font-size: 45px">
  73. <td colspan="3">成型缺陷率:<span id="cqxl" style="color:white">——</span></td>
  74. <td colspan="3">一烧产量:<span id="scl" style="color:white">——</span></td>
  75. </tr>
  76. <tr class="tr_title_warning" style="height: 60px; font-size: 25px">
  77. <td>缺陷</td>
  78. <td id="qxname1">缺陷1</td>
  79. <td id="qxname2">缺陷2</td>
  80. <td id="qxname3">缺陷3</td>
  81. <td id="qxname4">缺陷4</td>
  82. <td>其他</td>
  83. </tr>
  84. <tr class="tr_bg_light_warning" style="height: 60px; font-size: 25px ">
  85. <td>数量</td>
  86. <td id="sl1">1</td>
  87. <td id="sl2">2</td>
  88. <td id="sl3">3</td>
  89. <td id="sl4">4</td>
  90. <td id="sl5">5</td>
  91. </tr>
  92. <tr class="tr_bg_light_warning" style="height: 60px; font-size: 25px ">
  93. <td>缺陷率</td>
  94. <td id="qxl1">测试</td>
  95. <td id="qxl2">测试</td>
  96. <td id="qxl3">测试</td>
  97. <td id="qxl4">测试</td>
  98. <td id="qxl5">测试</td>
  99. </tr>
  100. </table>
  101. </div>
  102. </div>
  103. <div style="width: 50%; height: 575px; margin-top: -530px; margin-left: 50% ">
  104. <table cellspacing="0" cellpadding="0" border="0" style="width:100%;">
  105. <tr class="tr_title_warning">
  106. <td colspan="4" style="color:white;">成检实时数据(注浆工缺陷数据)</td>
  107. </tr>
  108. <tr class="tr_title_warning">
  109. <td style="font-size: 18px; width: 25%; height: 30px; ">责任工号</td>
  110. <td style="font-size: 18px; width: 25%; height: 30px; ">生产线号</td>
  111. <td style="font-size: 18px; width: 25%; height: 30px; ">缺陷位置</td>
  112. <td style="font-size: 18px; width: 25%; height: 30px; ">产品分级</td>
  113. </tr>
  114. </table>
  115. <div style=" height:440px;overflow:hidden;">
  116. <table id="dayTable_template" style="display:none;">
  117. <tr class="tr_bg_light_warning" style="height:30px;">
  118. <td style="font-size: 18px; width: 25%; height: 30px; ">{责任工号}</td>
  119. <td style="font-size: 18px; width: 25%; height: 30px; ">{生产线号}</td>
  120. <td style="font-size: 18px; width: 25%; height: 30px; ">{缺陷名称}</td>
  121. <td style="font-size: 18px; width: 25%; height: 30px; ">{产品分级}</td>
  122. </tr>
  123. </table>
  124. <table id="dayTable" style="width: 100%; ">
  125. </table>
  126. </div>
  127. </div>
  128. </div>
  129. </div>
  130. <script>
  131. var refreshTime1 = 80000;
  132. var currentTime1 = 0;
  133. var doGetData;
  134. var doGetTime;
  135. var dayInterval;
  136. var dayTableRowCount = 0;
  137. var monthInterval;
  138. var monthTableRowCount = 0;
  139. //页面加载
  140. $(document).ready(function () {
  141. loadData();
  142. initData();
  143. MonthSum();
  144. clearData();
  145. doGetData = setInterval(function () { loadServerTime();}, 1000);
  146. doGetData = setInterval(function () { timeUpdate(); }, 1000);
  147. loadDayTable();
  148. });
  149. //表格滚动
  150. function dayTableScroll() {
  151. var scrollHeight = $("#dayTable_template").find("tr").outerHeight();
  152. $("#dayTable").animate({ marginTop: -scrollHeight, }, 500,
  153. function () {
  154. $(this).css({ marginTop: "0px", }).find("tr:first").appendTo(this);
  155. if (dayTableRowCount > -1) {
  156. dayTableRowCount--;
  157. } else {
  158. clearInterval(dayInterval);
  159. loadDayTable();
  160. }
  161. }
  162. );
  163. }
  164. //明细表
  165. function loadDayTable() {
  166. $.get("FormingKanban.ashx?m=MonthTable", function (data) {
  167. var json = JSON.parse(data);
  168. if (json["success"] == true) {
  169. $("#dayTable").html("");
  170. for (var i = 0; i < json["rows"].length; i++) {
  171. var temp = $("#dayTable_template").html();
  172. temp = temp.replace("<tbody>", "").replace("</tbody>", "");
  173. temp = temp.replace('{责任工号}', json["rows"][i]['责任工号']);
  174. temp = temp.replace('{生产线号}', json["rows"][i]['生产线号']);
  175. temp = temp.replace('{缺陷名称}', json["rows"][i]['缺陷名称']);
  176. temp = temp.replace('{产品分级}', json["rows"][i]['产品分级']);
  177. $("#dayTable").append(temp);
  178. }
  179. dayTableRowCount = json["rows"].length;
  180. dayInterval = setInterval(dayTableScroll, 6000);
  181. }
  182. });
  183. }
  184. function MonthSum() {
  185. $.get('FormingKanban.ashx?m=MonthSum', function (data) {
  186. var json = JSON.parse(data);
  187. if (json["success"] == true) {
  188. $('#yjp').text(json["rows"][0]["交坯"]);
  189. $('#yzj').text(json["rows"][1]["交坯"]);
  190. }
  191. });
  192. }
  193. function timeUpdate() {
  194. loadServerTime();
  195. if (currentTime1 <= 0) {
  196. Alltotal();
  197. WorkshopSections();
  198. DefectDetails();
  199. loadData();
  200. currentTime1 = refreshTime1;
  201. }
  202. else {
  203. if (currentTime1 > 0) {
  204. $('#报表加载').html('刷新:' + currentTime1 / 1000 + ' 秒');
  205. currentTime1 = currentTime1 - 1000;
  206. }
  207. }
  208. }
  209. function clearData() {
  210. //清除数据
  211. window.DayCL.data.labels = [];
  212. //window.DayCL.data.datasets[0].data = [0, 0, 0, 0, 0, 0, 0];
  213. window.DayCL.data.datasets[0].data = [];
  214. //window.DayCL.data.datasets[1].data = [0, 0, 0, 0, 0, 0, 0];
  215. window.DayCL.data.datasets[1].data = [];
  216. window.DayCL.update();
  217. }
  218. function loadServerTime() {
  219. $.get('FormingKanban.ashx?m=fwq', function (data) {
  220. var json = JSON.parse(data);
  221. if (json["success"] == true) {
  222. $('#sj').html(json["sj"]);
  223. }
  224. });
  225. }
  226. function WorkshopSections() {
  227. $.get('FormingKanban.ashx?m=WorkshopSection', function (data) {
  228. var json = JSON.parse(data);
  229. if (json["success"] == true) {
  230. $('#cxaz').text("注浆量:" + json["rows"][0]["成型A注浆数量"]);
  231. $('#cxaj').text("交坯量:" + json["rows"][1]["成型A注浆数量"]);
  232. $('#cxbz').text("注浆量:" + json["rows"][0]["成型B注浆数量"]);
  233. $('#cxbj').text("交坯量:" + json["rows"][1]["成型B注浆数量"]);
  234. $('#cxcz').text("注浆量:" + json["rows"][0]["成型C注浆数量"]);
  235. $('#cxcj').text("交坯量:" + json["rows"][1]["成型C注浆数量"]);
  236. $('#gyz').text("注浆量:" + json["rows"][0]["高压注浆数量"]);
  237. $('#gyj').text("交坯量:" + json["rows"][1]["高压注浆数量"]);
  238. }
  239. });
  240. }
  241. function DefectDetails() {
  242. $.get('FormingKanban.ashx?m=DefectDetail', function (data) {
  243. var json = JSON.parse(data);
  244. if (json["success"] == true) {
  245. if (json["rows"].length<0) {
  246. $('#qxname1').text(json["rows"][0]["缺陷名称"]);
  247. $('#qxname2').text(json["rows"][1]["缺陷名称"]);
  248. $('#qxname3').text(json["rows"][2]["缺陷名称"]);
  249. $('#qxname4').text(json["rows"][3]["缺陷名称"]);
  250. $('#sl1').text(json["rows"][0]["缺陷数量"]);
  251. $('#sl2').text(json["rows"][1]["缺陷数量"]);
  252. $('#sl3').text(json["rows"][2]["缺陷数量"]);
  253. $('#sl4').text(json["rows"][3]["缺陷数量"]);
  254. $('#sl5').text(json["rows"][0]["其他缺陷数量"]);
  255. $('#qxl1').text(json["rows"][0]["缺陷率"]);
  256. $('#qxl2').text(json["rows"][1]["缺陷率"]);
  257. $('#qxl3').text(json["rows"][2]["缺陷率"]);
  258. $('#qxl4').text(json["rows"][3]["缺陷率"]);
  259. $('#qxl5').text(json["rows"][0]["其他缺陷率"]);
  260. }
  261. }
  262. });
  263. }
  264. function Alltotal() {
  265. $.get('FormingKanban.ashx?m=Alltotal', function (data) {
  266. var json = JSON.parse(data);
  267. if (json["success"] == true) {
  268. $('#cqxl').text(json["rows"][0]["缺陷率"]);
  269. $('#scl').text( json["rows"][0]["出窑数"]);
  270. }
  271. });
  272. }
  273. function loadData() {
  274. $.get("FormingKanban.ashx?m=rate", function (data) {
  275. clearData();
  276. var json = JSON.parse(data);
  277. if (json["success"] == true) {
  278. for (var n = 0; n < json["rows"].length; n++) {
  279. window.DayCL.data.labels.push(json["rows"][n]["SJ"]);
  280. window.DayCL.data.datasets[0].data[n] = (json["rows"][n]["交坯"]);
  281. window.DayCL.data.datasets[1].data[n] = (json["rows"][n]["注浆"]);
  282. }
  283. }
  284. window.DayCL.update();
  285. });
  286. }
  287. function initData() {
  288. window.chartColors = {
  289. red: 'rgb(255, 99, 132)',
  290. orange: 'rgb(255, 159, 64)',
  291. yellow: 'rgb(255, 250, 86)',
  292. green: 'rgb(75, 192, 192)',
  293. blue: 'rgb(54, 162, 250)',
  294. purple: 'rgb(153, 102, 255)',
  295. grey: 'rgb(231,233,237)'
  296. };
  297. var color = Chart.helpers.color;
  298. window.randomScalingFactor = function (num) {
  299. return Math.round(Math.random() * num);
  300. }
  301. Chart.defaults.global.defaultFontColor = 'white';
  302. Chart.defaults.global.defaultFontSize = 17;
  303. Chart.defaults.global.legend.display = false;
  304. //每小时产量=========================================
  305. window.configDayCL = {
  306. data: {
  307. labels: [],
  308. datasets: [{
  309. label: "注浆量",
  310. backgroundColor: color(window.chartColors.red).alpha(0.6).rgbString(),
  311. borderColor: window.chartColors.red,
  312. borderWidth: 2,
  313. pointRadius: 15,
  314. data: [],
  315. fill: false,
  316. }, {
  317. label: "交坯量",
  318. fill: false,
  319. backgroundColor: color(window.chartColors.blue).alpha(0.6).rgbString(),
  320. borderColor: window.chartColors.blue,
  321. borderWidth: 2,
  322. pointRadius: 15,
  323. data: []
  324. }]
  325. },
  326. type: 'line',
  327. options: {
  328. responsive: true,
  329. legend: {
  330. display: true
  331. },
  332. title: {
  333. display: false,
  334. text: ''
  335. },
  336. tooltips: {
  337. mode: 'index',
  338. intersect: false,
  339. },
  340. hover: {
  341. mode: 'nearest',
  342. intersect: true
  343. },
  344. scales: {
  345. xAxes: [{
  346. display: true,
  347. scaleLabel: {
  348. display: false,
  349. labelString: ''
  350. }
  351. }],
  352. yAxes: [{
  353. display: true,
  354. scaleLabel: {
  355. display: false,
  356. labelString: 'Value'
  357. }
  358. }]
  359. }
  360. }
  361. };
  362. var ctxDayCL = document.getElementById("canvasDayCL").getContext("2d");
  363. window.DayCL = new Chart(ctxDayCL, configDayCL);
  364. }
  365. </script>
  366. <script src="/Plugins/chartjs-2.8.0/chart-2.8.min.js"></script>
  367. <script src="/Plugins/chartjs-2.8.0/chartjs-plugin-datalabels.js"></script>
  368. <script src="/Plugins/chartjs-2.8.0/utils.js"></script>
  369. <script src="/Plugins/circleChart/circleChart.min.js"></script>
  370. </body>
  371. </html>