@extends('layouts.app', ['activePage' => 'dashboard', 'menuParent' => 'dashboard', 'titlePage' => '']) @section('content') @include('includes.tailwind') @php $readOnlyDashboard = (bool) ($readOnlyDashboard ?? false); @endphp

Dashboard

Matriz de cobertura por archivo y periodo. Ejercicio -

Esperando datos @if($readOnlyDashboard) Cliente: solo visual @endif
@if(!$readOnlyDashboard)
Documentos

Controla que secciones del dashboard quieres ver.

Sueltos: {{ (int) ($archivosSueltosDashboard['total'] ?? 0) }} Declaraciones: {{ (int) ($declaracionesAnualesDashboard['total'] ?? 0) }}
@endif
Calendario de Importaciones

Haz clic en un periodo para filtrar y priorizar ese mes.

Cargado No coincide Sin dato Pendiente
Ultima actualizacion: -

Cobertura del ejercicio

0%
Base esperada: 100% Brecha: 0%

Avance del periodo actual

0%
Periodo: - Sin referencia
@if(!$readOnlyDashboard) @php $archivosSueltosItems = $archivosSueltosDashboard['items'] ?? collect(); $archivosSueltosTotal = (int) ($archivosSueltosDashboard['total'] ?? 0); $declaracionesDashboardColumns = $declaracionesAnualesDashboard['columns'] ?? collect(); $declaracionesDashboardTotal = (int) ($declaracionesAnualesDashboard['total'] ?? 0); $declaracionesDashboardMaxRows = max((int) ($declaracionesAnualesDashboard['max_rows'] ?? 0), 1); $archivosSueltosExtensiones = $archivosSueltosItems ->map(function ($archivo) { return mb_strtolower((string) pathinfo((string) ($archivo->nombre_original ?? ''), PATHINFO_EXTENSION)); }) ->filter(function ($extension) { return trim((string) $extension) !== ''; }) ->unique() ->sort() ->values(); @endphp
Documentos sueltos

Seccion independiente del calendario de importaciones para cargar y consultar documentos sueltos.

Total: {{ $archivosSueltosTotal }} Ver modulo completo
@if(session('success'))
{{ session('success') }}
@endif @if($errors->any())
{{ $errors->first() }}
@endif

Explorador de documentos

Visibles: {{ count($archivosSueltosItems) }} de {{ count($archivosSueltosItems) }}

@if(count($archivosSueltosItems) > 0)
@foreach($archivosSueltosItems as $archivoSuelto) @php $bytes = (int) ($archivoSuelto->tamano_bytes ?? 0); if ($bytes <= 0) { $sizeLabel = '-'; } elseif ($bytes < 1024) { $sizeLabel = $bytes . ' B'; } elseif ($bytes < 1048576) { $sizeLabel = number_format($bytes / 1024, 2) . ' KB'; } elseif ($bytes < 1073741824) { $sizeLabel = number_format($bytes / 1048576, 2) . ' MB'; } else { $sizeLabel = number_format($bytes / 1073741824, 2) . ' GB'; } $usuarioNombre = trim((string) optional($archivoSuelto->usuario)->name); if ($usuarioNombre === '') { $usuarioNombre = trim((string) optional($archivoSuelto->usuario)->nombres . ' ' . (string) optional($archivoSuelto->usuario)->apellidos); } if ($usuarioNombre === '') { $usuarioNombre = '-'; } $extensionLabel = mb_strtoupper((string) pathinfo((string) $archivoSuelto->nombre_original, PATHINFO_EXTENSION)); if ($extensionLabel === '') { $extensionLabel = 'FILE'; } $extensionValue = mb_strtolower((string) pathinfo((string) $archivoSuelto->nombre_original, PATHINFO_EXTENSION)); $createdTimestamp = optional($archivoSuelto->created_at)->timestamp ?: 0; @endphp
folder {{ $extensionLabel }}
{{ $archivoSuelto->nombre }}

{{ $archivoSuelto->descripcion_corta ?: 'Sin descripcion corta' }}

Archivo: {{ $archivoSuelto->nombre_original }}

Tamano: {{ $sizeLabel }}

Fecha: {{ optional($archivoSuelto->created_at)->format('d/m/Y H:i') ?: '-' }}

Usuario: {{ $usuarioNombre }}

download Abrir
@csrf @method('DELETE')
@endforeach
@else
folder_open

Carpeta vacia

Sin Documentos sueltos registrados aun.

@endif
Declaraciones anuales

Carga desde dashboard y consulta en formato de columnas por ejercicio.

Total: {{ $declaracionesDashboardTotal }} Ver modulo completo
@if($declaracionesDashboardTotal > 0 && count($declaracionesDashboardColumns) > 0)
@foreach($declaracionesDashboardColumns as $column)

Ejercicio

{{ (int) ($column['anio'] ?? 0) }}

Documentos: {{ count($column['items'] ?? []) }}

@forelse(($column['items'] ?? collect()) as $item) @php $tituloCatalogo = optional($item->archivo)->titulo; $descripcionCatalogo = optional($item->archivo)->descripcion; @endphp

{{ $tituloCatalogo ?: $item->nombre_original }}

@if(filled($descripcionCatalogo))

{{ $descripcionCatalogo }}

@endif

{{ $item->nombre_original }}

{{ optional($item->created_at)->format('d/m/Y') ?: '-' }} Descargar
@empty

Sin documentos

@endforelse
@endforeach
@else
description

Sin declaraciones anuales

Aun no hay archivos cargados para este modulo.

@endif
@endif
calendar_month
Archivos cargados mes
0
Con carga en el mes actual
event_available
Archivos cargados año
0
Acumulado del ejercicio
priority_high
Faltantes mes
0
Pendientes del mes actual
event_busy
Faltantes año
0
Pendientes del ejercicio
@if(!$readOnlyDashboard) @endif @endsection @push('js') @endpush