mirror of
https://git.imnavajas.es/jjimenez/safekat.git
synced 2025-07-25 22:52:08 +00:00
añadidos todos los servicios a falta del solapas grandes (incluido plegado de guardas)
This commit is contained in:
@ -45,6 +45,10 @@ const SK_PERMISSION_MATRIX = [
|
||||
"tarifa-encuadernacion.edit",
|
||||
"tarifa-encuadernacion.delete",
|
||||
"tarifa-encuadernacion.menu",
|
||||
"tarifa-extra.create",
|
||||
"tarifa-extra.edit",
|
||||
"tarifa-extra.delete",
|
||||
"tarifa-extra.menu",
|
||||
"tarifa-envio.create",
|
||||
"tarifa-envio.edit",
|
||||
"tarifa-envio.delete",
|
||||
|
||||
@ -45,6 +45,10 @@ const SK_PERMISSIONS = [
|
||||
'tarifa-encuadernacion.edit' => 'Can edit',
|
||||
'tarifa-encuadernacion.delete' => 'Can delete',
|
||||
'tarifa-encuadernacion.menu' => 'Menu shall be visualize',
|
||||
'tarifa-extra.create' => 'Can create',
|
||||
'tarifa-extra.edit' => 'Can edit',
|
||||
'tarifa-extra.delete' => 'Can delete',
|
||||
'tarifa-extra.menu' => 'Menu shall be visualize',
|
||||
'tarifa-envio.create' => 'Can create',
|
||||
'tarifa-envio.edit' => 'Can edit',
|
||||
'tarifa-envio.delete' => 'Can delete',
|
||||
|
||||
@ -328,12 +328,12 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
|
||||
$this->viewData['POD'] = $this->getPOD();
|
||||
|
||||
$this->viewData['serviciosAutomaticos'] = [
|
||||
'retractilado' => 3,
|
||||
'retractilado5' => 5,
|
||||
'ferro' => 24,
|
||||
'prototipo' => 9,
|
||||
'fajaColor' => 16,
|
||||
'plegadoGuardas' => 62,
|
||||
'retractilado' => model('App\Models\Configuracion\ConfigVariableModel')->getVariable('id_servicio_retractilado')->value,
|
||||
'retractilado5' => model('App\Models\Configuracion\ConfigVariableModel')->getVariable('id_servicio_retractilado5')->value,
|
||||
'ferro' => model('App\Models\Configuracion\ConfigVariableModel')->getVariable('id_servicio_ferro')->value,
|
||||
'prototipo' => model('App\Models\Configuracion\ConfigVariableModel')->getVariable('id_servicio_prototipo')->value,
|
||||
'plegado_guardas' => model('App\Models\Configuracion\ConfigVariableModel')->getVariable('id_servicio_plegado_guardas')->value,
|
||||
'solapas_grandes' => model('App\Models\Configuracion\ConfigVariableModel')->getVariable('id_servicio_plegado_exceso_solapas')->value,
|
||||
];
|
||||
|
||||
$this->viewData['tipo_impresion_id'] = $presupuestoEntity->tipo_impresion_id; // Cosido tapa blanda JJO
|
||||
@ -496,7 +496,8 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
|
||||
$data['comparador']['json_data'] = json_decode($presupuesto->comparador_json_data, true);
|
||||
if ($data['comparador']['json_data'] != null) {
|
||||
foreach ($data['comparador']['json_data'] as &$item) {
|
||||
$item['papel_nombre'] = $modelPapelGenerico->getNombre($item['papel_id'])['nombre'];
|
||||
if(intval($item['papel_id'])>0)
|
||||
$item['papel_nombre'] = $modelPapelGenerico->getNombre($item['papel_id'])['nombre'];
|
||||
}
|
||||
}
|
||||
$data['comparador']['posPagColor'] = $presupuesto->comp_pos_paginas_color;
|
||||
@ -701,6 +702,10 @@ class Presupuestoadmin extends \App\Controllers\BaseResourceController
|
||||
$tipo_impresion_id = $this->request->getPost('tipo_impresion_id');
|
||||
$uso = $this->request->getPost('uso');
|
||||
|
||||
// cubierta y sobrecubierta siempre colorhq
|
||||
$isColor = true;
|
||||
$isHq = true;
|
||||
|
||||
// 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
|
||||
|
||||
@ -2286,38 +2286,62 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
// Servicios
|
||||
|
||||
|
||||
/*
|
||||
'retractilado' => 3,
|
||||
'prototipo' => 9,
|
||||
*/
|
||||
|
||||
$serviciosAutomaticos = [];
|
||||
$servicios = [];
|
||||
|
||||
$servicio_ferro = (object) [
|
||||
'nombre' => 'ferro',
|
||||
'id' => model('App\Models\Configuracion\ConfigVariableModel')->getVariable('id_servicio_ferro')->value
|
||||
];
|
||||
$servicio_prototipo = (object) [
|
||||
'nombre' => 'prototipo',
|
||||
'id' => model('App\Models\Configuracion\ConfigVariableModel')->getVariable('id_servicio_prototipo')->value
|
||||
];
|
||||
$servicio_retractilado = (object) [
|
||||
'nombre' => 'retractilado',
|
||||
'id' => model('App\Models\Configuracion\ConfigVariableModel')->getVariable('id_servicio_retractilado')->value
|
||||
];
|
||||
$servicio_retractilado5 = (object) [
|
||||
'nombre' => 'retractilado5',
|
||||
'id' => model('App\Models\Configuracion\ConfigVariableModel')->getVariable('id_servicio_retractilado5')->value
|
||||
];
|
||||
$servicio_plegado_guardas = (object) [
|
||||
'nombre' => 'plegado_guardas',
|
||||
'id' => model('App\Models\Configuracion\ConfigVariableModel')->getVariable('id_servicio_plegado_guardas')->value
|
||||
];
|
||||
$servicio_solapas_grandes = (object) [
|
||||
'nombre' => 'solapas_grandes',
|
||||
'id' => model('App\Models\Configuracion\ConfigVariableModel')->getVariable('id_servicio_plegado_exceso_solapas')->value
|
||||
];
|
||||
|
||||
// se comprueba si $datos guardas es un array
|
||||
if (is_array($datos_guardas)) {
|
||||
if (count($datos_guardas) > 0) {
|
||||
array_push($servicios, 62); // Plegado de guardas
|
||||
array_push($servicios, $servicio_plegado_guardas); // Plegado de guardas
|
||||
}
|
||||
} else {
|
||||
if ($datos_guardas > 0) {
|
||||
array_push($servicios, 62); // Plegado de guardas
|
||||
array_push($servicios, $servicio_plegado_guardas); // Plegado de guardas
|
||||
}
|
||||
}
|
||||
|
||||
if ($datos_entrada['servicios']['retractilado']) // acabado
|
||||
array_push($servicios, 3);
|
||||
array_push($servicios, $servicio_retractilado);
|
||||
if ($datos_entrada['servicios']['retractilado5']) // acabado
|
||||
array_push($servicios, 98);
|
||||
array_push($servicios, $servicio_retractilado5);
|
||||
if ($datos_entrada['servicios']['prototipo']) // extra
|
||||
array_push($servicios, 9);
|
||||
array_push($servicios, $servicio_prototipo);
|
||||
if ($datos_entrada['servicios']['ferro']) // extra
|
||||
array_push($servicios, 30);
|
||||
array_push($servicios, $servicio_ferro);
|
||||
/*if ($datos_entrada['servicios']['ferroDigital'])
|
||||
array_push($servicios, 29);*/ // Es gratis
|
||||
foreach ($servicios as $servicio) {
|
||||
|
||||
if (intval($servicio) == 3 || intval($servicio) == 98) {
|
||||
if ($servicio->nombre == "retractilado" || $servicio->nombre == "retractilado5") {
|
||||
// Servicios acabado
|
||||
$resultado = PresupuestoCLienteService::getServiciosAcabados([
|
||||
'tarifa_id' => $servicio,
|
||||
'tarifa_id' => intval($servicio->id),
|
||||
'tirada' => $datosPedido->tirada,
|
||||
'POD' => $POD,
|
||||
]);
|
||||
@ -2345,10 +2369,10 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
$totalServicios += floatval($resultado[0]->total);
|
||||
$margenServicios += floatval($resultado[0]->total) * floatval($resultado[0]->margen) / 100.0;
|
||||
}
|
||||
} else if (intval($servicio) == 9 || intval($servicio) == 30 || intval($servicio) == 29) {
|
||||
} else if ($servicio->nombre == "ferro" || $servicio->nombre == "prototipo") {
|
||||
// Extra
|
||||
$resultado = PresupuestoCLienteService::getServiciosExtra([
|
||||
'tarifa_id' => $servicio,
|
||||
'tarifa_id' => intval($servicio->id),
|
||||
]);
|
||||
array_push($serviciosAutomaticos, $resultado[0]);
|
||||
if ($resultado[0]->precio <= 0) {
|
||||
@ -2385,7 +2409,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
|
||||
// Servicios acabado
|
||||
$resultado = PresupuestoCLienteService::getServiciosManipulado([
|
||||
'tarifa_id' => 73,
|
||||
'tarifa_id' => intval($servicio_solapas_grandes->id),
|
||||
'tirada' => $datosPedido->tirada,
|
||||
'POD' => $POD,
|
||||
]);
|
||||
|
||||
@ -115,7 +115,7 @@ class Presupuestomanipulados extends \App\Controllers\BaseResourceController
|
||||
|
||||
if (count($datos_tarifas) > 0) {
|
||||
foreach ($datos_tarifas as $tarifa) {
|
||||
$values = $model->getPrecioTarifa($tarifa['tarifa_id'], $tirada, $POD);
|
||||
$values = $model->getPrecioTarifa($tarifa, $tirada, $POD);
|
||||
$values[0]->cubierta = $tarifa['cubierta'] ?? 0;
|
||||
$values[0]->sobrecubierta = $tarifa['sobrecubierta'] ?? 0;
|
||||
array_push($result, $values[0]);
|
||||
|
||||
@ -1,7 +1,8 @@
|
||||
<div class="accordion accordion-bordered mt-3" id="accordionDatosLibro">
|
||||
<div class="card accordion-item active">
|
||||
<h2 class="accordion-header" id="headingOne">
|
||||
<button type="button" class="accordion-button" data-bs-toggle="collapse" data-bs-target="#accordionDatosLibroTip" aria-expanded="false" aria-controls="accordionDatosLibroTip">
|
||||
<button type="button" class="accordion-button" data-bs-toggle="collapse"
|
||||
data-bs-target="#accordionDatosLibroTip" aria-expanded="false" aria-controls="accordionDatosLibroTip">
|
||||
<h4><?= lang("Presupuestos.datosLibro") ?></h4>
|
||||
</button>
|
||||
</h2>
|
||||
@ -19,18 +20,20 @@
|
||||
<label for="paginas" class="form-label">
|
||||
<?= lang('Presupuestos.paginas') ?>*
|
||||
</label>
|
||||
<input type="number" id="paginas" name="paginas" tabindex="1" maxLength="11" class="form-control" value="" <?php echo ($tipo_impresion_id == 21)?' max=80':'' ?>>
|
||||
<input type="number" id="paginas" name="paginas" tabindex="1" maxLength="11"
|
||||
class="form-control" value="" <?php echo ($tipo_impresion_id == 21) ? ' max=80' : '' ?>>
|
||||
</div><!--//.mb-3 -->
|
||||
|
||||
</div>
|
||||
</div><!--//.col -->
|
||||
|
||||
|
||||
<div class="col-md-12 col-lg-2 px-4">
|
||||
<div class="mb-1">
|
||||
<label for="tirada" class="form-label">
|
||||
<?= lang('Presupuestos.tirada') ?>*
|
||||
</label>
|
||||
<input type="number" id="tirada" name="tirada" tabindex="2" maxLength="11" class="form-control" value="">
|
||||
<input type="number" id="tirada" name="tirada" tabindex="2" maxLength="11"
|
||||
class="form-control" value="">
|
||||
</div><!--//.mb-3 -->
|
||||
|
||||
</div><!--//.col -->
|
||||
@ -42,21 +45,24 @@
|
||||
<?= lang('Presupuestos.papelFormatoId') ?>*
|
||||
</label>
|
||||
<div class="row tamanio-estandar">
|
||||
<select id="papelFormatoId" name="papel_formato_id" tabindex="3" class="form-control select2bs2" style="width: 100%;">
|
||||
</select>
|
||||
<select id="papelFormatoId" name="papel_formato_id" tabindex="3"
|
||||
class="form-control select2bs2" style="width: 100%;">
|
||||
</select>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-12 col-lg-6 tamanio-personalizado d-none">
|
||||
<div class="mb-1">
|
||||
<input type="number" id="papelFormatoAncho" name="papel_formato_ancho" maxLength="8" step="0.01" class="form-control formato_libro" value="">
|
||||
<input type="number" id="papelFormatoAncho" name="papel_formato_ancho"
|
||||
maxLength="8" step="0.01" class="form-control formato_libro" value="">
|
||||
</div><!--//.mb-3 -->
|
||||
</div><!--//.col -->
|
||||
|
||||
<div class="col-md-12 col-lg-6 tamanio-personalizado d-none">
|
||||
<div class="mb-1">
|
||||
<input type="number" id="papelFormatoAlto" name="papel_formato_alto" maxLength="8" step="0.01" class="form-control formato_libro" value="">
|
||||
<div class="mb-1">
|
||||
<input type="number" id="papelFormatoAlto" name="papel_formato_alto"
|
||||
maxLength="8" step="0.01" class="form-control formato_libro" value="">
|
||||
</div><!--//.mb-3 -->
|
||||
</div><!--//.col -->
|
||||
</div>
|
||||
@ -70,7 +76,8 @@
|
||||
<label for="merma" class="form-label">
|
||||
<?= lang('Presupuestos.merma') ?>*
|
||||
</label>
|
||||
<input readonly style="background: #E8E8E8;" id="merma" name="merma" maxLength="8" tabindex="4" step="1" placeholder="10" class="form-control" value="">
|
||||
<input readonly style="background: #E8E8E8;" id="merma" name="merma" maxLength="8"
|
||||
tabindex="4" step="1" placeholder="10" class="form-control" value="">
|
||||
</div><!--//.mb-3 -->
|
||||
</div><!--//.col -->
|
||||
|
||||
@ -79,7 +86,8 @@
|
||||
<label for="mermacubierta" class="form-label">
|
||||
<?= lang('Presupuestos.mermacubierta') ?>*
|
||||
</label>
|
||||
<input readonly style="background: #E8E8E8;" id="mermacubierta" name="merma_cubierta" tabindex="5" placeholder="10" maxLength="8" step="1" class="form-control" value="">
|
||||
<input readonly style="background: #E8E8E8;" id="mermacubierta" name="merma_cubierta"
|
||||
tabindex="5" placeholder="10" maxLength="8" step="1" class="form-control" value="">
|
||||
</div><!--//.mb-3 -->
|
||||
</div><!--//.col -->
|
||||
|
||||
@ -90,34 +98,41 @@
|
||||
<!-- Fila 2 -->
|
||||
<div class="row">
|
||||
<div class="col-md-12 col-lg-2 px-4">
|
||||
<div class="row solapas-cubierta-div">
|
||||
<div class="mb-1">
|
||||
<div class="form-check form-switch mb-2">
|
||||
<input class="form-check-input solapas_cubierta" type="checkbox" id="solapas" name="solapas" tabindex="6" value="1">
|
||||
<label class="form-check-label" for="solapas"><?= lang('Presupuestos.solapasCubierta') ?></label>
|
||||
</div>
|
||||
</div><!--//.mb-3 -->
|
||||
<div class="row solapas-cubierta-div">
|
||||
<div class="mb-1">
|
||||
<div class="form-check form-switch mb-2">
|
||||
<input class="form-check-input solapas_cubierta" type="checkbox" id="solapas"
|
||||
name="solapas" tabindex="6" value="1">
|
||||
<label class="form-check-label"
|
||||
for="solapas"><?= lang('Presupuestos.solapasCubierta') ?></label>
|
||||
</div>
|
||||
</div><!--//.mb-3 -->
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="col-md-12 col-lg-2 px-4">
|
||||
<div class="row solapas-sobrecubierta-div">
|
||||
<div class="mb-1">
|
||||
<div class="form-check form-switch mb-2">
|
||||
<input class="form-check-input solapas_sobrecubierta" type="checkbox" id="solapas_sobrecubierta" name="solapas_sobrecubierta" tabindex="6" value="1" onclick="return false;">
|
||||
<label class="form-check-label" for="solapas_sobrecubierta"><?= lang('Presupuestos.solapasSobrecubierta') ?></label>
|
||||
<input class="form-check-input solapas_sobrecubierta" type="checkbox"
|
||||
id="solapas_sobrecubierta" name="solapas_sobrecubierta" tabindex="6" value="1"
|
||||
onclick="return false;">
|
||||
<label class="form-check-label"
|
||||
for="solapas_sobrecubierta"><?= lang('Presupuestos.solapasSobrecubierta') ?></label>
|
||||
</div>
|
||||
</div><!--//.mb-3 -->
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="col-md-12 col-lg-6 px-4">
|
||||
<div class="row">
|
||||
<div class="mb-1">
|
||||
<div class="form-check form-switch mb-2">
|
||||
<input class="form-check-input" type="checkbox" id="papelFormatoPersonalizado" name="papel_formato_personalizado" value="1">
|
||||
<label class="form-check-label" for="papelFormatoPersonalizado"><?= lang('Presupuestos.papelFormatoPersonalizado') ?></label>
|
||||
<input class="form-check-input" type="checkbox" id="papelFormatoPersonalizado"
|
||||
name="papel_formato_personalizado" value="1">
|
||||
<label class="form-check-label"
|
||||
for="papelFormatoPersonalizado"><?= lang('Presupuestos.papelFormatoPersonalizado') ?></label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -132,7 +147,8 @@
|
||||
<label for="solapas_ancho" class="form-label">
|
||||
<?= lang('Presupuestos.solapasAnchoCubierta') ?>*
|
||||
</label>
|
||||
<input type="number" id="solapas_ancho" name="solapas_ancho" placeholder="0" maxLength="8" step="1" class="form-control solapas_cubierta" value="">
|
||||
<input type="number" id="solapas_ancho" name="solapas_ancho" placeholder="0" maxLength="8"
|
||||
step="1" class="form-control solapas_cubierta" value="">
|
||||
</div><!--//.mb-1 -->
|
||||
</div>
|
||||
|
||||
@ -141,20 +157,24 @@
|
||||
<label for="solapas_ancho_sobrecubierta" class="form-label">
|
||||
<?= lang('Presupuestos.solapasAnchoSobrecubierta') ?>*
|
||||
</label>
|
||||
<input type="number" id="solapas_ancho_sobrecubierta" name="solapas_ancho_sobrecubierta" placeholder="60" min="60" maxLength="8" step="1" class="form-control solapas_sobrecubierta" value="">
|
||||
<input type="number" id="solapas_ancho_sobrecubierta" name="solapas_ancho_sobrecubierta"
|
||||
placeholder="60" min="60" maxLength="8" step="1"
|
||||
class="form-control solapas_sobrecubierta" value="">
|
||||
</div><!--//.mb-1 -->
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<!----------------------------------------------------------------------------->
|
||||
<?php if(str_contains($formAction,'edit')): ?>
|
||||
<?php if (str_contains($formAction, 'edit')): ?>
|
||||
|
||||
<div class="divider divider-dark text-start mb-1">
|
||||
<div class="divider-text">
|
||||
<h5><?= lang("Presupuestos.acabadosExteriores") ?></h5>
|
||||
<h5>
|
||||
<?= lang("Presupuestos.acabadosExteriores") ?>
|
||||
</h5>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -165,10 +185,11 @@
|
||||
<label id="label_acabado_cubierta_id" for="acabado_cubierta_id" class="form-label">
|
||||
<?= lang('Presupuestos.acabadoCubierta') ?>*
|
||||
</label>
|
||||
<select id="acabado_cubierta_id" name="acabado_cubierta_id" tabindex="3" class="form-control select2bs2" style="width: 100%;">
|
||||
<select id="acabado_cubierta_id" name="acabado_cubierta_id" tabindex="3"
|
||||
class="form-control select2bs2" style="width: 100%;">
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-12 col-lg-6 px-4">
|
||||
<div class="row impresion-con-sobrecubierta">
|
||||
@ -176,18 +197,21 @@
|
||||
<label id="label_acabado_cubierta_id" for="acabado_sobrecubierta_id" class="form-label">
|
||||
<?= lang('Presupuestos.acabadoSobrecubierta') ?>*
|
||||
</label>
|
||||
<select id="acabado_sobrecubierta_id" name="acabado_sobrecubierta_id" tabindex="3" class="form-control select2bs2" style="width: 100%;">
|
||||
<select id="acabado_sobrecubierta_id" name="acabado_sobrecubierta_id" tabindex="3"
|
||||
class="form-control select2bs2" style="width: 100%;">
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<!----------------------------------------------------------------------------->
|
||||
<div class="divider divider-dark text-start mb-1">
|
||||
<div class="divider-text">
|
||||
<h5><?= lang("Presupuestos.opcionesPresupuesto") ?></h5>
|
||||
<h5>
|
||||
<?= lang("Presupuestos.opcionesPresupuesto") ?>
|
||||
</h5>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -196,85 +220,99 @@
|
||||
<div class="mb-3">
|
||||
<div class="form-check">
|
||||
<label for="retractilado" class="form-check-label">
|
||||
<input type="checkbox" id="retractilado" name="retractilado" value="1" class="form-check-input" >
|
||||
<input type="checkbox" id="retractilado" name="retractilado" value="1"
|
||||
class="form-check-input" service="acabado"
|
||||
service-id=<?= $serviciosAutomaticos['retractilado'] ?>>
|
||||
<?= lang('Presupuestos.retractilado') ?>
|
||||
</label>
|
||||
</div><!--//.form-check -->
|
||||
</div><!--//.mb-3 -->
|
||||
</div><!--//.col -->
|
||||
</div><!--//.mb-3 -->
|
||||
</div><!--//.col -->
|
||||
|
||||
<div class="col-md-12 col-lg-3 px-4">
|
||||
<div class="mb-3">
|
||||
<div class="form-check">
|
||||
<label for="retractilado5" class="form-check-label">
|
||||
<input type="checkbox" id="retractilado5" name="retractilado_5" value="1" class="form-check-input" >
|
||||
<?= lang('Presupuestos.retractilado5') ?>
|
||||
</label>
|
||||
</div><!--//.form-check -->
|
||||
</div><!--//.mb-3 -->
|
||||
</div><!--//.col -->
|
||||
<div class="col-md-12 col-lg-3 px-4">
|
||||
<div class="mb-3">
|
||||
<div class="form-check">
|
||||
<label for="retractilado5" class="form-check-label">
|
||||
<input type="checkbox" id="retractilado5" name="retractilado_5" value="1"
|
||||
class="form-check-input" service="acabado"
|
||||
service-id=<?= $serviciosAutomaticos['retractilado5'] ?>>
|
||||
<?= lang('Presupuestos.retractilado5') ?>
|
||||
</label>
|
||||
</div><!--//.form-check -->
|
||||
</div><!--//.mb-3 -->
|
||||
</div><!--//.col -->
|
||||
|
||||
<div class="col-md-12 col-lg-3 px-4">
|
||||
<div class="mb-3">
|
||||
<div class="form-check">
|
||||
<label for="prototipo" class="form-check-label">
|
||||
<input type="checkbox" id="prototipo" name="prototipo" value="1" class="form-check-input" >
|
||||
<?= lang('Presupuestos.prototipo') ?>
|
||||
</label>
|
||||
</div><!--//.form-check -->
|
||||
</div><!--//.mb-3 -->
|
||||
<div class="mb-3">
|
||||
<div class="col-md-12 col-lg-3 px-4">
|
||||
<div class="mb-3">
|
||||
<div class="form-check">
|
||||
<label for="prototipo" class="form-check-label">
|
||||
<input type="checkbox" id="prototipo" name="prototipo" value="1"
|
||||
class="form-check-input" service="extra"
|
||||
service-id=<?= $serviciosAutomaticos['prototipo'] ?>>
|
||||
<?= lang('Presupuestos.prototipo') ?>
|
||||
</label>
|
||||
</div><!--//.form-check -->
|
||||
</div><!--//.mb-3 -->
|
||||
<div class="mb-3">
|
||||
|
||||
</div><!--//.mb-3 -->
|
||||
</div><!--//.col -->
|
||||
</div><!--//.mb-3 -->
|
||||
</div><!--//.col -->
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="row">
|
||||
|
||||
<div class="col-md-12 col-lg-3 px-4">
|
||||
<div class="mb-3">
|
||||
<div class="form-check">
|
||||
<label for="ferro" class="form-check-label">
|
||||
<input type="checkbox" id="ferro" name="ferro" value="1" class="form-check-input" >
|
||||
<?= lang('Presupuestos.ferro') ?>
|
||||
</label>
|
||||
</div><!--//.form-check -->
|
||||
</div><!--//.mb-3 -->
|
||||
</div><!--//.col -->
|
||||
<div class="col-md-12 col-lg-3 px-4">
|
||||
<div class="mb-3">
|
||||
<div class="form-check">
|
||||
<label for="ferro" class="form-check-label">
|
||||
<input type="checkbox" id="ferro" name="ferro" value="1" class="form-check-input"
|
||||
service="extra" service-id=<?= $serviciosAutomaticos['ferro'] ?>>
|
||||
<?= lang('Presupuestos.ferro') ?>
|
||||
</label>
|
||||
</div><!--//.form-check -->
|
||||
</div><!--//.mb-3 -->
|
||||
</div><!--//.col -->
|
||||
|
||||
|
||||
<div class="col-md-12 col-lg-3 px-4">
|
||||
<div class="mb-3">
|
||||
<div class="form-check">
|
||||
<label for="ferroDigital" class="form-check-label">
|
||||
<input type="checkbox" id="ferroDigital" name="ferro_digital" value="1" class="form-check-input">
|
||||
<?= lang('Presupuestos.ferroDigital') ?>
|
||||
</label>
|
||||
</div><!--//.form-check -->
|
||||
</div><!--//.mb-3 -->
|
||||
</div><!--//.col -->
|
||||
<div class="col-md-12 col-lg-3 px-4">
|
||||
<div class="mb-3">
|
||||
<div class="form-check">
|
||||
<label for="ferroDigital" class="form-check-label">
|
||||
<input type="checkbox" id="ferroDigital" name="ferro_digital" value="1"
|
||||
class="form-check-input">
|
||||
<?= lang('Presupuestos.ferroDigital') ?>
|
||||
</label>
|
||||
</div><!--//.form-check -->
|
||||
</div><!--//.mb-3 -->
|
||||
</div><!--//.col -->
|
||||
|
||||
<div class="col-md-12 col-lg-3 px-4">
|
||||
<div class="mb-3">
|
||||
<div class="form-check">
|
||||
<label for="marcapaginas" class="form-check-label">
|
||||
<input type="checkbox" id="marcapaginas" name="marcapaginas" value="1" class="form-check-input" >
|
||||
<?= lang('Presupuestos.marcapaginas') ?>
|
||||
</label>
|
||||
</div><!--//.form-check -->
|
||||
</div><!--//.mb-3 -->
|
||||
</div><!--//.col -->
|
||||
<div class="col-md-12 col-lg-3 px-4">
|
||||
<div class="mb-3">
|
||||
<div class="form-check">
|
||||
<label for="marcapaginas" class="form-check-label">
|
||||
<input type="checkbox" id="marcapaginas" name="marcapaginas" value="1"
|
||||
class="form-check-input">
|
||||
<?= lang('Presupuestos.marcapaginas') ?>
|
||||
</label>
|
||||
</div><!--//.form-check -->
|
||||
</div><!--//.mb-3 -->
|
||||
</div><!--//.col -->
|
||||
|
||||
</div>
|
||||
<input type="checkbox" id="plegado_guardas" name="plegado_guardas" value="1"
|
||||
class="form-check-input d-none" service="manipulado"
|
||||
service-id=<?= $serviciosAutomaticos['plegado_guardas'] ?>>
|
||||
<input type="checkbox" id="solapas_grandes" name="solapas_grandes" value="1"
|
||||
class="form-check-input d-none" service="manipulado"
|
||||
service-id=<?= $serviciosAutomaticos['solapas_grandes'] ?>>
|
||||
|
||||
</div>
|
||||
|
||||
<?php endif; ?>
|
||||
|
||||
</div> <!-- //.accordion-body -->
|
||||
</div> <!-- //.accordion-collapse -->
|
||||
</div> <!-- //.accordion-item -->
|
||||
</div> <!-- //.accordion -->
|
||||
|
||||
|
||||
</div> <!-- //.accordion -->
|
||||
@ -182,63 +182,6 @@
|
||||
|
||||
|
||||
|
||||
<!------------------------------------------->
|
||||
<!-- Acciones antes de submit... -->
|
||||
<!------------------------------------------->
|
||||
<?php if (str_contains($formAction, 'edit')): ?>
|
||||
<?= $this->section("additionalInlineJs") ?>
|
||||
<?php /*
|
||||
|
||||
var submitButtonClicked; // Variable para almacenar el botón que fue clickeado
|
||||
|
||||
// funcion que genera un JSON con la tabla de tiradas alternativas
|
||||
function generate_json_tiradas() {
|
||||
const data = tableTiradas.rows().data().toArray();
|
||||
$('#tirada_alternativa_json_data').val(JSON.stringify(data));
|
||||
}
|
||||
|
||||
$('#saveForm').on("click", function(event) {
|
||||
|
||||
event.preventDefault();
|
||||
save_servicios();
|
||||
save_datos_envios();
|
||||
|
||||
var presupuesto_id = $('#presupuesto_id').val()
|
||||
|
||||
$.when(fill_bbdd_from_lp(presupuesto_id).then(function(data, textStatus, jqXHR) {
|
||||
generateCompJSON()
|
||||
generate_json_tiradas()
|
||||
form = $('#presupuestoForm').serialize()
|
||||
form += getValuesResumenForm()
|
||||
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "<?php echo $formAction; ?>",
|
||||
data: form,
|
||||
success: function (data) {
|
||||
yeniden(data.<?= csrf_token() ?>)
|
||||
if('errorMensaje' in data)
|
||||
popErrorAlert(data.errorMensaje)
|
||||
else{
|
||||
showBreadCrumbSaveButton(false)
|
||||
popSuccessAlert(data.mensaje)
|
||||
if($('#confirmar_presupuesto').prop('checked')) {
|
||||
$('#estado_id').val(2)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}).fail(function (jqXHR, textStatus, error) {
|
||||
// Handle error here
|
||||
console.log(jqXHR)
|
||||
});;
|
||||
}))
|
||||
|
||||
return false; //stop the actual form post !important!
|
||||
});
|
||||
*/ ?>
|
||||
<?= $this->endSection() ?>
|
||||
<?php endif; ?>
|
||||
|
||||
|
||||
<?php if (str_contains($formAction, 'edit')): ?>
|
||||
|
||||
@ -246,6 +246,9 @@ class PresupuestoAdminEdit {
|
||||
|
||||
datos = { ...datos, ...this.resumen.getData() };
|
||||
|
||||
this.comparador.generateCompJSON();
|
||||
datos.comparador_json_data = $('#comparador_json_data').val();
|
||||
|
||||
return datos;
|
||||
}
|
||||
|
||||
|
||||
@ -399,7 +399,7 @@ class Comparador {
|
||||
this.gramajeSobrecubierta.setOption(datos.json_data.sobrecubierta.gramaje, datos.json_data.sobrecubierta.gramaje);
|
||||
}
|
||||
if (datos.json_data.guardas) {
|
||||
this.carasGuardas.val(datos.json_data.guardas.paginas).trigger('change');
|
||||
this.carasGuardas.val(datos.json_data.guardas.paginas_impresion).trigger('change');
|
||||
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);
|
||||
}
|
||||
@ -970,7 +970,7 @@ class Comparador {
|
||||
|
||||
papel_generico = { id: this.papelGuardas.getVal(), nombre: this.papelGuardas.getText() };
|
||||
gramaje = this.gramajeGuardas.getVal();
|
||||
paginas = this.carasGuardas.val();
|
||||
paginas = 8;
|
||||
|
||||
}
|
||||
|
||||
@ -1019,6 +1019,7 @@ class Comparador {
|
||||
datos.datosPedido.isCosido = 1;
|
||||
datos.datosPedido.isHq = 1;
|
||||
datos.paginas_color = datos.datosPedido.paginas;
|
||||
datos.paginas_impresion = this.carasGuardas.val();
|
||||
}
|
||||
|
||||
|
||||
@ -1471,6 +1472,127 @@ class Comparador {
|
||||
'tarifa_impresion_id': linea.fields.tarifa_impresion_id,
|
||||
}
|
||||
}
|
||||
|
||||
generateCompJSON() {
|
||||
|
||||
let data = {}
|
||||
|
||||
if ($('#tipoImpresion').select2('data')[0].id == 'negro' || $('#tipoImpresion').select2('data')[0].id == 'color') {
|
||||
let bn_obj = {};
|
||||
try {
|
||||
bn_obj = {
|
||||
"bn": {
|
||||
'paginas': $('#compPaginasNegro').val(),
|
||||
'papel_id': $('#compPapelNegro').select2('data')[0].id,
|
||||
'gramaje': $('#compGramajeNegro').select2('data')[0].text.trim(),
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (e) {
|
||||
|
||||
}
|
||||
$.extend(data, bn_obj);
|
||||
}
|
||||
|
||||
if ($('#tipoImpresion').select2('data')[0].id == 'negrohq' || $('#tipoImpresion').select2('data')[0].id == 'colorhq') {
|
||||
let bnhq_obj = {};
|
||||
try {
|
||||
bnhq_obj = {
|
||||
"bnhq": {
|
||||
'paginas': $('#compPaginasNegrohq').val(),
|
||||
'papel_id': $('#compPapelNegrohq').select2('data')[0].id,
|
||||
'gramaje': $('#compGramajeNegrohq').select2('data')[0].text.trim(),
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (e) {
|
||||
}
|
||||
$.extend(data, bnhq_obj);
|
||||
}
|
||||
|
||||
if ($('#tipoImpresion').select2('data')[0].id == 'color') {
|
||||
let color_obj = {};
|
||||
try {
|
||||
color_obj = {
|
||||
"color": {
|
||||
'paginas': $('#compPaginasColor').val(),
|
||||
'papel_id': $('#compPapelColor').select2('data')[0].id,
|
||||
'gramaje': $('#compGramajeColor').select2('data')[0].text.trim(),
|
||||
},
|
||||
}
|
||||
}
|
||||
catch (e) {
|
||||
}
|
||||
$.extend(data, color_obj);
|
||||
|
||||
}
|
||||
|
||||
|
||||
if ($('#tipoImpresion').select2('data')[0].id == 'colorhq') {
|
||||
let colorhq_obj = {};
|
||||
try {
|
||||
colorhq_obj = {
|
||||
"colorhq": {
|
||||
'paginas': $('#compPaginasColorhq').val(),
|
||||
'papel_id': $('#compPapelColorhq').select2('data')[0].id,
|
||||
'gramaje': $('#compGramajeColorhq').select2('data')[0].text.trim(),
|
||||
},
|
||||
}
|
||||
}
|
||||
catch (e) {
|
||||
}
|
||||
$.extend(data, colorhq_obj);
|
||||
}
|
||||
|
||||
let cubierta_obj = {};
|
||||
try {
|
||||
cubierta_obj = {
|
||||
"cubierta": {
|
||||
'paginas': $('#compCarasCubierta option:selected').val(),
|
||||
'papel_id': $('#compPapelCubierta').select2('data')[0].id,
|
||||
'gramaje': $('#compGramajeCubierta').select2('data')[0].text.trim(),
|
||||
},
|
||||
}
|
||||
}
|
||||
catch (e) {
|
||||
}
|
||||
$.extend(data, cubierta_obj);
|
||||
|
||||
let sobrecubierta_obj = {};
|
||||
try {
|
||||
sobrecubierta_obj = {
|
||||
"sobrecubierta": {
|
||||
'imprimir': $('#compSobrecubierta option:selected').val(),
|
||||
'papel_id': $('#compPapelSobrecubierta').select2('data')[0].id,
|
||||
'gramaje': $('#compGramajeSobrecubierta').select2('data')[0].text.trim(),
|
||||
},
|
||||
}
|
||||
}
|
||||
catch (e) {
|
||||
}
|
||||
$.extend(data, sobrecubierta_obj);
|
||||
|
||||
if ($('#compCarasGuardas').length > 0) {
|
||||
let guardas_obj = {};
|
||||
try {
|
||||
guardas_obj = {
|
||||
"guardas": {
|
||||
'paginas_impresion': $('#compCarasGuardas option:selected').val(),
|
||||
'papel_id': $('#compPapelGuardas').select2('data')[0].id,
|
||||
'gramaje': $('#compGramajeGuardas').select2('data')[0].text.trim(),
|
||||
},
|
||||
}
|
||||
}
|
||||
catch (e) {
|
||||
}
|
||||
$.extend(data, guardas_obj);
|
||||
|
||||
}
|
||||
|
||||
const data_str = JSON.stringify(data)
|
||||
$('#comparador_json_data').val(data_str)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -117,9 +117,7 @@ class DatosLibro {
|
||||
changePrototipo() {
|
||||
|
||||
if (this.prototipo.prop('checked')) {
|
||||
|
||||
$(document).trigger('add-servicio-lineas', 'prototipo');
|
||||
this.ferro.prop('checked', true).trigger('change');
|
||||
}
|
||||
else {
|
||||
$(document).trigger('remove-servicio-lineas', 'prototipo');
|
||||
@ -127,18 +125,18 @@ class DatosLibro {
|
||||
}
|
||||
|
||||
|
||||
checkRetractilado(element) {
|
||||
checkRetractilado(event) {
|
||||
|
||||
switch (element.id) {
|
||||
switch (event.currentTarget.id) {
|
||||
case 'retractilado':
|
||||
if ($('#' + element.id).prop('checked')) {
|
||||
if ($('#' + event.currentTarget.id).prop('checked')) {
|
||||
$('#retractilado5').prop('checked', false);
|
||||
$(document).trigger('remove-servicio-lineas', 'retractilado5');
|
||||
$(document).trigger('add-servicio-lineas', 'retractilado');
|
||||
}
|
||||
break;
|
||||
case 'retractilado5':
|
||||
if ($('#' + element.id).prop('checked')) {
|
||||
if ($('#' + event.currentTarget.id).prop('checked')) {
|
||||
$('#retractilado').prop('checked', false);
|
||||
$(document).trigger('remove-servicio-lineas', 'retractilado');
|
||||
$(document).trigger('add-servicio-lineas', 'retractilado5');
|
||||
|
||||
@ -31,6 +31,9 @@ class LineasPresupuesto {
|
||||
|
||||
const row = $(this).closest('tr');
|
||||
const data = self.table.row(row).data()
|
||||
if(data.row_id == 'lp_guardas'){
|
||||
$(document).trigger('remove-servicio-lineas', 'plegado_guardas');
|
||||
}
|
||||
self.table.row(row)
|
||||
.remove()
|
||||
.draw();
|
||||
@ -1386,6 +1389,8 @@ class LineasPresupuesto {
|
||||
const self = this;
|
||||
const dimension = this.getDimensionLibro();
|
||||
|
||||
const dataFromComparador = fromComparador;
|
||||
|
||||
if (Object.keys(input_data).length == 0) {
|
||||
|
||||
input_data = {
|
||||
@ -1406,7 +1411,7 @@ class LineasPresupuesto {
|
||||
}
|
||||
else if (linea == 'lp_guardas') {
|
||||
input_data.paginas = (parseInt($('#tipo_impresion_id').val()) == 1 || parseInt($('#tipo_impresion_id').val()) == 3) ? 8 : 4;
|
||||
input_data.paginas_impresion = parseInt($('#lp_guardas_paginas option:selected').val());
|
||||
input_data.paginas_impresion = parseInt($('#compCarasGuardas').select2('data')[0].id);
|
||||
}
|
||||
else {
|
||||
input_data.paginas = parseInt($('#' + linea + '_paginas').val());
|
||||
@ -1521,7 +1526,7 @@ class LineasPresupuesto {
|
||||
|
||||
let borrar_linea = true;
|
||||
// Si viene del comparador
|
||||
if (Object.keys(input_data).length == 0) {
|
||||
if (dataFromComparador) {
|
||||
borrar_linea = false;
|
||||
}
|
||||
|
||||
@ -1546,7 +1551,7 @@ class LineasPresupuesto {
|
||||
}
|
||||
self.rellenarDatosLinea(linea, response.lineas[$i].fields);
|
||||
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
if (borrar_linea) {
|
||||
@ -1569,16 +1574,18 @@ class LineasPresupuesto {
|
||||
|
||||
rellenarDatosLinea(linea, row, fromComparator = false) {
|
||||
|
||||
|
||||
if (fromComparator) {
|
||||
|
||||
var input_data = {
|
||||
let input_data = {
|
||||
paginas: row.paginas,
|
||||
papel_generico_id: row.papelGenericoId,
|
||||
gramaje: row.gramaje,
|
||||
papel_impresion_id: row.papelImpresionId,
|
||||
maquina_id: row.maquinaId,
|
||||
}
|
||||
if(linea.includes('guardas')) {
|
||||
input_data.paginas_impresion = parseInt($('#compCarasGuardas').select2('data')[0].id);
|
||||
}
|
||||
this.obtenerLinea(linea, fromComparator, false, input_data)
|
||||
}
|
||||
else {
|
||||
@ -1876,7 +1883,7 @@ class LineasPresupuesto {
|
||||
}
|
||||
}
|
||||
|
||||
if (e.target.id.includes("Cubierta")) {
|
||||
else if (e.target.id.includes("Cubierta")) {
|
||||
|
||||
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
|
||||
@ -1905,23 +1912,23 @@ class LineasPresupuesto {
|
||||
}
|
||||
}
|
||||
|
||||
if (e.target.id.includes("Guardas")) {
|
||||
else if (e.target.id.includes("Guardas")) {
|
||||
|
||||
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
|
||||
|
||||
self.table.rows().data().toArray().forEach((row, index) => {
|
||||
const rowIdx = self.table.row(index).index(); // Obtener el índice actual de la fila
|
||||
if (row.row_id.includes('lp_guardas')) {
|
||||
self.table.row(rowIdx).remove(); // Eliminar fila por índice
|
||||
self.table.row(i).remove(); // Eliminar fila
|
||||
}
|
||||
});
|
||||
}
|
||||
self.table.draw();
|
||||
|
||||
|
||||
var rows = $("#tableCompGuardas").DataTable().rows('.selected').data().toArray();
|
||||
for (const row of rows) {
|
||||
this.rellenarDatosLinea('lp_guardas', row, true);
|
||||
}
|
||||
/* TO-DO
|
||||
servicioGuardas(true)
|
||||
*/
|
||||
|
||||
$(document).trigger('add-servicio-lineas', 'plegado_guardas');
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -113,14 +113,83 @@ class Servicios {
|
||||
else if (servicio == 'solapas') {
|
||||
this.ServiciosManipulado.addSolapas();
|
||||
}
|
||||
|
||||
|
||||
else if (servicio == 'ferro'){
|
||||
const id = $('#ferro').attr('service-id');
|
||||
this.serviciosExtra.getPresupuestoExtra(id);
|
||||
}
|
||||
else if (servicio == 'prototipo'){
|
||||
const id = $('#prototipo').attr('service-id');
|
||||
this.serviciosExtra.getPresupuestoExtra(id);
|
||||
}
|
||||
else if (servicio == 'retractilado'){
|
||||
const id = $('#retractilado').attr('service-id');
|
||||
this.serviciosAcabado.getPresupuestoAcabado(id);
|
||||
}
|
||||
else if (servicio == 'retractilado5'){
|
||||
const id = $('#retractilado5').attr('service-id');
|
||||
this.serviciosAcabado.getPresupuestoAcabado(id);
|
||||
}
|
||||
else if(servicio == 'plegado_guardas'){
|
||||
const id = $('#plegado_guardas').attr('service-id');
|
||||
for(let i = 0; i < this.ServiciosManipulado.table.rows().count(); i++){
|
||||
var data = this.ServiciosManipulado.table.row(i).data();
|
||||
if (data.tarifa_id == id) {
|
||||
return;
|
||||
}
|
||||
};
|
||||
this.ServiciosManipulado.getPresupuestoManipulado(id);
|
||||
}
|
||||
}
|
||||
|
||||
removeServicio(event, servicio) {
|
||||
if (servicio == 'solapas') {
|
||||
this.ServiciosManipulado.removeSolapas();
|
||||
}
|
||||
else if (servicio == 'ferro'){
|
||||
const id = $('#ferro').attr('service-id');
|
||||
this.serviciosExtra.table.rows().every(function () {
|
||||
var data = this.data();
|
||||
if (data.tarifa_id == id) {
|
||||
this.remove().draw();
|
||||
}
|
||||
});
|
||||
}
|
||||
else if (servicio == 'prototipo'){
|
||||
const id = $('#prototipo').attr('service-id');
|
||||
this.serviciosExtra.table.rows().every(function () {
|
||||
var data = this.data();
|
||||
if (data.tarifa_id == id) {
|
||||
this.remove().draw();
|
||||
}
|
||||
});
|
||||
}
|
||||
else if (servicio == 'retractilado'){
|
||||
const id = $('#retractilado').attr('service-id');
|
||||
this.serviciosAcabado.table.rows().every(function () {
|
||||
var data = this.data();
|
||||
if (data.tarifa_id == id) {
|
||||
this.remove().draw();
|
||||
}
|
||||
});
|
||||
}
|
||||
else if (servicio == 'retractilado5'){
|
||||
const id = $('#retractilado5').attr('service-id');
|
||||
this.serviciosAcabado.table.rows().every(function () {
|
||||
var data = this.data();
|
||||
if (data.tarifa_id == id) {
|
||||
this.remove().draw();
|
||||
}
|
||||
});
|
||||
}
|
||||
else if(servicio == 'plegado_guardas'){
|
||||
const id = $('#plegado_guardas').attr('service-id');
|
||||
this.ServiciosManipulado.table.rows().every(function () {
|
||||
var data = this.data();
|
||||
if (data.tarifa_id == id) {
|
||||
this.remove().draw();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
async updateServicios() {
|
||||
|
||||
Reference in New Issue
Block a user