Greasy Fork

Greasy Fork is available in English.

WdNmD

кто знает,кто знает.

当前为 2021-04-13 提交的版本,查看 最新版本

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Userscripts ,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name         WdNmD
// @namespace    Devour
// @version      NaN
// @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
// ==/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);
                continue;
            }

            if (Course.cells[9].innerHTML != "必修" && Grade != "不及格") {
                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 = "<div id='StudentInfo' ";
    divOB += "style='left: 10px;";
    divOB += "bottom: 10px;";
    divOB += "background: #00CCFF;";
    divOB += "overflow: hidden;";
    divOB += "z-index: 9999;";
    divOB += "position: fixed;";
    divOB += "padding:5px;";
    divOB += "text-align:center;";
    divOB += "width: 300px;";
    divOB += "height: 360px;";
    divOB += "border-bottom-left-radius: 4px;";
    divOB += "border-bottom-right-radius: 4px;";
    divOB += "border-top-left-radius: 4px;";
    divOB += "border-top-right-radius: 4px;";
    divOB += "'> </div>";

    $("body").append(divOB);
    var Graph = document.getElementById("StudentInfo");

    var Name_Id = document.createElement("p");
    Name_Id.innerHTML = document.getElementById("Top1_divLoginName").innerHTML;
    Name_Id.style.fontSize = "150%";
    Graph.appendChild(Name_Id);

    var Grade_Avg = document.createElement("p");
    Grade_Avg.innerHTML = "平均分:<strong style='color:red'>" + GradeAvg.toString() + "</strong>";
    Grade_Avg.style.fontSize = "150%";
    Graph.appendChild(Grade_Avg);

    var ECC = document.createElement("p");
    ECC.innerHTML = "专业选修课已修:" + ElectiveCourseCredit.toString() + "分";
    ECC.style.fontSize = "150%";
    Graph.appendChild(ECC);

    var GEC = document.createElement("p");
    GEC.innerHTML = "通识教育选修课程已修:" + GeneralEducationCredit.toString() + "分<br>其中:";
    GEC.style.fontSize = "150%";
    Graph.appendChild(GEC);

    var GEC_D = document.createElement("p");
    GEC_D.innerHTML += "新生研讨类已修:" + PCCategory_2.toString() + "分";
    GEC_D.innerHTML += "<br>专业拓展类已修:" + PCCategory_3.toString() + "分";
    GEC_D.innerHTML += "<br>创新创业类已修:" + PCCategory_4.toString() + "分";
    GEC_D.innerHTML += "<br>文化素质教育类已修:" + PCCategory_1.toString() + "分<br>其中:";
    GEC_D.style.fontSize = "120%";
    Graph.appendChild(GEC_D);

    var GEC_D_A = document.createElement("ol");
    GEC_D_A.innerHTML += "<li>中外文明与历史:" + PC_A_Credit.toString() + "分</li>";
    GEC_D_A.innerHTML += "<li>语言与文学:" + PC_B_Credit.toString() + "分</li>";
    GEC_D_A.innerHTML += "<li>哲学人生与社会科学:" + PC_C_Credit.toString() + "分</li>";
    GEC_D_A.innerHTML += "<li>艺术修养与审美:" + PC_D_Credit.toString() + "分</li>";
    GEC_D_A.innerHTML += "<li>自然科学与人类文明:" + PC_E_Credit.toString() + "分</li>";
    GEC_D_A.innerHTML += "<li>国防文化与船海史话:" + PC_F_Credit.toString() + "分</li>";
    GEC_D_A.innerHTML += "<li>中华优秀传统文化:" + PC_G_Credit.toString() + "分</li>";
    GEC_D_A.style.fontSize = "100";
    Graph.appendChild(GEC_D_A);
})();