// ==UserScript== // @name HRM易景工时统计 // @namespace http://tampermonkey.net/ // @version 1.1 // @description 易景加班统计 // @author 秦大哥 // @match https://www.italent.cn/portal/* // @require https://code.jquery.com/jquery-3.7.1.min.js // @license MIT // @icon data:image/png;base64,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 // @grant none // @downloadURL none // ==/UserScript== (function() { 'use strict'; let isRightPage = false; const icuIcon = $(``) //显示工时弹窗 function showResult() { let dialog = $(`
ICU总时长:
考勤日期
首打卡
末打卡
休息日
ICU时长
`); $("body").append(dialog) $(".qy_close_button").click(() =>{ dialog.remove() }) //填充上班时间 let dataSource = getICU(); //console.log(dataSource) for(let item of dataSource){ let isHoliday = item.DateType.value != 1; let dateStr = item.SwipingCardDate.value; let row = $(`
`) //考勤日期 row.append($(`
${item.SwipingCardDate.text}
`)) //上班时间 row.append($(`
${item.ActualForFirstCard?.text??"--"}
`)); //下班时间 row.append($(`
${item.ActualForLastCard?.text??"--"}
`)); //是否休息日 //console.log("before = "+ isHoliday) let storedValue = localStorage.getItem(dateStr) if(storedValue != null){ isHoliday = storedValue == "true" //console.log("after = "+ isHoliday) } item.isHoliday = isHoliday; let checkbox = $(``).prop({"checked":isHoliday}).change(() =>{ let checked = checkbox.prop("checked") localStorage.setItem(dateStr,checked) item.isHoliday = checked let newIcuValue = calRow(item) $($(row).find("#icuValue")).html(newIcuValue) showTotalIcu(dataSource) }) row.append($(`
`).append(checkbox)) //加班时间 let icuValue = calRow(item) row.append($(`
${icuValue}
`)); $(".qy_table_content").append(row); } showTotalIcu(dataSource) } function calRow(item) { let icuValue = 0 let onWorkDate = item.ActualForFirstCard != null ? new Date(item.ActualForFirstCard.value) : null; let offWorkDate = item.ActualForLastCard != null ? new Date(item.ActualForLastCard.value) : null; let dateStr = item.SwipingCardDate.value; if(!item.isHoliday && offWorkDate != null){//非工作日并且打了下班卡 console.log("in icu") let icuStartDate = new Date(`${dateStr} 18:30:00`) icuValue = Number((parseInt(offWorkDate - icuStartDate)/1000.0/60/60).toFixed(2)) }else if(onWorkDate != null && offWorkDate != null) { console.log("in icu") icuValue = Number((parseInt(offWorkDate - onWorkDate)/1000.0/60/60).toFixed(2)) } if(icuValue < 0){ icuValue = 0 } item.icuValue = icuValue return icuValue } function showTotalIcu(dataSource) { const totalIcuValue = dataSource.reduce((total,item) => item.icuValue + total,0).toFixed(2) $(".qy_total_icu").html(`${totalIcuValue}小时`) icuIcon.remove(); if(Number(totalIcuValue) >= 50){ $(".qy_total_row").append(icuIcon); } } //插入计算按钮 function insertShowButton(){ console.log("插入计算按钮") let showButton = $(`
计算
`); setTimeout(() => { $(".common-search-body").append(showButton) const dropDownBtn = $(".paging .drop-down-btn-list")[0]; const prop = Object.keys(dropDownBtn).find(p => p.startsWith('__reactInternalInstance')); const item = dropDownBtn[prop]._currentElement._owner._instance.props.children[3] var click = new Event('click' ,{ "bubbles": true, "cancel" : true, "composed": true}); const rightPageSize = $(".drop-down-btn-title").text() == "100条/页" if (!righPageSize){ dropDownBtn[prop]._currentElement._owner._instance.itemClick(click,item) } },2000) showButton.click(() =>{ const rightPageSize = $(".drop-down-btn-title").text() == "100条/页" if (rightPageSize) { showResult(); }else { alert("请选择100条/页") } }) } //判断进入出勤页面 function checkRightPage() { let rightPageChecker = setInterval(()=>{ var url = window.location.href; if(url.indexOf("viewName=Attendance.AttendanceDataRecordNavView") !== -1){ //如果之前不在出勤页面则进入下一步 if(!isRightPage){ console.log("进入出勤页面"); isRightPage = true; insertShowButton(); } }else { console.log("退出出勤页面"); isRightPage = false; } },1000); } function getICU() { let table = $(".react-datagrid")[0]; const prop = Object.keys(table).find(p => p.startsWith('__reactInternalInstance')); return table[prop]._currentElement._owner._instance.props.dataSource; } checkRightPage(); $("head").append($(` `)) })();