demo.html 29 KB

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