您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
try to take over the world!
当前为
// ==UserScript== // @name SIS Visualize // @namespace http://tampermonkey.net/ // @version 0.2 // @description try to take over the world! // @author You // @match http://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== (function() { 'use strict'; $('.MainContentTitle') .append('<div id="vtl-addon"><div id="vtl" class="btn btn-control btn-primary">Virtualize!</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"><canvas id="vtl_bar"></canvas><hr><canvas id="vtl_pie"></canvas></div></div></div></div></div>'); $('#vtl').click(function() { var a = 0; var ap = 0; var b = 0; var bp = 0; var c = 0; var cp = 0; var d = 0; var dp = 0; var f = 0; var cnt = 0; $("#vtl-modal").modal(); $('td:nth-of-type(8)').each(function(){ cnt++; switch($(this).html()) { case 'A': a += 1; break; case 'A+': ap += 1; break; case 'B': b += 1; break; case 'B+': bp += 1; break; case 'C': c += 1; break; case 'C+': cp += 1; break; case 'D': d += 1; break; case 'D+': dp += 1; break; case 'F': f += 1; break; default: } }); 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 } } }); cnt = cnt; 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 } } }); }); })();