mirror of
https://git.imnavajas.es/jjimenez/erp-imprimelibros.git
synced 2026-01-24 09:40:21 +00:00
modificado los margenes por precio en lugar de por tirada y tipos
This commit is contained in:
@ -1,3 +1,5 @@
|
||||
import {normalizeNumericFilter} from '../../utils.js';
|
||||
|
||||
(() => {
|
||||
// si jQuery está cargado, añade CSRF a AJAX
|
||||
const csrfToken = document.querySelector('meta[name="_csrf"]')?.getAttribute('content');
|
||||
@ -22,7 +24,6 @@
|
||||
processing: true,
|
||||
serverSide: true,
|
||||
orderCellsTop: true,
|
||||
stateSave: true,
|
||||
pageLength: 50,
|
||||
language: { url: '/assets/libs/datatables/i18n/' + language + '.json' },
|
||||
responsive: true,
|
||||
@ -45,18 +46,12 @@
|
||||
ajax: {
|
||||
url: '/configuracion/margenes-presupuesto/datatable',
|
||||
method: 'GET',
|
||||
data: function (d) {
|
||||
d.f_encuadernacion = $('#search-encuadernacion').val() || ''; // 'USER' | 'ADMIN' | 'SUPERADMIN' | ''
|
||||
d.f_cubierta = $('#search-cubierta').val() || ''; // 'true' | 'false' | ''
|
||||
}
|
||||
},
|
||||
order: [[0, 'asc']],
|
||||
columns: [
|
||||
{ data: 'id', name: 'id', orderable: true },
|
||||
{ data: 'tipoEncuadernacion', name: 'tipoEncuadernacion', orderable: true },
|
||||
{ data: 'tipoCubierta', name: 'tipoCubierta', orderable: true },
|
||||
{ data: 'tiradaMin', name: 'tiradaMin', orderable: true },
|
||||
{ data: 'tiradaMax', name: 'tiradaMax', orderable: true },
|
||||
{ data: 'importeMin', name: 'importeMin', orderable: true },
|
||||
{ data: 'importeMax', name: 'importeMax', orderable: true },
|
||||
{ data: 'margenMax', name: 'margenMax', orderable: true },
|
||||
{ data: 'margenMin', name: 'margenMin', orderable: true },
|
||||
{ data: 'actions', name: 'actions' }
|
||||
@ -69,7 +64,7 @@
|
||||
const colIndex = table.settings()[0].aoColumns.findIndex(c => c.name === colName);
|
||||
|
||||
if (colIndex >= 0) {
|
||||
table.column(colIndex).search(this.value).draw();
|
||||
table.column(colIndex).search(normalizeNumericFilter(this.value)).draw();
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@ -64,4 +64,17 @@ export function bracketPrefix(obj, prefix) {
|
||||
out[`${prefix}[${k}]`] = v;
|
||||
});
|
||||
return out;
|
||||
}
|
||||
|
||||
|
||||
export function normalizeNumericFilter(input) {
|
||||
if (!input) return input;
|
||||
// Convierte todos los números del string:
|
||||
// - Quita separadores de miles con punto
|
||||
// - Cambia coma decimal por punto
|
||||
// Mantiene operadores (>=, <=, <, >) y rangos con '-'
|
||||
return input.replace(
|
||||
/\d{1,3}(?:\.\d{3})*(?:,\d+)?|\d+(?:,\d+)?/g,
|
||||
(num) => num.replace(/\./g, '').replace(',', '.')
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user