diff --git a/proveedores.html b/proveedores.html
index 368ccb3..e7ad5a5 100644
--- a/proveedores.html
+++ b/proveedores.html
@@ -357,31 +357,53 @@
let isLocked = false;
let lockedMsg = '';
- // LÓGICA DE ACTUALIZACIÓN DE ESTADO
- // Si el servicio se marca como 'imported' o tiene 'assigned_to', significa que ya no está disponible en el buzón
+ // LÓGICA DE ACTUALIZACIÓN DE ESTADO ROBUSTA
+ const autoStatus = (svc.automation_status || '').toLowerCase();
+ const sysStatus = (svc.status || '').toLowerCase();
+ const linkedStatus = (raw['estado'] || raw['status'] || '').toLowerCase();
+
if (!isArchived) {
- if (svc.automation_status === 'in_progress') {
- bgClass = 'bg-amber-50/40 border-amber-200';
+ // 1. EN BOLSA / EN COLA
+ if (autoStatus.includes('bolsa') || autoStatus === 'in_progress' || sysStatus.includes('bolsa') || linkedStatus.includes('bolsa')) {
+ bgClass = 'bg-orange-50/40 border-orange-200 hover:border-orange-400';
isLocked = true;
- lockedMsg = 'Enviado por WhatsApp. Esperando aceptación.';
+ lockedMsg = 'Este servicio está en la BOLSA buscando operario.';
badgeEstado = `
-
- En Cola / Bolsa
+
+ En Bolsa
+ Sin Asignar
`;
- } else if (svc.status === 'imported' || raw['assigned_to']) {
- bgClass = 'bg-emerald-50/40 border-emerald-200';
+ }
+ // 2. ASIGNADO A UN OPERARIO
+ else if (raw['assigned_to'] || (sysStatus === 'imported' && opName)) {
+ bgClass = 'bg-emerald-50/40 border-emerald-200 hover:border-emerald-400';
isLocked = true;
- lockedMsg = 'Servicio AUTO-ASIGNADO o traspasado.';
+ lockedMsg = 'Servicio ASIGNADO. Ve al Panel Operativo para gestionarlo.';
badgeEstado = `
Asignado
- ${opName || 'Gestionado'}
+ ${opName || 'Operario'}
`;
- } else {
+ }
+ // 3. TRASPASADO AL PANEL, PERO SIN BOLSA NI OPERARIO (Pausa/Manual)
+ else if (sysStatus === 'imported') {
+ bgClass = 'bg-blue-50/40 border-blue-200 hover:border-blue-400';
+ isLocked = true;
+ lockedMsg = 'Este servicio ya se traspasó al Panel Operativo.';
+ badgeEstado = `
+
+
+ En Panel
+
+ Esperando acción
+
`;
+ }
+ // 4. NUEVO EN EL BUZÓN (Gris)
+ else {
bgClass = 'bg-white border-slate-200';
badgeEstado = `
@@ -438,7 +460,6 @@
lucide.createIcons();
}
- // --- EL RESTO DE FUNCIONES (openEditor, saveDraft, sendToQueue, etc.) se mantienen IGUAL ---
async function openEditor(id) {
const svc = scrapedData.find(s => s.id === id);
if(!svc) return;