En el nodo "Analisis" en la linea 116 hemos puesto un timer que espera unos segundos antes de sacar la notificacion de ubicacion. Esto se hace para esperar a que la notificacion anterior en caso de existir

permanezca un tiempo y en todo caso para que esta sea la ultima notificacion u quede en pantalla hasta que el vehiculo abandone la bascula.
Eliminamos de la pantalla el mensaje Acerque QR o Tarjeta en caso de recibir una lista de menu. Esto lo hacemos en el nodo "check json".
En el nodo "Envio de Mensajes" (linea 65) eliminamos las notificaciones que haya al final del movimiento (final de pesada) salvo si la notificacion es de Ubicacion.
Se hicieron cambios en index.html y en index.js del uibuilder /totem/ para incluir en el menu de Tipo de Configuracion un boton (LISTA DE PARAMETROS) que nos permita visualizar todos los parametros que podemos incluir en cualquiera de los tipos de configuracion
Se introdujo un chequeo en el nodo "QR/RFID" en la linea 37 para eliminar el boton de salida (simular que fue pulsado) cuando se recibe un QR valido durante el movimiento final. Lo mismo hacemos mas abajo en la recepcion de RFID.
En la parte RFID dado que luego de recibir la tarjeta validada en BD todavia necesitamos validar si la matricula asociada a la tarjeta tiene vehiculo en transito, esto hace que el estado movimiento = inicial puede permanecer por mas tiempo (mientras se chequea si hay transito) por lo tanto en el chequeo
tenemos que meter la variable "matricula_revisada" como requisito para avanzar ya que es quien nos indica si el estado del movimiento ya es definitivo. Recordemos que este chequeo solo lo queremos hacer durante el movimiento final, es decir cuando el vehiculo esta cerrando toda la pesada.
This commit is contained in:
2026-05-04 08:59:11 +02:00
parent e3766d4b77
commit 6f7b6a6357
4 changed files with 295 additions and 110 deletions
+236 -99
View File
File diff suppressed because one or more lines are too long
+4 -1
View File
@@ -1,5 +1,8 @@
{ {
"e49672ad6c84b341": {}, "e49672ad6c84b341": {
"user": "admin",
"password": "Trypton#2019"
},
"72071eee550615d7": { "72071eee550615d7": {
"user": "admin", "user": "admin",
"password": "Trypton#2019" "password": "Trypton#2019"
+9 -1
View File
@@ -314,7 +314,10 @@
</div> </div>
<div class="botonera-vertical"> <div class="botonera-vertical">
<button class="btn green" id="btn-volver-tipos">REGRESAR</button> <button class="btn blue" id="btn-lista-parametros" onclick="seleccionarTipo(10)">LISTA DE PARAMETROS</button>
</div>
<div class="botonera-vertical">
<button class="btn green" style="margin-top:20px" id="btn-volver-tipos">REGRESAR</button>
</div> </div>
<div id="tipo-configuracion" style="margin-top:20px; display:none;"> <div id="tipo-configuracion" style="margin-top:20px; display:none;">
<h3 id="titulo-tipo"></h3> <h3 id="titulo-tipo"></h3>
@@ -326,6 +329,11 @@
<button class="btn rojo" id="btn-cancelar-tipo">Cancelar</button> <button class="btn rojo" id="btn-cancelar-tipo">Cancelar</button>
</div> </div>
</div> </div>
<div id="tipo-lista" style="margin-top:20px; display:none;">
<h3 id="titulo-tipo-lista"></h3>
<div id="lista"></div>
</div>
</div> </div>
</div> </div>
+46 -9
View File
@@ -210,6 +210,7 @@ document.getElementById('btn-volver-tipos').addEventListener('click', () => {
uibuilder.send({ payload: { seccion: "volver_tipos" } }); uibuilder.send({ payload: { seccion: "volver_tipos" } });
}); });
let tipoActual = null; let tipoActual = null;
let tiposDatos = {}; // aquí se guarda la configuración temporal let tiposDatos = {}; // aquí se guarda la configuración temporal
@@ -306,19 +307,37 @@ function mostrarBarreraCerrada() {
//************************* FUNCIONES DE TIPOS DE CONFIGURACION *****************************/ //************************* FUNCIONES DE TIPOS DE CONFIGURACION *****************************/
function seleccionarTipo(n) { function seleccionarTipo(n) {
volverATipos();
tipoActual = n; tipoActual = n;
document.getElementById('titulo-tipo').textContent = `TIPO ${n}`;
document.getElementById('tipo-configuracion').style.display = 'block';
const contenedor = document.getElementById('parametros'); if (tipoActual == 10) {
contenedor.innerHTML = ''; document.getElementById('titulo-tipo-lista').textContent = 'LISTA DE PARAMETROS';
document.getElementById('tipo-lista').style.display = 'block';
const contenedor = document.getElementById('lista');
contenedor.innerHTML = '';
const datos = tiposDatos[n] || []; // ya es un array
datos.forEach(d => {
const row = crearFilalista(d.parametro, d.valor);
contenedor.appendChild(row);
});
}
else{
document.getElementById('titulo-tipo').textContent = `TIPO ${n}`;
document.getElementById('tipo-configuracion').style.display = 'block';
const contenedor = document.getElementById('parametros');
contenedor.innerHTML = '';
const datos = tiposDatos[n] || []; // ya es un array
datos.forEach(d => {
const row = crearFilaParametro(d.parametro, d.valor);
contenedor.appendChild(row);
});
}
const datos = tiposDatos[n] || []; // ya es un array
datos.forEach(d => {
const row = crearFilaParametro(d.parametro, d.valor);
contenedor.appendChild(row);
});
} }
function agregarParametro() { function agregarParametro() {
@@ -328,6 +347,23 @@ function agregarParametro() {
const row = crearFilaParametro('', ''); const row = crearFilaParametro('', '');
contenedor.appendChild(row); contenedor.appendChild(row);
} }
function crearFilalista(parametro, valor) {
const divlist = document.createElement('divlist');
divlist.className = 'parametro-row';
// Input para el nombre del parámetro
const inputParam = document.createElement('input');
inputParam.placeholder = 'Parámetro';
inputParam.value = parametro;
const inputValue = document.createElement('input');
inputValue.placeholder = 'Valor';
inputValue.value = valor;
divlist.appendChild(inputParam);
divlist.appendChild(inputValue);
return divlist;
}
function crearFilaParametro(parametro, valor) { function crearFilaParametro(parametro, valor) {
const div = document.createElement('div'); const div = document.createElement('div');
div.className = 'parametro-row'; div.className = 'parametro-row';
@@ -443,6 +479,7 @@ function guardarTipo() {
function volverATipos() { function volverATipos() {
document.getElementById('tipo-configuracion').style.display = 'none'; document.getElementById('tipo-configuracion').style.display = 'none';
document.getElementById('tipo-lista').style.display = 'none';
tipoActual = null; tipoActual = null;
} }