Merge branch 'add/fajas_admin' into 'main'

Add/fajas admin

See merge request jjimenez/safekat!506
This commit is contained in:
2025-02-01 18:11:45 +00:00
20 changed files with 876 additions and 247 deletions

View File

@ -478,6 +478,10 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
$data['datosLibro']['solapasSobrecubierta'] = $presupuesto->solapas_sobrecubierta; $data['datosLibro']['solapasSobrecubierta'] = $presupuesto->solapas_sobrecubierta;
$data['datosLibro']['solapasCubiertaAncho'] = $presupuesto->solapas_ancho; $data['datosLibro']['solapasCubiertaAncho'] = $presupuesto->solapas_ancho;
$data['datosLibro']['solapasSobrecubiertaAncho'] = $presupuesto->solapas_ancho_sobrecubierta; $data['datosLibro']['solapasSobrecubiertaAncho'] = $presupuesto->solapas_ancho_sobrecubierta;
$data['datosLibro']['fajaColor'] = $presupuesto->faja_color;
$data['datosLibro']['fajaColorSolapasAncho'] = $presupuesto->solapas_ancho_faja_color;
$data['datosLibro']['fajaColorAlto'] = $presupuesto->alto_faja_color;
$modelAcabado = model("App\Models\Tarifas\Acabados\TarifaAcabadoModel"); $modelAcabado = model("App\Models\Tarifas\Acabados\TarifaAcabadoModel");
$data['datosLibro']['acabadoCubierta']['id'] = $presupuesto->acabado_cubierta_id; $data['datosLibro']['acabadoCubierta']['id'] = $presupuesto->acabado_cubierta_id;
if ($presupuesto->acabado_cubierta_id == 0) { if ($presupuesto->acabado_cubierta_id == 0) {
@ -497,7 +501,6 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
$data['datosLibro']['marcapaginas'] = $presupuesto->marcapaginas; $data['datosLibro']['marcapaginas'] = $presupuesto->marcapaginas;
$data['datosLibro']['retractilado'] = $presupuesto->retractilado; $data['datosLibro']['retractilado'] = $presupuesto->retractilado;
$data['datosLibro']['retractilado5'] = $presupuesto->retractilado5; $data['datosLibro']['retractilado5'] = $presupuesto->retractilado5;
$data['datosLibro']['fajaColor'] = $presupuesto->faja_color;
$data['comparador']['tipo_impresion'] = $presupuesto->comp_tipo_impresion; $data['comparador']['tipo_impresion'] = $presupuesto->comp_tipo_impresion;
$data['comparador']['json_data'] = json_decode($presupuesto->comparador_json_data, true); $data['comparador']['json_data'] = json_decode($presupuesto->comparador_json_data, true);
@ -663,7 +666,9 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
$gramaje = $sobrecubierta['gramaje']; $gramaje = $sobrecubierta['gramaje'];
$paginas_color = $sobrecubierta['datosPedido']['paginas'] ?? 0; $paginas_color = $sobrecubierta['datosPedido']['paginas'] ?? 0;
$tipo_impresion_id = $sobrecubierta['tipo_impresion_id']; $tipo_impresion_id = $sobrecubierta['tipo_impresion_id'];
$uso = $sobrecubierta['uso']; $faja = intval($sobrecubierta['faja'] ?? 0);
$uso = $faja==1? 'faja' : $sobrecubierta['uso'];
$data = array( $data = array(
'cliente_id' => $cliente_id, 'cliente_id' => $cliente_id,
@ -957,7 +962,7 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
$resourceData = PresupuestoService::obtenerComparadorRotativa($input_data); $resourceData = PresupuestoService::obtenerComparadorRotativa($input_data);
} else if ($type == 'cubierta' || $type == 'sobrecubierta') { } else if ($type == 'cubierta' || $type == 'sobrecubierta' || $type == 'faja') {
$datosPedido->solapas = $reqData['solapas']; $datosPedido->solapas = $reqData['solapas'];
$datosPedido->solapas_ancho = $reqData['solapas_ancho']; $datosPedido->solapas_ancho = $reqData['solapas_ancho'];
@ -1618,6 +1623,9 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
$modelPapel = new PapelGenericoModel(); $modelPapel = new PapelGenericoModel();
foreach ($lineas as $linea) { foreach ($lineas as $linea) {
$linea->papel_generico = (new PapelGenericoModel())->find($linea->papel_id)->nombre; $linea->papel_generico = (new PapelGenericoModel())->find($linea->papel_id)->nombre;
if($linea->tipo == 'lp_faja'){
$linea->alto_faja = $presupuestoEntity->alto_faja_color;
}
} }
$input_data = []; $input_data = [];

View File

@ -31,7 +31,6 @@ class PresupuestoEntity extends \CodeIgniter\Entity\Entity
"retractilado" => false, "retractilado" => false,
"retractilado5" => false, "retractilado5" => false,
"guardas" => false, "guardas" => false,
"faja_color" => false,
"recoger_en_taller" => false, "recoger_en_taller" => false,
"ferro" => false, "ferro" => false,
"ferro_digital" => false, "ferro_digital" => false,
@ -53,6 +52,9 @@ class PresupuestoEntity extends \CodeIgniter\Entity\Entity
"solapas_ancho" => 0.0, "solapas_ancho" => 0.0,
"solapas_sobrecubierta" => false, "solapas_sobrecubierta" => false,
"solapas_ancho_sobrecubierta" => 0.0, "solapas_ancho_sobrecubierta" => 0.0,
"faja_color" => false,
"solapas_ancho_faja_color" => 0.0,
"alto_faja_color" => 0.0,
"cosido" => false, "cosido" => false,
"sobrecubiertas" => false, "sobrecubiertas" => false,
"sobrecubiertas_ancho" => 0.0, "sobrecubiertas_ancho" => 0.0,
@ -121,7 +123,6 @@ class PresupuestoEntity extends \CodeIgniter\Entity\Entity
"retractilado" => "boolean", "retractilado" => "boolean",
"retractilado5" => "boolean", "retractilado5" => "boolean",
"guardas" => "boolean", "guardas" => "boolean",
"faja_color" => "boolean",
"recoger_en_taller" => "boolean", "recoger_en_taller" => "boolean",
"ferro" => "boolean", "ferro" => "boolean",
"ferro_digital" => "boolean", "ferro_digital" => "boolean",
@ -137,6 +138,9 @@ class PresupuestoEntity extends \CodeIgniter\Entity\Entity
"solapas_ancho" => "float", "solapas_ancho" => "float",
"solapas_sobrecubierta" => "boolean", "solapas_sobrecubierta" => "boolean",
"solapas_ancho_sobrecubierta" => "float", "solapas_ancho_sobrecubierta" => "float",
"faja_color" => "boolean",
"solapas_ancho_faja_color" => "float",
"alto_faja_color" => "float",
"cosido" => "boolean", "cosido" => "boolean",
"sobrecubiertas" => "boolean", "sobrecubiertas" => "boolean",
"sobrecubiertas_ancho" => "float", "sobrecubiertas_ancho" => "float",

View File

@ -166,6 +166,7 @@ return [
'solapasSobrecubierta' => 'Solapas sobrecub.', 'solapasSobrecubierta' => 'Solapas sobrecub.',
'solapasAnchoCubierta' => 'Ancho solapas cub.', 'solapasAnchoCubierta' => 'Ancho solapas cub.',
'solapasAnchoSobrecubierta' => 'Ancho solapas sobrecub.', 'solapasAnchoSobrecubierta' => 'Ancho solapas sobrecub.',
'sinImpresion' => 'Sin impresion', 'sinImpresion' => 'Sin impresion',
'unaCara' => '1 cara', 'unaCara' => '1 cara',
'dosCaras' => '2 caras', 'dosCaras' => '2 caras',
@ -276,12 +277,14 @@ return [
'previewConfiguracionGuardas' => 'Configuración de guardas', 'previewConfiguracionGuardas' => 'Configuración de guardas',
'previewConfiguracionCubierta' => 'Configuración de cubierta', 'previewConfiguracionCubierta' => 'Configuración de cubierta',
'previewConfiguracionSobrecubierta' => 'Configuración de sobrecubierta', 'previewConfiguracionSobrecubierta' => 'Configuración de sobrecubierta',
'previewConfiguracionFaja' => 'Configuración de faja',
'previewEsquemaCubierta' => 'Esquema de cubierta', 'previewEsquemaCubierta' => 'Esquema de cubierta',
'previewConfiguracionEsquemaCubierta' => 'Configuración esquema de cubierta', 'previewConfiguracionEsquemaCubierta' => 'Configuración esquema de cubierta',
'previewMaquinaPlana' => 'Configuración del papel: Plana', 'previewMaquinaPlana' => 'Configuración del papel: Plana',
'previewMaquinaRotativa' => 'Configuración del papel: Rotativa', 'previewMaquinaRotativa' => 'Configuración del papel: Rotativa',
'previewCubierta' => 'Configuración del papel: Cubierta', 'previewCubierta' => 'Configuración del papel: Cubierta',
'previewSobrecubierta' => 'Configuración del papel: Sobrecubierta', 'previewSobrecubierta' => 'Configuración del papel: Sobrecubierta',
'previewFaja' => 'Configuración del papel: Faja',
'previewPapelGenerico' => 'Papel Genérico', 'previewPapelGenerico' => 'Papel Genérico',
'previewPapelCompra' => 'Papel de Compra', 'previewPapelCompra' => 'Papel de Compra',
'previewAreaImpresion' => 'Área de Impresión', 'previewAreaImpresion' => 'Área de Impresión',
@ -387,7 +390,8 @@ return [
'noInterior' => 'No se hay resultados para el interior', 'noInterior' => 'No se hay resultados para el interior',
'noCubiertaSobrecubierta' => 'No se hay resultados para cubierta/sobrecubierta', 'noCubiertaSobrecubierta' => 'No se hay resultados para cubierta/sobrecubierta',
'errorPresupuesto' => 'Se ha producido un error al calcular el presupuesto. Póngase en contacto con el administrador', 'errorPresupuesto' => 'Se ha producido un error al calcular el presupuesto. Póngase en contacto con el administrador',
'error_sobrecubierta_sin_solapas' => 'Debe seleccionar "sobrecubierta" en los datos del libro para introducir el ancho de solapa' 'error_sobrecubierta_sin_solapas' => 'Debe seleccionar "sobrecubierta" en los datos del libro para introducir el ancho de solapa',
'error_faja_sin_solapas' => 'Debe seleccionar "faja" en los datos del libro para introducir el ancho de solapa'
], ],
]; ];

View File

@ -54,7 +54,6 @@ class PresupuestoModel extends \App\Models\BaseModel
"retractilado", "retractilado",
"retractilado5", "retractilado5",
"guardas", "guardas",
"faja_color",
"recoger_en_taller", "recoger_en_taller",
"ferro", "ferro",
"ferro_digital", "ferro_digital",
@ -76,6 +75,9 @@ class PresupuestoModel extends \App\Models\BaseModel
"solapas_ancho", "solapas_ancho",
"solapas_sobrecubierta", "solapas_sobrecubierta",
"solapas_ancho_sobrecubierta", "solapas_ancho_sobrecubierta",
"solapas_ancho_faja_color",
"faja_color",
"alto_faja_color",
"cosido", "cosido",
"sobrecubiertas", "sobrecubiertas",
"sobrecubiertas_ancho", "sobrecubiertas_ancho",

View File

@ -83,8 +83,13 @@ class PresupuestoService extends BaseService
$parametrosInkjet->rotativa_cg = $datosTipologias[0]->cg; $parametrosInkjet->rotativa_cg = $datosTipologias[0]->cg;
} }
$uso_tarifa = $uso;
if($uso == 'guardas')
$uso_tarifa = 'interior';
else if ($uso == 'faja')
$uso_tarifa = 'sobrecubierta';
$tarifamodel = new \App\Models\Configuracion\MaquinasTarifasImpresionModel(); $tarifamodel = new \App\Models\Configuracion\MaquinasTarifasImpresionModel();
$datos_tarifa = $tarifamodel->getTarifa($maquina->maquina_id, ($uso == 'guardas') ? 'interior' : $uso, $tipo); $datos_tarifa = $tarifamodel->getTarifa($maquina->maquina_id, $uso_tarifa, $tipo);
if (count($datos_tarifa) > 0) { if (count($datos_tarifa) > 0) {
$tarifaId = $datos_tarifa[0]; $tarifaId = $datos_tarifa[0];
$tarifa = $datos_tarifa[1]; $tarifa = $datos_tarifa[1];
@ -128,7 +133,7 @@ class PresupuestoService extends BaseService
$clientePreciosModel = new \App\Models\Clientes\ClientePreciosModel(); $clientePreciosModel = new \App\Models\Clientes\ClientePreciosModel();
$config = (object) [ $config = (object) [
"tipo" => ($uso == 'guardas') ? 'interior' : $uso, "tipo" => $uso_tarifa,
"tipo_maquina" => $maquina->is_inkjet ? 'inkjet' : 'toner', "tipo_maquina" => $maquina->is_inkjet ? 'inkjet' : 'toner',
"tipo_impresion" => $tipo "tipo_impresion" => $tipo
]; ];
@ -334,8 +339,8 @@ class PresupuestoService extends BaseService
if ($uso != 'rotativa') { if ($uso != 'rotativa') {
$ancho_calculo = ($uso == 'cubierta' || $uso == 'sobrecubierta') ? $datosPedido->anchoExteriores : $datosPedido->ancho; $ancho_calculo = ($uso == 'cubierta' || $uso == 'sobrecubierta' || $uso == 'faja') ? $datosPedido->anchoExteriores : $datosPedido->ancho;
$alto_calculo = ($uso == 'cubierta' || $uso == 'sobrecubierta') ? $datosPedido->altoExteriores : $datosPedido->alto; $alto_calculo = ($uso == 'cubierta' || $uso == 'sobrecubierta' || $uso == 'faja') ? $datosPedido->altoExteriores : $datosPedido->alto;
$formas = PresupuestoService::getNumFormasPlana($uso, $maquina, $ancho_calculo, $alto_calculo, $datosPedido->isCosido, $forzar_a_favor_fibra); $formas = PresupuestoService::getNumFormasPlana($uso, $maquina, $ancho_calculo, $alto_calculo, $datosPedido->isCosido, $forzar_a_favor_fibra);
$response['fields'] = $formas; $response['fields'] = $formas;
} }
@ -366,10 +371,12 @@ class PresupuestoService extends BaseService
$margen_click = $tarifa * ($tarifa_margen / 100.0); $margen_click = $tarifa * ($tarifa_margen / 100.0);
//interior (bn o color) //interior (bn o color)
if ($cubierta == 0 && $sobrecubierta == 0 && $rotativa == 0) { if ($cubierta == 0 && $sobrecubierta == 0 && $rotativa == 0 || $uso == 'faja') {
// precio papel // precio papel
$pliegos_libro = ceil(($datosPedido->paginas / 2.0) / $response['fields']['num_formas']['value']); $pliegos_libro = ($datosPedido->paginas / 2.0) / $response['fields']['num_formas']['value'];
if ($pliegos_libro < 1) if($uso != 'faja')
$pliegos_libro = ceil($pliegos_libro);
if ($uso != 'faja' && $pliegos_libro < 1) // faja pueden entrar más de una forma
$pliegos_libro = 1; $pliegos_libro = 1;
$pliegos_pedido = $pliegos_libro * ($datosPedido->tirada + $datosPedido->merma); $pliegos_pedido = $pliegos_libro * ($datosPedido->tirada + $datosPedido->merma);
$precio_libro = $pliegos_libro * ($precio_pliego_impresion + $margen_pliego_impresion); $precio_libro = $pliegos_libro * ($precio_pliego_impresion + $margen_pliego_impresion);
@ -693,7 +700,7 @@ class PresupuestoService extends BaseService
$h2_temp = 0; $h2_temp = 0;
// El ancho si es cosido es el doble // El ancho si es cosido es el doble
if ($uso != 'cubierta' && $uso != 'sobrecubierta') { if ($uso != 'cubierta' && $uso != 'sobrecubierta' && $uso != 'faja') {
$anchoForCalculo = $isCosido ? $ancho * 2 : $ancho; $anchoForCalculo = $isCosido ? $ancho * 2 : $ancho;
} else { } else {
$anchoForCalculo = $ancho; $anchoForCalculo = $ancho;
@ -1761,7 +1768,8 @@ class PresupuestoService extends BaseService
$tipo = $isColor ? ($isHq ? 'colorhq' : 'color') : ($isHq ? 'negrohq' : 'negro'); $tipo = $isColor ? ($isHq ? 'colorhq' : 'color') : ($isHq ? 'negrohq' : 'negro');
$opciones_papel = PresupuestoService::get_opciones_papel($uso, $isColor); $uso_papel = $uso == 'faja' ? 'sobrecubierta': $uso;
$opciones_papel = PresupuestoService::get_opciones_papel($uso_papel, $isColor);
// Se obtienen los papeles disponibles // Se obtienen los papeles disponibles
$papelimpresionmodel = new PapelImpresionModel(); $papelimpresionmodel = new PapelImpresionModel();
@ -1779,7 +1787,7 @@ class PresupuestoService extends BaseService
$maquinas = $maquinamodel->getMaquinaImpresionForPresupuesto( $maquinas = $maquinamodel->getMaquinaImpresionForPresupuesto(
is_rotativa: 0, is_rotativa: 0,
tarifa_tipo: $tipo, tarifa_tipo: $tipo,
uso_tarifa: ($uso == 'guardas') ? 'interior' : $uso, uso_tarifa: ($uso == 'guardas') ? 'interior' : $uso_papel,
tirada: $datosPedido->tirada + $datosPedido->merma, tirada: $datosPedido->tirada + $datosPedido->merma,
papel_impresion_id: $papel->id, papel_impresion_id: $papel->id,
)->orderBy("t1.id", "asc")->get()->getResultObject(); )->orderBy("t1.id", "asc")->get()->getResultObject();
@ -1787,10 +1795,10 @@ class PresupuestoService extends BaseService
// Se recorren las máquinas y se calcula el coste de linea por cada una // Se recorren las máquinas y se calcula el coste de linea por cada una
foreach ($maquinas as $maquina) { foreach ($maquinas as $maquina) {
if ($uso == 'cubierta' || $uso == 'sobrecubierta') { if ($uso == 'cubierta' || $uso == 'sobrecubierta' || $uso == 'faja') {
$datosPedido->anchoExteriores = PresupuestoService::getAnchoTotalExteriores($uso, $tipo_impresion_id, $datosPedido, $maquina->maquina_id, $lomoRedondo); $datosPedido->anchoExteriores = PresupuestoService::getAnchoTotalExteriores($uso_papel, $tipo_impresion_id, $datosPedido, $maquina->maquina_id, $lomoRedondo);
$datosPedido->altoExteriores = PresupuestoService::getAltoTotalExteriores($uso, $tipo_impresion_id, $datosPedido); $datosPedido->altoExteriores = PresupuestoService::getAltoTotalExteriores($uso_papel, $tipo_impresion_id, $datosPedido);
} }
$data['uso'] = $uso; $data['uso'] = $uso;

View File

@ -162,6 +162,47 @@
</div> </div>
</div> </div>
<!-- Fila 3 -->
<div class="row mt-2 container-faja">
<div class="row align-items-center">
<div class="col-md-12 col-lg-2 px-4">
<div class="mb-1">
<div class="form-check form-switch mb-2">
<input class="form-check-input" type="checkbox" id="faja" name="faja" tabindex="6"
value="1">
<label class="form-check-label" for="faja"><?= lang('Presupuestos.faja') ?></label>
</div>
</div><!--//.mb-3 -->
</div>
<div class="col-md-12 col-lg-2 px-4">
<div class="mb-1 faja-div d-none" id="div_faja_alto">
<label for="faja_alto" class="form-label">
<?= lang('Presupuestos.altoFaja') ?>*
</label>
<input type="number" id="faja_alto" name="faja_alto" placeholder="0" maxLength="8"
step="1" class="form-control" min="50" value="50">
<div class="form-text">
Entre 50 y 120 mm
</div>
</div><!--//.mb-1 -->
</div>
<div class="col-md-12 col-lg-2 px-4">
<div class="mb-1 faja-div d-none" id="div_faja_solapas_ancho">
<label for="faja_solapas_ancho" class="form-label">
<?= lang('Presupuestos.tamanioSolapasFaja') ?>*
</label>
<input type="number" id="faja_solapas_ancho" name="faja_solapas_ancho" placeholder="0"
maxLength="8" step="1" min="60" class="form-control" value="60">
<div class="form-text">
Entre 60 y 120 mm
</div>
</div><!--//.mb-1 -->
</div>
</div>
</div>
<!-----------------------------------------------------------------------------> <!----------------------------------------------------------------------------->

View File

@ -222,46 +222,46 @@
</div> </div>
<?php if ($tipo_impresion_id == 1 || $tipo_impresion_id == 3): ?> <?php if ($tipo_impresion_id == 1 || $tipo_impresion_id == 3): ?>
<div class="col-md-12 col-lg-2 px-4"> <div class="col-md-12 col-lg-2 px-4">
</div> </div>
<div class="col-md-12 col-lg-2 px-4"> <div class="col-md-12 col-lg-2 px-4">
<label id="label_compLomoRedondo" for="compLomoRedondo" class="form-label"> <label id="label_compLomoRedondo" for="compLomoRedondo" class="form-label">
<?= lang('Presupuestos.lomoRedondo') ?>* <?= lang('Presupuestos.lomoRedondo') ?>*
</label> </label>
<select id="compLomoRedondo" name="lomo_redondo" <select id="compLomoRedondo" name="lomo_redondo"
class="form-control select2bs2 comp_cubierta_items" style="width: 100%;"> class="form-control select2bs2 comp_cubierta_items" style="width: 100%;">
<option value="0"> <option value="0">
<p> <p>
<?= lang('Presupuestos.no') ?> <?= lang('Presupuestos.no') ?>
</p> </p>
</option> </option>
<option value="1"> <option value="1">
<p> <p>
<?= lang('Presupuestos.si') ?> <?= lang('Presupuestos.si') ?>
</p> </p>
</option> </option>
</select> </select>
</div> </div>
<div class="col-md-12 col-lg-2 px-4"> <div class="col-md-12 col-lg-2 px-4">
<label for="cabezada" class="form-label"> <label for="cabezada" class="form-label">
<?= lang('Presupuestos.cabezada') ?> <?= lang('Presupuestos.cabezada') ?>
</label> </label>
<select class="form-select select2bs2" id="cabezada" name="cabezada"> <select class="form-select select2bs2" id="cabezada" name="cabezada">
<option value="WHI"> <option value="WHI">
<?= lang('Presupuestos.blanca') ?> <?= lang('Presupuestos.blanca') ?>
</option> </option>
<option value="GRE"> <option value="GRE">
<?= lang('Presupuestos.verde') ?> <?= lang('Presupuestos.verde') ?>
</option> </option>
<option value="BLUE"> <option value="BLUE">
<?= lang('Presupuestos.azul') ?> <?= lang('Presupuestos.azul') ?>
</option> </option>
<option value="REDYEL"> <option value="REDYEL">
<?= lang('Presupuestos.rojaAmarilla') ?> <?= lang('Presupuestos.rojaAmarilla') ?>
</option> </option>
</select> </select>
</div> </div>
<?php endif; ?> <?php endif; ?>
<div> <div>
<hr class="my-1"> <hr class="my-1">
@ -352,6 +352,42 @@
</div> </div>
<?php endif; ?> <?php endif; ?>
<div class="row">
<div class="col-md-12 col-lg-2 px-4">
<p>
<?= lang('Presupuestos.faja') ?>
</p>
</div>
<div class="col-md-12 col-lg-2 px-4">
<select id="compFaja" name="comp_faja" class="form-control select2bs2 comp_faja_items"
style="width: 100%;">
<option value="0">
<p>
<?= lang('Presupuestos.no') ?>
</p>
</option>
<option value="1">
<p>
<?= lang('Presupuestos.si') ?>
</p>
</option>
</select>
</div>
<div class="col-md-12 col-lg-6 px-4">
<select disabled id="compPapelFaja" name="comp_papel_faja"
class="form-control select2bs2 comp_faja_items" style="width: 100%;">
</select>
</div>
<div class="col-md-12 col-lg-2 px-4">
<select disabled id="compGramajeFaja" name="comp_gramaje_faja"
class="form-control select2bs2 comp_faja_items" style="width: 100%;">
</select>
</div>
<div>
<hr class="my-1">
</div>
</div>
<!-----------------------------------------------------------------------------> <!----------------------------------------------------------------------------->
<div class="divider divider-dark text-start mb-1 pos-paginas-color"> <div class="divider divider-dark text-start mb-1 pos-paginas-color">
@ -799,6 +835,102 @@
</div> </div>
<?php endif; ?> <?php endif; ?>
<div class="accordion mt-3" id="accordionCompFaja">
<div class="card accordion-item active">
<h2 class="accordion-header" id="headingThree">
<button id="accordion-button-faja" type="button" class="accordion-button"
data-bs-toggle="collapse" data-bs-target="#accordionCompFajaTip"
aria-expanded="false" aria-controls="accordionFajaTip">
<h6 id="title_faja">
<?= lang("Presupuestos.faja") ?>
</h6>
</button>
</h2>
<div id="accordionCompFajaTip" class="accordion-collapse collapse"
data-bs-parent="#accordionCompFaja">
<div class="accordion-body">
<table id="tableCompFaja" class="comparator-table table dt-responsive dataTable"
style="width: 100%;">
<thead>
<tr>
<th style="padding-right: 0.75em;">
<?= lang('Presupuestos.tipo') ?>
</th>
<th style="padding-right: 0.75em;">
<?= lang('Presupuestos.paginas') ?>
</th>
<th style="padding-right: 0.75em;">
<?= lang('Presupuestos.papel') ?>
</th>
<th style="padding-right: 0.75em;">
<?= lang('Presupuestos.gramaje') ?>
</th>
<th style="padding-right: 0.75em;">
<?= lang('Presupuestos.marca') ?>
</th>
<th style="padding-right: 0.75em;">
<?= lang('Presupuestos.maquina') ?>
</th>
<th style="padding-right: 0.75em;">
<?= lang('Presupuestos.numeroPliegos') ?>
</th>
<th style="padding-right: 0.75em; max-width:80px">
<?= lang('Presupuestos.pliegosPedido') ?>
</th>
<th style="padding-right: 0.75em; max-width:80px">
<?= lang('Presupuestos.precioPliego') ?>
</th>
<th style="padding-right: 0.75em;">
<?= lang('Presupuestos.libro') ?>
</th>
<th style="padding-right: 0.75em; max-width:80px">
<?= lang('Presupuestos.totalPapelPedido') ?>
</th>
<th style="padding-right: 0.75em;">
<?= lang('Presupuestos.lomo') ?>
</th>
<th style="padding-right: 0.75em;">
<?= lang('Presupuestos.peso') ?>
</th>
<th style="padding-right: 0.75em; max-width:80px">
<?= lang('Presupuestos.horas') ?>
</th>
<th style="padding-right: 0.75em; max-width:80px">
<?= lang('Presupuestos.precioImpresion') ?>
</th>
<th style="padding-right: 0.75em;">
<?= lang('Presupuestos.total') ?>
</th>
</tr>
</thead>
<tbody>
</tbody>
<tfoot>
<tr>
<td class="dt-result dt-result-text" colspan="14">
<?= lang('Presupuestos.total') ?>
<?= lang("Presupuestos.faja") ?>:
</td>
<td id="total_comp_faja" class="dt-result dt-result-value" colspan="2">
0.00 </td>
</tr>
</tfoot>
</table>
<div>
<button type="button" name="insertarFajaBtn" id="insertarFajaBtn"
class="btn btn-primary float-end me-sm-3 me-1 mb-3 insertarLinea d-none">
<?= lang('Presupuestos.insertarLinea') . ' ' . strtoupper(lang('Presupuestos.faja')) ?>
</button>
</div>
</div>
</div>
</div>
</div>

View File

@ -60,6 +60,7 @@
<option value="lp_cubierta"><?= lang('Presupuestos.cubierta') ?></option> <option value="lp_cubierta"><?= lang('Presupuestos.cubierta') ?></option>
<option value="lp_sobrecubierta"><?= lang('Presupuestos.sobrecubierta') ?></option> <option value="lp_sobrecubierta"><?= lang('Presupuestos.sobrecubierta') ?></option>
<option value="lp_guardas"><?= lang('Presupuestos.Guardas') ?></option> <option value="lp_guardas"><?= lang('Presupuestos.Guardas') ?></option>
<option value="lp_faja"><?= lang('Presupuestos.faja') ?></option>
</select> </select>
</div> </div>
</div> </div>

View File

@ -133,6 +133,18 @@
<?= lang("Presupuestos.previewConfiguracionSobrecubierta") ?> <?= lang("Presupuestos.previewConfiguracionSobrecubierta") ?>
</button> </button>
</li> </li>
<li id="tab-pv-faja" class="nav-item" style="display: none">
<button
type="button"
class="nav-link"
role="tab"
data-bs-toggle="tab"
data-bs-target="#pv_faja"
aria-controls="pv_faja"
aria-selected="false">
<?= lang("Presupuestos.previewConfiguracionFaja") ?>
</button>
</li>
</ul> </ul>
<div class="tab-content border border-container"> <div class="tab-content border border-container">
@ -934,6 +946,87 @@
</div> </div>
</div> </div>
<div class="tab-pane fade" id="pv_faja" role="tabpanel">
<div class="row">
<div class="col-3">
<div class="p-4 mb-3 pb-3">
<!-- Configuraciones -->
<div class="row g-3 mb-3">
<div class="col-12">
<a id="pv_faja_pg" href="#" sk-url="<?= site_url('configuracion/papelesgenericos/edit/'); ?>" target="_blank">
<div class="d-grid">
<button type="button" class="btn btn-label-primary">
<?= lang("Presupuestos.previewPapelGenerico") ?>
</button>
</div>
</a>
</div>
<div class="col-12">
<a id="pv_faja_pi" href="#" sk-url="<?= site_url('configuracion/papelesimpresion/edit/'); ?>" target="_blank">
<div class="d-grid">
<button type="button" class="btn btn-label-primary">
<?= lang("Presupuestos.previewPapelCompra") ?>
</button>
</div>
</a>
</div>
<div class="col-12">
<a id="pv_faja_mi" href="#" sk-url="<?= site_url('configuracion/maquinas/edit/'); ?>" target="_blank">
<div class="d-grid">
<button type="button" class="btn btn-label-primary">
<?= lang("Presupuestos.previewAreaImpresion") ?>
</button>
</div>
</a>
</div>
</div>
<hr class="mx-n4" />
<!-- Detalles del presupuesto -->
<h6><?= lang("Presupuestos.previewDetalles") ?></h6>
<dl class="row mb-0">
<dt class="col-6 fw-semibold"><?= lang("Presupuestos.previewGramaje") ?></dt>
<dd id="pv_faja_gramaje" class="col-6 text-left">TBD</dd>
<dt class="col-6 fw-semibold"><?= lang("Presupuestos.previewMano") ?></dt>
<dd id="pv_faja_mano" class="col-sm-6 text-left">TBD</dd>
<dt class="col-6 fw-semibold pv-solapas"><?= lang("Presupuestos.previewSolapas") ?></dt>
<dd id="pv_faja_solapas" class="col-sm-6 text-left pv-solapas">TBD</dd>
<dt class="col-6 fw-semibold"><?= lang("Presupuestos.previewMaquina") ?></dt>
<dd id="pv_faja_maquina" class="col-6 text-left">TBDxTBD</dd>
<dt class="col-6 fw-semibold"><?= lang("Presupuestos.previewAreaImpresion") ?></dt>
<dd id="pv_faja_maquina_impresion" class="col-6 text-left">TBDxTBD</dd>
<dt class="col-6 fw-semibold"><?= lang("Presupuestos.previewLibro") ?></dt>
<dd id="pv_faja_libro" class="col-6 text-left">TBDxTBD</dd>
<dt class="col-6 fw-semibold"><?= lang("Presupuestos.previewForma") ?></dt>
<dd id="pv_faja_forma" class="col-6 text-left">TBD</dd>
<dt class="col-6 fw-semibold"><?= lang("Presupuestos.previewFormas") ?></dt>
<dd id="pv_faja_nFormas" class="col-6 text-left">TBD</dd>
</dl>
</div>
</div>
<div class="col-9">
<div class="p-4 mb-3 pb-3">
<!-- Configuraciones -->
<h6><?= lang("Presupuestos.previewFaja") ?></h6>
<div id="pv-cubierta-container">
<div id="pv_faja_shape" class="draw-shapes"></div>
</div>
</div>
</div>
</div>
</div>
</div> </div>
</div> </div>
@ -942,72 +1035,3 @@
</div> <!-- //.accordion-collapse --> </div> <!-- //.accordion-collapse -->
</div> <!-- //.accordion-item --> </div> <!-- //.accordion-item -->
</div> <!-- //.accordion --> </div> <!-- //.accordion -->
<!------------------------------------------------------->
<!-- Código JS comportamiento ?????. -->
<!------------------------------------------------------->
<?= $this->section("additionalInlineJs") ?>
/*
$('#tab-pv-bn').on( "click", function() {
previewInteriorPlana('bn', <?php echo $isCosido; ?>, <?php echo $isTapaDura; ?>);
} );
$('#tab-pv-bnhq').on( "click", function() {
previewInteriorPlana('bnhq', <?php echo $isCosido; ?>, <?php echo $isTapaDura; ?>);
} );
$('#tab-pv-color').on( "click", function() {
previewInteriorPlana('color', <?php echo $isCosido; ?>, <?php echo $isTapaDura; ?>);
} );
$('#tab-pv-colorhq').on( "click", function() {
previewInteriorPlana('colorhq', <?php echo $isCosido; ?>, <?php echo $isTapaDura; ?>);
} );
$('#tab-pv-rot-bn').on( "click", function() {
previewRotativa('rot_bn', <?php echo $isCosido; ?>, <?php echo $isTapaDura; ?>);
} );
$('#tab-pv-rot-color').on( "click", function() {
previewRotativa('rot_color', <?php echo $isCosido; ?>, <?php echo $isTapaDura; ?>);
} );
$('#tab-pv-guardas').on( "click", function() {
previewInteriorPlana('guardas', <?php echo $isCosido; ?>, <?php echo $isTapaDura; ?>);
} );
$('#tab-pv-cubierta').on( "click", function() {
previewInteriorPlana('cubierta', <?php echo $isCosido; ?>, <?php echo $isTapaDura; ?>);
} );
$('#tab-pv-esquema-cubierta').on( "click", function() {
previewEsquemaCubierta('ec', <?php echo $isCosido; ?>, <?php echo $isTapaDura; ?>);
} );
$('#tab-pv-sobrecubierta').on( "click", function() {
previewInteriorPlana('sobrecubierta', <?php echo $isCosido; ?>, <?php echo $isTapaDura; ?>);
} );
*/
<?= $this->endSection() ?>

View File

@ -82,7 +82,7 @@
<?php if ($presupuestoEntity->estado_id == 2): ?> <?php if ($presupuestoEntity->estado_id == 2): ?>
<div class="row mt-5"> <div class="row mt-5">
<div class="mb-1"> <div class="mb-1">
<label for="paginas" class="form-label"> <label for="totalAceptado" class="form-label">
<?= lang('Presupuestos.totalAceptado') ?> <?= lang('Presupuestos.totalAceptado') ?>
</label> </label>
<input disabled type="text" id="totalAceptado" name="totalAceptado" class="form-control" value="" <?php echo ($tipo_impresion_id == 21)?' max=80':'' ?>> <input disabled type="text" id="totalAceptado" name="totalAceptado" class="form-control" value="" <?php echo ($tipo_impresion_id == 21)?' max=80':'' ?>>

View File

@ -74,6 +74,7 @@ class previewFormas {
case 'rot_color': case 'rot_color':
case 'guardas': case 'guardas':
case 'sobrecubierta': case 'sobrecubierta':
case 'faja':
if (lineaPresupuestoId === lpName) { if (lineaPresupuestoId === lpName) {
rowData = this.data(); rowData = this.data();
} }
@ -107,7 +108,7 @@ class previewFormas {
anchoMaquina: parseFloat(rowData.maquina_ancho), anchoMaquina: parseFloat(rowData.maquina_ancho),
altoImpresion: parseFloat(rowData.maquina_impresion_alto), altoImpresion: parseFloat(rowData.maquina_impresion_alto),
anchoImpresion: parseFloat(rowData.maquina_impresion_ancho), anchoImpresion: parseFloat(rowData.maquina_impresion_ancho),
altoLibro: this.alto(), altoLibro: lpName=='faja'? parseFloat(rowData.alto_faja).toFixed(0):this.alto(),
anchoLibro: this.ancho(), anchoLibro: this.ancho(),
offsetSolapa: 0 offsetSolapa: 0
}; };
@ -148,7 +149,7 @@ class previewFormas {
let anchoPliegue = parseFloat(7); // mm let anchoPliegue = parseFloat(7); // mm
let altoPliegue = parseFloat(7); // mm let altoPliegue = parseFloat(7); // mm
let sangre = parseFloat(20); // mm let sangre = parseFloat(20); // mm
if (this.isTapaDura && (this.ancho() >= 210 || this.alto() >= 297)) { if (this.isTapaDura && (this.ancho() >= 210 || this.alto() >= 267)) {
sangre = parseFloat(10); // mm sangre = parseFloat(10); // mm
} }
this.pvObj.anchoForma = ((2 * this.pvObj.anchoLibro) + (2 * anchoPliegue) + (2 * sangre) + this.pvObj.lomoLibro); this.pvObj.anchoForma = ((2 * this.pvObj.anchoLibro) + (2 * anchoPliegue) + (2 * sangre) + this.pvObj.lomoLibro);
@ -186,10 +187,10 @@ class previewFormas {
let anchoPliegue = parseFloat(7); // mm let anchoPliegue = parseFloat(7); // mm
let altoPliegue = parseFloat(7); // mm let altoPliegue = parseFloat(7); // mm
this.pvObj.anchoForma = ((2 * this.pvObj.anchoLibro) + (2 * anchoPliegue) + (2 * (anchoSolapaSobrecubierta + this.pvObj.offsetSolapa)) + (2 * sangre) + this.pvObj.lomoLibroSobrecubierta); this.pvObj.anchoForma = ((2 * this.pvObj.anchoLibro) + (2 * anchoPliegue) + (2 * (anchoSolapaSobrecubierta + this.pvObj.offsetSolapa)) + (2 * sangre) + this.pvObj.lomoLibroSobrecubierta);
this.pvObj.altoForma += altoPliegue + (2 * sangre); this.pvObj.altoForma += altoPliegue + parseFloat(2 * sangre);
} else { } else {
this.pvObj.anchoForma = ((2 * this.pvObj.anchoLibro) + (2 * (anchoSolapaSobrecubierta + this.pvObj.offsetSolapa)) + (2 * sangre) + this.pvObj.lomoLibroSobrecubierta); this.pvObj.anchoForma = ((2 * this.pvObj.anchoLibro) + (2 * (anchoSolapaSobrecubierta + this.pvObj.offsetSolapa)) + (2 * sangre) + this.pvObj.lomoLibroSobrecubierta);
this.pvObj.altoForma += (2 * sangre); this.pvObj.altoForma += parseFloat(2 * sangre);
} }
// Update labels // Update labels
@ -197,11 +198,30 @@ class previewFormas {
anchoSolapaSobrecubierta != 0 ? $('.pv-solapas').show() : $('.pv-solapas').hide(); anchoSolapaSobrecubierta != 0 ? $('.pv-solapas').show() : $('.pv-solapas').hide();
$(pvName + '_forma').text(this.pvObj.anchoForma + "x" + this.pvObj.altoForma); $(pvName + '_forma').text(this.pvObj.anchoForma + "x" + this.pvObj.altoForma);
break; break;
case 'faja':
let sangreFaja = parseFloat(5); // mm
let anchoSolapaFaja = $('#faja').is(':checked') ? parseFloat($('#faja_solapas_ancho').val()) : parseFloat(0); // mm
if (_isTapaDura) {
let anchoPliegue = parseFloat(7); // mm
let altoPliegue = parseFloat(7); // mm
this.pvObj.anchoForma = ((2 * this.pvObj.anchoLibro) + (2 * anchoPliegue) + (2 * (anchoSolapaFaja + this.pvObj.offsetSolapa)) + (2 * sangreFaja) + this.pvObj.lomoLibroSobrecubierta);
this.pvObj.altoForma += altoPliegue + parseFloat(2 * sangreFaja);
} else {
this.pvObj.anchoForma = ((2 * this.pvObj.anchoLibro) + (2 * (anchoSolapaFaja + this.pvObj.offsetSolapa)) + (2 * sangreFaja) + this.pvObj.lomoLibroSobrecubierta);
this.pvObj.altoForma = parseFloat(this.pvObj.altoForma) + parseFloat(2 * sangreFaja);
}
// Update labels
$(pvName + '_solapas').text(anchoSolapaFaja);
anchoSolapaFaja != 0 ? $('.pv-solapas').show() : $('.pv-solapas').hide();
$(pvName + '_forma').text(this.pvObj.anchoForma + "x" + this.pvObj.altoForma);
break;
case 'ec': case 'ec':
$(pvName + '_pg').attr("href", $(pvName + '_pg').attr('sk-url') + rowData.papel); $(pvName + '_pg').attr("href", $(pvName + '_pg').attr('sk-url') + rowData.papel);
$(pvName + '_pi').attr("href", $(pvName + '_pi').attr('sk-url') + rowData.papel_impresion_id); $(pvName + '_pi').attr("href", $(pvName + '_pi').attr('sk-url') + rowData.papel_impresion_id);
$(pvName + '_mi').attr("href", $(pvName + '_mi').attr('sk-url') + rowData.maquina_id); $(pvName + '_mi').attr("href", $(pvName + '_mi').attr('sk-url') + rowData.maquina_id);
$('#pv_ec_lomo').text(this.pvObj.lomoLibro); $('#pv_ec_lomo').text(parseFloat(this.pvObj.lomoLibro).toFixed(1));
break; break;
case 'rot_bn': case 'rot_bn':
@ -482,7 +502,7 @@ class previewFormas {
altoSangrado = (anchoSangrado * 0.647 > 300) ? 300 : anchoSangrado * 0.647; // px altoSangrado = (anchoSangrado * 0.647 > 300) ? 300 : anchoSangrado * 0.647; // px
} else { } else {
anchoSangrado = 750; // px anchoSangrado = 750; // px
altoSangrado = (anchoSangrado * 0.647 > 650) ? 650 : anchoSangrado * 0.647; // px altoSangrado = (anchoSangrado * 0.6 > 650) ? 650 : anchoSangrado * 0.6; // px
} }
altoLibro = altoSangrado * 0.97; altoLibro = altoSangrado * 0.97;
@ -497,7 +517,7 @@ class previewFormas {
altoSangrado = (anchoSangrado * 0.647 > 300) ? 300 : anchoSangrado * 0.647; // px altoSangrado = (anchoSangrado * 0.647 > 300) ? 300 : anchoSangrado * 0.647; // px
} else { } else {
anchoSangrado = 750; // px anchoSangrado = 750; // px
altoSangrado = (anchoSangrado * 0.647 > 650) ? 650 : anchoSangrado * 0.647; // px altoSangrado = (anchoSangrado * 0.6 > 650) ? 650 : anchoSangrado * 0.6; // px
} }
altoLibro = altoSangrado * 0.95; altoLibro = altoSangrado * 0.95;
anchoLibro = anchoSangrado * 0.28; anchoLibro = anchoSangrado * 0.28;
@ -676,7 +696,7 @@ class previewFormas {
let styleCotas = { size: 12, family: 'Public Sans' }; let styleCotas = { size: 12, family: 'Public Sans' };
let sangradoTexto = "Sangrado 20 mm"; let sangradoTexto = "Sangrado 20 mm";
let sangradoValor = parseFloat(20); // mm let sangradoValor = parseFloat(20); // mm
if (this.ancho >= 210 || this.alto >= 297) { if (this.ancho >= 210 || this.alto >= 267) {
sangradoValor = parseFloat(10); // mm sangradoValor = parseFloat(10); // mm
sangradoTexto = "Sangrado 10 mm"; sangradoTexto = "Sangrado 10 mm";
} }

View File

@ -50,6 +50,7 @@ class PresupuestoAdminAdd {
$('#div_solapas_ancho_sobrecubierta').addClass('d-none'); $('#div_solapas_ancho_sobrecubierta').addClass('d-none');
$('.solapas-cubierta-div').addClass('d-none'); $('.solapas-cubierta-div').addClass('d-none');
$('.solapas-sobrecubierta-div').addClass('d-none'); $('.solapas-sobrecubierta-div').addClass('d-none');
$('.container-faja').addClass('d-none');
this.cliente.init(); this.cliente.init();
this.pais.init(); this.pais.init();

View File

@ -34,6 +34,7 @@ class PresupuestoAdminEdit {
{ {
checkPaginasPresupuesto: this.checkPaginasPresupuesto, checkPaginasPresupuesto: this.checkPaginasPresupuesto,
getDimensionLibro: this.getDimensionLibro, getDimensionLibro: this.getDimensionLibro,
calcularSolapas: this.calcularSolapas.bind(this)
}); });
this.comparador = new Comparador(this.domItem.find('#accordionDatosPresupuestoClienteTip'), this.comparador = new Comparador(this.domItem.find('#accordionDatosPresupuestoClienteTip'),
{ {
@ -55,6 +56,9 @@ class PresupuestoAdminEdit {
this.guardar = $('#saveForm'); this.guardar = $('#saveForm');
this.calcularPresupuesto = false; this.calcularPresupuesto = false;
this.cargandoPresupuesto = false;
this.configUploadDropzone = { this.configUploadDropzone = {
domElement: '#dropzone-presupuesto-admin-files', domElement: '#dropzone-presupuesto-admin-files',
nameId: "presupuesto_id", nameId: "presupuesto_id",
@ -130,10 +134,6 @@ class PresupuestoAdminEdit {
$('#lomo_cubierta').on('change', this.datosLibro.changeAnchoSolapasCubierta); $('#lomo_cubierta').on('change', this.datosLibro.changeAnchoSolapasCubierta);
$('#lomo_sobrecubierta').on('change', this.datosLibro.changeAnchoSolapasSobrecubierta); $('#lomo_sobrecubierta').on('change', this.datosLibro.changeAnchoSolapasSobrecubierta);
if ($(this.configUploadDropzone.domElement).length > 0) {
this.fileUploadDropzone.init()
}
} }
@ -199,15 +199,15 @@ class PresupuestoAdminEdit {
...datos, ...{ ...datos, ...{
paginas: this.datosLibro.paginas.val(), paginas: this.datosLibro.paginas.val(),
tirada: this.datosLibro.tirada.val(), tirada: this.datosLibro.tirada.val(),
papel_formato_id: this.datosLibro.tamanio.item.hasClass('d-none') ? 0 : this.datosLibro.tamanio.getVal(), papel_formato_id: this.datosLibro.tamanioPersonalizado.prop('checked') ? 0 : this.datosLibro.tamanio.getVal(),
papel_formato_personalizado: this.datosLibro.tamanio.item.hasClass('d-none') ? 1 : 0, papel_formato_personalizado: this.datosLibro.tamanioPersonalizado.prop('checked') ? 1 : 0,
merma: this.datosLibro.merma.val(), merma: this.datosLibro.merma.val(),
merma_cubierta: this.datosLibro.mermaCubierta.val() merma_cubierta: this.datosLibro.mermaCubierta.val()
} }
} }
if (datos.papel_formato_personalizado) { if (this.datosLibro.tamanioPersonalizado.prop('checked')) {
datos.papel_formato_ancho = this.datosLibro.anchoPersonalizado.val(), datos.papel_formato_ancho = this.datosLibro.anchoPersonalizado.val(),
datos.papel_formato_alto = this.datosLibro.altoPersonalizado.val() datos.papel_formato_alto = this.datosLibro.altoPersonalizado.val()
} }
datos.selectedTirada = this.datosLibro.tirada.val(); datos.selectedTirada = this.datosLibro.tirada.val();
datos.acabado_cubierta_id = this.datosLibro.acabadoCubierta.getVal(); datos.acabado_cubierta_id = this.datosLibro.acabadoCubierta.getVal();
@ -245,6 +245,10 @@ class PresupuestoAdminEdit {
datos.solapas_sobrecubierta = this.datosLibro.solapasSobrecubierta.is(':checked') ? 1 : 0; datos.solapas_sobrecubierta = this.datosLibro.solapasSobrecubierta.is(':checked') ? 1 : 0;
datos.solapas_ancho_sobrecubierta = this.datosLibro.anchoSolapasSobrecubierta.val(); datos.solapas_ancho_sobrecubierta = this.datosLibro.anchoSolapasSobrecubierta.val();
datos.faja_color = this.datosLibro.faja.prop('checked') ? 1: 0;
datos.solapas_ancho_faja_color = this.datosLibro.fajaSolapasAncho.val();
datos.alto_faja_color = this.datosLibro.fajaAlto.val();
datos.entrega_taller = this.envios.recogerTaller.is(':checked') ? 1 : 0; datos.entrega_taller = this.envios.recogerTaller.is(':checked') ? 1 : 0;
if (parseInt(this.cosido.val())) { if (parseInt(this.cosido.val())) {
@ -282,6 +286,8 @@ class PresupuestoAdminEdit {
update_resumen = true, update_resumen = true,
update_tiradas_alternativas = true update_tiradas_alternativas = true
}) { }) {
const self = this;
const waitForEvent = (eventName) => { const waitForEvent = (eventName) => {
return new Promise((resolve) => { return new Promise((resolve) => {
$(document).one(eventName, () => { $(document).one(eventName, () => {
@ -290,30 +296,32 @@ class PresupuestoAdminEdit {
}); });
}; };
// Ejecutar los pasos de forma secuencial si están habilitados if (self.cargandoPresupuesto == false) {
if (update_lineas) { // Ejecutar los pasos de forma secuencial si están habilitados
$(document).trigger('update-lineas-presupuesto'); if (update_lineas) {
await waitForEvent('update-lineas-presupuesto-completed'); $(document).trigger('update-lineas-presupuesto');
} await waitForEvent('update-lineas-presupuesto-completed');
}
if (update_servicios) { if (update_servicios) {
$(document).trigger('update-servicios'); $(document).trigger('update-servicios');
await waitForEvent('update-servicios-completed'); await waitForEvent('update-servicios-completed');
} }
if (update_envios) { if (update_envios) {
$(document).trigger('update-envios'); $(document).trigger('update-envios');
await waitForEvent('update-envios-completed'); await waitForEvent('update-envios-completed');
} }
if (update_resumen) { if (update_resumen) {
$(document).trigger('update-totales'); $(document).trigger('update-totales');
await waitForEvent('update-totales-completed'); await waitForEvent('update-totales-completed');
} }
if (update_tiradas_alternativas) { if (update_tiradas_alternativas) {
$(document).trigger('update-tiradas-alternativas'); $(document).trigger('update-tiradas-alternativas');
await waitForEvent('update-tiradas-alternativas-completed'); await waitForEvent('update-tiradas-alternativas-completed');
}
} }
} }
@ -321,6 +329,7 @@ class PresupuestoAdminEdit {
#cargarPresupuesto() { #cargarPresupuesto() {
const self = this; const self = this;
this.cargandoPresupuesto = true;
$('#loader').modal('show'); $('#loader').modal('show');
let id = window.location.href.split("/").pop() let id = window.location.href.split("/").pop()
@ -338,15 +347,18 @@ class PresupuestoAdminEdit {
self.POD.val(response.data.POD); self.POD.val(response.data.POD);
self.calcularPresupuesto = false; self.calcularPresupuesto = false;
self.comparador.cargando = true;
self.datosGenerales.cargarDatos(response.data.datosGenerales); self.datosGenerales.cargarDatos(response.data.datosGenerales);
self.datosLibro.cargarDatos(response.data.datosLibro); self.datosLibro.cargarDatos(response.data.datosLibro);
self.comparador.cargarDatos(response.data.comparador);
self.lineasPresupuesto.cargarDatos(response.data.lineasPresupuesto); self.lineasPresupuesto.cargarDatos(response.data.lineasPresupuesto);
self.servicios.cargar(response.data.servicios); self.servicios.cargar(response.data.servicios);
self.envios.cargar(response.data.direcciones); self.envios.cargar(response.data.direcciones);
self.comparador.cargarDatos(response.data.comparador);
$('#comentariosCliente').val(response.data.comentarios_cliente); $('#comentariosCliente').val(response.data.comentarios_cliente);
$('#comentariosSafekat').val(response.data.comentarios_safekat); $('#comentariosSafekat').val(response.data.comentarios_safekat);
$('#comentariosPdf').val(response.data.comentarios_presupuesto); $('#comentariosPdf').val(response.data.comentarios_presupuesto);
@ -363,11 +375,18 @@ class PresupuestoAdminEdit {
if (response.data.state != 2) { if (response.data.state != 2) {
self.calcularPresupuesto = true; self.calcularPresupuesto = true;
self.cargandoPresupuesto = false;
} }
}, 0); }, 0);
this.calcularSolapas(); this.calcularSolapas();
if ($('#faja_alto').length > 0 && $('#faja_alto').attr('max') != this.getDimensionLibro().alto) {
$('#faja_alto').attr('max', this.getDimensionLibro().alto);
$('#faja_alto').trigger('change');
$('#faja_alto').closest('.mb-1').find('.form-text').text('Entre 50 y ' + this.getDimensionLibro().alto + ' mm');
}
// Funciones para detectar cambios en el formulario // Funciones para detectar cambios en el formulario
this.#checkChangesPresupuesto(); this.#checkChangesPresupuesto();
@ -380,6 +399,7 @@ class PresupuestoAdminEdit {
() => { () => {
$('#loader').modal('hide'); $('#loader').modal('hide');
this.calcularPresupuesto = true; this.calcularPresupuesto = true;
self.cargandoPresupuesto = false;
} }
).get(); ).get();
} }
@ -389,12 +409,12 @@ class PresupuestoAdminEdit {
let cantidad_total = 0; let cantidad_total = 0;
this.lineasPresupuesto.table.rows().every(function (rowIdx, tableLoop, rowLoop) { $('#tableLineasPresupuesto').DataTable().rows().every(function (rowIdx, tableLoop, rowLoop) {
var rowData = this.data(); var rowData = this.data();
if (rowData.row_id != 'lp_cubierta' && rowData.row_id != 'lp_sobrecubierta' && rowData.row_id != 'lp_guardas') if (rowData.row_id != 'lp_cubierta' && rowData.row_id != 'lp_sobrecubierta' && rowData.row_id != 'lp_guardas')
cantidad_total += parseInt(rowData.paginas) cantidad_total += parseInt(rowData.paginas)
}) })
htmlString = '' let htmlString = ''
if (cantidad_total != parseInt($('#paginas').val())) { if (cantidad_total != parseInt($('#paginas').val())) {
htmlString = ` htmlString = `
@ -430,7 +450,7 @@ class PresupuestoAdminEdit {
calcularSolapas() { calcularSolapas() {
let anchoTotal = 2*this.getDimensionLibro().ancho; let anchoTotal = 2 * this.getDimensionLibro().ancho;
let maxSolapas = 120; let maxSolapas = 120;
let mano = 0; let mano = 0;
@ -445,27 +465,26 @@ class PresupuestoAdminEdit {
if (mano > 0) { if (mano > 0) {
anchoTotal += 6 + 5; // dobleces + sangre anchoTotal += 6 + 5; // dobleces + sangre
maxSolapas = Math.min(Math.floor((865-anchoTotal)/2), 0.75*this.getDimensionLibro().ancho); maxSolapas = Math.min(Math.floor((865 - anchoTotal) / 2), 0.75 * this.getDimensionLibro().ancho);
} }
else{ else {
maxSolapas = 0.75*this.getDimensionLibro().ancho; maxSolapas = 0.75 * this.getDimensionLibro().ancho;
} }
if($('#solapas_ancho').length>0 && $('#solapas_ancho').attr('max') != maxSolapas){ if ($('#solapas_ancho').length > 0 && $('#solapas_ancho').attr('max') != maxSolapas) {
$('#solapas_ancho').attr('max', maxSolapas); $('#solapas_ancho').attr('max', maxSolapas);
$('#solapas_ancho').trigger('change'); $('#solapas_ancho').trigger('change');
$('#solapas_ancho').closest('.mb-1').find('.form-text').text('Entre 60 y ' + maxSolapas + ' mm'); $('#solapas_ancho').closest('.mb-1').find('.form-text').text('Entre 60 y ' + maxSolapas + ' mm');
} }
if($('#solapas_ancho_sobrecubierta').length>0 && $('#solapas_ancho_sobrecubierta').attr('max') != maxSolapas){ if ($('#solapas_ancho_sobrecubierta').length > 0 && $('#solapas_ancho_sobrecubierta').attr('max') != maxSolapas) {
$('#solapas_ancho_sobrecubierta').attr('max', maxSolapas); $('#solapas_ancho_sobrecubierta').attr('max', maxSolapas);
$('#solapas_ancho_sobrecubierta').trigger('change'); $('#solapas_ancho_sobrecubierta').trigger('change');
$('#solapas_ancho_sobrecubierta').closest('.mb-1').find('.form-text').text('Entre 60 y ' + maxSolapas + ' mm'); $('#solapas_ancho_sobrecubierta').closest('.mb-1').find('.form-text').text('Entre 60 y ' + maxSolapas + ' mm');
} }
if($('#solapas_ancho_faja').length>0 && $('#solapas_ancho_faja').attr('max') != maxSolapas){ if ($('#faja_solapas_ancho').length > 0 && $('#faja_solapas_ancho').attr('max') != maxSolapas) {
$('#solapas_ancho_faja').attr('max', maxSolapas); $('#faja_solapas_ancho').attr('max', maxSolapas);
$('#solapas_ancho_faja').trigger('change'); $('#faja_solapas_ancho').trigger('change');
$('#solapas_ancho_faja').closest('.mb-1').find('.form-text').text('Entre 60 y ' + maxSolapas + ' mm'); $('#faja_solapas_ancho').closest('.mb-1').find('.form-text').text('Entre 60 y ' + maxSolapas + ' mm');
} }
console.log('maxSolapas', maxSolapas);
} }
getDimensionLibro() { getDimensionLibro() {

View File

@ -220,6 +220,35 @@ class Comparador {
this.btnInsertarGuardas = $('#insertarGuardasBtn'); this.btnInsertarGuardas = $('#insertarGuardasBtn');
} }
this.faja = $('#compFaja');
this.papelFaja = new ClassSelect($('#compPapelFaja'),
'/presupuestoadmin/papelgenerico', 'Seleccione papel', false,
{
[this.csrf_token]: this.csrf_hash,
tipo_impresion: this.tipo_impresion_id,
tirada: () => $('#tirada').val(),
ancho: () => this.getDimensionLibro().ancho,
alto: () => $('faja_alto').val(),
sopalas: () => $('#faja_solapas_ancho').val(),
lomo: () => $('#lomo_sobrecubierta').val(),
tipo: 'colorhq',
uso: 'sobrecubierta',
});
this.gramajeFaja = new ClassSelect($('#compGramajeFaja'),
'/presupuestoadmin/papelgramaje', 'Seleccione gramaje', false,
{
[this.csrf_token]: this.csrf_hash,
papel_generico: () => this.papelFaja.getVal(),
tipo_impresion: this.tipo_impresion_id,
tirada: () => $('#tirada').val(),
ancho: () => this.getDimensionLibro().ancho,
alto: () => $('faja_alto').val(),
sopalas: () => $('#faja_solapas_ancho').val(),
lomo: () => $('#lomo_sobrecubierta').val(),
tipo: 'colorhq',
uso: 'sobrecubierta',
});
if (this.tipo_impresion_id == 1 || this.tipo_impresion_id == 3) { if (this.tipo_impresion_id == 1 || this.tipo_impresion_id == 3) {
this.lomoRedondo = $('#compLomoRedondo'); this.lomoRedondo = $('#compLomoRedondo');
this.cabezada = $('#cabezada'); this.cabezada = $('#cabezada');
@ -232,9 +261,11 @@ class Comparador {
this.tableCompGuardas = null; this.tableCompGuardas = null;
this.tableCompIntPlana = null; this.tableCompIntPlana = null;
this.tableCompIntRotativa = null; this.tableCompIntRotativa = null;
this.tableCompFaja = null;
this.btnInsertarPlana = $('#insertarPlanaBtn'); this.btnInsertarPlana = $('#insertarPlanaBtn');
this.btnInsertarRotativa = $('#insertarRotativaBtn'); this.btnInsertarRotativa = $('#insertarRotativaBtn');
this.btnInsertarCubierta = $('#insertarCubiertaBtn'); this.btnInsertarCubierta = $('#insertarCubiertaBtn');
this.btnInsertarFaja = $('#insertarFajaBtn');
this.cargando = false; this.cargando = false;
this.comparadorPlanaRunning = false; this.comparadorPlanaRunning = false;
@ -292,6 +323,14 @@ class Comparador {
}); });
} }
this.faja.select2({
allowClear: false,
minimumResultsForSearch: Infinity,
});
this.papelFaja.init();
this.gramajeFaja.init();
this.papelFaja.onChange(() => self.gramajeFaja.empty());
if (this.tipo_impresion_id != 5 && this.tipo_impresion_id != 6 && this.tipo_impresion_id != 7 && this.tipo_impresion_id != 8 && this.tipo_impresion_id != 21) { if (this.tipo_impresion_id != 5 && this.tipo_impresion_id != 6 && this.tipo_impresion_id != 7 && this.tipo_impresion_id != 8 && this.tipo_impresion_id != 21) {
this.sobrecubierta.select2({ this.sobrecubierta.select2({
@ -323,6 +362,28 @@ class Comparador {
}); });
} }
this.faja.on('change', () => {
if (this.faja.select2('data')[0].id == 1) {
if ($('#faja').prop('checked') == false) {
this.faja.val(0);
popErrorAlert(window.language.Presupuestos.errores.error_faja_sin_solapas, 'divAlarmasComparador');
}
$('#faja').prop('checked', true);
$('.faja-div').removeClass('d-none');
$('#faja_solapas_ancho').val(60);
$('#faja_alto').val(50);
$('#compPapelFaja').prop('disabled', false);
$('#compGramajeFaja').prop('disabled', false);
}
else {
this.papelFaja.setVal(0);
this.gramajeFaja.setVal(0);
$('#compPapelFaja').prop('disabled', true);
$('#compGramajeFaja').prop('disabled', true);
}
});
if (this.tipo_impresion_id == 1 || this.tipo_impresion_id == 3 || this.tipo_impresion_id == 5 || this.tipo_impresion_id == 7) { if (this.tipo_impresion_id == 1 || this.tipo_impresion_id == 3 || this.tipo_impresion_id == 5 || this.tipo_impresion_id == 7) {
this.papelGuardas.init(); this.papelGuardas.init();
this.gramajeGuardas.init(); this.gramajeGuardas.init();
@ -360,6 +421,9 @@ class Comparador {
else if (e.target.id.includes("guardas")) { else if (e.target.id.includes("guardas")) {
$("#tableCompGuardas").DataTable().columns.adjust(); $("#tableCompGuardas").DataTable().columns.adjust();
} }
else if (e.target.id.includes("faja")) {
$("#tableCompFaja").DataTable().columns.adjust();
}
else if (e.target.id.includes("LineasPresupuesto")) { else if (e.target.id.includes("LineasPresupuesto")) {
$("#tableLineasPresupuesto").DataTable().columns.adjust(); $("#tableLineasPresupuesto").DataTable().columns.adjust();
} }
@ -378,6 +442,8 @@ class Comparador {
if (this.tipo_impresion_id == 1 || this.tipo_impresion_id == 3 || this.tipo_impresion_id == 5 || this.tipo_impresion_id == 7) { if (this.tipo_impresion_id == 1 || this.tipo_impresion_id == 3 || this.tipo_impresion_id == 5 || this.tipo_impresion_id == 7) {
$('.comp_guardas_items').on('change', this.obtenerComparadorGuardas.bind(this)); $('.comp_guardas_items').on('change', this.obtenerComparadorGuardas.bind(this));
} }
$('.comp_faja_items').on('change', this.obtenerComparadorFaja.bind(this));
} }
#changePaginasComparador(element) { #changePaginasComparador(element) {
@ -464,6 +530,11 @@ class Comparador {
this.papelGuardas.setOption(datos.json_data.guardas.papel_id, datos.json_data.guardas.papel_nombre); this.papelGuardas.setOption(datos.json_data.guardas.papel_id, datos.json_data.guardas.papel_nombre);
this.gramajeGuardas.setOption(datos.json_data.guardas.gramaje, datos.json_data.guardas.gramaje); this.gramajeGuardas.setOption(datos.json_data.guardas.gramaje, datos.json_data.guardas.gramaje);
} }
if (datos.json_data.faja) {
this.faja.val(1).trigger('change');
this.papelFaja.setOption(datos.json_data.faja.papel_id, datos.json_data.faja.papel_nombre);
this.gramajeFaja.setOption(datos.json_data.faja.gramaje, datos.json_data.faja.gramaje);
}
if (this.tipo_impresion_id == 1 || this.tipo_impresion_id == 3) { if (this.tipo_impresion_id == 1 || this.tipo_impresion_id == 3) {
this.lomoRedondo.val(datos.lomoRedondo ? 1 : 0).trigger('change'); this.lomoRedondo.val(datos.lomoRedondo ? 1 : 0).trigger('change');
@ -477,22 +548,25 @@ class Comparador {
} }
this.cargando = false; this.cargando = false;
if (this.paginasNegro.val() > 0) {
this.paginasNegro.trigger('change'); if (this.paginasColor.val() > 0) {
}
else if (this.paginasNegrohq.val() > 0) {
this.paginasNegrohq.trigger('change');
}
else if (this.paginasColor.val() > 0) {
this.paginasColor.trigger('change'); this.paginasColor.trigger('change');
} }
else if (this.paginasColorhq.val() > 0) { else if (this.paginasColorhq.val() > 0) {
this.paginasColorhq.trigger('change'); this.paginasColorhq.trigger('change');
} }
else if (this.paginasNegro.val() > 0) {
this.paginasNegro.trigger('change');
}
else if (this.paginasNegrohq.val() > 0) {
this.paginasNegrohq.trigger('change');
}
this.paginasCubierta.trigger('change'); this.paginasCubierta.trigger('change');
if (this.tipo_impresion_id == 1 || this.tipo_impresion_id == 3 || this.tipo_impresion_id == 5 || this.tipo_impresion_id == 7) { if (this.tipo_impresion_id == 1 || this.tipo_impresion_id == 3 || this.tipo_impresion_id == 5 || this.tipo_impresion_id == 7) {
this.carasGuardas.trigger('change'); this.carasGuardas.trigger('change');
} }
this.faja.trigger('change');
} }
@ -673,6 +747,57 @@ class Comparador {
"order": [[0, 'asc'], [15, 'asc']] "order": [[0, 'asc'], [15, 'asc']]
}); });
this.tableCompFaja = new DataTable('#tableCompFaja', {
scrollX: true,
searching: false,
paging: false,
info: false,
ordering: true,
responsive: true,
select: false,
language: {
url: "/themes/vuexy/vendor/libs/datatables-sk/plugins/i18n/es-ES.json"
},
columns: [
{
'data': 'tipo',
'render': function (data, type, row, meta) {
if (data == 'faja')
return window.language.Presupuestos.faja;
}
},
{ 'data': 'paginas' },
{ 'data': 'papel' },
{ 'data': 'gramaje' },
{ 'data': 'marca' },
{ 'data': 'maquina' },
{ 'data': 'numeroPliegos' },
{ 'data': 'pliegosPedido' },
{ 'data': 'precioPliego' },
{ 'data': 'libro' },
{ 'data': 'totalPapelPedido' },
{ 'data': 'lomo' },
{ 'data': 'peso' },
{ 'data': 'horasMaquina' },
{ 'data': 'precioImpresion' },
{ 'data': 'total' },
{ 'data': 'maquinaId' },
{ 'data': 'maquinaVelocidad' },
{ 'data': 'tiempoMaquina' },
{ 'data': 'papelGenericoId' },
{ 'data': 'papelImpresionId' },
{ 'data': 'tarifa_impresion_id' }
],
columnDefs: [
{
target: [16, 17, 18, 19, 20, 21],
visible: false,
searchable: false
},
],
"order": [[15, 'asc']]
});
if (this.tipo_impresion_id == 1 || this.tipo_impresion_id == 3 || this.tipo_impresion_id == 5 || this.tipo_impresion_id == 7) { if (this.tipo_impresion_id == 1 || this.tipo_impresion_id == 3 || this.tipo_impresion_id == 5 || this.tipo_impresion_id == 7) {
this.tableCompGuardas = new DataTable('#tableCompGuardas', { this.tableCompGuardas = new DataTable('#tableCompGuardas', {
scrollX: true, scrollX: true,
@ -1019,6 +1144,23 @@ class Comparador {
} }
else if (uso == 'faja') {
if (this.papelFaja.getVal() == 0 || this.papelFaja.getVal() == null) {
popErrorAlert(window.language.Presupuestos.errores.seleccionePapel, 'divAlarmasComparador');
return { error: true, data: {} };
}
if (this.gramajeFaja.getVal() == 0 || this.gramajeFaja.getVal() == null) {
popErrorAlert(window.language.Presupuestos.errores.seleccioneGramaje, 'divAlarmasComparador');
return { error: true, data: {} };
}
papel_generico = { id: this.papelFaja.getVal(), nombre: this.papelFaja.getText() };
gramaje = this.gramajeFaja.getVal();
paginas = 4;
alto = $('#faja_alto').val();
}
else if (uso == 'guardas') { else if (uso == 'guardas') {
if (this.papelGuardas.getVal() == 0 || this.papelGuardas.getVal() == null) { if (this.papelGuardas.getVal() == 0 || this.papelGuardas.getVal() == null) {
popErrorAlert(window.language.Presupuestos.errores.seleccionePapel, 'divAlarmasComparador'); popErrorAlert(window.language.Presupuestos.errores.seleccionePapel, 'divAlarmasComparador');
@ -1053,7 +1195,7 @@ class Comparador {
let datos = { let datos = {
datosPedido: datosPedido, datosPedido: datosPedido,
uso: uso, uso: uso == 'faja' ? 'sobrecubierta' : uso,
tipo_impresion_id: this.tipo_impresion_id, tipo_impresion_id: this.tipo_impresion_id,
cliente_id: $('#clienteId').select2('data')[0].id, cliente_id: $('#clienteId').select2('data')[0].id,
papel_generico: papel_generico, papel_generico: papel_generico,
@ -1076,6 +1218,13 @@ class Comparador {
datos.datosPedido.solapas = $('#solapas_sobrecubierta').prop('checked') ? 1 : 0; datos.datosPedido.solapas = $('#solapas_sobrecubierta').prop('checked') ? 1 : 0;
datos.datosPedido.solapas_ancho = $('#solapas_sobrecubierta').prop('checked') ? parseInt($('#solapas_ancho_sobrecubierta').val()) : 0; datos.datosPedido.solapas_ancho = $('#solapas_sobrecubierta').prop('checked') ? parseInt($('#solapas_ancho_sobrecubierta').val()) : 0;
} }
else if (uso == 'faja') {
datos.datosPedido.lomo = $("#lomo_sobrecubierta").val();
datos.datosPedido.solapas = 1;
datos.datosPedido.solapas_ancho = parseInt($('#faja_solapas_ancho').val());
}
else if (uso == 'guardas') { else if (uso == 'guardas') {
datos.datosPedido.isCosido = 1; datos.datosPedido.isCosido = 1;
datos.datosPedido.isHq = 1; datos.datosPedido.isHq = 1;
@ -1273,7 +1422,7 @@ class Comparador {
return; return;
} }
if (this.tipo_impresion_id != 5 && this.tipo_impresion_id != 6 && this.tipo_impresion_id != 7 && this.tipo_impresion_id != 8 && this.tipo_impresion_id != 21) { if (this.tipo_impresion_id != 5 && this.tipo_impresion_id != 6 && this.tipo_impresion_id != 7 && this.tipo_impresion_id != 8 && this.tipo_impresion_id != 21) {
if (this.sobrecubierta.select2('data')[0].id == 1) { if (this.sobrecubierta.val() == 1) {
datosComp.sobrecubierta = this.getDataForComp('sobrecubierta'); datosComp.sobrecubierta = this.getDataForComp('sobrecubierta');
if (datosComp.sobrecubierta.error) { if (datosComp.sobrecubierta.error) {
return; return;
@ -1297,6 +1446,7 @@ class Comparador {
}, },
{}, {},
(response) => { (response) => {
this.tableCompCubierta.clear().draw();
if (response.data.cubierta && Object.keys(response.data.cubierta).length > 0) { if (response.data.cubierta && Object.keys(response.data.cubierta).length > 0) {
let sorted = Object.values(response.data.cubierta).sort( let sorted = Object.values(response.data.cubierta).sort(
(p1, p2) => ((p1.fields.precio_pedido + p1.fields.precio_click_pedido) < (p2.fields.precio_pedido + p2.fields.precio_click_pedido)) ? (p1, p2) => ((p1.fields.precio_pedido + p1.fields.precio_click_pedido) < (p2.fields.precio_pedido + p2.fields.precio_click_pedido)) ?
@ -1342,6 +1492,68 @@ class Comparador {
} }
} }
obtenerComparadorFaja(event, actualizarLineaPlana = false, actualizarLineaRot = false) {
try {
const self = this;
if (this.cargando) {
return
}
this.tableCompFaja.clear().draw();
this.btnInsertarFaja.addClass('d-none');
$('#title_faja').html(window.language.Presupuestos.faja);
let datosComp = {};
datosComp.sobrecubierta = this.getDataForComp('faja');
datosComp.sobrecubierta.data['faja'] = 1; // se indica que es faja para el calculo de formas
datosComp.sobrecubierta.data[this.csrf_token] = this.csrf_hash;
new Ajax('/presupuestoadmin/comparadorexteriores',
{
sobrecubierta: datosComp.sobrecubierta.data
},
{},
(response) => {
if (response.data.sobrecubierta && Object.keys(response.data.sobrecubierta).length > 0) {
let sorted = Object.values(response.data.sobrecubierta).sort(
(p1, p2) => ((p1.fields.precio_pedido + p1.fields.precio_click_pedido) < (p2.fields.precio_pedido + p2.fields.precio_click_pedido)) ?
-1 : ((p1.fields.precio_pedido + p1.fields.precio_click_pedido) > (p2.fields.precio_pedido + p2.fields.precio_click_pedido)) ? 1 : 0);
sorted[0].forEach(function (linea) {
if (typeof linea.error == "undefined")
self.tableCompFaja.row
.add(self.getRowFromLinea('faja', linea))
.draw()
});
}
self.selectLineas('faja');
if (self.tableCompFaja.rows().count() > 0) {
$('#title_faja').html(window.language.Presupuestos.faja +
(' (' + self.tableCompFaja.rows().count() + ')'));
self.btnInsertarFaja.removeClass('d-none');
}
else {
$('#title_faja').html(window.language.Presupuestos.faja);
self.btnInsertarFaja.addClass('d-none');
}
},
(error) => {
console.log(error);
}
).post();
} catch (e) {
console.log(e)
}
}
obtenerComparadorGuardas(event, actualizarLineaPlana = false, actualizarLineaRot = false) { obtenerComparadorGuardas(event, actualizarLineaPlana = false, actualizarLineaRot = false) {
try { try {
@ -1425,6 +1637,12 @@ class Comparador {
total_label = '#total_comp_cubierta'; total_label = '#total_comp_cubierta';
break; break;
case 'faja':
table = this.tableCompFaja;
tipo1 = 'faja';
total_label = '#total_comp_faja';
break;
case 'rotativa': case 'rotativa':
table = this.tableCompIntRotativa; table = this.tableCompIntRotativa;
tipo1 = 'rotativa'; tipo1 = 'rotativa';
@ -1650,6 +1868,21 @@ class Comparador {
} }
if (parseInt($('#compFaja').val()) == 1) {
let faja_obj = {};
try {
faja_obj = {
"faja": {
'papel_id': $('#compPapelFaja').select2('data')[0].id,
'gramaje': $('#compGramajeFaja').select2('data')[0].text.trim(),
},
}
}
catch (e) {
}
$.extend(data, faja_obj);
}
const data_str = JSON.stringify(data) const data_str = JSON.stringify(data)
$('#comparador_json_data').val(data_str) $('#comparador_json_data').val(data_str)
} }

View File

@ -9,6 +9,7 @@ class DatosLibro {
this.checkPaginasPresupuesto = functions.checkPaginasPresupuesto; this.checkPaginasPresupuesto = functions.checkPaginasPresupuesto;
this.getDimensionLibro = functions.getDimensionLibro; this.getDimensionLibro = functions.getDimensionLibro;
this.calcularSolapas = functions.calcularSolapas;
this.csrf_token = getToken(); this.csrf_token = getToken();
this.csrf_hash = $('#mainContainer').find('input[name="' + this.csrf_token + '"]').val(); this.csrf_hash = $('#mainContainer').find('input[name="' + this.csrf_token + '"]').val();
@ -55,6 +56,11 @@ class DatosLibro {
this.ferroDigital = this.domItem.find('#ferroDigital'); this.ferroDigital = this.domItem.find('#ferroDigital');
this.marcapaginas = this.domItem.find('#marcapaginas'); this.marcapaginas = this.domItem.find('#marcapaginas');
this.faja = this.domItem.find('#faja');
this.fajaAlto = this.domItem.find('#faja_alto');
this.fajaSolapasAncho = this.domItem.find('#faja_solapas_ancho');
this.div_faja = this.domItem.find('.faja-div');
} }
init() { init() {
@ -96,12 +102,29 @@ class DatosLibro {
this.paginas.on('change', this.changePaginas.bind(this)); this.paginas.on('change', this.changePaginas.bind(this));
this.tirada.on('change', this.changeTirada.bind(this)); this.tirada.on('change', this.changeTirada.bind(this));
this.anchoSolapasCubierta.on('focusout', this.checkSolapasMax.bind(this)); this.anchoSolapasCubierta.on('focusout', this.checkMinMaxInput.bind(this));
this.anchoSolapasSobrecubierta.on('focusout', this.checkSolapasMax.bind(this)); this.anchoSolapasSobrecubierta.on('focusout', this.checkMinMaxInput.bind(this));
this.fajaSolapasAncho.on('focusout', this.checkMinMaxInput.bind(this));
this.fajaAlto.on('focusout', this.checkMinMaxInput.bind(this));
this.faja.on('change', this.changeFaja.bind(this));
} }
} }
checkSolapasMax(event) { changeFaja() {
if (this.faja.prop('checked')) {
this.div_faja.removeClass('d-none');
$('#compFaja').val(1).trigger('change');
}
else {
this.div_faja.addClass('d-none');
$('#compFaja').val(0).trigger('change');
}
}
checkMinMaxInput(event) {
const el = event.target; const el = event.target;
if (el.value != "") { if (el.value != "") {
if (parseInt(el.value) < parseInt(el.min)) { if (parseInt(el.value) < parseInt(el.min)) {
@ -116,15 +139,6 @@ class DatosLibro {
} }
} }
changeFajaColor() {
if (this.imprimirFajaColor.prop('checked')) {
$(document).trigger('add-servicio-lineas', 'facaColor');
}
else {
$(document).trigger('remove-servicio-lineas', 'fajaColor');
}
}
changeFerro() { changeFerro() {
@ -189,6 +203,13 @@ class DatosLibro {
this.checkPaginasPresupuesto(); this.checkPaginasPresupuesto();
this.calcularSolapas();
if ($('#faja_alto').length > 0 && $('#faja_alto').attr('max') != this.getDimensionLibro().alto) {
$('#faja_alto').attr('max', this.getDimensionLibro().alto);
$('#faja_alto').trigger('change');
$('#faja_alto').closest('.mb-1').find('.form-text').text('Entre 50 y ' + this.getDimensionLibro().alto + ' mm');
}
$(document).trigger('update-presupuesto', { $(document).trigger('update-presupuesto', {
update_lineas: true, update_lineas: true,
update_servicios: true, update_servicios: true,
@ -243,7 +264,7 @@ class DatosLibro {
}, 100); }, 100);
// para que se actualice el comparador // para que se actualice el comparador
this.updateComparador(); $('#compCarasCubierta').trigger('change');
} }
changeAnchoSolapasCubierta() { changeAnchoSolapasCubierta() {
@ -256,7 +277,7 @@ class DatosLibro {
} }
// para que se actualice el comparador // para que se actualice el comparador
this.updateComparador(); $('#compCarasCubierta').trigger('change');
} }
@ -287,8 +308,7 @@ class DatosLibro {
} }
// para que se actualice el comparador // para que se actualice el comparador
this.updateComparador(); $('#compSobrecubierta').trigger('change');
} }
checkSolapasGrandes(elemento) { checkSolapasGrandes(elemento) {
@ -490,6 +510,13 @@ class DatosLibro {
$('#div_solapas_ancho_sobrecubierta').addClass('d-none'); $('#div_solapas_ancho_sobrecubierta').addClass('d-none');
} }
this.faja.prop('checked', datos.fajaColor);
if(datos.fajaColor){
this.div_faja.removeClass('d-none');
this.fajaAlto.val(datos.fajaColorAlto).trigger('change');
this.fajaSolapasAncho.val(datos.fajaColorSolapasAncho).trigger('change');
}
this.acabadoCubierta.setOption(datos.acabadoCubierta.id, datos.acabadoCubierta.text); this.acabadoCubierta.setOption(datos.acabadoCubierta.id, datos.acabadoCubierta.text);

View File

@ -31,7 +31,7 @@ class LineasPresupuesto {
const row = $(this).closest('tr'); const row = $(this).closest('tr');
const data = self.table.row(row).data() const data = self.table.row(row).data()
if(data.row_id == 'lp_guardas'){ if (data.row_id == 'lp_guardas') {
$(document).trigger('remove-servicio-lineas', 'plegado_guardas'); $(document).trigger('remove-servicio-lineas', 'plegado_guardas');
} }
self.table.row(row) self.table.row(row)
@ -152,6 +152,9 @@ class LineasPresupuesto {
else if (row.row_id.includes('_guardas')) { else if (row.row_id.includes('_guardas')) {
return 4; return 4;
} }
else if (row.row_id.includes('_faja')) {
return 5;
}
} }
}, },
{ {
@ -163,7 +166,7 @@ class LineasPresupuesto {
{ {
data: 'paginas', data: 'paginas',
render: function (data, type, row, meta) { render: function (data, type, row, meta) {
if (row.row_id != "lp_cubierta" && row.row_id != "lp_sobrecubierta" && row.row_id != "lp_guardas") if (row.row_id != "lp_cubierta" && row.row_id != "lp_sobrecubierta" && row.row_id != "lp_guardas" && row.row_id != "lp_faja")
return '<td class="lp-td"><input id="' + row.row_id + '_paginas" name="' + row.row_id + '_paginas" class="lp-cell lp-input paginas-lp" type="text" value="' + data + '"></td>'; return '<td class="lp-td"><input id="' + row.row_id + '_paginas" name="' + row.row_id + '_paginas" class="lp-cell lp-input paginas-lp" type="text" value="' + data + '"></td>';
else if (row.row_id == "lp_cubierta") { else if (row.row_id == "lp_cubierta") {
let select = '<select id="lp_cubierta_paginas" name="comp_paginas_cubierta" class="form-control form-select-sm lp-cell lp-select" style="min-width:50px;">' let select = '<select id="lp_cubierta_paginas" name="comp_paginas_cubierta" class="form-control form-select-sm lp-cell lp-select" style="min-width:50px;">'
@ -650,7 +653,7 @@ class LineasPresupuesto {
const lpName = this.data().row_id.replace('lp_', ''); const lpName = this.data().row_id.replace('lp_', '');
const tabName = lpName.replace('_', '-'); const tabName = lpName.replace('_', '-');
if (['bn', 'bnhq', 'color', 'colorhq', 'rot_bn', 'rot_color', 'guardas', 'cubierta', 'sobrecubierta'].includes(lpName)) { if (['bn', 'bnhq', 'color', 'colorhq', 'rot_bn', 'rot_color', 'guardas', 'cubierta', 'sobrecubierta', 'faja'].includes(lpName)) {
$(`#tab-pv-${tabName}`).show(); $(`#tab-pv-${tabName}`).show();
if (lpName === 'cubierta') { if (lpName === 'cubierta') {
$(`#tab-pv-${tabName}`).show(); $(`#tab-pv-${tabName}`).show();
@ -666,7 +669,7 @@ class LineasPresupuesto {
this.table.rows().every(function (rowIdx, tableLoop, rowLoop) { this.table.rows().every(function (rowIdx, tableLoop, rowLoop) {
let rowData = this.data(); let rowData = this.data();
if (rowData.row_id != 'lp_cubierta' && rowData.row_id != 'lp_sobrecubierta' && rowData.row_id != 'lp_guardas') if (rowData.row_id != 'lp_cubierta' && rowData.row_id != 'lp_sobrecubierta' && rowData.row_id != 'lp_guardas' && rowData.row_id != 'lp_faja')
cantidad_total += parseInt(rowData.paginas) cantidad_total += parseInt(rowData.paginas)
}) })
let htmlString = '' let htmlString = ''
@ -859,6 +862,25 @@ class LineasPresupuesto {
this.#addEventosLineas('lp_sobrecubierta', false); this.#addEventosLineas('lp_sobrecubierta', false);
break break
case 'lp_faja':
var hayLinea = false
for (let number = 0; number < dataRows.length; number++) {
if (dataRows[number].row_id == 'lp_faja') {
hayLinea = true;
continue;
}
}
if (hayLinea) {
popErrorAlert(window.language.Presupuestos.errores.lineaDuplicada, 'divAlarmasLineasPresupuesto');
break;
}
var data = this.#processRowData({ tipo_maquina: 'toner' }, 'lp_faja', 'lp-faja');
this.table.row.add(data).draw();
this.#addEventosLineas('lp_faja', false);
break
case 'lp_guardas': case 'lp_guardas':
var hayLinea = false var hayLinea = false
for (let number = 0; number < dataRows.length; number++) { for (let number = 0; number < dataRows.length; number++) {
@ -917,6 +939,8 @@ class LineasPresupuesto {
icon = '/themes/vuexy/img/safekat/presupuestos/icon_cubierta.png'; icon = '/themes/vuexy/img/safekat/presupuestos/icon_cubierta.png';
else if (rowId == 'lp_sobrecubierta') else if (rowId == 'lp_sobrecubierta')
icon = '/themes/vuexy/img/safekat/presupuestos/icon_sobrecubierta.png'; icon = '/themes/vuexy/img/safekat/presupuestos/icon_sobrecubierta.png';
else if (rowId == 'lp_faja')
icon = '/themes/vuexy/img/safekat/presupuestos/icon_faja.png';
else if (rowId == 'lp_guardas') else if (rowId == 'lp_guardas')
icon = '/themes/vuexy/img/safekat/presupuestos/icon_guardas.png'; icon = '/themes/vuexy/img/safekat/presupuestos/icon_guardas.png';
else if (rowId == 'lp_rot_bn') else if (rowId == 'lp_rot_bn')
@ -956,7 +980,7 @@ class LineasPresupuesto {
'total_linea': isNaN(parseFloat(row.total_impresion)) ? "" : parseFloat(row.total_impresion).toFixed(2), 'total_linea': isNaN(parseFloat(row.total_impresion)) ? "" : parseFloat(row.total_impresion).toFixed(2),
'numeroPliegos': isNaN(parseFloat(row.pliegos_libro)) ? "" : parseFloat(row.pliegos_libro).toFixed(0), 'numeroPliegos': isNaN(parseFloat(row.pliegos_libro)) ? "" : parseFloat(row.pliegos_libro).toFixed(2),
'pliegosPedido': isNaN(parseFloat(row.pliegos_pedido)) ? "" : parseFloat(row.pliegos_pedido).toFixed(0), 'pliegosPedido': isNaN(parseFloat(row.pliegos_pedido)) ? "" : parseFloat(row.pliegos_pedido).toFixed(0),
'precioPliego': isNaN(parseFloat(row.precios_pliegos)) ? "" : parseFloat(row.precios_pliegos).toFixed(6), 'precioPliego': isNaN(parseFloat(row.precios_pliegos)) ? "" : parseFloat(row.precios_pliegos).toFixed(6),
'libro': isNaN(parseFloat(row.precio_libro)) ? "" : parseFloat(row.precio_libro).toFixed(2), 'libro': isNaN(parseFloat(row.precio_libro)) ? "" : parseFloat(row.precio_libro).toFixed(2),
@ -1038,6 +1062,10 @@ class LineasPresupuesto {
data.alto_click = row.alto_click data.alto_click = row.alto_click
} }
if (rowId == 'lp_faja'){
data.alto_faja = row.alto_faja;
}
return data return data
} }
@ -1100,11 +1128,22 @@ class LineasPresupuesto {
'</div>' + '</div>' +
'</td>' '</td>'
value += '</tr>' value += '</tr>'
if (d.row_id == "lp_faja") {
value += '<tr>' +
'<td></td>' +
'<td></td>' +
'<td colspan="10">' +
'<div class="row flex-grow-1 d-flex align-items-end">' +
'<div class="col-md-12 col-lg-1">' +
window.language.Presupuestos.papelFormatoAlto + ' ' + window.language.Presupuestos.faja +
'<input id="' + d.row_id + '_altoFaja" name="' + d.row_id + '_altoFaja" class="lp-input lp-cell ' + d.row_class + '-input" type="text" value="' + d.alto_faja + '">' +
'</div>' +
'</td>' +
'</tr>'
}
if (d.maquinaTipo == 'inkjet') { if (d.maquinaTipo == 'inkjet') {
value += value +=
'<tr>' + '<tr>' +
@ -1389,6 +1428,22 @@ class LineasPresupuesto {
const self = this; const self = this;
const dimension = this.getDimensionLibro(); const dimension = this.getDimensionLibro();
if (linea == 'lp_faja') {
if (Object.keys(input_data).length == 0) {
let altoSelected = parseInt($('#' + linea + '_altoFaja').val());
if (altoSelected == 0 || isNaN(altoSelected) || altoSelected == '' || altoSelected < 50) {
altoSelected = 50;
}
else if (altoSelected > dimension.alto) {
altoSelected = dimension.alto;
}
dimension.alto = altoSelected;
}
else {
dimension.alto = parseInt($('#faja_alto').val());
}
}
const dataFromComparador = fromComparador; const dataFromComparador = fromComparador;
if (Object.keys(input_data).length == 0) { if (Object.keys(input_data).length == 0) {
@ -1406,7 +1461,7 @@ class LineasPresupuesto {
if (linea == 'lp_cubierta') { if (linea == 'lp_cubierta') {
input_data.paginas = parseInt($('#lp_cubierta_paginas option:selected').val()); input_data.paginas = parseInt($('#lp_cubierta_paginas option:selected').val());
} }
else if (linea == 'lp_sobrecubierta') { else if (linea == 'lp_sobrecubierta' || linea == 'lp_faja') {
input_data.paginas = 4; input_data.paginas = 4;
} }
else if (linea == 'lp_guardas') { else if (linea == 'lp_guardas') {
@ -1435,6 +1490,9 @@ class LineasPresupuesto {
case 'lp_sobrecubierta': case 'lp_sobrecubierta':
uso = 'sobrecubierta'; uso = 'sobrecubierta';
break; break;
case 'lp_faja':
uso = 'faja';
break;
case 'lp_guardas': case 'lp_guardas':
uso = 'guardas'; uso = 'guardas';
break; break;
@ -1453,7 +1511,6 @@ class LineasPresupuesto {
hq = 0; hq = 0;
} }
var datos = { var datos = {
tipo_impresion_id: $('#tipo_impresion_id').val(), tipo_impresion_id: $('#tipo_impresion_id').val(),
type: uso, type: uso,
@ -1496,6 +1553,11 @@ class LineasPresupuesto {
datos.solapas_ancho = $('#solapas_sobrecubierta').is(':checked') ? parseInt($('#solapas_ancho_sobrecubierta').val()) : 0; datos.solapas_ancho = $('#solapas_sobrecubierta').is(':checked') ? parseInt($('#solapas_ancho_sobrecubierta').val()) : 0;
datos.lomo = $('#lomo_sobrecubierta').val(); datos.lomo = $('#lomo_sobrecubierta').val();
} }
else if (linea == 'lp_faja') {
datos.solapas = 1;
datos.solapas_ancho = parseInt($('#faja_solapas_ancho').val());
datos.lomo = $('#lomo_sobrecubierta').val();
}
else if (linea == 'lp_guardas') { else if (linea == 'lp_guardas') {
datos.paginas_impresion = input_data.paginas_impresion; datos.paginas_impresion = input_data.paginas_impresion;
} }
@ -1503,7 +1565,7 @@ class LineasPresupuesto {
// Si es inkjet, existe este check // Si es inkjet, existe este check
if ($('#' + linea + '_aFavorFibra').length) { if ($('#' + linea + '_aFavorFibra').length) {
datos.a_favor_fibra = $('#' + linea + '_aFavorFibra').prop('checked') ? 1: 0; datos.a_favor_fibra = $('#' + linea + '_aFavorFibra').prop('checked') ? 1 : 0;
} }
if (updatedTipologias && $('#' + linea + '_gotaNegro').length) { if (updatedTipologias && $('#' + linea + '_gotaNegro').length) {
@ -1549,6 +1611,9 @@ class LineasPresupuesto {
response.lineas[$i].fields.check_papel_total = 1; response.lineas[$i].fields.check_papel_total = 1;
response.lineas[$i].fields.check_impresion_total = 1; response.lineas[$i].fields.check_impresion_total = 1;
} }
if (linea == 'lp_faja') {
response.lineas[$i].fields.alto_faja = dimension.alto;
}
self.rellenarDatosLinea(linea, response.lineas[$i].fields); self.rellenarDatosLinea(linea, response.lineas[$i].fields);
return true; return true;
@ -1583,7 +1648,7 @@ class LineasPresupuesto {
papel_impresion_id: row.papelImpresionId, papel_impresion_id: row.papelImpresionId,
maquina_id: row.maquinaId, maquina_id: row.maquinaId,
} }
if(linea.includes('guardas')) { if (linea.includes('guardas')) {
input_data.paginas_impresion = parseInt($('#compCarasGuardas').select2('data')[0].id); input_data.paginas_impresion = parseInt($('#compCarasGuardas').select2('data')[0].id);
} }
this.obtenerLinea(linea, fromComparator, false, input_data) this.obtenerLinea(linea, fromComparator, false, input_data)
@ -1602,7 +1667,13 @@ class LineasPresupuesto {
this.table.row.add(data).draw() this.table.row.add(data).draw()
currentRow = this.table.row('#' + linea); currentRow = this.table.row('#' + linea);
} }
currentRow.child(this.formatRow(currentRow.data())).show();
let datosLinea = currentRow.data();
if (linea == 'lp_faja') {
datosLinea.alto_faja = row.alto_faja;
}
currentRow.child(this.formatRow(datosLinea)).show();
this.#addEventosLineas(linea, data.maquinaTipo == 'inkjet' ? true : false); this.#addEventosLineas(linea, data.maquinaTipo == 'inkjet' ? true : false);
@ -1615,8 +1686,8 @@ class LineasPresupuesto {
*/ */
$(document).trigger('update-presupuesto', { $(document).trigger('update-presupuesto', {
update_lineas : false, update_lineas: false,
update_servicios : true, update_servicios: true,
update_envios: true, update_envios: true,
update_resumen: true, update_resumen: true,
update_tiradas_alternativas: true update_tiradas_alternativas: true
@ -1624,7 +1695,7 @@ class LineasPresupuesto {
// Si existe cubierta, hay que actualizar con el valor del lomo // Si existe cubierta, hay que actualizar con el valor del lomo
if (linea != 'lp_cubierta' && linea != 'lp_sobrecubierta' && this.table.row('#lp_cubierta').length > 0) { if (linea != 'lp_cubierta' && linea != 'lp_sobrecubierta' && linea != 'lp_faja' && this.table.row('#lp_cubierta').length > 0) {
this.obtenerLinea('lp_cubierta', false, false); this.obtenerLinea('lp_cubierta', false, false);
} }
if (mostrar_calculos) { if (mostrar_calculos) {
@ -1655,6 +1726,7 @@ class LineasPresupuesto {
case 'lp_guardas': case 'lp_guardas':
case 'lp_cubierta': case 'lp_cubierta':
case 'lp_sobrecubierta': case 'lp_sobrecubierta':
case 'lp_faja':
tipo = 'colorhq'; tipo = 'colorhq';
break break
default: default:
@ -1666,6 +1738,7 @@ class LineasPresupuesto {
uso = 'cubierta'; uso = 'cubierta';
break; break;
case 'lp_sobrecubierta': case 'lp_sobrecubierta':
case 'lp_faja':
uso = 'sobrecubierta'; uso = 'sobrecubierta';
break; break;
case 'lp_guardas': case 'lp_guardas':
@ -1765,6 +1838,12 @@ class LineasPresupuesto {
$('#' + tipoLinea + '_defecto').on("click", () => { this.lp_por_defecto(tipoLinea); }); $('#' + tipoLinea + '_defecto').on("click", () => { this.lp_por_defecto(tipoLinea); });
$('#' + tipoLinea + '_aFavorFibra').on("change", () => { this.change_aFavorFibra(tipoLinea); }); $('#' + tipoLinea + '_aFavorFibra').on("change", () => { this.change_aFavorFibra(tipoLinea); });
} }
if (tipoLinea == 'lp_faja') {
$('#' + tipoLinea + '_altoFaja').on("change", function (event) {
self.obtenerLinea(tipoLinea, false, false, {}, event); // Pasamos explícitamente 'tipoLinea'
}.bind(this));
}
} }
@ -1931,14 +2010,33 @@ class LineasPresupuesto {
$(document).trigger('add-servicio-lineas', 'plegado_guardas'); $(document).trigger('add-servicio-lineas', 'plegado_guardas');
} }
else if (e.target.id.includes("Faja")) {
for (let i = self.table.rows().data().length - 1; i >= 0; i--) {
let row = self.table.row(i).data(); // Obtener datos de la fila actual
if (row.row_id.includes('lp_faja')) {
self.table.row(i).remove(); // Eliminar fila
}
}
self.table.draw();
var rows = $("#tableCompFaja").DataTable().rows('.selected').data().toArray();
for (const row of rows) {
this.rellenarDatosLinea('lp_faja', row, true);
}
}
$(document).trigger('update-presupuesto', { $(document).trigger('update-presupuesto', {
update_lineas : false, update_lineas: false,
update_servicios : true, update_servicios: true,
update_envios: true, update_envios: true,
update_resumen: true, update_resumen: true,
update_tiradas_alternativas: true update_tiradas_alternativas: true
}); });
showBreadCrumbSaveButton(true);
} }
} }

View File

@ -80,6 +80,13 @@ class PreviewFormasAdmin{
self.preview.previewInteriorPlana('sobrecubierta', self.isCosido, self.tipoTapa.includes("dura")?1:0); self.preview.previewInteriorPlana('sobrecubierta', self.isCosido, self.tipoTapa.includes("dura")?1:0);
} ); } );
$('#tab-pv-faja').on( "click", function() {
self.preview.setData(self.data);
self.preview.previewInteriorPlana('faja', self.isCosido, self.tipoTapa.includes("dura")?1:0);
} );
} }
} }

View File

@ -311,29 +311,29 @@ class Resumen {
getData(){ getData(){
let data = { let data = {
'total_coste_papel': $('#totalCostePapel').attr('val').replace('€', ''), 'total_coste_papel': $('#totalCostePapel').text().replace('€', ''),
'total_margen_papel': $('#margenPapel').attr('val').replace('€', ''), 'total_margen_papel': $('#margenPapel').text().replace('€', ''),
'total_margenPercent_papel': $('#porcentajeMargenPapel').text().replace('%', ''), 'total_margenPercent_papel': $('#porcentajeMargenPapel').text().replace('%', ''),
'total_coste_impresion': $('#totalCosteImpresion').attr('val').replace('€', ''), 'total_coste_impresion': $('#totalCosteImpresion').text().replace('€', ''),
'total_margen_impresion': $('#margenImpresion').attr('val').replace('€', ''), 'total_margen_impresion': $('#margenImpresion').text().replace('€', ''),
'total_margenPercent_impresion': $('#porcentajeMargenImpresion').text().replace('%', ''), 'total_margenPercent_impresion': $('#porcentajeMargenImpresion').text().replace('%', ''),
'total_coste_servicios': $('#totalServicios').attr('val').replace('€', ''), 'total_coste_servicios': $('#totalServicios').text().replace('€', ''),
'total_margen_servicios': $('#margenServicios').attr('val').replace('€', ''), 'total_margen_servicios': $('#margenServicios').text().replace('€', ''),
'total_margenPercent_servicios': $('#porcentajeMargenServicios').text().replace('%', ''), 'total_margenPercent_servicios': $('#porcentajeMargenServicios').text().replace('%', ''),
'total_coste_envios': $('#totalEnvios').attr('val').replace('€', ''), 'total_coste_envios': $('#totalEnvios').text().replace('€', ''),
'total_margen_envios': $('#margenEnvios').attr('val').replace('€', ''), 'total_margen_envios': $('#margenEnvios').text().replace('€', ''),
'total_costes': $('#totalCostes').attr('val').replace('€', ''), 'total_costes': $('#totalCostes').text().replace('€', ''),
'total_margenes': $('#totalMargenes').attr('val').replace('€', ''), 'total_margenes': $('#totalMargenes').text().replace('€', ''),
'total_antes_descuento': $('#totalAntesDescuento').attr('val').replace('€', ''), 'total_antes_descuento': $('#totalAntesDescuento').text().replace('€', ''),
'total_descuento': $('#descuentoTotal').attr('val').replace('€', ''), 'total_descuento': $('#descuentoTotal').text().replace('€', ''),
'total_descuentoPercent': $('#total_descuentoPercent').val().replace('€', ''), 'total_descuentoPercent': $('#total_descuentoPercent').val().replace('€', ''),
'total_presupuesto': $('#totalDespuesDecuento').attr('val').replace('€', ''), 'total_presupuesto': $('#totalDespuesDecuento').text().replace('€', ''),
'total_precio_unidad': $('#precioUnidadPresupuesto').attr('val').replace('€', ''), 'total_precio_unidad': $('#precioUnidadPresupuesto').text().replace('€', ''),
'total_factor': $('#factor').text().replace(/,/g, '.'), 'total_factor': $('#factor').text().replace(/,/g, '.'),
'total_factor_ponderado': $('#factor_ponderado').text().replace(/,/g, '.'), 'total_factor_ponderado': $('#factor_ponderado').text().replace(/,/g, '.'),
@ -341,7 +341,7 @@ class Resumen {
if($('#confirmar_presupuesto').prop('checked')){ if($('#confirmar_presupuesto').prop('checked')){
data.confirmar = '1'; data.confirmar = '1';
data.total_aceptado = $('#totalDespuesDecuento').attr('val').replace('€', ''); data.total_aceptado = $('#totalDespuesDecuento').text().replace('€', '');
} }
return data; return data;

View File

@ -147,7 +147,7 @@ class TiradasAlernativas {
const self = this; const self = this;
const id = window.location.href.split('/').pop(); const id = window.location.href.split('/').pop();
const tirada = tiradaExterna === null ? parseInt(this.tirada.val()) : tiradaExterna; const tirada = tiradaExterna === null || isNaN(tiradaExterna) ? parseInt(this.tirada.val()) : tiradaExterna;
const tirada_ejemplo = parseInt($('#tirada').val()); const tirada_ejemplo = parseInt($('#tirada').val());
const POD = parseInt($('#POD').val()); const POD = parseInt($('#POD').val());

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB