{% extends 'base.html.twig' %}
{% block title %} - Solicitudes de Mantenimiento{% endblock %}
{% block stylesheets %}
<link rel="stylesheet" href="{{ asset('plugins/datatables-bs4/css/dataTables.bootstrap4.min.css') }}">
<link rel="stylesheet" href="{{ asset('plugins/datatables-responsive/css/responsive.bootstrap4.min.css') }}">
<link rel="stylesheet" href="{{ asset('plugins/datatables-buttons/css/buttons.bootstrap4.min.css')}}">
<link rel="stylesheet" href="{{ asset('plugins/toastr/toastr.min.css') }}">
{% 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">Solicitudes de Mantenimiento</h1>
<div class="card-tools">
<ol class="breadcrumb float-sm-right">
<li class="breadcrumb-item"><a href="#">Inicio</a></li>
<li class="breadcrumb-item active"><b>Solicitudes de Mantenimiento</b></li>
</ol>
</div>
</div>
</div>
</section>
<section class="content">
<div class="container-fluid">
<div class="row">
<div class="col-12 col-sm-6 col-md-3">
<div id="estatusA" class="info-box">
<span class="info-box-icon bg-warning elevation-1"><i class="fas fa-info-circle text-white"></i></span>
<div class="info-box-content">
<span class="info-box-text">Pendientes</span>
<span class="info-box-number">0</span>
</div>
</div>
</div>
<div class="col-12 col-sm-6 col-md-3">
<div id="estatusB" class="info-box mb-3">
<span class="info-box-icon bg-danger elevation-1"><i class="fas fa-cog"></i></span>
<div class="info-box-content">
<span class="info-box-text">En proceso</span>
<span class="info-box-number">0</span>
</div>
</div>
</div>
<div class="col-12 col-sm-6 col-md-3">
<div id="estatusC" class="info-box mb-3">
<span class="info-box-icon bg-success elevation-1"><i class="fas fa-thumbs-up"></i></span>
<div class="info-box-content">
<span class="info-box-text">Atendidas (por evaluar)</span>
<span class="info-box-number">0</span>
</div>
</div>
</div>
<div class="col-12 col-sm-6 col-md-3">
<div id="estatusD" class="info-box mb-3">
<span class="info-box-icon bg-info elevation-1"><i class="fas fa-check-circle"></i></span>
<div class="info-box-content">
<span class="info-box-text">Evaluadas</span>
<span class="info-box-number">0</span>
</div>
</div>
</div>
</div>
</div>
</section>
{# <section class="content">
<div class="container-fluid">
<div class="row">
{% for i in equipos %}
<div class="col">
<div class="card">
<div class="card-body">
<div class="info-box">
<span class="info-box-icon bg-gradient-teal"><i class="fas fa-desktop"></i></span>
<div class="info-box-content">
<span class="info-box-text">Equipo</span>
</div>
</div>
<p><b>{{ i.marbete }}</b></p>
{# <p>{{ i.descripcion }}</p>
<p>{{ i.marca }}</p>
<p>{{ i.ubicacion }}</p>
<p>{{ i.usuario.nombre }} {{ i.usuario.papellido }} {{ i.usuario.sapellido }}</p> }
</div>
<div class="card-footer">
<a href="#modal-solicitud-programar" class="text-success" data-toggle="modal" onclick="solicitudProgramar('{{ path('prog_correctivo_solicitud_tipoa', {'id': i.idEqu}) }}')">
<i class="fas fa-clipboard-check" data-toggle="tooltip" title="Solicitar mantenimiento"></i>
</a>
<a href="#modal-vista-tipo" class="text-info" data-toggle="modal" onclick="vistaModalTipo('{{ path('prog_correctivo_vista_tipo', {'tipo': 'equipo', 'id': i.idEqu}) }}')">
<i class="fa fa-eye" data-toggle="tooltip" title="Ver"></i>
</a>
</div>
</div>
</div>
{% endfor %}
{% for i in impresoras %}
<div class="col">
<div class="card">
<div class="card-body" style="font-size: 15px;">
<div class="info-box">
<span class="info-box-icon bg-teal"><i class="fas fa-print"></i></span>
<div class="info-box-content">
<span class="info-box-text">Impresora</span>
</div>
</div>
<p><b>{{ i.marbete }}</b></p>
{# <p>{{ i.descripcion }}</p>
<p>{{ i.marca }}</p>
<p>{{ i.ubicacion }}</p>
<p>{{ i.usuario.nombre }} {{ i.usuario.papellido }} {{ i.usuario.sapellido }}</p> }
</div>
<div class="card-footer">
<a href="#modal-solicitud-programar" class="text-success" data-toggle="modal" onclick="solicitudProgramar('{{ path('prog_correctivo_solicitud_tipob', {'id': i.idImp}) }}')">
<i class="fas fa-clipboard-check" data-toggle="tooltip" title="Solicitar mantenimiento"></i>
</a>
<a href="#modal-vista-tipo" class="text-info" data-toggle="modal" onclick="vistaModalTipo('{{ path('prog_correctivo_vista_tipo', {'tipo': 'impresora', 'id': i.idImp}) }}')">
<i class="fa fa-eye" data-toggle="tooltip" title="Ver"></i>
</a>
</div>
</div>
</div>
{% endfor %}
{% for i in redes %}
<div class="col">
<div class="card">
<div class="card-body">
<div class="info-box">
<span class="info-box-icon bg-teal"><i class="fas fa-database"></i></span>
<div class="info-box-content">
<span class="info-box-text">Red</span>
</div>
</div>
<p><b>{{ i.marbete }}</b></p>
{# <p>{{ i.descripcion }}</p>
<p>{{ i.marca }}</p>
<p>{{ i.ubicacion }}</p>
<p>{{ i.usuario.nombre }} {{ i.usuario.papellido }} {{ i.usuario.sapellido }}</p> }
</div>
<div class="card-footer">
<a href="#modal-solicitud-programar" class="text-success" data-toggle="modal" onclick="solicitudProgramar('{{ path('prog_correctivo_solicitud_tipoc', {'id': i.idRed}) }}')">
<i class="fa fa-clipboard-check" data-toggle="tooltip" title="Solicitar mantenimiento"></i>
</a>
<a href="#modal-vista-tipo" class="text-info" data-toggle="modal" onclick="vistaModalTipo('{{ path('prog_correctivo_vista_tipo', {'tipo': 'red', 'id': i.idRed}) }}')">
<i class="fa fa-eye" data-toggle="tooltip" title="Ver"></i>
</a>
</div>
</div>
</div>
{% endfor %}
{% for i in otros %}
<div class="col">
<div class="card">
<div class="card-body">
<div class="info-box">
<span class="info-box-icon bg-teal"><i class="fas fa-memory"></i></span>
<div class="info-box-content">
<span class="info-box-text">Otro</span>
</div>
</div>
<p><b>{{ i.marbete }}</b></p>
{# <p>{{ i.descripcion }}</p>
<p>{{ i.marca }}</p>
<p>{{ i.ubicacion }}</p>
<p>{{ i.usuario.nombre }} {{ i.usuario.papellido }} {{ i.usuario.sapellido }}</p> }
</div>
<div class="card-footer">
<a href="#modal-solicitud-programar" class="text-success" data-toggle="modal" onclick="solicitudProgramar('{{ path('prog_correctivo_solicitud_tipod', {'id': i.idOtro}) }}')">
<i class="fa fa-clipboard-check" data-toggle="tooltip" title="Solicitar mantenimiento"></i>
</a>
<a href="#modal-vista-tipo" class="text-info" data-toggle="modal" onclick="vistaModalTipo('{{ path('prog_correctivo_vista_tipo', {'tipo': 'otro', 'id': i.idOtro}) }}')">
<i class="fa fa-eye" data-toggle="tooltip" title="Ver"></i>
</a>
</div>
</div>
</div>
{% endfor %}
</div>
</div>
</section> #}
<!-- Main content -->
<section class="content">
<div class="row justify-content-center">
<div class="col-12">
<!-- Default box -->
<div class="card card-outline card-teal p-3 collapsed-card">
<div class="card-header row" style="background: #bacbff85;">
<h3>Equipos en <small class="text-success">Resguardo</small></h3>
<div class="col text-right">
<button type="button" class="btn btn-tool" data-card-widget="collapse" title="Collapse" style="color: #000000; background: #ffffff;">
<i class="fas fa-plus"></i>
</button>
{# <button type="button" class="btn btn-tool" data-card-widget="remove" title="Remove">
<i class="fas fa-times"></i>
</button> #}
</div>
</div>
<div class="card-body">
<table id="tipo" class="table table-hover table-sm w-100">
<thead>
<tr>
<th>Tipo de Equipo</th>
<th>Marbete</th>
<th>Ubicación</th>
<th>Descripción</th>
<th colspan="2" style="text-align: center;">Acciones</th>
</tr>
</thead>
<tbody>
{% for e in equipos %}
<tr id="equipo-{{ e.idEqu }}">
<th>Equipo</th>
<td>{{ e.marbete }}</td>
<td>{{ e.ubicacion }}</td>
<td> Marca: <b>{{ e.idMarca.marca }}</b><br>Modelo: <b>{{ e.modelo }}</b></td>
<td style="text-align: right;">
<a href="#modal-solicitud-programar" class="text-success" data-toggle="modal" onclick="solicitudProgramar('{{ path('prog_correctivo_solicitud_tipoa', {'id': e.idEqu}) }}')">
<i class="fas fa-clipboard-check" data-toggle="tooltip" title="Solicitar mantenimiento"></i>
</a>
</td>
<td >
<a href="#modal-vista-tipo" class="text-info" data-toggle="modal" onclick="vistaModalTipo('{{ path('prog_correctivo_vista_tipo', {'tipo': 'Equipo', 'id': e.idEqu}) }}')">
<i class="fa fa-eye" data-toggle="tooltip" title="Ver"></i>
</a>
</td>
</tr>
{% endfor %}
{% for i in impresoras %}
<tr id="impresora-{{ i.idImp }}">
<th>Impresora</th>
<td>{{ i.marbete }}</td>
<td>{{ i.ubicacion }}</td>
<td> Marca: <b>{{ i.marca }}</b><br>Modelo: <b>{{ i.modelo }}</b></td>
<td style="text-align: right;">
<a href="#modal-solicitud-programar" class="text-success" data-toggle="modal" onclick="solicitudProgramar('{{ path('prog_correctivo_solicitud_tipob', {'id': i.idImp}) }}')">
<i class="fas fa-clipboard-check" data-toggle="tooltip" title="Solicitar mantenimiento"></i>
</a>
</td>
<td>
<a href="#modal-vista-tipo" class="text-info" data-toggle="modal" onclick="vistaModalTipo('{{ path('prog_correctivo_vista_tipo', {'tipo': 'Impresora', 'id': i.idImp}) }}')">
<i class="fa fa-eye" data-toggle="tooltip" title="Ver"></i>
</a>
</td>
</tr>
{% endfor %}
{% for r in redes %}
<tr id="red-{{ r.idRed }}">
<th>Red</th>
<td>{{ r.marbete }}</td>
<td>{{ r.ubicacion }}</td>
<td> Marca: <b>{{ r.marca }}</b><br>Modelo: <b>{{ r.modelo }}</b></td>
<td style="text-align: right;">
<a href="#modal-solicitud-programar" class="text-success" data-toggle="modal" onclick="solicitudProgramar('{{ path('prog_correctivo_solicitud_tipoc', {'id': r.idRed}) }}')">
<i class="fa fa-clipboard-check" data-toggle="tooltip" title="Solicitar mantenimiento"></i>
</a>
</td>
<td >
<a href="#modal-vista-tipo" class="text-info" data-toggle="modal" onclick="vistaModalTipo('{{ path('prog_correctivo_vista_tipo', {'tipo': 'Red', 'id': r.idRed}) }}')">
<i class="fa fa-eye" data-toggle="tooltip" title="Ver"></i>
</a>
</td>
</tr>
{% endfor %}
{% for o in otros %}
<tr id="otro-{{ o.idOtro }}">
<th>Otro</th>
<td>{{ o.marbete }}</td>
<td>{{ o.ubicacion }}</td>
<td> Marca: <b>{{ o.marca }}</b><br>Modelo: <b>{{ o.modelo }}</b></td>
<td style="text-align: right;">
<a href="#modal-solicitud-programar" class="text-success" data-toggle="modal" onclick="solicitudProgramar('{{ path('prog_correctivo_solicitud_tipod', {'id': o.idOtro}) }}')">
<i class="fa fa-clipboard-check" data-toggle="tooltip" title="Solicitar mantenimiento"></i>
</a>
</td>
<td>
<a href="#modal-vista-tipo" class="text-info" data-toggle="modal" onclick="vistaModalTipo('{{ path('prog_correctivo_vista_tipo', {'tipo': 'Otro', 'id': o.idOtro}) }}')">
<i class="fa fa-eye" data-toggle="tooltip" title="Ver"></i>
</a>
</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
<!-- /.card-body -->
<div class="card-footer">
</div>
<!-- /.card-footer-->
</div>
<!-- /.card -->
</div>
</div>
</section>
<!-- Main content -->
<section class="content">
<div class="row justify-content-center">
<div class="col-12">
<!-- Default box -->
<div class="card card-outline card-teal p-3 collapsed-card">
<div class="card-header row" style="background: #baffbe85;">
<h3>Solicitudes de <small class="text-success">Mantenimientos en curso</small></h3>
<div class="col text-right">
<button type="button" class="btn btn-tool" data-card-widget="collapse" title="Collapse" style="color: #000000; background: #ffffff;">
<i class="fas fa-plus"></i>
</button>
{# <button type="button" class="btn btn-tool" data-card-widget="remove" title="Remove">
<i class="fas fa-times"></i>
</button> #}
</div>
</div>
<div class="card-body">
<table id="solicitud_consulta_reporte" class="table table-hover w-100">
<thead>
<tr>
<th>No. Solicitud</th>
<th>Tipo de Equipo</th>
<th>Marbete</th>
<th>Descripción</th>
<th>Incidente</th>
<th>MC/MP</th>
<th>Estatus</th>
<th>Accion</th>
</tr>
</thead>
<tbody>
{% for s in solicitudes %}
<tr id="solicitud-{{ s.id_sol }}">
<th>{{ s.id_sol }}</th>
<th>{{ s.tipo_equipo }}</th>
<th>{{ s.marbete }}</th>
<td> Marca: <b>{{ s.marca }}</b><br>Modelo: <b>{{ s.modelo }}</b></td>
<td>{{ s.falla }}</td>
<td>{{ s.tipo_mantenimiento }}</td>
<td class="estatus">
{% if s.estatus == 1 %}
<div class="badge bg-gradient-warning text-white" style="width: 6rem;">Pendiente</div>
{% elseif s.estatus == 2 %}
<div class="badge bg-gradient-danger" style="width: 6rem;">En proceso</div>
{% elseif s.estatus == 3 %}
<div class="badge bg-gradient-primary" style="width: 6rem;">Atendido</div>
{% elseif s.estatus == 4 %}
<div class="badge bg-gradient-success" style="width: 6rem;">Evaluado</div>
{% endif %}
</td>
<td>
<a href="#modal-vista-solicitud" class="text-info" data-toggle="modal" onclick="vistaModalSolicitud('{{ path('prog_correctivo_vista_solicitud', {'id': s.id_sol}) }}')">
<i class="fa fa-eye" data-toggle="tooltip" title="Ver"></i>
</a>
{% if s.estatus == 3 %}
<a href="#modal-solicitud-evaluacion" class="evaluacion" data-toggle="modal" onclick="evaluacion('{{ path('prog_correctivo_evaluacion', {'idSol': s.id_sol}) }}')">
<i class="fa fa-check-circle text-primary"></i>
</a>
{% endif %}
</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
<!-- /.card-body -->
<div class="card-footer">
</div>
<!-- /.card-footer-->
</div>
<!-- /.card -->
</div>
</div>
</section>
<!-- Modal de solicitud para programar mantenimiento correctivo -->
<div class="modal hide" id="modal-solicitud-programar"></div>
<!-- /.modal de solicitud para programar mantenimiento correctivo -->
<!-- Modal vista de informacion de equipos -->
<div class="modal hide" id="modal-vista-tipo"></div>
<!-- /.modal vista de informacion de equipos -->
<!-- Modal vista de informacion de solicitud -->
<div class="modal hide" id="modal-vista-solicitud"></div>
<!-- /.modal vista de informacion de solicitud -->
<!-- Modal de evaluación de mantenimiento correctivo -->
<div class="modal hide" id="modal-solicitud-evaluacion"></div>
<!-- /.modal de evaluacion de mantenimiento preventivo correctivo -->
</div>
{% endblock %}
{% block javascripts %}
<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 type="text/javascript">
$("#solicitud-mtto").addClass("active");
$(document).ready(function(){
$('[data-card-widget="collapse"]').on('expanded.lte.cardwidget', function () {
$($.fn.dataTable.tables(true)).DataTable()
.columns.adjust();
});
$('[data-toggle="tooltip"]').tooltip();
$('#tipo').DataTable({
"aaSorting": [],
orderCellsTop: true,
{# Define un valor predeterminado para LengthChange #}
"pageLength": 50,
"scrollX": true,
{# sDom: 'lrtip', #}
"bLengthChange" : true,
language: {
url: 'https://cdn.datatables.net/plug-ins/1.10.22/i18n/Spanish.json'
}
});
$('#solicitud_consulta_reporte').DataTable({
"aaSorting": [],
orderCellsTop: true,
{# Define un valor predeterminado para LengthChange #}
"pageLength": 50,
"scrollX": true,
{# sDom: 'lrtip', #}
"bLengthChange" : true,
language: {
url: 'https://cdn.datatables.net/plug-ins/1.10.22/i18n/Spanish.json'
}
});
vistaDashboard();
restriccionCrearSolicitud();
});
function vistaDashboard()
{
$.ajax({
type: "POST",
url: '{{ path('prog_correctivo_vista') }}',
dataType: "json",
cache: false,
contentType: false,
processData: false,
success: function (data) {
console.log(data);
let datos = data;
if(datos.data[1]){
row = $('#estatusA');
row.find('.info-box-number').text(datos.data[1].solicitudCont);
}
if(datos.data[2]){
row = $('#estatusB');
row.find('.info-box-number').text(datos.data[2].solicitudCont);
}
if(datos.data[3]){
row = $('#estatusC');
row.find('.info-box-number').text(datos.data[3].solicitudCont);
}
if(datos.data[4]){
row = $('#estatusD');
row.find('.info-box-number').text(datos.data[4].solicitudCont);
}
},
error: function (data, text, error) {
$(document).Toasts('create', {
autohide: true,
delay: 3000,
class: 'bg-danger',
title: 'Actualización de Dashboard',
subtitle: 'Ocurrio un error',
body: data.responseJSON.mensaje
});
},
complete: function () {
}
});
}
function restriccionCrearSolicitud()
{
{% for s in solicitudes %}
{% if s.tipo_equipo == 'Equipo' %}
row = $('#equipo-{{ s.id_equipo }}');
{% elseif s.tipo_equipo == 'Impresora' %}
row = $('#impresora-{{ s.id_equipo }}');
{% elseif s.tipo_equipo == 'Red' %}
row = $('#red-{{ s.id_equipo }}');
{% else %}
row = $('#otro-{{ s.id_equipo }}');
{% endif %}
{% if s.tipo_mantenimiento == "MC" and s.estatus in [1,2,3] %}
row.find('.text-success').css('display', 'none');
{% endif %}
{% if s.tipo_mantenimiento == "ST" and s.estatus in [1,2,3] %}
row.find('.text-success').css('display', 'none');
{% endif %}
{% endfor %}
}
function vistaModalTipo(url)
{
$('#modal-vista-tipo').load(url, function ()
{
// configuración del Modal
$("#modal-vista-tipo").on('hide.bs.modal', function () {
$(this).html('Cargando');
});
$(".modal-dialog").draggable;
vistaModalTipoAjax(url);
})
}
function vistaModalTipoAjax(url)
{
$.ajax({
type: "POST",
url: url,
dataType: "json",
cache: false,
contentType: false,
processData: false,
success: function (data){
},
error: function (data, text, error) {
},
complete: function () {
}
});
}
function vistaModalSolicitud(url)
{
$('#modal-vista-solicitud').load(url, function ()
{
// configuración del Modal
$("#modal-vista-solicitud").on('hide.bs.modal', function () {
$(this).html('Cargando');
});
$(".modal-dialog").draggable;
vistaModalSolicitudAjax(url);
})
}
function vistaModalSolicitudAjax(url)
{
$.ajax({
type: "POST",
url: url,
dataType: "json",
cache: false,
contentType: false,
processData: false,
success: function (data){
},
error: function (data, text, error) {
},
complete: function () {
}
});
}
function solicitudProgramar(url)
{
$('#modal-solicitud-programar').load(url, function ()
{
// configuración del Modal
$("#modal-solicitud-programar").on('hide.bs.modal', function () {
$(this).html('Cargando');
});
$(".modal-dialog").draggable;
solicitudProgramarAjax(url)
})
}
function solicitudProgramarAjax(url)
{
let send = $("#editar_usuario_guardar");
$('#editar_usuario_guardar').on('click', function () {
let formData = new FormData(document.getElementById("form-programar-solicitud"));
$.ajax({
type: "POST",
url: url,
data: formData, // Adjuntar los campos del formulario enviado.
dataType: "json",
cache: false,
contentType: false,
processData: false,
beforeSend: function () {
send.text("Enviando solicitud "); // Para input de tipo button
send.append("<i class='fa fa-spinner fa-spin' style='font-size:16px'></i>");
send.prop("disabled", true);
},
success: function (data){
console.log(data);
let row = '<tr id="solicitud-' + data.solicitud + '">' +
'<th>' + data.solicitud + '</th>' +
'<th>' + data.tipo_equipo + '</th>' +
'<th>' + data.marbete + '</th>' +
'<td> Marca: <b>' + data.marca + '</b><br>Modelo: <b>' + data.modelo + '</b></td>' +
'<td>' + data.falla + '</td>' +
'<td>' + data.tipo_mantenimiento + '</td>' +
'<td class="estatus">' +
'<div class="badge bg-gradient-warning text-white" style="width: 6rem;">Pendiente</div>' +
'</td>' +
'<td>' +
'<a href="#modal-vista-solicitud" class="text-info" data-toggle="modal" onclick="vistaModalSolicitud(\'' + data.ver_solicitud + '\')">' +
'<i class="fa fa-eye" data-toggle="tooltip" title="Ver"></i>' +
'</a>' +
{# '<a href="#modal-solicitud-evaluacion" class="evaluacion" data-toggle="modal" onclick="evaluacion('{{ path('prog_correctivo_evaluacion', {'idSol': s.id_sol}) }}')">' +
'<i class="fa fa-check-circle text-primary"></i>' +
'</a>' + #}
'</td>' +
'</tr>';
$("#solicitud_consulta_reporte").append(row).html();
tipo = data.tipo_equipo
if (tipo === 'Equipo'){
row = $('#equipo-' + data.equipo);
}
if (tipo === 'Impresora'){
row = $('#impresora-' + data.equipo);
}
if (tipo === 'Red'){
row = $('#red-' + data.equipo);
}
if (tipo === 'Otro'){
row = $('#otro-' + data.equipo);
}
row.find('.text-success').css('display', 'none');
closeModal('modal-solicitud-programar');
vistaDashboard();
$(document).Toasts('create', {
autohide: true,
delay: 10000,
class: 'bg-success',
title: 'Solicitud de Mantenimiento',
subtitle: 'Éxito',
body: data.mensaje
});
},
error: function (data, text, error) {
$(document).Toasts('create', {
autohide: true,
delay: 5000,
class: 'bg-danger',
title: 'Solicitud de Manteniñmiento',
subtitle: 'Ocurrió un error',
body: data.responseJSON.mensaje
});
},
complete: function () {
setTimeout(function(){
send.text("Enviar solicitud"); // Para input de tipo button
send.append("<i></i>");
send.prop("disabled", false);
}, 5000);
}
});
return false; // Evitar ejecutar el submit del formulario.
});
}
function solicitudProgramada(url)
{
$('#modal-solicitud-programada').load(url, function ()
{
// configuración del Modal
$("#modal-solicitud-programada").on('hide.bs.modal', function () {
$(this).html('Cargando');
});
$(".modal-dialog").draggable;
solicitudProgramadaAjax(url)
})
}
function solicitudProgramadaAjax(url)
{
let send = $("#btn_evaluacion_solicitud");
$('#btn_evaluacion_solicitud').on('click', function () {
$.ajax({
type: "POST",
url: url,
dataType: "json",
cache: false,
contentType: false,
processData: false,
beforeSend: function () {
send.text("Actualizando "); // Para input de tipo button
send.append("<i class='fa fa-spinner fa-spin' style='font-size:16px'></i>");
send.prop("disabled", true);
},
success: function (data) {
$(document).Toasts('create', {
autohide: true,
delay: 3000,
class: 'bg-success',
title: 'Evaluación de Mantenimiento Correctivo',
subtitle: 'Éxito',
body: data.mensaje
});
closeModal('modal-solicitud-programada');
},
error: function (data, text, error) {
$(document).Toasts('create', {
autohide: true,
delay: 3000,
class: 'bg-warning',
title: 'Evaluación de Mantenimiento Correctivo',
subtitle: 'Ocurrió un error',
body: data.responseJSON.mensaje
});
},
complete: function () {
}
});
return false; // Evitar ejecutar el submit del formulario.
});
}
function evaluacion(url)
{
$('#modal-solicitud-evaluacion').load(url, function ()
{
// configuración del Modal
$("#modal-solicitud-evaluacion").on('hide.bs.modal', function () {
$(this).html('Cargando');
});
$(".modal-dialog").draggable;
evaluacionAjax(url)
})
}
function evaluacionAjax(url)
{
let send = $("#evaluacion_correctivo_guardar");
$('#evaluacion_correctivo_guardar').on('click', function () {
let formData = new FormData(document.getElementById("form-evaluacion-solicitud"));
$.ajax({
type: "POST",
url: url,
data: formData, // Adjuntar los campos del formulario enviado.
dataType: "json",
cache: false,
contentType: false,
processData: false,
beforeSend: function () {
send.text("Actualizando "); // Para input de tipo button
send.append("<i class='fa fa-spinner fa-spin' style='font-size:16px'></i>");
send.prop("disabled", true);
},
success: function (data) {
closeModal('modal-solicitud-evaluacion');
row = $('#solicitud-' + data.id);
row.find('.evaluacion').css('display', 'none');
row.find('.estatus').html(data.estatus);
row.fadeOut();
vistaDashboard();
$(document).Toasts('create', {
autohide: true,
delay: 3000,
class: 'bg-success',
title: 'Éxito',
subtitle: 'Evaluación de solicitud de mantenimiento',
body: data.mensaje
});
},
error: function (data, text, error) {
let datos = data.responseJSON;
$("#modal-solicitud-evaluacion").html(datos.form);
evaluacionAjax(url);
},
complete: function () {
}
});
return false; // Evitar ejecutar el submit del formulario.
});
}
</script>
{% endblock %}