mirror of
https://git.imnavajas.es/jjimenez/safekat.git
synced 2025-07-25 22:52:08 +00:00
160 lines
5.2 KiB
JavaScript
160 lines
5.2 KiB
JavaScript
import Ajax from "../../components/ajax.js";
|
|
|
|
$(() => {
|
|
|
|
let pedidosFilter = '';
|
|
|
|
const dropdown = document.querySelector(".dropdown-language");
|
|
const activeItem = dropdown.querySelector(".dropdown-menu .dropdown-item");
|
|
let locale = 'es';
|
|
if (activeItem) {
|
|
locale = activeItem.getAttribute("data-language");
|
|
}
|
|
|
|
new Ajax('/translate/getTranslation', { locale: locale, translationFile: ['Albaran'] }, {},
|
|
function (translations) {
|
|
window.language = JSON.parse(translations);
|
|
},
|
|
function (error) {
|
|
console.log("Error getting translations:", error);
|
|
}
|
|
).post();
|
|
|
|
|
|
$('#btnAddEnvio').on('click', () => {
|
|
const pedido_id = selectPedidos.getVal();
|
|
const direccionSeleccionada = selectDirecciones.getText();
|
|
$.post('/albaranes/datatable', {
|
|
pedido_id: pedido_id,
|
|
direccion: direccionSeleccionada
|
|
}, function (response) {
|
|
if (response.status) {
|
|
window.open(`${window.location.origin}/logistica/envio/${response.data.id_envio}`);
|
|
selectDirecciones.empty();
|
|
selectPedidos.empty();
|
|
$('.select-direcciones').addClass('d-none');
|
|
$('.add-envio').addClass('d-none');
|
|
} else {
|
|
popErrorAlert(response.message);
|
|
}
|
|
}).fail(function (xhr, status, error) {
|
|
popErrorAlert(error);
|
|
});
|
|
})
|
|
|
|
|
|
const tableAlbaranes = $('#tableOfAlbaranes').DataTable({
|
|
processing: true,
|
|
serverSide: true,
|
|
autoWidth: true,
|
|
responsive: true,
|
|
scrollX: true,
|
|
orderCellsTop: true,
|
|
lengthMenu: [5, 10, 25, 50, 75, 100, 250, 500, 1000, 2500],
|
|
pageLength: 50,
|
|
"dom": 'lBrtip',
|
|
"ajax": {
|
|
"url": "/albaranes/datatable",
|
|
"data": function (d) {
|
|
d.pedidosFilter = pedidosFilter;
|
|
}
|
|
},
|
|
"columns": [
|
|
{ "data": "id" },
|
|
{ "data": "numero_albaran" },
|
|
{ "data": "envio_id" },
|
|
{ "data": "pedidos" },
|
|
{ "data": "cliente" },
|
|
{ "data": "att" },
|
|
{ "data": "direccion" },
|
|
{ "data": "unidades_total" },
|
|
{ "data": "cajas" },
|
|
{ "data": "action" }
|
|
|
|
],
|
|
"language": {
|
|
url: "/themes/vuexy/vendor/libs/datatables-sk/plugins/i18n/es-ES.json"
|
|
},
|
|
"columnDefs": [
|
|
{
|
|
orderable: false,
|
|
searchable: false,
|
|
targets: [9]
|
|
},
|
|
],
|
|
"order": [[0, "desc"]],
|
|
});
|
|
|
|
$(document).on('click', '.btn-delete', function (e) {
|
|
const data = {
|
|
albaranId: $(this).attr('data-id')
|
|
};
|
|
const url = '/albaranes/borrarAlbaran';
|
|
|
|
Swal.fire({
|
|
title: window.language.Albaran.borrarAlbaran,
|
|
text: window.language.Albaran.borrarAlbaranConfirm,
|
|
icon: 'warning',
|
|
showCancelButton: true,
|
|
confirmButtonColor: '#3085d6',
|
|
cancelButtonColor: '#d33',
|
|
confirmButtonText: window.language.Albaran.borrar,
|
|
cancelButtonText: window.language.Albaran.cancelar,
|
|
customClass: {
|
|
confirmButton: 'btn btn-primary me-1',
|
|
cancelButton: 'btn btn-outline-secondary'
|
|
},
|
|
buttonsStyling: false
|
|
}).then((result) => {
|
|
|
|
|
|
$.ajax({
|
|
url: url,
|
|
type: 'POST',
|
|
data: data,
|
|
success: (response) => {
|
|
if (response.success) {
|
|
tableAlbaranes.draw();
|
|
} else {
|
|
Swal.fire({
|
|
title: 'Error',
|
|
text: 'No se ha podido borrar el albarán',
|
|
icon: 'error',
|
|
showCancelButton: false,
|
|
confirmButtonColor: '#3085d6',
|
|
confirmButtonText: 'Ok',
|
|
customClass: {
|
|
confirmButton: 'btn btn-primary me-1',
|
|
},
|
|
buttonsStyling: false
|
|
});
|
|
}
|
|
},
|
|
error: (xhr, status, error) => {
|
|
console.error(error);
|
|
}
|
|
});
|
|
});
|
|
|
|
});
|
|
|
|
|
|
$(document).on('click', '.btn-edit', function (e) {
|
|
window.location.href = '/albaranes/edit/' + $(this).attr('data-id');
|
|
});
|
|
|
|
$(document).on("keyup", ".albaran-filter", (event) => {
|
|
let columnName = $(event.currentTarget).attr("name");
|
|
let columnIndex = $('#tableOfAlbaranes').DataTable().columns().eq(0).filter(function (index) {
|
|
return $('#tableOfAlbaranes').DataTable().column(index).dataSrc() === columnName;
|
|
})[0];
|
|
$('#tableOfAlbaranes').DataTable().column(columnIndex).search($(event.currentTarget).val()).draw()
|
|
})
|
|
|
|
|
|
$(document).on("keyup", ".albaran-filter-pedidos", (event) => {
|
|
pedidosFilter = $(event.currentTarget).val();
|
|
$('#tableOfAlbaranes').DataTable().ajax.reload();
|
|
})
|
|
|
|
}); |