diff --git a/proveedores.html b/proveedores.html index a8ffb73..3aaf9ff 100644 --- a/proveedores.html +++ b/proveedores.html @@ -303,7 +303,6 @@ } catch (e) { console.error("Error en loadInbox:", e); } } - // ====== 🔥 DETECCIÓN DE URGENCIA Y GREMIO AÑADIDA AQUÍ ====== function buildServiceCard(svc) { const raw = svc.raw_data || {}; const isArchived = svc.status === 'archived'; @@ -314,8 +313,14 @@ const fullAddr = `${addr} ${pop}`.trim(); const phone = (raw['Teléfono'] || raw['TELEFONOS'] || raw['TELEFONO'] || "").match(/[6789]\d{8}/)?.[0] || ""; - // CORRECCIÓN: Ahora lee el guild_id del JSON interno asegurándose de que lo coja en cualquier caso. - const guildName = allGuilds.find(g => g.id == (svc.guild_id || raw['guild_id'] || raw.guild_id))?.name || null; + // CORRECCIÓN BLINDADA DEL GREMIO + let guildName = null; + const rawGuildId = svc.guild_id || raw['guild_id'] || raw.guild_id; + + if (rawGuildId) { + const foundGuild = allGuilds.find(g => String(g.id) === String(rawGuildId)); + if (foundGuild) guildName = foundGuild.name; + } const opName = raw['assigned_to_name'] || null; @@ -328,7 +333,6 @@ const sysStatus = (svc.status || '').toLowerCase(); const linkedStatus = (raw['estado'] || raw['status'] || '').toLowerCase(); - // DETECCIÓN DE URGENCIA (Ya sea por la BD o por el raw_data) const isUrgent = svc.is_urgent === true || (raw['Urgente'] && raw['Urgente'].toLowerCase() === 'sí') || (raw['URGENTE'] && raw['URGENTE'].toLowerCase() === 'si'); const urgentBadge = isUrgent ? `🔥 Urgente` : ''; @@ -535,12 +539,12 @@ document.getElementById('impNotesInt').value = raw['internal_notes'] || ""; document.getElementById('impNotesExt').value = raw['client_notes'] || ""; - // CORRECCIÓN: Ahora lee el guild_id del JSON interno asegurándose de que lo coja en cualquier caso para rellenar el desplegable. - const savedGuild = svc.guild_id || raw['guild_id'] || raw.guild_id || ""; - document.getElementById('impGuild').value = savedGuild; + // CORRECCIÓN BLINDADA DEL SELECTOR DE GREMIOS + const rawGuildId = svc.guild_id || raw['guild_id'] || raw.guild_id; + document.getElementById('impGuild').value = rawGuildId ? String(rawGuildId) : ""; - if(savedGuild) { - await loadOpsForGuild(savedGuild); + if(rawGuildId) { + await loadOpsForGuild(rawGuildId); document.getElementById('impOperator').value = raw['assigned_to'] || ""; } else { document.getElementById('impOperator').innerHTML = '';