templates/pages/Operario/index.html.twig line 1

Open in your IDE?
  1. {% extends 'base_operario.html.twig' %}
  2. {% block body %}
  3. <div class="d-flex flex-center flex-column-fluid">
  4.     <!--begin::Signin-->
  5.     <div class="login-form login-signin">
  6.         <!--begin::Form-->
  7.         <div class="bg-white rounded p-10">
  8.             <div class="d-flex flex-column h-100 justify-content-center text-center">
  9.                 <div class="pt-lg-0 pt-5 text-center">
  10.                     <div class="text-center mb-10" >
  11.                         <img class="p-3" width="100%" src="/imagenes/logos/logo-javier-ramos-ret.png" alt="" />
  12.                     </div>
  13.                 </div>
  14.             </div>
  15.             <!--begin::Card-->
  16.             <div class="card card-custom card-fit card-border">
  17.                 <div class="card-body mt-5">
  18.                     <div class="form-group">
  19.                         <label for="codigo" class="required">
  20.                             Código de producción:
  21.                         </label>
  22.                         <input type="text" id="codigo" name="codigo" required="required" maxlength="255" class="form-control codigo">
  23.                     </div>
  24.                     <!--end::Form group-->
  25.                     <!--begin::Action-->
  26.                     <div class="pb-lg-0 pb-5 text-center">
  27.                         <button id="buscar_cod" name="buscar_cod" class="btn btn-twitter btn buscar_cod" data_icon_before="fas fa-search">
  28.                             <span class="fas fa-search"></span> 
  29.                             Buscar
  30.                         </button>
  31.                     </div>
  32.                 </div>
  33.             </div>
  34.             <!--end::Card-->
  35.         </div>
  36.         <!--end::Form-->
  37.     </div>
  38.     <!--end::Signin-->
  39. </div>
  40. {#} Modal {#}
  41. <div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true" data-backdrop="false" data-keyboard="false">
  42.     <div class="modal-dialog modal-xl" role="document">
  43.         <div class="modal-content">
  44.             <div class="modal-body">
  45.             </div>
  46.         </div>
  47.     </div>
  48. </div>
  49. {% endblock %}
  50. {% block javascripts %}
  51. {{ parent() }}
  52. <script>
  53. var modal_loader = '{{ include('includes/partials/_loader_css_js.html.twig', {'loader_id' : 'loader_animation','loader_text' : 'Cargando...', 'loader_class' : 'text-center m-4'}) }}';
  54. $(document).ready(function(){
  55.     // Capturar el cambio de código
  56.     $('.buscar_cod').on('click', function(e){
  57.         e.preventDefault();
  58.         var codigo = $('.codigo').val();
  59.         //console.log('Código del proceso: '+codigo);
  60.         $.ajax({
  61.             type        : "POST",
  62.             url         : Routing.generate('ajax_regprofase_search_code', {'codigo' : codigo}),
  63.             data        : $(this).serialize(),
  64.             dataType    : "json",
  65.             cache       : false,
  66.             beforeSend  : function (obj) {
  67.                 $('#exampleModal .modal-header').remove();
  68.                 $('#exampleModal .modal_footer').remove();
  69.                 $('#loader_animation').removeClass('d-none');
  70.                 $('#exampleModal').modal('show');
  71.                 $('#exampleModal .modal-body').html(modal_loader);
  72.             },
  73.             success     : function (obj) {
  74.                 //console.log(obj);
  75.                 $('#loader_animation').addClass('d-none');
  76.                 $('#exampleModal').html(obj.html);
  77.                 updateMinutosFase();
  78.             },
  79.             error       : function (req, status, error) {
  80.                 $('#loader_animation').addClass('d-none');
  81.                 $('#exampleModal .modal-body').html('<div class="bg-danger p-3"><h5 class="text-justify align-middle text-center"> El código introducido no existe o no es válido. </h5></div>');
  82.             }
  83.         });
  84.     });
  85. });
  86. // Enviar el formulario al guardar
  87. function enviarAjaxProceso(formulario, RegFase, codigo, fase){
  88.     $.ajax({
  89.         type        : "POST",
  90.         url         : Routing.generate('ajax_regprofase_search_code', {'codigo' : codigo, 'fase' : fase, 'RegFase' : RegFase}),
  91.         data        : formulario.serialize(),
  92.         dataType    : "json",
  93.         cache       : false,
  94.         success     : function (obj) {
  95.             if(obj.cerrar_modal){
  96.                 PNotify.success({
  97.                     title: 'Éxito!',
  98.                     text: 'Se han registrado correctamente las fases del proceso.'
  99.                 });
  100.                 $("#exampleModal .close").click();
  101.                 $('.fase_min').val(0);
  102.                 location.reload();
  103.             }else{
  104.                 $('#exampleModal').html(obj.html);
  105.                 $('.fase_min').val(0);
  106.             }
  107.         },
  108.         error       : function (req, status, error) {
  109.             //console.log(error);
  110.             //console.log(req);
  111.         }
  112.     });
  113. }
  114. // Contador de minutos
  115. function updateMinutosFase() {
  116.     var fase = $('.registro_fase_id').val();
  117.     console.log(fase);
  118.     var minutos = Number($('.fase_min').val());
  119.     var min = minutos +1;
  120.     $('.fase_min').val(min);
  121.     // Descontar del temporizador
  122.     var temp = Number($('.temp_top').val());
  123.     var new_temp = temp - 1;
  124.     $('.temp_top').val(new_temp);
  125.     console.log(new_temp);
  126.     // Cambiar el color del input
  127.     if(new_temp <= 0){
  128.         $('.temp_top').removeClass('bg-success');
  129.         $('.temp_top').addClass('bg-danger');
  130.     }
  131.     $.ajax({
  132.         type     : "POST",
  133.         url     : Routing.generate('ajax_regprofase_update_minutes', {'fase' : fase, 'minutos' : min}),
  134.         data    : $(this).serialize(),
  135.         dataType: "json",
  136.         cache   : false,
  137.         timeout : 60000,
  138.         complete : function (obj) {
  139.             setTimeout(updateMinutosFase, 60000);
  140.         },
  141.         error   : function (req, status, error) {
  142.             //console.log(error + req + status);
  143.             setTimeout(updateMinutosFase, 60000);
  144.         }
  145.     });
  146. };
  147. </script>
  148. {% endblock %}