demo.html 41 KB

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