// ==UserScript== // @name HSK主监考人数统计 // @namespace http://www.hanyu123.cn/ // @version 1.2 // @description 统计HSK、HSKK各场所需的主监考人数 // @author 微信公众号@汉语教学技术研究 // @match https://admin.chinesetest.cn/manager/* // @icon https://www.chinesetest.cn/image/zh/favicon.ico // @grant none // ==/UserScript== (function() { 'use strict'; // Your code here... var jquery = document.createElement('script'); jquery.src = "https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js";//若调试页面是https的这里也修改为https. document.getElementsByTagName('head')[0].appendChild(jquery); jQuery.noConflict() let btn=document.createElement("button"); btn.innerHTML="统计主监考人数"; //innerText也可以,区别是innerText不会解析html btn.onclick=function(){ //code //alert("开始统计"); //修改计划: //1、读取并统计所有日期 //2、七-九级 与 其他级别分开 //3、HSK初中高分开 //最后,把按钮放在 HSKK的右边 function count_teacher(count){ var teacher = 0; if(count==1) { teacher =1; } else if(count>=2 && count <=30) { teacher =2; } else if(count>30 && count <=40) { teacher =3; } else if(count>40 && count <=50) { teacher =4; } else if(count>50 && count <=60) { teacher =5; } else if(count>60) { teacher ='请报汉考国际审批'; } return teacher; }; //--函数部分结束 // var jquery = document.createElement('script'); // jquery.src = "https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js";//若调试页面是https的这里也修改为https. // document.getElementsByTagName('head')[0].appendChild(jquery); // jQuery.noConflict() //读取HSK考试列表 var table = $("#kmtj13_content table"); //读取HSKK考试列表 var table_hskk = $("#kmtj16_content table"); //用于保存全部考试日期 var exam_date_list = new Array(); //遍历HSK考试列表 //var date = table.find("tr").eq(1).children().eq(1).text(); //$("#userTable").find("tr").find("td:eq(0)") var date = table.find("tr").find("td:eq(1)"); var date_list_hsk = new Array();//保存考试日期 var count =0; for (var i = 0;i < date.length;i++) { //alert(date.eq(i).text()); count = count+1; exam_date_list.push(date.eq(i).text()); } //遍历HSKK考试列表 //var date = table.find("tr").eq(1).children().eq(1).text(); //$("#userTable").find("tr").find("td:eq(0)") var date_hsk = table_hskk.find("tr").find("td:eq(1)"); var date_list_hskk = new Array();//保存考试日期 var count =0; for (var i = 0;i < date_hsk.length;i++) { //alert(date.eq(i).text()); count = count+1; exam_date_list.push(date_hsk.eq(i).text()); } //去重 exam_date_list = Array.from(new Set(exam_date_list)) // alert(date_list_hsk.length); // 3 // for (var i = 0;i < date_list_hsk.length;i++) { // alert(date_list_hsk[i]) // } //分日期统计 //分日期显示统计 var message = ''; for (var i = 0;i < exam_date_list.length;i++) { var cur_date = exam_date_list[i];//当前统计的日期 var tr_list_hsk = table.find("tr:contains(" + cur_date +")"); var tr_list_hskk = table_hskk.find("tr:contains(" + cur_date +")"); var morning_hsk=0,afternoon_hsk=0,hsk789=0;//HSK各级人数初始化 var hskk_basic=0,hskk_intermediate=0,hskk_advanced=0;//HSKK各级人数初始化 //统计该日期的HSK各场考试人数 tr_list_hsk.each(function(){ var tdArr = $(this).children(); //alert(tdArr.size()); var grade = tdArr.eq(0).text(), count = Number(tdArr.eq(4).text()); if(grade== 'HSK二级' || grade== 'HSK四级'||grade== 'HSK六级') { morning_hsk = morning_hsk + count; } else if(grade== 'HSK一级' || grade== 'HSK三级'||grade== 'HSK五级') { afternoon_hsk = afternoon_hsk + count; } else if(grade== 'HSK(七—九级)') { hsk789 = hsk789 + count; //alert(afternoon_hsk); } }); //统计该日期的HSKK各场考试人数 tr_list_hskk.each(function(){ var tdArr = $(this).children(); //alert(tdArr.size()); var grade = tdArr.eq(0).text(), count = Number(tdArr.eq(4).text()); if(grade== 'HSKK(初级)') { hskk_basic = hskk_basic + count; } else if(grade== 'HSKK(中级)' ) { hskk_intermediate = hskk_intermediate + count; } else if(grade== 'HSKK(高级)') { hskk_advanced = hskk_advanced + count; //alert(afternoon_hsk); } }); if(morning_hsk > 0){ message += '\r\n' + cur_date + '上午(二四六级)共有' + morning_hsk + '名考生,' +(count_teacher(morning_hsk) == '请报汉考国际审批' ? '请报汉考国际审批' : '至少需要主监考' + count_teacher(morning_hsk) + '人'); } if(afternoon_hsk > 0){ message += '\r\n' + cur_date + '下午(一三五级)共有' + afternoon_hsk + '名考生,' +(count_teacher(afternoon_hsk) == '请报汉考国际审批' ? '请报汉考国际审批' : '至少需要主监考' + count_teacher(afternoon_hsk) + '人'); } if(hsk789 > 0){ message += '\r\n' + cur_date + '中午至下午(七-九级)共有' + hsk789 + '名考生,' +(count_teacher(hsk789) == '请报汉考国际审批' ? '请报汉考国际审批' : '至少需要主监考' + count_teacher(hsk789) + '人'); } if(hskk_intermediate > 0){ message += '\r\n' + cur_date + '上午(HSKK中级)共有' + hskk_intermediate + '名考生,' +(count_teacher(hskk_intermediate) == '请报汉考国际审批' ? '请报汉考国际审批' : '至少需要主监考' + count_teacher(hskk_intermediate) + '人'); } if(hskk_basic > 0){ message += '\r\n' + cur_date + '下午(HSKK初级)共有' + hskk_basic + '名考生,' +(count_teacher(hskk_basic) == '请报汉考国际审批' ? '请报汉考国际审批' : '至少需要主监考' + count_teacher(hskk_basic) + '人'); } if(hskk_advanced > 0){ message += '\r\n' + cur_date + '上午(HSKK高级)共有' + hskk_advanced + '名考生,' +(count_teacher(hskk_advanced) == '请报汉考国际审批' ? '请报汉考国际审批' : '至少需要主监考' + count_teacher(hskk_advanced) + '人'); } } // alert(message); tr_list_hskk.each(function(){ var tdArr = $(this).children(); //alert(tdArr.size()); var grade = tdArr.eq(0).text(), count = Number(tdArr.eq(4).text()); hskk = hskk + count; }); alert('运行至此'); var message_hskk = ''; message_hskk = 'HSKK(初中高))共有' + hskk + '名考生,' +(count_teacher(hskk) == '请报汉考国际审批' ? '请报汉考国际审批' : '至少需要主监考' + count_teacher(hskk) + '人'); alert(' HSK考试统计:\r\n' + message + '\r\n\r\n'+ date_hsk + ' HSKK考试统计:\r\n' + message_hskk); //alert(date + ' HSK考试统计:\r\n' + message + '\r\n\r\n'+ date_hsk + ' HSKK考试统计:\r\n' + message_hskk); } //添加到页面 //document.body.append(btn); // let btn1=document.createElement("button"); // btn1.innerHTML="统计主监考人数"; $("#siteNotice").after(btn); })();