feat: métricas completas, export Excel domicilios con filtros, hora llegada/salida visible
This commit is contained in:
@@ -531,6 +531,20 @@ const portal = {
|
||||
<!-- Cobro y pago -->
|
||||
${cobroHtml}
|
||||
|
||||
<!-- Horas de llegada / salida (auto-registradas) -->
|
||||
${(item.hora_llegada || item.hora_salida) ? `
|
||||
<div class="d-flex gap-3 small mt-1 mb-2">
|
||||
${item.hora_llegada ? `<span class="text-success"><i class="fas fa-sign-in-alt me-1"></i>Llegada: <strong>${item.hora_llegada.slice(0,5)}</strong></span>` : ''}
|
||||
${item.hora_salida ? `<span class="text-danger"><i class="fas fa-sign-out-alt me-1"></i>Salida: <strong>${item.hora_salida.slice(0,5)}</strong></span>` : ''}
|
||||
${item.hora_llegada && item.hora_salida ? (() => {
|
||||
const [h1,m1] = item.hora_llegada.slice(0,5).split(':').map(Number);
|
||||
const [h2,m2] = item.hora_salida.slice(0,5).split(':').map(Number);
|
||||
const mins = (h2*60+m2)-(h1*60+m1);
|
||||
if (mins > 0) return `<span class="text-info"><i class="fas fa-stopwatch me-1"></i>${mins>=60?Math.floor(mins/60)+'h '+mins%60+'min':mins+' min'}</span>`;
|
||||
return '';
|
||||
})() : ''}
|
||||
</div>` : ''}
|
||||
|
||||
<!-- Órdenes médicas (multi-archivo) -->
|
||||
${renderOrdenesEnfermero(item)}
|
||||
<!-- Servicios extra registrados -->
|
||||
|
||||
Reference in New Issue
Block a user