index.html 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490
  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/xcountTo2.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">
  20. <div style="width:1720px;height:410px;display:flex;flex-direction:row;">
  21. <div style="width: 50%;height:410px;">
  22. <!--烘干房(1号)-->
  23. <canvas id="canvasDry1" style="-moz-user-select: none;-webkit-user-select: none;-ms-user-select: none; height:410px;width:100%"></canvas>
  24. </div>
  25. <div style="width: 50%; height: 410px; padding-left:20px;">
  26. <!--烘干房(2号)-->
  27. <canvas id="canvasDry2" style="-moz-user-select: none;-webkit-user-select: none;-ms-user-select: none; height:410px;width:100%"></canvas>
  28. </div>
  29. </div>
  30. <div style="width:1720px;height:410px;display:flex;flex-direction:row;">
  31. <div style="width: 50%;height:410px;">
  32. <!--烘干房(3号)-->
  33. <canvas id="canvasDry3" style="-moz-user-select: none;-webkit-user-select: none;-ms-user-select: none; height:410px;width:100%"></canvas>
  34. </div>
  35. <div style="width: 50%; height: 410px; ">
  36. <!--烘干房(4号)-->
  37. <canvas id="canvasDry4" style="-moz-user-select: none;-webkit-user-select: none;-ms-user-select: none; height:410px;width:100%"></canvas>
  38. </div>
  39. </div>
  40. </div>
  41. </div>
  42. <script>
  43. //缺陷统计刷新时间
  44. var refreshTime1 = 120000;
  45. var currentTime1 = 0;
  46. var doGetData;
  47. var doGetTime;
  48. var frameHeight;
  49. var tableHeight;
  50. var offsetHeight = 20;
  51. $(document).ready(function () {
  52. initData();
  53. doGetData = setInterval(function () { timeUpdate(); }, 1000);
  54. });
  55. //帮助说明
  56. function showHelp() {
  57. var message = "统计说明:" + "\n";
  58. message += "这是文字说明这是文字说明这是文字说明这是文字说明这是文字说明这是文字说明这是文字说明" + "\n";
  59. message += "这是文字说明这是文字说明这是文字说明这是文字说明这是文字说明这是文字说明这是文字说明" + "\n";
  60. message += "这是文字说明这是文字说明这是文字说明这是文字说明这是文字说明这是文字说明这是文字说明" + "\n";
  61. alert(message);
  62. }
  63. function timeUpdate() {
  64. if (currentTime1 <= 0) {
  65. //clearData();
  66. setTimeout(loadData(), 10000);
  67. //loadData();
  68. currentTime1 = refreshTime1;
  69. }
  70. else {
  71. if (currentTime1 > 0) {
  72. $('#报表加载').html('刷新:' + currentTime1 / 1000 + ' 秒');
  73. currentTime1 = currentTime1 - 1000;
  74. }
  75. }
  76. }
  77. function clearData() {
  78. //清除数据
  79. //window.Dry1.data.labels = [];
  80. window.Dry1.data.datasets[0].data = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
  81. window.Dry1.data.datasets[1].data = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
  82. //window.Dry1.optins.title.text = "";
  83. window.Dry1.update();
  84. //window.Dry2.data.labels = [];
  85. window.Dry2.data.datasets[0].data = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
  86. window.Dry2.data.datasets[1].data = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
  87. //window.Dry2.optins.title.text = "";
  88. window.Dry2.update();
  89. //window.Dry3.data.labels = [];
  90. window.Dry3.data.datasets[0].data = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
  91. window.Dry3.data.datasets[1].data = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
  92. //window.Dry3.optins.title.text = "";
  93. window.Dry3.update();
  94. //window.Dry4.data.labels = [];
  95. window.Dry4.data.datasets[0].data = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
  96. window.Dry4.data.datasets[1].data = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
  97. //window.Dry4.optins.title.text = "";
  98. window.Dry4.update();
  99. }
  100. function loadData() {
  101. $.get("rpt.ashx?m=master", function (data) {
  102. var jsondata = JSON.parse(data);
  103. if (jsondata["success"] == true) {
  104. for (var i = 1; i < jsondata["total"]; i++) {
  105. window.Dry1.data.datasets[0].data[i] = jsondata["rows"][i]["WD1"];
  106. window.Dry1.data.datasets[1].data[i] = jsondata["rows"][i]["SD1"];
  107. window.Dry1.data.datasets[2].data[i] = jsondata["rows"][i]["WD1_SD"];
  108. window.Dry1.data.datasets[3].data[i] = jsondata["rows"][i]["SD1_SD"];
  109. window.Dry2.data.datasets[0].data[i] = jsondata["rows"][i]["WD2"];
  110. window.Dry2.data.datasets[1].data[i] = jsondata["rows"][i]["SD2"];
  111. window.Dry2.data.datasets[2].data[i] = jsondata["rows"][i]["WD2_SD"];
  112. window.Dry2.data.datasets[3].data[i] = jsondata["rows"][i]["SD2_SD"];
  113. window.Dry3.data.datasets[0].data[i] = jsondata["rows"][i]["WD3"];
  114. window.Dry3.data.datasets[1].data[i] = jsondata["rows"][i]["SD3"];
  115. window.Dry3.data.datasets[2].data[i] = jsondata["rows"][i]["WD3_SD"];
  116. window.Dry3.data.datasets[3].data[i] = jsondata["rows"][i]["SD3_SD"];
  117. window.Dry4.data.datasets[0].data[i] = jsondata["rows"][i]["WD4"];
  118. window.Dry4.data.datasets[1].data[i] = jsondata["rows"][i]["SD4"];
  119. window.Dry4.data.datasets[2].data[i] = jsondata["rows"][i]["WD4_SD"];
  120. window.Dry4.data.datasets[3].data[i] = jsondata["rows"][i]["SD4_SD"];
  121. }
  122. //清除未发生的数据===================================
  123. var myDate = new Date();
  124. for (var j = myDate.getHours() + 1; j < 24; j++) {
  125. window.Dry1.data.datasets[0].data[j] = null;
  126. window.Dry1.data.datasets[1].data[j] = null;
  127. window.Dry1.data.datasets[2].data[j] = null;
  128. window.Dry1.data.datasets[3].data[j] = null;
  129. window.Dry2.data.datasets[0].data[j] = null;
  130. window.Dry2.data.datasets[1].data[j] = null;
  131. window.Dry2.data.datasets[2].data[j] = null;
  132. window.Dry2.data.datasets[3].data[j] = null;
  133. window.Dry3.data.datasets[0].data[j] = null;
  134. window.Dry3.data.datasets[1].data[j] = null;
  135. window.Dry3.data.datasets[2].data[j] = null;
  136. window.Dry3.data.datasets[3].data[j] = null;
  137. window.Dry4.data.datasets[0].data[j] = null;
  138. window.Dry4.data.datasets[1].data[j] = null;
  139. window.Dry4.data.datasets[2].data[j] = null;
  140. window.Dry4.data.datasets[3].data[j] = null;
  141. }
  142. //===================================================
  143. window.Dry1.update();
  144. window.Dry2.update();
  145. window.Dry3.update();
  146. window.Dry4.update();
  147. }
  148. });
  149. }
  150. function initData() {
  151. window.chartColors = {
  152. red: 'rgb(255, 99, 132)',
  153. orange: 'rgb(255, 159, 64)',
  154. yellow: 'rgb(255, 250, 86)',
  155. green: 'rgb(75, 192, 192)',
  156. blue: 'rgb(54, 162, 250)',
  157. purple: 'rgb(153, 102, 255)',
  158. grey: 'rgb(231,233,237)'
  159. };
  160. var color = Chart.helpers.color;
  161. window.randomScalingFactor = function (num) {
  162. return Math.round(Math.random() * num);
  163. }
  164. Chart.defaults.global.defaultFontColor = 'white';
  165. Chart.defaults.global.defaultFontSize = 24;
  166. Chart.defaults.global.legend.display = false;
  167. //烘干房1===========================================
  168. window.configDry1 = {
  169. data: {
  170. labels: ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23'],
  171. datasets: [{
  172. label: '温度',
  173. backgroundColor: color(window.chartColors.blue).alpha(0.6).rgbString(),
  174. fill: false,
  175. borderColor: window.chartColors.blue,
  176. borderWidth: 2,
  177. pointRadius: 10,
  178. data: []
  179. }, {
  180. label: '湿度',
  181. backgroundColor: color(window.chartColors.green).alpha(0.6).rgbString(),
  182. fill: false,
  183. borderColor: window.chartColors.green,
  184. borderWidth: 2,
  185. pointRadius: 10,
  186. data: []
  187. }, {
  188. label: '设定温度',
  189. backgroundColor: color(window.chartColors.red).alpha(0.6).rgbString(),
  190. fill: false,
  191. borderColor: window.chartColors.red,
  192. borderWidth: 2,
  193. pointRadius: 10,
  194. data: []
  195. }, {
  196. label: '设定湿度',
  197. backgroundColor: color(window.chartColors.yellow).alpha(0.6).rgbString(),
  198. fill: false,
  199. borderColor: window.chartColors.yellow,
  200. borderWidth: 2,
  201. pointRadius: 10,
  202. data: []
  203. }]
  204. },
  205. type: 'line',
  206. options: {
  207. legend: {
  208. display: true
  209. },
  210. title: {
  211. display: true,
  212. text: "烘干房(1号)当日温湿度曲线图(每小时)"
  213. },
  214. tooltips: {
  215. mode: 'point',
  216. intersect: false
  217. },
  218. responsive: true,
  219. scales: {
  220. xAxes: [{
  221. stacked: false
  222. }],
  223. yAxes: [{
  224. display: true,
  225. stacked: false,
  226. ticks: {
  227. min: 0,
  228. stepSize: 10,
  229. max: 100
  230. }
  231. }]
  232. }
  233. }
  234. };
  235. var ctxDry1 = document.getElementById("canvasDry1").getContext("2d");
  236. window.Dry1 = new Chart(ctxDry1, configDry1);
  237. //===================================================
  238. //烘干房2===========================================
  239. window.configDry2 = {
  240. data: {
  241. labels: ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23'],
  242. datasets: [{
  243. label: '温度',
  244. backgroundColor: color(window.chartColors.blue).alpha(0.6).rgbString(),
  245. fill: false,
  246. borderColor: window.chartColors.blue,
  247. borderWidth: 2,
  248. pointRadius: 10,
  249. data: []
  250. }, {
  251. label: '湿度',
  252. backgroundColor: color(window.chartColors.green).alpha(0.6).rgbString(),
  253. fill: false,
  254. borderColor: window.chartColors.green,
  255. borderWidth: 2,
  256. pointRadius: 10,
  257. data: []
  258. }, {
  259. label: '设定温度',
  260. backgroundColor: color(window.chartColors.red).alpha(0.6).rgbString(),
  261. fill: false,
  262. borderColor: window.chartColors.red,
  263. borderWidth: 2,
  264. pointRadius: 10,
  265. data: []
  266. }, {
  267. label: '设定湿度',
  268. backgroundColor: color(window.chartColors.yellow).alpha(0.6).rgbString(),
  269. fill: false,
  270. borderColor: window.chartColors.yellow,
  271. borderWidth: 2,
  272. pointRadius: 10,
  273. data: []
  274. }]
  275. },
  276. type: 'line',
  277. options: {
  278. legend: {
  279. display: true
  280. },
  281. title: {
  282. display: true,
  283. text: "烘干房(2号)当日温湿度曲线图(每小时)"
  284. },
  285. tooltips: {
  286. mode: 'point',
  287. intersect: false
  288. },
  289. responsive: true,
  290. scales: {
  291. xAxes: [{
  292. stacked: false
  293. }],
  294. yAxes: [{
  295. display: true,
  296. stacked: false,
  297. ticks: {
  298. min: 0,
  299. stepSize: 10,
  300. max: 100
  301. }
  302. }]
  303. }
  304. }
  305. };
  306. var ctxDry2 = document.getElementById("canvasDry2").getContext("2d");
  307. window.Dry2 = new Chart(ctxDry2, configDry2);
  308. //===================================================
  309. //烘干房1===========================================
  310. window.configDry3 = {
  311. data: {
  312. labels: ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23'],
  313. datasets: [{
  314. label: '温度',
  315. backgroundColor: color(window.chartColors.blue).alpha(0.6).rgbString(),
  316. fill: false,
  317. borderColor: window.chartColors.blue,
  318. borderWidth: 2,
  319. pointRadius: 10,
  320. data: []
  321. }, {
  322. label: '湿度',
  323. backgroundColor: color(window.chartColors.green).alpha(0.6).rgbString(),
  324. fill: false,
  325. borderColor: window.chartColors.green,
  326. borderWidth: 2,
  327. pointRadius: 10,
  328. data: []
  329. }, {
  330. label: '设定温度',
  331. backgroundColor: color(window.chartColors.red).alpha(0.6).rgbString(),
  332. fill: false,
  333. borderColor: window.chartColors.red,
  334. borderWidth: 2,
  335. pointRadius: 10,
  336. data: []
  337. }, {
  338. label: '设定湿度',
  339. backgroundColor: color(window.chartColors.yellow).alpha(0.6).rgbString(),
  340. fill: false,
  341. borderColor: window.chartColors.yellow,
  342. borderWidth: 2,
  343. pointRadius: 10,
  344. data: []
  345. }]
  346. },
  347. type: 'line',
  348. options: {
  349. legend: {
  350. display: true
  351. },
  352. title: {
  353. display: true,
  354. text: "烘干房(3号)当日温湿度曲线图(每小时)"
  355. },
  356. tooltips: {
  357. mode: 'point',
  358. intersect: false
  359. },
  360. responsive: true,
  361. scales: {
  362. xAxes: [{
  363. stacked: false
  364. }],
  365. yAxes: [{
  366. display: true,
  367. stacked: false,
  368. ticks: {
  369. min: 0,
  370. stepSize: 10,
  371. max: 100
  372. }
  373. }]
  374. }
  375. }
  376. };
  377. var ctxDry3 = document.getElementById("canvasDry3").getContext("2d");
  378. window.Dry3 = new Chart(ctxDry3, configDry3);
  379. //===================================================
  380. //烘干房4===========================================
  381. window.configDry4 = {
  382. data: {
  383. labels: ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23'],
  384. datasets: [{
  385. label: '温度',
  386. backgroundColor: color(window.chartColors.blue).alpha(0.6).rgbString(),
  387. fill: false,
  388. borderColor: window.chartColors.blue,
  389. borderWidth: 2,
  390. pointRadius: 10,
  391. data: []
  392. }, {
  393. label: '湿度',
  394. backgroundColor: color(window.chartColors.green).alpha(0.6).rgbString(),
  395. fill: false,
  396. borderColor: window.chartColors.green,
  397. borderWidth: 2,
  398. pointRadius: 10,
  399. data: []
  400. }, {
  401. label: '设定温度',
  402. backgroundColor: color(window.chartColors.red).alpha(0.6).rgbString(),
  403. fill: false,
  404. borderColor: window.chartColors.red,
  405. borderWidth: 2,
  406. pointRadius: 10,
  407. data: []
  408. }, {
  409. label: '设定湿度',
  410. backgroundColor: color(window.chartColors.yellow).alpha(0.6).rgbString(),
  411. fill: false,
  412. borderColor: window.chartColors.yellow,
  413. borderWidth: 2,
  414. pointRadius: 10,
  415. data: []
  416. }]
  417. },
  418. type: 'line',
  419. options: {
  420. legend: {
  421. display: true
  422. },
  423. title: {
  424. display: true,
  425. text: "烘干房(4号)当日温湿度曲线图(每小时)"
  426. },
  427. tooltips: {
  428. mode: 'point',
  429. intersect: false
  430. },
  431. responsive: true,
  432. scales: {
  433. xAxes: [{
  434. stacked: false
  435. }],
  436. yAxes: [{
  437. display: true,
  438. stacked: false,
  439. ticks: {
  440. min: 0,
  441. stepSize: 10,
  442. max: 100
  443. }
  444. }]
  445. }
  446. }
  447. };
  448. var ctxDry4 = document.getElementById("canvasDry4").getContext("2d");
  449. window.Dry4 = new Chart(ctxDry4, configDry4);
  450. //===================================================
  451. }
  452. </script>
  453. <script src="/Plugins/chartjs-2.8.0/chart-2.8.min.js"></script>
  454. <!--<script src="/Plugins/chartjs-2.8.0/chartjs-plugin-datalabels.js"></script>-->
  455. <script src="/Plugins/chartjs-2.8.0/utils.js"></script>
  456. <script src="/Plugins/circleChart/circleChart.min.js"></script>
  457. </body>
  458. </html>