diff --git a/ci4/app/Controllers/Presupuestos/Presupuestodirecciones.php b/ci4/app/Controllers/Presupuestos/Presupuestodirecciones.php index c27b85fe..a8ac762c 100755 --- a/ci4/app/Controllers/Presupuestos/Presupuestodirecciones.php +++ b/ci4/app/Controllers/Presupuestos/Presupuestodirecciones.php @@ -45,7 +45,6 @@ class Presupuestodirecciones extends \App\Controllers\GoBaseResourceController $email = $reqData['email'] ?? ""; $direccion = $reqData['direccion'] ?? ""; $pais_id = $reqData['paisId'] ?? -1; - $ccaa_id = $reqData['ccaaId'] ?? -1; $provincia = $reqData['provincia'] ?? ""; $municipio = $reqData['municipio'] ?? ""; $cp = $reqData['cp'] ?? ""; @@ -54,6 +53,7 @@ class Presupuestodirecciones extends \App\Controllers\GoBaseResourceController $margen = $reqData['margen'] ?? ""; $proveedor = $reqData['proveedor'] ?? ""; $proveedor_id = $reqData['proveedor_id'] ?? ""; + $entregaPieCalle = $reqData['entregaPieCalle'] ?? 0; $data = [ "presupuesto_id" => $presupuesto_id, @@ -64,7 +64,6 @@ class Presupuestodirecciones extends \App\Controllers\GoBaseResourceController "email" => $email, "direccion" => $direccion, "pais_id" => $pais_id, - "ccaa_id" => $ccaa_id, "provincia" => $provincia, "municipio" => $municipio, "cp" => $cp, @@ -73,6 +72,7 @@ class Presupuestodirecciones extends \App\Controllers\GoBaseResourceController "margen" => $margen, "proveedor" => $proveedor, "proveedor_id" => $proveedor_id, + "entregaPieCalle" => $entregaPieCalle, ]; $response = $this->model->insert($data); diff --git a/ci4/app/Entities/Clientes/ClienteDireccionesEntity.php b/ci4/app/Entities/Clientes/ClienteDireccionesEntity.php index 87e06cac..5cda2146 100755 --- a/ci4/app/Entities/Clientes/ClienteDireccionesEntity.php +++ b/ci4/app/Entities/Clientes/ClienteDireccionesEntity.php @@ -13,7 +13,6 @@ class ClienteDireccionesEntity extends \CodeIgniter\Entity\Entity "email" => null, "direccion" => null, "pais_id" => null, - "ccaa_id" => null, "provincia" => null, "municipio" => null, "cp" => null, @@ -22,7 +21,6 @@ class ClienteDireccionesEntity extends \CodeIgniter\Entity\Entity protected $casts = [ "cliente_id" => "int", "pais_id" => "int", - "ccaa_id" => "int", "cp" => "int", ]; } diff --git a/ci4/app/Entities/Presupuestos/PresupuestoDireccionesEntity.php b/ci4/app/Entities/Presupuestos/PresupuestoDireccionesEntity.php index 3eb3bb77..65917b3e 100755 --- a/ci4/app/Entities/Presupuestos/PresupuestoDireccionesEntity.php +++ b/ci4/app/Entities/Presupuestos/PresupuestoDireccionesEntity.php @@ -24,6 +24,7 @@ class PresupuestoDireccionesEntity extends \CodeIgniter\Entity\Entity "proveedor" => null, "proveedor_id" => null, "margen" => null, + "entregaPieCalle" => null, ]; protected $casts = [ "presupuesto_id" => "int", @@ -36,6 +37,7 @@ class PresupuestoDireccionesEntity extends \CodeIgniter\Entity\Entity "precio" => "float", "margen" => "float", "proveedor_id" => "int", + "entregaPieCalle" => "int", ]; } diff --git a/ci4/app/Language/en/PresupuestosDirecciones.php b/ci4/app/Language/en/PresupuestosDirecciones.php index 2d625fbe..6c80ae4e 100755 --- a/ci4/app/Language/en/PresupuestosDirecciones.php +++ b/ci4/app/Language/en/PresupuestosDirecciones.php @@ -16,8 +16,9 @@ return [ 'cantidad' => 'Quantity', 'proveedor' => 'Supplier', 'precio' => 'Price', - 'saveDirection' => 'Save to client addresses', + 'saveDirection' => 'Save to client addresses (shipped on pallets)', 'validation' => [ + 'ejemplares_envio' => 'The number of copies sent does not match the print run' 'max_length' => 'Max. length ', 'required' => 'Field required', 'valid_email' => 'The email is not valid', diff --git a/ci4/app/Language/es/PresupuestosDirecciones.php b/ci4/app/Language/es/PresupuestosDirecciones.php index 475f518e..22a9321b 100755 --- a/ci4/app/Language/es/PresupuestosDirecciones.php +++ b/ci4/app/Language/es/PresupuestosDirecciones.php @@ -19,8 +19,9 @@ return [ 'proveedor' => 'Proveedor', 'precio' => 'Precio', 'saveDirection' => 'Guardar en direcciones de cliente', - 'entregaPieCalle' => 'Entrega a pie de calle', + 'entregaPieCalle' => 'Entrega a pie de calle (enviado en palets)', 'validation' => [ + 'ejemplares_envio' => 'El número de ejemplares enviados no coincide con la tirada', 'max_length' => 'Max. valor caracteres alcanzado', 'required' => 'Campo obligatorio', 'valid_email' => 'El email introducido no es válido', diff --git a/ci4/app/Models/Presupuestos/PresupuestoDireccionesModel.php b/ci4/app/Models/Presupuestos/PresupuestoDireccionesModel.php index fa1e3eed..46d0cc76 100755 --- a/ci4/app/Models/Presupuestos/PresupuestoDireccionesModel.php +++ b/ci4/app/Models/Presupuestos/PresupuestoDireccionesModel.php @@ -36,7 +36,6 @@ class PresupuestoDireccionesModel extends \App\Models\GoBaseModel "email", "direccion", "pais_id", - "ccaa_id", "provincia", "municipio", "cp", @@ -45,6 +44,7 @@ class PresupuestoDireccionesModel extends \App\Models\GoBaseModel 'margen', "proveedor_id", "proveedor", + "entregaPieCalle", ]; protected $returnType = "App\Entities\Clientes\ClienteDireccionesEntity"; @@ -67,15 +67,13 @@ class PresupuestoDireccionesModel extends \App\Models\GoBaseModel ->select( "t1.id AS id, t1.presupuesto_id AS presupuesto_id, t1.tarifa_id AS tarifa_id, t1.att AS att, t1.email AS email, t1.direccion AS direccion, t1.pais_id AS pais_id, t2.nombre AS pais, - t1.ccaa_id AS ccaa_id, t3.nombre AS ccaa_nombre, t1.municipio AS municipio, t1.provincia AS provincia, t1.cp AS cp, t1.telefono AS telefono, t1.peso AS peso, t1.cantidad AS cantidad, t1.precio AS precio, t1.margen AS margen, - t1.proveedor_id AS proveedor_id, t1.proveedor AS proveedor" + t1.proveedor_id AS proveedor_id, t1.proveedor AS proveedor, t1.entregaPieCalle AS entregaPieCalle" ); $builder->where('t1.presupuesto_id', $presupuesto_id); $builder->join("lg_paises t2", "t1.pais_id = t2.id", "left"); - $builder->join("lg_comunidades_autonomas t3", "t1.ccaa_id = t3.id", "left"); return empty($search) ? $builder @@ -85,7 +83,6 @@ class PresupuestoDireccionesModel extends \App\Models\GoBaseModel ->orLike("t1.email", $search) ->orLike("t1.direccion", $search) ->orLike("t2.nombre", $search) - ->orLike("t3.nombre", $search) ->orLike("t1.municipio", $search) ->orLike("t1.provincia", $search) ->orLike("t1.cp", $search) diff --git a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_datosEnvios.php b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_datosEnvios.php index 4fa564e9..14799d22 100755 --- a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_datosEnvios.php +++ b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_datosEnvios.php @@ -8,10 +8,10 @@
- +
- +
@@ -23,14 +23,14 @@ - - + + @@ -86,6 +86,7 @@ const lastColNr_direcciones = $('#tableOfDireccionesEnvio').find("tr:first th"). const actionBtns_direcciones = function(data) { return ` + `; }; @@ -98,8 +99,49 @@ $(document).on('click', '.delete-add-row', function(e) { checkInsertar() }) +$(document).on('click', '.btn-edit-add', function(e) { + const row = $(this).closest('tr'); + var data = tableEnvios.row( row ).data() + + $("#addressForm").attr('action','edit') + $("#addressForm").attr('row', row[0]._DT_RowIndex) + $("#addressForm").attr('presupuestodireccion_id', $(this).attr('data-id')) + var $newAddDialog = $("#addressForm") + var maximaCantidad = parseInt($('#tirada').val()) + $("#add_cantidad").attr("max" , maximaCantidad); + $("#add_cantidad").val( maximaCantidad); + $("#add_cantidad").on('change', function(){ + $("#add_cantidad").val(parseInt($("#add_cantidad").val())>maximaCantidad ? maximaCantidad : $("#add_cantidad").val()) + }) + + cantidad_total = 0 + tableEnvios.rows().every( function ( rowIdx, tableLoop, rowLoop ) { + var data = this.data(); + cantidad_total += data.cantidad + } ); + $('#add_cantidad').attr('max-value', parseInt($('#tirada').val())-cantidad_total) + $('#add_cantidad').val(parseInt($('#tirada').val())-cantidad_total) + + $('#add_att').val(data.att) + $('#add_direccion').val(data.direccion) + $('#add_email').val(data.email) + $('#add_cp').val(data.cp) + $('#add_municipio').val(data.municipio) + $('#add_provincia').val(data.provincia) + $('#add_pais_id').val(data.paisId) + $('#add_telefono').val(data.telefono) + $('#add_cantidad').val(data.cantidad) + $('#add_entregaPieCalle').prop('checked', data.entregaPieCalle==1?true:false) + + $newAddDialog.modal('show') + + + console.log(data) + console.log() +}) + + const paisList = ; -const ccaaList = ; $('#recoger_en_taller').change(function(){ @@ -140,12 +182,6 @@ var tableEnvios = $('#tableOfDireccionesEnvio').DataTable( { { 'data': 'cp' }, { 'data': 'municipio' }, { 'data': 'provincia' }, - { 'data': 'ccaaId' , - render: function(data, type, row, meta) { - var value = ccaaList.find(element => element.id === data); - return value['nombre']; - }, - }, { 'data': 'paisId' , render: function(data, type, row, meta) { var value = paisList.find(element => element.id === data); @@ -157,6 +193,7 @@ var tableEnvios = $('#tableOfDireccionesEnvio').DataTable( { { 'data': 'proveedor_id'}, { 'data': 'precio' }, { 'data': 'margen' }, + { 'data': 'entregaPieCalle' }, { data: actionBtns_direcciones, className: 'row-edit dt-center' @@ -173,7 +210,7 @@ var tableEnvios = $('#tableOfDireccionesEnvio').DataTable( { ], columnDefs: [ { - target: [0,13,15], + target: [0,12,14,15], visible: false, searchable: false }, @@ -189,13 +226,15 @@ function checkInsertar(){ cantidad_total = 0 tableEnvios.rows().every( function ( rowIdx, tableLoop, rowLoop ) { var data = this.data(); - cantidad_total += data.cantidad + cantidad_total += parseInt(data.cantidad ) } ); if(cantidad_total < parseInt($('#tirada').val())){ $('#rowInsertar').css('display', 'flex') + popWarningAlert("", 'alert-envios') } else{ $('#rowInsertar').css('display', 'none') + $('#alert-envios').html('') } } @@ -220,7 +259,6 @@ function save_datos_envios(){ email : data.email, direccion : data.direccion, paisId : data.paisId, - ccaaId : data.ccaaId, provincia : data.provincia, municipio : data.municipio, cp : data.cp, @@ -229,6 +267,7 @@ function save_datos_envios(){ margen : data.margen, proveedor : data.proveedor, proveedor_id : data.proveedor_id, + entregaPieCalle : data.entregaPieCalle, : v, }) }); @@ -261,23 +300,24 @@ function load_datos_envios(){ 'cp': linea.cp, 'municipio': linea.municipio, 'provincia': linea.provincia, - 'ccaaId': linea.ccaa_id, 'paisId': linea.pais_id, 'telefono': linea.telefono, 'proveedor': linea.proveedor, 'proveedor_id': linea.proveedor_id, 'precio': linea.precio, 'margen': linea.margen, + 'entregaPieCalle': linea.entregaPieCalle, 'actionBtns_direcciones': actionBtns_direcciones, }) .draw(); updateTotales() + checkInsertar() }); }) } -checkInsertar() + load_datos_envios() endSection() ?> \ No newline at end of file diff --git a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_datosServiciosItems.php b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_datosServiciosItems.php index a569c4ad..94d8b148 100755 --- a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_datosServiciosItems.php +++ b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_datosServiciosItems.php @@ -459,28 +459,30 @@ $('#manipulado_margen_' + line[0].tarifa_id).val(parseFloat(line[0].margen).toFixed(2)) }); yeniden(data.); - }).then( - fetch(domain + "/presupuestos/presupuestopreimpresiones/update/" + id , { - method: "POST", - body: JSON.stringify({ - datos: datosPreimpresion, - : v - }), - headers: { - "Content-type": "application/json; charset=UTF-8" - } - }) - .then(response => response.json()) - .then(data => { + }).then(function(){ if(update_preimpresion){ - data.lines.forEach((line) => { - $('#precio_preimpresion_' + line[0].tarifa_id).val(parseFloat(line[0].total).toFixed(2)) - $('#preimpresion_margen_' + line[0].tarifa_id).val(parseFloat(line[0].margen).toFixed(2)) - }); + fetch(domain + "/presupuestos/presupuestopreimpresiones/update/" + id , { + method: "POST", + body: JSON.stringify({ + datos: datosPreimpresion, + : v + }), + headers: { + "Content-type": "application/json; charset=UTF-8" + } + }) + .then(response => response.json()) + .then(data => { + + data.lines.forEach((line) => { + $('#precio_preimpresion_' + line[0].tarifa_id).val(parseFloat(line[0].total).toFixed(2)) + $('#preimpresion_margen_' + line[0].tarifa_id).val(parseFloat(line[0].margen).toFixed(2)) + }); + + yeniden(data.); + }) } - yeniden(data.); - }) - ) + }) ) ) diff --git a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_presupuestoDireccionesForm.php b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_presupuestoDireccionesForm.php index bd309aa0..f6190aeb 100755 --- a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_presupuestoDireccionesForm.php +++ b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_presupuestoDireccionesForm.php @@ -41,41 +41,22 @@ -
+ +
+ + +
-
-
- - -
-
- - - -
+
@@ -175,10 +156,17 @@ $('#saveDireccionEnvio').on('click', function(){ if(validate_fields()){ + if($('#addressForm').attr('action')=='edit'){ + tableEnvios.row( $("#addressForm").attr('row') ) + .remove() + .draw(); + } var peso_total_libro = 0 $('#tableLineasPresupuesto tbody tr:visible ').each(function(){ - peso_total_libro += parseFloat($('#' + this.id + '_peso').val()) + // No se incluyen las lineas de datos de rotativa + if(!this.id.includes("_data") ) + peso_total_libro += parseFloat($('#' + this.id + '_peso').val()) }) const peso_envio = peso_total_libro*parseInt($('#add_cantidad').val())/1000.0 @@ -194,6 +182,7 @@ $('#saveDireccionEnvio').on('click', function(){ }) .done(function( data ) { if(data.length >0){ + //console.log(data) var precios = [] for (var i = 0; i < data.length; i++) { if(peso_envio>data[i].peso_max){ @@ -226,13 +215,13 @@ $('#saveDireccionEnvio').on('click', function(){ 'cp': $('#add_cp').val(), 'municipio': $('#add_municipio').val(), 'provincia': $('#add_provincia').val(), - 'ccaaId': $('#add_ccaa').val(), 'paisId': $('#add_pais_id').val(), 'telefono': $('#add_telefono').val(), 'proveedor': tarifa_final.proveedor, 'proveedor_id': tarifa_final.proveedor_id, 'precio': tarifa_final.precio, 'margen': tarifa_final.margen, + 'entregaPieCalle': $('#add_entregaPieCalle').is(":checked")?1:0, 'actionBtns_direcciones': actionBtns_direcciones, }) .draw(); @@ -250,7 +239,6 @@ $('#saveDireccionEnvio').on('click', function(){ 'cp': $('#add_cp').val(), 'municipio': $('#add_municipio').val(), 'provincia': $('#add_provincia').val(), - 'ccaaId': $('#add_ccaa').val(), 'paisId': $('#add_pais_id').val(), 'telefono': $('#add_telefono').val(), 'alias': $('#add_alias').val(), @@ -361,7 +349,6 @@ $('#add_clientedAdd').on('select2:select', function (e) { $('#add_telefono').val(data[0].telefono) $('#add_email').val(data[0].email) $('#add_pais_id').val(data[0].pais_id).change(); - $('#add_ccaa').val(data[0].ccaa_id).change(); } yeniden(data.); @@ -383,20 +370,6 @@ $('.new-address').on('change', function(e){ }) -$('#add_pais_id').on('change', function(){ - var nombre_pais = $("#add_pais_id option:selected" ).text().trim(); - if(nombre_pais.localeCompare('España')==0){ - $('#divPais').removeClass('col-lg-12').addClass('col-lg-6') - $('#divMunicipio').removeClass('col-lg-12').addClass('col-lg-6') - $('.spain-data').css('display', 'inline') - } - else{ - $('.spain-data').css('display', 'none') - $('#divPais').removeClass('col-lg-6').addClass('col-lg-12') - $('#divMunicipio').removeClass('col-lg-6').addClass('col-lg-12') - } -}) - // clear modal items when close $('#addressForm').on('hidden.bs.modal', function () { @@ -404,14 +377,14 @@ $('#addressForm').on('hidden.bs.modal', function () { $('#add_att').val("") $('#add_email').val("") $('#add_direccion').val("") - $("#add_pais_id").val("").change() + $("#add_pais_id").val(1).change() $("#add_clientedAdd").val("").change() - $("#add_ccaa").val("").change() $('#add_municipio').val("") $('#add_provincia').val("") $('#add_cp').val("") $('#add_telefono').val("") $('#add_saveDirection').prop('checked', false) + $('#add_entregaPieCalle').prop('checked', false) }) endSection() ?> \ No newline at end of file diff --git a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_resumenPresupuestoItems.php b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_resumenPresupuestoItems.php index 3cecc9ea..94c8353e 100755 --- a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_resumenPresupuestoItems.php +++ b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_resumenPresupuestoItems.php @@ -166,8 +166,8 @@ function updateTotales(){ if ( typeof tableEnvios !== 'undefined' && tableEnvios.rows().count() > 0){ tableEnvios.rows().every( function ( rowIdx, tableLoop, rowLoop ) { var data = this.data() - totalEnvios += data.precio - margenEnvios += (data.precio)*data.margen/100 + totalEnvios += parseFloat(data.precio) + margenEnvios += parseFloat((data.precio)*data.margen/100) } ); } diff --git a/ci4/app/Views/themes/backend/vuexy/main/defaultlayout.php b/ci4/app/Views/themes/backend/vuexy/main/defaultlayout.php index 35dbc375..e20bb285 100755 --- a/ci4/app/Views/themes/backend/vuexy/main/defaultlayout.php +++ b/ci4/app/Views/themes/backend/vuexy/main/defaultlayout.php @@ -108,7 +108,7 @@ if (!empty($token) && $tfa == false) {
Tarifa_id Proveedor_id MargenEntrega a pie