ENGY 1.3

Építési Normagyűjtemény ÉNGY kódok

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

You will need to install an extension such as Tampermonkey to install this script.

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 Tampermonkey,才能安裝此腳本

您需要先安裝使用者腳本管理器擴充功能後才能安裝該腳本。

(我已經安裝了使用者腳本管理器,讓我安裝!)

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

(我已經安裝了使用者樣式管理器,讓我安裝!)

// ==UserScript==
// @name        ENGY 1.3
// @namespace   Normagyujtemeny
// @description Építési Normagyűjtemény ÉNGY kódok
// @include     https://e-kerelem.mvh.allamkincstar.gov.hu/enter/webform/emva/engy/EngyMain.xhtml
// @require     https://code.jquery.com/ui/1.12.1/jquery-ui.min.js
// @version     1
// @grant       none
// ==/UserScript==

var elvalaszto = "---";
var elozo_adat = [];
var tab = "\t";
var adatszam = 0;

$("body").append (' <div id="new_place"> </div>');
$("#new_place").css( {"border":"3px solid red", "width" : "800px" , "height": "500px" });
$("#new_place").css( {"position":"absolute", "left" : "1040px" , "top": "50px" });

var button1=document.createElement("button");
button1.innerHTML = "Tétel kiírása (q)";
button1.onclick = AdatKiirasSzovegmezobe;
button1.style.height = "50px";
button1.id ="kiiras_gomb";
$(button1).appendTo ("#new_place");

var torles=document.createElement("button");
torles.innerHTML ="Adatok törlése";
torles.onclick = AdatTorles;
torles.style.height = "50px";
torles.id ="torles_gomb";
$(torles).appendTo ("#new_place");

var szamlalo=document.createElement("button");
szamlalo.innerHTML =adatszam;
//torles.onclick = AdatTorles;
szamlalo.style.height = "50px";
szamlalo.id ="szamlalo";
$(szamlalo).appendTo ("#new_place");

var szovegdoboz=document.createElement("TEXTAREA");
szovegdoboz.type="button";
szovegdoboz.readOnly = true;
szovegdoboz.name = "post";
szovegdoboz.maxLength = "35000";
szovegdoboz.cols = "111";
szovegdoboz.rows = "29";
szovegdoboz.onclick=kimasol;
szovegdoboz.id = 'szovegdobozID';
$(szovegdoboz).appendTo ("#new_place");

billerzekeles_hozzarendeles ();

function billerzekeles_hozzarendeles() {
    document.getElementById("engyForm:tree").addEventListener("keydown", billerzekeles , false );
}

function billerzekeles (e) {
    if (e.keyCode == "81") {
      AdatKiirasSzovegmezobe ();
    }
}

$(document).ready(function() {
$("#new_place" ).resizable();
$("#new_place" ).draggable();
});

function kimasol() {
    $("#szovegdobozID").select();
    document.execCommand('copy');
}

function AdatTorles(){
    $("#szovegdobozID").val("");
    adatszam = 0;
    szamlalo.innerHTML =adatszam;
     elozo_adat = [];
}

function AdatKiirasSzovegmezobe() {
    var engytext = document.getElementById("engyForm:leirasPanel_content").innerHTML;
    var szoveg = "";
    var sorok = engytext.split ('<br>');
    var i;

    for (i = 0; i < sorok.length; i++) {
    sorok[i] = sorok[i].replace (/&nbsp;/g, ""); // szóköz nbsp
    sorok[i] = sorok[i].replace(/(?:\r\n|\r|\n)/g, ''); // sortörések
    sorok[i] = sorok[i].replace(/<[^>]+>/g, ''); // html elemek
}

    var empty_row, rowcount;
    do{ // üres sorok törlése a stringből
        rowcount = sorok.length;
        empty_row = false;
        for ( i = 0; i <rowcount; i++) {
            if (sorok [i].length == 0) {
                sorok.splice(i, 1);
                empty_row = true;
                i = rowcount + 1; }
        }
    }
    while (empty_row);

    var ssz = sorok.length-1;
    szoveg += sorok[0].replace ("ÉNGY kód: ", "") + tab;
    szoveg += sorok[1].replace ("Kód: ", "") + tab;
    szoveg += sorok[2].replace ("Verzió: ", "") + tab;

    var k = Math.min(ssz,elozo_adat.length-1) - 7;
    var ii = -1;

    for (i = 0; i <= k; i++) {
        if (elozo_adat [i+3] == sorok[i+3])
            { ii = i; }
        else { break;}
    }

    for (i = 3 + ii; i < ssz-5; i++) { szoveg += sorok[1+i] + elvalaszto;}
    if ( (i > 3 + ii) && (i <= ssz-5 )) { szoveg = szoveg.substr (0, szoveg.length - elvalaszto.length);}

    szoveg += tab + sorok[ssz-4] + tab;
    elozo_adat = JSON.parse(JSON.stringify( sorok )); // elmenti a sorokat, a későbbi ellenőrzéshez

    // árak
    var regex = /: (.*?) /;
    var regex2 = / Ft\/(.*)/;
    var refar = regex.exec (sorok[ssz-3])[1];
    var anyagar = regex.exec (sorok[ssz-2])[1];
    var gepklt = regex.exec (sorok[ssz-1])[1];
    var rezsi = regex.exec (sorok[ssz-0])[1];
    var egyseg = regex2.exec (sorok[ssz-3])[1];
    szoveg += tab + egyseg + tab + refar + tab + anyagar + tab + gepklt + tab + rezsi;
    document.getElementById('szovegdobozID').value += szoveg + "\n";
    adatszam += 1;
    szamlalo.innerHTML =adatszam;

    billerzekeles_hozzarendeles ();
}