@php $primaryColor = \App\Models\Setting::get('app_primary_color', '#0056b3'); $companyName = \App\Models\Setting::get('company_name', 'TI Manager'); $companyNit = \App\Models\Setting::get('company_nit', ''); $companyAddress = \App\Models\Setting::get('company_address', ''); $companyPhone = \App\Models\Setting::get('company_phone', ''); $companyEmail = \App\Models\Setting::get('company_email', ''); $appLogo = \App\Models\Setting::get('app_logo'); @endphp Reporte de Dispositivo - {{ $inventory->name ?? 'Masivo' }}
@if($appLogo) @php $path = storage_path('app/public/' . $appLogo); $type = pathinfo($path, PATHINFO_EXTENSION); if(file_exists($path)) { $data = file_get_contents($path); $base64 = 'data:image/' . $type . ';base64,' . base64_encode($data); echo ''; } @endphp @else
{{ $companyName }}
@endif

Datos de la Sede:

{{ $inventory->branch->company->name ?? 'Empresa Desconocida' }}
Sede: {{ $inventory->branch->name ?? 'No asignada' }}
Dirección: {{ $inventory->branch->address ?? 'N/A' }}

Ficha Técnica

# {{ $reportNumber ?? ('REP-'.date('Ymd').'-0000') }}
Fecha de Emisión:
{{ date('d/m/Y') }}

INFORMACIÓN GENERAL
Nombre del Equipo: {{ $inventory->name }} Categoría: {{ $inventory->category->name ?? 'N/A' }}
Marca: {{ $inventory->brand ?? 'N/A' }} Modelo: {{ $inventory->model ?? 'N/A' }}
Serial: {{ $inventory->serial_number ?? 'N/A' }} Etiqueta de Activo: {{ $inventory->asset_tag ?? 'N/A' }}
Dirección MAC: {{ $inventory->mac_address ?? 'N/A' }} Dispositivo Principal: {{ $inventory->parent ? $inventory->parent->name . ' (' . ($inventory->parent->serial_number ?? 'S/N') . ')' : 'N/A' }}
Asignado a: {{ $inventory->assigned_to ?? 'Sin asignar' }} Dirección IP: {{ $inventory->ip_address ?? 'N/A' }}
Fecha de Compra: {{ $inventory->purchase_date ? \Carbon\Carbon::parse($inventory->purchase_date)->format('d/m/Y') : 'N/A' }} Fecha de Instalación: {{ $inventory->installation_date ? \Carbon\Carbon::parse($inventory->installation_date)->format('d/m/Y') : 'N/A' }}
Inicio de Garantía: {{ $inventory->warranty_start ? \Carbon\Carbon::parse($inventory->warranty_start)->format('d/m/Y') : 'N/A' }} Garantía Hasta: {{ $inventory->warranty_until ? \Carbon\Carbon::parse($inventory->warranty_until)->format('d/m/Y') : 'N/A' }}
Estado: @php $statusClass = 'status-default'; if($inventory->status == 'active' || $inventory->status == 'activo') $statusClass = 'status-active'; elseif($inventory->status == 'maintenance' || $inventory->status == 'mantenimiento') $statusClass = 'status-maintenance'; elseif($inventory->status == 'damaged' || $inventory->status == 'dañado') $statusClass = 'status-damaged'; @endphp {{ $inventory->status_label ?? $inventory->status }}
@if($inventory->features && count(array_filter($inventory->features)) > 0)
ESPECIFICACIONES TÉCNICAS
@php $featureLabels = [ 'pc_name' => 'Nombre del equipo', 'os' => 'Sistema Operativo', 'os_license' => 'Licencia del OS', 'processor' => 'Procesador', 'ram' => 'Memoria RAM', 'disk' => 'Almacenamiento (Disco)', 'gpu' => 'Tarjeta gráfica', 'office' => 'Office instalado', 'office_license' => 'Licencia de Office', 'antivirus' => 'Antivirus', 'antivirus_license' => 'Licencia de Antivirus', 'domain' => 'Dominio o grupo de trabajo', 'main_user' => 'Usuario principal', 'peripherals' => 'Periféricos', 'battery' => 'Estado de batería', 'charger' => 'Cargador asignado', 'accessories' => 'Accesorios', 'screen_size' => 'Tamaño de Pantalla', 'video_ports' => 'Puertos de Video', 'printer_type' => 'Tipo de Impresión', 'connection_type' => 'Tipo de Conexión', 'channels' => 'Cantidad de canales', 'firmware' => 'Firmware', 'admin_user' => 'Usuario administrador', 'admin_pass' => 'Contraseña', 'ddns_p2p' => 'DDNS o P2P', 'technology' => 'Tecnología', 'camera_type' => 'Tipo / Canales', 'resolution' => 'Resolución', 'cam_user' => 'Usuario (Cámara)', 'cam_pass' => 'Contraseña (Cámara)', 'managed' => 'Administrable', 'ports_count' => 'Cantidad de puertos', 'speed' => 'Velocidad', 'vlan' => 'VLAN configuradas', 'rack' => 'Rack', 'extension' => 'Extensión', 'fxs_ports' => 'Puerto FXS', 'voip_operator' => 'Operador VoIP', 'wan_ip' => 'IP WAN', 'isp' => 'Proveedor', 'vpn' => 'VPN configuradas', 'mode' => 'Modo WiFi', 'ssid' => 'SSID', 'channel' => 'Canal', 'frequency' => 'Frecuencia', 'power' => 'Potencia', 'gps' => 'Coordenadas GPS', 'role' => 'Función', 'raid' => 'RAID', 'services' => 'Servicios instalados', 'backups' => 'Copias de seguridad', 'provider' => 'Proveedor / Hosting', 'panel' => 'Panel', 'ssl' => 'Certificados SSL', 'domain_expiration' => 'Vencimiento dominio', 'hosting_expiration' => 'Vencimiento hosting', 'ups_capacity' => 'Capacidad (VA / Watts)', 'ups_battery' => 'Tipo de Batería', 'extensions_supported' => 'Extensiones soportadas', 'trunks' => 'Troncales', ]; @endphp @foreach($inventory->features as $key => $val) @if(!empty($val)) @endif @endforeach
{{ $featureLabels[$key] ?? ucfirst(str_replace('_', ' ', $key)) }} {{ $val }}
@endif @if($inventory->children && $inventory->children->count() > 0)
DISPOSITIVOS ASOCIADOS
@foreach($inventory->children as $child) @endforeach
Categoría Nombre Marca / Modelo Serial
{{ $child->category->name ?? 'N/A' }} {{ $child->name }} {{ $child->brand ?? '-' }} {{ $child->model ?? '-' }} {{ $child->serial_number ?? 'S/N' }}
@endif
HISTORIAL DE MANTENIMIENTO
@if($inventory->maintenanceLogs && $inventory->maintenanceLogs->count() > 0) @foreach($inventory->maintenanceLogs as $log) @endforeach
Fecha Tipo Título Descripción Costo
{{ \Carbon\Carbon::parse($log->maintenance_date)->format('d/m/Y') }} {{ ucfirst($log->type) }} {{ $log->title }} {{ $log->description }} {{ $log->cost ? '$' . number_format($log->cost, 2) : 'N/A' }}
@else

No existen registros de mantenimiento para este dispositivo.

@endif @if(!empty($inventory->photos) && count($inventory->photos) > 0)
EVIDENCIA FOTOGRÁFICA
@foreach($inventory->photos as $photo) @if(is_string($photo) && !empty($photo)) @php $path = storage_path('app/public/' . $photo); if (file_exists($path)) { $type = pathinfo($path, PATHINFO_EXTENSION); $data = file_get_contents($path); $base64 = 'data:image/' . $type . ';base64,' . base64_encode($data); } else { $base64 = ''; } @endphp @if($base64)
Evidencia
@endif @endif @endforeach
@endif
@if(isset($signatureTech) && !empty($signatureTech)) Firma Técnico @else
@endif
Firma de Conformidad (Técnico / TI)
Nombre: _______________________
@if(isset($signatureUser) && !empty($signatureUser)) Firma Usuario @else
@endif
Firma de Conformidad (Usuario)
Nombre: {{ $inventory->assigned_to ?? '_______________________' }}