您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Выделение тех лаборатоий, в которых надо нажать кнопки, что бы продолжить исследования
当前为
// ==UserScript== // @name Virtonomica:Lab Filter // @namespace virtonomica // @version 0.6 // @description Выделение тех лаборатоий, в которых надо нажать кнопки, что бы продолжить исследования // @description v0.6 - правки под новый дизайн списка юнитов // @include http://*virtonomic*.ru/*/main/company/view/*/unit_list // @include http://igra.aup.ru/*/main/company/view/*/unit_list // @include http://virtonomic*.*/*/main/company/view/* // ==/UserScript== var run = function() { var win = (typeof(unsafeWindow) != 'undefined' ? unsafeWindow : top.window); $ = win.$; var n = 0; function find_lab( mode ) { n = 0; find = input.val(); $('td.spec').each(function() { var show = 0; str = $(this).text(); if ( str.length > 0) { pos_begin = str.indexOf('%'); if ( pos_begin != -1){ str1 = str.substr(0, pos_begin); pr = parseFloat(str1); str2 = str.substr(pos_begin+1); pos2 = str2.indexOf('.'); st = parseInt( str2.substr(pos2+1) ); lev = parseInt( str2.substr(0,pos2) ); } } 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) && ( pos2 == -1) ){ 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;} } if ( show == 0){ $(this.parentNode).hide(); } else { $(this.parentNode).show(); $("div.st").show(); } }); } //var container = $('#mainContent tr:first > td:first'); 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=1>найти</option>').change( function() { find_lab(); }).append('<option value=4>найти (+заметки)</option>').change( function() { find_lab('' ); }); // Изучаемые технологии labs = $("td.spec"); var list = new Object(); var tag = 1; for (i=0; i<labs.length; i++){ str = labs.eq(i).html(); //console.log(str); n = str.lastIndexOf("</b>"); if (n == -1) continue; name = str.substr(n+4, str.length); //console.log(name); name.replace("\n", "").replace("\r", ""); if ( list[name] != null) { list[name]++; continue; } list[name] = 1; //tag++; } // сортировка объекта как строки function sortObj(arr){ // Setup Arrays var sortedKeys = new Array(); 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 i in sortedKeys){ sortedObj[sortedKeys[i]] = arr[sortedKeys[i]]; } return sortedObj; } list = sortObj(list); var Filter = $(" <select>").append('<option value=0> </option>').change( function(){ search = $(this).val(); $('td.spec').each(function() { var show = 0; str = $(this).html(); n = str.lastIndexOf("</b>"); if (n == -1) return; name = str.substr(n+4, str.length); name.replace("\n", "").replace("\r", ""); if (name == search ) show =1; if ( show == 0){ $(this.parentNode).hide(); // спрятать заметки $("div.st").hide(); } else { $(this.parentNode).show(); $("div.st").show(); } }); }); for(name in list){ str = '<option value="'+ name +'">'+ name; if ( list[name] > 1) str+= ' (' + list[name] + ')'; str+= '</option>'; Filter.append(str); } // Число подразделений на странице var units = $("td.info"); //console.log("units="+units.length); // число лаборатоий на странице var labs = $("td.i-lab"); //console.log("labs="+labs.length); // если на странице только лаборатории 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); }