demo.html 35 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696
  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:720px;display:flex;flex-direction:row;">
  25. <div style="width: 48%; height: 360px;">
  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: 46px;">
  31. <td style="width: 14.2%; font-size: 10px; padding: 0px 0px 0px 0px;">缺陷名称</td>
  32. <td style="width: 14.2%; font-size: 10px; padding: 0px 0px 0px 0px;">出窑数</td>
  33. <td style="width: 14.2%; font-size: 10px; padding: 0px 0px 0px 0px;">缺陷数</td>
  34. <td style="width: 14.2%; font-size: 10px; padding: 0px 0px 0px 0px;">缺陷占比</td>
  35. <td style="width: 14.2%; font-size: 10px; padding: 0px 0px 0px 0px; ">同月比</td>
  36. <td style="width: 14.2%; font-size: 10px; padding: 0px 0px 0px 0px;">上月比</td>
  37. <td style="width: 14.2%; font-size: 10px; padding: 0px 0px 0px 0px;">对比趋势</td>
  38. </tr>
  39. </table>
  40. <div style=" height: 260px; overflow: hidden; width: 100%;">
  41. <div>
  42. <table id="dayTable_template" style="display:none;">
  43. <tr class="tr_title_warning" style="height: 46px;">
  44. <td style="width: 14.2%; font-size: 10px; padding: 0px 0px 0px 0px;">{缺陷名称}</td>
  45. <td style="width: 14.2%; font-size: 10px;">{出窑数}</td>
  46. <td style="width: 14.2%; font-size: 10px; ">{缺陷数}</td>
  47. <td style="width: 14.2%; font-size: 10px; ">{缺陷占比}</td>
  48. <td style="width: 14.2%; font-size: 10px; ">{同月比}</td>
  49. <td style="width: 14.2%; font-size: 10px; ">{上月比}</td>
  50. <td style="width: 14.2%; font-size: 10px; ">{对比趋势}</td>
  51. </tr>
  52. </table>
  53. </div>
  54. <table id="dayTable" style="width: 100%;">
  55. </table>
  56. </div>
  57. </div>
  58. <div style="width: 48%; height: 360px; margin-top: 334px; margin-left: -883.5px;">
  59. <table cellspacing="0" cellpadding="0" border="0" style="width: 99.8%;">
  60. <tr class="tr_title_warning">
  61. <td colspan="10" style="color: white;">月次品缺陷位置数据汇总</td>
  62. </tr>
  63. <tr class="tr_title_warning" style="height: 46px;">
  64. <td style="width: 14.2%; font-size: 10px; padding: 0px 0px 0px 0px;">缺陷位置名称</td>
  65. <td style="width: 14.2%; font-size: 10px; padding: 0px 0px 0px 0px;">出窑数</td>
  66. <td style="width: 14.2%; font-size: 10px; padding: 0px 0px 0px 0px;">缺陷数</td>
  67. <td style="width: 14.2%; font-size: 10px; padding: 0px 0px 0px 0px;">缺陷占比</td>
  68. <td style="width: 14.2%; font-size: 10px; padding: 0px 0px 0px 0px; ">同月比</td>
  69. <td style="width: 14.2%; font-size: 10px; padding: 0px 0px 0px 0px;">上月比</td>
  70. <td style="width: 14.2%; font-size: 10px; padding: 0px 0px 0px 0px;">对比趋势</td>
  71. </tr>
  72. </table>
  73. <div style=" height: 260px; overflow: hidden; width: 100%;">
  74. <div>
  75. <table id="dayTable_templatedefect" style="display:none;">
  76. <tr class="tr_title_warning" style="height: 46px;">
  77. <td style="width: 14.2%; font-size: 10px; padding: 0px 0px 0px 0px;">{缺陷位置名称}</td>
  78. <td style="width: 14.2%; font-size: 10px;">{出窑数}</td>
  79. <td style="width: 14.2%; font-size: 10px; ">{缺陷数}</td>
  80. <td style="width: 14.2%; font-size: 10px; ">{缺陷占比}</td>
  81. <td style="width: 14.2%; font-size: 10px; ">{同月比}</td>
  82. <td style="width: 14.2%; font-size: 10px; ">{上月比}</td>
  83. <td style="width: 14.2%; font-size: 10px; ">{对比趋势}</td>
  84. </tr>
  85. </table>
  86. </div>
  87. <table id="TableDefect" style="width: 100%; ">
  88. </table>
  89. </div>
  90. </div>
  91. <div style="width: 50%; height: 672px; right: 40px; margin-left: 35px;">
  92. <table cellspacing="0" cellpadding="0" border="0" style="width: 99.8%;">
  93. <tr class="tr_title_warning">
  94. <td colspan="10" style="color: white;">今日次品明细数据</td>
  95. </tr>
  96. <tr class="tr_title_warning" style="height: 50px;">
  97. <td style="width: 10%; font-size: 10px; padding: 0px 0px 0px 0px;">产品条码</td>
  98. <td style="width: 10%; font-size: 10px; padding: 0px 0px 0px 0px;">产品编码</td>
  99. <td style="width: 10%; font-size: 10px; padding: 0px 0px 0px 0px;">注浆日期</td>
  100. <td style="width: 10%; font-size: 10px; padding: 0px 0px 0px 0px;">成型线模具</td>
  101. <td style="width: 10%; font-size: 10px; padding: 0px 0px 0px 0px; ">施釉产线</td>
  102. <td style="width: 10%; font-size: 10px; padding: 0px 0px 0px 0px;">窑炉编号</td>
  103. <td style="width: 10%; font-size: 10px; padding: 0px 0px 0px 0px;">责任工号</td>
  104. <td style="width: 10%; font-size: 10px; padding: 0px 0px 0px 0px; ">缺陷类别</td>
  105. <td style="width: 10%; font-size: 10px; padding: 0px 0px 0px 0px;">缺陷名称</td>
  106. <td style="width: 10%; font-size: 10px; padding: 0px 0px 0px 0px;">缺陷位置</td>
  107. </tr>
  108. </table>
  109. <div style=" height: 572px; overflow: hidden; width: 100%;">
  110. <div>
  111. <table id="dayTable_templatedetail" style="display:none;">
  112. <tr class="tr_title_warning" style="height: 50px;">
  113. <td style="width: 10%; font-size: 10px; padding: 0px 0px 0px 0px;">{产品条码}</td>
  114. <td style="width: 10%; font-size: 10px; padding: 0px 0px 0px 0px;">{产品编码}</td>
  115. <td style="width: 10%; font-size: 10px; padding: 0px 0px 0px 0px;">{注浆日期}</td>
  116. <td style="width: 10%; font-size: 10px; padding: 0px 0px 0px 0px;">{成型线模具}</td>
  117. <td style="width: 10%; font-size: 10px; padding: 0px 0px 0px 0px;">{施釉产线}</td>
  118. <td style="width: 10%; font-size: 10px; padding: 0px 0px 0px 0px;">{窑炉编号}</td>
  119. <td style="width: 10%; font-size: 10px; padding: 0px 0px 0px 0px;">{责任工号}</td>
  120. <td style="width: 10%; font-size: 10px; padding: 0px 0px 0px 0px;">{缺陷类别}</td>
  121. <td style="width: 10%; font-size: 10px; padding: 0px 0px 0px 0px;">{缺陷名称}</td>
  122. <td style="width: 10%; font-size: 10px; padding: 0px 0px 0px 0px;">{缺陷位置}</td>
  123. </tr>
  124. </table>
  125. </div>
  126. <table id="TableDefectDetail" style="width: 100%; ">
  127. </table>
  128. </div>
  129. </div>
  130. </div>
  131. <!--缺陷统计-->
  132. <div style="width:1840px;height:230px;display:flex;flex-direction:row;">
  133. <div style="width: 25%; height: 230px;">
  134. <div style="color:white;font-size:20px;font-weight:600; text-align:center">七日次品产量趋势图</div>
  135. <canvas id="canvasDayZL" style="-moz-user-select: none; -webkit-user-select: none; -ms-user-select: none; height: 200px; width: 100%"></canvas>
  136. </div>
  137. <div style="width: 25%; height: 230px;">
  138. <div style="color:white;font-size:20px;font-weight:600; text-align:center">今日次品缺陷(今日TOP3)</div>
  139. <canvas id="canvasDefectA" style="-moz-user-select: none; -webkit-user-select: none; -ms-user-select: none; height: 200px; width: 100%"></canvas>
  140. </div>
  141. <div style="width: 25%; height: 230px;">
  142. <div style="color:white;font-size:20px;font-weight:600; text-align:center">今日次品缺陷位置(今日TOP3)</div>
  143. <canvas id="canvasDefectB" style="-moz-user-select: none; -webkit-user-select: none; -ms-user-select: none; height: 200px; width: 100%"></canvas>
  144. </div>
  145. <div style="width: 25%; height: 230px;">
  146. <div style="color:white;font-size:20px;font-weight:600; text-align:center">养水缺陷(今日TOP3)</div>
  147. <canvas id="canvasDefectY" style="-moz-user-select: none; -webkit-user-select: none; -ms-user-select: none; height: 200px; width: 100%"></canvas>
  148. </div>
  149. </div>
  150. </div>
  151. </div>
  152. <script>
  153. var mainInterval;
  154. var mainRowCount = 0;
  155. var mainInterva2;
  156. var mainRowCoun2 = 0;
  157. function loadMainTable() {
  158. $.get("demo.ashx?m=MonthTabletwo", function (data) {
  159. var json = JSON.parse(data);
  160. if (json["success"] == true) {
  161. $("#dayTable").html("");
  162. for (var i = 0; i < json["rows"].length; i++) {
  163. var temp = $("#dayTable_template").html();
  164. temp = temp.replace("<tbody>", "").replace("</tbody>", "");
  165. temp = temp.replace('{缺陷名称}', json["rows"][i]['缺陷名称']);
  166. temp = temp.replace('{出窑数}', json["rows"][i]['出窑数']);
  167. temp = temp.replace('{缺陷数}', json["rows"][i]['缺陷数']);
  168. temp = temp.replace('{缺陷占比}', json["rows"][i]['缺陷占比']);
  169. temp = temp.replace('{同月比}', json["rows"][i]['同月比']);
  170. temp = temp.replace('{上月比}', json["rows"][i]['上月比']);
  171. temp = temp.replace('{对比趋势}', json["rows"][i]['对比趋势']);
  172. $("#dayTable").append(temp);
  173. }
  174. }
  175. var num = parseInt(json["rows"].length);
  176. for (var i = 0; i < num; i++) {
  177. var a = document.getElementById("dayTable").rows[i].cells[6].innerHTML;
  178. if (a == '下降↓') {
  179. document.getElementById("dayTable").rows[i].cells[6].style.color = '#3bf738';
  180. }
  181. else {
  182. document.getElementById("dayTable").rows[i].cells[6].style.color = 'red';
  183. }
  184. }
  185. });
  186. }
  187. function loadMainTableD() {
  188. $.get("demo.ashx?m=MonthTableD", function (data) {
  189. var json = JSON.parse(data);
  190. if (json["success"] == true) {
  191. $("#TableDefect").html("");
  192. for (var i = 0; i < json["rows"].length; i++) {
  193. var temp = $("#dayTable_templatedefect").html();
  194. temp = temp.replace("<tbody>", "").replace("</tbody>", "");
  195. temp = temp.replace('{缺陷位置名称}', json["rows"][i]['缺陷位置名称']);
  196. temp = temp.replace('{出窑数}', json["rows"][i]['出窑数']);
  197. temp = temp.replace('{缺陷数}', json["rows"][i]['缺陷数']);
  198. temp = temp.replace('{缺陷占比}', json["rows"][i]['缺陷占比']);
  199. temp = temp.replace('{同月比}', json["rows"][i]['同月比']);
  200. temp = temp.replace('{上月比}', json["rows"][i]['上月比']);
  201. temp = temp.replace('{对比趋势}', json["rows"][i]['对比趋势']);
  202. $("#TableDefect").append(temp);
  203. }
  204. }
  205. var num = parseInt(json["rows"].length);
  206. for (var i = 0; i < num; i++) {
  207. var a = document.getElementById("TableDefect").rows[i].cells[6].innerHTML;
  208. if (a == '下降↓') {
  209. document.getElementById("TableDefect").rows[i].cells[6].style.color = '#3bf738';
  210. }
  211. else {
  212. document.getElementById("TableDefect").rows[i].cells[6].style.color = 'red';
  213. }
  214. }
  215. });
  216. }
  217. function loadMainDetail() {
  218. $.get("demo.ashx?m=MonthTableDetail", function (data) {
  219. var json = JSON.parse(data);
  220. if (json["success"] == true) {
  221. $("#TableDefectDetail").html("");
  222. for (var i = 0; i < json["rows"].length; i++) {
  223. var temp = $("#dayTable_templatedetail").html();
  224. temp = temp.replace("<tbody>", "").replace("</tbody>", "");
  225. temp = temp.replace('{产品条码}', json["rows"][i]['产品条码']);
  226. temp = temp.replace('{产品编码}', json["rows"][i]['产品编码']);
  227. temp = temp.replace('{注浆日期}', json["rows"][i]['注浆日期']);
  228. temp = temp.replace('{成型线模具}', json["rows"][i]['成型线模具']);
  229. temp = temp.replace('{施釉产线}', json["rows"][i]['施釉产线']);
  230. temp = temp.replace('{窑炉编号}', json["rows"][i]['窑炉编号']);
  231. temp = temp.replace('{责任工号}', json["rows"][i]['责任工号']);
  232. temp = temp.replace('{缺陷类别}', json["rows"][i]['缺陷类别']);
  233. temp = temp.replace('{缺陷名称}', json["rows"][i]['缺陷名称']);
  234. temp = temp.replace('{缺陷位置}', json["rows"][i]['缺陷位置']);
  235. $("#TableDefectDetail").append(temp);
  236. }
  237. }
  238. });
  239. }
  240. $(document).ready(function () {
  241. initData();
  242. doGetData = setInterval(function () { timeUpdate(); }, 600000);
  243. loadMainTable();
  244. setInterval(function () { loadMainTable(); }, 600000);
  245. loadMainTableD();
  246. setInterval(function () { loadMainTableD(); }, 600000);
  247. loadMainDetail();
  248. setInterval(function () { loadMainDetail(); }, 600000);
  249. DdfectData();
  250. setInterval(function () { DdfectData(); }, 600000);
  251. DdfectDataB();
  252. setInterval(function () { DdfectDataB(); }, 600000);
  253. ZxData();
  254. setInterval(function () { ZxData(); }, 600000);
  255. ZxData();
  256. setInterval(function () { ZxData(); }, 600000);
  257. YdfectData();
  258. setInterval(function () { YdfectData(); }, 600000);
  259. });
  260. //改洗缺陷
  261. function YdfectData() {
  262. $.get("demo.ashx?m=Ydefect", function (data) {
  263. var json = JSON.parse(data);
  264. if (json["success"] == true) {
  265. let a = [];
  266. let b = [];
  267. if (json["success"] == true) {
  268. //var num = parseInt(json["rows"][0]["ROWNUM"]);
  269. var num = parseInt(json["rows"].length);
  270. for (var i = 0; i < num; i++) {
  271. a.push(parseInt(json["rows"][i]["数量"]));
  272. b.push(json["rows"][i]["缺陷名称"]);
  273. }
  274. window.DefectY.data.datasets[0].data = a;
  275. window.DefectY.data.labels = b;
  276. window.DefectY.update();
  277. }
  278. }
  279. });
  280. }
  281. //七日次品产量趋势图
  282. function ZxData() {
  283. $.get("demo.ashx?m=zx", function (data) {
  284. var json = JSON.parse(data);
  285. if (json["success"] == true) {
  286. var BJ1 = parseFloat(json["rows"][0]["次品率"]);
  287. var BJ2 = parseFloat(json["rows"][1]["次品率"]);
  288. var BJ3 = parseFloat(json["rows"][2]["次品率"]);
  289. var BJ4 = parseFloat(json["rows"][3]["次品率"]);
  290. var BJ5 = parseFloat(json["rows"][4]["次品率"]);
  291. var BJ6 = parseFloat(json["rows"][5]["次品率"]);
  292. var BJ7 = parseFloat(json["rows"][6]["次品率"]);
  293. var day1 = json["rows"][0]["日期"];
  294. var day2 = json["rows"][1]["日期"];
  295. var day3 = json["rows"][2]["日期"];
  296. var day4 = json["rows"][3]["日期"];
  297. var day5 = json["rows"][4]["日期"];
  298. var day6 = json["rows"][5]["日期"];
  299. var day7 = json["rows"][6]["日期"];
  300. var count1 = parseFloat(json["rows"][0]["次品数量"]);
  301. var count2 = parseFloat(json["rows"][1]["次品数量"]);
  302. var count3 = parseFloat(json["rows"][2]["次品数量"]);
  303. var count4 = parseFloat(json["rows"][3]["次品数量"]);
  304. var count5 = parseFloat(json["rows"][4]["次品数量"]);
  305. var count6 = parseFloat(json["rows"][5]["次品数量"]);
  306. var count7 = parseFloat(json["rows"][6]["次品数量"]);
  307. window.DayZL.data.datasets[0].data = [BJ1, BJ2, BJ3, BJ4, BJ5, BJ6, BJ7];
  308. window.DayZL.data.datasets[1].data = [count1, count2, count3, count4, count5, count6, count7];
  309. window.DayZL.data.labels = [day1, day2, day3, day4, day5, day6, day7];
  310. window.DayZL.update();
  311. }
  312. });
  313. }
  314. //毛坯库库存
  315. function DataKC() {
  316. $.get("demo.ashx?m=kc", function (data) {
  317. var json = JSON.parse(data);
  318. if (json["success"] == true) {
  319. var count1 = parseFloat(json["rows"][0]["数量"]);
  320. var count2 = parseFloat(json["rows"][1]["数量"]);
  321. var goodtype1 = json["rows"][0]["产品类别"];
  322. var goodtype2 = json["rows"][1]["产品类别"];
  323. window.Defectkc.data.datasets[0].data = [count1, count2];
  324. window.Defectkc.data.labels = [goodtype1, goodtype2]
  325. window.Defectkc.update();
  326. }
  327. });
  328. }
  329. function DdfectData() {
  330. $.get("demo.ashx?m=defect", function (data) {
  331. var json = JSON.parse(data);
  332. if (json["success"] == true) {
  333. var defect1 = parseFloat(json["rows"][0]["数量"]);
  334. var defect2 = parseFloat(json["rows"][1]["数量"]);
  335. var defect3 = parseFloat(json["rows"][2]["数量"]);
  336. var defectname1 = json["rows"][0]["缺陷名称"];
  337. var defectname2 = json["rows"][1]["缺陷名称"];
  338. var defectname3 = json["rows"][2]["缺陷名称"];
  339. window.DefectA.data.datasets[0].data = [defect1, defect2, defect3];
  340. window.DefectA.data.labels = [defectname1, defectname2, defectname3]
  341. window.DefectA.update();
  342. }
  343. });
  344. }
  345. function DdfectDataB() {
  346. $.get("demo.ashx?m=defectb", function (data) {
  347. var json = JSON.parse(data);
  348. if (json["success"] == true) {
  349. var defect1 = parseFloat(json["rows"][0]["数量"]);
  350. var defect2 = parseFloat(json["rows"][1]["数量"]);
  351. var defect3 = parseFloat(json["rows"][2]["数量"]);
  352. var defectname1 = json["rows"][0]["缺陷名称"];
  353. var defectname2 = json["rows"][1]["缺陷名称"];
  354. var defectname3 = json["rows"][2]["缺陷名称"];
  355. window.DefectB.data.datasets[0].data = [defect1, defect2, defect3];
  356. window.DefectB.data.labels = [defectname1, defectname2, defectname3]
  357. window.DefectB.update();
  358. }
  359. });
  360. }
  361. function timeUpdate() {
  362. loadData();
  363. }
  364. function loadData() {
  365. //成型各项趋势图
  366. //window.DayZL.data.datasets[0].data = [
  367. // randomScalingFactor(1) + 80,
  368. // randomScalingFactor(1) + 80,
  369. // randomScalingFactor(1) + 80,
  370. // randomScalingFactor(1) + 80,
  371. // randomScalingFactor(1) + 80,
  372. // randomScalingFactor(1) + 80,
  373. // randomScalingFactor(1) + 80
  374. //];
  375. //window.DayZL.data.datasets[1].data = [
  376. // randomScalingFactor(1) + 70,
  377. // randomScalingFactor(1) + 70,
  378. // randomScalingFactor(1) + 70,
  379. // randomScalingFactor(1) + 70,
  380. // randomScalingFactor(1) + 70,
  381. // randomScalingFactor(1) + 70,
  382. // randomScalingFactor(1) + 70
  383. //];
  384. //window.DayZL.update();
  385. //成型缺陷top5
  386. //window.DefectA.data.datasets[0].data = [
  387. // randomScalingFactor(8),
  388. // randomScalingFactor(8),
  389. // randomScalingFactor(8)
  390. //];
  391. //window.DefectA.update();
  392. //成检缺陷top5
  393. //window.DefectB.data.datasets[0].data = [
  394. // randomScalingFactor(8),
  395. // randomScalingFactor(8),
  396. // randomScalingFactor(8)
  397. //];
  398. //window.DefectB.update();
  399. //产量计划达成
  400. //window.MonthCL.data.datasets[0].data = [
  401. // randomScalingFactor(1000),
  402. // randomScalingFactor(1000)
  403. //];
  404. //window.MonthCL.update();
  405. }
  406. function initData() {
  407. window.chartColors = {
  408. red: 'rgb(255, 99, 132)',
  409. orange: 'rgb(255, 159, 64)',
  410. yellow: 'rgb(255, 250, 86)',
  411. green: 'rgb(75, 192, 192)',
  412. blue: 'rgb(54, 162, 250)',
  413. purple: 'rgb(153, 102, 255)',
  414. grey: 'rgb(231,233,237)'
  415. };
  416. var color = Chart.helpers.color;
  417. window.randomScalingFactor = function (num) {
  418. return Math.round(Math.random() * num);
  419. }
  420. Chart.defaults.global.defaultFontColor = 'white';
  421. Chart.defaults.global.defaultFontSize = 18;
  422. Chart.defaults.global.legend.display = false;
  423. //半检一检各项趋势图=====================================
  424. window.configDayZL = {
  425. data: {
  426. labels: ["01", "02", "03", "04", "05", "06", "07"],
  427. datasets: [{
  428. type: 'line',
  429. label: "次品率",
  430. yAxesGroup: 'A',
  431. yAxisID: 'A',
  432. backgroundColor: color(window.chartColors.red).alpha(0.5).rgbString(),
  433. borderColor: window.chartColors.red,
  434. borderWidth: 2,
  435. pointRadius: 15,
  436. data: [0, 0, 0, 0, 0, 0, 0],
  437. fill: false
  438. }, {
  439. label: '次品数',
  440. yAxesGroup: 'B',
  441. yAxisID: 'B',
  442. backgroundColor: color(window.chartColors.blue).alpha(0.5).rgbString(),
  443. borderColor: window.chartColors.blue,
  444. borderWidth: 1,
  445. data: [100, 100, 100, 100, 100, 100, 100],
  446. fill: false
  447. }]
  448. },
  449. type: 'bar',
  450. options: {
  451. legend: {
  452. display: true
  453. },
  454. title: {
  455. display: false,
  456. text: '质量统计'
  457. },
  458. tooltips: {
  459. mode: 'index',
  460. intersect: false,
  461. },
  462. hover: {
  463. mode: 'nearest',
  464. intersect: true
  465. },
  466. scales: {
  467. xAxes: [{
  468. display: true,
  469. scaleLabel: {
  470. display: false,
  471. labelString: ''
  472. }
  473. }],
  474. yAxes: [{
  475. display: true,
  476. id: 'B',
  477. name: 'B',
  478. scalePositionLeft: true,
  479. position: 'left',
  480. scaleLabel: {
  481. display: false,
  482. labelString: 'Value'
  483. },
  484. ticks: {
  485. min: 0,
  486. stepSize: 40,
  487. max: 200
  488. }
  489. }
  490. , {
  491. display: true,
  492. id: 'A',
  493. name: 'A',
  494. scalePositionLeft: false,
  495. position: 'right',
  496. scaleLabel: {
  497. display: false,
  498. labelString: 'Value2'
  499. },
  500. ticks: {
  501. min: 0,
  502. stepSize: 2,
  503. max: 10
  504. }
  505. }]
  506. }
  507. }
  508. };
  509. var ctxDayZL = document.getElementById("canvasDayZL").getContext("2d");
  510. window.DayZL = new Chart(ctxDayZL, configDayZL);
  511. //===================================================
  512. //成型缺陷TOP5===========================================
  513. window.configDefectA = {
  514. data: {
  515. labels: ['1', '2', '3'],
  516. datasets: [{
  517. label: '工序',
  518. backgroundColor: [
  519. color(window.chartColors.red).alpha(0.35).rgbString(),
  520. color(window.chartColors.blue).alpha(0.35).rgbString(),
  521. color(window.chartColors.green).alpha(0.35).rgbString(),
  522. color(window.chartColors.orange).alpha(0.35).rgbString(),
  523. color(window.chartColors.purple).alpha(0.35).rgbString()
  524. ],
  525. fill: false,
  526. borderColor: [
  527. window.chartColors.red,
  528. window.chartColors.blue,
  529. window.chartColors.green,
  530. window.chartColors.orange,
  531. window.chartColors.purple
  532. ],
  533. borderWidth: 2,
  534. pointRadius: 30,
  535. data: [0, 0, 0]
  536. }]
  537. },
  538. type: 'pie',
  539. options: {
  540. legend: {
  541. display: true
  542. },
  543. title: {
  544. display: false,
  545. text: "甲班缺陷"
  546. },
  547. tooltips: {
  548. mode: 'point',
  549. intersect: false
  550. },
  551. responsive: true
  552. }
  553. };
  554. var ctxDefectA = document.getElementById("canvasDefectA").getContext("2d");
  555. window.DefectA = new Chart(ctxDefectA, configDefectA);
  556. //===================================================
  557. //成检缺陷TOP5===========================================
  558. window.configDefectB = {
  559. data: {
  560. labels: ['缺陷1', '缺陷2', '缺陷3'],
  561. datasets: [{
  562. label: '工序',
  563. backgroundColor: [
  564. color(window.chartColors.red).alpha(0.35).rgbString(),
  565. color(window.chartColors.blue).alpha(0.35).rgbString(),
  566. color(window.chartColors.green).alpha(0.35).rgbString(),
  567. color(window.chartColors.orange).alpha(0.35).rgbString(),
  568. color(window.chartColors.purple).alpha(0.35).rgbString()
  569. ],
  570. fill: false,
  571. borderColor: [
  572. window.chartColors.red,
  573. window.chartColors.blue,
  574. window.chartColors.green,
  575. window.chartColors.orange,
  576. window.chartColors.purple
  577. ],
  578. borderWidth: 2,
  579. pointRadius: 30,
  580. data: [0, 0, 0]
  581. }]
  582. },
  583. type: 'pie',
  584. options: {
  585. legend: {
  586. display: true
  587. },
  588. title: {
  589. display: false,
  590. text: "甲班缺陷"
  591. },
  592. tooltips: {
  593. mode: 'point',
  594. intersect: false
  595. },
  596. responsive: true
  597. }
  598. };
  599. var ctxDefectB = document.getElementById("canvasDefectB").getContext("2d");
  600. window.DefectB = new Chart(ctxDefectB, configDefectB);
  601. //===================================================
  602. //养水缺陷TOP3===========================================
  603. window.canvasDefectY = {
  604. data: {
  605. labels: [],
  606. datasets: [{
  607. label: '工序',
  608. backgroundColor: [
  609. color(window.chartColors.red).alpha(0.35).rgbString(),
  610. color(window.chartColors.blue).alpha(0.35).rgbString(),
  611. color(window.chartColors.green).alpha(0.35).rgbString(),
  612. color(window.chartColors.orange).alpha(0.35).rgbString(),
  613. color(window.chartColors.purple).alpha(0.35).rgbString()
  614. ],
  615. fill: false,
  616. borderColor: [
  617. window.chartColors.red,
  618. window.chartColors.blue,
  619. window.chartColors.green,
  620. window.chartColors.orange,
  621. window.chartColors.purple
  622. ],
  623. borderWidth: 2,
  624. pointRadius: 30,
  625. data: [0, 0, 0]
  626. }]
  627. },
  628. type: 'pie',
  629. options: {
  630. legend: {
  631. display: true
  632. },
  633. title: {
  634. display: false,
  635. text: "甲班缺陷"
  636. },
  637. tooltips: {
  638. mode: 'point',
  639. intersect: false
  640. },
  641. responsive: true
  642. }
  643. };
  644. var ctxDefectY = document.getElementById("canvasDefectY").getContext("2d");
  645. window.DefectY = new Chart(ctxDefectY, canvasDefectY);
  646. //===================================================
  647. }
  648. </script>
  649. <script src="/Plugins/chartjs-2.8.0/chart-2.8.min.js"></script>
  650. <script src="/Plugins/chartjs-2.8.0/chartjs-plugin-datalabels.js"></script>
  651. <script src="/Plugins/chartjs-2.8.0/utils.js"></script>
  652. <script src="/Plugins/circleChart/circleChart.min.js"></script>
  653. </body>
  654. </html>