{% 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;
}
</style>
{% endblock %}
{# Plantilla de Twig #}
{% form_theme form 'bootstrap_4_layout.html.twig' %}
<!-- Modal with form -->
<!-- div class="modal fade" id="exampleModal" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true" -->
<div class="modal-dialog modal-lg" role="document">
<div class="modal-content p-4">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel"><b>Modificación de Solicitud : </b><b><span class="text-success">{{ solicitud.idSol }}</span></b><small></small></h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
{# Datos del equipo #}
<div class="card">
<div class="card-header " class="" style="background: #75BFFF">
<h3 class="card-title text-center" >Datos de la solicitud del equipo - {{ solicitud.idSol }}</h3>
{# <div class="card-tools">
<button type="button" class="btn btn-tool" data-card-widget="collapse" title="Collapse">
<i class="fas fa-minus"></i>
</button>
</div> #}
</div>
<div class="card-body">
<div><strong>Usuario:</strong> {{solicitud.usuario}} {{solicitud.usuario.pApellido}}{{solicitud.usuario.sApellido}} <strong>Correo:</strong> {{solicitud.usuario.correo}} </div>
<div class="card-body">
{{ form_start(form, {'attr': {'class': 'form-horizontal', 'id': 'form-editar-solicitud'}}) }}
{# Datos del equipo #}
<input type="hidden" name="_solicitud" value="{{ solicitud.idSol }}">
<div class="row">
<div class="col-lg">{{ form_row(form.falla, { 'attr': {'readonly': 'false'} }) }}</div>
</div>
<div class="row">
<div class="col-lg">{{ form_row(form.srealizado) }}</div>
</div>
<div class="row">
<div class="col-lg">{{ form_row(form.tipoEquipo, { 'attr': {'readonly': 'false'} } ) }}</div>
<div class="col-lg">{{ form_row(form.refacciones ) }}</div>
<div class="col-lg">{{ form_row(form.estatus ) }}</div>
</div>
<div class="row table-refaccion">
<div class="col"></div>
</div>
<span class="mensajeError text-danger" style="display: none"></span>
{#<div class="row">
<div class="col-lg">{{ form_row(form.tipoMantenimiento ) }}</div>
<div class="col-lg">{{ form_row(form.usuario) }}</div>
</div>#}
{{ form_end(form) }}
<br>
<div class="row">
<div class="col text-center">
<button class="btn btn-outline-success" id="btn_solicitud_guardar">{{ button_label|default('Guardar') }}</button>
</div>
<div class="col text-center">
<button type="button" class="btn btn-outline-primary" data-dismiss="modal" aria-label="Close">
Cancelar
</button>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
{% block javascripts %}
<script type="text/javascript">
$(document).ready(function() {
usoRefacciones();
});
function usoRefacciones(){
const selectElement = document.querySelector('#solicitud_refacciones');
let formData = new FormData(document.getElementById("form-editar-solicitud"));
let html = '';
let body = '';
$.ajax({
type: "POST",
url: '{{ path('app_solicitud_modal') }}',
dataType: "json",
cache: false,
contentType: false,
processData: false,
success: function (data){
for (let i = 0; i < data.catComponente.length; i++) {
body += '<tr>' +
'<td>' + (data.catComponente[i]['tipo'] ?? '') + '</td>' +
'<td>' + (data.catComponente[i]['marca'] ?? '') + '</td>' +
'<td>' + (data.catComponente[i]['modelo'] ?? '') + '</td>' +
'<td>' + (data.catComponente[i]['nucleos'] ?? '') + '</td>' +
'<td>' + (data.catComponente[i]['velocidad'] ?? '') + '</td>' +
'<td>' + (data.catComponente[i]['capacidad_memoria'] ?? '') + '</td>' +
'<td><input type="checkbox" class="refaccion-checkbox" name="componente[]" value="' + data.catComponente[i]['id_inventario'] + '" data-id="' + data.catComponente[i]['id_inventario'] + '" data-tipo="' + data.catComponente[i]['tipo'] + '" data-nucleos="' + data.catComponente[i]['nucleos'] + '" data-velocidad="' + data.catComponente[i]['velocidad'] + '" data-capacidad="' + data.catComponente[i]['capacidad_memoria'] + '" data-marca="' + data.catComponente[i]['marca'] + '" data-modelo="' + data.catComponente[i]['modelo'] + '"></td>' +
'</tr>';
}
},
error: function (data, text, error) {
},
complete: function () {
const valorSeleccionado = selectElement.value;
html = '<table id="refacciones-table" class="table">' +
'<thead>' +
'<tr>' +
'<th>Tipo</th>' +
'<th>Marca</th>' +
'<th>Modelo</th>' +
'<th>Núcleos</th>' +
'<th>Velocidad</th>' +
'<th>Cap_memoria</th>' +
'<th>Utilizar</th>' +
'</tr>' +
'</thead>' +
'<tbody>' +
body +
'</tbody>' +
'</table>';
if (valorSeleccionado === '1') {
$('.table-refaccion').html(html);
} else {
$('.table-refaccion').html('');
}
}
});
selectElement.addEventListener('change', function(event) {
const selectedOption = this.options[this.selectedIndex];
if (selectedOption.value === '1') {
html = '<table id="refacciones-table" class="table">' +
'<thead>' +
'<tr>' +
'<th>Tipo</th>' +
'<th>Marca</th>' +
'<th>Modelo</th>' +
'<th>Núcleos</th>' +
'<th>Velocidad</th>' +
'<th>Cap_memoria</th>' +
'<th>Utilizar</th>' +
'</tr>' +
'</thead>' +
'<tbody>' +
body +
'</tbody>' +
'</table>';
$('.table-refaccion').html(html);
} else {
$('.table-refaccion').html('');
}
});
}
</script>
{% endblock %}