// ==UserScript== // @name 哈尔滨工程大学成绩查询Pro // @namespace Devour // @version 3.1 // @description кто знает,кто знает. // @author Devour // @match https://edusys.wvpn.hrbeu.edu.cn/jsxsd/kscj/cjcx_list // @match http://edusys.hrbeu.edu.cn/jsxsd/kscj/cjcx_list // @grant none // @require https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js // @downloadURL none // ==/UserScript== (function () { 'use strict'; if (document.getElementById("dataList").rows[1].cells[0].innerText == "未查询到数据") { alert("未查询到数据!!"); return 0; } function Add_th(th_HTML, width = 120) { let var_th = document.createElement("th"); var_th.innerHTML = th_HTML; var_th.setAttribute("class", "Nsb_r_list_thb"); var_th.setAttribute("style", "width: " + width.toString() + "px;"); document.getElementById("dataList").rows[0].appendChild(var_th); } function PC_Credit_Calc(CourseType, Credit) { if (document.getElementById("Top1_divLoginName").innerHTML.split("(")[1].split(")")[0].substring(0, 4) < 2019) { switch (CourseType) { case "中外历史与文化": PC_A_Credit += Credit; break; case "语言与文学": PC_B_Credit += Credit; break; case "哲学人生与社会科学": PC_C_Credit += Credit; break; case "艺术修养与审美": PC_D_Credit += Credit; break; case "自然科学与人类文明": PC_E_Credit += Credit; break; case "国防文化与船海史话": PC_F_Credit += Credit; break; case "中华传统文化": PC_G_Credit += Credit; break; case "新生研讨类": PCCategory_2 += Credit; break; case "专业拓展类": PCCategory_3 += Credit; break; case "创新创业类": PCCategory_4 += Credit; break; } } else { if (Course_name_2019[CourseType] == undefined) { Course_name_2019[CourseType] = Credit; console.log(Course_name_2019[CourseType]); } else { Course_name_2019[CourseType] += Credit; console.log(Course_name_2019[CourseType]); } } } function AVG_Grade_Color_Control(let_grade) { if (let_grade < 60) return "#E6E6FA"; else if (let_grade < 70) return "#00AA00"; else if (let_grade < 80) return "#BB5500"; else if (let_grade < 85) return "#FF0088"; else if (let_grade < 90) return "#FF0000"; else if (let_grade < 95) return "#B22222"; else return "#880000"; } function Grade_Detail_Color_control(let_grade) { let result = new Array(2); if (let_grade < 60 || let_grade == '不及格') { result[0] = "#880000"; result[1] = "┗( T﹏T )┛"; } else if (let_grade < 70 || let_grade == '及格') { result[0] = "#66DD00"; result[1] = "…(⊙_⊙;)…"; } else if (let_grade < 80 || let_grade == '中等') { result[0] = "#CC6600"; result[1] = "(= ̄ω ̄=)"; } else if (let_grade < 90 || let_grade == '良好') { result[0] = "#00DDDD"; result[1] = "(●'◡'●)"; } else { result[0] = "#FF359A"; result[1] = "(✿◕‿◕✿)"; } return result; } function div_create_parent(width, height) { var divOB = "
" + GradeAvg.toString() + ""; Grade_Avg.setAttribute("id", "Grade_AVG"); Grade_Avg.style.fontSize = "150%"; document.getElementById("StudentInfo").appendChild(Grade_Avg); var ECC = document.createElement("p"); ECC.innerHTML = "专业选修课已修:" + ElectiveCourseCredit.toString() + "分"; ECC.style.fontSize = "150%"; document.getElementById("StudentInfo").appendChild(ECC); } function student_level_2018_detail() { var Graph = document.getElementById("StudentInfo"); var GEC = document.createElement("p"); GEC.innerHTML = "通识教育选修课程已修:" + GeneralEducationCredit.toString() + "分
其中:"; GEC.style.fontSize = "150%"; Graph.appendChild(GEC); var GEC_D = document.createElement("p"); GEC_D.innerHTML += "新生研讨类已修:" + PCCategory_2.toString() + "分"; GEC_D.innerHTML += "
专业拓展类已修:" + PCCategory_3.toString() + "分"; GEC_D.innerHTML += "
创新创业类已修:" + PCCategory_4.toString() + "分"; GEC_D.innerHTML += "
文化素质教育类已修:" + PCCategory_1.toString() + "分
其中:"; GEC_D.style.fontSize = "120%"; Graph.appendChild(GEC_D); var GEC_D_A = document.createElement("ol"); GEC_D_A.innerHTML += "
  • 中外文明与历史:" + PC_A_Credit.toString() + "分
  • "; GEC_D_A.innerHTML += "
  • 语言与文学:" + PC_B_Credit.toString() + "分
  • "; GEC_D_A.innerHTML += "
  • 哲学人生与社会科学:" + PC_C_Credit.toString() + "分
  • "; GEC_D_A.innerHTML += "
  • 艺术修养与审美:" + PC_D_Credit.toString() + "分
  • "; GEC_D_A.innerHTML += "
  • 自然科学与人类文明:" + PC_E_Credit.toString() + "分
  • "; GEC_D_A.innerHTML += "
  • 国防文化与船海史话:" + PC_F_Credit.toString() + "分
  • "; GEC_D_A.innerHTML += "
  • 中华优秀传统文化:" + PC_G_Credit.toString() + "分
  • "; GEC_D_A.style.fontSize = "100"; Graph.appendChild(GEC_D_A); } function student_level_2019_detail() { var Graph = document.getElementById("StudentInfo"); let let_text_haed = document.createElement("p"); let count_credit = 0; var Course_And_Credit = document.createElement("ol"); for (let key in Course_name_2019) { Course_And_Credit.innerHTML += "
  • " + key + ":" + Course_name_2019[key] + "分
  • "; count_credit += Course_name_2019[key]; } let_text_haed.innerHTML += "
    公选课已修:" + count_credit.toString() + "分
    其中:"; let_text_haed.style.fontSize = "150%"; Graph.appendChild(let_text_haed); Graph.appendChild(Course_And_Credit); } function Count_Credit_GradeAVG_text() { var CCGA_text = document.createElement("script"); CCGA_text.innerHTML = 'function Count_Credit_GradeAVG() {\ var GradeList = document.getElementById("dataList");\ var CourseGradeSum = 0, CreditSum = 0, GradeAvg = 0;\ for (var i = 1; i < GradeList.rows.length; i++) {\ var Course = GradeList.rows[i];\ var Grade, Credit;\ if (Course.cells[4].getElementsByTagName("a")[0] == undefined) Grade = Course.cells[4].innerHTML;\ else Grade = Course.cells[4].getElementsByTagName("a")[0].innerHTML;\ Credit = parseFloat(Course.cells[5].innerHTML);\ let checkbox_id = "checkbox" + i.toString();\ if (!document.getElementById("checkbox_free").checked){\ if (Course.cells[9].innerHTML == "必修") {\ document.getElementById(checkbox_id).checked = document.getElementById("checkbox_bx").checked;\ } else if (Course.cells[9].innerHTML == "公选") {\ document.getElementById(checkbox_id).checked = document.getElementById("checkbox_gx").checked;\ } else {\ document.getElementById(checkbox_id).checked = document.getElementById("checkbox_zx").checked;\ }\ if (Course.cells[8].innerHTML == "自主考试") {\ document.getElementById(checkbox_id).checked = document.getElementById("checkbox_zz").checked;\ }\ if (Grade == "不及格" || Grade < 60) {\ document.getElementById(checkbox_id).checked = document.getElementById("checkbox_np").checked;\ }\ }\ if (Grade == "---" || !document.getElementById(checkbox_id).checked) {document.getElementById(checkbox_id).checked=false;continue;}\ switch (Grade) {\ case "优秀": Grade = 95; break;\ case "良好": Grade = 85; break;\ case "中等": Grade = 75; break;\ case "及格": Grade = 65; break;\ case "不及格": Grade = 30; break;\ }\ CourseGradeSum += Grade * Credit;\ CreditSum += Credit;\ }\ if (CreditSum == 0) {\ let_text = "Error!";\ document.getElementById("Grade_AVG").getElementsByTagName("strong")[0].innerText = let_text;\ } else {\ GradeAvg = CourseGradeSum / CreditSum;\ GradeAvg = GradeAvg.toFixed(2);\ document.getElementById("Grade_AVG").getElementsByTagName("strong")[0].innerText = GradeAvg;\ }\ }'; document.getElementById("Footer1_divCopyright").appendChild(CCGA_text); } var function_text = document.createElement("script"); function_text.innerHTML = "function all_checkbox_function(checkbox_status){"; function_text.innerHTML += "let checkbox_list = document.getElementsByName('all_checkbox');"; function_text.innerHTML += "for(let i=0; i" + let_var_color_ico[1] + ""; var_td_grade_detail.setAttribute("style", "width: 120px;"); } document.getElementById("dataList").rows[i].appendChild(var_td_grade_detail); function create_course_checkbox(statusCode) { let var_td_checked = document.createElement("td"); let checkbox_id = "checkbox" + i.toString(); let all_checkbox_name = "all_checkbox"; if (statusCode == 1) { var_td_checked.innerHTML = ""; } else { var_td_checked.innerHTML = ""; } document.getElementById("dataList").rows[i].appendChild(var_td_checked); } if (Grade == "---" || Course.cells[8].innerHTML == "自主考试") { create_course_checkbox(0); continue; } if (Course.cells[9].innerHTML == "公选" && Grade != "不及格") { PC_Credit_Calc(Course.cells[10].innerHTML, Credit); create_course_checkbox(0); continue; } if (Course.cells[9].innerHTML != "必修" && Grade != "不及格" && Course.cells[9].innerHTML != "公选") { ElectiveCourseCredit += Credit; } if (Course.cells[9].innerHTML != "必修" && Grade == "不及格") { create_course_checkbox(0); continue; } if (Course.cells[8].innerText == "补考") { create_course_checkbox(0); continue; } create_course_checkbox(1); switch (Grade) { case "优秀": Grade = 95; break; case "良好": Grade = 85; break; case "中等": Grade = 75; break; case "及格": Grade = 65; break; case "不及格": Grade = 30; break; } CourseGradeSum += Grade * Credit; CreditSum += Credit; } PCCategory_1 = PC_A_Credit + PC_B_Credit + PC_C_Credit + PC_D_Credit + PC_E_Credit + PC_F_Credit + PC_G_Credit; GeneralEducationCredit = PCCategory_1 + PCCategory_2 + PCCategory_3 + PCCategory_4; GradeAvg = CourseGradeSum / CreditSum + Correction; GradeAvg = GradeAvg.toFixed(2); let student_level = document.getElementById("Top1_divLoginName").innerHTML.split("(")[1].split(")")[0].substring(0, 4); Count_Credit_GradeAVG_text(); if (parseInt(student_level) < 2019) { div_create_parent(300,400); student_level_2018_detail(); } else { div_create_parent(300,400); student_level_2019_detail(); } })();