您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Выделение тех лаборатоий, в которых надо нажать кнопки, что бы продолжить исследования
当前为
// ==UserScript== // @name Virtonomica:Lab Filter // @namespace virtonomica // @version 0.62 // @description Выделение тех лаборатоий, в которых надо нажать кнопки, что бы продолжить исследования // @description v0.6 - правки под новый дизайн списка юнитов // @include *virtonomic*.*/*/main/company/view/*/unit_list // @include *virtonomic*.*/*/main/company/view/* // @exclude *virtonomic*.*/*/main/company/view/*/unit_list/equipment // ==/UserScript== var run = function() { var win = (typeof(unsafeWindow) != 'undefined' ? unsafeWindow : top.window); var $ = win.$; // сортировка объекта как строки function sortObj(arr){ // Setup Arrays var sortedKeys = []; var sortedObj = {}; // Separate keys and sort them for (var i in arr){sortedKeys.push(i);} sortedKeys.sort(); // Reconstruct sorted obj based on keys for (var j in sortedKeys){sortedObj[sortedKeys[j]] = arr[sortedKeys[j]];} return sortedObj; } function find_lab( mode ) { var n = 0; var find = input.val(); $('td.spec').each(function() { var show = 0; var name = /(\d+\.*\d*)%\s?(\d+)?\.?(\d+)?\s?(.+)?/.exec($(this).text().trim()); var pr = name[1]; var st = name[3]; var lev = name[2]; if (find == "4" ) $("div.st").show(); else $("div.st").hide(); switch( find ) { case "0": { $(this.parentNode).show(); $("div.st").show(); show = 1; $("div.st").show(); break;} case "1": case "4":{ // начальная стадия исследований if ( ( pr == 0) && ( typeof st == 'undefined') ){ show = 1; break; } // заверешена 1 стадия if ( (st == 1) && (pr == 100) ){ show = 1; //$(this.parentNode).show(); break; } // завершена 2 стадия if ( (st == 3) && (pr == 0) ){ show = 1; break; } break;} case "2": { if ( ( pr > 90) && ( pr < 100) ) { show = 1; } break;} case "3": { if ( ( pr > 80) && ( pr < 90) ) { show = 1; } break;} case "10": { if ( ( pr > 0) && ( pr < 20) ) { show = 1; } break;} case "5": { if ( lev< 9) { show = 1; } break;} case "17": { if ( lev > 16) { show = 1; } break;} case "6": { if ( st == 1) { show = 1; } break;} case "7": { if ( st == 2) { show = 1; } break;} case "8": { if ( st == 3) { show = 1; } break;} } var n = $(this.parentNode).next(); if ( show == 0){ $(this.parentNode).hide(); if(/unit_comment/.test(n.attr('class'))) n.hide(); } else { $(this.parentNode).show(); if(/unit_comment/.test(n.attr('class'))) n.show(); $("div.st").show(); } }); } var container = $("td.u-l").parent().parent(); var panel = $("#extension_panel"); if ( panel.length == 0 ) { // добавить панель, если её еще нет var ext_panel = "<div style='padding: 2px; border: 1px solid #0184D0; border-radius: 4px 4px 4px 4px; float:left; white-space:nowrap; color:#0184D0; display:none;' id=extension_panel></div>"; container.append( "<tr><td>" +ext_panel ); } var input = $('<select>') .append('<option value=0> </option>') .append('<option value=5>техны ниже 9</option>') .append('<option value=17>техны выше 16</option>') .append('<option value=3>больше 80%</option>') .append('<option value=2>больше 90%</option>') .append('<option value=10>меньше 20%</option>') .append('<option value=6>стадия 1</option>') .append('<option value=7>стадия 2</option>') .append('<option value=8>стадия 3</option>') .append('<option value=1>найти</option>').change( function() {find_lab();}) .append('<option value=4>найти (+заметки)</option>').change( function() {find_lab('' );}); // Изучаемые технологии var list = {}; $('td.spec').each(function() { var name = /(\d+\.*\d*)%\s?(\d+)?\.?(\d+)?\s?(.+)?/.exec($(this).text().trim()); if (list[name[4]] != null) {list[name[4]]++;} else if (typeof name[4] != 'undefined') {list[name[4]] = 1;} }); list = sortObj(list); var filter = $(" <select>").append('<option value=0> </option>').change( function(){ var search = $(this).val(); $('td.spec').each(function() { var name = /(\d+\.*\d*)%\s?(\d+)?\.?(\d+)?\s?(.+)?/.exec($(this).text().trim()); if (name[4] == search ){ $(this.parentNode).show(); $("div.st").show(); } else { $(this.parentNode).hide(); // спрятать заметки $("div.st").hide(); } }); }); $.each(list,function(o,i) { var str = '<option value="'+ o +'">'+ o; str+= (i > 1)?' (' + i + ')':''; str+= '</option>'; filter.append(str); }); // Число подразделений на странице var units = $("td.info"); // число лаборатоий на странице var labs = $("td.i-lab"); // если на странице только лаборатории if ( labs.length == units.length) { $("#extension_panel").append('<div id=science>Исследования: '); $("#science").append(input).append(filter); $("#extension_panel").show(); } }; if(window.top == window) { var script = document.createElement("script"); script.textContent = '(' + run.toString() + ')();'; document.documentElement.appendChild(script); }