common.js 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269
  1. function load_table_red_rank() {
  2. get_data("fcBiWorkerDaily/get?type=0&limit=3", on_red_rank_success);
  3. }
  4. function load_table_black_rank() {
  5. get_data("fcBiWorkerDaily/get?type=4&limit=3", on_black_rank_success);
  6. }
  7. var goodColor = [];
  8. var badColor = [];
  9. var userIDs = [];
  10. var schedulepass = 0, schedulefail = 0, schedulestack = 0;
  11. var todayotherpass = 0, todayotherfail = 0, todayotherstack = 0;
  12. var lastTimeHistory = "";
  13. var histoires = [];
  14. function history_success(obj, sta) {
  15. var histoire = first_parse(this, obj);
  16. var i, j, t;
  17. console.log(" histoire : ");
  18. console.log(histoire);
  19. if (this.url.indexOf("type=1") >= 0) {
  20. t = 1;
  21. } else if (this.url.indexOf("type=2") >= 0) {
  22. t = 2;
  23. } else if (this.url.indexOf("type=3") >= 0) {
  24. t = 3;
  25. } else {
  26. t = 0;
  27. return;
  28. }
  29. histoires[t] = histoire;
  30. if (t === 2 || t === 3) {
  31. hispass[t] = 0;
  32. hisfail[t] = 0;
  33. hisstack[t] = 0;
  34. hisrate[t] = 0;
  35. for (i = 0; i < histoire.length - 1; i++) { //除了今日
  36. hispass[t] = histoire[i].passNum + hispass[t];
  37. hisfail[t] = histoire[i].failNum + hisfail[t];
  38. hisstack[t] = histoire[i].avgDue + hisstack[t];
  39. }
  40. orighispass[t] = hispass[t];
  41. orighisfail[t] = hisfail[t];
  42. orighisstack[t] = hisstack[t];
  43. hispass[t] += hispass[0];
  44. hisfail[t] += hisfail[0];
  45. hisstack[t] += hisstack[0];
  46. hisrate[t] = get_factor(hispass[t], hisfail[t]);
  47. } else if (t === 1) {
  48. hispass[1] = histoire[0].passNum;
  49. hisfail[1] = histoire[0].failNum;
  50. hisstack[1] = histoire[0].avgDue;
  51. hisrate[t] = get_factor(hispass[1], hisfail[1]);
  52. }
  53. todayotherpass = histoire[histoire.length - 1].passNum;
  54. todayotherfail = histoire[histoire.length - 1].failNum;
  55. todayotherstack = histoire[histoire.length - 1].avgDue;
  56. update_all_history();
  57. }
  58. function update_all_history(){
  59. hispass[0] = todayotherpass + schedulepass;
  60. hisfail[0] = todayotherfail + schedulefail;
  61. hisstack[0] = todayotherstack + schedulestack;
  62. hisrate[0] = get_factor(hispass[0], hisfail[0]);
  63. for(i=2;i<=3;i++){
  64. hispass[i] = orighispass[i] + hispass[0];
  65. hisfail[i] = orighisfail[i] + hisfail[0];
  66. hisstack[i] = orighisstack[i] + hisstack[0];
  67. hisrate[i] = get_factor(hispass[i], hisfail[i]);
  68. }
  69. }
  70. var todayotherpass , todayotherfail, todayotherstack;
  71. var orighisfail= [], orighispass=[], orighisstack=[];
  72. function isUserOfThisFlow(uid) {
  73. var isExist = false;
  74. userIDs.forEach(function (vals) {
  75. if (vals == uid) {
  76. isExist = true;
  77. }
  78. });
  79. return isExist;
  80. }
  81. function on_red_rank_success(obj, sta) {
  82. var redchart = first_parse(this, obj);
  83. var i, j;
  84. i = j = 0;
  85. console.log(" redchart : ");
  86. console.log(redchart);
  87. for (i = 0; i < redchart.list.length; i++) {
  88. goodid[i] = getUserName(redchart.list[i].workerId);
  89. goodpass[i] = redchart.list[i].passNum;
  90. if(redchart.list[i].passNum + redchart.list[i].failNum > 0) {
  91. goodfailrate[i] = Math.floor(redchart.list[i].failNum * 10000 / (redchart.list[i].passNum + redchart.list[i].failNum)) / 100;
  92. }else{
  93. goodfailrate[i] = 0;
  94. }
  95. if(isUserOfThisFlow(redchart.list[i].workerId)){
  96. goodColor[i] = 'red';
  97. }else{
  98. goodColor[i] = '';
  99. }
  100. }
  101. }
  102. function on_black_rank_success(obj, sta) {
  103. var blackchart = first_parse(this, obj);
  104. var i, j;
  105. i = j = 0;
  106. console.log(" black chart : ");
  107. console.log(blackchart);
  108. for (i = 0; i < blackchart.list.length; i++) {
  109. badid[i] = getUserName(blackchart.list[i].workerId);
  110. badpass[i] = blackchart.list[i].passNum;
  111. //badfailrate[i] = blackchart.list[i].failRate / 100;
  112. if(blackchart.list[i].passNum + blackchart.list[i].failNum > 0) {
  113. badfailrate[i] = Math.floor(blackchart.list[i].failNum * 10000 / (blackchart.list[i].passNum + blackchart.list[i].failNum)) / 100;
  114. }else{
  115. badfailrate[i] = 0;
  116. }
  117. if(isUserOfThisFlow(blackchart.list[i].workerId)){
  118. badColor[i] = 'green';
  119. }else{
  120. badColor[i] = '';
  121. }
  122. }
  123. }
  124. function getSpotHtml(htmlbody, i) {
  125. if(typeof hispass[i] === "undefined"){
  126. htmlbody += "<tr>";
  127. htmlbody += `<tr>
  128. <td> - </td>
  129. <td> - </td>
  130. <td> - </td>
  131. <td> - </td>
  132. <td> - </td>
  133. </tr>`;
  134. htmlbody += "</tr>";
  135. return htmlbody;
  136. }
  137. htmlbody += "<tr>";
  138. htmlbody += `<tr>
  139. <td>${timeday[i]}</td>
  140. <td>${hispass[i]}</td>
  141. <td>${hisfail[i]}</td>
  142. <td>${hisstack[i]}</td>
  143. <td>${hisrate[i] + '%'}</td>
  144. </tr>`;
  145. htmlbody += "</tr>";
  146. return htmlbody;
  147. }
  148. function getSpotHtml1(htmlbody, i) {
  149. if(typeof goodid[i] === "undefined"){
  150. htmlbody += "<tr>";
  151. htmlbody += `<tr>
  152. <td> - </td>
  153. <td> - </td>
  154. <td> - </td>
  155. </tr>`;
  156. htmlbody += "</tr>";
  157. return htmlbody;
  158. }
  159. htmlbody += "<tr>";
  160. htmlbody += `<tr style="background-color: ${goodColor[i]}">
  161. <td>${goodid[i]}</td>
  162. <td>${goodpass[i]}</td>
  163. <td>${goodfailrate[i] + '%'}</td>
  164. </tr>`;
  165. htmlbody += "</tr>";
  166. return htmlbody;
  167. }
  168. function getSpotHtml2(htmlbody, i) {
  169. if(typeof badid[i] === "undefined"){
  170. htmlbody += "<tr>";
  171. htmlbody += `<tr>
  172. <td> - </td>
  173. <td> - </td>
  174. <td> - </td>
  175. </tr>`;
  176. htmlbody += "</tr>";
  177. return htmlbody;
  178. }
  179. htmlbody += "<tr>";
  180. if(typeof badColor[i] === "undefined"){
  181. htmlbody += `<tr style="background-color: ${badColor[i]}">
  182. <td>${badid[i]}</td>
  183. <td>${badpass[i]}</td>
  184. <td>${badfailrate[i] + '%'}</td>
  185. </tr>`;
  186. }else {
  187. htmlbody += `<tr style="background-color: ${badColor[i]}">
  188. <td>${badid[i]}</td>
  189. <td>${badpass[i]}</td>
  190. <td>${badfailrate[i] + '%'}</td>
  191. </tr>`;
  192. }
  193. htmlbody += "</tr>";
  194. return htmlbody;
  195. }
  196. var lastTimeRank1 = "";
  197. var lastTimeRank2 = "";
  198. var lastTimeRank3 = "";
  199. function showEachSpot() {
  200. var htmlbody = "", one_person = "";
  201. var i = 0;
  202. var triGap = 4;
  203. htmlbody = "";
  204. for (i = 0; i < triGap; i++) {
  205. htmlbody = getSpotHtml(htmlbody, i);
  206. }
  207. if(lastTimeRank1 !== htmlbody) {
  208. $("#rank-one").html(htmlbody);
  209. lastTimeRank1 = htmlbody;
  210. }
  211. //console.log(htmlbody);
  212. }
  213. function showEachSpot1() {
  214. var htmlbody = "", one_person = "";
  215. var i = 0;
  216. var triGap = 3;
  217. htmlbody = "";
  218. for (i = 0; i < triGap; i++) {
  219. htmlbody = getSpotHtml1(htmlbody, i);
  220. }
  221. if(lastTimeRank2 !== htmlbody){
  222. $("#rank-two").html(htmlbody);
  223. lastTimeRank2 = htmlbody;
  224. }
  225. //console.log(htmlbody);
  226. }
  227. function showEachSpot2() {
  228. var htmlbody = "", one_person = "";
  229. var i = 0;
  230. var triGap = 3;
  231. htmlbody = "";
  232. for (i = 0; i < triGap; i++) {
  233. htmlbody = getSpotHtml2(htmlbody, i);
  234. }
  235. if(lastTimeRank3 !== htmlbody){
  236. $("#rank-three").html(htmlbody);
  237. lastTimeRank3 = htmlbody;
  238. }
  239. //console.log(htmlbody);
  240. }