templates/solicitud/index.html.twig line 1

Open in your IDE?
  1. {% extends 'base.html.twig' %}
  2. {% block stylesheets %}
  3.     <link rel="stylesheet" href="{{ asset('plugins/datatables-bs4/css/dataTables.bootstrap4.min.css') }}">
  4.     <link rel="stylesheet" href="{{ asset('plugins/datatables-responsive/css/responsive.bootstrap4.min.css') }}">
  5.     <link rel="stylesheet" href="{{ asset('plugins/datatables-buttons/css/buttons.bootstrap4.min.css')}}">
  6.     <link rel="stylesheet" href="{{ asset('plugins/toastr/toastr.min.css') }}">
  7.     <style>
  8.         label {
  9.             margin-right: 1rem;
  10.         }
  11.     </style>
  12. {% endblock %}
  13. {% block body %}
  14.     <div class="content-wrapper">
  15.         <!-- Content Header (Page header) -->
  16.         <section class="content-header">
  17.             <div class="card">
  18.                 <div class="card-header">
  19.                     <h1 class="card-title">Atención a solicitudes de mantenimiento</h1>
  20.                     <div class="card-tools">
  21.                         <ol class="breadcrumb float-sm-right">
  22.                             <li class="breadcrumb-item">Inicio</li>
  23.                             <li class="breadcrumb-item active"> </li>
  24.                         </ol>
  25.                     </div>
  26.                 </div>
  27.             </div>
  28.         </section>
  29.         {# Solicitudes de mantenimiento recibidas del plantel #}
  30.         <section class="content">
  31.             <!-- Default box -->
  32.             <div class="card card-outline card-teal p-3">
  33.                 <div class="card-header" style="background: #e9fad4;">
  34.                     <h1 class="card-title"><b>Solicitudes de mantenimiento <small class="text-success"><b>Recibidas del plantel</b></small></b></h1>
  35.                     <div class="card-tools">
  36.                         <button type="button" class="btn btn-tool" data-card-widget="collapse" title="Collapse" style="color: #000000; background: #ffffff;">
  37.                             <i class="fas fa-plus"></i>
  38.                         </button>
  39.                     </div>
  40.                     <br>
  41.                     <br>
  42.                     <section class="content">
  43.                         <div class="container-fluid">
  44.                             <div class="row">
  45.                                 <div class="col-12 col-sm-6 col-md-3">
  46.                                     <div id="estatusA" class="info-box">
  47.                                         <span class="info-box-icon bg-warning elevation-1"><i class="fas fa-info-circle text-white"></i></span>
  48.                                         <div class="info-box-content">
  49.                                             <span class="info-box-text">Pendientes</span>
  50.                                             <span class="info-box-number">0</span>
  51.                                         </div>
  52.                                     </div>
  53.                                 </div>
  54.                                 <div class="col-12 col-sm-6 col-md-3">
  55.                                     <div id="estatusB" class="info-box mb-3">
  56.                                         <span class="info-box-icon bg-danger elevation-1"><i class="fas fa-cog"></i></span>
  57.                                         <div class="info-box-content">
  58.                                             <span class="info-box-text">En proceso</span>
  59.                                             <span class="info-box-number">0</span>
  60.                                         </div>
  61.                                     </div>
  62.                                 </div>
  63.                                 <div class="clearfix hidden-md-up"></div>
  64.                                 <div class="col-12 col-sm-6 col-md-3">
  65.                                     <div id="estatusC" class="info-box mb-3">
  66.                                         <span class="info-box-icon bg-success elevation-1"><i class="fas fa-thumbs-up"></i></span>
  67.                                         <div class="info-box-content">
  68.                                             <span class="info-box-text">Atendidas (por evaluar)</span>
  69.                                             <span class="info-box-number">0</span>
  70.                                         </div>
  71.                                     </div>
  72.                                 </div>
  73.                                 <div class="col-12 col-sm-6 col-md-3">
  74.                                     <div id="estatusD" class="info-box mb-3">
  75.                                         <span class="info-box-icon bg-info elevation-1"><i class="fas fa-check-circle"></i></span>
  76.                                         <div class="info-box-content">
  77.                                             <span class="info-box-text">Evaluadas</span>
  78.                                             <span class="info-box-number">0</span>
  79.                                         </div>
  80.                                     </div>
  81.                                 </div>
  82.                             </div>
  83.                         </div>
  84.                     </section>
  85.                 </div>
  86.                 <div class="card-body">
  87.                     <section class="content">
  88.                         <div class="row justify-content-center">
  89.                             <div class="col-12">
  90.                                 <!-- Default box -->
  91.                                 <div class="card card-outline card-teal p-3">
  92.                                     <div class="card-body">
  93.                                         <table id="table-solicitud" class="table table-hover w-100">
  94.                                             <thead>
  95.                                             <tr>
  96.                                                 <th>Solicitud</th>
  97.                                                 <th>Marbete</th>
  98.                                                 <th>Descripción</th>
  99.                                                 <th>Usuario</th>
  100.                                                 <th>Acción a realizar</th>
  101.                                                 <th>Tipo</th>
  102.                                                 <th>Estatus</th>
  103.                                                 <th>No.M</th>
  104.                                                 <th>Accion</th>
  105.                                             </tr>
  106.                                             </thead>
  107.                                             <tbody>
  108.                                             {% for s in solicitudes %}
  109.                                                 <tr id="solicitud-{{ s.id_sol }}">
  110.                                                     <td class="id">{{ s.id_sol }}</td>
  111.                                                     <th class="idEquipo" >{{ s.marbete }}</th>
  112.                                                     <td class="tipoEquipo"> Marca: <b>{{ s.marca }}</b> <br>Modelo: <b>{{ s.modelo }}</b> <br>No.M: <b>{{ s.mantenimiento_count  }}</b> </td>
  113.                                                     <td class="usuario" >{{ s.unombre }} {{ s.uapellido }}</td>
  114.                                                     <td class="falla text-justify" >{{ s.falla }}</td>
  115.                                                     <td class="tipoMantenimiento" >{{ s.tipo_mantenimiento }}</td>
  116.                                                     <td class="estatus">
  117.                                                         {% if s.estatus == 1 %}
  118.                                                             <span class="badge bg-gradient-yellow d-block" style="width: 8rem;">Pendiente</span>
  119.                                                         {% elseif s.estatus == 2 %}
  120.                                                             <span class="badge bg-gradient-danger d-block" style="width: 8rem;">En proceso</span>
  121.                                                         {% elseif s.estatus == 3 %}
  122.                                                             <span class="badge bg-gradient-primary d-block" style="width: 8rem;">Atendido</span>
  123.                                                             {# <a href="#modal-solicitud-evaluacion" class="evaluacion" data-toggle="modal" onclick="evaluacion('{{ path('prog_correctivo_evaluacion', {'idSol': s.idsolicitud}) }}')">
  124.                                                                 <i class="fa fa-check-circle text-primary"></i>
  125.                                                             </a> #}
  126.                                                         {% elseif s.estatus == 4 %}
  127.                                                             <span class="badge bg-gradient-green d-block" style="width: 8rem;">Evaluado</span>
  128.                                                         {% endif %}
  129.                                                     </td>
  130.                                                     <td class="tipoEquipo">
  131.                                                         <span style="background-color: #c2e0c6; border: 1px solid #6fa56f; padding: 4px;">
  132.                                                             <b>{{ s.mantenimiento_count }}</b>
  133.                                                         </span>
  134.                                                     </td>
  135.                                                     <td class="text-right" style="white-space: nowrap">
  136.                                                         {# Visualización de datos del equipo #}
  137.                                                         {% if s.tipo_equipo == 'Equipo' %}
  138.                                                             <a href="#modal-solicitud-vista" class="text-info btn" data-toggle="modal" onclick="vistaTipo('{{ path('prog_correctivo_vista_tipo', {'tipo': 'Equipo', 'id': s.id_equipo}) }}')">
  139.                                                                 <i class="fa fa-laptop" data-toggle="tooltip" title="Datos del Equipo de Cómputo"></i>
  140.                                                             </a>
  141.                                                         {% elseif s.tipo_equipo == 'Impresora' %}
  142.                                                             <a href="#modal-solicitud-vista" class="text-info btn" data-toggle="modal" onclick="vistaTipo('{{ path('prog_correctivo_vista_tipo', {'tipo': 'Impresora', 'id': s.id_equipo}) }}')">
  143.                                                                 <i class="fa fa-print" data-toggle="tooltip" title="Datos de la impresora"></i>
  144.                                                             </a>
  145.                                                         {% elseif s.tipo_equipo == 'Red' %}
  146.                                                             <a href="#modal-solicitud-vista" class="text-info btn" data-toggle="modal" onclick="vistaTipo('{{ path('prog_correctivo_vista_tipo', {'tipo': 'Red', 'id': s.id_equipo}) }}')">
  147.                                                                 <i class="fa fa-wifi" data-toggle="tooltip" title="Datos del dispositivo de red"></i>
  148.                                                             </a>
  149.                                                         {% elseif s.tipo_equipo == 'Otro' %}
  150.                                                             <a href="#modal-solicitud-vista" class="text-info btn" data-toggle="modal" onclick="vistaTipo('{{ path('prog_correctivo_vista_tipo', {'tipo': 'Otro', 'id': s.id_equipo}) }}')">
  151.                                                                 <i class="fa fa-desktop" data-toggle="tooltip" title="Datos del equipo"></i>
  152.                                                             </a>
  153.                                                         {% endif %}
  154.                                                         {# Edición de los datos del equipo #}
  155.                                                         <a href="#modal-vista-solicitud" class="text-info btn" data-toggle="modal" onclick="vistaModalSolicitud('{{ path('app_solicitud_vista_detalle', {'id': s.id_sol}) }}', {{ s.id_sol }}, {{ s.estatus }})">
  156.                                                             <i class="fa fa-file" data-toggle="tooltip" title="Ver Solicitud"></i>
  157.                                                         </a>
  158.                                                         {% if s.estatus <= 3 %}
  159.                                                             <a href="#editar-solicitud" class="btn_editar btn" onclick="editarInfoSolicitud('{{ path('app_solicitud_edit', {'idSol': s.id_sol}) }}')" data-toggle="modal" title="Editar"><i class="fas fa-pen"></i></a>
  160.                                                         {% endif %}
  161.                                                     </td>
  162.                                                 </tr>
  163.                                             {% endfor %}
  164.                                             </tbody>
  165.                                         </table>
  166.                                     </div>
  167.                                 </div>
  168.                             </div>
  169.                         </div>
  170.                     </section>
  171.                 </div>
  172.             </div>
  173.         </section>
  174.     </div>
  175.     <!-- Modal vista de informacion de solicitud -->
  176.     <div class="modal hide" id="modal-vista-solicitud"></div>
  177.     <div class="modal hide" id="editar-solicitud"></div>
  178.     <!-- Modal de solicitud para programar mantenimiento correctivo -->
  179.     <div class="modal hide" id="modal-solicitud-programar"></div>
  180.     <!-- /.modal de solicitud para programar mantenimiento correctivo -->
  181.     <!-- Modal de solicitudes programadas para mantenimiento correctivo -->
  182.     <div class="modal hide" id="modal-solicitud-vista"></div>
  183.     <!-- /.modal de solicitudes programadas para mantenimiento correctivo -->
  184.     <!-- Modal de evaluación de mantenimiento correctivo -->
  185.     <div class="modal hide" id="modal-solicitud-evaluacion"></div>
  186.     <!-- /.modal de evaluacion de mantenimiento preventivo correctivo -->
  187. {% endblock %}
  188. {% block javascripts %}
  189.     <script src="{{ asset('plugins/datatables/jquery.dataTables.min.js') }}"></script>
  190.     <script src="{{ asset('plugins/datatables-bs4/js/dataTables.bootstrap4.min.js') }}"></script>
  191.     <script src="{{ asset('plugins/datatables-responsive/js/dataTables.responsive.min.js') }}"></script>
  192.     <script src="{{ asset('plugins/datatables-responsive/js/responsive.bootstrap4.min.js') }}"></script>
  193.     <script src="{{ asset('plugins/datatables-buttons/js/dataTables.buttons.min.js') }}"></script>
  194.     <script src="{{ asset('plugins/datatables-buttons/js/buttons.bootstrap4.min.js') }}"></script>
  195.     <script src="{{ asset('plugins/jszip/jszip.min.js') }}"></script>
  196.     <script src="{{ asset('plugins/pdfmake/pdfmake.min.js') }}"></script>
  197.     <script src="{{ asset('plugins/pdfmake/vfs_fonts.js') }}"></script>
  198.     <script src="{{ asset('plugins/datatables-buttons/js/buttons.html5.min.js') }}"></script>
  199.     <script src="{{ asset('plugins/datatables-buttons/js/buttons.print.min.js') }}"></script>
  200.     <script src="{{ asset('plugins/datatables-buttons/js/buttons.colVis.min.js') }}"></script>
  201.     <script src="{{ asset('plugins/toastr/toastr.min.js') }}"></script>
  202.     <script type="text/javascript">
  203.         $("#atencion-mtto").addClass("active");
  204.         $(function () {
  205.             // DataTable
  206.             $('#table-solicitud').DataTable({
  207.                 "aaSorting": [],
  208.                 orderCellsTop: true,
  209.                 {# Define un valor predeterminado para LengthChange #}
  210.                 "pageLength": 25,
  211.                 "scrollX": true,
  212.                 {# sDom: 'lrtip', #}
  213.                 "bLengthChange" : true,
  214.                 language: {
  215.                     url: 'https://cdn.datatables.net/plug-ins/1.10.22/i18n/Spanish.json'
  216.                 },
  217.             });
  218.             vistaDashboard();
  219.         });
  220.         // Contador de numero de solicitudes en dashbord
  221.         function vistaDashboard() {
  222.             $.ajax({
  223.                 type: "POST",
  224.                 url: '{{ path('app_solicitud_vista') }}',
  225.                 dataType: "json",
  226.                 cache: false,
  227.                 contentType: false,
  228.                 processData: false,
  229.                 success: function (data) {
  230.                     let datos = data;
  231.                     if(datos.data[1]){
  232.                         row = $('#estatusA');
  233.                         row.find('.info-box-number').text(datos.data[1].solicitudCont);
  234.                     }
  235.                     if(datos.data[2]){
  236.                         row = $('#estatusB');
  237.                         row.find('.info-box-number').text(datos.data[2].solicitudCont);
  238.                     }
  239.                     if(datos.data[3]){
  240.                         row = $('#estatusC');
  241.                         row.find('.info-box-number').text(datos.data[3].solicitudCont);
  242.                     }
  243.                     if(datos.data[4]){
  244.                         row = $('#estatusD');
  245.                         row.find('.info-box-number').text(datos.data[4].solicitudCont);
  246.                     }
  247.                 },
  248.                 error: function (data, text, error) {
  249.                     $(document).Toasts('create', {
  250.                         autohide: true,
  251.                         delay: 3000,
  252.                         class: 'bg-danger',
  253.                         title: 'Actualización de Dashboard',
  254.                         subtitle: 'Ocurrio un error',
  255.                         body: data.responseJSON.mensaje
  256.                     });
  257.                 },
  258.                 complete: function () {
  259.                 }
  260.             });
  261.         }
  262.         function actualizarVista() {
  263.             $.ajax({
  264.                 type: "POST",
  265.                 url: '{{ path('app_solicitud_vista') }}',
  266.                 dataType: "json",
  267.                 cache: false,
  268.                 contentType: false,
  269.                 processData: false,
  270.                 success: function (data) {
  271.                     let datos = data;
  272.                     console.log(datos.info);
  273.                     let row = "";
  274.                     for(let i = 0; i < datos.info.length; i++){
  275.                         row = $('#solicitud-' + datos.info[i].id);
  276.                         if (datos.info[i].estatus === '1') {
  277.                             row.find('.estatus').html('<div class="badge bg-gradient-yellow d-block" style="width: 8rem;">Pendiente</div>');
  278.                         }
  279.                         if (datos.info[i].estatus === '2') {
  280.                             row.find('.estatus').html('<div class="badge bg-gradient-danger d-block" style="width: 8rem;">En proceso</div>');
  281.                         }
  282.                         if (datos.info[i].estatus === '3') {
  283.                             row.find('.estatus').html('<div class="badge bg-gradient-primary d-block" style="width: 8rem;">Atendido</div>');
  284.                         }
  285.                         if (datos.info[i].estatus === '4') {
  286.                             row.find('.estatus').html('<div class="badge bg-gradient-green d-block" style="width: 8rem;">Evaluado</div>');
  287.                         }
  288.                     }
  289.                 },
  290.                 error: function (data, text, error) {
  291.                     $(document).Toasts('create', {
  292.                         autohide: true,
  293.                         delay: 3000,
  294.                         class: 'bg-danger',
  295.                         title: 'Actualización de Dashboard',
  296.                         subtitle: 'Ocurrio un error',
  297.                         body: data.responseJSON.mensaje
  298.                     });
  299.                 },
  300.                 complete: function () {
  301.                 }
  302.             });
  303.         }
  304.         function vistaInformacionTabla(data){
  305.             $.each(data, function (key, s) {
  306.                 row = $('#solicitud-' + s.id_sol);
  307.                 if (s.estatus === 'Pendiente') {
  308.                     row.find('.estatus').html('<div class="badge bg-gradient-yellow" style="width: 8rem;">Pendiente</div>');
  309.                 }
  310.                 if (s.estatus === 'En proceso') {
  311.                     row.find('.estatus').html('<div class="badge bg-gradient-danger" style="width: 8rem;">En proceso</div>');
  312.                 }
  313.                 if (s.estatus === 'Atendido') {
  314.                     row.find('.estatus').html('<div class="badge bg-gradient-primary" style="width: 8rem;">Atendido</div>');
  315.                 }
  316.                 if (s.estatus === 'Evaluado') {
  317.                     row.find('.estatus').html('<div class="badge bg-gradient-success" style="width: 8rem;">Evaluado</div>');
  318.                 }
  319.             });
  320.         }
  321.         function vistaTipo(url) {
  322.             $('#modal-solicitud-vista').load(url, function ()
  323.             {
  324.                 // configuración del Modal
  325.                 $("#modal-solicitud-vista").on('hide.bs.modal', function () {
  326.                     $(this).html('Cargando');
  327.                 });
  328.                 $(".modal-dialog").draggable;
  329.                 vistaTipoAjax(url);
  330.             })
  331.         }
  332.         function vistaTipoAjax(url) {
  333.             $.ajax({
  334.                 type: "POST",
  335.                 url: url,
  336.                 data: formData, // Adjuntar los campos del formulario enviado.
  337.                 dataType: "json",
  338.                 cache: false,
  339.                 contentType: false,
  340.                 processData: false,
  341.                 success: function (data){
  342.                 },
  343.                 error: function (data, text, error) {
  344.                 },
  345.                 complete: function () {
  346.                 }
  347.             });
  348.         }
  349.         function vistaSolicitud(data) {
  350.             let datos = data;
  351.             row = $('#solicitud-' + datos.id);
  352.             row.find('.evaluacion').css('display', 'none');
  353.             row.find('.estatus').html(datos.estatus);
  354.         }
  355.         function editarInfoSolicitud(url){
  356.             $('#editar-solicitud').load(url, function ()
  357.             {
  358.                 // configuración del Modal
  359.                 $("#editar-solicitud").on('hide.bs.modal', function () {
  360.                     $(this).html('Cargando');
  361.                 });
  362.                 $(".modal-dialog").draggable;
  363.                 editarInfoSolicitudAjax(url)
  364.             })
  365.         }
  366.         function editarInfoSolicitudAjax(url) {
  367.             let send = $("#btn_solicitud_guardar");
  368.             $('#btn_solicitud_guardar').on('click', function () {
  369.                 let formData = new FormData(document.getElementById("form-editar-solicitud"));
  370.                 $.ajax({
  371.                     type: "POST",
  372.                     url: url,
  373.                     data: formData, // Adjuntar los campos del formulario enviado.
  374.                     contentType: false,
  375.                     processData: false,
  376.                     beforeSend: function () {
  377.                         send.text("Actualizando "); // Para input de tipo button
  378.                         send.append("<i class='fa fa-spinner fa-spin' style='font-size:16px'></i>");
  379.                         send.prop("disabled", true);
  380.                     },
  381.                     success: function (data) {
  382.                         console.log(data);
  383.                         let datos = data;
  384.                         let row = $('#solicitud-' + datos.idSol);
  385.                         row.find('.tipoEquipo').html('Marca: <b>' + datos.marca + '</b><br>Modelo: <b>' + datos.modelo + '</b> <br>No.M: <b>' + datos.mantenimiento_count + '</b>');
  386.                         row.find('.idEquipo').html(datos.idEquipo);
  387.                         row.find('.tipoMantenimiento').html(datos.tipoMantenimiento);
  388.                         row.find('.falla').html(datos.falla);
  389.                         if (datos.estatus === "Pendiente") {
  390.                             row.find('.estatus').html('<div class="badge bg-gradient-yellow d-block" style="width: 8rem;">' + datos.estatus + '</div>');
  391.                         }
  392.                         if (datos.estatus === "En proceso") {
  393.                             row.find('.estatus').html('<div class="badge bg-gradient-danger d-block" style="width: 8rem;">' + datos.estatus + '</div>');
  394.                         }
  395.                         if (datos.estatus === "Atendido") {
  396.                             row.find('.estatus').html('<div class="badge bg-gradient-primary d-block" style="width: 8rem;">' + datos.estatus + '</div>');
  397.                         }
  398.                         if (datos.estatus === "Evaluado") {
  399.                             row.find('.estatus').html('<div class="badge bg-gradient-green d-block" style="width: 8rem;">' + datos.estatus + '</div>');
  400.                         }
  401.                         row.find('.tipoEquipo').html('No.M: <b>'+ datos.mantenimiento_count + '</b>');
  402.                         vistaDashboard();
  403.                         closeModal('editar-solicitud');
  404.                     },
  405.                     error: function (data, text, error) {
  406.                         console.log(data);
  407.                         console.log(text);
  408.                         let datos = data.responseJSON;
  409.                         mostrarError(datos.message);
  410.                         $("#editar-solicitud").html(datos.form);
  411.                         editarInfoSolicitudAjax(url);
  412.                     },
  413.                     complete: function (data) {
  414.                          send.text("Guardar"); 
  415.                         // Se ejecuta al termino de la petición
  416.                         //actualizarVista();
  417.                     }
  418.                 });
  419.                 return false; // Evitar ejecutar el submit del formulario.
  420.             });
  421.             //actualizarVista();
  422.         }
  423.         <!-- Actualizar tabla de bitácora -->
  424.         function actualizarSolicitud(data) {
  425.             $("#table-solicitud").dataTable().fnClearTable();
  426.             $("#table-solicitud").dataTable().fnDestroy();
  427.             var edit = "";
  428.             var html = "";
  429.             $.each(data, function (key, solicitud) {
  430.                 html += '<tr id="idSol' + solicitud.idSol + '">' +
  431.                     '<td class="tipoEquipo">' + solicitud.tipoEquipo + '</td>' +
  432.                     '<td class="idEquipo">' + solicitud.idEquipo + '</td>' +
  433.                     '<td class="tipoMantenimiento">' + solicitud.tipoMantenimiento + '</td>' +
  434.                     '<td class="falla">' + solicitud.falla + '</td>' +
  435.                     '<td class="text-right btn">' +
  436.                     '<a href="' + solicitud.ver + '"><i class="fas fa-eye"></i></a>' + edit +
  437.                     '</td>' +
  438.                     '</tr>';
  439.             });
  440.             $("#table-solicitud").find($("tbody")).html(html);
  441.             $('#table-solicitud').DataTable({
  442.                 "aaSorting": [],
  443.                 orderCellsTop: true,
  444.                 {# Define un valor predeterminado para LengthChange #}
  445.                 "pageLength": 50,
  446.                 "scrollX": true,
  447.                 {# sDom: 'lrtip', #}
  448.                 "bLengthChange": true,
  449.                 language: {
  450.                     url: 'https://cdn.datatables.net/plug-ins/1.10.22/i18n/Spanish.json'
  451.                 },
  452.             });
  453.         }
  454.         // Cambia el color del estatus
  455.         function cambiarEstatus(url) {
  456.             $.ajax({
  457.                 url: url,
  458.                 dataType: "json",
  459.                 cache: false,
  460.                 contentType: false,
  461.                 processData: false,
  462.                 success: function (data) {
  463.                     let datos = data;
  464.                     let row = $('#idSol'+ datos.idSol);
  465.                     if (datos.estatus === "Pendiente") {
  466.                         row.find('.estatus').html('<div class="badge bg-gradient-yellow d-block" style="width: 8rem;">' + datos.estatus + '</div>');
  467.                     }
  468.                     if (datos.estatus === "En proceso") {
  469.                         row.find('.estatus').html('<div class="badge bg-gradient-danger d-block" style="width: 8rem;">' + datos.estatus + '</div>');
  470.                     }
  471.                     if (datos.estatus === "Atendido") {
  472.                         row.find('.estatus').html('<div class="badge bg-gradient-primary d-block" style="width: 8rem;">' + datos.estatus + '</div>');
  473.                     }
  474.                     if (datos.estatus === "Evaluado") {
  475.                         row.find('.estatus').html('<div class="badge bg-gradient-green d-block" style="width: 8rem;">' + datos.estatus + '</div>');
  476.                     }
  477.                     //alertMessage(0, datos.mensaje);
  478.                 },
  479.                 error: function (data, text, error) {
  480.                     alertMessage(1, error);
  481.                 },
  482.                 complete: function (data) {
  483.                     // Se ejecuta al termino de la petición
  484.                 }
  485.             });
  486.         }
  487.         function vistaModalSolicitud(url, idsol, estatus) {
  488.             $('#modal-vista-solicitud').load(url, function ()
  489.             {
  490.                 // configuración del Modal
  491.                 $("#modal-vista-solicitud").on('hide.bs.modal', function () {
  492.                     $(this).html('Cargando');
  493.                 });
  494.                 $(".modal-dialog").draggable;
  495.                 if (estatus === 1){
  496.                     $('#solicitud-' + idsol).find('.estatus').html('<div class="badge bg-gradient-danger d-block" style="width: 8rem;">En proceso</div>');
  497.                 }
  498.                 vistaDashboard();
  499.             })
  500.         }
  501.          function mostrarError(mensaje) {
  502.             if (mensaje === "0") {
  503.                 $('.mensajeError').html('<ul class="list-unstyled"><li><i class="fa fa-exclamation-triangle" aria-hidden="true"></i><span class="glyphicon glyphicon-exclamation-sign"></span>&nbsp;&nbsp;<strong>"ALERTA: No es posible cambiar de estatus, porque, el equipo no tiene usuario asignado o el correo del usuario es inválido. Debe ir a el catálogo del equipo para asignar el usuario correcto al equipo y regrese a modificar la orden"<strong></li></ul>')
  504.                 .css('display', 'block');
  505.             } else {
  506.                 $('.mensajeError').html('')
  507.                 .css('display', 'none');;
  508.             }
  509.         }
  510.     </script>
  511. {% endblock %}