common.js 7.0 KB

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