HEU_SCORE

used to calculate average scores for HEU students

  1. // ==UserScript==
  2. // @name HEU_SCORE
  3. // @namespace Xiuchen
  4. // @version 0.3
  5. // @description used to calculate average scores for HEU students
  6. // @author Xiuchen
  7. // @match https://edusys.wvpn.hrbeu.edu.cn/jsxsd/kscj/cjcx_list
  8. // @match http://edusys.hrbeu.edu.cn/jsxsd/kscj/cjcx_list
  9. // @grant none
  10. // @require https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js
  11. // ==/UserScript==
  12.  
  13. (function() {
  14. 'use strict';
  15. //alert("正在计算均分");
  16. var list = document.getElementById("dataList");
  17. var avg = 0, cnt = 0;
  18. if(list.rows.length > 1 && list.rows[1].cells[0].innerHTML != "未查询到数据"){
  19. var sum_score = 0, sum_cre = 0;
  20. for(var i = 1; i < list.rows.length; i++){
  21. var tmp = list.rows[i];
  22. var sc;
  23. if(tmp.cells[4].getElementsByTagName("a")[0] == undefined) sc = tmp.cells[4].innerHTML;
  24. else sc = tmp.cells[4].getElementsByTagName("a")[0].innerHTML;
  25. var cre = parseFloat(tmp.cells[5].innerHTML);
  26. if(sc == "---"){
  27. cnt++;
  28. continue;
  29. }
  30. else if(sc == "优秀") sc = 95;
  31. else if(sc == "良好") sc = 85;
  32. else if(sc == "中等") sc = 75;
  33. else if(sc == "及格") sc = 65;
  34. else if(sc == "不及格"){
  35. cnt++;
  36. continue;
  37. }
  38. else if(sc < 60){
  39. cnt++;
  40. continue;
  41. }
  42. sum_score += sc * cre;
  43. sum_cre += cre;
  44. }
  45. avg = sum_score / sum_cre;
  46. avg = avg.toFixed(2);
  47. }
  48. $("body").append(" <div id='avg_score' style='left: 10px;bottom: 10px;background: #e5f2ff;overflow: hidden;z-index: 9999;position: fixed;padding:5px;text-align:center;width: 200px;height: 200px;border-bottom-left-radius: 4px;border-bottom-right-radius: 4px;border-top-left-radius: 4px;border-top-right-radius: 4px;'> </div>");
  49. var by = document.getElementById("avg_score");
  50. //添加label ,存放指标名称
  51.  
  52. //姓名学号
  53. var lab_name = document.createElement("p");
  54. lab_name.innerText = "姓名:" + document.getElementById("Top1_divLoginName").innerHTML;
  55. lab_name.style.fontSize = "150%";
  56. by.appendChild(lab_name);
  57.  
  58. //成绩
  59. var lab_score = document.createElement("p");
  60. lab_score.innerText = "平均分:" + avg.toString();
  61. lab_score.style.fontSize = "200%";
  62. by.appendChild(lab_score);
  63.  
  64. //挂科门数
  65. var lab_fail = document.createElement("p");
  66. lab_fail.innerHTML = "您有 " + "<strong style='font-size:22px; color:red'>" +cnt.toString() + "</strong>" + " 门挂科,挂科成绩未计入均分。如果之后通过了考试,通过考试的分数计入了均分。";
  67. lab_fail.style.fontSize = "15px";
  68. by.appendChild(lab_fail);
  69. // Your code here...
  70. })();