common.js 6.9 KB

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