lazhang-display.js 5.6 KB

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