您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
shitech高效办公:1、门户首页显示考勤,2、op评审自动填写意见和分数,3、大学课程一键进度100%,4、考试增加默认选中,5、查看已完成考试答案
// ==UserScript== // @name shitech门户 // @version 1.8.8 // @namespace eip.teamshub.com // @description shitech高效办公:1、门户首页显示考勤,2、op评审自动填写意见和分数,3、大学课程一键进度100%,4、考试增加默认选中,5、查看已完成考试答案 // @author jjjjj // @license MIT // @match *://eip.teamshub.com/* // @match *://auto.si-tech.com.cn/* // @match *://training.si-tech.com.cn/* // @grant GM_xmlhttpRequest // @connect hrs.si-tech.com.cn // @connect yiyunapp.teamshub.com // @connect training.si-tech.com.cn // @grant GM_log // @grant GM_setValue // @grant GM_getValue // @grant GM_addStyle // @grant window.onurlchange // ==/UserScript== (function () { 'use strict'; GM_log('shitech-tool is running.'); var style = ` table.gridtable {font-family: verdana,arial,sans-serif; color:#333333; border-width: 1px; border-color: #fff; border-collapse: collapse;} table.gridtable th { border-width: 1px; border-style: solid; border-color: #d8dad9; background-color: #dedede;} table.gridtable td { border-width: 1px; border-style: solid; border-color: #d8dad9; background-color: #ffffff;} .mybtn { width: 200px; height: 80px; display: flex; justify-content: center; align-items: center; font-size: 2rem; cursor: pointer; user-select: none; letter-spacing: 1rem; text-indent: 1rem; border-radius: 20px; box-sizing: border-box; } .mybtn-2 { height: 42px; display: flex; justify-content: center; align-items: center; font-size: 14px; cursor: pointer; user-select: none; border-radius: 20px; box-sizing: border-box; } .boom { background-color: #16a085; color: #fff; position: relative; z-index: 1; } .boom::before { content: ""; position: absolute; z-index: -1; top: 0; left: 0; bottom: 0; right: 0; border: 2px solid #16a085; border-radius: 20px; transform-origin: center; } .boom:hover::before { transform: scale(1.25); transition: all ease-out .5s; border: 1px solid #96f3e0; opacity: 0; } .time{ font-size: 24px !important; color: #f56c6c; font-weight: 700; background-color: #fff4d6; } ` GM_addStyle(style) //添加样式 const divClassName = 'dynamic-list'; var StudyLessonList = [] var _myExamList = [] var _examImgSrc = "data:image/png;base64,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" var website$1 = { regexp: new RegExp("eip.teamshub.com/home"), init: function ($) { console.log('进入门户') add_blankToA(); showAttendance() }, }; var website$2 = { // op审批 regexp: new RegExp("devasm_reviewEasy_revHead.html"), init: function ($) { console.log('进入待审批') setTimeout(function(){ var revop = document.getElementById("revOpinion"); //revop.innerHTML = "通过"; revop.value="通过" document.getElementById("totalPoint").value=random(75,80) },700) }, }; var website$3 = { // 大学学习进度 regexp: new RegExp("uni/study"), init: function ($) { console.log('进入大学学习') setTimeout(function(){ var processingBtn = document.getElementById("tab-0") // 给进行中按钮添加点击事件 processingBtn.addEventListener('click', function(){ setTimeout(function(){ showCompleteQuickly() },1000) }) showCompleteQuickly() },2000) }, }; var website$4 = { regexp: new RegExp("training.si-tech.com.cn/exam/portal/examPage.html"), init: function ($) { console.log('批量选a') setTimeout(function(){ if (confirm("确定要全部默认选中吗?")){ let input = prompt('输入默认全选的选项:1、2、3、4...'); if( input!=null && input!="" ){ var allselector = document.querySelectorAll('div.ui-controlgroup > div:nth-child('+input+') > span > input[type=radio]'); console.log(allselector) allselector.forEach(el => { el.checked=true; }); } } },2500) }, } var website$5 = { // 查看考试答案 regexp: new RegExp("uni/exam"), init: function ($) { console.log('进入考试列表') setTimeout(function(){ var areaDiv = document.getElementsByClassName("filterDate") // 给进行中按钮添加点击事件 createButton('showannswer','查看问卷答案',function(){ showExamAnswer(); }, areaDiv[0], 'mybtn-2 boom') },1000) }, }; var websites = [ website$1, // website$2, website$3, website$4, website$5 ]; initWebsite(); //启动 function initWebsite() { var mather = function (regex, website) { if (regex.test(window.location.href)) { website.init(); return true; } return false; }; websites.some(function (website) { return mather(website.regexp, website); }); }; /** * 显示考勤 */ function showAttendance() { var request = new Object(); request = GetRequest(); var ticket = request['ticket']; if( isEmpty(ticket)){ ticket = GM_getValue('shitech-ticket'); }else{ GM_setValue('shitech-ticket', ticket); } GM_log("shitech-ticket: "+ticket) if( !isEmpty(ticket) ){ getBaogongInfo(ticket) } } function add_blankToA(){ let timeid = setTimeout(function(){ var allselector = document.querySelectorAll(".quick-notice")[0].children; if (allselector != null && allselector.length > 0) { for (var k = 0; k < allselector.length; k++) { var anchor_item = allselector[k]; if(anchor_item.nodeName === "A"){ anchor_item.target = "_blank"; } } } var dayMenus = document.querySelector("body > div.menuContent > div:nth-child(2) > ul").children; if(dayMenus != null && dayMenus.length > 0){ for (var i = 0; i < dayMenus.length; i++) { var li = dayMenus[i]; if(li.nodeName.toLowerCase() === "li"){ li.children[0].target = "_blank"; } } } },1500) } function GetRequest() { var url = location.search; //获取url中"?"符后的字串 var theRequest = new Object(); if (url.indexOf("?") != -1) { var str = url.substr(1); var strs = str.split("&"); for (var i = 0; i < strs.length; i++) { theRequest[strs[i].split("=")[0]] = unescape(strs[i].split("=")[1]); } } return theRequest; } function showExamAnswer(){ getMyExamList().then(function(){ let pane = document.getElementById("pane-1"); let children = pane.children; let firstChild = children[0]; pane.innerHTML = ""; pane.appendChild(firstChild); for(let j=0; j<_myExamList.length; j++){ let html = ` <div class="pd-20 total_course"> <div class="flex items-center"> <div class="left_intro left_exam"> <img src="${_examImgSrc}" alt="" class="img_bk"> </div> <div class="right_infor"> <div class="course_title"> <span class="title_span">${_myExamList[j].examName}</span> </div> <div class="bottom_infor"> <div class="clearfix every_infor"> <div > <label >及格分数:</label> <span >${_myExamList[j].passScore}</span> </div> </div> <div class="clearfix every_infor"> <div> <label >考试分数:</label> <span >${_myExamList[j].score}</span> </div> <div> <a class="mybtn-2 boom" href="http://training.si-tech.com.cn/exam/portal/myExamScore.html?windowId=myExamScore&resultId=${_myExamList[j].resultId}" target="_blank">查看答案</a> </div> </div> </div> </div> </div> </div> `; document.getElementById("pane-1").insertAdjacentHTML('beforeend', html); } }) } function getBaogongInfo(ticket){ GM_xmlhttpRequest({ method: "GET", url: "http://hrs.si-tech.com.cn/gotoOneselfSignInOff.action?ticket="+ticket, headers: { "Content-Type": "application/x-www-form-urlencoded", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9" }, onload: function (res) { // console.log('get res', res.responseText); var bgHtml = res.responseText; var doc = new DOMParser().parseFromString(bgHtml, 'text/html'); var titleTr = doc.querySelector('#oneselfSignInOffList table.blue-table thead tr'); var firstRow = doc.querySelector('#oneselfSignInOffList table.blue-table tbody tr:nth-child(1)'); var row2 = doc.querySelector('#oneselfSignInOffList table.blue-table tbody tr:nth-child(3)'); removeSomeCell(titleTr) removeSomeCell(firstRow) removeSomeCell(row2) var table = document.createElement('table'); var thead = document.createElement('thead'); var tbody = document.createElement('tbody'); thead.appendChild(titleTr) tbody.appendChild(firstRow) tbody.appendChild(row2) table.appendChild(thead); table.appendChild(tbody); table.className = 'gridtable' document.getElementsByClassName(divClassName)[0].appendChild(table); } }); } function removeSomeCell(element){ element.deleteCell(23); element.deleteCell(22); element.deleteCell(21); element.deleteCell(20); element.deleteCell(19); element.deleteCell(18); element.deleteCell(17); element.deleteCell(1); } /** * 课程进度一键100% */ function showCompleteQuickly(){ var parentElement = document.getElementById('pane-0'); var courses = parentElement.children; console.log('total_course len==========='+courses.length) var courseNum = courses.length-2; getMyStudyLesson().then(function(){ for(var i=1; i<=courseNum; i++){ let titleSpan = document.querySelector("#pane-0 > div:nth-child("+i+") > div > div.right_infor > div.course_title > span.title_span"); let title = titleSpan.innerHTML let lesson = StudyLessonList.filter(function(items){ return items.lessonName == title; }) console.log(lesson) let lessonId = lesson[0].trainingLessonId let lessonGenre = lesson[0].lessonGenre let lessonDuration = lesson[0].lessonDuration let endTime = lesson[0].endTime console.log(title+'---------------------'+lessonId) console.log(title+'---------------------'+lessonGenre) let btndiv = document.querySelector("#pane-0 > div:nth-child("+i+") > div > div.right_infor > div.bottom_btn.mgt-10"); createButton(lessonId,'一键进度100%',function(){ if(lessonGenre == "视频类"){ saveVideoLearningProgress(lessonId, lessonDuration); }else if(lessonGenre == "文档类"){ saveVideoLearningProgress(lessonId, lessonDuration); }else{ saveLearningProgress(lessonId) } }, btndiv) let timeDive = document.createElement('span'); timeDive.className = 'time'; timeDive.textContent = endTime; document.querySelector("#pane-0 > div:nth-child("+i+") > div > div.right_infor > div.course_title").appendChild(timeDive); } }) } function getMyStudyLesson(){ return new Promise(function(resolve, reject){ var cookie = document.cookie; console.log(cookie) var time = new Date().getTime() var param = { "pageSize":1000, "currentPage":1, "studyStatus":"0", "lessonName":"", "tagObjId":"", "myAdded":null } GM_xmlhttpRequest({ method: "POST", url: "http://training.si-tech.com.cn/kmd_job_training/myStudy/myStudyLesson?cb="+time, cookie: cookie, headers: { "Content-Type": "application/json;charset=utf-8" }, data: JSON.stringify(param), onload: function (res) { let resData = JSON.parse(res.responseText); if(resData.code && resData.code == 0 ){ StudyLessonList = resData.data.list resolve() } reject() } }); }) } function saveVideoLearningProgress(LessonId,lessonDuration){ console.log('修改视频类课程进度:'+LessonId) var cookie = document.cookie; console.log(cookie) var duration = parseFloat(lessonDuration) let len = 0; if(duration > 5){ duration = duration - 4 } len = len * 59 * 1000 + 0.78971; var time = new Date().getTime() var param = { "progress":"100.00", "playtimes":len, "lessonId":LessonId, "resId":"", "type":"2", "startTime":"2022-11-25 13:42:55", "endTime":"2022-11-25 13:43:02" } GM_xmlhttpRequest({ method: "POST", url: "http://training.si-tech.com.cn/kmd_job_training/myStudy/saveLearningProgress?cb="+time, cookie: cookie, headers: { "Content-Type": "application/json;charset=utf-8" }, data: JSON.stringify(param), onload: function (res) { console.log('课程 res: ', res.responseText); let resData = JSON.parse(res.responseText); if(resData.code && resData.code == 0 ){ alert('课程进度修改成功!') } } }); } function saveLearningProgress(LessonId){ console.log('修改课程进度:'+LessonId) var cookie = document.cookie; console.log(cookie) var time = new Date().getTime() var param = {"progress":100,"trainingLessonId":LessonId,"type":"3"} GM_xmlhttpRequest({ method: "POST", url: "http://training.si-tech.com.cn/kmd_job_training/myStudy/saveLearningProgress?cb="+time, cookie: cookie, headers: { "Content-Type": "application/json;charset=utf-8" }, data: JSON.stringify(param), onload: function (res) { console.log('课程 res: ', res.responseText); let resData = JSON.parse(res.responseText); if(resData.code && resData.code == 0 ){ alert('课程进度修改成功!') } } }); } function getlessonResRel(LessonId){ return new Promise(function(resolve, reject){ var cookie = document.cookie; var time = new Date().getTime() GM_xmlhttpRequest({ method: "GET", url: "http://training.si-tech.com.cn/kmd_job_training/lessonStudyInfo/getlessonResRel?cb="+time+"&lessonId="+LessonId, cookie: cookie, headers: { "accept":"application/json, text/plain, */*" }, onload: function (res) { let resData = JSON.parse(res.responseText); if(resData.code && resData.code == 0 ){ resolve(resData.lessonResRelList) } reject() } }); }) } function getMyExamList(){ return new Promise(function(resolve, reject){ var cookie = document.cookie; console.log(cookie) var time = new Date().getTime() var param = {"pageSize":50,"currentPage":1,"examStatus":"1","beginDate":"","endDate":"","tagType":1,"tagObjId":"","examName":"","menuId":""} GM_xmlhttpRequest({ method: "POST", url: "http://training.si-tech.com.cn/kmd_job_training/myExam/myExamList?cb="+time, cookie: cookie, headers: { "Content-Type": "application/json;charset=utf-8" }, data: JSON.stringify(param), onload: function (res) { let resData = JSON.parse(res.responseText); if(resData.code && resData.code == '0' ){ _myExamList = resData.myExamList resolve() } reject() } }); }) } function createButton(id,name,eventFun,div,className){ let button = document.createElement("button"); //创建一个input对象(提示框按钮) button.id = id; button.textContent = name; button.className = className ? className : "mybtn boom"; // button.addEventListener("click", eventFun) button.onclick = function () { if (eventFun) eventFun(); } div.appendChild(button); } function random(a,b){ return Math.round(Math.random() * (b-a)) + a; } function isEmpty(obj) { if (typeof obj === 'undefined' || obj == null || obj === '') { return true; } else { return false; } } })();