mirror of
https://git.imnavajas.es/jjimenez/safekat.git
synced 2025-07-25 22:52:08 +00:00
trabajando en las direcciones ferro / prototipo
This commit is contained in:
@ -1,6 +1,6 @@
|
||||
class tarjetaDireccion {
|
||||
|
||||
constructor(container, id, direccion) {
|
||||
constructor(container, id, direccion, isFerroPrototipo = false, numFerro = 0) {
|
||||
|
||||
this.container = container;
|
||||
this.id = id;
|
||||
@ -9,6 +9,8 @@ class tarjetaDireccion {
|
||||
this.deleteBtn = this.card.find('.direccion-eliminar');
|
||||
this.editBtn = this.card.find('.direccion-editar');
|
||||
this.direccion = direccion;
|
||||
this.isFerroPrototipo = direccion.isFerroPrototipo;
|
||||
this.numFerro = this.numFerro || 0;
|
||||
}
|
||||
|
||||
|
||||
@ -109,6 +111,13 @@ class tarjetaDireccion {
|
||||
entregaPalets: this.getEntregaPalets()
|
||||
};
|
||||
}
|
||||
|
||||
getIsFerroPrototipo() {
|
||||
return this.isFerroPrototipo;
|
||||
}
|
||||
getNumFerro() {
|
||||
return this.numFerro;
|
||||
}
|
||||
}
|
||||
|
||||
export default tarjetaDireccion;
|
||||
@ -22,13 +22,21 @@ class Direcciones {
|
||||
this.entregaPieCallero = this.domItem.find('#entregaPieCalle');
|
||||
|
||||
this.direccionesCliente = new ClassSelect($("#direcciones"), '/misdirecciones/getSelect2');
|
||||
this.direccionesClienteFP1 = new ClassSelect($("#direccionesFP1"), '/misdirecciones/getSelect2');
|
||||
this.direccionesClienteFP2 = new ClassSelect($("#direccionesFP2"), '/misdirecciones/getSelect2');
|
||||
|
||||
this.divDirecciones = $(this.domItem.find('#divDirecciones'));
|
||||
this.divTiradas = this.domItem.find('#containerTiradasEnvios');
|
||||
|
||||
this.sameAddPrincipalFP1 = this.domItem.find('#sameAddPrincipalFP1');
|
||||
this.sameAddPrincipalFP2 = this.domItem.find('#sameAddPrincipalFP2');
|
||||
this.sameAddFP1 = this.domItem.find('#sameAddFP1');
|
||||
|
||||
this.checksTiradasEnvio = $('.check-tirada-envio');
|
||||
|
||||
this.direcciones = [];
|
||||
this.direccionesFP1 = [];
|
||||
this.direccionesFP2 = [];
|
||||
|
||||
this.tiradaSeleccionada = null;
|
||||
|
||||
@ -57,6 +65,8 @@ class Direcciones {
|
||||
|
||||
|
||||
this.direccionesCliente.init();
|
||||
this.direccionesClienteFP1.init();
|
||||
this.direccionesClienteFP2.init();
|
||||
this.btnAdd.on('click', this.#insertDireccion.bind(this));
|
||||
this.btnNew.on('click', this.#nuevaDireccion.bind(this));
|
||||
|
||||
@ -80,9 +90,14 @@ class Direcciones {
|
||||
self.divTiradas.trigger('change');
|
||||
}
|
||||
});
|
||||
|
||||
this.sameAddPrincipalFP1.on('change', this.#handleSameAddPrincipalFP1.bind(this));
|
||||
this.sameAddPrincipalFP2.on('change', this.#handleSameAddPrincipalFP2.bind(this));
|
||||
this.sameAddFP1.on('change', this.#handleSameAddFP1.bind(this));
|
||||
}
|
||||
|
||||
|
||||
|
||||
cargarDatos(datos, datosGenerales) {
|
||||
|
||||
self = this;
|
||||
@ -223,72 +238,6 @@ class Direcciones {
|
||||
}
|
||||
}
|
||||
|
||||
initValidation() {
|
||||
|
||||
const stepper = this.validatorStepper;
|
||||
|
||||
this.formValidation = FormValidation.formValidation(this.wizardStep, {
|
||||
fields: {
|
||||
div_error_envios: {
|
||||
validators: {
|
||||
callback: {
|
||||
callback: () => {
|
||||
|
||||
|
||||
div.find('.fv-plugins-message-container').remove();
|
||||
|
||||
if ($('.check-tirada-envio:checked').length > 0) {
|
||||
let unidades = parseInt($($('.check-tirada-envio:checked')[0]).attr('tirada'));
|
||||
let total_envio = 0;
|
||||
// se recorre el array this.direcciones
|
||||
this.direcciones.forEach(direccion => {
|
||||
total_envio += parseInt(direccion.getUnidades());
|
||||
});
|
||||
if (total_envio <= unidades) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
div.append(`
|
||||
<div class="fv-plugins-message-container invalid-feedback">
|
||||
<div data-field="div_tipo_cubierta" data-validator="callback">
|
||||
El total de unidades enviadas no puede ser mayor que la tirada seleccionada
|
||||
</div>
|
||||
</div>
|
||||
`);
|
||||
return false;
|
||||
},
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
},
|
||||
plugins: {
|
||||
trigger: new FormValidation.plugins.Trigger(),
|
||||
bootstrap5: new FormValidation.plugins.Bootstrap5({
|
||||
// Use this for enabling/changing valid/invalid class
|
||||
// eleInvalidClass: '',
|
||||
eleValidClass: '',
|
||||
rowSelector: function (field, ele) {
|
||||
// field is the field name
|
||||
// ele is the field element
|
||||
switch (field) {
|
||||
case 'div_error_envios':
|
||||
return '.col-sm-10';
|
||||
default:
|
||||
return '.col-sm-3';
|
||||
}
|
||||
}
|
||||
}),
|
||||
autoFocus: new FormValidation.plugins.AutoFocus(),
|
||||
submitButton: new FormValidation.plugins.SubmitButton()
|
||||
}
|
||||
}).on('core.form.valid', () => {
|
||||
if (this.allowNext)
|
||||
stepper.next();
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
insertTirada(tirada) {
|
||||
|
||||
@ -449,6 +398,10 @@ class Direcciones {
|
||||
|
||||
this.direccionesCliente.setParams({ 'cliente_id': $("#clienteId").select2('data')[0].id })
|
||||
this.direccionesCliente.empty();
|
||||
this.direccionesClienteFP1.setParams({ 'cliente_id': $("#clienteId").select2('data')[0].id })
|
||||
this.direccionesClienteFP1.empty();
|
||||
this.direccionesClienteFP2.setParams({ 'cliente_id': $("#clienteId").select2('data')[0].id })
|
||||
this.direccionesClienteFP2.empty();
|
||||
|
||||
this.domItem.find('.direccion-cliente').remove();
|
||||
this.direcciones = [];
|
||||
@ -500,6 +453,97 @@ class Direcciones {
|
||||
this.divDirecciones.trigger('change');
|
||||
}
|
||||
|
||||
#handleSameAddPrincipalFP1() {
|
||||
|
||||
if (this.sameAddPrincipalFP2.is(':checked')) {
|
||||
$('.div-direcciones-fp1').addClass('d-none');
|
||||
$('#divDireccionesFerroPrototipo').empty();
|
||||
if (this.direcciones.length > 0) {
|
||||
// get first element
|
||||
let firstDireccion = this.direcciones[0];
|
||||
let tarjeta = new tarjetaDireccion(
|
||||
$("#divDireccionesFerroPrototipo"),
|
||||
'dirEnvio-FP-1',
|
||||
firstDireccion.getData(), true, 1);
|
||||
tarjeta.setUnidades(1);
|
||||
$('#divDireccionesFerroPrototipo').append(tarjeta.card);
|
||||
this.direccionesFP1 = [];
|
||||
this.direccionesFP1.push(tarjeta);
|
||||
$('#divDireccionesFerroPrototipo').removeClass('d-none');
|
||||
}
|
||||
else {
|
||||
// mostrar alerta de que no hay direcciones
|
||||
}
|
||||
|
||||
}
|
||||
else {
|
||||
$('.div-direcciones-fp1').removeClass('d-none');
|
||||
$('#divDireccionesFerroPrototipo').removeClass('d-none');
|
||||
$('#divDireccionesFerroPrototipo').empty();
|
||||
}
|
||||
}
|
||||
|
||||
#handleSameAddPrincipalFP2() {
|
||||
|
||||
if (this.sameAddPrincipalFP2.is(':checked')) {
|
||||
$('.div-direcciones-fp2').addClass('d-none');
|
||||
$('#divDireccionesFerroPrototipo2').empty();
|
||||
if (this.direcciones.length > 0) {
|
||||
// get first element
|
||||
let firstDireccion = this.direcciones[0];
|
||||
let tarjeta = new tarjetaDireccion(
|
||||
$("#divDireccionesFerroPrototipo2"),
|
||||
'dirEnvio-FP-2',
|
||||
firstDireccion.getData(), true, 1);
|
||||
tarjeta.setUnidades(1);
|
||||
$('#divDireccionesFerroPrototipo2').append(tarjeta.card);
|
||||
this.direccionesFP2 = [];
|
||||
this.direccionesFP2.push(tarjeta);
|
||||
$('#divDireccionesFerroPrototipo2').removeClass('d-none');
|
||||
}
|
||||
else {
|
||||
// mostrar alerta de que no hay direcciones
|
||||
}
|
||||
|
||||
}
|
||||
else {
|
||||
$('.div-direcciones-fp2').removeClass('d-none');
|
||||
$('#divDireccionesFerroPrototipo2').removeClass('d-none');
|
||||
$('#divDireccionesFerroPrototipo2').empty();
|
||||
}
|
||||
}
|
||||
|
||||
#handleSameAddFP1() {
|
||||
|
||||
if (this.sameAddFP1.is(':checked')) {
|
||||
$('.div-direcciones-fp2').addClass('d-none');
|
||||
$('#divDireccionesFerroPrototipo2').empty();
|
||||
if (this.direccionesFP1.length > 0) {
|
||||
// get first element
|
||||
let firstDireccion = this.direccionesFP1[0];
|
||||
let tarjeta = new tarjetaDireccion(
|
||||
$("#divDireccionesFerroPrototipo2"),
|
||||
'dirEnvio-FP-2',
|
||||
firstDireccion.getData(), true, 1);
|
||||
tarjeta.setUnidades(1);
|
||||
$('#divDireccionesFerroPrototipo2').append(tarjeta.card);
|
||||
this.direccionesFP2 = [];
|
||||
this.direccionesFP2.push(tarjeta);
|
||||
$('#divDireccionesFerroPrototipo2').removeClass('d-none');
|
||||
}
|
||||
else {
|
||||
// mostrar alerta de que no hay direcciones
|
||||
}
|
||||
|
||||
}
|
||||
else {
|
||||
$('.div-direcciones-fp2').removeClass('d-none');
|
||||
$('#divDireccionesFerroPrototipo2').removeClass('d-none');
|
||||
$('#divDireccionesFerroPrototipo2').empty();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
getSelectedTirada() {
|
||||
if ($('.check-tirada-envio:checked').length > 0)
|
||||
return parseInt($($('.check-tirada-envio:checked')[0]).attr('tirada'));
|
||||
|
||||
@ -86,6 +86,8 @@ class PresupuestoCliente {
|
||||
if (this.datosGenerales.excluirRotativa.length == 0) {
|
||||
|
||||
this.direcciones.direccionesCliente.setParams({ 'cliente_id': $("#clienteId").val() })
|
||||
this.direcciones.direccionesClienteFP1.setParams({ 'cliente_id': $("#clienteId").val() })
|
||||
this.direcciones.direccionesClienteFP2.setParams({ 'cliente_id': $("#clienteId").val() })
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user