dapingmu-display.js 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229
  1. var timeday = new Array("今日", "昨日", "本周", "本月");
  2. var i = 0, j = 0;
  3. function showChart() {
  4. var stackdata = [];
  5. var passdata = [];
  6. var faildata = [];
  7. var ratedata = [];
  8. var failmax = 0;
  9. var passmax = 0;
  10. var iddata = [];
  11. var summax = 0;
  12. var stackmax = 0;
  13. var ratemax = 0;
  14. for (i = 0; i < flowIds.length; i++) {
  15. passdata.push(passNumber[i]);
  16. faildata.push(failNumber[i]);
  17. stackdata.push(stackeverynum[i]);
  18. ratedata.push(failrate[i]);
  19. iddata.push(flowIds[i]);
  20. if (ratemax < ratedata[i]) {
  21. ratemax = ratedata[i];
  22. }
  23. if (passmax < passNumber[i]) {
  24. passmax = passNumber[i];
  25. }
  26. if (failmax < passNumber[i]) {
  27. failmax = passNumber[i];
  28. }
  29. if (stackmax < passNumber[i]) {
  30. stackmax = passNumber[i];
  31. }
  32. }
  33. if (passmax < failmax) {
  34. passmax = failmax
  35. }
  36. if (passmax < stackmax) {
  37. passmax = stackmax;
  38. }
  39. var uaxv = {
  40. crosshair: true,
  41. labels: {
  42. style: {
  43. fontSize: '1.5em'
  44. }
  45. },
  46. categories: iddata,
  47. };
  48. showEachSpot();
  49. showEachSpot1();
  50. showEachSpot2();
  51. stackAndFailChart = Highcharts.chart('graph-1', {
  52. chart: {
  53. zoomType: 'xy',
  54. height: (4 / 16 * 100) + '%' // 16:9 ratio
  55. },
  56. title: {
  57. text: '各产线今日产能'
  58. },
  59. credits: {
  60. enabled: false // 禁用版权信息
  61. },
  62. exporting: {
  63. enabled: false
  64. },
  65. xAxis: [uaxv],
  66. yAxis: [{ // Primary yAxis
  67. labels: {
  68. format: '{value}',
  69. style: {
  70. color: Highcharts.getOptions().colors[0],
  71. fontSize: '1.5em'
  72. }
  73. },
  74. min: 0,
  75. max: passmax * 1.5,
  76. title: {
  77. style: {
  78. color: Highcharts.getOptions().colors[0],
  79. fontSize: '1em'
  80. }
  81. }
  82. },
  83. ],
  84. tooltip: {
  85. shared: true
  86. },
  87. legend: {
  88. layout: 'vertical',
  89. align: 'right',
  90. x: -100,
  91. verticalAlign: 'top',
  92. y: 0,
  93. floating: true,
  94. backgroundColor: (Highcharts.theme && Highcharts.theme.legendBackgroundColor) || '#FFFFFF'
  95. },
  96. series: [{
  97. name: '良品数',
  98. type: 'column',
  99. data: passdata,
  100. }, {
  101. name: '不良品数',
  102. type: 'column',
  103. data: faildata,
  104. },
  105. {
  106. name: '堆积数',
  107. type: 'column',
  108. data: stackdata,
  109. },]
  110. });
  111. FailChart = Highcharts.chart('graph-2', {
  112. chart: {
  113. height: (4 / 16 * 100) + '%' // 16:9 ratio
  114. }, title: {
  115. text: '各产线今日不良率'
  116. }, credits: {
  117. enabled: false // 禁用版权信息
  118. }, exporting: {
  119. enabled: false
  120. }, xAxis: [uaxv],
  121. yAxis: [{ // Secondary yAxis
  122. title: {
  123. text: '不良率',
  124. style: {
  125. color: 'red',
  126. fontSize: '1em'
  127. }
  128. },
  129. min: 0,
  130. max: 1.5 * ratemax,
  131. labels: {
  132. formatter: function () {
  133. return Math.floor(this.value) + "%";
  134. },
  135. style: {
  136. color: 'red',
  137. fontSize: '20px'
  138. }
  139. },
  140. }],
  141. tooltip: {
  142. shared: true
  143. },
  144. legend: {
  145. layout: 'vertical',
  146. align: 'right',
  147. x: -120,
  148. verticalAlign: 'top',
  149. y: 0,
  150. floating: true,
  151. backgroundColor: (Highcharts.theme && Highcharts.theme.legendBackgroundColor) || '#FFFFFF'
  152. },
  153. series: [{
  154. name: '不良率',
  155. type: 'spline',
  156. data: ratedata,
  157. color: 'red',
  158. tooltip: {
  159. valueSuffix: '%'
  160. }
  161. }]
  162. });
  163. }
  164. function updateChart() {
  165. var stackdata = [];
  166. var passdata = [];
  167. var faildata = [];
  168. var ratedata = [];
  169. var failmax = 0;
  170. var passmax = 0;
  171. var iddata = [];
  172. var summax = 0;
  173. var stackmax = 0;
  174. var ratemax = 0;
  175. for (i = 0; i < passNumber.length; i++) {
  176. passdata.push(passNumber[i]);
  177. faildata.push(failNumber[i]);
  178. stackdata.push(stackeverynum[i]);
  179. ratedata.push(failrate[i]);
  180. iddata.push(flowIds[i]);
  181. if (ratemax < ratedata[i]) {
  182. ratemax = ratedata[i];
  183. }
  184. if (passmax < passNumber[i]) {
  185. passmax = passNumber[i];
  186. }
  187. if (failmax < passNumber[i]) {
  188. failmax = passNumber[i];
  189. }
  190. if (stackmax < passNumber[i]) {
  191. stackmax = passNumber[i];
  192. }
  193. }
  194. if (passmax < failmax) {
  195. passmax = failmax
  196. }
  197. if (passmax < stackmax) {
  198. passmax = stackmax;
  199. }
  200. // https://api.hcharts.cn/highcharts#Series.addPoint;
  201. stackAndFailChart.series[0].setData(passdata);
  202. stackAndFailChart.series[1].setData(faildata);
  203. stackAndFailChart.series[2].setData(stackdata);
  204. FailChart.series[0].setData(ratedata);
  205. showEachSpot();
  206. showEachSpot1();
  207. showEachSpot2();
  208. }
  209. var stackAndFailChart = null;
  210. var FailChart = null;