demo.html 42 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886
  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. <title>东科软件</title>
  14. </head>
  15. <body style="background-color:black;">
  16. <div class="box_1920_1080">
  17. <div class="box_title" style="display:flex;flex-direction:row;">
  18. <div style="width:30%;text-align:left;"></div>
  19. <div style="width: 40%; text-align: center; font-size: 38px; font-weight: 700">施釉车间看板</div>
  20. <div style="width:30%;text-align:right;"><span class="box_title_loading" style="font-size:32px;" id="报表加载"></span></div>
  21. </div>
  22. <div class="box_body" style="display: flex; flex-direction: column;">
  23. <!--注浆数据表格-->
  24. <div style="width:1840px;height:680px;display:flex;flex-direction:row;">
  25. <div style="width: 48%; height: 680px;">
  26. <table cellspacing="0" cellpadding="0" border="0" style="width: 99.8%;">
  27. <tr class="tr_title_warning">
  28. <td colspan="10" style="color: white;">施釉设备重要数据</td>
  29. </tr>
  30. <tr class="tr_title_warning" style="height: 50px;">
  31. <td style="width: 12%; font-size: 10px; padding: 0px 0px 0px 0px;">产品条码</td>
  32. <td style="width: 10%; font-size: 10px; padding: 0px 0px 0px 0px;">产品型号</td>
  33. <td style="width: 10%; font-size: 10px; padding: 0px 0px 0px 0px;">施釉产线</td>
  34. <td style="width: 10%; font-size: 10px; padding: 0px 0px 0px 0px;">施釉前重</td>
  35. <td style="width: 10%; font-size: 10px; padding: 0px 0px 0px 0px; ">施釉后重</td>
  36. <td style="width: 10%; font-size: 10px; padding: 0px 0px 0px 0px;">施釉房号</td>
  37. <td style="width: 10%; font-size: 10px; padding: 0px 0px 0px 0px;">施釉流量</td>
  38. <td style="width: 10%; font-size: 10px; padding: 0px 0px 0px 0px;">施釉喷幅</td>
  39. <td style="width: 10%; font-size: 10px; padding: 0px 0px 0px 0px; ">釉浆温度</td>
  40. <td style="width: 8%; font-size: 10px; padding: 0px 0px 0px 0px; ">施釉压力</td>
  41. </tr>
  42. </table>
  43. <div style=" height: 522px; overflow: hidden; width: 100%;">
  44. <div>
  45. <table id="dayTable_template" style="display:none;">
  46. <tr class="tr_title_warning" style="height: 50px;">
  47. <td style="width: 12%; font-size: 10px; padding: 0px 0px 0px 0px;">{产品条码}</td>
  48. <td style="width: 10%; font-size: 10px;">{产品型号}</td>
  49. <td style="width: 10%; font-size: 10px; ">{施釉产线}</td>
  50. <td style="width: 10%; font-size: 10px; ">{施釉前重}</td>
  51. <td style="width: 10%; font-size: 10px; ">{施釉后重}</td>
  52. <td style="width: 10%; font-size: 10px; ">{施釉房号}</td>
  53. <td style="width: 10%; font-size: 10px; ">{施釉流量}</td>
  54. <td style="width: 10%; font-size: 10px; ">{施釉喷幅}</td>
  55. <td style="width: 10%; font-size: 10px; ">{釉浆温度}</td>
  56. <td style="width: 8%; font-size: 10px;">{施釉压力}</td>
  57. </tr>
  58. </table>
  59. </div>
  60. <table id="dayTable" style="width: 100%; ">
  61. </table>
  62. </div>
  63. </div>
  64. <div style="width: 48%; height: 340px; position: absolute; right: 40px; ">
  65. <div class="d-flex justify-content-center">
  66. <div style="color:white;font-size:20px;font-weight:600; text-align:center">施釉线24小时产量</div>
  67. <canvas id="canvasHourCL" style="-moz-user-select: none;-webkit-user-select: none;-ms-user-select: none; height:340px;width:100%"></canvas>
  68. </div>
  69. </div>
  70. <div style="width: 20%; height: 340px; margin-top:365px;margin-left:35px;">
  71. <div style="color:white;font-size:20px;font-weight:600; text-align:center">施釉工号产量</div>
  72. <canvas id="canvasDayCL" style="-moz-user-select: none; -webkit-user-select: none; -ms-user-select: none; height: 280px; width: 100%;margin-top:-38px;"></canvas>
  73. </div>
  74. <div style="width: 28%; height: 380px; right: 40px; margin-top: 365px; ">
  75. <div style="color:white;font-size:20px;font-weight:600; text-align:center">施釉七日产量</div>
  76. <canvas id="canvasDayCC" style="-moz-user-select: none; -webkit-user-select: none; -ms-user-select: none; height: 280px; width: 100%;margin-top:-38px;"></canvas>
  77. </div>
  78. </div>
  79. <!--缺陷统计-->
  80. <div style="width:1840px;height:230px;display:flex;flex-direction:row;">
  81. <div style="width: 25%; height: 230px;">
  82. <div style="color:white;font-size:20px;font-weight:600; text-align:center">施釉质量七日趋势图</div>
  83. <canvas id="canvasDayZL" style="-moz-user-select: none; -webkit-user-select: none; -ms-user-select: none; height: 200px; width: 100%"></canvas>
  84. </div>
  85. <div style="width: 25%; height: 230px;">
  86. <div style="color:white;font-size:20px;font-weight:600; text-align:center">归属施釉缺陷(今日TOP3)</div>
  87. <canvas id="canvasDefectA" style="-moz-user-select: none; -webkit-user-select: none; -ms-user-select: none; height: 200px; width: 100%"></canvas>
  88. </div>
  89. <div style="width: 25%; height: 230px;">
  90. <div style="color:white;font-size:20px;font-weight:600; text-align:center">釉坯库库存</div>
  91. <canvas id="canvasDefectB" style="-moz-user-select: none; -webkit-user-select: none; -ms-user-select: none; height: 200px; width: 100%"></canvas>
  92. </div>
  93. <div style="width: 25%; height: 230px;">
  94. <div style="color:white;font-size:20px;font-weight:600; text-align:center;">精坯库库存</div>
  95. <canvas id="canvasJPKC" style="margin-top:15px; -moz-user-select: none; -webkit-user-select: none; -ms-user-select: none; height: 200px; width: 100%"></canvas>
  96. </div>
  97. </div>
  98. </div>
  99. </div>
  100. <script>
  101. var mainInterval;
  102. var mainRowCount = 0;
  103. var mainInterva2;
  104. var mainRowCoun2 = 0;
  105. function loadMainTable() {
  106. if (mainInterval) {
  107. clearInterval(mainInterval);
  108. //console.log("Interval Stop!");
  109. }
  110. $.get("demo.ashx?m=MonthTable", function (data){
  111. var json = JSON.parse(data);
  112. if (json["success"] == true) {
  113. $("#dayTable").html("");
  114. for (var i = 0; i < json["rows"].length; i++) {
  115. var temp = $("#dayTable_template").html();
  116. temp = temp.replace("<tbody>", "").replace("</tbody>", "");
  117. temp = temp.replace('{产品条码}', json["rows"][i]['产品条码']);
  118. temp = temp.replace('{产品型号}', json["rows"][i]['产品型号']);
  119. temp = temp.replace('{施釉产线}', json["rows"][i]['施釉产线']);
  120. temp = temp.replace('{施釉前重}', json["rows"][i]['施釉前重']);
  121. temp = temp.replace('{施釉后重}', json["rows"][i]['施釉后重']);
  122. temp = temp.replace('{施釉房号}', json["rows"][i]['施釉房号']);
  123. temp = temp.replace('{施釉流量}', json["rows"][i]['施釉流量']);
  124. temp = temp.replace('{施釉喷幅}', json["rows"][i]['施釉喷幅']);
  125. temp = temp.replace('{釉浆温度}', json["rows"][i]['釉浆温度']);
  126. temp = temp.replace('{施釉压力}', json["rows"][i]['施釉压力']);
  127. $("#dayTable").append(temp);
  128. }
  129. mainRowCount = json["rows"].length;
  130. mainInterval = setInterval(mainScroll, 3000);
  131. }
  132. });
  133. }
  134. function mainScroll() {
  135. var scrollHeight = $("#dayTable").find("tr").outerHeight();
  136. $("#dayTable").animate({ marginTop: -scrollHeight, }, 500,
  137. function () {
  138. $(this).css({ marginTop: "0px", }).find("tr:first").appendTo(this);
  139. if (--mainRowCount == -1) loadMainTable();
  140. }
  141. );
  142. }
  143. function mainScrol2() {
  144. var scrollHeight = $("#dayTabletwo").find("tr").outerHeight();
  145. $("#dayTabletwo").animate({ marginTop: -scrollHeight, }, 500,
  146. function () {
  147. $(this).css({ marginTop: "0px", }).find("tr:first").appendTo(this);
  148. if (--mainRowCoun2 == -1) loadMainTable1();
  149. }
  150. );
  151. }
  152. $(document).ready(function () {
  153. initData();
  154. doGetData = setInterval(function () { timeUpdate(); }, 5000);
  155. loadMainTable();
  156. DdfectData();
  157. setInterval(function () { DdfectData(); }, 5000);
  158. DdfectDataB();
  159. setInterval(function () { DdfectDataB(); }, 5000);
  160. ZxData();
  161. setInterval(function () { ZxData(); }, 5000);
  162. ClData();
  163. setInterval(function () { ClData(); }, 5000);
  164. ZxDataH();
  165. setInterval(function () { ZxDataH(); }, 5000);
  166. ZxData()
  167. setInterval(function () { ZxData(); }, 5000);
  168. CCData();
  169. setInterval(function () { CCData(); }, 5000);
  170. DataKC();
  171. setInterval(function () { DataKC(); }, 5000);
  172. });
  173. //精坯库库存
  174. function DataKC(){
  175. $.get("demo.ashx?m=kc", function (data){
  176. var json = JSON.parse(data);
  177. if (json["success"] == true) {
  178. var count1 = parseFloat(json["rows"][0]["数量"]);
  179. var count2 = parseFloat(json["rows"][1]["数量"]);
  180. var goodtype1 = json["rows"][0]["产品类别"];
  181. var goodtype2 = json["rows"][1]["产品类别"];
  182. window.Defectjpkc.data.datasets[0].data = [count1, count2];
  183. window.Defectjpkc.data.labels = [goodtype1, goodtype2]
  184. window.Defectjpkc.update();
  185. }
  186. });
  187. }
  188. //施釉七日趋势图
  189. function ZxData(){
  190. $.get("demo.ashx?m=zx", function (data){
  191. var json = JSON.parse(data);
  192. if (json["success"] == true) {
  193. var BJ1 = parseFloat(json["rows"][0]["施釉合格率"]);
  194. var BJ2 = parseFloat(json["rows"][1]["施釉合格率"]);
  195. var BJ3 = parseFloat(json["rows"][2]["施釉合格率"]);
  196. var BJ4 = parseFloat(json["rows"][3]["施釉合格率"]);
  197. var BJ5 = parseFloat(json["rows"][4]["施釉合格率"]);
  198. var BJ6 = parseFloat(json["rows"][5]["施釉合格率"]);
  199. var BJ7 = parseFloat(json["rows"][6]["施釉合格率"]);
  200. var day1 = json["rows"][0]["日期"];
  201. var day2 = json["rows"][1]["日期"];
  202. var day3 = json["rows"][2]["日期"];
  203. var day4 = json["rows"][3]["日期"];
  204. var day5 = json["rows"][4]["日期"];
  205. var day6 = json["rows"][5]["日期"];
  206. var day7 = json["rows"][6]["日期"];
  207. var count1 = parseFloat(json["rows"][0]["出窑数"]);
  208. var count2 = parseFloat(json["rows"][1]["出窑数"]);
  209. var count3 = parseFloat(json["rows"][2]["出窑数"]);
  210. var count4 = parseFloat(json["rows"][3]["出窑数"]);
  211. var count5 = parseFloat(json["rows"][4]["出窑数"]);
  212. var count6 = parseFloat(json["rows"][5]["出窑数"]);
  213. var count7 = parseFloat(json["rows"][6]["出窑数"]);
  214. window.DayZL.data.datasets[0].data = [BJ1, BJ2, BJ3, BJ4, BJ5, BJ6, BJ7];
  215. window.DayZL.data.datasets[1].data = [count1, count2, count3, count4, count5, count6, count7];
  216. window.DayZL.data.labels = [day1, day2, day3, day4, day5, day6, day7];
  217. window.DayZL.update();
  218. }
  219. });
  220. }
  221. //每小时产量折线图
  222. function ZxDataH() {
  223. $.get("demo.ashx?m=h", function (data) {
  224. var json = JSON.parse(data);
  225. if (json["success"] == true) {
  226. var SY1 = parseFloat(json["rows"][0]["一线施釉数量"]);
  227. var SY2 = parseFloat(json["rows"][1]["一线施釉数量"]);
  228. var SY3 = parseFloat(json["rows"][2]["一线施釉数量"]);
  229. var SY4 = parseFloat(json["rows"][3]["一线施釉数量"]);
  230. var SY5 = parseFloat(json["rows"][4]["一线施釉数量"]);
  231. var SY6 = parseFloat(json["rows"][5]["一线施釉数量"]);
  232. var SY7 = parseFloat(json["rows"][6]["一线施釉数量"]);
  233. var SY8 = parseFloat(json["rows"][7]["一线施釉数量"]);
  234. var SY9 = parseFloat(json["rows"][8]["一线施釉数量"]);
  235. var SY10 = parseFloat(json["rows"][9]["一线施釉数量"]);
  236. var SY11 = parseFloat(json["rows"][10]["一线施釉数量"]);
  237. var SY12 = parseFloat(json["rows"][11]["一线施釉数量"]);
  238. var SY13 = parseFloat(json["rows"][12]["一线施釉数量"]);
  239. var SY14 = parseFloat(json["rows"][13]["一线施釉数量"]);
  240. var SY15 = parseFloat(json["rows"][14]["一线施釉数量"]);
  241. var SY16 = parseFloat(json["rows"][15]["一线施釉数量"]);
  242. var SY17 = parseFloat(json["rows"][16]["一线施釉数量"]);
  243. var SY18 = parseFloat(json["rows"][17]["一线施釉数量"]);
  244. var SY19 = parseFloat(json["rows"][18]["一线施釉数量"]);
  245. var SY20 = parseFloat(json["rows"][19]["一线施釉数量"]);
  246. var SY21 = parseFloat(json["rows"][20]["一线施釉数量"]);
  247. var SY22 = parseFloat(json["rows"][21]["一线施釉数量"]);
  248. var SY23 = parseFloat(json["rows"][22]["一线施釉数量"]);
  249. var SY24 = parseFloat(json["rows"][23]["一线施釉数量"]);
  250. var SYX1 = parseFloat(json["rows"][0]["二线施釉数量"]);
  251. var SYX2 = parseFloat(json["rows"][1]["二线施釉数量"]);
  252. var SYX3 = parseFloat(json["rows"][2]["二线施釉数量"]);
  253. var SYX4 = parseFloat(json["rows"][3]["二线施釉数量"]);
  254. var SYX5 = parseFloat(json["rows"][4]["二线施釉数量"]);
  255. var SYX6 = parseFloat(json["rows"][5]["二线施釉数量"]);
  256. var SYX7 = parseFloat(json["rows"][6]["二线施釉数量"]);
  257. var SYX8 = parseFloat(json["rows"][7]["二线施釉数量"]);
  258. var SYX9 = parseFloat(json["rows"][8]["二线施釉数量"]);
  259. var SYX10 = parseFloat(json["rows"][9]["二线施釉数量"]);
  260. var SYX11 = parseFloat(json["rows"][10]["二线施釉数量"]);
  261. var SYX12 = parseFloat(json["rows"][11]["二线施釉数量"]);
  262. var SYX13 = parseFloat(json["rows"][12]["二线施釉数量"]);
  263. var SYX14 = parseFloat(json["rows"][13]["二线施釉数量"]);
  264. var SYX15 = parseFloat(json["rows"][14]["二线施釉数量"]);
  265. var SYX16 = parseFloat(json["rows"][15]["二线施釉数量"]);
  266. var SYX17 = parseFloat(json["rows"][16]["二线施釉数量"]);
  267. var SYX18 = parseFloat(json["rows"][17]["二线施釉数量"]);
  268. var SYX19 = parseFloat(json["rows"][18]["二线施釉数量"]);
  269. var SYX20 = parseFloat(json["rows"][19]["二线施釉数量"]);
  270. var SYX21 = parseFloat(json["rows"][20]["二线施釉数量"]);
  271. var SYX22 = parseFloat(json["rows"][21]["二线施釉数量"]);
  272. var SYX23 = parseFloat(json["rows"][22]["二线施釉数量"]);
  273. var SYX24 = parseFloat(json["rows"][23]["二线施釉数量"]);
  274. var day1 = json["rows"][0]["日期"];
  275. var day2 = json["rows"][1]["日期"];
  276. var day3 = json["rows"][2]["日期"];
  277. var day4 = json["rows"][3]["日期"];
  278. var day5 = json["rows"][4]["日期"];
  279. var day6 = json["rows"][5]["日期"];
  280. var day7 = json["rows"][6]["日期"];
  281. var day8 = json["rows"][7]["日期"];
  282. var day9 = json["rows"][8]["日期"];
  283. var day10 = json["rows"][9]["日期"];
  284. var day11 = json["rows"][10]["日期"];
  285. var day12 = json["rows"][11]["日期"];
  286. var day13 = json["rows"][12]["日期"];
  287. var day14 = json["rows"][13]["日期"];
  288. var day15 = json["rows"][14]["日期"];
  289. var day16 = json["rows"][15]["日期"];
  290. var day17 = json["rows"][16]["日期"];
  291. var day18 = json["rows"][17]["日期"];
  292. var day19 = json["rows"][18]["日期"];
  293. var day20 = json["rows"][19]["日期"];
  294. var day21 = json["rows"][20]["日期"];
  295. var day22 = json["rows"][21]["日期"];
  296. var day23 = json["rows"][22]["日期"];
  297. var day24 = json["rows"][23]["日期"];
  298. window.DayCLH.data.datasets[0].data = [SY1, SY2, SY3, SY4, SY5, SY6, SY7, SY8, SY9, SY10, SY11, SY12, SY13, SY14, SY15, SY16, SY17, SY18, SY19, SY20, SY21, SY22, SY23, SY24];
  299. window.DayCLH.data.datasets[1].data = [SYX1, SYX2, SYX3, SYX4, SYX5, SYX6, SYX7, SYX8, SYX9, SYX10, SYX11, SYX12, SYX13, SYX14, SYX15, SYX16, SYX17, SYX18, SYX19, SYX20, SYX21, SYX22, SYX23, SYX24];
  300. window.DayCLH.data.labels = [day1, day2, day3, day4, day5, day6, day7, day8, day9, day10, day11, day12, day13, day14, day15, day16, day17, day18, day19, day20, day21, day22, day23, day24];
  301. window.DayCLH.update();
  302. }
  303. });
  304. }
  305. //吹尘工号产量
  306. function CCData() {
  307. $.get("demo.ashx?m=cc", function (data) {
  308. var json = JSON.parse(data);
  309. let a = [];
  310. let b = [];
  311. if (json["success"] == true) {
  312. //var num = parseInt(json["rows"][0]["ROWNUM"]);
  313. var num = parseInt(json["rows"].length);
  314. for (var i = 0; i < num; i++) {
  315. a.push(parseInt(json["rows"][i]["产量"]));
  316. b.push(json["rows"][i]["日期"]);
  317. }
  318. window.DayCC.data.datasets[0].data = a;
  319. window.DayCC.data.labels = b;
  320. window.DayCC.update();
  321. }
  322. });
  323. }
  324. //施釉工号产量
  325. function ClData() {
  326. $.get("demo.ashx?m=cl", function (data) {
  327. var json = JSON.parse(data);
  328. let a = [];
  329. let b = [];
  330. if (json["success"] == true) {
  331. //var num = parseInt(json["rows"][0]["ROWNUM"]);
  332. var num = parseInt(json["rows"].length);
  333. for (var i = 0; i < num; i++) {
  334. a.push(parseInt(json["rows"][i]["产量"]));
  335. b.push(json["rows"][i]["工号"]);
  336. }
  337. window.DayCL.data.datasets[0].data = a;
  338. window.DayCL.data.labels = b;
  339. window.DayCL.update();
  340. }
  341. });
  342. }
  343. function DdfectData() {
  344. $.get("demo.ashx?m=defect", function (data) {
  345. var json = JSON.parse(data);
  346. if (json["success"] == true) {
  347. let a = [];
  348. let b = [];
  349. if (json["success"] == true) {
  350. //var num = parseInt(json["rows"][0]["ROWNUM"]);
  351. var num = parseInt(json["rows"].length);
  352. for (var i = 0; i < num; i++) {
  353. a.push(parseInt(json["rows"][i]["数量"]));
  354. b.push(json["rows"][i]["缺陷名称"]);
  355. }
  356. window.DefectA.data.datasets[0].data = a;
  357. window.DefectA.data.labels = b;
  358. window.DefectA.update();
  359. }
  360. }
  361. });
  362. }
  363. function DdfectDataB() {
  364. $.get("demo.ashx?m=defectb", function (data) {
  365. var json = JSON.parse(data);
  366. if (json["success"] == true) {
  367. var count1 = parseFloat(json["rows"][0]["数量"]);
  368. var count2 = parseFloat(json["rows"][1]["数量"]);
  369. var goodtype1 = json["rows"][0]["产品类别"];
  370. var goodtype2 = json["rows"][1]["产品类别"];
  371. window.DefectB.data.datasets[0].data = [count1, count2];
  372. window.DefectB.data.labels = [goodtype1, goodtype2]
  373. window.DefectB.update();
  374. }
  375. });
  376. }
  377. function initData() {
  378. window.chartColors = {
  379. red: 'rgb(255, 99, 132)',
  380. orange: 'rgb(255, 159, 64)',
  381. yellow: 'rgb(255, 250, 86)',
  382. green: 'rgb(75, 192, 192)',
  383. blue: 'rgb(54, 162, 250)',
  384. purple: 'rgb(153, 102, 255)',
  385. grey: 'rgb(231,233,237)'
  386. };
  387. var color = Chart.helpers.color;
  388. window.randomScalingFactor = function (num) {
  389. return Math.round(Math.random() * num);
  390. }
  391. Chart.defaults.global.defaultFontColor = 'white';
  392. Chart.defaults.global.defaultFontSize = 18;
  393. Chart.defaults.global.legend.display = false;
  394. //半检一检各项趋势图=====================================
  395. window.configDayZL = {
  396. data: {
  397. labels: ["01", "02", "03", "04", "05", "06", "07"],
  398. datasets: [{
  399. type: 'line',
  400. label: "合格率",
  401. yAxesGroup: 'A',
  402. yAxisID: 'A',
  403. backgroundColor: color(window.chartColors.red).alpha(0.5).rgbString(),
  404. borderColor: window.chartColors.red,
  405. borderWidth: 2,
  406. pointRadius: 15,
  407. data: [0, 0, 0, 0, 0, 0, 0],
  408. fill: false
  409. }, {
  410. label: '产量',
  411. yAxesGroup: 'B',
  412. yAxisID: 'B',
  413. backgroundColor: color(window.chartColors.blue).alpha(0.5).rgbString(),
  414. borderColor: window.chartColors.blue,
  415. borderWidth: 1,
  416. data: [100, 100, 100, 100, 100, 100, 100],
  417. fill: false
  418. }]
  419. },
  420. type: 'bar',
  421. options: {
  422. legend: {
  423. display: true
  424. },
  425. title: {
  426. display: false,
  427. text: '质量统计'
  428. },
  429. tooltips: {
  430. mode: 'index',
  431. intersect: false,
  432. },
  433. hover: {
  434. mode: 'nearest',
  435. intersect: true
  436. },
  437. scales: {
  438. xAxes: [{
  439. display: true,
  440. scaleLabel: {
  441. display: false,
  442. labelString: ''
  443. }
  444. }],
  445. yAxes: [{
  446. display: true,
  447. id: 'B',
  448. name: 'B',
  449. scalePositionLeft: true,
  450. position: 'left',
  451. scaleLabel: {
  452. display: false,
  453. labelString: 'Value'
  454. },
  455. ticks: {
  456. min: 0,
  457. stepSize: 500,
  458. max: 3000
  459. }
  460. }
  461. , {
  462. display: true,
  463. id: 'A',
  464. name: 'A',
  465. scalePositionLeft: false,
  466. position: 'right',
  467. scaleLabel: {
  468. display: false,
  469. labelString: 'Value2'
  470. },
  471. ticks: {
  472. min: 80,
  473. stepSize: 5,
  474. max: 100
  475. }
  476. }]
  477. }
  478. }
  479. };
  480. var ctxDayZL = document.getElementById("canvasDayZL").getContext("2d");
  481. window.DayZL = new Chart(ctxDayZL, configDayZL);
  482. //===================================================
  483. //成型缺陷TOP5===========================================
  484. window.configDefectA = {
  485. data: {
  486. labels: ['1', '2', '3'],
  487. datasets: [{
  488. label: '工序',
  489. backgroundColor: [
  490. color(window.chartColors.red).alpha(0.35).rgbString(),
  491. color(window.chartColors.blue).alpha(0.35).rgbString(),
  492. color(window.chartColors.green).alpha(0.35).rgbString(),
  493. color(window.chartColors.orange).alpha(0.35).rgbString(),
  494. color(window.chartColors.purple).alpha(0.35).rgbString()
  495. ],
  496. fill: false,
  497. borderColor: [
  498. window.chartColors.red,
  499. window.chartColors.blue,
  500. window.chartColors.green,
  501. window.chartColors.orange,
  502. window.chartColors.purple
  503. ],
  504. borderWidth: 2,
  505. pointRadius: 30,
  506. data: [0, 0, 0]
  507. }]
  508. },
  509. type: 'pie',
  510. options: {
  511. legend: {
  512. display: true
  513. },
  514. title: {
  515. display: false,
  516. text: "甲班缺陷"
  517. },
  518. tooltips: {
  519. mode: 'point',
  520. intersect: false
  521. },
  522. responsive: true
  523. }
  524. };
  525. var ctxDefectA = document.getElementById("canvasDefectA").getContext("2d");
  526. window.DefectA = new Chart(ctxDefectA, configDefectA);
  527. //===================================================
  528. //成检缺陷TOP5===========================================
  529. window.configDefectB = {
  530. data: {
  531. labels: ['缺陷1', '缺陷2', '缺陷3'],
  532. datasets: [{
  533. label: '工序',
  534. backgroundColor: [
  535. color(window.chartColors.red).alpha(0.35).rgbString(),
  536. color(window.chartColors.blue).alpha(0.35).rgbString(),
  537. color(window.chartColors.green).alpha(0.35).rgbString(),
  538. color(window.chartColors.orange).alpha(0.35).rgbString(),
  539. color(window.chartColors.purple).alpha(0.35).rgbString()
  540. ],
  541. fill: false,
  542. borderColor: [
  543. window.chartColors.red,
  544. window.chartColors.blue,
  545. window.chartColors.green,
  546. window.chartColors.orange,
  547. window.chartColors.purple
  548. ],
  549. borderWidth: 2,
  550. pointRadius: 30,
  551. data: [0, 0, 0]
  552. }]
  553. },
  554. type: 'pie',
  555. options: {
  556. legend: {
  557. display: true
  558. },
  559. title: {
  560. display: false,
  561. text: "甲班缺陷"
  562. },
  563. tooltips: {
  564. mode: 'point',
  565. intersect: false
  566. },
  567. responsive: true
  568. }
  569. };
  570. var ctxDefectB = document.getElementById("canvasDefectB").getContext("2d");
  571. window.DefectB = new Chart(ctxDefectB, configDefectB);
  572. //===================================================
  573. //甲班缺陷===========================================
  574. //window.configMonthCL = {
  575. // data: {
  576. // labels: ['实际产量', '目标产量'],
  577. // datasets: [{
  578. // label: '工序',
  579. // backgroundColor: [
  580. // color(window.chartColors.red).alpha(0.35).rgbString(),
  581. // color(window.chartColors.blue).alpha(0.35).rgbString(),
  582. // color(window.chartColors.green).alpha(0.35).rgbString(),
  583. // color(window.chartColors.orange).alpha(0.35).rgbString(),
  584. // color(window.chartColors.purple).alpha(0.35).rgbString()
  585. // ],
  586. // fill: false,
  587. // borderColor: [
  588. // window.chartColors.red,
  589. // window.chartColors.blue,
  590. // window.chartColors.green,
  591. // window.chartColors.orange,
  592. // window.chartColors.purple
  593. // ],
  594. // borderWidth: 2,
  595. // pointRadius: 30,
  596. // data: [0, 0]
  597. // }]
  598. // },
  599. // type: 'doughnut',
  600. // options: {
  601. // legend: {
  602. // display: true
  603. // },
  604. // title: {
  605. // display: false,
  606. // text: ""
  607. // },
  608. // tooltips: {
  609. // mode: 'point',
  610. // intersect: false
  611. // },
  612. // responsive: true
  613. // }
  614. //};
  615. //var ctxMonthCL = document.getElementById("canvasMonthCL").getContext("2d");
  616. //window.MonthCL = new Chart(ctxMonthCL, configMonthCL);
  617. //===================================================
  618. //侧漏气产量柱状图=====================================
  619. window.canvasDayCL = {
  620. data: {
  621. labels: ["01", "02", "03", "04", "05", "06", "07"],
  622. datasets: [
  623. {
  624. label: "产量",
  625. fill: false,
  626. backgroundColor: color(window.chartColors.blue).alpha(0.6).rgbString(),
  627. borderColor: window.chartColors.blue,
  628. borderWidth: 2,
  629. pointRadius: 15,
  630. data: [0, 0, 0, 0, 0, 0, 0, 0]
  631. }
  632. ]
  633. },
  634. type: 'bar',
  635. options: {
  636. legend: {
  637. display: true
  638. },
  639. title: {
  640. display: true,
  641. text: ""
  642. },
  643. tooltips: {
  644. mode: 'point',
  645. intersect: false
  646. },
  647. responsive: true,
  648. scales: {
  649. xAxes: [{
  650. stacked: false,
  651. barThickness: 40
  652. }],
  653. yAxes: [{
  654. display: true,
  655. stacked: false,
  656. ticks: {
  657. min: 0,
  658. //stepSize: 200,
  659. //max: 1000
  660. }
  661. }]
  662. }
  663. }
  664. };
  665. var ctxDayCL = document.getElementById("canvasDayCL").getContext("2d");
  666. window.DayCL = new Chart(ctxDayCL, canvasDayCL);
  667. //===================================================
  668. //每小时产量=========================================
  669. window.canvasHourCL = {
  670. data: {
  671. labels: [],
  672. datasets: [{
  673. label: "施釉4+1",
  674. fill: false,
  675. backgroundColor: color(window.chartColors.red).alpha(0.6).rgbString(),
  676. borderColor: window.chartColors.red,
  677. borderWidth: 2,
  678. pointRadius: 12,
  679. data: []
  680. }, {
  681. label: "施釉6+1",
  682. fill: false,
  683. backgroundColor: color(window.chartColors.blue).alpha(0.6).rgbString(),
  684. borderColor: window.chartColors.blue,
  685. borderWidth: 2,
  686. pointRadius: 12,
  687. data: []
  688. }]
  689. },
  690. type: 'line',
  691. options: {
  692. responsive: true,
  693. legend: {
  694. display: true
  695. },
  696. title: {
  697. display: true,
  698. text: '每小时产量'
  699. },
  700. tooltips: {
  701. mode: 'index',
  702. intersect: false,
  703. },
  704. hover: {
  705. mode: 'nearest',
  706. intersect: true
  707. },
  708. scales: {
  709. xAxes: [{
  710. display: true,
  711. scaleLabel: {
  712. display: false,
  713. labelString: ''
  714. }
  715. }],
  716. yAxes: [{
  717. display: true,
  718. scaleLabel: {
  719. display: false,
  720. labelString: 'Value'
  721. },
  722. ticks: {
  723. min: 0,
  724. stepSize: 50,
  725. max: 300
  726. }
  727. }]
  728. }
  729. }
  730. };
  731. var ctxHourCL = document.getElementById("canvasHourCL").getContext("2d");
  732. window.DayCLH = new Chart(ctxHourCL, canvasHourCL);
  733. //===================================================
  734. //吹尘产量===========================================
  735. window.canvasDayCC = {
  736. barWidth: 10,
  737. data: {
  738. barWidth: 10,
  739. labels: ["01", "02", "03", "04", "05", "06", "07"],
  740. datasets: [
  741. {
  742. label: "产量",
  743. fill: false,
  744. backgroundColor: color(window.chartColors.blue).alpha(0.6).rgbString(),
  745. borderColor: window.chartColors.blue,
  746. borderWidth: 2,
  747. pointRadius: 15,
  748. barWidth: 10,
  749. categoryPercentage: 0.5,
  750. data: [0, 0, 0, 0, 0, 0, 0, 0]
  751. }
  752. ]
  753. },
  754. type: 'bar',
  755. barWidth: 10,
  756. options: {
  757. legend: {
  758. display: true
  759. },
  760. barWidth: 10,
  761. title: {
  762. display: true,
  763. text: ""
  764. },
  765. tooltips: {
  766. mode: 'point',
  767. intersect: false
  768. },
  769. responsive: true,
  770. scales: {
  771. xAxes: [{
  772. barWidth: 10,
  773. stacked: false,
  774. barThickness: 40
  775. }],
  776. yAxes: [{
  777. display: true,
  778. stacked: false,
  779. ticks: {
  780. min: 0,
  781. //barWidth: 10,
  782. //stepSize: 200,
  783. //max: 1000
  784. }
  785. }]
  786. }
  787. }
  788. };
  789. var ctxDayCC = document.getElementById("canvasDayCC").getContext("2d");
  790. window.DayCC = new Chart(ctxDayCC, canvasDayCC);
  791. //===================================================
  792. //精坯库库存===========================================
  793. window.canvasJPKC = {
  794. data: {
  795. labels: ['1', '2', '3'],
  796. datasets: [{
  797. label: '工序',
  798. backgroundColor: [
  799. color(window.chartColors.red).alpha(0.35).rgbString(),
  800. color(window.chartColors.blue).alpha(0.35).rgbString(),
  801. color(window.chartColors.green).alpha(0.35).rgbString(),
  802. color(window.chartColors.orange).alpha(0.35).rgbString(),
  803. color(window.chartColors.purple).alpha(0.35).rgbString()
  804. ],
  805. fill: false,
  806. borderColor: [
  807. window.chartColors.red,
  808. window.chartColors.blue,
  809. window.chartColors.green,
  810. window.chartColors.orange,
  811. window.chartColors.purple
  812. ],
  813. borderWidth: 2,
  814. pointRadius: 30,
  815. data: [0, 0, 0]
  816. }]
  817. },
  818. type: 'pie',
  819. options: {
  820. legend: {
  821. display: true
  822. },
  823. title: {
  824. display: false,
  825. text: "甲班缺陷"
  826. },
  827. tooltips: {
  828. mode: 'point',
  829. intersect: false
  830. },
  831. responsive: true
  832. }
  833. };
  834. var ctxDefectJpkc = document.getElementById("canvasJPKC").getContext("2d");
  835. window.Defectjpkc = new Chart(ctxDefectJpkc, canvasJPKC);
  836. //===================================================
  837. }
  838. </script>
  839. <script src="/Plugins/chartjs-2.8.0/chart-2.8.min.js"></script>
  840. <script src="/Plugins/chartjs-2.8.0/chartjs-plugin-datalabels.js"></script>
  841. <script src="/Plugins/chartjs-2.8.0/utils.js"></script>
  842. <script src="/Plugins/circleChart/circleChart.min.js"></script>
  843. </body>
  844. </html>