common.js 9.0 KB

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