@extends('layouts.app') @section('title', 'Resoluciones') @section('content')

descriptionMódulo de Resoluciones

Registro y vinculación de resoluciones directorales

@php $hasChargePeriod = !empty($chargePeriod); $canSignResolution = Auth::user()->hasRole('ADMINISTRADOR') || Auth::user()->can('modulo cargos') || Auth::user()->can('modulo resoluciones'); $canCreateCharge = Auth::user()->hasRole('ADMINISTRADOR') || Auth::user()->can('modulo cargos'); $canDeleteResolution = Auth::user()->hasRole('ADMINISTRADOR'); @endphp
@if (Auth::user()->hasRole('ADMINISTRADOR') || Auth::user()->can('resolucion ingresar'))
addNuevo registro
@if ($hasChargePeriod)
@else
warning Falta configurar el periodo actual
@endif
@endif @if (Auth::user()->hasRole('ADMINISTRADOR') || Auth::user()->can('resolucion ver indicadores'))
history_eduUltimo RD
{{ $ultimoRegistro }}
RD
calendar_todayPeriodo actual
@if ($hasChargePeriod)
{{ $chargePeriod }}
@else
Falta configurar
@endif
history_eduPor firmar
@if ($hasChargePeriod)
{{ $pendientesResolucionesPeriodo }}
@else
Falta configurar
@endif
@endif
@if (Auth::user()->hasRole('ADMINISTRADOR') || Auth::user()->can('resolucion exportar') || Auth::user()->can('resolucion importar excel'))
@if (Auth::user()->hasRole('ADMINISTRADOR') || Auth::user()->can('resolucion exportar'))
descriptionReportes
Exporta resoluciones en PDF o Excel
@php $excelQueryParams = http_build_query(array_filter([ 'search' => request('search'), 'search_rd' => request('search_rd'), 'search_asunto' => request('search_asunto'), 'periodo' => request('periodo'), 'resolucion_type_id' => request('resolucion_type_id'), 'asunto_type_id' => request('asunto_type_id'), 'level_modality_id' => request('level_modality_id'), 'desde' => request('desde'), 'hasta' => request('hasta'), 'is_worked' => request('is_worked'), ], fn($v) => !is_null($v) && $v !== '')); @endphp total() === 0) aria-disabled="true" tabindex="-1" style="pointer-events: none; opacity: 0.65;" @endif> table_chart Excel
@endif @if (Auth::user()->hasRole('ADMINISTRADOR') || Auth::user()->can('resolucion importar excel'))
uploadImportar resoluciones
@csrf
downloadPlantilla
@endif
@endif
folder_openResoluciones
Gestione resoluciones, cargos y firmas
{{-- Conservar filtros activos al buscar texto --}}
@if (request()->filled('search') || request()->filled('periodo') || request()->filled('resolucion_type_id') || request()->filled('asunto_type_id') || request()->filled('level_modality_id') || request()->filled('desde') || request()->filled('hasta') || request()->filled('is_worked')) filter_alt_off @endif
@if (request()->filled('search') || request()->filled('periodo') || request()->filled('resolucion_type_id') || request()->filled('asunto_type_id') || request()->filled('level_modality_id') || request()->filled('desde') || request()->filled('hasta') || request()->filled('is_worked'))
filter_alt
info Filtro rápido sobre los resultados actuales de la página.
@endif @if (request()->filled('search') || request()->filled('periodo') || request()->filled('resolucion_type_id') || request()->filled('asunto_type_id') || request()->filled('level_modality_id') || request()->filled('desde') || request()->filled('hasta') || request()->filled('is_worked')) @php $activeFilters = []; if (request()->filled('search')) { $activeFilters['search'] = 'Búsqueda: "' . request('search') . '"'; } if (request()->filled('desde') || request()->filled('hasta')) { if (request()->filled('desde') && request()->filled('hasta')) { $activeFilters['date_range'] = 'Fecha: ' . request('desde') . ' a ' . request('hasta'); } elseif (request()->filled('desde')) { $activeFilters['date_range'] = 'Desde: ' . request('desde'); } else { $activeFilters['date_range'] = 'Hasta: ' . request('hasta'); } } if (request()->filled('periodo')) { $activeFilters['periodo'] = 'Periodo: ' . request('periodo'); } if (request()->filled('resolucion_type_id')) { $selectedType = $types->firstWhere('id', request('resolucion_type_id')); $activeFilters['resolucion_type_id'] = 'Tipo: ' . ($selectedType ? $selectedType->name : request('resolucion_type_id')); } if (request()->filled('asunto_type_id')) { $asuntoType = \App\Models\AsuntoType::find(request('asunto_type_id')); $activeFilters['asunto_type_id'] = 'Asunto: ' . ($asuntoType ? $asuntoType->name : request('asunto_type_id')); } if (request()->filled('level_modality_id')) { $selectedLevel = $level_modalities->firstWhere('id', request('level_modality_id')); $activeFilters['level_modality_id'] = 'Nivel: ' . ($selectedLevel ? $selectedLevel->name : request('level_modality_id')); } if (request()->filled('is_worked')) { $activeFilters['is_worked'] = 'Estado: ' . (request('is_worked') === '1' ? 'Trabajadas' : 'No Trabajadas'); } @endphp @if (count($activeFilters) > 0)
filter_alt Filtros activos: @foreach ($activeFilters as $key => $label) {{ $label }} @endforeach filter_alt_off Limpiar todo
@endif @endif @if (request()->filled('search') || request()->filled('periodo') || request()->filled('resolucion_type_id') || request()->filled('asunto_type_id') || request()->filled('level_modality_id') || request()->filled('desde') || request()->filled('hasta') || request()->filled('is_worked'))
search_off

No hay coincidencias en esta página.

@forelse ($resoluciones as $resolucion)
{{ $resolucion->type?->abreviacion ?? 'RD' }} {{ $resolucion->rd }} @if ($resolucion->document_path) picture_as_pdf @endif
{{ $resolucion->formatted_fecha }}
@include('charges.partials.status-badge', ['status' => $resolucion->signature_status])

Interesado

{{ $resolucion->nombres_apellidos }}

DNI

{{ $resolucion->dni ?? '---' }}

Periodo

{{ $resolucion->periodo }}

Tipo de Asunto

{{ $resolucion->asuntoType?->name ?? '---' }}

Nivel/Modalidad

{{ $resolucion->levelModality?->name ?? '---' }}
@if ($resolucion->is_worked) done_all Trabajada @elseif (Auth::user()->can('resolucion marcar trabajada'))
@csrf @method('PATCH')
@endif @if ($resolucion->can_create_charge && $canCreateCharge) @php $interesadosList = $resolucion->naturalPeople->map(fn($p) => ['id' => $p->id, 'type' => 'Persona Natural', 'name' => "{$p->nombres} {$p->apellido_paterno} {$p->apellido_materno}"]) ->merge($resolucion->legalEntities->map(fn($e) => ['id' => $e->id, 'type' => 'Persona Juridica', 'name' => $e->razon_social])) ->merge($resolucion->users->map(fn($u) => ['id' => $u->id, 'type' => 'Trabajador UGEL', 'name' => "{$u->name} {$u->last_name}"])) ->values(); $totalInteresados = $interesadosList->count(); @endphp @if ($totalInteresados > 1) @else
@csrf
@endif @endif @if (!Auth::user()->hasRole('VISUALIZADOR'))
@endif
@empty
No se encontraron resoluciones
@endforelse
@if (!Auth::user()->hasRole('VISUALIZADOR')) @endif @forelse ($resoluciones as $key => $resolucion) @if (!Auth::user()->hasRole('VISUALIZADOR')) @endif @empty @endforelse
# Resolución Interesado Tipo de Asunto Nivel / Modalidad EstadoAcciones
{{ ($resoluciones->currentPage() - 1) * $resoluciones->perPage() + $key + 1 }}
{{ $resolucion->type?->abreviacion ?? 'RD' }} {{ $resolucion->rd }}
@if ($resolucion->document_path) picture_as_pdf @endif
{{ $resolucion->formatted_fecha }}
{{ $resolucion->nombres_apellidos }}
DNI: {{ $resolucion->dni ?? '---' }}
{{ $resolucion->asuntoType?->name ?? '---' }}
@if($resolucion->asuntoType?->description)
{{ $resolucion->asuntoType->description }}
@endif
{{ $resolucion->levelModality?->name ?? '---' }}
{{ $resolucion->procedencia }} {{ $resolucion->periodo }}
@include('charges.partials.status-badge', ['status' => $resolucion->signature_status])
@if ($resolucion->is_worked) done_all Trabajada @elseif (Auth::user()->can('resolucion marcar trabajada'))
@csrf @method('PATCH')
@endif {{-- Acción: Ver Detalles --}} {{-- Acción: Firmar --}} {{-- Menú de Más Acciones --}}
search_off No se encontraron resoluciones
@if ($resoluciones->total() > 0)
Mostrando {{ $resoluciones->firstItem() }} a {{ $resoluciones->lastItem() }} de {{ $resoluciones->total() }} resultados
{{ $resoluciones->appends(request()->query())->onEachSide(1)->links('pagination.bootstrap-4-lg') }}
@endif @else
Logo Qilqana
@endif
@include('charges.forms.sign') @include('resolucions.forms.create-charge') @include('resolucions.forms.view-details') @if ($errors->any()) @endif @endsection