// ==UserScript== // @name Привет,Друг! // @namespace Devour // @version __(oДo)~` // @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'; var GradeList = document.getElementById("dataList"); var GradeAvg = 0, CourseGradeSum = 0, CreditSum = 0; var GeneralEducationCredit = 0, PCCategory_1 = 0, PCCategory_2 = 0, PCCategory_3 = 0, PCCategory_4 = 0; var PC_A_Credit = 0, PC_B_Credit = 0, PC_C_Credit = 0, PC_D_Credit = 0, PC_E_Credit = 0; var PC_F_Credit = 0, PC_G_Credit = 0; var ElectiveCourseCredit = 0; var Correction = 0; function PC_Credit_Calc(CourseType, Credit) { 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; } } if (GradeList.rows.length > 1 && GradeList.rows[1].cells[0].innerHTML != "未查询到数据") { 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); if (Grade == "---" || Course.cells[8].innerHTML == "自主考试") { continue; } if (Course.cells[9].innerHTML == "公选" && Grade != "不及格") { PC_Credit_Calc(Course.cells[10].innerHTML, Credit); } if (Course.cells[9].innerHTML != "必修" && Grade != "不及格" && Course.cells[9].innerHTML != "公选") { ElectiveCourseCredit += Credit; } if (Course.cells[9].innerHTML != "必修" && Grade == "不及格") { continue; } if (Course.cells[8].innerText == "补考") { continue; } switch (Grade) { case "优秀": Grade = 95; break; case "良好": Grade = 85; break; case "中等": Grade = 75; break; case "及格": Grade = 65; break; case "不及格": Grade = 30; break; } if (Grade < 60) { Correction = -0.3; } 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); } var divOB = "