您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Оценка вклада в качество и цену комплектующих
// ==UserScript== // @name Virtonomica:FactoryInfo // @namespace virtonomica // @description Оценка вклада в качество и цену комплектующих // @version 2.04 // @author UnclWish // @include http*://*virtonomic*.*/*/main/unit/view/*/manufacture // ==/UserScript== var run = function() { var win = (typeof(unsafeWindow) != 'undefined' ? unsafeWindow : top.window); $ = win.$; var new_interface = $("div.unit_button").length; function numberFormat (number) { number += ''; var parts = number.split('.'); var int = parts[0]; var dec = parts.length > 1 ? '.' + parts[1] : ''; var regexp = /(\d+)(\d{3}(\s|$))/; while (regexp.test(int)) { int = int.replace(regexp, '$1 $2'); } return int + dec; } if (new_interface) // новый интерфейс var el = $('div#mainContent > div.unit_box-container > div.unit_box-row > div.unit_box > h2:contains(" Снабжение")').next($("table.unit_table:eq(0)")); else var el = $("table.list:eq(1)"); var tr = $("tr", el); var col = new Array(); //var colz = new Array(); var qv= new Array(); var money= new Array(); mm = 0; cc = 0; if (new_interface) { for (i = 2; i< tr.length; i++){ td = $("td", tr.eq(i) ); // требуется col[i-2] = td.eq(1).text().replace(" ", "").replace(" ", "").replace(" ", ""); // качество qv[i-2] = td.eq(5).text(); if (qv[i-2]==="") qv[i-2] = 0; //console.log (qv[i-2]); // себестоимость cc+= col[i-2] * qv[i-2]; i=i+2; } for(i=0; i< col.length; i++){ td = $("td", tr.eq(i+2) ); str = Math.round(1000*col[i]*qv[i]/cc)/10; if (!isNaN(str)) td.eq(5).append("<br><font color=grey>"+str + "%</font>"); } var exp = []; for (var j in prime_cost) { exp.push([prime_cost[j].name, parseFloat(prime_cost[j].percent)]); } var l = -1; for (k=0; l!==0; k++) { var l = exp[k].indexOf('Стоимость сырья'); var m = k;} var m = exp [m]; //alert (m[1]) el = $('div#mainContent > div.unit_box-container > div.unit_box-row > div.unit_box > h2:contains(" Произведено в пересчёт")').next($("table.unit_table:eq(1)")); tr = $("tr", el); //console.log (tr.length); for(i=3; i<tr.length-10; i++){ //if (i==4 || i==5 || i==6 || i==7) continue; td = $("td", tr.eq(i)); td2 = $("td", td.eq(0)); //out = td2.eq(0).text().replace(" ", "").replace(" ", "").replace(" ", ""); mm = td.eq(1).text().replace("©", "").replace(" ", "").replace(" ", "").replace(" ", "").replace(" ", ""); //console.log (mm); //if (i = tr.length-1) continue; td.eq(0).append("<br><font color=grey>Себестоимость по сырью:</font>"); td.eq(1).append("<br><font color=grey>©"+ numberFormat( Math.round(mm*m[1])/100 ) + "</font>"); i = i+4; }} else { // старый интерфейс for (i = 2; i< tr.length; i++){ td = $("td", tr.eq(i) ); // требуется col[i-2] = td.eq(3).text().replace(" ", "").replace(" ", "").replace(" ", ""); // закуплено //colz[i-2] = td.eq(4).text().replace(" ", "").replace(" ", "").replace(" ", ""); // качество qv[i-2] = td.eq(7).text(); if (qv[i-2]=="---") qv[i-2] = 0; //console.log (qv[i-2]); // себестоимость money[i-2] = td.eq(8).text().replace("©", "").replace(" ", "").replace(" ", "").replace(" ", ""); if (money[i-2]=="---") money[i-2] = 0; //alert(i + ". = "+ td.length); mm+= col[i-2] * money[i-2]; cc+= col[i-2] * qv[i-2]; } for(i=0; i< col.length; i++){ td = $("td", tr.eq(i+2) ); str = Math.round(1000*col[i]*money[i]/mm)/10; if (!isNaN(str)) td.eq(8).append("<br><font color=grey>"+str + "%</font>"); str = Math.round(1000*col[i]*qv[i]/cc)/10; if (!isNaN(str)) td.eq(7).append("<br><font color=grey>"+str + "%</font>"); str = numberFormat( Math.round(col[i]*money[i]) ); if (!isNaN(str)) td.eq(3).append("<br><font color=grey>©"+str + "</font>"); } el = $("table.grid:eq(0)"); tr = $("tr", el); //var out2=0; var k=0; for(i=1; i<tr.length; i++){ td = $("td", tr.eq(i) ); if (td.length < 5) continue; //console.log(td.length); indx = 3; if (td.length < 21 ) indx = 2; else {if (td.length == 21) { if ($("div", td.eq(2)).length) indx = 2;}} td2 = $("td", td.eq(indx)); out = td2.eq(1).text().replace(" ", "").replace(" ", "").replace(" ", ""); //console.log (out); if (out == "---") {out=0; continue;} if (out === "") {out=0; continue;} //out2+=parseInt(out); //console.log (out2); k= k + 1; //td.eq(indx).append("<td align=left><font color=grey align=left>Себестоимость по сырью:</font></td><td align=right class=nowrap><font color=grey>$"+ numberFormat( Math.round(100*mm/out2)/100 ) + "</font></td>"); } for(i=1; i<tr.length; i++){ td = $("td", tr.eq(i) ); if (td.length < 5) continue; indx = 3; if (td.length < 21 ) indx = 2; else {if (td.length == 21) { if ($("div", td.eq(2)).length) indx = 2;}} td2 = $("td", td.eq(indx)); out = td2.eq(1).text().replace(" ", "").replace(" ", "").replace(" ", ""); //console.log (out); if (out == "---") continue; if (out === "") continue; //console.log (out2); td.eq(indx).append("<td align=left><font color=grey align=left>Себестоимость по сырью:</font></td><td align=right class=nowrap><font color=grey>©"+ numberFormat( Math.round(100*mm/k/out)/100 ) + "</font></td>"); } } }; // Хак, что бы получить полноценный доступ к DOM >:] var script = document.createElement("script"); script.textContent = '(' + run.toString() + ')();'; document.documentElement.appendChild(script);