-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbna.html
303 lines (255 loc) · 15.3 KB
/
bna.html
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
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Tiendas Virtuales Novogar</title>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Press+Start+2P&family=Signika:wght@300..700&family=Titan+One&display=swap" rel="stylesheet">
<!-- Bootstrap CSS -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/notiflix/dist/notiflix-3.2.6.min.css" />
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" rel="stylesheet">
<link rel="stylesheet" href="styles.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css">
<link rel="shortcut icon" href="./Img/caja.png">
<link href="https://fonts.googleapis.com/css2?family=Signika+Negative:wght@300..700&display=swap" rel="stylesheet">
</head>
<script>
// Verificación de sesión
function checkLogin() {
const savedTimestamp = localStorage.getItem('loginTimestamp');
const isExpired = !savedTimestamp || (Date.now() - savedTimestamp) > 10800000; // 3 horas
if (isExpired) {
window.location.href = 'logipaq.html'; // Redirige al login si la sesión ha expirado
}
}
// Ejecutar la verificación al cargar la página
checkLogin();
</script>
<body class="envios-body">
<nav class="navbar navbar-expand-lg navbar-light bg-light">
<div class="container">
<a class="navbar-brand" href="#">
<img src="./Img/Novogar N.png" alt="Logo" class="navbar-logo">
<span class="navbar-brand-text">L<span class="navbar-brand-text4">gi</span><span class="navbar-brand-text2">Paq</span> <img class="blackCat" src="./Img/Location.gif" alt="LogiPaq" srcset=""> </span>
</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav ml-auto">
<li class="nav-item"><a href="./index.html" class="nav-link">Etiquetas</a></li>
<li class="nav-item"><a href="./envios.html" class="nav-link">Andesmar</a></li>
<li class="nav-item"><a href="./despachos.html" class="nav-link">Logistica</a></li>
<li class="nav-item"><a href="./facturacionMl.html" class="nav-link">Fact.</a></li>
<li class="nav-item"><a href="./meliAr.html" class="nav-link"><img id="meli-logo" src="./Img/meli.png">MeLi</a></li>
<li class="nav-item"><a href="./controlMeli.html" class="nav-link">Colecta</a></li>
<li class="nav-item"><a href="./bna.html" class="nav-link active">Tiendas Virtuales</a></li>
</ul>
</div>
</div>
</nav>
<div class="container mt-4">
<div class="row justify-content-between align-items-center search-filter-container">
<div class="col-md-6 mb-3">
<!-- Buscador -->
<div class="input-group">
<input type="text" class="form-control" id="searchBna" placeholder="Buscar por nombre, dirección, remito...">
<div class="input-group-append">
<button class="btn-search-bna btn btn-outline-secondary" type="button">
<i class="fas fa-search"></i>
</button>
</div>
</div>
</div>
<div class="col-md-3 mb-3 d-flex align-items-center">
<!-- Botones -->
<div class="trio-de-botones-container">
<div class="trio-de-botones">
<button id="btnFacturar" type="button" class="btn btn-primary position-relative" style="white-space: nowrap;">
Facturar <i class="bi bi-cart-check-fill"></i>
<span id="contadorCardsFacturar" class="position-absolute top-0 start-100 translate-middle badge rounded-pill bg-danger badge-large">
<i class="fas fa-spinner fa-spin"></i>
<span class="visually-hidden"></span>
</span>
</button>
<button id="btnPreparar" type="button" class="btn btn-secondary position-relative" style="white-space: nowrap;">
Preparar <i class="bi bi-box2"></i>
<span id="contadorCards" class="position-absolute top-0 start-100 translate-middle badge rounded-pill bg-danger badge-large">
<i class="fas fa-spinner fa-spin"></i>
<span class="visually-hidden"></span>
</span>
</button>
<button id="btnSwitch1" type="button" class="btn btn-info position-relative" style="white-space: nowrap">
<i class="bi bi-1-circle-fill" style="font-size: 24px;"></i>
<span id="contadorCards1" class="badge badge-light position-absolute top-0 start-100 translate-middle rounded-pill ios-badge"><i class="fas fa-spinner fa-spin"></i></span>
</button>
<button id="btnSwitch" type="button" class="btn btn-success position-relative" style="white-space: nowrap">
<i class="bi bi-2-circle-fill" style="font-size: 24px;"></i>
<span id="contadorCards2" class="badge badge-light position-absolute top-0 start-100 translate-middle rounded-pill ios-badge"><i class="fas fa-spinner fa-spin"></i></span>
</button>
<button class="btn btn-warning position-relative" id="duplicateButton" type="button" style="white-space: nowrap; margin-top: 10px;">
<i class="fas fa-clone" style="font-size: 24px;"></i>
<span id="contadorCards3" class="badge badge-light position-absolute top-0 start-100 translate-middle rounded-pill ios-badge"><i class="fas fa-spinner fa-spin"></i></span>
</button>
<button class="btn btn-danger" data-toggle="modal" data-target="#skuModal" id="openSkuModal" type="button" style="white-space: nowrap">
<i class="fas fa-laptop" style="font-size: 24px;"></i>
</button>
</div>
</div>
</div>
</div>
</div>
<div class="container mt-5" id="cards-container">
<div class="position-relative import-container mt-5">
<div class="alert alert-info w-100 text-center" role="alert">
Seleccionar query de ventas BNA enviadas
</div>
<div class="row justify-content-center">
<div class="col-lg-6 col-md-8 col-sm-12">
<div class="input-group">
<input type="file" id="fileInput" accept=".csv" class="form-control">
<div class="input-group-append">
<button id="importButton" class="btn btn-primary">
<i class="bi bi-filetype-csv"></i> Importar
</button>
</div>
</div>
</div>
</div>
</div>
<div class="spinner-border spinner-border37892" role="status" id="spinner">
<img src="./Img/Novogar N.png" alt="Imagen" class="spinner-image">
<span class="sr-only">Cargando...</span>
</div>
<div class="row mt-4" id="meli-cards">
<!-- Aquí se agregarán las tarjetas -->
</div>
<nav aria-label="Page navigation"></nav>
<ul class="pagination justify-content-center" id="pagination"></ul>
</nav>
<div id="filtered-pagination" style="color: red;"></div>
</div>
<div id="spinner2" class="spinner-container" style="display:none;">
<img id="spinnerImage" src="./Img/etiqueta-animada.gif" alt="Cargando..."></img>
</div>
<!-- Modal para Agregar SKU -->
<div class="modal fade" id="skuModal" tabindex="-1" role="dialog" aria-labelledby="skuModalLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header sku-modal-header">
<h5 class="modal-title sku-modal-title" id="skuModalLabel">Agregar SKU</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<div class="sku-input-group">
<input type="text" class="form-control sku-input" id="newSkuInput" placeholder="Ingrese el SKU">
<button id="addSkuButton" class="btn btn-primary">Agregar SKU</button>
</div>
<div class="spinner-border sku-spinner" id="loadingSpinner" role="status" style="display: none;">
<span class="sr-only">Cargando...</span>
</div>
<div id="alertContainer" style="display: none;"></div>
<table class="table table-bordered sku-table">
<thead>
<tr>
<th>SKU</th>
<th>Acciones</th>
</tr>
</thead>
<tbody id="skuListBody">
<!-- Los SKU se cargarán aquí -->
</tbody>
</table>
</div>
</div>
</div>
</div>
<!-- Fin Modal para Agregar SKU -->
<!-- Botón de flecha hacia arriba -->
<a href="#" id="scrollToTop" class="btn btn-warning" style="display: none;">
<i class="fas fa-arrow-up"></i>
</a>
<!-- Botón de flecha hacia Abajo -->
<a href="#" id="scrollToDown" class="btn btn-warning" style="display: none;">
<i class="fas fa-arrow-down"></i> <!-- Cambiar a flecha hacia abajo -->
</a>
<!-- Info WiFi -->
<div id="notification-ios-wifi" class="notification-ios-wifi">
<img src="./Img/wifiLogi.gif" alt="WiFi Icon" class="wifi-icon-ios-wifi">
<span id="notification-text-ios-wifi"><strong></strong>¡Conexión perdida!</strong><br>No se preocupe, cuando la conexión vuelva, la página se recargará automáticamente.</span>
<span class="close-btn-ios-wifi" onclick="closeNotification()">✖</span>
<button id="retry-button-ios-wifi" class="retry-button-ios-wifi" onclick="reloadPage()">Reintentar</button>
</div>
<script>
let isOnline = navigator.onLine;
function showNotification() {
const notification = document.getElementById('notification-ios-wifi');
notification.style.display = 'flex';
notification.classList.add('blink');
document.getElementById('notification-text-ios-wifi').innerHTML = '<strong class="LogiPaq-wifi">LogiPaq</strong><br><strong>¡Conexión perdida!</strong><br>No se preocupe, cuando la conexión vuelva, la página se recargará automáticamente.';
document.getElementById('retry-button-ios-wifi').textContent = 'Reintentar';
}
function closeNotification() {
const notification = document.getElementById('notification-ios-wifi');
notification.style.display = 'none';
notification.classList.remove('blink');
}
function reloadPage() {
location.reload();
}
function checkConnection() {
if (!navigator.onLine && isOnline) {
isOnline = false;
showNotification();
} else if (navigator.onLine && !isOnline) {
isOnline = true;
document.getElementById('notification-text-ios-wifi').textContent = '¡Has recuperado la conexión WiFi!';
document.getElementById('retry-button-ios-wifi').textContent = 'Cancelar';
}
}
setInterval(checkConnection, 5000);
window.addEventListener('offline', showNotification);
window.addEventListener('online', reloadPage);
</script>
<!-- Fin info WiFi -->
<footer class="center">
<img class="logo-foot" src="./Img/Novogar N.png" alt="Logo Novogar">
<a class="www" href="https://novogar.com.ar/" target="_blank">NOVOGAR</a>
<a href="https://novogar.com.ar/info/empresa" target="_blank">Quienes somos</a>
<a href="https://novogar.com.ar/info/Sucursales" target="_blank">Sucursales</a>
<a href="https://novogar.com.ar/info/ventaTelefonica" target="_blank">Atención al cliente</a>
</footer>
<!-- Scripts Firebase-->
<script src="https://www.gstatic.com/firebasejs/8.10.0/firebase-app.js"></script>
<script src="https://www.gstatic.com/firebasejs/8.10.0/firebase-database.js"></script>
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script>
<!-- Scripts Bootstrap-->
<script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.11.6/dist/umd/popper.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/js/bootstrap.min.js"></script>
<script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.bundle.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/html2pdf.js/0.9.3/html2pdf.bundle.min.js"></script>
<!-- SweetAlert JS -->
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
<!-- Cargar dompurify -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/dompurify/2.3.4/purify.min.js"></script>
<!-- Cargar html2canvas -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/html2canvas/0.4.1/html2canvas.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/html2canvas/1.4.1/html2canvas.min.js"></script>
<!-- Cargar jsPDF -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/2.5.1/jspdf.umd.min.js"></script>
<script src="./js/firebase-init.js"></script>
<script src="./js/bnaCards.js"></script>
<script src="./js/features.js"></script>
<script src="./js/ciudades.js"></script>
<script src="./js/emailSender.js"></script>
<script src="./js/emailTemplate.js"></script>
</body>
</html>