common.js 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447
  1. function getUserId() {
  2. var use = getCookie("doibyUser");
  3. if (use == null) {
  4. location.href = "sign-in1.html?from=entrance-1&msg=nologin";
  5. if (userId == null) {
  6. userId = use;
  7. } else {
  8. // 指定新的userId
  9. //userId = use;
  10. }
  11. }
  12. if(userId == null || userId === undefined){
  13. location.href = "sign-in1.html?from=entrance-3&msg=from-cookie-userId-repeated-notdefined";
  14. }else{
  15. if(parseInt(userId) <= 0){
  16. location.href = "sign-in1.html?from=entrance-4&msg=from-cookie-parseOut0";
  17. }
  18. }
  19. }
  20. getUserId();
  21. function load_table_red_rank() {
  22. get_data("fcBiWorkerDaily/get?type=1&limit=3", on_red_rank_success);
  23. }
  24. function load_table_red_rank1() {
  25. get_data("fcBiWorkerDaily/get?type=2&limit=3", on_red_rank_success1);
  26. }
  27. function load_table_black_rank1() {
  28. get_data("fcBiWorkerDaily/get?type=3&limit=3", on_black_rank_success1);
  29. }
  30. function load_table_black_rank() {
  31. get_data("fcBiWorkerDaily/get?type=0&limit=3", on_black_rank_success);
  32. }
  33. var goodColor = [];
  34. var badColor = [];
  35. var goodColor1 = [];
  36. var badColor1 = [];
  37. var userIDs = [];
  38. var schedulepass = 0, schedulefail = 0, schedulestack = 0;
  39. var todayotherpass = 0, todayotherfail = 0, todayotherstack = 0;
  40. var lastTimeHistory = "";
  41. var histoires = [];
  42. var hispass = [];
  43. var hisfail = [];
  44. var hisstack = [];
  45. var hisrate = [];
  46. var goodpass = [];
  47. var goodid = [];
  48. var goodfailrate = [];
  49. var goodpass1 = [];
  50. var goodid1 = [];
  51. var goodfailrate1 = [];
  52. var badpass = [];
  53. var badid = [];
  54. var badfailrate = [];
  55. var badpass1 = [];
  56. var badid1 = [];
  57. var badfailrate1 = [];
  58. function history_success(obj, sta) {
  59. var histoire = first_parse(this, obj);
  60. var i, j, t;
  61. console.log(" histoire : ");
  62. console.log(histoire);
  63. if (this.url.indexOf("type=1") >= 0) {
  64. t = 1;
  65. } else if (this.url.indexOf("type=2") >= 0) {
  66. t = 2;
  67. } else if (this.url.indexOf("type=3") >= 0) {
  68. t = 3;
  69. } else {
  70. t = 0;
  71. return;
  72. }
  73. histoires[t] = histoire;
  74. if (t === 2 || t === 3) {
  75. hispass[t] = 0;
  76. hisfail[t] = 0;
  77. hisstack[t] = 0;
  78. hisrate[t] = 0;
  79. for (i = 0; i < histoire.length - 1; i++) { //除了今日
  80. hispass[t] = histoire[i].passNum + hispass[t];
  81. hisfail[t] = histoire[i].failNum + hisfail[t];
  82. hisstack[t] = histoire[i].avgDue + hisstack[t];
  83. }
  84. orighispass[t] = hispass[t];
  85. orighisfail[t] = hisfail[t];
  86. orighisstack[t] = hisstack[t];
  87. hispass[t] += hispass[0];
  88. hisfail[t] += hisfail[0];
  89. hisstack[t] += hisstack[0];
  90. hisrate[t] = get_factor(hispass[t], hisfail[t]);
  91. } else if (t === 1) {
  92. hispass[1] = histoire[0].passNum;
  93. hisfail[1] = histoire[0].failNum;
  94. hisstack[1] = histoire[0].avgDue;
  95. hisrate[t] = get_factor(hispass[1], hisfail[1]);
  96. }
  97. todayotherpass = histoire[histoire.length - 1].passNum;
  98. todayotherfail = histoire[histoire.length - 1].failNum;
  99. todayotherstack = histoire[histoire.length - 1].avgDue;
  100. update_all_history();
  101. }
  102. function update_all_history(){
  103. hispass[0] = todayotherpass + schedulepass;
  104. hisfail[0] = todayotherfail + schedulefail;
  105. hisstack[0] = todayotherstack + schedulestack;
  106. hisrate[0] = get_factor(hispass[0], hisfail[0]);
  107. for(i=2;i<=3;i++){
  108. hispass[i] = orighispass[i] + hispass[0];
  109. hisfail[i] = orighisfail[i] + hisfail[0];
  110. hisstack[i] = orighisstack[i] + hisstack[0];
  111. hisrate[i] = get_factor(hispass[i], hisfail[i]);
  112. }
  113. }
  114. var todayotherpass , todayotherfail, todayotherstack;
  115. var orighisfail= [], orighispass=[], orighisstack=[];
  116. function isUserOfThisFlow(uid) {
  117. var isExist = false;
  118. userIDs.forEach(function (vals) {
  119. if (vals == uid) {
  120. isExist = true;
  121. }
  122. });
  123. return isExist;
  124. }
  125. function on_red_rank_success(obj, sta) {
  126. var redchart = first_parse(this, obj);
  127. var i, j;
  128. i = j = 0;
  129. console.log(" redchart : ");
  130. console.log(redchart);
  131. for (i = 0; i < redchart.list.length; i++) {
  132. goodid[i] = getUserName(redchart.list[i].workerId);
  133. goodpass[i] = redchart.list[i].passNum;
  134. if(redchart.list[i].passNum + redchart.list[i].failNum > 0) {
  135. goodfailrate[i] = Math.floor(redchart.list[i].failNum * 10000 / (redchart.list[i].passNum + redchart.list[i].failNum)) / 100;
  136. }else{
  137. goodfailrate[i] = 0;
  138. }
  139. if(isUserOfThisFlow(redchart.list[i].workerId)){
  140. goodColor[i] = 'red';
  141. }else{
  142. goodColor[i] = '';
  143. }
  144. }
  145. }
  146. function on_red_rank_success1(obj, sta) {
  147. var redchart = first_parse(this, obj);
  148. var i, j;
  149. i = j = 0;
  150. console.log(" redchart : ");
  151. console.log(redchart);
  152. for (i = 0; i < redchart.list.length; i++) {
  153. goodid1[i] = getUserName(redchart.list[i].workerId);
  154. goodpass1[i] = redchart.list[i].passNum;
  155. if(redchart.list[i].passNum + redchart.list[i].failNum > 0) {
  156. goodfailrate1[i] = Math.floor(redchart.list[i].failNum * 10000 / (redchart.list[i].passNum + redchart.list[i].failNum)) / 100;
  157. }else{
  158. goodfailrate1[i] = 0;
  159. }
  160. if(isUserOfThisFlow(redchart.list[i].workerId)){
  161. goodColor1[i] = 'red';
  162. }else{
  163. goodColor1[i] = '';
  164. }
  165. }
  166. }
  167. function on_black_rank_success(obj, sta) {
  168. var blackchart = first_parse(this, obj);
  169. var i, j;
  170. i = j = 0;
  171. console.log(" black chart : ");
  172. console.log(blackchart);
  173. for (i = 0; i < blackchart.list.length; i++) {
  174. badid[i] = getUserName(blackchart.list[i].workerId);
  175. badpass[i] = blackchart.list[i].passNum;
  176. //badfailrate[i] = blackchart.list[i].failRate / 100;
  177. if(blackchart.list[i].passNum + blackchart.list[i].failNum > 0) {
  178. badfailrate[i] = Math.floor(blackchart.list[i].failNum * 10000 / (blackchart.list[i].passNum + blackchart.list[i].failNum)) / 100;
  179. }else{
  180. badfailrate[i] = 0;
  181. }
  182. if(isUserOfThisFlow(blackchart.list[i].workerId)){
  183. badColor[i] = 'green';
  184. }else{
  185. badColor[i] = '';
  186. }
  187. }
  188. }
  189. function on_black_rank_success1(obj, sta) {
  190. var blackchart = first_parse(this, obj);
  191. var i, j;
  192. i = j = 0;
  193. console.log(" black chart : ");
  194. console.log(blackchart);
  195. for (i = 0; i < blackchart.list.length; i++) {
  196. badid1[i] = getUserName(blackchart.list[i].workerId);
  197. badpass1[i] = blackchart.list[i].passNum;
  198. //badfailrate[i] = blackchart.list[i].failRate / 100;
  199. if(blackchart.list[i].passNum + blackchart.list[i].failNum > 0) {
  200. badfailrate1[i] = Math.floor(blackchart.list[i].failNum * 10000 / (blackchart.list[i].passNum + blackchart.list[i].failNum)) / 100;
  201. }else{
  202. badfailrate1[i] = 0;
  203. }
  204. if(isUserOfThisFlow(blackchart.list[i].workerId)){
  205. badColor1[i] = 'green';
  206. }else{
  207. badColor1[i] = '';
  208. }
  209. }
  210. }
  211. function getSpotHtml(htmlbody, i) {
  212. if(typeof hispass[i] === "undefined"){
  213. htmlbody += "<tr>";
  214. htmlbody += `<tr>
  215. <td> - </td>
  216. <td> - </td>
  217. <td> - </td>
  218. <td> - </td>
  219. <td> - </td>
  220. </tr>`;
  221. htmlbody += "</tr>";
  222. return htmlbody;
  223. }
  224. htmlbody += "<tr>";
  225. htmlbody += `<tr>
  226. <td>${timeday[i]}</td>
  227. <td>${hispass[i]}</td>
  228. <td>${hisfail[i]}</td>
  229. <td>${hisstack[i]}</td>
  230. <td>${hisrate[i] + '%'}</td>
  231. </tr>`;
  232. htmlbody += "</tr>";
  233. return htmlbody;
  234. }
  235. function getSpotHtml1(htmlbody, i) {
  236. if(typeof goodid[i] === "undefined"){
  237. htmlbody += "<tr>";
  238. htmlbody += `<tr>
  239. <td> - </td>
  240. <td> - </td>
  241. <td> - </td>
  242. <td> - </td>
  243. </tr>`;
  244. htmlbody += "</tr>";
  245. return htmlbody;
  246. }
  247. htmlbody += "<tr>";
  248. htmlbody += `<tr ">
  249. <td style="background-color: ${goodColor[i]}">${goodid[i]}</td>
  250. <td style="background-color: ${goodColor[i]}">${goodpass[i]}</td>
  251. <td style="background-color: ${goodColor1[i]}">${goodid1[i]}</td>
  252. <td style="background-color: ${goodColor1[i]}">${goodfailrate1[i] + '%'}</td>
  253. </tr>`;
  254. htmlbody += "</tr>";
  255. return htmlbody;
  256. }
  257. /*function getSpotHtml3(htmlbody, i) {
  258. if(typeof goodid1[i] === "undefined"){
  259. htmlbody += "<tr>";
  260. htmlbody += `<tr>
  261. <td> - </td>
  262. <td> - </td>
  263. </tr>`;
  264. htmlbody += "</tr>";
  265. return htmlbody;
  266. }
  267. htmlbody += "<tr>";
  268. htmlbody += `<tr style="background-color: ${goodColor1[i]}">
  269. <td>${goodid1[i]}</td>
  270. <td>${goodfailrate1[i] + '%'}</td>
  271. </tr>`;
  272. htmlbody += "</tr>";
  273. return htmlbody;
  274. }*/
  275. function getSpotHtml2(htmlbody, i) {
  276. if(typeof badid[i] === "undefined"){
  277. htmlbody += "<tr>";
  278. htmlbody += `<tr>
  279. <td> - </td>
  280. <td> - </td>
  281. <td> - </td>
  282. <td> - </td>
  283. </tr>`;
  284. htmlbody += "</tr>";
  285. return htmlbody;
  286. }
  287. htmlbody += "<tr>";
  288. if(typeof badColor[i] === "undefined"){
  289. htmlbody += `<tr>
  290. <td style="background-color: ${badColor[i]}">${badid[i]}</td>
  291. <td style="background-color: ${badColor[i]}">${badpass[i]}</td>
  292. <td style="background-color: ${badColor1[i]}">${badid1[i]}</td>
  293. <td style="background-color: ${badColor1[i]}">${badfailrate1[i] + '%'}</td>
  294. </tr>`;
  295. }else {
  296. htmlbody += `<tr >
  297. <td style="background-color: ${badColor[i]}">${badid[i]}</td>
  298. <td style="background-color: ${badColor[i]}">${badpass[i]}</td>
  299. <td style="background-color: ${badColor1[i]}">${badid1[i]}</td>
  300. <td style="background-color: ${badColor1[i]}">${badfailrate1[i] + '%'}</td>
  301. </tr>`;
  302. }
  303. htmlbody += "</tr>";
  304. return htmlbody;
  305. }
  306. /*function getSpotHtml4(htmlbody, i) {
  307. if(typeof badid1[i] === "undefined"){
  308. htmlbody += "<tr>";
  309. htmlbody += `<tr>
  310. <td> - </td>
  311. <td> - </td>
  312. </tr>`;
  313. htmlbody += "</tr>";
  314. return htmlbody;
  315. }
  316. htmlbody += "<tr>";
  317. if(typeof badColor1[i] === "undefined"){
  318. htmlbody += `<tr style="background-color: ${badColor1[i]}">
  319. <td>${badid1[i]}</td>
  320. <td>${badfailrate1[i] + '%'}</td>
  321. </tr>`;
  322. }else {
  323. htmlbody += `<tr style="background-color: ${badColor1[i]}">
  324. <td>${badid1[i]}</td>
  325. <td>${badfailrate1[i] + '%'}</td>
  326. </tr>`;
  327. }
  328. htmlbody += "</tr>";
  329. return htmlbody;
  330. }*/
  331. var lastTimeRank0 = "";
  332. var lastTimeRank1 = "";
  333. var lastTimeRank2 = "";
  334. var lastTimeRank3 = "";
  335. var lastTimeRank4 = "";
  336. function showEachSpot() {
  337. var htmlbody = "", one_person = "";
  338. var i = 0;
  339. var triGap = 4;
  340. htmlbody = "";
  341. for (i = 0; i < triGap; i++) {
  342. htmlbody = getSpotHtml(htmlbody, i);
  343. }
  344. if(lastTimeRank0 !== htmlbody) {
  345. $("#rank-one").html(htmlbody);
  346. lastTimeRank0 = htmlbody;
  347. }
  348. //console.log(htmlbody);
  349. }
  350. function showEachSpot1() {
  351. var htmlbody = "", one_person = "";
  352. var i = 0;
  353. var triGap = 3;
  354. htmlbody = "";
  355. for (i = 0; i < triGap; i++) {
  356. htmlbody = getSpotHtml1(htmlbody, i);
  357. }
  358. if(lastTimeRank1 !== htmlbody){
  359. $("#rank-two").html(htmlbody);
  360. lastTimeRank1 = htmlbody;
  361. }
  362. //console.log(htmlbody);
  363. }
  364. /*function showEachSpot3() {
  365. var htmlbody = "", one_person = "";
  366. var i = 0;
  367. var triGap = 3;
  368. htmlbody = "";
  369. for (i = 0; i < triGap; i++) {
  370. htmlbody = getSpotHtml3(htmlbody, i);
  371. }
  372. if(lastTimeRank3 !== htmlbody){
  373. $("#rank-four").html(htmlbody);
  374. lastTimeRank3 = htmlbody;
  375. }
  376. //console.log(htmlbody);
  377. }*/
  378. function showEachSpot2() {
  379. var htmlbody = "", one_person = "";
  380. var i = 0;
  381. var triGap = 3;
  382. htmlbody = "";
  383. for (i = 0; i < triGap; i++) {
  384. htmlbody = getSpotHtml2(htmlbody, i);
  385. }
  386. if(lastTimeRank2 !== htmlbody){
  387. $("#rank-three").html(htmlbody);
  388. lastTimeRank2 = htmlbody;
  389. }
  390. //console.log(htmlbody);
  391. }
  392. /*function showEachSpot4() {
  393. var htmlbody = "", one_person = "";
  394. var i = 0;
  395. var triGap = 3;
  396. htmlbody = "";
  397. for (i = 0; i < triGap; i++) {
  398. htmlbody = getSpotHtml4(htmlbody, i);
  399. }
  400. if(lastTimeRank4 !== htmlbody){
  401. $("#rank-five").html(htmlbody);
  402. lastTimeRank4 = htmlbody;
  403. }
  404. //console.log(htmlbody);
  405. }*/