🏠 Panel Principal
{{rolLabel}}
{{me.nombre}}
{{stats.copropiedades||0}}
🏢 Copropiedades
{{stats.revistas||0}}
📋 Revistas
{{stats.usuarios||0}}
👥 Usuarios
{{stats.sanciones||0}}
⚠️ Multas
{{stats.pedidos||0}}
📦 Pedidos
{{stats.tareas||0}}
✅ Tareas
{{stats.proveedores||0}}
🏭 Proveedores
{{notifCount}}
🔔 Alertas
⚡Acciones Rápidas
📋Últimas Revistas
{{r.copropiedad_nombre||'Sin copropiedad'}}
{{r.tipo.charAt(0).toUpperCase()+r.tipo.slice(1)}} · {{fmtDate(r.fecha)}}
{{estadoRevistaLabel(r)}}
🔧Novedades Pendientes ({{novedadesList.filter(n=>n.estado!=='cerrada').length}})
No tienes novedades pendientes
{{nv.item_texto||nv.descripcion}}
{{nv.estado}}
✅Novedades Resueltas ({{novedadesList.filter(n=>n.estado==='cerrada').length}})
Aún no tienes novedades resueltas
{{nv.item_texto||nv.descripcion}}
{{nv.estado}}
👥 Usuarios
{{rolLabel2(rol)}} ({{grp.length}})
{{u.nombre}}
@{{u.usuario}} - {{u.email||'Sin email'}}
🔑 {{u.password_plain?u.password_plain:(u.password.startsWith('$2')?'No disponible (restablecer)':u.password)}}
{{u.activo?'Activo':'Inactivo'}}
👥
No hay usuarios
{{u.nombre}}
@{{u.usuario}} - {{rolLabel2(u.rol)}}
{{u.activo?'Activo':'Inactivo'}}
🏢 Copropiedades
📥 Carga masiva de Copropiedades (CSV)
Formato: Nombre,NIT,Administrador,Supervisor,Estado novedades,Correo,Telefono,Presidente consejo,telefono,email,nombre contacto adicional,telefono,email (una fila por copropiedad; puede incluir la fila de encabezado). Administrador/Supervisor se buscan por nombre exacto entre los usuarios existentes. 📄 Descargar modelo
{{cargaCopMsg}}
🏢
No hay copropiedades
{{c.nombre}}
{{c.direccion||'Sin dirección'}} · {{c.total_apartamentos||0}} apts
→
🏭 Proveedores
🏭
No hay proveedores
{{p.nombre}}
{{p.especialidad||'Sin especialidad'}} · {{p.nombre_contacto||''}}
Cotización
📋 Revistas
📋
No hay revistas
{{r.copropiedad_nombre||'Sin copropiedad'}}
{{r.tipo.charAt(0).toUpperCase()+r.tipo.slice(1)}} · {{fmtDate(r.fecha)}} · {{r.supervisor_nombre||''}}
{{estadoRevistaLabel(r)}}
⚠️ Multas / Sanciones
⚠️
No hay multas registradas
{{s.tipo_falta}}
{{s.copropiedad_nombre||''}} · {{s.apartamento||''}} · {{fmtDate(s.fecha)}}
{{s.estado}}
📦 Pedidos de Insumos
📦
No hay pedidos
{{p.copropiedad_nombre||'Sin copropiedad'}}
{{p.proveedor_nombre||'Sin proveedor'}} · {{fmtDate(p.fecha)}}
{{p.estado}}
✅ Tareas
✅
No hay tareas
{{t.titulo}}
Para: {{t.asignado_a_nombre||'Sin asignar'}} · Límite: {{fmtDate(t.fecha_limite)}}
{{t.estado}}
🔔 Notificaciones
🔔
No hay notificaciones
{{n.mensaje}}
{{fmtDatetime(n.fecha)}}
👤 Mi Perfil
{{rolIcon(me.rol)}}
{{me.nombre}}
@{{me.usuario}}
{{rolLabel}}
Email{{me.email||'—'}}
Rol{{rolLabel}}
🔐 Cambiar Contraseña
{{passErr}}
{{passOk}}
🚨
ALERTA DE NOVEDAD
{{alertaNovedad.msg}}
📍 {{alertaNovedad.novedad.item_texto}}
{{alertaNovedad.novedad.descripcion}}
Copropiedad: {{alertaNovedad.novedad.copropiedad_nombre}}
{{alertaNovedad.novedad.cotizacion_requerida>0?'💰 Esta novedad REQUIERE COTIZACIÓN':'🔧 Esta novedad es de GESTIÓN (sin cotización)'}}
🔧 Mis Novedades Asignadas
No tienes novedades asignadas
{{nv.item_texto||nv.descripcion}}
{{nv.estado.replace(/_/g,' ').toUpperCase()}}
{{nv.descripcion}}
🔧 Acción de mejora: {{nv.accion_mejora}}
📍 {{nv.copropiedad_nombre}} | 👤 Por: {{nv.creado_por_nombre}} | 🕐 {{nv.fecha_creacion?.slice(0,16)}}
✅ Cotización AUTORIZADA - Puede proceder
⏳ Cotización enviada - Esperando autorización
💰 Formulario de Cotización
{{fmtMoney(it.cantidad*it.valor_unitario)}}
Subtotal:{{fmtMoney(nv._subtotal||0)}}
IVA:
{{fmtMoney(nv._ivaVal||0)}}
TOTAL:{{fmtMoney(nv._total||0)}}
📄 El sistema generará automáticamente el PDF de la cotización con el membrete de Cordoba Arango al enviar.
🏁 Finalizar Novedad
📷 {{nv._imgCierreName}}
🧾 {{nv._facturaName}}
📦 Insumos por Cotizar
📦
No tienes solicitudes de insumos
{{p.copropiedad_nombre||'Copropiedad'}}
{{p.estado.replace(/_/g,' ').toUpperCase()}}
{{fmtDate(p.fecha)}}
Sin ítems registrados
{{it.nombre}} (Cantidad: {{it.unidades_a_pedir}})
${{it.precio_unitario}}
⏳ Cotización enviada - Esperando respuesta del administrador
📋 Panel de Novedades
No hay novedades registradas
{{nv.item_texto||nv.descripcion?.slice(0,60)}}
{{nv.cotizacion_requerida>0?cotizacionEstadoLabel(nv).toUpperCase():nv.estado?.replace(/_/g,' ').toUpperCase()}}
{{nv.descripcion?.slice(0,120)}}
📍 {{nv.copropiedad_nombre}} | 👷 {{nv.proveedor_nombre||'Sin proveedor'}} | 🕐 {{nv.fecha_creacion?.slice(0,16)}}
⏱ Inicio: {{nv.fecha_atencion?.slice(0,16)}}
| ✅ Fin: {{nv.fecha_cierre?.slice(0,16)}}
| Duración: {{calcDuracion(nv.fecha_atencion,nv.fecha_cierre)}}
| En curso: {{calcDuracion(nv.fecha_atencion,new Date().toISOString())}}
💰 Total cotización: {{fmtMoney(nv.total||0)}}
👍 Recomendada por el supervisor - pendiente de autorización del administrador PH
📨 Solicitudes a Proveedores
No hay solicitudes registradas
{{s.descripcion}}
Copropiedad: {{s.copropiedad_nombre||'—'}} | Proveedor: {{s.proveedor_nombre||'—'}}
Solicitado por: {{s.creado_por_nombre||'—'}} | Estado: {{s.estado}}
{{fmtDatetime(s.fecha_creacion)}}
⚠️ Solicitudes Especiales
Solicitudes de eliminación de revista hechas por administradores PH, pendientes de trámite.
No hay solicitudes especiales
Revista {{s.tipo}} - {{s.copropiedad_nombre||'—'}}
Motivo: {{s.solicitud_eliminar_motivo||'—'}}
Solicitado por: {{s.solicitado_por_nombre||'—'}} | Estado: {{s.solicitud_eliminar_estado}}
{{fmtDate(s.fecha)}}
