diff --git a/public/js/client_dbrd.js b/public/js/client_dbrd.js
index 73a29e7..1bf22cf 100755
--- a/public/js/client_dbrd.js
+++ b/public/js/client_dbrd.js
@@ -35,21 +35,40 @@ var marker = L.marker(new L.LatLng(0, 0), {
var geojson = L.geoJSON().addTo(map);
- var counter_ID = [];
+/* ########################### */
+/* ####### Rückmeldung ####### */
+/* ########################### */
-function add_resp_progressbar(p_id, p_type, p_agt, p_start, p_end) {
- // Split timestamp into [ Y, M, D, h, m, s ]
- //var t1 = zeitstempel.split(/[- :]/),
- //t2 = ablaufzeit.split(/[- :]/);
+var counter_rmld = [];
- //var start = new Date(t1[0], t1[1] - 1, t1[2], t1[3], t1[4], t1[5]),
- //end = new Date(t2[0], t2[1] - 1, t2[2], t2[3], t2[4], t2[5]);
+function reset_rmld(p_uuid) {
+ var bar_uuid = 'bar-' + p_uuid;
+ $('#pg-ek').children().each(function (i) {
+ if (!$(this).hasClass(bar_uuid)) {
+ $(this).remove();
+ };
+ });
+ $('#pg-ma').children().each(function (i) {
+ if (!$(this).hasClass(bar_uuid)) {
+ $(this).remove();
+ };
+ });
+ $('#pg-fk').children().each(function (i) {
+ if (!$(this).hasClass(bar_uuid)) {
+ $(this).remove();
+ };
+ });
+ /*$('#pg-ek').empty();
+ $('#pg-ma').empty();
+ $('#pg-fk').empty();
+ $('#ek-counter').text(0);
+ $('#ma-counter').text(0);
+ $('#fk-counter').text(0);
+ $('#agt-counter').text(0);*/
+};
- // Progressbar erstellen falls nicht existiert
-
- //
- //
+function add_resp_progressbar(p_uuid, p_id, p_type, p_agt, p_start, p_end) {
+ // Hintergrund der Progressbar festlegen
var bar_background = '';
var bar_border = '';
if (p_agt) {
@@ -69,57 +88,101 @@ function add_resp_progressbar(p_id, p_type, p_agt, p_start, p_end) {
bar_background = '';
break;
};
-
- $( '#pg-' + p_type ).append( ''); //+ ' >' );
-
- $( '#pg-'+ p_id ).append( '' );
- $( '#pg-bar'+ p_id ).append('');
-
-
-
-
- clearInterval(counter_ID[p_id]);
- counter_ID[p_id] = 0;
-
- counter_ID[p_id] = setInterval(function() {
- do_progressbar(p_id, p_start, p_end);
+ var bar_uuid = 'bar-' + p_uuid;
+ // pruefen ob div mit id 'pg-'+p_id schon vorhanden ist
+ var pgbar = document.getElementById('pg-' + p_id);
+ if (!pgbar) {
+ $('#pg-' + p_type).append('');
+ $('#pg-' + p_id).append('');
+ $('#pg-bar-' + p_id).append('');
+ } else {
+ // TODO PG-Bar ändern falls neue/angepasste Rückmeldung
+ };
+ // Zeitschiene Anpassen
+ clearInterval(counter_rmld[p_id]);
+ counter_rmld[p_id] = 0;
+ counter_rmld[p_id] = setInterval(function () {
+ do_rmld_bar(p_id, p_start, p_end);
}, 1000);
};
+function do_rmld_bar(p_id, start, end) {
+ //console.log(p_id);
+ today = new Date();
+ // restliche Zeit ermitteln
+ var current_progress = Math.round(100 / (start.getTime() - end.getTime()) * (start.getTime() - today.getTime()));
- function do_progressbar(p_id, start, end) {
- //console.log(p_id);
- today = new Date();
- // restliche Zeit ermitteln
- //var current_progress = Math.round(100 / (end.getTime() - start.getTime()) * (end.getTime() - today.getTime()));
- var current_progress = Math.round(100 / (start.getTime() - end.getTime()) * (start.getTime() - today.getTime()));
-
- var diff = Math.abs(end - today);
- var minutesDifference = Math.floor(diff / 1000 / 60);
- diff -= minutesDifference * 1000 * 60;
- var secondsDifference = Math.floor(diff / 1000);
- if (secondsDifference <= 9) {
- secondsDifference = '0' + secondsDifference;
- };
- var minutes = minutesDifference + ':' + secondsDifference;
-
-
- // Progressbar anpassen
- if (current_progress >= 100) {
- $("#pg-bar"+p_id)
- .css("width", "100%")
- .attr("aria-valuenow", 100)
- .addClass("ion-md-checkmark-circle");
- $("#pg-text"+p_id).text("");
- clearInterval(counter_ID[p_id]);
- } else {
- $("#pg-bar"+p_id)
- .css("width", current_progress + "%")
- .attr("aria-valuenow", current_progress);
- $("#pg-text"+p_id).text(minutes);
- };
+ var diff = Math.abs(end - today);
+ var minutesDifference = Math.floor(diff / 1000 / 60);
+ diff -= minutesDifference * 1000 * 60;
+ var secondsDifference = Math.floor(diff / 1000);
+ if (secondsDifference <= 9) {
+ secondsDifference = '0' + secondsDifference;
};
+ var minutes = minutesDifference + ':' + secondsDifference;
+ // Progressbar anpassen
+ if (current_progress >= 100) {
+ $('#pg-bar-' + p_id)
+ .css('width', '100%')
+ .attr('aria-valuenow', 100)
+ .addClass('ion-md-checkmark-circle');
+ $('#pg-text-' + p_id).text('');
+ clearInterval(counter_ID[p_id]);
+ } else {
+ $('#pg-bar-' + p_id)
+ .css('width', current_progress + '%')
+ .attr('aria-valuenow', current_progress);
+ $('#pg-text-' + p_id).text(minutes);
+ };
+};
+function recount_rmld(p_uuid) {
+ var bar_uuid = 'bar-' + p_uuid;
+ var agt_count = 0;
+ // Zähler auf 0 Setzen
+ $('#ek-counter').text(0);
+ $('#ma-counter').text(0);
+ $('#fk-counter').text(0);
+ $('#agt-counter').text(0);
+ // EK zählen
+ $('#pg-ek').children().each(function (i) {
+ if ($(this).hasClass(bar_uuid)) {
+ var tmp_count = parseInt($('#ek-counter').text());
+ $('#ek-counter').text(tmp_count + 1);
+ if ($(this).hasClass('border-warning')) {
+ agt_count++;
+ };
+ };
+ });
+ // MA zählen
+ $('#pg-ma').children().each(function (i) {
+ if ($(this).hasClass(bar_uuid)) {
+ var tmp_count = parseInt($('#ma-counter').text());
+ $('#ma-counter').text(tmp_count + 1);
+ if ($(this).hasClass('border-warning')) {
+ agt_count++;
+ };
+ };
+ });
+ // FK zählen
+ $('#pg-fk').children().each(function (i) {
+ if ($(this).hasClass(bar_uuid)) {
+ var tmp_count = parseInt($('#fk-counter').text());
+ $('#fk-counter').text(tmp_count + 1);
+ if ($(this).hasClass('border-warning')) {
+ agt_count++;
+ };
+ };
+ });
+ // AGT setzen
+ $('#agt-counter').text(agt_count);
+ // Rückmeldecontainer anzeigen/ausblenden
+ if ($('#ek-counter').text() == '0' && $('#ma-counter').text() == '0' && $('#fk-counter').text() == '0' && $('#agt-counter').text() == '0') {
+ $('#rmld_container').addClass('d-none');
+ } else {
+ $('#rmld_container').removeClass('d-none');
+ };
+};
@@ -315,7 +378,7 @@ var arr_resp = [
//var timeline2 = new vis.Timeline(container2, items2, options2);
- arr_resp.forEach(function (arrayItem) {
+ /*arr_resp.forEach(function (arrayItem) {
//var x = arrayItem.prop1 + 2;
//console.log(x);
var item_content = '';
@@ -363,7 +426,7 @@ if (arrayItem.agt){
});
- console.log(items.get());
+ console.log(items.get());*/
@@ -498,28 +561,43 @@ socket.on('io.Einsatz', function (data) {
// Einsatzmittel-Tabelle
console.log(data.einsatzmittel);
for (var i in data.einsatzmittel) {
- var tableRef = document.getElementById('table_einsatzmittel').getElementsByTagName('tbody')[0];
- var newRow = tableRef.insertRow();
- var newCell = newRow.insertCell(0);
- var newCell2 = newRow.insertCell(1);
- var newText = document.createTextNode(data.einsatzmittel[i].wachenname);
- var newText2 = document.createTextNode(data.einsatzmittel[i].einsatzmittel);
- newCell.appendChild(newText);
- newCell2.appendChild(newText2);
- var table_em = document.getElementById('table_einsatzmittel');
- var vorhanden = false;
- for (var j = 0, row; row = table_em.rows[j]; j++) {
- console.log(row.cells[0].innerHTML);
- if (row.cells[0].innerHTML == data.einsatzmittel[i].wachenname) {
- vorhanden = true;
- console.log(vorhanden);
- };
- };
- if (vorhanden) {
-
- } else {
-
- }
+ var table_em = document.getElementById('table_einsatzmittel');
+ var wache_vorhanden = false;
+ var wache_zeile = 0;
+ for (var j = 0, row; row = table_em.rows[j]; j++) {
+ //console.log(row.cells[0].innerHTML);
+ if (row.cells[0].innerHTML == data.einsatzmittel[i].wachenname) {
+ wache_vorhanden = true;
+ wache_zeile = j;
+ console.log(wache_vorhanden);
+ };
+ };
+ if (wache_vorhanden) {
+ //var newCell2 = newRow.insertCell(1);
+ var newText2 = document.createTextNode(data.einsatzmittel[i].einsatzmittel);
+ //newCell2.appendChild(newText2);
+ table_em.rows[wache_zeile].cells[1].appendChild(newText2);
+ } else {
+ var tableRef = document.getElementById('table_einsatzmittel').getElementsByTagName('tbody')[0];
+ var newRow = tableRef.insertRow();
+ var newCell = newRow.insertCell(0);
+ var newText = document.createTextNode(data.einsatzmittel[i].wachenname);
+ newCell.appendChild(newText);
+ var newCell2 = newRow.insertCell(1);
+ var newText2 = document.createTextNode(data.einsatzmittel[i].einsatzmittel);
+ newCell2.appendChild(newText2);
+ };
+
+
+
+
+
+
+
+
+
+
+
};
@@ -575,7 +653,8 @@ socket.on('io.Einsatz', function (data) {
socket.on('io.new_rmld', function (data) {
// DEBUG
- console.log(data);
+ console.log('rmld'+data);
+ // FIXME Änderung des Funktions-Typ berücksichtigen
// Neue Rueckmeldung hinterlegen
data.forEach(function (arrayItem) {
// HTML festlegen
@@ -598,14 +677,14 @@ socket.on('io.new_rmld', function (data) {
var pg_waip_uuid = arrayItem.waip_uuid;
console.log(arrayItem.waip_uuid);
console.log(pg_waip_uuid);
- var pg_rmld_uuid = arrayItem.rmld_uuid;
+ var pg_rmld_uuid = arrayItem.rmld_uuid;
var pg_start = new Date(arrayItem.set_time);
var pg_end = new Date(arrayItem.arrival_time);
// Progressbar hinterlegen
- add_resp_progressbar(pg_waip_uuid, pg_rmld_uuid, item_type, item_agt, pg_start, pg_end);
+ add_resp_progressbar(pg_waip_uuid, pg_rmld_uuid, item_type, item_agt, pg_start, pg_end);
// Anzahl der Rückmeldung zählen
recount_rmld(pg_waip_uuid);
- });
+ });
// Text anpassen
resize_text();
});
diff --git a/views/includes/master_dashboard.pug b/views/includes/master_dashboard.pug
index 81ce591..bb42f6d 100755
--- a/views/includes/master_dashboard.pug
+++ b/views/includes/master_dashboard.pug
@@ -242,7 +242,7 @@ style(type='text/css').
.card
.card-header.bg-dark.px-2
.text-info.font-weight-bold Einsatzrückmeldungen
- .card-body.p-2
+ .card-body.p-2#rmld_container
.d-flex.fustify-content-between.font-weight-bold
.list-group.list-group-horizontal.text-center.w-100
.list-group-item.flex-fill.text-success
@@ -262,21 +262,21 @@ style(type='text/css').
.row
.col-4#pg-ek
//.progress.mt-1
- .progress-bar.progress-bar-striped.bg-success(role='progressbar', style='width: 25%', aria-valuenow='25', aria-valuemin='0', aria-valuemax='100')
- a(style='') 2min
+ .progress-bar.progress-bar-striped.bg-success(role='progressbar', style='width: 25%', aria-valuenow='25', aria-valuemin='0', aria-valuemax='100')
+ a(style='') 2min
//.progress.mt-1.border.border-warning(style='height: 20px;')
- .progress-bar.progress-bar-striped.bg-success(role='progressbar', style='width: 25%', aria-valuenow='25', aria-valuemin='0', aria-valuemax='100')
- h 2min
+ .progress-bar.progress-bar-striped.bg-success(role='progressbar', style='width: 25%', aria-valuenow='25', aria-valuemin='0', aria-valuemax='100')
+ h 2min
//.progress.mt-1
- .progress-bar.progress-bar-striped.bg-success.ion-md-checkmark-circle(role='progressbar', style='width: 100%', aria-valuenow='100', aria-valuemin='0', aria-valuemax='100')
+ .progress-bar.progress-bar-striped.bg-success.ion-md-checkmark-circle(role='progressbar', style='width: 100%', aria-valuenow='100', aria-valuemin='0', aria-valuemax='100')
.col-4#pg-ma
//.progress.mt-1
- .progress-bar.progress-bar-striped.bg-info(role='progressbar', style='width: 25%', aria-valuenow='25', aria-valuemin='0', aria-valuemax='100') 3min
+ .progress-bar.progress-bar-striped.bg-info(role='progressbar', style='width: 25%', aria-valuenow='25', aria-valuemin='0', aria-valuemax='100') 3min
//.progress.mt-1
- .progress-bar.progress-bar-striped.bg-info(role='progressbar', style='width: 25%', aria-valuenow='25', aria-valuemin='0', aria-valuemax='100') 1min
+ .progress-bar.progress-bar-striped.bg-info(role='progressbar', style='width: 25%', aria-valuenow='25', aria-valuemin='0', aria-valuemax='100') 1min
.col-4#pg-fk
//.progress.mt-1.border.border-warning
- .progress-bar.progress-bar-striped.bg-light(role='progressbar', style='width: 50%', aria-valuenow='50', aria-valuemin='0', aria-valuemax='100') 10min
+ .progress-bar.progress-bar-striped.bg-light(role='progressbar', style='width: 50%', aria-valuenow='50', aria-valuemin='0', aria-valuemax='100') 10min
.card-body.p-2
#visualization.border.rounded(style='background-color:white')
//div.border-top.m-3