UPC数字石大教务系统[计算学分绩]

计算学分绩

// ==UserScript==
// @name         UPC数字石大教务系统[计算学分绩]
// @namespace    http://tampermonkey.net/
// @version      1.1
// @description  计算学分绩
// @author       欢迎使用中石大在线学分绩计算器 by BigZhi    "
// @match        http://jwxt.upc.edu.cn/*
// @include      http://jwxt.upc.edu.cn/*
// @grant        unsafeWindow
// @license MIT
// ==/UserScript==

(function() {
    var cjb=document.getElementById("dataList")
    console.log(cjb)
    var rows=cjb.getElementsByTagName("tr").length;
    if(rows<40)
        window.location.href = "http://jwxt.upc.edu.cn/jsxsd/kscj/cjcx_list"
    var l=rows-1;
    var cj=new Array(l);
    var xf=new Array(l);
    var bx=new Array(l);
    var n,item,i=2
    var cj_t=document.querySelector("#dataList > tbody > tr:nth-child("+i.toPrecision()+" )> td:nth-child(5) > a")
    var xf_t=document.querySelector("#dataList > tbody > tr:nth-child("+i.toPrecision()+" )> td:nth-child(6) ")
    var bx_t=document.querySelector("#dataList > tbody > tr:nth-child("+i.toPrecision()+" )> td:nth-child(10) ")

    for(i=1;i<rows;++i)
    {
        n=i+1
        item=cjb.getElementsByTagName("tr")[i];
        cj[i]=Number(document.querySelector("#dataList > tbody > tr:nth-child("+n.toPrecision()+" )> td:nth-child(5) > a").innerHTML)
        xf[i]=Number(document.querySelector("#dataList > tbody > tr:nth-child("+n.toPrecision()+" )> td:nth-child(6) ").innerHTML)
        bx[i]=document.querySelector("#dataList > tbody > tr:nth-child("+n.toPrecision()+" )> td:nth-child(10) ").innerHTML
        console.log(cj[i],xf[i],bx[i])
    }
    var bx_sum_cj=0,bx_sum_xf=0,xx_sum_cj=0,xx_sum_xf=0
    for(i=1;i<rows;++i)
    {
        if(bx[i]!="任选")
        {
            bx_sum_cj=cj[i]*xf[i]+bx_sum_cj
            bx_sum_xf=bx_sum_xf+xf[i]
        }
        else{
            xx_sum_cj=cj[i]*xf[i]+xx_sum_cj
            xx_sum_xf=xx_sum_xf+xf[i]
        }
    }
    console.log(Number(bx_sum_cj)/bx_sum_xf)
    console.log(rows-1)

    var bx_xfj=bx_sum_cj/bx_sum_xf
    var bx_xf=bx_sum_xf.toPrecision()
    bx_xfj=bx_xfj.toFixed(3)
    var xx_xfj=((xx_sum_cj/xx_sum_xf))
    xx_xfj=xx_xfj.toFixed(3)
    var xx_xf=(xx_sum_xf).toPrecision()
    console.log(xx_xfj)
    console.log(bx_xfj)
    var mydiv = document.createElement("div")
    mydiv.id = "gpadiv"
    mydiv.style.zIndex = "100"
    mydiv.style.position = "absolute"
    mydiv.style.left = "940px"
    mydiv.style.top = "120px"
    mydiv.style.width = "360px"
    mydiv.style.height = "100px"
    mydiv.style.border = "5px solid"
    mydiv.style.overflow = "auto"
    mydiv.style.backgroundColor = "#F7F4EC"
    mydiv.style.color="#000000"
    mydiv.style.fontSize="16px"
    mydiv.style.lineHeight="24px"
    document.body.appendChild(mydiv)
    var writestr=""
    writestr+="<div style=\"clear:both; text-align:center\">"
    writestr+="欢迎使用中石大在线学分绩计算器 by 麻瓜一号    "
    writestr+="<\/div>"
    writestr+="<div style=\"clear:both;\">";
    writestr+="<div id = 'content'>"
    writestr+="<div style=\"clear:both; text-align:left;  font-size:14px\">"
    writestr+="<\/div>"
    writestr+="<div style=\"clear:both;\">";
    writestr+="<div style=\"float:left; width:80px; text-align:center\">必修学分绩: "+bx_xfj+"<\/div>";
    writestr+="<div style=\"float:left; width:80px; text-align:center\">必修学分:"+bx_xf+"<\/div>";
    writestr+="<div style=\"float:left; width:80px; text-align:center\">选修学分绩: "+xx_xfj+"<\/div>";
    writestr+="<div style=\"float:left; width:80px; text-align:center\">选修学分:    "+xx_xf+"<\/div>";

//     writestr+="<div style=\"float:left; width:50px; text-align:center\">"+"<input id=\"cb"+n+"\" type=\"checkbox\" checked />"+"<\/div>";
    writestr+="<\/div>";
    mydiv.innerHTML=writestr;


})();