您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Visualize the SIS
// ==UserScript== // @name SIS Visualize // @namespace http://tampermonkey.net/ // @version 0.5 // @description Visualize the SIS // @author Hieu DM // @match ctt-sis.hust.edu.vn/Students/StudentCourseMarks.aspx // @require https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.7.1/Chart.bundle.min.js // @grant none // ==/UserScript== var a = 0, ap = 0, b = 0, bp = 0, c = 0, cp = 0, d = 0, dp = 0, f = 0; var cnt = 0; function calc(type) { if (type != 0 && type != 1) { type = 1; } function addition(elem, type) { if (type == 0) { return 1; } else if (type == 1) { return Number($(elem).prevAll().eq(3).html()); } return 0; } a = 0; ap = 0; b = 0; bp = 0; c = 0; cp = 0; d = 0; dp = 0; f = 0; $('td:nth-of-type(8)').each(function(){ cnt++; var x = addition($(this), type); switch($(this).html()) { case 'A': a += x; break; case 'A+': ap += x; break; case 'B': b += x; break; case 'B+': bp += x; break; case 'C': c += x; break; case 'C+': cp += x; break; case 'D': d += x; break; case 'D+': dp += x; break; case 'F': f += x; break; default: } }); } function draw() { $("#vtl-modal").modal(); $("#chart-container").empty(); $("#chart-container").append(` <canvas id="vtl_bar"></canvas> <hr> <canvas id="vtl_pie"></canvas>`); var ctx = document.getElementById("vtl_bar").getContext('2d'); var vtl_bar = new Chart(ctx, { type: 'bar', data: { labels: ["A+", "A", "B+", "B", "C+", "C", "D+", "D", "F"], datasets: [{ data: [ap, a, bp, b, cp, c, dp, d, f], backgroundColor: [ 'rgba(244, 191, 191, 0.8)', 'rgba(234, 136, 136, 0.8)', 'rgba(226, 89, 89, 0.8)', 'rgba(219, 51, 51, 0.8)', 'rgba(202, 36, 36, 0.8)', 'rgba(175, 31, 31, 0.8)', 'rgba(148, 27, 27, 0.8)', 'rgba(119, 21, 21, 0.8)', 'rgba(83, 15, 15, 0.8)', ] }] }, options: { legend: { display: false }, scales: { yAxes: [{ ticks: { beginAtZero:true } }] }, title: { text: 'Số lượng điểm theo từng loại', display: true, position: 'bottom', fontSize: 20 } } }); var apx = (ap/cnt*100).toFixed(2); var ax = (a/cnt*100.0).toFixed(2); var bpx = (bp/cnt*100.0).toFixed(2); var bx = (b/cnt*100).toFixed(2); var cpx = (cp/cnt*100).toFixed(2); var cx = (c/cnt*100).toFixed(2); var dpx = (dp/cnt*100).toFixed(2); var dx = (d/cnt*100).toFixed(2); var fx = (f/cnt*100).toFixed(2); ctx = document.getElementById("vtl_pie").getContext('2d'); var vtl_pie = new Chart(ctx,{ type: 'pie', data: { labels: ["A+", "A", "B+", "B", "C+", "C", "D+", "D", "F"], datasets: [{ label: 'Điểm', data: [apx, ax, bpx, bx, cpx, cx, dpx, dx, fx], backgroundColor: [ 'rgba(244, 191, 191, 0.8)', 'rgba(234, 136, 136, 0.8)', 'rgba(226, 89, 89, 0.8)', 'rgba(219, 51, 51, 0.8)', 'rgba(202, 36, 36, 0.8)', 'rgba(175, 31, 31, 0.8)', 'rgba(148, 27, 27, 0.8)', 'rgba(119, 21, 21, 0.8)', 'rgba(83, 15, 15, 0.8)', ] }] }, options: { title: { text: 'Tỉ lệ điểm', display: true, position: 'bottom', fontSize: 20 } } }); }; (function() { 'use strict'; $( document ).ready(function() { $('.MainContentTitle') .append( ` <div class="dropdown"> <button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> Vẽ biểu đồ <span class="caret"></span> </button> <ul class="dropdown-menu"> <li><a id="vtl0" class="dropdown-item" href="#">theo số môn học</a></li> <li><a id="vtl1" class="dropdown-item" href="#">theo số tín chỉ</a></li> </div> </div> <div id="vtl-modal" class="modal fade" role="dialog"> <div class="modal-dialog modal-lg"> <div class="modal-content"> <div class="modal-header">Tổng hợp</div> <div class="modal-body" id="chart-container"> </div> </div> </div> </div> ` ); $('#vtl0').click(function() {calc(0); draw();}); $('#vtl1').click(function() {calc(1); draw();}); }); })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址