Greasy Fork is available in English.

大学生毕业论文管理系统开题批量审阅脚本::co2.cnki.net

知网大学生毕业论文管理系统


Установить этот скрипт?
// ==UserScript==// @name         大学生毕业论文管理系统开题批量审阅脚本::co2.cnki.net// @namespace    https://gfork.dahi.icu/// @version      0.40// @description  知网大学生毕业论文管理系统// @author       CosilC; Lynn// @match        https://co2.cnki.net/*// @icon         https://co2.cnki.net/favicon.ico// @grant        none// @license      GPLv3// ==/UserScript==function openwin(title, te = "审核"){var ifra = document.querySelectorAll("[title='" + title + "']");var ifra2;var nestedDocument = ifra[0].contentDocument;var nestedDocument2;var nodelist = getNodeListByText(te, true, nestedDocument);for (var i = 0; i < nodelist.length; i++) {if (nodelist[i].matches("a.listA")) {/*nodelist[i].click();break;*/var hrefValue = nodelist[i].getAttribute("href");hrefValue = hrefValue.replace("javascript:", "");eval(hrefValue);/*            ifra2 = document.querySelectorAll("[title='题目详细信息']");nestedDocument2 = ifra2[0].contentDocument;*/}}}function openwinxq(title, te = "详情"){var ifra = document.querySelectorAll("[title='" + title + "']");var ifra2;var nestedDocument = ifra[0].contentDocument;var nestedDocument2;var nodelist = getNodeListByText(te, true, nestedDocument);for (var i = 0; i < nodelist.length; i++) {if (nodelist[i].matches("a.listA")) {/*nodelist[i].click();break;*/var hrefValue = nodelist[i].getAttribute("href");hrefValue = hrefValue.replace("javascript:", "");eval(hrefValue);/*            ifra2 = document.querySelectorAll("[title='题目详细信息']");nestedDocument2 = ifra2[0].contentDocument;*/}}}function openwin2(title, te = "审核"){var ifra = document.querySelectorAll("[title='" + title + "']");var ifra2;var nestedDocument = ifra[0].contentDocument;var nestedDocument2;var nodelist = getNodeListByText(te, true, nestedDocument);for (var i = 0; i < nodelist.length; i++) {if (nodelist[i].matches("a.listA")) {/*nodelist[i].click();break;*/var hrefValue = nodelist[i].getAttribute("onClick");//hrefValue = hrefValue.replace("javascript:", "");eval(hrefValue);/*            ifra2 = document.querySelectorAll("[title='题目详细信息']");nestedDocument2 = ifra2[0].contentDocument;*/}}}function passORfail(op,comment=""){var node;var nestedDocument;var text;if (op == 1){text = "rdoPass0";}else{text = "rdoUnPass0"}var ifra = document.activeElement;nestedDocument = ifra.contentDocument;node = nestedDocument.getElementById(text);node.click();//node = nestedDocument.getElementById("txtAuditSuggest0");var iframeJ = ifra.contentWindow.jQuery;if (op == 1){iframeJ('#txtAuditSuggest0').textbox("setText",comment);}node = nestedDocument.getElementById("btnSubmit0");node.click();}function suggestion(sel){var node;var nestedDocument;var text;var oldval;var ifra = document.activeElement;nestedDocument = ifra.contentDocument;//node = nestedDocument.getElementById("txtAuditSuggest0");var iframeJ = ifra.contentWindow.jQuery;oldval = iframeJ('#txtAuditSuggest0').textbox("getText");oldval += sel;iframeJ('#txtAuditSuggest0').textbox("setText",oldval);}function authTogether(title,comment="无"){var ifraList = document.querySelectorAll("[title='" + title + "']");var node;var nestedDocument;for (var i = 0; i < ifraList.length; i++) {nestedDocument = ifraList[i].contentDocument;node = nestedDocument.getElementById("rdoPass0");node.click();//node = nestedDocument.getElementById("txtAuditSuggest0");var iframeJ = ifraList[i].contentWindow.jQuery;iframeJ('#txtAuditSuggest0').textbox("setText",comment);node = nestedDocument.getElementById("btnSubmit0");node.click();}}function authTogether2(title,comment="无"){var ifraList = document.querySelectorAll("[title='" + title + "']");var node;var nestedDocument;for (var i = 0; i < ifraList.length; i++) {nestedDocument = ifraList[i].contentDocument;node = nestedDocument.getElementById("rdoPass0");node.click();//node = nestedDocument.getElementById("txtAuditSuggest0");var iframeJ = ifraList[i].contentWindow.jQuery;iframeJ('#txt_624_zdjsjy').textbox("setText",comment);node = nestedDocument.getElementById("btnSubmit0");node.click();}}function downloadAll(title,comment="无"){var ifraList = document.querySelectorAll("[title='" + title + "']");var node;var nestedDocument;var nodelist;for (var i = 0; i < ifraList.length; i++) {nestedDocument = ifraList[i].contentDocument;//node = nestedDocument.querySelectorAll("a.listA.margl");;node = getNodeListByText("下载毕业论文", false, nestedDocument);for (var j = 0; j < node.length; j++) {if (node[j].matches("a.listA.margl")) {eval(node[j].getAttribute("OnClick"))/*                var hrefValue = eval(node.getAttribute("OnClick"));hrefValue = hrefValue.replace("javascript:", "");(hrefValue);*/break;}}}}function addShutcut(title,comment ="该生毕业设计开题报告通过审核,建议继续推进研究和实施。"){var ifraList = document.querySelectorAll("[title='" + title + "']");var nestedDocument;var node;var st = "150px";var button;for (var i = 0; i < ifraList.length; i++) {nestedDocument = ifraList[i].contentDocument;node = nestedDocument.querySelector(".designTable_radio");if (node!=null){button = nestedDocument.createElement("button");button.addEventListener('click', function() {passORfail(1,comment)});button.innerText = "通过";button.style.width = st;node.appendChild(button);button = nestedDocument.createElement("button");button.addEventListener('click', function() {suggestion("专有名词首字母应大写,缩写词应整体大写;")});button.innerText = "大小写";button.style.width = st;node.appendChild(button);button = nestedDocument.createElement("button");button.addEventListener('click', function() {suggestion("参考文#格式不规范或个数不足;")});button.innerText = "参考文#";button.style.width = st;node.appendChild(button);button = nestedDocument.createElement("button");button.addEventListener('click', function() {suggestion( "进度格式不规范或条目不足;")});button.innerText = "日期";button.style.width = st;node.appendChild(button);button = nestedDocument.createElement("button");button.addEventListener('click', function() {passORfail(0)});button.innerText = "不通过";button.style.width = st;node.appendChild(button);}}}function addShutcut2(title,comment ="该生毕业设计开题报告通过审核,建议继续推进研究和实施。"){var ifraList = document.querySelectorAll("[title='" + title + "']");var nestedDocument;var node;var nodeList;var st = "150px";var button;for (var i = 0; i < ifraList.length; i++) {nestedDocument = ifraList[i].contentDocument;nodeList = nestedDocument.querySelectorAll(".designTable_radio");if (nodeList[1]!=null){node = nodeList[1];button = nestedDocument.createElement("button");button.style.width = st;button.addEventListener('click', function() {passORfail(1,comment)});button.innerText = "通过";button.style.width = st;node.appendChild(button);button = nestedDocument.createElement("button");button.style.width = st;button.addEventListener('click', function() {suggestion("专有名词首字母应大写,缩写词应整体大写;")});button.innerText = "大小写";node.appendChild(button);button = nestedDocument.createElement("button");button.style.width = st;button.addEventListener('click', function() {suggestion("参考文#格式不规范或个数不足;")});button.innerText = "参考文#";node.appendChild(button);button = nestedDocument.createElement("button");button.style.width = st;button.addEventListener('click', function() {suggestion( "进度格式不规范或条目不足;")});button.innerText = "日期";node.appendChild(button);button = nestedDocument.createElement("button");button.style.width = st;button.addEventListener('click', function() {suggestion( "请修改后再次提交。")});button.addEventListener('click', function() {passORfail(0)});button.innerText = "不通过"node.appendChild(button);}}}function main() {var nodeList;var button;var st = "90px";nodeList = getNodeListByText("审核学生申报的题目");if (nodeList.length > 1){for (var i = 0; i < nodeList.length; i++) {if (nodeList[i].matches("a.tabs-inner")) {nodeList[i + 1].innerText = "核审学生申报的题目";button = document.createElement("button");button.style.width = st;button.addEventListener('click', function() {openwin("审核学生申报的题目")});button.innerText = "点开所有审核   "nodeList[i].appendChild(button);button = document.createElement("button");button.style.width = st;button.addEventListener('click', function() {authTogether("题目详细信息","该生毕业设计开题报告通过审核,建议继续推进研究和实施。")});button.innerText = "  全部自动审核";nodeList[i].appendChild(button);}}}nodeList = getNodeListByText("被分配审核任务书", );if (nodeList.length > 1){for (i = 0; i < nodeList.length; i++) {if (nodeList[i].matches("a.tabs-inner")) {nodeList[i + 1].innerText = "分被配审核任务书";button = document.createElement("button");button.style.width = st;button.addEventListener('click', function() {openwin("被分配审核任务书")});button.innerText = "点开所有审核"nodeList[i].appendChild(button);button = document.createElement("button");//button.style.width = st;/*        button.addEventListener('click', function() {authTogether("任务书详细信息")});button.innerText = "全部自动审核"nodeList[i].appendChild(button);*/button = document.createElement("button");//button.style.width = st;button.addEventListener('click', function() {addShutcut("审核任务书详情","该生毕业设计任务书通过审核,建议继续推进研究和实施。")});button.innerText = "加按钮"nodeList[i].appendChild(button);}}}nodeList = getNodeListByText("审核任务书", );if (nodeList.length > 1){for (i = 0; i < nodeList.length; i++) {if (nodeList[i].matches("a.tabs-inner")) {nodeList[i + 1].innerText = "核审任务书";button = document.createElement("button");button.style.width = st;button.addEventListener('click', function() {openwin("审核任务书")});button.innerText = "点开所有审核"nodeList[i].appendChild(button);button = document.createElement("button");//button.style.width = st;/*        button.addEventListener('click', function() {authTogether("任务书详细信息")});button.innerText = "全部自动审核"nodeList[i].appendChild(button);*/button = document.createElement("button");button.style.width = st;button.addEventListener('click', function() {addShutcut("任务书详细信息","该生毕业设计任务书通过审核,建议继续推进研究和实施。")});button.innerText = "加按钮"nodeList[i].appendChild(button);}}}nodeList = getNodeListByText("审核题目", );if (nodeList.length > 1){for (i = 0; i < nodeList.length; i++) {if (nodeList[i].matches("a.tabs-inner")) {nodeList[i + 1].innerText = "核审题目";button = document.createElement("button");button.style.width = st;button.addEventListener('click', function() {openwin2("审核题目","被分配审核")});button.innerText = "点开所有审核"nodeList[i].appendChild(button);button = document.createElement("button");button.style.width = st;button.addEventListener('click', function() {authTogether("审核题目详情","该生毕业设计开题报告通过审核,建议继续推进研究和实施。")});button.innerText = "全部自动审核";nodeList[i].appendChild(button);button = document.createElement("button");button.style.width = st;button.addEventListener('click', function() {addShutcut2("审核题目详情","该生毕业设计开题报告通过审核,建议继续推进研究和实施。")});button.innerText = "加按钮"nodeList[i].appendChild(button);}}}nodeList = getNodeListByText("需要修改的任务书等待处理");if (nodeList.length > 0){for (i = 0; i < nodeList.length; i++) {if (nodeList[i].matches("a.tabs-inner")) {nodeList[i + 1].innerText = "要需修改的任务书等待处理";button = document.createElement("button");button.style.width = st;button.addEventListener('click', function() {openwin("需要修改的任务书等待处理")});button.innerText = "点开所有审核"nodeList[i].appendChild(button);button = document.createElement("button");button.style.width = st;button.addEventListener('click', function() {authTogether("任务书详细信息","该生毕业设计任务书通过审核,建议继续推进研究和实施。")});button.innerText = "全部自动审核"nodeList[i].appendChild(button);button = document.createElement("button");button.style.width = st;button.addEventListener('click', function() {addShutcut("任务书详细信息","该生毕业设计任务书通过审核,建议继续推进研究和实施。")});button.innerText = "加按钮"nodeList[i].appendChild(button);}}}nodeList = getNodeListByText("审核开题报告");if (nodeList.length > 0){for (i = 0; i < nodeList.length; i++) {if (nodeList[i].matches("a.tabs-inner")) {nodeList[i + 1].innerText = "核审开题报告";button = document.createElement("button");button.style.width = st;button.addEventListener('click', function() {openwin("审核开题报告")});button.innerText = "点开所有审核"nodeList[i].appendChild(button);button = document.createElement("button");button.style.width = st;button.addEventListener('click', function() {authTogether("任务书详细信息","该生毕业设计任务书通过审核,建议继续推进研究和实施。")});button.innerText = "全部自动审核"nodeList[i].appendChild(button);button = document.createElement("button");button.style.width = st;button.addEventListener('click', function() {authTogether("题目详细信息","该生毕业设计开题报告通过审核,建议继续推进研究和实施。")});button.innerText = "  全部自动审核";nodeList[i].appendChild(button);button = document.createElement("button");//button.style.width = st;button.addEventListener('click', function() {addShutcut("开题报告详情")});button.innerText = "加按钮"nodeList[i].appendChild(button);}}}nodeList = getNodeListByText("被分配审核开题报告");if (nodeList.length > 0){for (i = 0; i < nodeList.length; i++) {if (nodeList[i].matches("a.tabs-inner")) {nodeList[i + 1].innerText = "被配分核审开题报告";button = document.createElement("button");button.style.width = st;button.addEventListener('click', function() {openwin("被分配审核开题报告")});button.innerText = "点开所有审核"nodeList[i].appendChild(button);button = document.createElement("button");button.style.width = st;button.addEventListener('click', function() {authTogether("开题报告详情","该生毕业设计开题报告通过审核,建议继续推进研究和实施。")});button.innerText = "全部自动审核"nodeList[i].appendChild(button);button = document.createElement("button");//button.style.width = st;button.addEventListener('click', function() {addShutcut("开题报告详情")});button.innerText = "加按钮"nodeList[i].appendChild(button);}}}nodeList = getNodeListByText("审核中期检查");if (nodeList.length > 0){for (i = 0; i < nodeList.length; i++) {if (nodeList[i].matches("a.tabs-inner")) {nodeList[i + 1].innerText = "核审中期检查";button = document.createElement("button");button.style.width = st;button.addEventListener('click', function() {openwin("审核中期检查")});button.innerText = "点开所有审核"nodeList[i].appendChild(button);button = document.createElement("button");button.style.width = st;button.addEventListener('click', function() {authTogether2("中期检查详情","请加快进度完成毕设。")});button.innerText = "全部自动审核"nodeList[i].appendChild(button);button = document.createElement("button");//button.style.width = st;button.addEventListener('click', function() {addShutcut("中期检查详情")});button.innerText = "加按钮"nodeList[i].appendChild(button);}}}nodeList = getNodeListByText("评阅学生");if (nodeList.length > 0){for (i = 0; i < nodeList.length; i++) {if (nodeList[i].matches("a.tabs-inner")) {nodeList[i + 1].innerText = "阅评学生";button = document.createElement("button");button.style.width = st;button.addEventListener('click', function() {openwin2("评阅学生", "查看详情")});button.innerText = "点开所有查看详情"nodeList[i].appendChild(button);button = document.createElement("button");button.style.width = st;button.addEventListener('click', function() {downloadAll("评阅专家成绩", "查看详情")});button.innerText = "全部下载"nodeList[i].appendChild(button);break;}}}nodeList = getNodeListByText("审核指导记录");if (nodeList.length > 0){for (i = 0; i < nodeList.length; i++) {if (nodeList[i].matches("a.tabs-inner")) {nodeList[i + 1].innerText = "核审指导记录";button = document.createElement("button");button.style.width = st;button.addEventListener('click', function() {openwin("审核指导记录")});button.innerText = "点开所有审阅"nodeList[i].appendChild(button);button = document.createElement("button");button.style.width = st;button.addEventListener('click', function() {authTogether("查看指导记录","该生指导记录正常,审核通过")});button.innerText = "全部自动审核"nodeList[i].appendChild(button);//break;}}}nodeList = getNodeListByText("审核毕业论文(设计)最终版");if (nodeList.length > 0){for (i = 0; i < nodeList.length; i++) {if (nodeList[i].matches("a.tabs-inner")) {nodeList[i + 1].innerText = "核审毕业论文(设计)最终版";button = document.createElement("button");button.style.width = st;button.addEventListener('click', function() {openwin("审核毕业论文(设计)最终版")});button.innerText = "所有详情"button.innerText = "所有审核"nodeList[i].appendChild(button);button = document.createElement("button");button.style.width = st;button.addEventListener('click', function() {authTogether("毕设(论文)详情","学生已按照盲审及答辩意见对论文进行修改,最终版论文格式规范,查重率符合要求,同意通过。")});button.innerText = "全部自动审核"nodeList[i].appendChild(button);//break;}}}}function getNodeByText(text, allEqual = true, doc = document, cssSelector = '*', ) {let targetNodeList = getNodeListByText(text, allEqual, doc, cssSelector);return (targetNodeList.length > 0) ? targetNodeList[0] : null;}/*** 获取给定文本和选择器对应的节点列表** @param {string} text 目标文本* @param {string} cssSelector css选择器* @param {boolean} allEqual 全等* @return {array(domNode)} 文本和选择器对应的节点列表 没有时返回null*/function getNodeListByText(text, allEqual = true, doc=document, cssSelector = '*') {return Array.from(doc.querySelectorAll(cssSelector)).filter(v => allEqual ? (v.innerText == text) : v.innerText.includes(text));}console.log('script loaded');var wait = (ms) => {const start = Date.now();let now = start;while (now - start < ms) {now = Date.now();}}let hrefChangeWatcher = setInterval(() => {main();}, 100);