diff --git a/app/Exports/ContactosExport.php b/app/Exports/ContactosExport.php index 41f5f09bd8539c0a81c79ad9c597882f8cdf0352..f8b57efbea1806afd1a2e1b8d117aa9f3246ed2c 100644 --- a/app/Exports/ContactosExport.php +++ b/app/Exports/ContactosExport.php @@ -58,7 +58,7 @@ public function collection() public function headings(): array { - $defaultHeadings = ['Profesión', 'Nombre', 'Apellido Paterno', 'Apellido Materno', 'Cargo']; + $defaultHeadings = ['Profesión', 'Nombre', 'Apellido Paterno', 'Apellido Materno', 'Cargo', 'Descripción del cargo', 'Grupo', 'Subgrupo']; $extraHeadings = $this->getExtraHeadings(); return array_merge($defaultHeadings, $extraHeadings); } @@ -146,6 +146,9 @@ private function formatContactoData($contacto) 'Apellido Paterno' => $contacto->ap_paterno, 'Apellido Materno' => $contacto->ap_materno ?? '', 'Cargo' => $contacto->cargo->nombre ?? 'N/A', + 'Descripción del cargo' => $contacto->cargo_desc ?? 'N/A', + 'Grupo' => $contacto->grupos->pluck('nombre')[0] ?? 'N/A', + 'Subgrupo' => $contacto->subgrupos->pluck('nombre')[0] ?? 'N/A', ]; $extraData = []; diff --git a/app/Http/Controllers/GruposController.php b/app/Http/Controllers/GruposController.php index 8cf28f464c77a3880be9b3060a52f534207af125..558c7cc3fa689315252c8a91785bfd290af0c565 100644 --- a/app/Http/Controllers/GruposController.php +++ b/app/Http/Controllers/GruposController.php @@ -4,8 +4,6 @@ use App\Models\Grupos; use Illuminate\Http\Request; -use Illuminate\Support\Facades\DB; -use Carbon\Carbon; class GruposController extends Controller { diff --git a/resources/views/adminGen/contactos/export.blade.php b/resources/views/adminGen/contactos/export.blade.php index ac629c06a0d20eeaeeaada77dc4e680590ad3855..333b07220da577acec0fb1ded7148eb737173b88 100644 --- a/resources/views/adminGen/contactos/export.blade.php +++ b/resources/views/adminGen/contactos/export.blade.php @@ -152,6 +152,9 @@ class="w-full px-3 py-2 bg-white border border-gray-300 rounded-md" +
@@ -257,6 +260,9 @@ function logData() { diaFin: fechaFin ? fechaFin.getDate().toString().padStart(2, '0') : null, }; + document.getElementById('loader-container').classList.remove('hidden'); + document.querySelector('form').classList.add('pointer-events-none'); + fetch('/reportes/contactos/exportar', { method: "POST", body: JSON.stringify(data), @@ -297,6 +303,10 @@ function logData() { .catch(err => { console.error("Error al descargar el archivo:", err); showToast(err.message || 'Error al descargar el archivo', 'Error', 'error'); + }) + .finally(() => { + document.getElementById('loader-container').classList.add('hidden'); + document.querySelector('form').classList.remove('pointer-events-none'); }); }