diff --git a/servicios.html b/servicios.html index 749a581..8632cd3 100644 --- a/servicios.html +++ b/servicios.html @@ -572,70 +572,73 @@ async function searchClientByPhone(phone) { } function buildGridCard(s) { - const raw = s.raw_data || {}; - const name = raw["Nombre Cliente"] || raw["CLIENTE"] || "Asegurado Sin Nombre"; - const addr = raw["Dirección"] || raw["DOMICILIO"] || "---"; - const pop = raw["Población"] || raw["POBLACION-PROVINCIA"] || ""; - const fullAddr = `${addr} ${pop}`.trim(); - const cita = raw.scheduled_date ? `${raw.scheduled_date} | ${raw.scheduled_time}` : 'Pendiente Cita'; - const companyName = raw['Compañía'] || raw['COMPAÑIA'] || raw['Procedencia'] || (s.provider === 'MANUAL' ? 'PARTICULAR' : 'ASEGURADORA'); + const raw = s.raw_data || {}; + const name = raw["Nombre Cliente"] || raw["CLIENTE"] || "Asegurado Sin Nombre"; + const addr = raw["Dirección"] || raw["DOMICILIO"] || "---"; + const pop = raw["Población"] || raw["POBLACION-PROVINCIA"] || ""; + const fullAddr = `${addr} ${pop}`.trim(); + const cita = raw.scheduled_date ? `${raw.scheduled_date.split('-').reverse().slice(0,2).join('/')} | ${raw.scheduled_time}` : 'Pte. Cita'; + const companyName = raw['Compañía'] || raw['COMPAÑIA'] || raw['Procedencia'] || (s.provider === 'MANUAL' ? 'PARTICULAR' : 'ASEGURADORA'); + + const isUrgent = s.is_urgent === true || (raw['Urgente'] && raw['Urgente'].toLowerCase() === 'sí') || (raw['URGENTE'] && raw['URGENTE'].toLowerCase() === 'si'); + + const stateInfo = s._stateInfo; + const colorData = colorDict[stateInfo.color] || colorDict['gray']; + + let iconEstado = 'tag'; + if(raw.scheduled_date) iconEstado = 'calendar'; + if(stateInfo.name.toLowerCase().includes('camino')) iconEstado = 'car'; + if(stateInfo.name.toLowerCase().includes('reparaci') || stateInfo.name.toLowerCase().includes('trabaja')) iconEstado = 'wrench'; + if(stateInfo.name.toLowerCase().includes('incidencia') || stateInfo.name.toLowerCase().includes('pausado')) iconEstado = 'alert-triangle'; + + const inProgressBadge = s.automation_status === 'in_progress' ? ` En Bolsa` : ''; + + return ` +
+ ${inProgressBadge} +
+
+ +
+ ${stateInfo.name} +
+ ${isUrgent ? `🔥 URGENTE` : `#${s.service_ref}`} +
- const isUrgent = s.is_urgent === true || (raw['Urgente'] && raw['Urgente'].toLowerCase() === 'sí') || (raw['URGENTE'] && raw['URGENTE'].toLowerCase() === 'si'); - - const stateInfo = s._stateInfo; - const colorData = colorDict[stateInfo.color] || colorDict['gray']; +
+

${companyName}

+

${name}

+
- let iconEstado = 'tag'; - if(raw.scheduled_date) iconEstado = 'calendar'; - if(stateInfo.name.toLowerCase().includes('camino')) iconEstado = 'car'; - if(stateInfo.name.toLowerCase().includes('reparaci') || stateInfo.name.toLowerCase().includes('trabaja')) iconEstado = 'wrench'; - if(stateInfo.name.toLowerCase().includes('incidencia') || stateInfo.name.toLowerCase().includes('pausado')) iconEstado = 'alert-triangle'; +
+

+ ${fullAddr} +

+
+
- const inProgressBadge = s.automation_status === 'in_progress' ? ` En Bolsa` : ''; - - return ` -
- ${inProgressBadge} -
-
- -
- ${stateInfo.name} -
- ${isUrgent ? `🔥 URGENTE` : `#${s.service_ref}`} +
+
+
+ ${s.assigned_name || 'Sin asignar'} -
- -
-

${companyName}

-

${name}

-
- -
-

- ${fullAddr} -

-
+
+ +
+
-
-
-
- ${s.assigned_name || 'Sin asignar'} - - - -
- ${raw.scheduled_date ? ` -
- - ${cita} -
` : ''} -
-
`; - } +
+ + ${raw.scheduled_date ? cita.split('|')[0] : 'Pte. Cita'} +
+
+
`; +} function shakeCard(element, status) { element.classList.add('shake');