{{-- Universal State Handler with CREATE styling --}} {{-- This view applies create.blade.php styling to universal-state functionality --}} {{-- SECCIÓN 1: INFORMACIÓN BÁSICA DEL TRÁMITE --}} @if(array_intersect(['producto_id', 'country_id', 'tipo_tramite_id', 'subtipo_tramite_id', 'nombre_producto'], $visibleFields)) @php // Tipos de trámite que permiten crear/editar producto específico $tiposNuevos = [1, 2, 3, 11, 19, 28, 37, 45]; // NUEVO NOTIFICACION, NUEVO PERMISO, NUEVO REGISTRO, NUEVO (varios) $esProductoNuevo = in_array($tramite->tipo_tramite_id, $tiposNuevos); // Estados en los que debe ser editable $estadosEditables = [1, 2]; // 1: NO ASIGNADO, 2: ASIGNADO $esEditablePorEstado = in_array($tramite->estado_tramite_id, $estadosEditables); @endphp

Información Básica del Trámite

@if(in_array('producto_id', $visibleFields)) @include('tramites.partials.smart-field', ['field' => 'producto_id', 'colSize' => '6']) @endif @if(in_array('country_id', $visibleFields))
{{ in_array('country_id', $editableFields) ? 'Seleccione el país destino del trámite' : '' }}
@endif
@if(in_array('tipo_tramite_id', $visibleFields)) @include('tramites.partials.smart-field', ['field' => 'tipo_tramite_id', 'colSize' => '6']) @endif @if(in_array('subtipo_tramite_id', $visibleFields)) @include('tramites.partials.smart-field', ['field' => 'subtipo_tramite_id', 'colSize' => '6']) @endif
@if(in_array('nombre_producto', $visibleFields))
{{-- Campo de texto para productos NUEVOS --}} {{ in_array('nombre_producto', $editableFields) ? 'Nombre comercial o denominación del producto' : '' }} {{-- Campo de búsqueda SIEMPRE visible cuando NO es NUEVO --}}
@if(in_array('nombre_producto', $editableFields)) @endif
{{ in_array('nombre_producto', $editableFields) ? 'Busque y seleccione un producto existente de la base de datos' : '' }}
@endif
@endif {{-- SECCIÓN 2: DETALLES TÉCNICOS --}} @if(array_intersect(['marca', 'unidad_de_negocio', 'ingrediente_principal', 'forma_farmaceutica_id', 'concentracion', 'expediente'], $visibleFields)) @php $tiposNuevos = [1, 2, 3, 11, 19, 28, 37, 45]; $esProductoNuevo = in_array($tramite->tipo_tramite_id, $tiposNuevos); @endphp

Detalles Técnicos del Producto

@if($esProductoNuevo && in_array($tramite->estado_tramite_id, [1, 2, 3, 4]))
Producto Nuevo: Puede editar los detalles técnicos del producto ya que el tipo de trámite permite crear un producto específico.
{{-- CAMPOS DE MARCA Y UNIDAD DE NEGOCIO --}}
@if(in_array('marca', $editableFields)) @else @endif Marca comercial del producto
@if(in_array('unidad_de_negocio', $editableFields)) @else @endif Unidad de negocio responsable
@if(in_array('ingrediente_principal', $visibleFields))
@if(in_array('ingrediente_principal', $editableFields)) @else @endif
@endif @if(in_array('forma_farmaceutica_id', $visibleFields))
@if(in_array('forma_farmaceutica_id', $editableFields)) @include('tramites.partials.smart-field', ['field' => 'forma_farmaceutica_id', 'colSize' => '6']) @else @endif
@endif
@if(in_array('concentracion', $visibleFields))
@if(in_array('concentracion', $editableFields)) @else @endif
@endif @if(in_array('expediente', $visibleFields))
@if(in_array('expediente', $editableFields)) @else @endif
@endif
{{-- Campo oculto para mantener la referencia al producto específico --}} @elseif($esProductoNuevo && $tramite->productoEspecifico)
Producto Nuevo (Solo Lectura): Los detalles técnicos del producto específico se muestran como solo lectura en este estado.
{{-- CAMPOS DE PRODUCTO NUEVO EN ESTADO AVANZADO (SOLO LECTURA) --}}
@if(in_array('marca', $visibleFields))
@endif @if(in_array('unidad_de_negocio', $visibleFields))
@endif
@if(in_array('ingrediente_principal', $visibleFields))
@endif @if(in_array('concentracion', $visibleFields))
@endif
@if(in_array('expediente', $visibleFields))
@endif
{{-- Campo oculto para mantener la referencia al producto específico --}} @else
Producto Existente: Los detalles técnicos se muestran desde el producto seleccionado y no se pueden editar.
{{-- SOLO mostrar detalles técnicos si hay producto seleccionado --}}
@if(in_array('marca', $visibleFields))
@endif @if(in_array('unidad_de_negocio', $visibleFields))
@endif
@if(in_array('ingrediente_principal', $visibleFields))
@endif @if(in_array('forma_farmaceutica_id', $visibleFields))
@endif
@if(in_array('concentracion', $visibleFields))
@endif @if(in_array('expediente', $visibleFields))
@endif
@endif
@endif {{-- SECCIÓN 3: INFORMACIÓN DE REGISTRO --}} @if(array_intersect(['num_registro', 'fecha_vencimiento_registro', 'estado_registro_id'], $visibleFields))

Información de Registro

@if(in_array('num_registro', $visibleFields)) @include('tramites.partials.smart-field', ['field' => 'num_registro', 'colSize' => '6']) @endif @if(in_array('fecha_vencimiento_registro', $visibleFields)) @include('tramites.partials.smart-field', ['field' => 'fecha_vencimiento_registro', 'colSize' => '6']) @endif
@if(in_array('estado_registro_id', $visibleFields)) @include('tramites.partials.smart-field', ['field' => 'estado_registro_id', 'colSize' => '6']) @endif
@endif {{-- SECCIÓN 4: ASIGNACIÓN Y RESPONSABLES --}} @if(array_intersect(['usuario_responsable_id', 'estado_tramite_id'], $visibleFields))

Asignación y Responsables

@if(in_array('usuario_responsable_id', $visibleFields)) @include('tramites.partials.smart-field', ['field' => 'usuario_responsable_id', 'colSize' => '6']) @endif @if(in_array('estado_tramite_id', $visibleFields)) @include('tramites.partials.smart-field', ['field' => 'estado_tramite_id', 'colSize' => '6']) @endif
@endif {{-- SECCIÓN 5: FECHAS Y GESTIÓN (Solo visible si hay usuario asignado) --}} @php // Para el estado COMUNICADO (15), excluir fecha_de_notificacion_interna de esta sección $fechasGestionFields = ['fecha_planeada_de_entrega_del_dossier', 'fecha_maxima_de_radicacion', 'carga_laboral_en_horas', 'fecha_de_inicio_del_tramite', 'fecha_de_entrega_del_dossier', 'fecha_de_revision_del_dossier']; // Agregar nuevos campos de fechas y gestión (disponibles desde estado INICIADO) if ($tramite->estado_tramite_id >= 3) { // 3 = INICIADO $fechasGestionFields = array_merge($fechasGestionFields, [ 'fecha_planeada_recibo_informacion', 'pais_informacion_id', 'area_informacion_id', 'responsable_entregar_informacion', 'fecha_recibo_informacion' ]); } if ($tramite->estado_tramite_id != 15) { $fechasGestionFields[] = 'fecha_de_notificacion_interna'; } @endphp @if(array_intersect($fechasGestionFields, $visibleFields))

Fechas y Gestión del Trámite

@if(in_array('fecha_planeada_de_entrega_del_dossier', $visibleFields)) @include('tramites.partials.smart-field', ['field' => 'fecha_planeada_de_entrega_del_dossier', 'colSize' => '4']) @endif @if(in_array('fecha_maxima_de_radicacion', $visibleFields)) @include('tramites.partials.smart-field', ['field' => 'fecha_maxima_de_radicacion', 'colSize' => '4']) @endif @if(in_array('carga_laboral_en_horas', $visibleFields)) @include('tramites.partials.smart-field', ['field' => 'carga_laboral_en_horas', 'colSize' => '4']) @endif
@if(in_array('fecha_de_inicio_del_tramite', $visibleFields)) @include('tramites.partials.smart-field', ['field' => 'fecha_de_inicio_del_tramite', 'colSize' => '4']) @endif
{{-- Nuevos campos para fechas y gestión (disponibles desde estado INICIADO) --}} @if($tramite->estado_tramite_id >= 3)
@if(in_array('fecha_planeada_recibo_informacion', $visibleFields)) @include('tramites.partials.smart-field', ['field' => 'fecha_planeada_recibo_informacion', 'colSize' => '4']) @endif @if(in_array('pais_informacion_id', $visibleFields)) @include('tramites.partials.smart-field', ['field' => 'pais_informacion_id', 'colSize' => '4']) @endif @if(in_array('area_informacion_id', $visibleFields)) @include('tramites.partials.smart-field', ['field' => 'area_informacion_id', 'colSize' => '4']) @endif
@if(in_array('responsable_entregar_informacion', $visibleFields)) @include('tramites.partials.smart-field', ['field' => 'responsable_entregar_informacion', 'colSize' => '6']) @endif @if(in_array('fecha_recibo_informacion', $visibleFields)) @include('tramites.partials.smart-field', ['field' => 'fecha_recibo_informacion', 'colSize' => '6']) @endif
@if(in_array('fecha_de_entrega_del_dossier', $visibleFields)) @include('tramites.partials.smart-field', ['field' => 'fecha_de_entrega_del_dossier', 'colSize' => '4']) @endif @if(in_array('fecha_de_revision_del_dossier', $visibleFields)) @include('tramites.partials.smart-field', ['field' => 'fecha_de_revision_del_dossier', 'colSize' => '4']) @endif @if(in_array('concepto', $visibleFields)) @include('tramites.partials.smart-field', ['field' => 'concepto', 'colSize' => '4']) @endif
@endif @if(in_array('fecha_de_notificacion_interna', $visibleFields) && $tramite->estado_tramite_id != 15)
@include('tramites.partials.smart-field', ['field' => 'fecha_de_notificacion_interna', 'colSize' => '6'])
@endif
@endif {{-- SECCIÓN 6: CAMPOS ESPECÍFICOS DEL ESTADO --}} @if(!empty($customFields))

Información Específica del Estado

@php $fieldsPerRow = []; $currentRow = []; $fieldsCount = 0; foreach($customFields as $field) { if(in_array($field, $visibleFields)) { $currentRow[] = $field; $fieldsCount++; if($fieldsCount % 3 === 0 || $fieldsCount === count(array_intersect($customFields, $visibleFields))) { $fieldsPerRow[] = $currentRow; $currentRow = []; } } } @endphp @foreach($fieldsPerRow as $rowFields)
@foreach($rowFields as $field) @include('tramites.partials.smart-field', ['field' => $field, 'colSize' => '4']) @endforeach
@endforeach
@endif {{-- SECCIÓN 7A: INFORMACIÓN DEL PRODUCTO --}} @if(array_intersect(['indicacion', 'via_administracion', 'condicion_de_venta', 'tiempo_de_vida_util', 'condicion_de_almacenamiento', 'titular', 'importador', 'fabricante', 'acondicionador'], $visibleFields))

Información del Producto @php // Campos específicos del producto $productFields = ['indicacion', 'via_administracion', 'condicion_de_venta', 'tiempo_de_vida_util', 'condicion_de_almacenamiento', 'titular', 'importador', 'fabricante', 'acondicionador']; $visibleProductFields = array_intersect($productFields, $visibleFields); $completedProductFields = 0; $totalProductFields = count($visibleProductFields); $pendingProductFields = []; $producto = $tramite->productoEspecifico; // Para productos nuevos, usar datos del producto específico si existe // Para productos existentes, usar datos del producto específico foreach($visibleProductFields as $field) { if($esProductoNuevo && $producto) { // Producto nuevo con producto específico: usar datos del producto específico $valor = $producto->{$field}; } elseif($esProductoNuevo && !$producto) { // Producto nuevo sin producto específico: usar datos del trámite $valor = $tramite->{$field}; } else { // Producto existente: usar datos del producto específico $valor = $producto ? $producto->{$field} : null; } if(!empty($valor)) { $completedProductFields++; } else { // Obtener el label del campo $fieldDef = config('tramite_states.field_definitions.' . $field, []); $pendingProductFields[] = $fieldDef['label'] ?? ucfirst(str_replace('_', ' ', $field)); } } $progressPercentage = $totalProductFields > 0 ? round(($completedProductFields / $totalProductFields) * 100) : 0; @endphp @if($totalProductFields > 0) Progreso del Producto: {{ $completedProductFields }}/{{ $totalProductFields }} campos completados ({{ $progressPercentage }}%) @endif

@if($totalProductFields > 0 && count($pendingProductFields) > 0)
Campos pendientes: {{ implode(', ', $pendingProductFields) }}
@endif @if($esProductoNuevo && in_array($tramite->estado_tramite_id, [1, 2, 3, 4])) {{-- === CAMPOS EDITABLES PARA ESTADOS INICIALES === --}} @if(in_array('indicacion', $visibleFields))
@include('tramites.partials.smart-field', ['field' => 'indicacion', 'colSize' => '12'])
@endif
@if(in_array('via_administracion', $visibleFields)) @include('tramites.partials.smart-field', ['field' => 'via_administracion', 'colSize' => '4']) @endif @if(in_array('condicion_de_venta', $visibleFields)) @include('tramites.partials.smart-field', ['field' => 'condicion_de_venta', 'colSize' => '4']) @endif @if(in_array('tiempo_de_vida_util', $visibleFields)) @include('tramites.partials.smart-field', ['field' => 'tiempo_de_vida_util', 'colSize' => '4']) @endif
@if(in_array('condicion_de_almacenamiento', $visibleFields)) @include('tramites.partials.smart-field', ['field' => 'condicion_de_almacenamiento', 'colSize' => '12']) @endif
@if(in_array('titular', $visibleFields)) @include('tramites.partials.smart-field', ['field' => 'titular', 'colSize' => '4']) @endif @if(in_array('importador', $visibleFields)) @include('tramites.partials.smart-field', ['field' => 'importador', 'colSize' => '4']) @endif @if(in_array('fabricante', $visibleFields)) @include('tramites.partials.smart-field', ['field' => 'fabricante', 'colSize' => '4']) @endif
@if(in_array('acondicionador', $visibleFields)) @include('tramites.partials.smart-field', ['field' => 'acondicionador', 'colSize' => '4']) @endif
@elseif($esProductoNuevo && $tramite->productoEspecifico) @php // Verificar si el producto específico tiene datos de información $camposProducto = ['indicacion', 'via_administracion', 'condicion_de_venta', 'tiempo_de_vida_util', 'condicion_de_almacenamiento', 'titular', 'importador', 'fabricante', 'acondicionador']; $tieneDatos = false; foreach ($camposProducto as $campo) { if (!empty($tramite->productoEspecifico->{$campo})) { $tieneDatos = true; break; } } @endphp @if($tieneDatos) {{-- === CAMPOS SOLO LECTURA PARA PRODUCTOS NUEVOS CON DATOS === --}}
Producto Nuevo (Solo Lectura): La información del producto específico se muestra como solo lectura en este estado.
@php $producto = $tramite->productoEspecifico; @endphp
@else {{-- === CAMPOS EDITABLES PARA PRODUCTOS NUEVOS SIN DATOS === --}}
Producto Nuevo: Puede editar los detalles técnicos del producto ya que el tipo de trámite permite crear un producto específico.
@if(in_array('indicacion', $visibleFields))
@include('tramites.partials.smart-field', ['field' => 'indicacion', 'colSize' => '12'])
@endif
@if(in_array('via_administracion', $visibleFields)) @include('tramites.partials.smart-field', ['field' => 'via_administracion', 'colSize' => '4']) @endif @if(in_array('condicion_de_venta', $visibleFields)) @include('tramites.partials.smart-field', ['field' => 'condicion_de_venta', 'colSize' => '4']) @endif @if(in_array('tiempo_de_vida_util', $visibleFields)) @include('tramites.partials.smart-field', ['field' => 'tiempo_de_vida_util', 'colSize' => '4']) @endif
@if(in_array('condicion_de_almacenamiento', $visibleFields)) @include('tramites.partials.smart-field', ['field' => 'condicion_de_almacenamiento', 'colSize' => '12']) @endif
@if(in_array('titular', $visibleFields)) @include('tramites.partials.smart-field', ['field' => 'titular', 'colSize' => '4']) @endif @if(in_array('importador', $visibleFields)) @include('tramites.partials.smart-field', ['field' => 'importador', 'colSize' => '4']) @endif @if(in_array('fabricante', $visibleFields)) @include('tramites.partials.smart-field', ['field' => 'fabricante', 'colSize' => '4']) @endif
@if(in_array('acondicionador', $visibleFields)) @include('tramites.partials.smart-field', ['field' => 'acondicionador', 'colSize' => '4']) @endif
@endif @else {{-- === CAMPOS SOLO LECTURA, VALORES DEL PRODUCTO EXISTENTE === --}}
Producto Existente: La información del producto se muestra desde el producto seleccionado y no se puede editar.
@php $producto = $tramite->productoEspecifico; @endphp
@endif
@endif {{-- SECCIÓN 7B: INFORMACIÓN DEL TICKET --}} @if(array_intersect(['ticket', 'fecha_del_ticket'], $visibleFields))

Información del Ticket @php // Campos específicos del ticket (solo ticket y fecha) $ticketInfoFields = ['ticket', 'fecha_del_ticket']; $visibleTicketInfoFields = array_intersect($ticketInfoFields, $visibleFields); $completedTicketInfoFields = 0; $totalTicketInfoFields = count($visibleTicketInfoFields); $pendingTicketInfoFields = []; foreach($visibleTicketInfoFields as $field) { if(!empty($tramite->{$field})) { $completedTicketInfoFields++; } else { // Obtener el label del campo $fieldDef = config('tramite_states.field_definitions.' . $field, []); $pendingTicketInfoFields[] = $fieldDef['label'] ?? ucfirst(str_replace('_', ' ', $field)); } } $progressPercentage = $totalTicketInfoFields > 0 ? round(($completedTicketInfoFields / $totalTicketInfoFields) * 100) : 0; @endphp @if($totalTicketInfoFields > 0) Progreso del Ticket: {{ $completedTicketInfoFields }}/{{ $totalTicketInfoFields }} campos completados ({{ $progressPercentage }}%) @endif

@if($totalTicketInfoFields > 0 && count($pendingTicketInfoFields) > 0)
Campos pendientes: {{ implode(', ', $pendingTicketInfoFields) }}
@endif
@if(in_array('ticket', $visibleFields)) @include('tramites.partials.smart-field', ['field' => 'ticket', 'colSize' => '6']) @endif @if(in_array('fecha_del_ticket', $visibleFields)) @include('tramites.partials.smart-field', ['field' => 'fecha_del_ticket', 'colSize' => '6']) @endif
@endif {{-- SECCIÓN 8: INFORMACIÓN DEL RADICADO --}} @if(array_intersect(['fecha_del_radicado', 'radicado', 'llave', 'concepto_entidad'], $visibleFields))

Información del Radicado @php // Campos específicos del radicado $radicadoFields = ['fecha_del_radicado', 'radicado', 'llave', 'concepto_entidad']; $visibleRadicadoFields = array_intersect($radicadoFields, $visibleFields); $completedRadicadoFields = 0; $totalRadicadoFields = count($visibleRadicadoFields); $pendingRadicadoFields = []; foreach($visibleRadicadoFields as $field) { if(!empty($tramite->{$field})) { $completedRadicadoFields++; } else { // Obtener el label del campo $fieldDef = config('tramite_states.field_definitions.' . $field, []); $pendingRadicadoFields[] = $fieldDef['label'] ?? ucfirst(str_replace('_', ' ', $field)); } } $progressPercentage = $totalRadicadoFields > 0 ? round(($completedRadicadoFields / $totalRadicadoFields) * 100) : 0; @endphp @if($totalRadicadoFields > 0) Progreso del Radicado: {{ $completedRadicadoFields }}/{{ $totalRadicadoFields }} campos completados ({{ $progressPercentage }}%) @endif

@if($totalRadicadoFields > 0 && count($pendingRadicadoFields) > 0)
Campos pendientes: {{ implode(', ', $pendingRadicadoFields) }}
@endif
@if(in_array('fecha_del_radicado', $visibleFields)) @include('tramites.partials.smart-field', ['field' => 'fecha_del_radicado', 'colSize' => '3']) @endif @if(in_array('radicado', $visibleFields)) @include('tramites.partials.smart-field', ['field' => 'radicado', 'colSize' => '3']) @endif @if(in_array('llave', $visibleFields)) @include('tramites.partials.smart-field', ['field' => 'llave', 'colSize' => '3']) @endif @if(in_array('concepto_entidad', $visibleFields)) @include('tramites.partials.smart-field', ['field' => 'concepto_entidad', 'colSize' => '3']) @endif
@endif {{-- SECCIÓN 9: INFORMACIÓN DEL ACTO ADMINISTRATIVO --}} @if(array_intersect(['fecha_del_acto_administrativo', 'numero_del_acto_administrativo', 'fecha_de_revision_y_cargue_documental'], $visibleFields))

Registro Acto Administrativo @php // Campos específicos del acto administrativo $actoFields = ['fecha_del_acto_administrativo', 'numero_del_acto_administrativo', 'fecha_de_revision_y_cargue_documental']; $visibleActoFields = array_intersect($actoFields, $visibleFields); $completedActoFields = 0; $totalActoFields = count($visibleActoFields); $pendingActoFields = []; foreach($visibleActoFields as $field) { if(!empty($tramite->{$field})) { $completedActoFields++; } else { // Obtener el label del campo $fieldDef = config('tramite_states.field_definitions.' . $field, []); $pendingActoFields[] = $fieldDef['label'] ?? ucfirst(str_replace('_', ' ', $field)); } } $progressPercentage = $totalActoFields > 0 ? round(($completedActoFields / $totalActoFields) * 100) : 0; @endphp @if($totalActoFields > 0) Progreso del Acto Administrativo: {{ $completedActoFields }}/{{ $totalActoFields }} campos completados ({{ $progressPercentage }}%) @endif

@if($totalActoFields > 0 && count($pendingActoFields) > 0)
Campos pendientes: {{ implode(', ', $pendingActoFields) }}
@endif
@if(in_array('fecha_del_acto_administrativo', $visibleFields)) @include('tramites.partials.smart-field', ['field' => 'fecha_del_acto_administrativo', 'colSize' => '4']) @endif @if(in_array('numero_del_acto_administrativo', $visibleFields)) @include('tramites.partials.smart-field', ['field' => 'numero_del_acto_administrativo', 'colSize' => '4']) @endif @if(in_array('fecha_de_revision_y_cargue_documental', $visibleFields)) @include('tramites.partials.smart-field', ['field' => 'fecha_de_revision_y_cargue_documental', 'colSize' => '4']) @endif
@endif {{-- SECCIÓN 10: INFORMACIÓN DEL AUTO O REQUERIMIENTO --}} @if(array_intersect(['fecha_del_auto_o_requerimiento', 'numero_de_auto', 'fecha_max_contestacion_auto'], $visibleFields) && ($tramite->estado_tramite_id == 10 || $tramite->estado_tramite_id == 11))

Información del Auto o Requerimiento @php // Campos específicos del auto $autoFields = ['fecha_del_auto_o_requerimiento', 'numero_de_auto', 'fecha_max_contestacion_auto']; $visibleAutoFields = array_intersect($autoFields, $visibleFields); $completedAutoFields = 0; $totalAutoFields = count($visibleAutoFields); $pendingAutoFields = []; foreach($visibleAutoFields as $field) { if(!empty($tramite->{$field})) { $completedAutoFields++; } else { // Obtener el label del campo $fieldDef = config('tramite_states.field_definitions.' . $field, []); $pendingAutoFields[] = $fieldDef['label'] ?? ucfirst(str_replace('_', ' ', $field)); } } $progressPercentage = $totalAutoFields > 0 ? round(($completedAutoFields / $totalAutoFields) * 100) : 0; @endphp @if($totalAutoFields > 0) Progreso del Auto: {{ $completedAutoFields }}/{{ $totalAutoFields }} campos completados ({{ $progressPercentage }}%) @endif

@if($totalAutoFields > 0 && count($pendingAutoFields) > 0)
Campos pendientes: {{ implode(', ', $pendingAutoFields) }}
@endif
@if(in_array('fecha_del_auto_o_requerimiento', $visibleFields)) @include('tramites.partials.smart-field', ['field' => 'fecha_del_auto_o_requerimiento', 'colSize' => '4']) @endif @if(in_array('numero_de_auto', $visibleFields)) @include('tramites.partials.smart-field', ['field' => 'numero_de_auto', 'colSize' => '4']) @endif @if(in_array('fecha_max_contestacion_auto', $visibleFields)) @include('tramites.partials.smart-field', ['field' => 'fecha_max_contestacion_auto', 'colSize' => '4']) @endif
@endif {{-- SECCIÓN 11: GESTIÓN DEL AUTO - CONTESTACIÓN --}} @if(array_intersect(['fecha_de_radicado_de_contestacion_auto_o_requerimiento', 'radicado_de_contestacion_del_auto_o_requerimiento', 'respuesta_auto'], $visibleFields) && $tramite->estado_tramite_id == 11)

Gestión del Auto - Contestación @php // Campos específicos de la gestión del auto $gestionAutoFields = ['fecha_de_radicado_de_contestacion_auto_o_requerimiento', 'radicado_de_contestacion_del_auto_o_requerimiento', 'respuesta_auto']; $visibleGestionAutoFields = array_intersect($gestionAutoFields, $visibleFields); $completedGestionAutoFields = 0; $totalGestionAutoFields = count($visibleGestionAutoFields); $pendingGestionAutoFields = []; foreach($visibleGestionAutoFields as $field) { if(!empty($tramite->{$field})) { $completedGestionAutoFields++; } else { // Obtener el label del campo $fieldDef = config('tramite_states.field_definitions.' . $field, []); $pendingGestionAutoFields[] = $fieldDef['label'] ?? ucfirst(str_replace('_', ' ', $field)); } } $progressPercentage = $totalGestionAutoFields > 0 ? round(($completedGestionAutoFields / $totalGestionAutoFields) * 100) : 0; @endphp @if($totalGestionAutoFields > 0) Progreso de la Gestión: {{ $completedGestionAutoFields }}/{{ $totalGestionAutoFields }} campos completados ({{ $progressPercentage }}%) @endif

@if($totalGestionAutoFields > 0 && count($pendingGestionAutoFields) > 0)
Campos pendientes: {{ implode(', ', $pendingGestionAutoFields) }}
@endif
@if(in_array('fecha_de_radicado_de_contestacion_auto_o_requerimiento', $visibleFields)) @include('tramites.partials.smart-field', ['field' => 'fecha_de_radicado_de_contestacion_auto_o_requerimiento', 'colSize' => '4']) @endif @if(in_array('radicado_de_contestacion_del_auto_o_requerimiento', $visibleFields)) @include('tramites.partials.smart-field', ['field' => 'radicado_de_contestacion_del_auto_o_requerimiento', 'colSize' => '4']) @endif @if(in_array('respuesta_auto', $visibleFields)) @include('tramites.partials.smart-field', ['field' => 'respuesta_auto', 'colSize' => '4']) @endif
@endif {{-- SECCIÓN 12: REGISTRO NEGADO - RECURSO DE REPOSICIÓN --}} @if(array_intersect(['fecha_de_radicado_del_recurso_de_reposicion', 'radicado_del_recurso_de_reposicion'], $visibleFields) && $tramite->estado_tramite_id == 13)

Registro Negado - Recurso de Reposición @php // Campos específicos del recurso de reposición $recursoFields = ['fecha_de_radicado_del_recurso_de_reposicion', 'radicado_del_recurso_de_reposicion']; $visibleRecursoFields = array_intersect($recursoFields, $visibleFields); $completedRecursoFields = 0; $totalRecursoFields = count($visibleRecursoFields); $pendingRecursoFields = []; foreach($visibleRecursoFields as $field) { if(!empty($tramite->{$field})) { $completedRecursoFields++; } else { // Obtener el label del campo $fieldDef = config('tramite_states.field_definitions.' . $field, []); $pendingRecursoFields[] = $fieldDef['label'] ?? ucfirst(str_replace('_', ' ', $field)); } } $progressPercentage = $totalRecursoFields > 0 ? round(($completedRecursoFields / $totalRecursoFields) * 100) : 0; @endphp @if($totalRecursoFields > 0) Progreso del Recurso: {{ $completedRecursoFields }}/{{ $totalRecursoFields }} campos completados ({{ $progressPercentage }}%) @endif

@if($totalRecursoFields > 0 && count($pendingRecursoFields) > 0)
Campos pendientes: {{ implode(', ', $pendingRecursoFields) }}
Complete estos campos para pasar al estado RECURSO.
@endif @if($progressPercentage == 100)
¡Todos los campos completados! Al actualizar el trámite, pasará automáticamente al estado RECURSO.
@endif
@if(in_array('fecha_de_radicado_del_recurso_de_reposicion', $visibleFields)) @include('tramites.partials.smart-field', ['field' => 'fecha_de_radicado_del_recurso_de_reposicion', 'colSize' => '6']) @endif @if(in_array('radicado_del_recurso_de_reposicion', $visibleFields)) @include('tramites.partials.smart-field', ['field' => 'radicado_del_recurso_de_reposicion', 'colSize' => '6']) @endif
@endif {{-- SECCIÓN 13: RECURSO DE REPOSICIÓN - ACTO ADMINISTRATIVO FINAL --}} @if(array_intersect(['fecha_del_acto_administrativo_rep', 'numero_del_acto_administrativo_rep'], $visibleFields) && $tramite->estado_tramite_id == 14)

Recurso de Reposición - Acto Administrativo Final @php // Campos específicos del acto administrativo del recurso $actoRepFields = ['fecha_del_acto_administrativo_rep', 'numero_del_acto_administrativo_rep', 'concepto_recurso']; $visibleActoRepFields = array_intersect($actoRepFields, $visibleFields); $completedActoRepFields = 0; $totalActoRepFields = count($visibleActoRepFields); $pendingActoRepFields = []; foreach($visibleActoRepFields as $field) { if(!empty($tramite->{$field})) { $completedActoRepFields++; } else { // Obtener el label del campo $fieldDef = config('tramite_states.field_definitions.' . $field, []); $pendingActoRepFields[] = $fieldDef['label'] ?? ucfirst(str_replace('_', ' ', $field)); } } $progressPercentage = $totalActoRepFields > 0 ? round(($completedActoRepFields / $totalActoRepFields) * 100) : 0; @endphp @if($totalActoRepFields > 0) Progreso del Acto: {{ $completedActoRepFields }}/{{ $totalActoRepFields }} campos completados ({{ $progressPercentage }}%) @endif

@if($totalActoRepFields > 0 && count($pendingActoRepFields) > 0)
Campos pendientes: {{ implode(', ', $pendingActoRepFields) }}
Complete estos campos para pasar al estado COMUNICADO.
@endif @if($progressPercentage == 100)
¡Todos los campos completados! Al actualizar el trámite, pasará automáticamente al estado COMUNICADO.
@endif
@if(in_array('fecha_del_acto_administrativo_rep', $visibleFields)) @include('tramites.partials.smart-field', ['field' => 'fecha_del_acto_administrativo_rep', 'colSize' => '6']) @endif @if(in_array('numero_del_acto_administrativo_rep', $visibleFields)) @include('tramites.partials.smart-field', ['field' => 'numero_del_acto_administrativo_rep', 'colSize' => '6']) @endif
@if(in_array('concepto_recurso', $visibleFields)) @include('tramites.partials.smart-field', ['field' => 'concepto_recurso', 'colSize' => '12']) @endif
@endif {{-- SECCIÓN 14: COMUNICACIÓN - NOTIFICACIÓN INTERNA --}} @if(in_array('fecha_de_notificacion_interna', $visibleFields) && $tramite->estado_tramite_id == 15)

Comunicación - Notificación Interna @php // Campo específico de comunicación $comunicacionFields = ['fecha_de_notificacion_interna']; $visibleComunicacionFields = array_intersect($comunicacionFields, $visibleFields); $completedComunicacionFields = 0; $totalComunicacionFields = count($visibleComunicacionFields); $pendingComunicacionFields = []; foreach($visibleComunicacionFields as $field) { if(!empty($tramite->{$field})) { $completedComunicacionFields++; } else { // Obtener el label del campo $fieldDef = config('tramite_states.field_definitions.' . $field, []); $pendingComunicacionFields[] = $fieldDef['label'] ?? ucfirst(str_replace('_', ' ', $field)); } } $progressPercentage = $totalComunicacionFields > 0 ? round(($completedComunicacionFields / $totalComunicacionFields) * 100) : 0; @endphp @if($totalComunicacionFields > 0) Progreso de la Comunicación: {{ $completedComunicacionFields }}/{{ $totalComunicacionFields }} campo completado ({{ $progressPercentage }}%) @endif

@if($totalComunicacionFields > 0 && count($pendingComunicacionFields) > 0)
Campo requerido para finalizar: Complete este campo para finalizar el trámite.
@endif
@if(in_array('fecha_de_notificacion_interna', $visibleFields)) @include('tramites.partials.smart-field', ['field' => 'fecha_de_notificacion_interna', 'colSize' => '12']) @endif
@endif