From ea4d538ebb2a453ddaded0f69b98418b64d12ca7 Mon Sep 17 00:00:00 2001 From: marsalva Date: Sat, 14 Mar 2026 12:27:15 +0000 Subject: [PATCH] Actualizar asignados.html --- asignados.html | 63 ++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 59 insertions(+), 4 deletions(-) diff --git a/asignados.html b/asignados.html index 6f3f2dc..3a25fd4 100644 --- a/asignados.html +++ b/asignados.html @@ -477,7 +477,7 @@ return diffDays; } - function renderServices() { + function renderServices() { const container = document.getElementById('servicesList'); const noDateSec = document.getElementById('noDateSection'); @@ -507,6 +507,11 @@ const isUrgent = s.is_urgent; const company = raw["Compañía"] || raw["Procedencia"] || "Particular"; + // 🔥 AÑADIDO: Extraer y limpiar la descripción de avería + let desc = raw["Descripción"] || raw["DESCRIPCION"] || raw["Averia"] || "Sin descripción de avería en el expediente."; + // Quitar posibles saltos de línea molestos y limitarlo a ~100 caracteres visuales + desc = desc.replace(/(\r\n|\n|\r)/gm, " "); + const calledTimes = parseInt(raw.called_times || 0); const delayDays = calculateDelayDays(s.created_at); @@ -519,8 +524,8 @@
${isUrgent ? '
Urgente
' : ''} -
-
+
+
@@ -529,8 +534,13 @@

${addr}, ${pop}

+ +
+

${desc}

+ +
-
+
@@ -547,6 +557,51 @@ lucide.createIcons(); } + // 🔥 MEJORA: El "Mata-Fantasmas" por si se intenta abrir un aviso que ya no está en BD + async function openActionModal(id) { + let s = localServices.find(x => x.id === id); + + if (!s) { + try { + showToast("Cargando datos..."); + const res = await fetch(`${API_URL}/services/active`, { headers: { "Authorization": `Bearer ${localStorage.getItem("token")}` } }); + const data = await res.json(); + s = data.services.find(x => x.id === id); + if (s) localServices.push(s); + } catch(e) {} + } + + if (!s) { + showToast("El aviso ya no está disponible", true); + refreshData(); + return; + } + + const raw = s.raw_data; + + document.getElementById('detId').value = s.id; + document.getElementById('detRef').innerText = `Exp. #${s.service_ref || "S/R"}`; + document.getElementById('detName').innerText = raw["Nombre Cliente"] || "Asegurado"; + document.getElementById('detAddress').innerText = `${raw["Dirección"] || ""}, ${raw["Población"] || ""}`; + + const rawPhone = raw["Teléfono"] || raw["TELEFONOS"] || raw["TELEFONO"] || ""; + const matchPhone = rawPhone.toString().match(/[6789]\d{8}/); + document.getElementById('detPhoneRaw').value = matchPhone ? matchPhone[0] : ""; + + document.getElementById('durationInput').value = "60"; + pickerSelectedDate = ""; + pickerSelectedTime = ""; + buildDayCarousel(); + checkSaveButton(); + + const modal = document.getElementById('actionModal'); + const content = document.getElementById('modalContent'); + modal.classList.remove('hidden'); + void modal.offsetWidth; + modal.classList.remove('opacity-0'); + content.classList.remove('translate-y-full'); + } + async function markClientNotFound(serviceId, currentTimes) { const btn = event.currentTarget; const originalHtml = btn.innerHTML;