historico.js
4.57 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
function CargarLista() {
//API KET
const requestData = {
"token": "sdñÑREgerqw3$E#]ÑgdfbversdfFfew435",
"url": "https://hgt.hgt.com.ar/api_rto/diaria",
//"url": "https://validacion.hgtsa.com.ar/api_rto/diaria",
"clear": true,
"params": {
"ApiKey": "sdñÑREgerqw3$E#]ÑgdfbversdfFfew435",
"id_cent": "61"
}
};
fetch('https://api.hgt.com.ar/redirect', {
method: 'POST',
headers: {
'Accept': 'application/json',
"Content-Type": "application/json"
},
body: JSON.stringify(requestData)
})
.then(response => response.json())
.then(data => {
createHistoricoList(data);
})
.catch(error => {
console.error('Error:', error);
});
};
// Function to create the list items
function createHistoricoList(data) {
//console.log(data)
const historicoDiv = document.getElementById('div_historico');
historicoDiv.innerHTML = "" ;
data.inspecciones.forEach(inspeccion => {
// Crear un campo oculto para almacenar el objeto data como JSON string
const hiddenInput = document.createElement('input');
hiddenInput.type = 'hidden';
hiddenInput.id = inspeccion.numeroplanilla + 'data-json';
hiddenInput.value = JSON.stringify(inspeccion);
//historicoDiv.appendChild(hiddenInput);
const button = document.createElement('button');
button.className = 'PDFButton';
button.id = inspeccion.numeroplanilla;
button.textContent = 'Ir dominio ';
button.addEventListener('click', () => {
handleButtonClick(inspeccion);
});
const div = document.createElement('div');
const titulo = document.createElement('H4');
titulo.textContent = inspeccion.name + " " + inspeccion.resultado;
const ftl = document.createElement('H6');
ftl.textContent = "Linea " + inspeccion.linea + ", Planilla " + inspeccion.numeroplanilla + ", Categoria " + inspeccion.categoria;
div.appendChild(titulo);
div.appendChild(ftl);
var status = inspeccion.resultado;
if (!(status === 'Anulado' || status === 'No Inspeccionado')) {
div.appendChild(button);
div.appendChild(hiddenInput);
};
const separador = document.createElement('hr');
separador.className = 'custom-hr';
historicoDiv.appendChild(div);
historicoDiv.appendChild(separador);
});
}
function handleButtonClick(inspeccion) {
// Aquí puedes definir lo que quieres que suceda cuando se haga clic en el botón
console.log('Botón clicado para:', inspeccion);
// Por ejemplo, podrías redirigir a una página basada en el dominio de inspección
// window.location.href = `http://ejemplo.com/dominio/${inspeccion.name}`;
fetch('/report_static', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(inspeccion)
})
.then(response => {
if (!response.ok) {
throw new Error('Network response was not ok');
}
return response.json();
})
.then(data => {
// Asume que el servidor devuelve una URL para la página generada
window.location.href = data.url;
})
.catch(error => {
console.error('There has been a problem with your fetch operation:', error);
});
}
const chatUrl = 'https://api.hgt.com.ar/poll/rto_61_update/dewfrfgbeolkgkteprlk,hptrlk,hqff';
let pendingRequests = 0;
async function fetchChat() {
const MensajeDiv = document.getElementById('DivMensajeFijo');
const MensajeCaida = "Se perdio contacto con el server, revise conexcion a internet"
MensajeDiv.innerText = "Escuchando novedades"
while (true) {
try {
const response = await fetch(chatUrl);
const data = await response.json();
if (data.proccess === true) {
CargarLista();
MensajeDiv.innerText = "Lista Actualizada al " + data.tiempo
}
if (MensajeDiv.innerText == MensajeCaida) {
MensajeDiv.innerText = "Se recupero conixion al server, Esperando novedades, o recarge la pagina"
}
} catch (error) {
MensajeDiv.innerText = MensajeCaida;
// Si ocurre un error, esperamos 5 segundos antes de volver a intentarlo
await new Promise(resolve => setTimeout(resolve, 5000));
}
}
}
window.addEventListener('load', () => {
CargarLista();
fetchChat();
});