File "FOR-S-CCI-89.js"

Full Path: C:/wamp64/www/CALIDADWEB/CALIDADWEB/FRONTED/CONTROLTABLAS.JS/FOR-S-CCI-89.js
File size: 13.71 KB
MIME-type: text/plain
Charset: utf-8


$(document).ready(function () {
  $(".btnConChillVerifi").click(function (e) {
      e.preventDefault();

      swal.fire({
          title: "Cargando datos...",
          allowOutsideClick: false,
          didOpen: () => { swal.showLoading(); }
      });

      if ($.fn.DataTable.isDataTable('#tblconChillVerifi')) {
          $('#tblconChillVerifi').DataTable().destroy();
      }

      let tablalimpieza = $("#tblconChillVerifi").DataTable({
          "ajax": {
              "url": "../../BACKEND/controltablas/FOR-S-CCI-89.php",
              "type": "POST",
              "data": { opcion: 1 },
              "dataSrc": ""
          },
          "columns": [
              { data: "ID" },
              { data: "FECHA" },
              { data: "HORA" },
              { data: "TIPOAVE" },
              { data: "C1" },
              { data: "C2" },
              { data: "C3" },
              { data: "C4" },
              { data: "C5" },
              { data: "C6" },
              { data: "C7" },
              { data: "C8" },
              { data: "C9" },
              { data: "C10" },
              { data: "C11" },
              { data: "C12" },
              { data: "C13" },
              { data: "C14" },
              { data: "C15" },
              { data: "C16" },
              { data: "C17" },
              { data: "trazabilidad" },
              { data: "tempPromedio" },
              { data: "OBSERVACIONES" },
              { data: "RESPONS_OBSER" },
              { data: "aprobo" },
              {
                  "data": null,
                  "orderable": false,
                  "width": "80px",
                  "className": "text-center",
                  "render": function () {
                      return "<button class='btn btn-danger btn-sm btnBorrar'><i class='fas fa-trash-alt'></i></button>";
                  }
              },
              {
                  "data": null,
                  "orderable": false,
                  "width": "80px",
                  "className": "text-center",
                  "render": function (data, type, row) {
                      // Cambiado data-id a row.ID
                      return "<button class='btn btn-primary btn-sm btnEditar' data-id='" + row.ID + "'><i class='fas fa-edit'></i></button>";
                  }
              }
          ],
          "language": {
              "url": "//cdn.datatables.net/plug-ins/1.10.20/i18n/Spanish.json"
          },
          "scrollX": true,
          "scrollCollapse": true,
          "autoWidth": false,
          "dom": "Bfrtip",
          "buttons": [
              {
                  extend: "pageLength",
                  className: "btn btn-warning"
              },
              {
                  extend: "excelHtml5",
                  autoFilter: true,
                  sheetName: "CONTROL DEFECTOS CANAL SALIDA CHILLER",
                  title: "CONTROL DEFECTOS CANAL SALIDA CHILLER",
                  text: '<i class="fa-lg fa-solid fa-file-excel"></i> GENERAR EXCEL',
                  className: "btn btn-success",
                  exportOptions: {
                      columns: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25]
                  }
              }
          ],
          "initComplete": function () {
              swal.close();
          }
      });

      // --- ELIMINAR ---
      $('#tblconChillVerifi tbody').off('click', '.btnBorrar').on('click', '.btnBorrar', function (e) {
          e.preventDefault();
          let data = tablalimpieza.row($(this).parents('tr')).data();

          swal.fire({
              title: "¿Eliminar registro?",
              text: "ID: " + data.ID, // Unificado
              icon: "warning",
              showCancelButton: true,
              confirmButtonColor: "#d33",
              confirmButtonText: "Sí, borrar"
          }).then((result) => {
              if (result.isConfirmed) {
                  $.ajax({
                      url: "../../BACKEND/controltablas/FOR-S-CCI-89.php",
                      type: "POST",
                      data: { opcion: 3, id: data.ID }, // Enviamos data.ID
                      success: function () {
                          tablalimpieza.ajax.reload(null, false);
                          swal.fire("¡Éxito!", "Registro eliminado", "success");
                      }
                  });
              }
          });
      });

      // --- EDITAR ---
      $('#tblconChillVerifi tbody').off('click', '.btnEditar').on('click', '.btnEditar', function (e) {
          e.preventDefault();
          let $row = $(this).closest('tr');
          
          $row.find('td').each(function (index) {
              
              if (index > 0 && index < 26) {
                  let valorActual = $(this).text();
                  let nombreColumna = tablalimpieza.settings().init().columns[index].data;
                    // Agregamos un estilo inline "width: 100%" y un contenedor pequeño
                      $(this).html(`
                          <input type="text" 
                              class="form-control form-control-sm" 
                              style="min-width: 70px; width: 100%; padding: 2px;" 
                              value="${valorActual}" 
                              data-campo="${nombreColumna}">
                      `);
              }
          });

          $(this).removeClass('btn-primary btnEditar').addClass('btn-success btnGuardar').html('<i class="fas fa-save"></i>');
          $row.find('.btnBorrar').removeClass('btn-danger btnBorrar').addClass('btn-secondary btnCancelar').html('<i class="fas fa-times"></i>');
      });

      // --- GUARDAR ---
      $('#tblconChillVerifi tbody').off('click', '.btnGuardar').on('click', '.btnGuardar', function (e) {
          e.preventDefault();
          let $row = $(this).closest('tr');
          let dataRow = tablalimpieza.row($row).data();
          let datosActualizados = { opcion: 4, id: dataRow.ID }; // Unificado a ID

          $row.find('input').each(function () {
              let campo = $(this).data('campo');
              let valor = $(this).val();
              if (campo) datosActualizados[campo] = valor;
          });

          $.ajax({
              url: "../../BACKEND/controltablas/FOR-S-CCI-89.php",
              type: "POST",
              data: datosActualizados,
              success: function () {
                  tablalimpieza.ajax.reload(null, false);
                  swal.fire("¡Éxito!", "Registro actualizado", "success");
              }
          });
      });

      // --- CANCELAR ---
      $('#tblconChillVerifi tbody').off('click', '.btnCancelar').on('click', '.btnCancelar', function (e) {
          e.preventDefault();
          tablalimpieza.ajax.reload(null, false);
      });
  });
});
/* DOS */
$(document).ready(function () {
  $(".btnConChiller").click(function (e) {
      e.preventDefault();

      swal.fire({
          title: "Cargando datos...",
          allowOutsideClick: false,
          didOpen: () => { swal.showLoading(); }
      });

      if ($.fn.DataTable.isDataTable('#tblConChiller')) {
          $('#tblConChiller').DataTable().destroy();
      }

      let tablalimpieza = $("#tblConChiller").DataTable({
          "ajax": {
              "url": "../../BACKEND/controltablas/FOR-S-CCI-89.php",
              "type": "POST",
              "data": { opcion: 2 },
              "dataSrc": ""
          },
          "columns": [
              { data: "ID" },
              { data: "FECHA" },
              { data: "HORA" },
              { data: "TIPO_AVE" },
              { data: "C1" },
              { data: "C2" },
              { data: "C3" },
              { data: "C4" },
              { data: "C5" },
              { data: "C6" },
              { data: "C7" },
              { data: "C8" },
              { data: "C9" },
              { data: "C10" },
              { data: "TEMP_PROM" },
              { data: "PORCENT_CUMPLI" },
              { data: "PH" },
              { data: "TEMP_PRECHILL" },
              { data: "REGISCLORO" },
              { data: "RESPONS" },
              { data: "CODIGO" },
              { data: "observaciones" },
              { data: "aprobo" },
              {
                  "data": null,
                  "orderable": false,
                  "width": "80px",
                  "className": "text-center",
                  "render": function () {
                      return "<button class='btn btn-danger btn-sm btnBorrar'><i class='fas fa-trash-alt'></i></button>";
                  }
              },
              {
                  "data": null,
                  "orderable": false,
                  "width": "80px",
                  "className": "text-center",
                  "render": function (data, type, row) {
                      // Cambiado data-id a row.ID
                      return "<button class='btn btn-primary btn-sm btnEditar' data-id='" + row.ID + "'><i class='fas fa-edit'></i></button>";
                  }
              }
          ],
          "language": {
              "url": "//cdn.datatables.net/plug-ins/1.10.20/i18n/Spanish.json"
          },
          "scrollX": true,
          "scrollCollapse": true,
          "autoWidth": false,
          "dom": "Bfrtip",
          "buttons": [
              {
                  extend: "pageLength",
                  className: "btn btn-warning"
              },
              {
                  extend: "excelHtml5",
                  autoFilter: true,
                  sheetName: "CONTROL DEFECTOS CANAL SALIDA CHILLER",
                  title: "CONTROL DEFECTOS CANAL SALIDA CHILLER",
                  text: '<i class="fa-lg fa-solid fa-file-excel"></i> GENERAR EXCEL',
                  className: "btn btn-success",
                  exportOptions: {
                      columns: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22]
                  }
              }
          ],
          "initComplete": function () {
              swal.close();
          }
      });

      // --- ELIMINAR ---
      $('#tblConChiller tbody').off('click', '.btnBorrar').on('click', '.btnBorrar', function (e) {
          e.preventDefault();
          let data = tablalimpieza.row($(this).parents('tr')).data();

          swal.fire({
              title: "¿Eliminar registro?",
              text: "ID: " + data.ID, // Unificado
              icon: "warning",
              showCancelButton: true,
              confirmButtonColor: "#d33",
              confirmButtonText: "Sí, borrar"
          }).then((result) => {
              if (result.isConfirmed) {
                  $.ajax({
                      url: "../../BACKEND/controltablas/FOR-S-CCI-89.php",
                      type: "POST",
                      data: { opcion: 6, id: data.ID }, // Enviamos data.ID
                      success: function () {
                          tablalimpieza.ajax.reload(null, false);
                          swal.fire("¡Éxito!", "Registro eliminado", "success");
                      }
                  });
              }
          });
      });

      // --- EDITAR ---
      $('#tblConChiller tbody').off('click', '.btnEditar').on('click', '.btnEditar', function (e) {
          e.preventDefault();
          let $row = $(this).closest('tr');
          
          $row.find('td').each(function (index) {
              // Editamos columnas de la 1 a la 13 (evitando ID y botones)
              if (index > 0 && index < 23) {
                  let valorActual = $(this).text();
                  let nombreColumna = tablalimpieza.settings().init().columns[index].data;
                    // Agregamos un estilo inline "width: 100%" y un contenedor pequeño
                      $(this).html(`
                          <input type="text" 
                              class="form-control form-control-sm" 
                              style="min-width: 70px; width: 100%; padding: 2px;" 
                              value="${valorActual}" 
                              data-campo="${nombreColumna}">
                      `);
              }
          });

          $(this).removeClass('btn-primary btnEditar').addClass('btn-success btnGuardar').html('<i class="fas fa-save"></i>');
          $row.find('.btnBorrar').removeClass('btn-danger btnBorrar').addClass('btn-secondary btnCancelar').html('<i class="fas fa-times"></i>');
      });

      // --- GUARDAR ---
      $('#tblConChiller tbody').off('click', '.btnGuardar').on('click', '.btnGuardar', function (e) {
          e.preventDefault();
          let $row = $(this).closest('tr');
          let dataRow = tablalimpieza.row($row).data();
          let datosActualizados = { opcion: 7, id: dataRow.ID }; // Unificado a ID

          $row.find('input').each(function () {
              let campo = $(this).data('campo');
              let valor = $(this).val();
              if (campo) datosActualizados[campo] = valor;
          });

          $.ajax({
              url: "../../BACKEND/controltablas/FOR-S-CCI-89.php",
              type: "POST",
              data: datosActualizados,
              success: function () {
                  tablalimpieza.ajax.reload(null, false);
                  swal.fire("¡Éxito!", "Registro actualizado", "success");
              }
          });
      });

      // --- CANCELAR ---
      $('#tblConChiller tbody').off('click', '.btnCancelar').on('click', '.btnCancelar', function (e) {
          e.preventDefault();
          tablalimpieza.ajax.reload(null, false);
      });
  });
});