{% extends 'base.html.twig' %}{% block stylesheets %} <style> fieldset { border: 1px solid #bbbbbb !important; margin: 0; min-width: 0; padding: 10px; position: relative; border-radius: 4px; background-color: #f5f5f5; } legend { font-size: 15px; font-weight: bold; margin-bottom: 0; width: 35%; border: 1px solid #bbbbbb; border-radius: 4px; padding: 5px 5px 5px 10px; background-color: #cecece; } label { font-size: 14px; color: #5C5A5A; } .btn-margin-right { margin-right: 10px; /* Ajusta el valor según tus necesidades */ } .hidden { display: none; } .refacciones-background { background-color: #d4edda; /* Verde claro */ padding: 10px; border-radius: 4px; } </style>{% endblock %}{% block body %} <div class="content-wrapper"> <!-- Content Header (Page header) --> <section class="content-header"> <div class="card"> <div class="card-header"> <h1 class="card-title">Visualización del Equipo de Cómputo</h1> <div class="card-tools"> <ol class="breadcrumb float-sm-right"> <li class="breadcrumb-item">Inicio</li> <li class="breadcrumb-item active">Equipo</li> </ol> </div> </div> </div> </section> <!-- Main content --> <section class="content"> <div class="row justify-content-center"> <div class="col-10"> <!-- Default box --> <div class="card"> <div class="card-header"> <div class="row"> <div class="col text-right"> <!-- Contenedor adicional para los botones --> <div class="btn-group" role="group" aria-label="Botones de acción"> <a href="{{ path('app_equipo_index') }}" class="btn btn-outline-primary btn-margin-right"> Regresar </a> <!-- Formulario para la descarga del archivo Excel --> <form action="{{ path('app_equipo_download_excel', { id: equipo.idEqu }) }}" method="get" style="display: inline;"> <button type="submit" class="btn btn-primary btn-margin-right"><i class="fas fa-file-excel"></i> Descargar Refacciones en Excel </button> </form> <button type="button" class="btn btn-outline-info" id="toggleRefaccionesBtn"><i class="fas fa-solid fa-business-time"></i> Ver Refacciones </button> </div> </div> </div> </div> <div class="card-body"> <!-- Aquí va el contenido de tu equipo como antes --> <fieldset> <legend>Datos del equipo</legend> <table class="table table-striped"> <tr> <th>Marbete:</th> <td>{{ equipo.marbete }}</td> <th>Marca:</th> <td>{{ equipo.marca }}</td> <th>Modelo:</th> <td>{{ equipo.modelo }}</td> </tr> <tr> <th>No. serie:</th> <td>{{ equipo.serie }}</td> <th>Descripción:</th> <td colspan="5">{{ equipo.descripcion }}</td> </tr> </table> </fieldset> <br> <!-- Sección de refacciones, inicialmente oculta --> <div id="refaccionesSection" class="hidden refacciones-background"> <br> <fieldset> <legend>Refacciones</legend> <table id="refaccionesTable" class="table table-bordered"> <thead> <tr> <th>ID Mov</th> <th>Fecha Movimiento</th> <th>Tipo Equipo</th> <th>Componente</th> <th>Observación</th> <th>Núcleos</th> <th>Velocidad</th> <th>Capacidad Memoria</th> <th>Unidad</th> <th>Usuario</th> </tr> </thead> <tbody> {% for bitacora in bitacoras %} <tr> <td>{{ bitacora.idMov }}</td> <td>{{ bitacora.fechaMov ? bitacora.fechaMov|date('Y-m-d H:i:s') : '' }}</td> <td>{{ bitacora.tipoEquipo }}</td> <td>{{ bitacora.idComponente ? bitacora.idComponente.tipo : 'N/A' }}</td> <td>{{ bitacora.observacion }}</td> <td>{{ bitacora.nucleos }}</td> <td>{{ bitacora.velocidad }}</td> <td>{{ bitacora.capacidadMemoria }}</td> <td>{{ bitacora.idUni ? bitacora.idUni.nombre : 'N/A' }}</td> <td>{{ bitacora.idUsu ? bitacora.idUsu.nombre : 'N/A' }}</td> </tr> {% else %} <tr> <td colspan="10">No hay bitácoras disponibles.</td> </tr> {% endfor %} </tbody> </table> </fieldset> </div> <br> <fieldset> <legend>Datos del hardware</legend> <table class="table table-striped"> <tbody> <tr> <th>Procesador:</th> <td>{{ equipo.procesador }}</td> <th>Núcleos:</th> <td>{{ equipo.nucleos }}</td> <th>Velocidad CPU:</th> <td>{{ equipo.cpuVelocidad }}</td> <th>RAM:</th> <td>{{ equipo.ram }}</td> </tr> <tr> <th>SSD:</th> <td colspan="2">{{ equipo.ssd }}</td> <th>HDD:</th> <td colspan="4">{{ equipo.hhd }}</td> </tr> </tbody> </table> </fieldset> <br> <fieldset> <legend>Datos del monitor</legend> <table class="table table-striped"> <tbody> <tr> <th>Marbete:</th> <td>{{ equipo.monitorMarbete }}</td> <th>Marca:</th> <td>{{ equipo.monitorMarca }}</td> <th>Modelo:</th> <td>{{ equipo.monitorModelo }}</td> </tr> <tr> <th>No. Serie:</th> <td>{{ equipo.monitorSerie }}</td> <th>Tipo:</th> <td>{{ equipo.monitorTipo }}</td> <th>Pulgadas:</th> <td>{{ equipo.monitorPulgadas }}</td> </tr> </tbody> </table> </fieldset> <br> <fieldset> <legend>Datos del teclado</legend> <table class="table table-striped"> <tbody> <tr> <th>Marca:</th> <td>{{ equipo.tecladoMarca }}</td> <th>Modelo:</th> <td>{{ equipo.tecladoModelo }}</td> <th>No. Serie:</th> <td>{{ equipo.tecladoSerie }}</td> </tr> </tbody> </table> </fieldset> <br> <fieldset> <legend>Datos del mouse</legend> <table class="table table-striped"> <tbody> <tr> <th>Marca:</th> <td>{{ equipo.mouseMarca }}</td> <th>Modelo:</th> <td>{{ equipo.mouseModelo }}</td> <th>Serie:</th> <td>{{ equipo.mouseSerie }}</td> </tr> </tbody> </table> </fieldset> <br> <fieldset> <legend>Estatus y resguardo</legend> <table class="table table-striped"> <tbody> <tr> <th>Estatus:</th> <td colspan="2"> {% if equipo.estatus == 2 %} <span>Descompuesto</span> {% elseif equipo.estatus == 1 %} <span>En operación</span> {% elseif equipo.estatus == 3 %} <span>Sin instalar</span> {% elseif equipo.estatus == 4 %} <span>En proceso de baja</span> {% elseif equipo.estatus == 5 %} <span>Baja</span> {% endif %} </td> <th>Uso:</th> <td colspan="2"> {% if equipo.uso == 0 %} <span class="">Docente</span> {% elseif equipo.uso == 1 %} <span class="">Educativo</span> {% elseif equipo.uso == 2 %} <span class="">Administrativo</span> {% endif %} </td> </tr> <tr> <th>Función:</th> <td> {% if equipo.funcion == 1 %} <span class="">Escritorio</span> {% elseif equipo.funcion == 2 %} <span class="">Servidor</span> {% endif %} </td> <th>Descripción de la función:</th> <td colspan="4">{{ equipo.funcionDescripcion }}</td> </tr> <tr> <th>Resguardatario:</th> <td colspan="5">{% if equipo.usuario is defined %}{{ equipo.usuario }}{% endif %} {% if equipo.usuario.papellido is defined %}{{ equipo.usuario.papellido }}{% endif %} {% if equipo.usuario.sapellido is defined %}{{ equipo.usuario.sapellido }}{% endif %}</td> <th>EMHV:</th> <td>{% if equipo.emhv == 1 %} <span>Cumple</span> {% elseif equipo.emhv == 0 %} <span>No Cumple</span> {% endif %}</td> <th>Ubicación:</th> <td colspan="3">{{ equipo.ubicacion }}</td> </tr> </tbody> </table> </fieldset> <br> <fieldset> <legend>Fechas de modificación</legend> <table class="table table-striped"> <tbody> <tr> <th>Fecha de alta:</th> <td>{{ equipo.falta ? equipo.falta|date('d-m-Y H:i:s') : '' }}</td> <th>Fecha de actualización:</th> <td>{{ equipo.factualizacion ? equipo.factualizacion|date('d-m-Y H:i:s') : '' }}</td> </tr> </tbody> </table> </fieldset> </div> </div> <!-- /.card --> </div> </div> </section> <!-- /.content --> </div>{% endblock %}{% block javascripts %} <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.bundle.min.js"></script> <script src="{{ asset('plugins/datatables/jquery.dataTables.min.js') }}"></script> <script src="{{ asset('plugins/datatables-bs4/js/dataTables.bootstrap4.min.js') }}"></script> <script src="{{ asset('plugins/datatables-responsive/js/dataTables.responsive.min.js') }}"></script> <script src="{{ asset('plugins/datatables-responsive/js/responsive.bootstrap4.min.js') }}"></script> <script src="{{ asset('plugins/datatables-buttons/js/dataTables.buttons.min.js') }}"></script> <script src="{{ asset('plugins/datatables-buttons/js/buttons.bootstrap4.min.js') }}"></script> <script src="{{ asset('plugins/jszip/jszip.min.js') }}"></script> <script src="{{ asset('plugins/pdfmake/pdfmake.min.js') }}"></script> <script src="{{ asset('plugins/pdfmake/vfs_fonts.js') }}"></script> <script src="{{ asset('plugins/datatables-buttons/js/buttons.html5.min.js') }}"></script> <script src="{{ asset('plugins/datatables-buttons/js/buttons.print.min.js') }}"></script> <script src="{{ asset('plugins/datatables-buttons/js/buttons.colVis.min.js') }}"></script> <script src="{{ asset('plugins/toastr/toastr.min.js') }}"></script> <script> $(document).ready(function() { $('#toggleRefaccionesBtn').on('click', function() { $('#refaccionesSection').toggleClass('hidden'); }); $('#refaccionesTable').DataTable({ "paging": true, "lengthChange": true, "searching": true, "ordering": true, "info": true, "autoWidth": false, "responsive": true, "language": { "url": "//cdn.datatables.net/plug-ins/1.11.3/i18n/es_es.json" } }); }); </script>{% endblock %}