From 206aa7b5457b14405bdf91d9741f6bd104820983 Mon Sep 17 00:00:00 2001 From: marsalva Date: Fri, 20 Feb 2026 17:56:37 +0000 Subject: [PATCH] Actualizar servicios.html --- servicios.html | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/servicios.html b/servicios.html index f92a689..14acc1a 100644 --- a/servicios.html +++ b/servicios.html @@ -305,7 +305,6 @@ systemStatuses = data.statuses; renderStatusPills(); - // Llenar el selector del Modal const modalSelect = document.getElementById('detStatusMap'); modalSelect.innerHTML = ''; systemStatuses.forEach(st => { @@ -384,7 +383,7 @@ } // 2. Si viene limpio del scraper sin estado -> Pendiente de Asignar - if (!dbStat || dbStat === 'sin_asignar') { + if (!s.assigned_name || dbStat === 'sin_asignar') { const found = systemStatuses.find(st => st.name.toLowerCase().includes('pendiente de asignar')) || systemStatuses[0]; return { ...found, isBlocked: false }; } @@ -401,7 +400,16 @@ if (dbStat === 'incidencia') return { ...systemStatuses.find(st => st.name.toLowerCase().includes('incidencia')), isBlocked: false }; if (dbStat === 'terminado') return { ...systemStatuses.find(st => st.name.toLowerCase().includes('terminado') || st.name.toLowerCase().includes('finalizado')), isBlocked: false }; - // 5. Fallback final + // 5. Fallback final para asignados: Si tiene operario pero NO status_operativo + if (s.assigned_name && (!raw.scheduled_date || raw.scheduled_date === "")) { + const f = systemStatuses.find(st => st.name.toLowerCase() === 'asignado') || systemStatuses[1]; + return { ...f, isBlocked: false }; + } + if (s.assigned_name && raw.scheduled_date) { + const f = systemStatuses.find(st => st.name.toLowerCase().includes('citado')) || systemStatuses[3]; + return { ...f, isBlocked: false }; + } + return { id: 'unknown', name: 'Desconocido', color: 'gray', isBlocked: false, is_final: false }; } @@ -448,7 +456,7 @@ let matchesStatus = false; if (activeStatusFilter === "ALL") { - // Si no hay búsqueda activa, ocultamos los Finalizados por limpieza visual + // Ocultamos los Finalizados por defecto en la vista general para limpiar la pantalla if (stateInfo.is_final && searchTerm === "") matchesStatus = false; else matchesStatus = true; } else {