计算已批阅日志数量(广轻)

4/21/2024, 12:10:37 PM

目前为 2024-04-21 提交的版本。查看 最新版本

// ==UserScript==
// @name        计算已批阅日志数量(广轻)
// @license     MIT License
// @namespace   Violentmonkey Scripts
// @match       https://my.gdip.edu.cn/Internship/Internship-InternshipLogReview
// @grant       none
// @icon        https://zhyccommon.oss-cn-shenzhen.aliyuncs.com/commonUpload/20210715/4cac334b887d3af9/img_logo.png
// @version     1.0
// @author      11ze
// @description 4/21/2024, 12:10:37 PM
// ==/UserScript==

function getEol() {
  return navigator.platform.indexOf('Win') > -1 ? '\r\n' : '\n';
}

function getReviewed() {
  const table = document.querySelector('.el-table__body');

  // 获取 class="el-table_row" 的所有行
  const rows = table.getElementsByClassName('el-table__row');

  const eol = getEol();

  var records = '';

  for (let i = 0; i < rows.length; i++) {
    const row = rows[i];
    const name = row.querySelector(
      'td.el-table_1_column_4.el-table__cell > div > span'
    ).textContent;
    const total = row.querySelector(
      'td.el-table_1_column_10.el-table__cell > div > span'
    ).textContent;
    const unReviewed = row.querySelector(
      'td.el-table_1_column_12.el-table__cell > div > span'
    ).textContent;
    const reviewed = total - unReviewed;

    records += name + ' ' + reviewed + '' + eol;
  }

  // 把结果放到剪切板
  navigator.clipboard.writeText(records);
  const result = '已批阅日志数量(结果已放在剪切板,可直接粘贴):' + eol + records;
  alert(result);
}

window.getReviewed = getReviewed;

window.onload = function () {
  // 获取 class="action-row el-row el-row--flex" 的元素
  const buttons = document.getElementsByClassName('action-row el-row el-row--flex');

  // <button data-v-2349296e="" type="button" class="el-button search-sss el-button--primary" style="margin-right: 0px;"><!----><!----><span>查询</span></button>
  const getReviewedButton = `<button type="button" class="el-button search-sss el-button--primary" style="margin-right: 0px;" onclick="getReviewed()"><!----><!----><span>获取已批阅日志数量</span></button>`;
  buttons[buttons.length - 1].innerHTML += getReviewedButton;
};