Actualizar servicios.html
This commit is contained in:
@@ -580,29 +580,31 @@
|
|||||||
s._stateInfo = stateInfo;
|
s._stateInfo = stateInfo;
|
||||||
const stName = stateInfo.name.toLowerCase();
|
const stName = stateInfo.name.toLowerCase();
|
||||||
|
|
||||||
// --- LÓGICA REVISADA DE CONTADORES ---
|
// --- LÓGICA REVISADA Y EXACTA DE CONTADORES ---
|
||||||
|
|
||||||
|
// 1. SIN ASIGNAR: No tiene operario o está en la bolsa
|
||||||
if (!s.assigned_name || stateInfo.id === 'bolsa' || stName.includes('asignar') || stName.includes('desasignado')) {
|
if (!s.assigned_name || stateInfo.id === 'bolsa' || stName.includes('asignar') || stName.includes('desasignado')) {
|
||||||
// Si no tiene operario, o está en bolsa, o el estado dice explícitamente sin asignar
|
|
||||||
kpiUnassigned++;
|
kpiUnassigned++;
|
||||||
}
|
}
|
||||||
|
// 2. INCIDENCIA: El estado incluye la palabra "incidencia" o "pausa"
|
||||||
else if (stName.includes('incidencia') || stName.includes('pausa')) {
|
else if (stName.includes('incidencia') || stName.includes('pausa')) {
|
||||||
// Si hay un problema
|
|
||||||
kpiIncident++;
|
kpiIncident++;
|
||||||
}
|
}
|
||||||
|
// 3. ESPERA CLIENTE: El estado es literalmente "Esperando al cliente"
|
||||||
else if (stName.includes('espera')) {
|
else if (stName.includes('espera')) {
|
||||||
// SOLUCIONADO: Ahora solo cuenta aquí si el estado se llama literalmente "Esperando al cliente"
|
|
||||||
kpiWaiting++;
|
kpiWaiting++;
|
||||||
}
|
}
|
||||||
else if (raw.scheduled_date && raw.scheduled_date !== "" && !stateInfo.is_final) {
|
// 4. CITADO CONFIRMADO: El estado incluye la palabra "citado"
|
||||||
// Citados: Tiene operario (ya pasó el primer filtro) y SÍ tiene fecha
|
else if (stName.includes('citado')) {
|
||||||
kpiScheduled++;
|
kpiScheduled++;
|
||||||
}
|
}
|
||||||
else if (!stateInfo.is_final && (!raw.scheduled_date || raw.scheduled_date === "")) {
|
// 5. ASIGNADO SIN CITA: Tiene operario (ya pasó el primer if), el estado es "asignado" y NO tiene fecha
|
||||||
// Asignado sin cita: Tiene operario, no es incidencia, no es espera, y NO tiene fecha
|
else if (stName.includes('asignado') && (!raw.scheduled_date || raw.scheduled_date === "")) {
|
||||||
kpiAssignedNoDate++;
|
kpiAssignedNoDate++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ... (El resto del código de los filtros visuales se mantiene igual)
|
||||||
|
|
||||||
// Filtro de búsqueda visual (esto no cambia)
|
// Filtro de búsqueda visual (esto no cambia)
|
||||||
const matchesSearch = searchTerm === "" ||
|
const matchesSearch = searchTerm === "" ||
|
||||||
(raw["Nombre Cliente"] || "").toLowerCase().includes(searchTerm) ||
|
(raw["Nombre Cliente"] || "").toLowerCase().includes(searchTerm) ||
|
||||||
|
|||||||
Reference in New Issue
Block a user