mirror of
https://git.imnavajas.es/jjimenez/safekat.git
synced 2025-07-25 22:52:08 +00:00
trabajando en direcciones!
This commit is contained in:
@ -663,21 +663,25 @@ $routes->group('serviciosacabados', ['namespace' => 'App\Controllers\Presupuesto
|
||||
$routes->post('menuitems', 'Presupuestoacabados::menuItems', ['as' => 'menuItemsOfPresupuestoAcabados']);
|
||||
$routes->post('edit/(:num)', 'Presupuestoacabados::edit/$1', ['as' => 'updatePresupuestoacabados']);
|
||||
$routes->get('cargar', 'Presupuestoacabados::cargar');
|
||||
$routes->post('update/(:num)', 'Presupuestoacabados::update/$1');
|
||||
});
|
||||
|
||||
|
||||
$routes->group('serviciosencuadernaciones', ['namespace' => 'App\Controllers\Presupuestos'], function ($routes) {
|
||||
$routes->post('datatable', 'Presupuestoencuadernaciones::datatable', ['as' => 'dataTableOfPresupuestoEncuadernaciones']);
|
||||
$routes->post('getvalues', 'Presupuestoencuadernaciones::getRowValues');
|
||||
$routes->post('menuitems', 'Presupuestoencuadernaciones::menuItems', ['as' => 'menuItemsOfPresupuestoEncuadernaciones']);
|
||||
$routes->get('delete/(:num)', 'Presupuestoencuadernaciones::delete/$1', ['as' => 'deletePresupuestoencuadernaciones']);
|
||||
$routes->post('edit/(:num)', 'Presupuestoencuadernaciones::edit/$1', ['as' => 'updatePresupuestoencuadernaciones']);
|
||||
|
||||
$routes->post('update/(:num)', 'Presupuestoencuadernaciones::update/$1');
|
||||
});
|
||||
|
||||
$routes->group('serviciosmanipulados', ['namespace' => 'App\Controllers\Presupuestos'], function ($routes) {
|
||||
$routes->post('getvalues', 'Presupuestomanipulados::getRowValues');
|
||||
$routes->post('datatable', 'Presupuestomanipulados::datatable', ['as' => 'dataTableOfPresupuestoManipulados']);
|
||||
$routes->post('edit/(:num)', 'Presupuestomanipulados::edit/$1', ['as' => 'updatePresupuestomanipulados']);
|
||||
$routes->post('update/(:num)', 'Presupuestomanipulados::update/$1');
|
||||
$routes->get('serviciosolapas', 'Presupuestomanipulados::getServicioSolapas');
|
||||
});
|
||||
|
||||
$routes->group('serviciospreimpresiones', ['namespace' => 'App\Controllers\Presupuestos'], function ($routes) {
|
||||
|
||||
@ -69,23 +69,26 @@ class Presupuestoacabados extends \App\Controllers\BaseResourceController
|
||||
return;
|
||||
endif;
|
||||
|
||||
$postData = $this->request->getJSON();
|
||||
$tarifas = array_column($postData->datos, 'tarifa_id');
|
||||
$tirada = $postData->tirada ?? 0;
|
||||
$POD = $postData->POD ?? 0;
|
||||
$postData = $this->request->getPost();
|
||||
$datos_tarifas = $postData['datos'] ?? [];
|
||||
$tirada = $postData['tirada'] ?? 0;
|
||||
$POD = model('App\Models\Configuracion\ConfigVariableModel')->getVariable('POD')->value;
|
||||
$result = [];
|
||||
|
||||
if (count($tarifas) > 0) {
|
||||
foreach ($tarifas as $tarifa) {
|
||||
$values = $this->model->getPrecioTarifa($tarifa, $tirada, $POD);
|
||||
array_push($result, $values);
|
||||
if (count($datos_tarifas) > 0) {
|
||||
foreach ($datos_tarifas as $tarifa) {
|
||||
$proveedor = $tarifa['proveedor_id'] == '' ? -1 : $tarifa['proveedor_id'];
|
||||
$values = $this->model->getPrecioTarifa($tarifa['tarifa_id'], $tirada, $proveedor, $POD);
|
||||
$values[0]->cubierta = $tarifa['cubierta'] ?? 0;
|
||||
$values[0]->sobrecubierta = $tarifa['sobrecubierta'] ?? 0;
|
||||
array_push($result, $values[0]);
|
||||
}
|
||||
}
|
||||
|
||||
$newTokenHash = csrf_hash();
|
||||
$csrfTokenName = csrf_token();
|
||||
$data = [
|
||||
'lines' => $result,
|
||||
'lineas' => $result,
|
||||
$csrfTokenName => $newTokenHash
|
||||
];
|
||||
|
||||
|
||||
@ -510,6 +510,13 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
|
||||
|
||||
$data['servicios'] = $this->getLineasServicios($presupuesto)[1];
|
||||
|
||||
if (intval($presupuesto->envios_recoge_cliente) == 1) {
|
||||
$data['direcciones']['entrega_taller'] = 1;
|
||||
} else {
|
||||
$data['direcciones']['entrega_taller'] = 0;
|
||||
$data['direcciones'] = $this->obtenerDireccionesEnvio($id, $presupuesto->cliente_id);
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
|
||||
@ -1422,4 +1429,17 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
|
||||
|
||||
return PresupuestoService::checkLineasEnvios($direccionesEnvio);
|
||||
}
|
||||
|
||||
protected function obtenerDireccionesEnvio($id, $cliente_id)
|
||||
{
|
||||
$model = model('App\Models\Presupuestos\PresupuestoDireccionesModel');
|
||||
$model_direcciones = model('App\Models\Clientes\ClienteDireccionesModel');
|
||||
$direcciones = $model
|
||||
->join('lg_proveedores', 'presupuesto_direcciones.proveedor_id = lg_proveedores.id')
|
||||
->join('lg_paises', 'presupuesto_direcciones.pais_id = lg_paises.id')
|
||||
->select('presupuesto_direcciones.*, lg_proveedores.nombre AS proveedor, lg_paises.nombre AS pais')
|
||||
->where('presupuesto_id', $id)->findAll();
|
||||
|
||||
return $direcciones;
|
||||
}
|
||||
}
|
||||
|
||||
@ -345,6 +345,53 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
$lomo += floatval($linea['mano']);
|
||||
}
|
||||
}
|
||||
|
||||
//Guardas
|
||||
$guardas = $reqData['guardas'] ?? [];
|
||||
if ($guardas != "false" && $guardas != null) {
|
||||
$datos_guardas = [
|
||||
'papel' => $modelPapelGenerico->getIdFromCode($guardas['papel']),
|
||||
'gramaje' => intval($guardas['gramaje']),
|
||||
'caras' => intval($guardas['caras']),
|
||||
];
|
||||
} else
|
||||
$datos_guardas = false;
|
||||
$guardas = [];
|
||||
$peso_guardas = 0.0;
|
||||
$coste_guardas = 0.0;
|
||||
if ($datos_guardas != 0) {
|
||||
if (count($datos_guardas) != 0 && $datos_guardas) {
|
||||
|
||||
$guardas = $datos_guardas;
|
||||
$input_data['papel_generico'] = $datos_guardas['papel'] ?? 0;
|
||||
$input_data['gramaje'] = $datos_guardas['gramaje'] ?? 0;
|
||||
$input_data['datosPedido']->paginas = 8;
|
||||
$input_data['paginas_color'] = 8;
|
||||
$input_data['datosPedido']->paginas_impresion = $datos_guardas['caras'] ?? 0;
|
||||
$input_data['datosPedido']->solapas_ancho = 0;
|
||||
$input_data['datosPedido']->solapas = 0;
|
||||
$input_data['isColor'] = 1;
|
||||
$input_data['isHq'] = 1;
|
||||
$input_data['uso'] = 'guardas';
|
||||
|
||||
// Para el caso de Fresado y Cosido tapa dura, las guardas son un diptico
|
||||
// y hay que imprimirlas como "cosido" (dos hojas pegadas). En el caso de espiral
|
||||
// o wire-o tapa dura, las guardas se imprimen como hojas sueltas
|
||||
if ($tipo_impresion_id == 1 || $tipo_impresion_id == 3) {
|
||||
$input_data['datosPedido']->isCosido = true;
|
||||
} else if ($tipo_impresion_id == 5 || $tipo_impresion_id == 7) {
|
||||
$input_data['datosPedido']->isCosido = false;
|
||||
}
|
||||
|
||||
$guardas = PresupuestoClienteService::obtenerGuardas($input_data);
|
||||
|
||||
foreach ($guardas as $linea) {
|
||||
if (count($linea) > 0) {
|
||||
$lomo += floatval($linea['mano']);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
$lomo = round($lomo, 2);
|
||||
$errors = [
|
||||
'status' => 0,
|
||||
@ -659,7 +706,21 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
if ($interior == null) {
|
||||
return $this->failServerError('Error al calcular el interior');
|
||||
}
|
||||
$anchoTotal = $interior[0]['mano'];
|
||||
|
||||
$anchoTotal = 0;
|
||||
if(count($interior) == 2) {
|
||||
|
||||
if(count($interior[0]) > 0)
|
||||
$anchoTotal += $interior[0]['mano'];
|
||||
if(count($interior[1]) > 0)
|
||||
$anchoTotal += $interior[1]['mano'];
|
||||
}
|
||||
else{
|
||||
if(count($interior) > 0)
|
||||
$anchoTotal += $interior['mano'];
|
||||
}
|
||||
|
||||
|
||||
// le añadimos 2*ancho libro
|
||||
$anchoTotal += 2 * $datosPedido->ancho;
|
||||
// le añadimos los dobleces de las solapas
|
||||
|
||||
@ -69,30 +69,30 @@ class Presupuestoencuadernaciones extends \App\Controllers\BaseResourceControlle
|
||||
return;
|
||||
endif;
|
||||
|
||||
$postData = $this->request->getJSON();
|
||||
$tarifas = array_column($postData->datos, 'tarifa_id');
|
||||
$tirada = $postData->tirada ?? 0;
|
||||
$paginas = $postData->paginas ?? 0;
|
||||
$POD = $postData->POD ?? 0;
|
||||
$ancho = $postData->ancho ?? 0;
|
||||
$alto = $postData->alto ?? 0;
|
||||
$postData = $this->request->getPost();
|
||||
$datos_tarifas = $postData['datos'] ?? [];
|
||||
$tirada = $postData['tirada'] ?? 0;
|
||||
$paginas = $postData['paginas'] ?? 0;
|
||||
$POD = model('App\Models\Configuracion\ConfigVariableModel')->getVariable('POD')->value;
|
||||
$ancho = $postData['ancho'] ?? 0;
|
||||
$alto = $postData['alto'] ?? 0;
|
||||
$result = [];
|
||||
|
||||
if (count($tarifas) > 0) {
|
||||
foreach ($tarifas as $tarifa) {
|
||||
if ($tarifaModel->isTarifaPorHoras($tarifa)) {
|
||||
$values = $this->model->getPrecioTarifaHoras($tarifa, $paginas, $tirada, -1, $POD);
|
||||
if (count($datos_tarifas) > 0) {
|
||||
foreach ($datos_tarifas as $tarifa) {
|
||||
if ($tarifaModel->isTarifaPorHoras($tarifa['tarifa_id'])) {
|
||||
$values = $this->model->getPrecioTarifaHoras($tarifa['tarifa_id'], $paginas, $tirada, -1, $POD);
|
||||
} else {
|
||||
$values = $this->model->getPrecioTarifa($tarifa, $paginas, $tirada, $ancho, $alto, -1, $POD);
|
||||
$values = $this->model->getPrecioTarifa($tarifa['tarifa_id'], $paginas, $tirada, $ancho, $alto, -1, $POD);
|
||||
}
|
||||
array_push($result, $values);
|
||||
array_push($result, $values[0]);
|
||||
}
|
||||
}
|
||||
|
||||
$newTokenHash = csrf_hash();
|
||||
$csrfTokenName = csrf_token();
|
||||
$data = [
|
||||
'lines' => $result,
|
||||
'lineas' => $result,
|
||||
$csrfTokenName => $newTokenHash
|
||||
];
|
||||
|
||||
|
||||
@ -63,6 +63,27 @@ class Presupuestomanipulados extends \App\Controllers\BaseResourceController
|
||||
return $this->respond($data);
|
||||
}
|
||||
|
||||
public function getServicioSolapas(){
|
||||
|
||||
if($this->request->isAJAX()){
|
||||
|
||||
$servicio = model('App\Models\Configuracion\ConfigVariableModel')->getVariable('servicio_solapas')->value;
|
||||
|
||||
$newTokenHash = csrf_hash();
|
||||
$csrfTokenName = csrf_token();
|
||||
|
||||
$data = [
|
||||
'service' => $servicio,
|
||||
$csrfTokenName => $newTokenHash
|
||||
];
|
||||
|
||||
return $this->respond($data);
|
||||
}
|
||||
else{
|
||||
return $this->failUnauthorized('Invalid request', 403);
|
||||
}
|
||||
}
|
||||
|
||||
public function update($requestedId = null)
|
||||
{
|
||||
|
||||
@ -70,23 +91,23 @@ class Presupuestomanipulados extends \App\Controllers\BaseResourceController
|
||||
return;
|
||||
endif;
|
||||
|
||||
$postData = $this->request->getJSON();
|
||||
$tarifas = array_column($postData->datos, 'tarifa_id');
|
||||
$tirada = $postData->tirada ?? 0;
|
||||
$POD = $postData->POD ?? 0;
|
||||
$postData = $this->request->getPost();
|
||||
$tarifas = $postData['datos'] ?? [];
|
||||
$tirada = $postData['tirada'] ?? 0;
|
||||
$POD = model('App\Models\Configuracion\ConfigVariableModel')->getVariable('POD')->value;
|
||||
$result = [];
|
||||
|
||||
if(count($tarifas)>0){
|
||||
foreach ($tarifas as $tarifa){
|
||||
$values = $this->model->getPrecioTarifa($tarifa, $tirada, $POD);
|
||||
array_push($result, $values);
|
||||
array_push($result, $values[0]);
|
||||
}
|
||||
}
|
||||
|
||||
$newTokenHash = csrf_hash();
|
||||
$csrfTokenName = csrf_token();
|
||||
$data = [
|
||||
'lines' => $result,
|
||||
'lineas' => $result,
|
||||
$csrfTokenName => $newTokenHash
|
||||
];
|
||||
|
||||
|
||||
@ -1,9 +1,4 @@
|
||||
const actionBtns_direcciones = function(data) {
|
||||
return `
|
||||
<span class="edit-add"><a href="javascript:void(0);"><i class="ti ti-pencil ti-sm btn-edit-add mx-2" data-id="${data.id}"></i></a></span>
|
||||
<a href="javascript:void(0);"><i class="ti ti-trash ti-sm tiradas-alternativas delete-add-row mx-2"></i></a>
|
||||
`;
|
||||
};
|
||||
/*
|
||||
|
||||
// Funcion para obtener el peso total del libro
|
||||
function get_peso_libro(){
|
||||
@ -203,7 +198,7 @@ $('#insertar_direccion').on('click', function(){
|
||||
$newAddDialog.modal('show')
|
||||
})
|
||||
|
||||
const lastColNr_direcciones = $('#tableOfDireccionesEnvio').find("tr:first th").length - 1;
|
||||
|
||||
|
||||
|
||||
$(document).on('click', '.delete-add-row', function(e) {
|
||||
@ -280,67 +275,6 @@ $('#recoger_en_taller').change(function(){
|
||||
})
|
||||
|
||||
|
||||
let tableEnvios = $('#tableOfDireccionesEnvio').DataTable( {
|
||||
draw:5,
|
||||
serverSide: false,
|
||||
processing: true,
|
||||
autoWidth: true,
|
||||
responsive: true,
|
||||
order: [[ 0, "asc" ]],
|
||||
pageLength: 20,
|
||||
lengthChange: false,
|
||||
searching: false,
|
||||
paging: false,
|
||||
info: false,
|
||||
scrollX: true,
|
||||
|
||||
columns: [
|
||||
{ 'data': 'tarifa_id' },
|
||||
{ 'data': 'cantidad' },
|
||||
{ 'data': 'peso' },
|
||||
{ 'data': 'att' },
|
||||
{ 'data': 'email' },
|
||||
{ 'data': 'direccion' },
|
||||
{ 'data': 'cp' },
|
||||
{ 'data': 'municipio' },
|
||||
{ 'data': 'paisId' ,
|
||||
render: function(data, type, row, meta) {
|
||||
var pais = window.paisList.find(element => element.id == data);
|
||||
return pais['nombre'];
|
||||
},
|
||||
},
|
||||
{ 'data': 'telefono' },
|
||||
{ 'data': 'proveedor'},
|
||||
{ 'data': 'proveedor_id'},
|
||||
{ 'data': 'precio' },
|
||||
{ 'data': 'margen' },
|
||||
{ 'data': 'entregaPieCalle' },
|
||||
{
|
||||
data: actionBtns_direcciones,
|
||||
className: 'row-edit dt-center'
|
||||
}
|
||||
],
|
||||
columnDefs: [
|
||||
{
|
||||
orderable: false,
|
||||
searchable: false,
|
||||
targets: [lastColNr_direcciones]
|
||||
},
|
||||
{"orderData": [ 0], "targets": 0 },
|
||||
|
||||
],
|
||||
columnDefs: [
|
||||
{
|
||||
target: [0,11,13,14],
|
||||
visible: false,
|
||||
searchable: false
|
||||
},
|
||||
],
|
||||
language: {
|
||||
url: "/themes/vuexy/vendor/libs/datatables-sk/plugins/i18n/es-ES.json"
|
||||
},
|
||||
|
||||
} );
|
||||
|
||||
|
||||
|
||||
@ -421,3 +355,4 @@ function load_datos_envios(){
|
||||
|
||||
}
|
||||
|
||||
*/
|
||||
@ -14,7 +14,7 @@
|
||||
<table id="tableOfDireccionesEnvio" class="table dt-responsive dataTable px-2 update-resumen-presupuesto" style="width: 95%;">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="lp-header">Tarifa_id</th>
|
||||
<th class="lp-header">TARIFA ID</th>
|
||||
<th class="lp-header"><?= lang('PresupuestosDirecciones.cantidad') ?></th>
|
||||
<th class="lp-header"><?= lang('PresupuestosDirecciones.peso') ?></th>
|
||||
<th class="lp-header"><?= lang('PresupuestosDirecciones.att') ?></th>
|
||||
@ -27,8 +27,8 @@
|
||||
<th class="lp-header"><?= lang('PresupuestosDirecciones.proveedor') ?></th>
|
||||
<th>Proveedor_id</th>
|
||||
<th class="lp-header"><?= lang('PresupuestosDirecciones.precio') ?></th>
|
||||
<th>Margen</th>
|
||||
<th>Entrega a pie</th>
|
||||
<th><?= lang('Tarifaacabado.margen') ?></th>
|
||||
<th>Pallets?</th>
|
||||
<th style="min-width:120px !important;" class="lp-header"><?= lang('Basic.global.Action') ?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -7,6 +7,7 @@ import Comparador from './sections/comparador.js';
|
||||
import LineasPresupuesto from './sections/lineasPresupuesto.js';
|
||||
import PreviewFormasAdmin from './sections/previewFormasAdmin.js';
|
||||
import Servicios from './sections/servicios.js';
|
||||
import Envios from './sections/envios.js';
|
||||
|
||||
class PresupuestoAdminEdit {
|
||||
|
||||
@ -38,6 +39,7 @@ class PresupuestoAdminEdit {
|
||||
|
||||
this.previewFormasAdmin = null;
|
||||
this.servicios = new Servicios();
|
||||
this.envios = new Envios();
|
||||
this.calcularPresupuesto = false;
|
||||
}
|
||||
|
||||
@ -67,6 +69,7 @@ class PresupuestoAdminEdit {
|
||||
this.datosLibro.init();
|
||||
this.comparador.init();
|
||||
this.lineasPresupuesto.init();
|
||||
this.envios.init();
|
||||
|
||||
this.previewFormasAdmin = new PreviewFormasAdmin(tipoLibro, this.tipoTapa,
|
||||
{
|
||||
@ -124,6 +127,7 @@ class PresupuestoAdminEdit {
|
||||
self.lineasPresupuesto.cargarDatos(response.data.lineasPresupuesto);
|
||||
|
||||
self.servicios.cargar(response.data.servicios);
|
||||
self.envios.cargar(response.data.direcciones);
|
||||
/*self.direcciones.handleChangeCliente();
|
||||
|
||||
self.direcciones.cargarDatos(response.data.direcciones, response.data.datosGenerales);
|
||||
|
||||
@ -66,8 +66,8 @@ class DatosLibro {
|
||||
this.acabadoSobrecubierta.init();
|
||||
|
||||
this.acabadoCubierta.item.on('select2:select', function () {
|
||||
|
||||
$(document).trigger('add-servicio-lineas', 'acabadoCubierta');
|
||||
|
||||
$(document).trigger('add-servicio-lineas', 'acabadoCubierta');
|
||||
});
|
||||
this.acabadoSobrecubierta.item.on('select2:select', function () {
|
||||
$(document).trigger('add-servicio-lineas', 'acabadoSobrecubierta');
|
||||
@ -96,9 +96,10 @@ class DatosLibro {
|
||||
|
||||
$('.formato-libro').on('change', function () {
|
||||
$(document).trigger('update-lineas-presupuesto');
|
||||
$(document).trigger('update-servicios');
|
||||
|
||||
/* TO-DO
|
||||
updatePresupuesto({
|
||||
update_servicios: true,
|
||||
update_envios: true,
|
||||
update_resumen: true,
|
||||
update_tiradas_alternativas: true
|
||||
@ -116,7 +117,7 @@ class DatosLibro {
|
||||
$(document).trigger('remove-servicio-lineas', 'fajaColor');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
changeFerro() {
|
||||
|
||||
if (this.ferro.prop('checked')) {
|
||||
@ -130,7 +131,7 @@ class DatosLibro {
|
||||
changePrototipo() {
|
||||
|
||||
if (this.prototipo.prop('checked')) {
|
||||
|
||||
|
||||
$(document).trigger('add-servicio-lineas', 'prototipo');
|
||||
this.ferro.prop('checked', true).trigger('change');
|
||||
}
|
||||
@ -183,33 +184,32 @@ class DatosLibro {
|
||||
this.checkPaginasPresupuesto();
|
||||
|
||||
$(document).trigger('update-lineas-presupuesto');
|
||||
|
||||
$(document).trigger('update-servicios');
|
||||
// TO-DO
|
||||
/*updatePresupuesto({
|
||||
update_servicios: true,
|
||||
update_envios: true,
|
||||
update_resumen: true,
|
||||
update_tiradas_alternativas: true
|
||||
})*/
|
||||
}
|
||||
|
||||
|
||||
changeTipoTamanio(){
|
||||
|
||||
if(this.tamanioPersonalizado.prop('checked')){
|
||||
|
||||
changeTipoTamanio() {
|
||||
|
||||
if (this.tamanioPersonalizado.prop('checked')) {
|
||||
$('.tamanio-personalizado').removeClass('d-none');
|
||||
$('.tamanio-estandar').addClass('d-none');
|
||||
this.tamanio.setVal('');
|
||||
$("#label_papelFormatoId").text(
|
||||
$("#label_papelFormatoId").text(
|
||||
window.language.Presupuestos.papelFormatoId + " (" +
|
||||
window.language.Presupuestos.papelFormatoAncho + " x " + window.language.Presupuestos.papelFormatoAncho + ")*");
|
||||
}
|
||||
else{
|
||||
else {
|
||||
this.anchoPersonalizado.val("");
|
||||
this.altoPersonalizado.val("");
|
||||
$('.tamanio-personalizado').addClass('d-none');
|
||||
$('.tamanio-estandar').removeClass('d-none');
|
||||
$("#label_papelFormatoId").text(
|
||||
$("#label_papelFormatoId").text(
|
||||
window.language.Presupuestos.papelFormatoId + '*');
|
||||
}
|
||||
$(document).trigger('update-lineas-presupuesto');
|
||||
@ -218,59 +218,67 @@ class DatosLibro {
|
||||
|
||||
changeSolapasCubierta() {
|
||||
|
||||
if (this.solapasCubierta.prop('checked')) {
|
||||
$('#div_solapas_ancho').removeClass('d-none');
|
||||
}
|
||||
else {
|
||||
$('#div_solapas_ancho').divSolapasCubierta.addClass('d-none');
|
||||
this.anchoSolapasCubierta.val(0);
|
||||
}
|
||||
$('#serv_default').trigger('click');
|
||||
setTimeout(() => {
|
||||
if (this.solapasCubierta.prop('checked')) {
|
||||
$('#div_solapas_ancho').removeClass('d-none');
|
||||
$(document).trigger('add-servicio-lineas', 'solapas');
|
||||
}
|
||||
else {
|
||||
$('#div_solapas_ancho').addClass('d-none');
|
||||
this.anchoSolapasCubierta.val(60);
|
||||
$(document).trigger('remove-servicio-lineas', 'solapas');
|
||||
}
|
||||
}, 100);
|
||||
$(document).trigger('update-servicios');
|
||||
}
|
||||
|
||||
|
||||
changeSolapasSobrecubierta() {
|
||||
|
||||
|
||||
if (this.solapasSobrecubierta.prop('checked')) {
|
||||
this.divSolapasSobrecubierta.removeClass('d-none');
|
||||
$(document).trigger('remove-servicio-lineas', 'solapas');
|
||||
}
|
||||
else {
|
||||
this.divSolapasSobrecubierta.addClass('d-none');
|
||||
this.anchoSolapasSobrecubierta.val(0);
|
||||
this.anchoSolapasSobrecubierta.val(60);
|
||||
$(document).trigger('add-servicio-lineas', 'solapas');
|
||||
}
|
||||
$('#serv_default').trigger('click');
|
||||
$(document).trigger('update-servicios');
|
||||
|
||||
}
|
||||
|
||||
changePaginas() {
|
||||
|
||||
if($('#tipo_impresion_id').val() == 21){
|
||||
if(parseInt($('#paginas').val()) > 80){
|
||||
|
||||
if ($('#tipo_impresion_id').val() == 21) {
|
||||
if (parseInt($('#paginas').val()) > 80) {
|
||||
$('#paginas').val(80)
|
||||
}
|
||||
}
|
||||
|
||||
if(window.location.href.includes('edit')){
|
||||
|
||||
|
||||
if (window.location.href.includes('edit')) {
|
||||
|
||||
this.checkPaginasPresupuesto();
|
||||
|
||||
|
||||
// Si es negro o color
|
||||
if ($('#tipoImpresion').select2('data')[0].id == 'negro' ||
|
||||
$('#tipoImpresion').select2('data')[0].id == 'color') {
|
||||
$('#compPaginasNegro').val(parseInt($('#paginas').val())-parseInt($('#compPaginasColor').val()));
|
||||
$('#compPaginasNegro').val(parseInt($('#paginas').val()) - parseInt($('#compPaginasColor').val()));
|
||||
$('#compPaginasNegro').trigger('change')
|
||||
}
|
||||
// Si es negrohq o colorhq
|
||||
if ($('#tipoImpresion').select2('data')[0].id == 'negrohq' ||
|
||||
$('#tipoImpresion').select2('data')[0].id == 'colorhq') {
|
||||
$('#compPaginasNegrohq').val(parseInt($('#paginas').val())-parseInt($('#compPaginasColorhq').val()));
|
||||
$('#compPaginasNegrohq').val(parseInt($('#paginas').val()) - parseInt($('#compPaginasColorhq').val()));
|
||||
$('#compPaginasNegrohq').trigger('change');
|
||||
}
|
||||
|
||||
|
||||
$(document).trigger('update-lineas-presupuesto');
|
||||
$(document).trigger('update-servicios');
|
||||
|
||||
// TO-DO
|
||||
/*
|
||||
updatePresupuesto({
|
||||
update_lineas: true,
|
||||
update_servicios: true,
|
||||
update_envios: true,
|
||||
update_resumen: true,
|
||||
update_tiradas_alternativas: true
|
||||
@ -278,16 +286,16 @@ class DatosLibro {
|
||||
*/
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
changeTirada(update_tiradas_alternativas = true) {
|
||||
|
||||
|
||||
this.calcular_mermas()
|
||||
|
||||
|
||||
const url2 = window.location.href;
|
||||
const url_parts2 = url2.split('/');
|
||||
|
||||
if(url_parts2[url_parts2.length-2] == 'edit'){
|
||||
|
||||
if (url_parts2[url_parts2.length - 2] == 'edit') {
|
||||
$(document).trigger('update-lineas-presupuesto');
|
||||
//update_servicios(false)
|
||||
//updateLineasPresupuesto()
|
||||
@ -314,35 +322,35 @@ class DatosLibro {
|
||||
*/
|
||||
}
|
||||
}
|
||||
|
||||
calcular_mermas(){
|
||||
|
||||
|
||||
calcular_mermas() {
|
||||
|
||||
const tirada = parseInt($('#tirada').val());
|
||||
const POD = parseInt($('#POD').val());
|
||||
let merma = 0;
|
||||
let htmlString = '';
|
||||
|
||||
if(tirada> POD){
|
||||
merma = tirada*0.1<=POD ? tirada*0.1 : POD;
|
||||
|
||||
if (tirada > POD) {
|
||||
merma = tirada * 0.1 <= POD ? tirada * 0.1 : POD;
|
||||
}
|
||||
else{
|
||||
else {
|
||||
let merma_lineas = []
|
||||
$('#tableLineasPresupuesto').DataTable().rows().every( function ( rowIdx, tableLoop, rowLoop ) {
|
||||
$('#tableLineasPresupuesto').DataTable().rows().every(function (rowIdx, tableLoop, rowLoop) {
|
||||
var rowData = this.data();
|
||||
if(rowData.row_id != 'lp_guardas' && rowData.row_id != 'lp_cubierta' && rowData.row_id != 'lp_sobrecubierta'){
|
||||
const formas_linea = parseInt($('#isCosido').val())==0?parseInt(rowData.formas):parseInt(rowData.formas)/2
|
||||
if(formas_linea > tirada)
|
||||
merma_lineas.push(formas_linea-tirada)
|
||||
if (rowData.row_id != 'lp_guardas' && rowData.row_id != 'lp_cubierta' && rowData.row_id != 'lp_sobrecubierta') {
|
||||
const formas_linea = parseInt($('#isCosido').val()) == 0 ? parseInt(rowData.formas) : parseInt(rowData.formas) / 2
|
||||
if (formas_linea > tirada)
|
||||
merma_lineas.push(formas_linea - tirada)
|
||||
else
|
||||
merma_lineas.push(tirada%formas_linea)
|
||||
merma_lineas.push(tirada % formas_linea)
|
||||
}
|
||||
|
||||
|
||||
})
|
||||
|
||||
|
||||
if(merma_lineas.length>0)
|
||||
|
||||
|
||||
if (merma_lineas.length > 0)
|
||||
merma = Math.max(...merma_lineas)
|
||||
else{
|
||||
else {
|
||||
htmlString = `
|
||||
<div class="alert alert-warning d-flex align-items-baseline" role="alert">
|
||||
<span class="alert-icon alert-icon-lg text-primary me-2">
|
||||
@ -350,16 +358,16 @@ class DatosLibro {
|
||||
</span>
|
||||
<div class="d-flex flex-column ps-1">
|
||||
<h5 class="alert-heading mb-2">` +
|
||||
window.language.Presupuestos.validation.no_lp_for_merma +
|
||||
`</h5>
|
||||
window.language.Presupuestos.validation.no_lp_for_merma +
|
||||
`</h5>
|
||||
</div>
|
||||
</div>`;
|
||||
|
||||
|
||||
</div>`;
|
||||
|
||||
|
||||
merma = 0
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
$('#mermacubierta').val(parseInt(merma))
|
||||
$('#merma').val(parseInt(merma))
|
||||
@ -392,15 +400,15 @@ class DatosLibro {
|
||||
$('#tipo_impresion_id').val() == 5 || $('#tipo_impresion_id').val() == 7) {
|
||||
$(".solapas-cubierta-div").addClass('d-none');
|
||||
}
|
||||
else{
|
||||
else {
|
||||
if (datos.solapasCubierta) {
|
||||
this.solapasCubierta.prop('checked', true);
|
||||
this.anchoSolapasCubierta.val(datos.solapasCubiertaAncho);
|
||||
this.divSolapasSobrecubierta.removeClass('d-none');
|
||||
}
|
||||
else{
|
||||
else {
|
||||
this.solapasCubierta.prop('checked', false);
|
||||
this.anchoSolapasCubierta.val(0);
|
||||
this.anchoSolapasCubierta.val(60);
|
||||
this.divSolapasSobrecubierta.addClass('d-none');
|
||||
}
|
||||
}
|
||||
@ -409,12 +417,12 @@ class DatosLibro {
|
||||
this.anchoSolapasSobrecubierta.val(datos.solapasSobrecubiertaAncho);
|
||||
$('#div_solapas_ancho_sobrecubierta').removeClass('d-none');
|
||||
}
|
||||
else{
|
||||
else {
|
||||
this.solapasSobrecubierta.prop('checked', false);
|
||||
this.anchoSolapasSobrecubierta.val(60);
|
||||
$('#div_solapas_ancho_sobrecubierta').addClass('d-none');
|
||||
}
|
||||
|
||||
|
||||
|
||||
this.acabadoCubierta.setOption(datos.acabadoCubierta.id, datos.acabadoCubierta.text);
|
||||
|
||||
|
||||
@ -0,0 +1,125 @@
|
||||
import Ajax from "../../../components/ajax.js";
|
||||
import { getToken } from "../../../common/common.js";
|
||||
|
||||
class Envios {
|
||||
|
||||
constructor() {
|
||||
|
||||
this.csrf_token = getToken();
|
||||
this.csrf_hash = $('#mainContainer').find('input[name="' + this.csrf_token + '"]').val();
|
||||
|
||||
this.recogerTaller = $('#recoger_en_taller');
|
||||
|
||||
this.table = null;
|
||||
}
|
||||
|
||||
init() {
|
||||
|
||||
const self = this;
|
||||
|
||||
this.table = $('#tableOfDireccionesEnvio').DataTable({
|
||||
draw: 5,
|
||||
serverSide: false,
|
||||
processing: true,
|
||||
autoWidth: true,
|
||||
responsive: true,
|
||||
order: [[0, "asc"]],
|
||||
pageLength: 20,
|
||||
lengthChange: false,
|
||||
searching: false,
|
||||
paging: false,
|
||||
info: false,
|
||||
scrollX: true,
|
||||
|
||||
columns: [
|
||||
{ 'data': 'tarifa_id' },
|
||||
{ 'data': 'cantidad' },
|
||||
{ 'data': 'peso' },
|
||||
{ 'data': 'att' },
|
||||
{ 'data': 'email' },
|
||||
{ 'data': 'direccion' },
|
||||
{ 'data': 'cp' },
|
||||
{ 'data': 'municipio' },
|
||||
{ 'data': 'pais' },
|
||||
{ 'data': 'telefono' },
|
||||
{ 'data': 'proveedor' },
|
||||
{ 'data': 'proveedor_id' },
|
||||
{ 'data': 'precio' },
|
||||
{ 'data': 'margen' },
|
||||
{ 'data': 'entregaPieCalle' },
|
||||
{
|
||||
data: function (row, type, set, meta) {
|
||||
return `
|
||||
<span class="edit-add"><a href="javascript:void(0);"><i class="ti ti-pencil ti-sm btn-edit-add mx-2" data-id="${row.id}"></i></a></span>
|
||||
<a href="javascript:void(0);"><i class="ti ti-trash ti-sm tiradas-alternativas delete-add-row mx-2"></i></a>
|
||||
`;
|
||||
},
|
||||
className: 'row-edit dt-center'
|
||||
}
|
||||
],
|
||||
columnDefs: [
|
||||
{
|
||||
orderable: false,
|
||||
searchable: false,
|
||||
targets: [$('#tableOfDireccionesEnvio').find("tr:first th").length - 1]
|
||||
},
|
||||
{ "orderData": [0], "targets": 0 },
|
||||
|
||||
],
|
||||
columnDefs: [
|
||||
{
|
||||
target: [11],
|
||||
visible: false,
|
||||
searchable: false
|
||||
},
|
||||
],
|
||||
language: {
|
||||
url: "/themes/vuexy/vendor/libs/datatables-sk/plugins/i18n/es-ES.json"
|
||||
},
|
||||
|
||||
drawCallback: function (settings) {
|
||||
self.check_unidades_enviadas();
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
cargar(datos) {
|
||||
if (datos.entrega_taller) {
|
||||
this.recogerTaller.prop('checked', true);
|
||||
}
|
||||
else {
|
||||
this.table.rows.add(datos).draw();
|
||||
}
|
||||
}
|
||||
|
||||
check_unidades_enviadas() {
|
||||
|
||||
var cantidad_total = 0
|
||||
this.table.rows().every(function (rowIdx, tableLoop, rowLoop) {
|
||||
cantidad_total += parseInt(this.data().cantidad)
|
||||
});
|
||||
|
||||
const tirada = parseInt($('#tirada').val());
|
||||
let htmlString = '';
|
||||
if (cantidad_total < tirada && this.recogerTaller.prop('checked') === false) {
|
||||
htmlString = `
|
||||
<div class="alert alert-warning d-flex align-items-baseline" role="alert">
|
||||
<span class="alert-icon alert-icon-lg text-primary me-2">
|
||||
<i class="ti ti-bell ti-sm"></i>
|
||||
</span>
|
||||
<div class="d-flex flex-column ps-1">
|
||||
<h5 class="alert-heading mb-2">` +
|
||||
window.language.Presupuestos.validation.ejemplares_envio +
|
||||
`</h5>
|
||||
</div>
|
||||
</div>`;
|
||||
$('#alert-envios').html(htmlString);
|
||||
return false;
|
||||
}
|
||||
$('#alert-envios').html(htmlString);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
export default Envios;
|
||||
@ -37,7 +37,6 @@ class LineasPresupuesto {
|
||||
|
||||
// TO-DO
|
||||
/*updatePresupuesto({
|
||||
update_servicios: true,
|
||||
update_envios: true,
|
||||
update_resumen: true,
|
||||
update_tiradas_alternativas: true
|
||||
@ -1605,8 +1604,6 @@ class LineasPresupuesto {
|
||||
calcular_mermas()
|
||||
|
||||
updatePresupuesto({
|
||||
update_lineas: false,
|
||||
update_servicios: true,
|
||||
update_envios: true,
|
||||
update_resumen: true,
|
||||
update_tiradas_alternativas: true
|
||||
@ -1923,10 +1920,10 @@ class LineasPresupuesto {
|
||||
*/
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* TO-DO
|
||||
updatePresupuesto({
|
||||
update_lineas: false,
|
||||
update_servicios: true,
|
||||
update_envios: false,
|
||||
update_resumen: true,
|
||||
update_tiradas_alternativas: true
|
||||
|
||||
@ -53,9 +53,9 @@ class Servicios {
|
||||
})
|
||||
|
||||
$(document).on('add-servicio-lineas', this.addServicio.bind(this));
|
||||
$(document).on('remove-servicio-lineas', this.addServicio.bind(this));
|
||||
$(document).on('remove-servicio-lineas', this.removeServicio.bind(this));
|
||||
|
||||
|
||||
|
||||
|
||||
$(document).on('change', '.update-totales-servicios', function () {
|
||||
|
||||
@ -71,6 +71,7 @@ class Servicios {
|
||||
showBreadCrumbSaveButton(true);
|
||||
});
|
||||
|
||||
$(document).on('update-servicios', this.updateServicios.bind(this));
|
||||
}
|
||||
|
||||
cargar(datos) {
|
||||
@ -96,13 +97,25 @@ class Servicios {
|
||||
else if (servicio == 'acabadoSobrecubierta') {
|
||||
this.serviciosAcabado.updateAcabadosExteriores(0, 1);
|
||||
}
|
||||
else if (servicio == 'solapas') {
|
||||
this.ServiciosManipulado.addSolapas();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
removeServicio(servicio) {
|
||||
removeServicio(event, servicio) {
|
||||
if (servicio == 'solapas') {
|
||||
this.ServiciosManipulado.removeSolapas();
|
||||
}
|
||||
}
|
||||
|
||||
updateServicios() {
|
||||
|
||||
this.serviciosAcabado.updateServicios();
|
||||
this.ServiciosEncuadernacion.updateServicios();
|
||||
this.ServiciosManipulado.updateServicios();
|
||||
}
|
||||
}
|
||||
|
||||
class ServiciosAcabado {
|
||||
@ -231,6 +244,11 @@ class ServiciosAcabado {
|
||||
|
||||
self.check_serv_acabado_error();
|
||||
}
|
||||
/* TO-DO
|
||||
updatePresupuesto({
|
||||
update_resumen: true,
|
||||
update_tiradas_alternativas: true})
|
||||
*/
|
||||
});
|
||||
|
||||
|
||||
@ -253,6 +271,45 @@ class ServiciosAcabado {
|
||||
}); */
|
||||
}
|
||||
|
||||
updateServicios() {
|
||||
|
||||
const self = this;
|
||||
|
||||
const id = window.location.href.split('/').pop();
|
||||
const tarifa_ids = this.table.rows().data().toArray().map(row => row.tarifa_id);
|
||||
const proveedor_ids = this.table.rows().data().toArray().map(row => row.proveedor_id);
|
||||
const cubiertas = this.table.rows().data().toArray().map(row => row.cubierta);
|
||||
const sobrecubiertas = this.table.rows().data().toArray().map(row => row.sobrecubierta);
|
||||
// emparejar los tarifa_ids con los proveedor_ids
|
||||
let tarifa_data = [];
|
||||
for (let i = 0; i < tarifa_ids.length; i++) {
|
||||
tarifa_data.push({ tarifa_id: tarifa_ids[i], proveedor_id: proveedor_ids[i], cubierta: cubiertas[i], sobrecubierta: sobrecubiertas[i] });
|
||||
}
|
||||
|
||||
let tirada = 0;
|
||||
if (parseInt($('#tirada').val()) > 0) {
|
||||
tirada = parseInt($('#tirada').val())
|
||||
}
|
||||
if (tarifa_ids.length > 0 && tirada > 0) {
|
||||
const data = {
|
||||
datos: tarifa_data,
|
||||
tirada: tirada
|
||||
};
|
||||
new Ajax('/serviciosacabados/update/' + id, data, {},
|
||||
function (response) {
|
||||
if (response.lineas) {
|
||||
self.table.clear().draw();
|
||||
self.table.rows.add(response.lineas).draw();
|
||||
}
|
||||
},
|
||||
function (error) {
|
||||
console.error(error);
|
||||
}
|
||||
).post();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
updateAcabadosExteriores(cubierta, sobrecubierta) {
|
||||
|
||||
this.table.rows().every(function () {
|
||||
@ -461,6 +518,11 @@ class ServiciosPreimpresion {
|
||||
drawCallback: function (settings) {
|
||||
|
||||
self.check_serv_preimpresion_error();
|
||||
/* TO-DO
|
||||
updatePresupuesto({
|
||||
update_resumen: true,
|
||||
update_tiradas_alternativas: true})
|
||||
*/
|
||||
}
|
||||
|
||||
|
||||
@ -750,6 +812,12 @@ class ServiciosEncuadernacion {
|
||||
})
|
||||
|
||||
self.check_serv_enc_error();
|
||||
|
||||
/* TO-DO
|
||||
updatePresupuesto({
|
||||
update_resumen: true,
|
||||
update_tiradas_alternativas: true})
|
||||
*/
|
||||
}
|
||||
});
|
||||
|
||||
@ -772,6 +840,52 @@ class ServiciosEncuadernacion {
|
||||
}); */
|
||||
}
|
||||
|
||||
updateServicios() {
|
||||
|
||||
const self = this;
|
||||
|
||||
const id = window.location.href.split('/').pop();
|
||||
const tarifa_ids = this.table.rows().data().toArray().map(row => row.tarifa_id);
|
||||
const proveedor_ids = this.table.rows().data().toArray().map(row => row.proveedor_id);
|
||||
const cuadernillos = this.table.rows().data().toArray().map(row => row.paginas_por_cuadernillo);
|
||||
|
||||
let tarifa_data = [];
|
||||
for (let i = 0; i < tarifa_ids.length; i++) {
|
||||
tarifa_data.push({ tarifa_id: tarifa_ids[i], proveedor_id: proveedor_ids[i], paginas_por_cuadernillo: cuadernillos[i] });
|
||||
}
|
||||
|
||||
let tirada = 0;
|
||||
if (parseInt($('#tirada').val()) > 0) {
|
||||
tirada = parseInt($('#tirada').val())
|
||||
}
|
||||
let paginas = 0;
|
||||
if (parseInt($('#paginas').val()) > 0) {
|
||||
paginas = parseInt($('#paginas').val())
|
||||
}
|
||||
|
||||
const dimension = self.getDimensionLibro();
|
||||
if (tarifa_ids.length > 0 && tirada > 0) {
|
||||
const data = {
|
||||
datos: tarifa_data,
|
||||
tirada: tirada,
|
||||
paginas: paginas,
|
||||
ancho: dimension.ancho,
|
||||
alto: dimension.alto,
|
||||
};
|
||||
new Ajax('/serviciosencuadernaciones/update/' + id, data, {},
|
||||
function (response) {
|
||||
if (response.lineas) {
|
||||
self.table.clear().draw();
|
||||
self.table.rows.add(response.lineas).draw();
|
||||
}
|
||||
},
|
||||
function (error) {
|
||||
console.error(error);
|
||||
}
|
||||
).post();
|
||||
}
|
||||
}
|
||||
|
||||
cargarServiciosEncuadernacion(datos) {
|
||||
|
||||
this.table.rows.add(datos).draw();
|
||||
@ -779,8 +893,6 @@ class ServiciosEncuadernacion {
|
||||
|
||||
async getServiciosDefecto() {
|
||||
|
||||
this.table.clear().draw();
|
||||
|
||||
const self = this;
|
||||
|
||||
let tirada = 0;
|
||||
@ -806,6 +918,7 @@ class ServiciosEncuadernacion {
|
||||
new Ajax('/serviciosencuadernaciones/datatable', datos, {},
|
||||
function (response) {
|
||||
if (response.values) {
|
||||
self.table.clear().draw();
|
||||
self.table.rows.add(response.values).draw();
|
||||
}
|
||||
},
|
||||
@ -1041,6 +1154,12 @@ class ServiciosManipulado {
|
||||
drawCallback: function (settings) {
|
||||
|
||||
self.check_serv_manipulado_error();
|
||||
|
||||
/* TO-DO
|
||||
updatePresupuesto({
|
||||
update_resumen: true,
|
||||
update_tiradas_alternativas: true})
|
||||
*/
|
||||
}
|
||||
});
|
||||
|
||||
@ -1072,8 +1191,6 @@ class ServiciosManipulado {
|
||||
|
||||
async getServiciosDefecto() {
|
||||
|
||||
this.table.clear().draw();
|
||||
|
||||
const self = this;
|
||||
|
||||
let tirada = 0;
|
||||
@ -1091,6 +1208,7 @@ class ServiciosManipulado {
|
||||
new Ajax('/serviciosmanipulados/datatable', datos, {},
|
||||
function (response) {
|
||||
if (response.values) {
|
||||
self.table.clear().draw();
|
||||
self.table.rows.add(response.values).draw();
|
||||
}
|
||||
},
|
||||
@ -1104,6 +1222,86 @@ class ServiciosManipulado {
|
||||
showBreadCrumbSaveButton(true);
|
||||
}
|
||||
|
||||
addSolapas() {
|
||||
|
||||
const self = this;
|
||||
new Ajax('/serviciosmanipulados/serviciosolapas', {}, {},
|
||||
function (response) {
|
||||
if (response.service) {
|
||||
|
||||
const tarifa_id = response.service;
|
||||
var rows = self.table.rows().data().toArray();
|
||||
var found = rows.some(row => row.tarifa_id === tarifa_id);
|
||||
|
||||
if (!found)
|
||||
self.getPresupuestoManipulado(tarifa_id);
|
||||
|
||||
}
|
||||
},
|
||||
function (error) {
|
||||
console.error(error);
|
||||
}
|
||||
).get();
|
||||
}
|
||||
|
||||
removeSolapas() {
|
||||
|
||||
const self = this;
|
||||
|
||||
new Ajax('/serviciosmanipulados/serviciosolapas', {}, {},
|
||||
function (response) {
|
||||
if (response.service) {
|
||||
|
||||
const tarifa_id = response.service;
|
||||
var rows = self.table.rows().data().toArray();
|
||||
for (let i = 0; i < rows.length; i++) {
|
||||
if (rows[i]['tarifa_id'] == tarifa_id) {
|
||||
self.table.row(i).remove().draw();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
},
|
||||
function (error) {
|
||||
console.error(error);
|
||||
}
|
||||
).get();
|
||||
}
|
||||
|
||||
updateServicios() {
|
||||
|
||||
const self = this;
|
||||
|
||||
const id = window.location.href.split('/').pop();
|
||||
const tarifa_ids = this.table.rows().data().toArray().map(row => row.tarifa_id);
|
||||
|
||||
let tirada = 0;
|
||||
if (parseInt($('#tirada').val()) > 0) {
|
||||
tirada = parseInt($('#tirada').val())
|
||||
}
|
||||
|
||||
if (tarifa_ids.length > 0) {
|
||||
const data = {
|
||||
datos: tarifa_ids,
|
||||
solapas: $('#solapas').is(':checked') ? 1 : 0,
|
||||
tirada: tirada
|
||||
};
|
||||
new Ajax('/serviciosmanipulados/update/' + id, data, {},
|
||||
function (response) {
|
||||
if (response.lineas) {
|
||||
self.table.clear().draw();
|
||||
self.table.rows.add(response.lineas).draw();
|
||||
}
|
||||
},
|
||||
function (error) {
|
||||
console.error(error);
|
||||
}
|
||||
).post();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
getPresupuestoManipulado(tarifa_id = -1) {
|
||||
|
||||
const self = this;
|
||||
@ -1238,6 +1436,12 @@ class ServiciosExtra {
|
||||
drawCallback: function (settings) {
|
||||
|
||||
self.check_serv_extra_error();
|
||||
|
||||
/* TO-DO
|
||||
updatePresupuesto({
|
||||
update_resumen: true,
|
||||
update_tiradas_alternativas: true})
|
||||
*/
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -677,6 +677,8 @@ class PresupuestoCliente {
|
||||
},
|
||||
}
|
||||
|
||||
this.datos.guardas = this.disenioCubierta.getGuardas();
|
||||
|
||||
if (calcularSolapas) {
|
||||
return;
|
||||
}
|
||||
@ -700,7 +702,7 @@ class PresupuestoCliente {
|
||||
carasImpresion: this.disenioCubierta.carasCubierta.val(),
|
||||
};
|
||||
|
||||
this.datos.guardas = this.disenioCubierta.getGuardas();
|
||||
|
||||
this.datos.sobrecubierta = this.disenioCubierta.getSobrecubierta();
|
||||
this.datos.faja = this.disenioCubierta.getFaja();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user