


<?php $__env->startSection('tituloPagina', 'Turnos ADM'); ?>


<?php $__env->startSection('cabezaPagina'); ?>


<?php echo \Illuminate\View\Factory::parentPlaceholder('cabezaPagina'); ?>


<link rel="stylesheet" href="<?php echo e(asset('archivos/librerias/select2/v4.1.0/css/select2.min.css')); ?>">


<?php echo $__env->make('librerias.datatables.css', \Illuminate\Support\Arr::except(get_defined_vars(), ['__data', '__path']))->render(); ?>


<link rel="stylesheet" href="<?php echo e(asset('https://cdn.datatables.net/rowgroup/1.3.1/css/rowGroup.dataTables.min.css')); ?>">


<link
  rel="stylesheet"
  href="<?php echo e(asset('archivos/css/aplicacion/seccion/adm.css')); ?>"
>

<?php $__env->stopSection(); ?>


<?php $__env->startSection('encabezadoSuperiorSeccion'); ?>
<?php $__env->stopSection(); ?>


<?php $__env->startSection('contenidoSeccion'); ?>


<div class="row">

  <div class="col-12 col-sm-12 col-md-6 col-lg-6 col-xl-6 col-xxl-6 pe-lg-4 pe-xl-4 pe-xxl-4">

    <?php $__env->startComponent('aplicacion.elementos.tabla', [
      'id' => 'tablaRegistrosTurnos',
      'clases' => 'table table-responsive'
    ]); ?>

      <thead>
        <tr>

          <th
            columna="turno"
            tipo="num"
          >Turnos</th>

          <th
            columna="id_estacion"
            tipo="string"
          >Puestos</th>

        </tr>
      </thead>

      <tbody>
      </tbody>

      <tfoot>
        <tr><th colspan="2">TOTAL EN PUESTOS <strong class="tAsignados"></strong></th></tr>
      </tfoot>

    <?php echo $__env->renderComponent(); ?>


  </div>

  <div class="col-12 col-sm-12 col-md-6 col-lg-6 col-xl-6 col-xxl-6 ps-lg-4 ps-xl-4 ps-xxl-4">

    <?php $__env->startComponent('aplicacion.elementos.tabla', [
      'id' => 'tablaRegistrosAsignado',
      'clases' => 'table table-responsive'
    ]); ?>

      <thead>
        <tr>

          <th
            columna="turno"
            tipo="num"
            >
            Turnos espera
          </th>

          <th
            columna="hora"
            tipo="string"
            >
            Hora
          </th>

        </tr>
      </thead>

      <tbody>
      </tbody>

      <tfoot>
        <tr><th colspan="2">TOTAL EN ESPERA <strong class="tEspera"></strong></th></tr>
      </tfoot>

    <?php echo $__env->renderComponent(); ?>

  </div>

</div>

<?php $__env->stopSection(); ?>




<?php $__env->startSection('programacionCuerpoPagina'); ?>


<?php echo \Illuminate\View\Factory::parentPlaceholder('programacionCuerpoPagina'); ?>


<script src="https://code.responsivevoice.org/responsivevoice.js?key=ElUaEWTr"></script>


<script src="<?php echo e(asset('archivos/librerias/select2/v4.1.0/js/select2.min.js')); ?>"></script>


<?php echo $__env->make('librerias.datatables.js', \Illuminate\Support\Arr::except(get_defined_vars(), ['__data', '__path']))->render(); ?>


<script src="<?php echo e(asset('https://cdn.datatables.net/rowgroup/1.3.1/js/dataTables.rowGroup.min.js')); ?>"></script>


<script>
  "use strict";
  window.addEventListener("click", function(event) {
     document.documentElement.requestFullscreen();
  });

// {} Librerías e importaciones
function tablaRegistros(_ref) { 
  var _ref$tabla = _ref.tabla,
    tabla = _ref$tabla === void 0 ? $('#tablaRegistros') : _ref$tabla,
    _ref$columnas = _ref.columnas,
    columnas = _ref$columnas === void 0 ? [] : _ref$columnas,
    _ref$datos = _ref.datos,
    datos = _ref$datos === void 0 ? null : _ref$datos,
    _ref$configuracion = _ref.configuracion,
    configuracion = _ref$configuracion === void 0 ? {} : _ref$configuracion,
    _ref$peticion = _ref.peticion,
    peticion = _ref$peticion === void 0 ? {
      columnas: {
        ruta: null,
        parametros: null
      },
      datos: {
        ruta: null,
        tipo: 'GET',
        parametros: null,
        procesarRespuesta: null
      }
    } : _ref$peticion;
  var _peticion$datos$proce;
  // !
  var columna = {
    sumar: {
      indices: [],
      columnas: []
    },
    agrupar: {
      indice: null,
      grupo: null,
      filaPie: $('<tr/>')
    }
  };

  // !
  !peticion.columnas && (peticion.columnas = {
    ruta: null,
    parametros: null
  });

  // !
  !peticion.datos && (peticion.datos = {
    ruta: null,
    parametros: null
  });

  // !
  peticion.datos.ruta && (configuracion.ajax = {
    url: peticion.datos.ruta,
    type: peticion.datos.tipo,
    data: peticion.datos.parametros,
    dataSrc: (_peticion$datos$proce = peticion.datos.procesarRespuesta) !== null && _peticion$datos$proce !== void 0 ? _peticion$datos$proce : '',
    dataType: 'JSON',
    beforeSend: function beforeSend(peticion, configuracion) {},
    // success: function(respuesta, estado, peticion) {},

    error: function error(peticion, configuracion) {},
    complete: function complete(peticion, estado) {
      var _peticion$responseJSO;
      // + Método para retornar la notificación
      // + que retorno la petición con respuesta
      // + de tipo JSON
      !!peticion.responseJSON && (peticion === null || peticion === void 0 ? void 0 : (_peticion$responseJSO = peticion.responseJSON[0]) === null || _peticion$responseJSO === void 0 ? void 0 : _peticion$responseJSO.mensaje) && $('.modal-body p', ventanaDialogoAlerta).text(peticion.responseJSON[0].mensaje) && $('.modal-header', ventanaDialogoAlerta).removeClass(peticion.status === 200 ? 'bg-danger' : 'bg-success').addClass(peticion.status === 200 ? 'bg-success' : 'bg-danger') && $(ventanaDialogoAlerta).modal('show');

      // +
      document.cookie.includes('Consulta') && Toastify({
        text: decodeURIComponent(document.cookie.replace(/(?:(?:^|.*;\s*)Consulta\s*\=\s*([^;]*).*$)|^.*$/, "$1")).replace(/\s+/g, ' '),
        duration: -1,
        close: true,
        gravity: 'bottom',
        position: 'left',
        style: {
          'max-width': '100%',
          padding: '5px',
          background: 'var(--bs-dark)',
          border: '5px solid var(--bs-danger)'
        },
        onClick: function onClick() {
          $('<textarea>').attr('id', 'consultaSQL').val(this.text).appendTo('body');
          $('textarea#consultaSQL')[0].select();
          document.execCommand('copy') && Toastify({
            text: '¡Consulta copiada con éxito!',
            duration: 3000,
            close: true,
            position: 'left',
            style: {
              background: 'var(--bs-success)'
            }
          }).showToast();
          $('textarea#consultaSQL').remove();
        }
      }).showToast();
    }
  });

  // ! Petición
  $.ajax({
    url: peticion.columnas.ruta,
    data: peticion.columnas.parametros,
    dataType: 'JSON',
    beforeSend: function beforeSend(peticion, configuracion) {},
    success: function success(respuesta, estado, peticion) {
      // ?
      respuesta.forEach(function (registro, iteracion) {
        switch (registro.tipo) {
          case 'entero':
            registro.tipo = 'num';
            break;
          case 'decimal':
            registro.tipo = 'num-fmt';
            break;
          case 'fecha':
            registro.tipo = 'date';
            break;
          default:
            registro.tipo = 'string';
            break;
        }
        registro.visible = registro.visible * 1 ? '' : 'd-none';
        switch (registro.alineacion) {
          case 'izquierda':
            registro.alineacion = 'text-start';
            break;
          case 'centro':
            registro.alineacion = 'text-center';
            break;
          case 'derecha':
            registro.alineacion = 'text-end';
            break;
          default:
            registro.alineacion = '';
            break;
        }
        registro.negrita = registro.negrita * 1 ? 'fw-bold' : 'fw-normal';
        registro.sumar = registro.sumar * 1 ? 'sumar' : '';
        registro.agrupar = registro.agrupar * 1 ? 'agrupar' : '';
        if (registro.sumar) {
          columna.sumar.indices.push(iteracion);
          columna.sumar.columnas.push(registro.columna);
        }
        if (registro.agrupar) {
          columna.agrupar.indice = iteracion;
          columna.agrupar.grupo = registro.columna;
        }
        columna.agrupar.filaPie.append("\n          <td class=\"".concat(registro.visible, " fw-bold text-decoration-underline\"></td>\n        "));
        columnas.push({
          title: registro.titulo,
          // Funciona para especificar el nombre de
          // la columna, es necesario para las operaciones
          // de ordenamiento y búsqueda.
          name: registro.columna,
          // Funciona para especificar de dónde
          // se tomarán los datos para esa columna
          // ya sea por índice o nombre de la columna
          // que tendrá en los datos
          data: registro.columna,
          className: "".concat(registro.visible, " ").concat(registro.alineacion, " ").concat(registro.negrita, " ").concat(registro.sumar, " ").concat(registro.agrupar),
          orderable: !!Number(registro.ordenable),
          // Funciona para especificar por cuál columna
          // se ordenara al presionar los ordenes descendentes
          // o ascendentes
          // {} orderData: '',

          // Funciona para especificar el tipo de datos utilizado
          // para la ordenación de una columna, para especificar
          // que tipo de función de ordenación utilizar para ordenar
          // los datos
          // (dom-checkbox, html, currency, date, numeric, percent, string)
          // {} orderDataType: '',

          searchable: !!Number(registro.buscable),
          // Funciona para especificar el tipo de datos que se espera
          // en una columna determinada, para determinar cómo ordenar y
          // buscar en la columna
          // (date, num, num-fmt, html-num, html-num-fmt, html, string)
          // type: registro.tipo,

          // Funciona para especificar el formato con el cuál los datos
          // de tipo fecha serán interpretados (funciona en conjunto de 'type: date')
          // {} dateFormat: 'dd/mm/yyyy'

          // visible: !!Number(registro.visible),
          // {} width: '',

          // Funciona para determinar el tipo de elemento HTML que se va a utilizar
          // para representar la celda en la tabla. Por defecto, se utiliza 'td'
          // {} cellType: '',

          // Funciona para especificar un valor por defecto si la celda viene vacía
          // {} defaultContent: '',

          // Funciona para manipular el valor real de la celda
          // para afectar su comportamiento en la tabla
          render: function render(datoCelda, tipoRenderizado, datosFila) {
            if (tipoRenderizado === 'display') switch (registro.tipo) {
              case 'num-fmt':
                datoCelda = formatoNumerico(datoCelda, 2);
                break;
              case 'date':
                datoCelda.split(' ').length > 1 && (datoCelda = new Date(datoCelda).toLocaleDateString('uk').replaceAll('.', '/'));
                break;
              case 'input':
                datoCelda = "\n                    <input\n                      class=\"form-control\"\n                      value=\"".concat(datoCelda, "\"\n                    >\n                  ");
                break;
              case 'checkbox':
                datoCelda = "\n                    <input\n                      type=\"checkbox\"\n                      class=\"form-check-input\"\n                      ".concat(datoCelda * 1 ? 'checked' : '', "\n                    >\n                  ");
                break;
            } else switch (registro.tipo) {
              case 'string':
                break;
              default:
                datoCelda *= 1;
                break;
            }
            return datoCelda;
          },
          // Funciona para crear una celda personalizada
          createdCell: function createdCell(celda, valorCelda, datosFila, fila, columna) {
            registro.columna === 'numero_factura' || registro.columna === 'id_suplidor';
            $(celda).addClass(registro.columna);
          }

          // Funciona para especificar cómo los datos de la columna serán tratados
          // para el ordenamiento. Por defecto, se utilizará la propiedad 'type'
          // (string, numeric, num-fmt, html, date, date-dd-mm-yyyy, currency, percent)
          // {} sortDataType: '',

          // Funciona para definir el tipo de datos que se utilizará para realizar la
          // búsqueda en la columna. Por defecto, se utilizará la propiedad 'orderDataType'
          // (numeric, string, date, html) si no se especifica, se utilizará el valor de 'type'
          // {} searchDataType: '',

          // Funciona para indicar si se deben filtrar valores duplicados en la columna.
          // Por defecto 'false'
          // {} unique: false
        });

        $('tfoot tr', tabla).append("<th>&nbsp;</th>");
      });
    },
    error: function error(peticion, configuracion) {},
    complete: function complete(peticion, estado) {
      tabla.is('.dataTable') && tabla.DataTable().destroy() && tabla.find('thead tr, tbody, tfoot tr').children().remove();
      $('thead th[columna]', tabla).map(function (indice, elemento) {
        indice === 0 && (columnas = []);
        columnas.push({
          name: elemento.getAttribute('columna'),
          data: elemento.getAttribute('columna'),
          className: elemento.getAttribute('class'),
          orderable: elemento.getAttribute('ordenable') === '',
          searchable: elemento.getAttribute('buscable') === '',
          render: function render(datoCelda, tipoRenderizado, datosFila) {
            if (tipoRenderizado === 'display') switch (elemento.getAttribute('tipo')) {
              case 'num-fmt':
                datoCelda = formatoNumerico(datoCelda, 2);
                break;
              case 'date':
                datoCelda.split(' ').length > 1 && (datoCelda = new Date(datoCelda).toLocaleDateString('uk').replaceAll('.', '/'));
                break;
              case 'input':
                datoCelda = "\n                    <input\n                      class=\"form-control\"\n                      value=\"".concat(datoCelda, "\"\n                    >\n                  ");
                break;
              case 'checkbox':
                datoCelda = "\n                    <input\n                      type=\"checkbox\"\n                      class=\"form-check-input\"\n                      ".concat(datoCelda * 1 ? 'checked' : '', "\n                    >\n                  ");
                break;
            } else switch (elemento.getAttribute('tipo')) {
              case 'string':
                break;
              default:
                datoCelda *= 1;
                break;
            }
            return datoCelda;
          }
        });
      });
      !$('tfoot tr', tabla).children().length && columnas.forEach(function (columna, iteracion) {
        $('tfoot tr', tabla).append('<th>&nbsp;</th>');
      });
      configuracion.modificarRegistro && $('thead tr, tfoot tr', tabla).append("\n            <th></th>\n        ") && columnas.push({
        title: 'Acciones',
        className: 'text-center',
        render: function render() {
          return "\n              <a href=\"#\" class=\"fw-bold text-success modificarRegistro\">\n                <i class=\"fa-solid fa-pen-to-square\"></i>\n              </a>\n            ";
        }
      }) && delete configuracion.modificarRegistro;
      configuracion.rowGroup = {
        startRender: function startRender(filas, grupo) {
          if (grupo && grupo !== 'No group') return $('<tr/>').append("\n\n              <td\n                colspan=\"100%\"\n                style=\"\n                  color: #fff !important;\n                  background-color: var(--colorTerciario)\n              \">".concat(grupo, "</td>\n\n            "));
        },
        endRender: function endRender(filas, grupo) {
          var subtotal = [];
          columna.sumar.columnas.forEach(function (columnaSumar, iteracion) {
            subtotal[columnaSumar] = filas.data().map(function (fila, iteracion, filas) {
              return fila[columnaSumar];
            }).sumar();
            columna.agrupar.filaPie.children().eq(columna.sumar.indices[iteracion]).addClass('text-end').text(formatoNumerico(subtotal[columnaSumar], 2));
          });
          if (grupo && grupo !== 'No group') {
            columna.agrupar.filaPie.children().eq(0).text(filas.count());
            return columna.agrupar.filaPie.clone();
          }
        }
      };
      configuracion.columns = columnas;
      configuracion.data = datos;
      tabla.DataTable(configuracion);
    }
  });
}
function peticion(_ref2) {
  var _ref2$ruta = _ref2.ruta,
    ruta = _ref2$ruta === void 0 ? '' : _ref2$ruta,
    _ref2$tipo = _ref2.tipo,
    tipo = _ref2$tipo === void 0 ? 'GET' : _ref2$tipo,
    _ref2$asincrona = _ref2.asincrona,
    asincrona = _ref2$asincrona === void 0 ? true : _ref2$asincrona,
    _ref2$parametros = _ref2.parametros,
    parametros = _ref2$parametros === void 0 ? {} : _ref2$parametros,
    _ref2$funcion = _ref2.funcion,
    funcion = _ref2$funcion === void 0 ? {
      antesEnviarPeticion: null,
      peticionExitosa: null,
      peticionNoExitosa: null,
      peticionCompletada: null
    } : _ref2$funcion;
  // !
  funcion.antesEnviarPeticion = !!funcion.antesEnviarPeticion ? funcion.antesEnviarPeticion : function (peticion, configuracion) {};

  // !
  funcion.peticionExitosa = !!funcion.peticionExitosa ? funcion.peticionExitosa : function (respuesta, estado, peticion) {};

  // !
  funcion.peticionNoExitosa = !!funcion.peticionNoExitosa ? funcion.peticionNoExitosa : function (peticion, configuracion) {};

  // !
  funcion.peticionCompletada = !!funcion.peticionCompletada ? funcion.peticionCompletada : function (peticion, estado) {
    var _peticion$responseJSO2, _peticion$responseJSO3, _peticion$responseJSO4;
    // + Declaración de variables
    var formulario = {
      // ? Formulario de la petición
      elemento: $("form[action=\"".concat(this.url, "\"]")),
      // ? Campo deshabilitado del formulario
      // ? Campo invalido del formulario
      // ? Campo invalido de la petición del formulario
      campo: {
        deshabilitar: $(".campoDeshabilitar"),
        invalido: $(".is-invalid"),
        elemento: peticion.responseJSON ? $("[name=\"".concat((_peticion$responseJSO2 = peticion.responseJSON[0]) === null || _peticion$responseJSO2 === void 0 ? void 0 : _peticion$responseJSO2.campo, "\"]")) : null
      }
    };

    // + Deshabilitando los campos que deben estar
    // + deshabilitados por la clase '.campoDeshabilitar'
    $(formulario.campo.deshabilitar).removeClass('campoDeshabilitar').prop('disabled', true);

    // + Condición cortocircuito para identificar
    // + si en el formulario que envió la petición
    // + contiene campos inválidos y si es así
    // + entonces se restablecerán
    $(formulario.campo.invalido).removeClass('is-invalid');

    // + Condición cortocircuito para identificar
    // + si la petición retorno en la respuesta
    // + de tipo JSON un campo a validar y si es
    // + así entonces se encofará en ese campo, y
    // + se le añadirá una clase '.is-invalid'
    !!peticion.responseJSON && !!((_peticion$responseJSO3 = peticion.responseJSON[0]) !== null && _peticion$responseJSO3 !== void 0 && _peticion$responseJSO3.campo) && $(formulario.campo.elemento).addClass('is-invalid')
    // .focus()
    ;

    // + Método para retornar la notificación
    // + que retorno la petición con respuesta
    // + de tipo JSON
    !!peticion.responseJSON && (peticion === null || peticion === void 0 ? void 0 : (_peticion$responseJSO4 = peticion.responseJSON[0]) === null || _peticion$responseJSO4 === void 0 ? void 0 : _peticion$responseJSO4.mensaje) && $('.modal-body p', ventanaDialogoAlerta).text(peticion.responseJSON[0].mensaje) && $('.modal-header', ventanaDialogoAlerta).removeClass(peticion.status === 200 ? 'bg-danger' : 'bg-success').addClass(peticion.status === 200 ? 'bg-success' : 'bg-danger') && $(ventanaDialogoAlerta).modal('show');

    // + Condición cortocircuito para identificar si el formulario
    // + de la petición que se encuentra en la ventana del dialogo
    // + no contiene campos inválidos con la clase '.is-invalid' y si
    // + es así, entonces se cierra la ventana del dialogo
    peticion.status === 200 && $('.modal').has(formulario.elemento).modal('hide');

    // +
    document.cookie.includes('Consulta') && Toastify({
      text: decodeURIComponent(document.cookie.replace(/(?:(?:^|.*;\s*)Consulta\s*\=\s*([^;]*).*$)|^.*$/, "$1")).replace(/\s+/g, ' '),
      duration: -1,
      close: true,
      gravity: 'bottom',
      position: 'left',
      style: {
        'max-width': '100%',
        padding: '5px',
        background: 'var(--bs-dark)',
        border: '5px solid var(--bs-danger)'
      },
      onClick: function onClick() {
        $('<textarea>').attr('id', 'consultaSQL').val(this.text).appendTo('body');
        $('textarea#consultaSQL')[0].select();
        document.execCommand('copy') && Toastify({
          text: '¡Consulta copiada con éxito!',
          duration: 3000,
          close: true,
          position: 'left',
          style: {
            background: 'var(--bs-success)'
          }
        }).showToast();
        $('textarea#consultaSQL').remove();
      }
    }).showToast();
  };

  // !
  return $.ajax({
    // + Enlace de la petición
    url: ruta,
    // + Tipo de petición
    type: tipo,
    // +
    async: asincrona,
    // + Parámetros a enviar a la petición
    data: parametros,
    // + Tipo de retorno de datos
    // + de la petición
    dataType: 'JSON',
    // + Función a ejecutar antes
    // + de realizar la petición
    beforeSend: funcion.antesEnviarPeticion,
    // + Función a ejecutar cuando la
    // + petición sea éxitosa
    success: funcion.peticionExitosa,
    // + Función a ejecutar cuando la
    // + petición no sea éxitosa
    error: funcion.peticionNoExitosa,
    // + Función a ejecutar cuando la
    // + petición termine
    complete: funcion.peticionCompletada
  });
}

// {}
(function () {
  // ! Declaración de variables
  var peticionActual = null;
  var peticionSegunda = null;
  var reproduciendoTurno = false;

  // !
  tablaRegistros({
    tabla: $(tablaRegistrosTurnos),
    peticion: {
      datos: {
        ruta: "./ejecutarPeticion?procedimiento=p_traer_turnos",
        parametros: {
          renglon: 'ASIGNADO'
        }
      }
    },
    configuracion: {
      ordering: false,
      scrollY: false,
      dom: "\n        <'row'<'col-12 col-sm-12 col-md-12 col-lg-12 col-xl-12 col-xxl-12't>>\n      ",
      pageLength: 15,
      language: {
        sProcessing: "Procesando...",
        sLengthMenu: "Mostrar _MENU_ registros",
        sZeroRecords: "",
        sEmptyTable: "",
        sInfo: "Mostrando registros del _START_ al _END_ de un total de _TOTAL_ registros",
        sInfoEmpty: "Mostrando registros del 0 al 0 de un total de 0 registros",
        sInfoFiltered: "(filtrado de un total de _MAX_ registros)",
        sSearch: "",
        sInfoThousands: ",",
        sLoadingRecords: "",
        oPaginate: {
          sFirst: "Primero",
          sLast: "Último",
          sPrevious: '<i class="fa-solid fa-arrow-left"></i>',
          sNext: '<i class="fa-solid fa-arrow-right"></i>'
        },
        oAria: {
          sSortAscending: ": Activar para ordenar la columna de manera ascendente",
          sSortDescending: ": Activar para ordenar la columna de manera descendente"
        },
        buttons: {
          "copy": "Copiar",
          "colvis": "Visibilidad"
        }
      },
    }
  });

  // !
  tablaRegistros({
    tabla: $(tablaRegistrosAsignado),
    peticion: {
      datos: {
        ruta: "./ejecutarPeticion?procedimiento=p_traer_turnos",
        parametros: {
          renglon: 'COLA'
        }
      }
    },
    configuracion: {
      scrollY: '70vh',
      scrollCollapse: true,
      paging: false,
      ordering: false,
      pageLength: 30,
      dom: "\n        <'row'<'col-12 col-sm-12 col-md-12 col-lg-12 col-xl-12 col-xxl-12't>>\n      ",
      language: {
        sProcessing: "Procesando...",
        sLengthMenu: "Mostrar _MENU_ registros",
        sZeroRecords: "",
        sEmptyTable: "",
        sInfo: "Mostrando registros del _START_ al _END_ de un total de _TOTAL_ registros",
        sInfoEmpty: "Mostrando registros del 0 al 0 de un total de 0 registros",
        sInfoFiltered: "(filtrado de un total de _MAX_ registros)",
        sSearch: "",
        sInfoThousands: ",",
        sLoadingRecords: "",
        oPaginate: {
          sFirst: "Primero",
          sLast: "Último",
          sPrevious: '<i class="fa-solid fa-arrow-left"></i>',
          sNext: '<i class="fa-solid fa-arrow-right"></i>'
        },
        oAria: {
          sSortAscending: ": Activar para ordenar la columna de manera ascendente",
          sSortDescending: ": Activar para ordenar la columna de manera descendente"
        },
        buttons: {
          "copy": "Copiar",
          "colvis": "Visibilidad"
        },
      },
    }
  });

  
  // !
  setInterval(function () {
    $(tablaRegistrosTurnos).DataTable().ajax.reload();
    $(tablaRegistrosAsignado).DataTable().ajax.reload();  
    // llamarTurno();  
    estadisticaTurno()
  }, 2000);

  


  // !
  function textoPorVoz(texto,funcion) {
    // +
    responsiveVoice.setDefaultVoice('Spanish Latin American Female');

    // +
    responsiveVoice.speak(texto, 'Spanish Latin American Female', {
      pitch: 1,
      rate: 1,
      onend: funcion
    });
  }

  // !
  function llamarTurno() {
      // +

      if(!responsiveVoice.isPlaying())
      {
        reproduciendoTurno = true;

        peticionActual = peticion({
        ruta: './ejecutarPeticion?procedimiento=p_traer_turnos',
        parametros: {
          renglon: 'LLAMAR'
        },
        funcion: {
          antesEnviarPeticion: function antesEnviarPeticion(peticion, configuracion) {},
          peticionExitosa: function peticionExitosa(respuesta, estado, peticion1) {

            textoPorVoz(" " + respuesta[0].texto, function() { 
              AsignarTurno(respuesta[0].id_turno);
              reproduciendoTurno = false;
              });  
          }
        
      }
      });
      } else {
        reproduciendoTurno = false;
      }


    }

  function AsignarTurno(id_turno) {

    peticionActual = peticion({
      tipo: 'GET',
      ruta: './ejecutarPeticion?procedimiento=p_registrar_asignacion_turno',
      parametros: {
        renglon: 'ASIGNADO',
        id_turno_asignado: id_turno
        }
        ,
      funcion: {
      peticionExitosa: function peticionExitosa(respuesta,estado,peticion) {

        }
      }
      })

  }

  function estadisticaTurno(){

    let tablaAsignado = $('#tablaRegistrosTurnos').DataTable();
    const rowCountAsignado = tablaAsignado.data().count();
    $('.tAsignados').text(rowCountAsignado);


    let tablaEspera = $('#tablaRegistrosAsignado').DataTable();
    const rowCountEspera = tablaEspera.data().count();
    $('.tEspera').text(rowCountEspera );

  }
  


  

})();
</script>

<?php $__env->stopSection(); ?>
<?php echo $__env->make('tema.plantilla', \Illuminate\Support\Arr::except(get_defined_vars(), ['__data', '__path']))->render(); ?><?php /**PATH C:\xampp\htdocs\turnos\resources\views/aplicacion/seccion/adm.blade.php ENDPATH**/ ?>