$(document).ready(function () { var htmlstring = ""; var actCnt = 1; var toAdd = true; var lastRow = 0; $("body").off("click", "#btnNew"); $("body").on("click", "#btnNew", function () { actCnt = 1; htmlstring = ""; toAdd = false; $('#btnAdd').trigger("click"); toAdd = true; }); $("body").off("click", "#btnAdd"); $("body").on("click", "#btnAdd", function () { var template = '' + ' %%CNT%%: ' + ' %%BAUTEIL%%  ' + ' ' + ' ' + ' ' + ' ' + ' ' + ''; var startCode = $('#tbStartwert').val(); var endCode = $('#tbEndwert').val(); var startPart = startCode.substring(7); var endPart = endCode.substring(7); var TMPType = startCode.substring(0,3); var TMPTool = startCode.substring(3,5); var TMPRev = startCode.substring(5,7); var StartCodeOhneTyp = startCode.substring(3); var first = true; var actCode = ""; switch (TMPType) { case "GW1": tableHead = "längsquerKommentar" + "(17,5mm)(5,6mm)"; break; case "GX1": tableHead = "längsquerKommentar" + "(5,6mm)(1,75mm)" break; case "GA1": tableHead = "längsquerKommentar" + "(5,6mm)(1,75mm)" break; case "GC1": tableHead = "längsquerKommentar" + "(5,6mm)(1,75mm)" break; } if ( toAdd ) { actCnt = getLastRowNr() + 1; } for (i = startPart; i <= endPart; i++) { var toolRevPart = ""; var locTmpl = ""; //var bauteilstatus; var teilOk = false; var teilNichtOk = 0; if ( first ) { actCode = startCode; first = false; } else { actCode = helper.getNextPart(actCode); } // check bauteilstatus //bauteilstatus = DB.getBauteilStatus(actCode); switch (DB.getBauteilStatus(actCode)){ case 0: case 1: teilOk = true; break; default: teilNichtOk++; } toolRevPart = helper.getToolRevPart(actCode); if ( !teilOk ) { toolRevPart = "" + toolRevPart + ""; } locTmpl = template.replace(/%%CNT%%/g, helper.pad(actCnt,2)); locTmpl = locTmpl.replace(/%%TXLCODE%%/g, actCode); locTmpl = locTmpl.replace(/%%BAUTEIL%%/, toolRevPart); htmlstring = htmlstring + "\n" + locTmpl; actCnt++; } if ( toAdd ) { htmlstring = htmlstring; } else { htmlstring = tableHead + htmlstring; } $('#tblMesswerte').html(htmlstring); lastRow = getLastRowNr(); $("#debug").text("Eingabefelder für " + lastRow + " Bauteile erstellt."); //var table = document.getElementById("tblMesswerte"); if ( teilNichtOk > 0 ) { swal({ title: 'Achtung', type: 'warning', html: 'Es wurden Bauteile eingetragen, die nicht in der Datenbank vorhanden sind. Die Messwerte für diese Teile werden nicht in der Datenbank erfasst.
Die betroffenen bauteile sind rot markiert.', showCloseButton: true, showCancelButton: false, confirmButtonText: 'Ok' }); } //debugger; }); /** * die ganze Mausrad-Geschichte. Ziemliches Monster geworden! * * mit der Maus über dem Input-Feld hoovern und dann mittels * Mausrad hoch/runter tickern. * * Mit modifier-Keys Shift, Ctrl und beiden * Shift: nur das Tool wird geändert * Strg : nur die Revision wird geändert * beide: der Bauteiltyp wird geändert * * Bei Tool, Rev und Part gibt es noch überprüfungen, ob der * Wert über 99 (bzw. 9999 bei Part) oder auf 0 ticken würde. * Wird jeweils abgefangen. Ein Wert kann niemals 0 sein. * Tool und Rev darf maximal 99 erreichen, Part maximal 9999. * * Bauteiltyp, Toolnummer und Revisionsnummer werden immer in * beiden Input-Feldern geändert (#tbStartwert & #tbEndwert) * * Sollte Part in #tbStartwert größer als der in #tbEndwert sein, * wird #tbEndwert.Part an #tbStartwert angeglichen. * ViceVersa im negativem bei #tbEndwert.Part < #tbStartwert.Part * **/ $('body').off("mousewheel", "#tbStartwert"); $("body").on("mousewheel", "#tbStartwert", function(e) { var curVal = e.currentTarget.value; var dir = e.deltaY; var tmpType = curVal.substring(0,3); var tmpTool = curVal.substring(3,5); var tmpRev = curVal.substring(5,7); var tmpPart = curVal.substring(7); if ( dir > 0 ){ if ( e.shiftKey &! e.ctrlKey ){ var newTool = pad(Number(tmpTool) + 1, 2) if ( newTool >= 99 ) { newTool = "99"; } e.currentTarget.value = tmpType + newTool + tmpRev + tmpPart; $("#tbEndwert").val(tmpType + newTool + tmpRev + tmpPart); } else if ( e.ctrlKey &! e.shiftKey ){ var newRev = pad(Number(tmpRev) + 1, 2) if ( newRev >= 99 ) { newRev = "99"; } e.currentTarget.value = tmpType + tmpTool + newRev + tmpPart; $("#tbEndwert").val(tmpType + tmpTool + newRev + tmpPart); } else if ( e.ctrlKey && e.shiftKey){ switch (tmpType){ case "GW1": newType = "GA1"; break; case "GA1": newType = "GC1"; break; case "GC1": newType = "GX1"; break; case "GX1": newType = "GW1"; break; } e.currentTarget.value = newType + tmpTool + tmpRev + tmpPart; $("#tbEndwert").val(newType + tmpTool + tmpRev + tmpPart); } else { var newPart = pad(Number(tmpPart) + 1, 4); if ( newPart >= 9999 ) { newPart = "9999"; } e.currentTarget.value = tmpType + tmpTool + tmpRev + newPart; var endWert = $("#tbEndwert"); var endPart = Number(endWert[0].value.substring(7)); if ( endPart < Number(newPart) ) { endWert[0].value = tmpType + tmpTool + tmpRev + newPart; } } } else { if ( e.shiftKey &! e.ctrlKey ){ var newTool = pad(Number(tmpTool) - 1, 2) if ( newTool <= 0 ) { newTool = "01"; } e.currentTarget.value = tmpType + newTool + tmpRev + tmpPart; $("#tbEndwert").val(tmpType + newTool + tmpRev + tmpPart); } else if ( e.ctrlKey &! e.shiftKey ){ var newRev = pad(Number(tmpRev) - 1, 2) if ( newRev <= 0 ) { newRev = "01"; } e.currentTarget.value = tmpType + tmpTool + newRev + tmpPart; $("#tbEndwert").val(tmpType + tmpTool + newRev + tmpPart); } else if ( e.ctrlKey && e.shiftKey){ switch (tmpType){ case "GW1": newType = "GA1"; break; case "GA1": newType = "GC1"; break; case "GC1": newType = "GX1"; break; case "GX1": newType = "GW1"; break; } e.currentTarget.value = newType + tmpTool + tmpRev + tmpPart; $("#tbEndwert").val(newType + tmpTool + tmpRev + tmpPart); } else { var newPart = pad(Number(tmpPart) - 1, 4); if ( newPart <= 0 ) { newPart = "0001"; } e.currentTarget.value = tmpType + tmpTool + tmpRev + newPart; var endWert = $("#tbEndwert"); var endPart = Number(endWert[0].value.substring(7)); if ( endPart < Number(newPart) ) { endWert[0].value = tmpType + tmpTool + tmpRev + newPart; } } } return false; }); $('body').off("mousewheel", "#tbEndwert"); $("body").on("mousewheel", "#tbEndwert", function(e) { var curVal = e.currentTarget.value; var dir = e.deltaY; var tmpType = curVal.substring(0,3); var tmpTool = curVal.substring(3,5); var tmpRev = curVal.substring(5,7); var tmpPart = curVal.substring(7); if ( dir > 0 ){ if ( e.shiftKey &! e.ctrlKey ){ var newTool = pad(Number(tmpTool) + 1, 2) if ( newTool >= 99 ) { newTool = "99"; } e.currentTarget.value = tmpType + newTool + tmpRev + tmpPart; $("#tbStartwert").val(tmpType + newTool + tmpRev + tmpPart); } else if ( e.ctrlKey &! e.shiftKey ){ var newRev = pad(Number(tmpRev) + 1, 2) if ( newRev >= 99 ) { newRev = "99"; } e.currentTarget.value = tmpType + tmpTool + newRev + tmpPart; $("#tbStartwert").val(tmpType + tmpTool + newRev + tmpPart); } else if ( e.ctrlKey && e.shiftKey){ switch (tmpType){ case "GW1": newType = "GA1"; break; case "GA1": newType = "GC1"; break; case "GC1": newType = "GX1"; break; case "GX1": newType = "GW1"; break; } e.currentTarget.value = newType + tmpTool + tmpRev + tmpPart; $("#tbStartwert").val(newType + tmpTool + tmpRev + tmpPart); } else { var newPart = pad(Number(tmpPart) + 1, 4); if ( newPart >= 9999 ) { newPart = "9999"; } e.currentTarget.value = tmpType + tmpTool + tmpRev + newPart; var startWert = $("#tbStartwert"); var startPart = Number(startWert[0].value.substring(7)); if ( startPart > Number(newPart) ) { startWert[0].value = tmpType + tmpTool + tmpRev + newPart; } } } else { if ( e.shiftKey &! e.ctrlKey ){ var newTool = pad(Number(tmpTool) - 1, 2) if ( newTool <= 0 ) { newTool = "01"; } e.currentTarget.value = tmpType + newTool + tmpRev + tmpPart; $("#tbStartwert").val(tmpType + newTool + tmpRev + tmpPart); } else if ( e.ctrlKey &! e.shiftKey ){ var newRev = pad(Number(tmpRev) - 1, 2) if ( newRev <= 0 ) { newRev = "01"; } e.currentTarget.value = tmpType + tmpTool + newRev + tmpPart; $("#tbStartwert").val(tmpType + tmpTool + newRev + tmpPart); } else if ( e.ctrlKey && e.shiftKey){ switch (tmpType){ case "GW1": newType = "GA1"; break; case "GA1": newType = "GC1"; break; case "GC1": newType = "GX1"; break; case "GX1": newType = "GW1"; break; } e.currentTarget.value = newType + tmpTool + tmpRev + tmpPart; $("#tbStartwert").val(newType + tmpTool + tmpRev + tmpPart); } else { var newPart = pad(Number(tmpPart) - 1, 4); if ( newPart <= 0 ) { newPart = "0001"; } e.currentTarget.value = tmpType + tmpTool + tmpRev + newPart; var startWert = $("#tbStartwert"); var startPart = Number(startWert[0].value.substring(7)); if ( startPart > Number(newPart) ) { startWert[0].value = tmpType + tmpTool + tmpRev + newPart; } } } return false; }); $("body").off("keypress", "#tblMesswerte input"); $("body").on("keypress", "#tblMesswerte input", function(e) { var keyCode = e.keyCode || e.which; if (keyCode === 13) { var obj = e.target messwert = obj.value if ( !$.isNumeric(messwert) ) { swal("Fehler", "Das ist keine Zahl", "error"); return; } dieseTB = obj.id; messpunkt = obj.id.substring(0,2); messreihe = obj.id.substring(6); nextrow = pad(Number(messreihe) + 1,2); lastRow = getLastRowNr(); nextTB = "#" + messpunkt + "teil" + nextrow; //console.log(dieseTB + ": " + messpunkt +", " + messreihe + ", " + messwert); //console.log("nextrow: " + nextrow); if ( $(nextTB).length != 0 ) { $(nextTB).focus(); } else { if ( nextrow >= lastRow && messpunkt !== "CW"){ $("#CWteil01").focus(); } else { alert("fertif"); } } if ( messpunkt === "CW" ) { var messwerte = {}; messwerte.func = "updateBauteilRauheiten"; messwerte.TXLCode = $("#TXLCode" + messreihe)[0].value; messwerte.LW = $("#LWteil" + messreihe)[0].value; messwerte.CW = $("#CWteil" + messreihe)[0].value; messwerte.raudate = heute() + " " + jetzt(); messwerte.raucomm = $("#raucomm" + messreihe)[0].value; if ( !$.isNumeric(messwerte.LW) || !$.isNumeric(messwerte.CW)) { $("#infoFromDB" + messreihe).html("Keine Zahl!"); return; } updateResult = DB.sendJSONGeneric(messwerte); //$("#infoFromDB" + messreihe).text(messwerte.TXLCode + "/" + messwerte.LW + "/" + messwerte.CW + "/" + messwerte.raudate + "/" + messwerte.raucomm); if (updateResult.responseText === "1") { $("#infoFromDB" + messreihe).html("ok"); } else { $("#infoFromDB" + messreihe).html("FEHLER"); } //console.log(messwerte); } } }); function getLastRowNr(){ // die zwei oberen rows bedenken (header längs/quer und die messlängenangaben) var table = document.getElementById("tblMesswerte"); var lastCnt = 0; for (var i = 0, row; row = table.rows[i]; i++) { lastCnt = i - 1; } return lastCnt; } });