387 lines
13 KiB
JavaScript
387 lines
13 KiB
JavaScript
$(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 = '<tr id="%%TXLCODE%%">' +
|
|
' <td class="trMesswerte">%%CNT%%: </td>' +
|
|
' <td class="trMesswerte bauteilnr">%%BAUTEIL%% </td>' +
|
|
' <td class="trMesswerte"><input class="tbMesswerte" type="text" id="LWteil%%CNT%%"></td>' +
|
|
' <td class="trMesswerte"><input class="tbMesswerte" type="text" id="CWteil%%CNT%%"></td>' +
|
|
' <td class="trMesswerte"><input class="tbMesswerte" type="hidden" id="TXLCode%%CNT%%" value="%%TXLCODE%%"></td>' +
|
|
' <td class="trMesswerte"><input class="tbComment" type="text" id="raucomm%%CNT%%"></td>' +
|
|
' <td id="infoFromDB%%CNT%%"></td>' +
|
|
'</tr>';
|
|
|
|
|
|
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 = "<thead><tr><th></th><th></th><th>längs</th><th>quer</th><th></th><th>Kommentar</th></tr>" +
|
|
"<tr class=\"smallhead\"><th></th><th></th><th>(17,5mm)</th><th>(5,6mm)</th></tr></thead>";
|
|
break;
|
|
case "GX1":
|
|
tableHead = "<thead><tr><th></th><th></th><th>längs</th><th>quer</th><th></th><th>Kommentar</th></tr>" +
|
|
"<tr class=\"smallhead\"><th></th><th></th><th>(5,6mm)</th><th>(1,75mm)</th></tr></thead>"
|
|
break;
|
|
case "GA1":
|
|
tableHead = "<thead><tr><th></th><th></th><th>längs</th><th>quer</th><th></th><th>Kommentar</th></tr>" +
|
|
"<tr class=\"smallhead\"><th></th><th></th><th>(5,6mm)</th><th>(1,75mm)</th></tr></thead>"
|
|
break;
|
|
case "GC1":
|
|
tableHead = "<thead><tr><th></th><th></th><th>längs</th><th>quer</th><th></th><th>Kommentar</th></tr>" +
|
|
"<tr class=\"smallhead\"><th></th><th></th><th>(5,6mm)</th><th>(1,75mm)</th></tr></thead>"
|
|
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 = "<b><i style=\"color: red\">" + toolRevPart + "</i></b>"; }
|
|
|
|
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: '<b>Achtung</b>',
|
|
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.<br />Die betroffenen bauteile sind <b style="color: red;">rot</b> 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("<b style=\"color: red; font-size: 0.85em;\">Keine Zahl!</b>");
|
|
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("<i>ok</i>");
|
|
} else {
|
|
$("#infoFromDB" + messreihe).html("<b style=\"color: red\">FEHLER</b>");
|
|
}
|
|
|
|
//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;
|
|
}
|
|
|
|
|
|
});
|
|
|
|
|
|
|