mirror of
https://git.imnavajas.es/jjimenez/safekat.git
synced 2025-07-25 22:52:08 +00:00
Merge branch 'mod/acabados_cubierta_sobre_presucliente' into 'main'
Mod/acabados cubierta sobre presucliente See merge request jjimenez/safekat!434
This commit is contained in:
@ -599,6 +599,7 @@ $routes->group('serviciosacabados', ['namespace' => 'App\Controllers\Presupuesto
|
||||
$routes->post('datatable', 'Presupuestoacabados::datatable', ['as' => 'dataTableOfPresupuestoAcabados']);
|
||||
$routes->post('menuitems', 'Presupuestoacabados::menuItems', ['as' => 'menuItemsOfPresupuestoAcabados']);
|
||||
$routes->post('edit/(:num)', 'Presupuestoacabados::edit/$1', ['as' => 'updatePresupuestoacabados']);
|
||||
$routes->get('getacabados', 'Presupuestoacabados::getAcabados');
|
||||
});
|
||||
|
||||
$routes->group('serviciosencuadernaciones', ['namespace' => 'App\Controllers\Presupuestos'], function ($routes) {
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
<?php namespace App\Controllers\Presupuestos;
|
||||
<?php
|
||||
namespace App\Controllers\Presupuestos;
|
||||
|
||||
|
||||
use App\Controllers\BaseResourceController;
|
||||
@ -9,7 +10,7 @@ use App\Models\Collection;
|
||||
use App\Models\Presupuestos\PresupuestoAcabadosModel;
|
||||
|
||||
|
||||
|
||||
|
||||
class Presupuestoacabados extends \App\Controllers\BaseResourceController
|
||||
{
|
||||
|
||||
@ -37,19 +38,18 @@ class Presupuestoacabados extends \App\Controllers\BaseResourceController
|
||||
public function edit($requestedId = null)
|
||||
{
|
||||
|
||||
if ($requestedId == null) :
|
||||
if ($requestedId == null):
|
||||
return;
|
||||
endif;
|
||||
|
||||
$postData = $this->request->getJSON();
|
||||
if(count($postData->datos)>0){
|
||||
if (count($postData->datos) > 0) {
|
||||
$this->model->deleteServiciosNotInArray($requestedId, $postData->datos);
|
||||
}
|
||||
else{
|
||||
} else {
|
||||
$this->model->deleteAllServicios($requestedId);
|
||||
}
|
||||
|
||||
if(count($postData->datos)>0){
|
||||
if (count($postData->datos) > 0) {
|
||||
$this->model->updateTarifas($requestedId, $postData->datos);
|
||||
}
|
||||
|
||||
@ -58,14 +58,14 @@ class Presupuestoacabados extends \App\Controllers\BaseResourceController
|
||||
$data = [
|
||||
$csrfTokenName => $newTokenHash
|
||||
];
|
||||
|
||||
|
||||
return $this->respond($data);
|
||||
}
|
||||
|
||||
public function update($requestedId = null)
|
||||
{
|
||||
|
||||
if ($requestedId == null) :
|
||||
if ($requestedId == null):
|
||||
return;
|
||||
endif;
|
||||
|
||||
@ -75,20 +75,20 @@ class Presupuestoacabados extends \App\Controllers\BaseResourceController
|
||||
$POD = $postData->POD ?? 0;
|
||||
$result = [];
|
||||
|
||||
if(count($tarifas)>0){
|
||||
foreach ($tarifas as $tarifa){
|
||||
if (count($tarifas) > 0) {
|
||||
foreach ($tarifas as $tarifa) {
|
||||
$values = $this->model->getPrecioTarifa($tarifa, $tirada, $POD);
|
||||
array_push($result, $values);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$newTokenHash = csrf_hash();
|
||||
$csrfTokenName = csrf_token();
|
||||
$data = [
|
||||
'lines' => $result,
|
||||
$csrfTokenName => $newTokenHash
|
||||
];
|
||||
|
||||
|
||||
return $this->respond($data);
|
||||
}
|
||||
|
||||
@ -101,7 +101,7 @@ class Presupuestoacabados extends \App\Controllers\BaseResourceController
|
||||
$tirada = $reqData['tirada'] ?? 0;
|
||||
$proveedor_id = $reqData['proveedor_id'] ?? -1;
|
||||
$POD = $reqData['POD'] ?? 0;
|
||||
|
||||
|
||||
$newTokenHash = csrf_hash();
|
||||
$csrfTokenName = csrf_token();
|
||||
|
||||
@ -119,17 +119,59 @@ class Presupuestoacabados extends \App\Controllers\BaseResourceController
|
||||
}
|
||||
}
|
||||
|
||||
public function getAcabados()
|
||||
{
|
||||
if ($this->request->isAJAX()) {
|
||||
|
||||
$cubierta = $this->request->getGet("cubierta") ?? 0;
|
||||
$sobrecubierta = $this->request->getGet("sobrecubierta") ?? 0;
|
||||
|
||||
$model = model('App\Models\Tarifas\Acabados\TarifaAcabadoModel');
|
||||
$query = $model->builder()->select(
|
||||
[
|
||||
"id",
|
||||
"nombre as name"
|
||||
]
|
||||
)
|
||||
->where("lg_tarifa_acabado.is_deleted", 0)
|
||||
->where("lg_tarifa_acabado.mostrar_en_presupuesto", 1);
|
||||
|
||||
if($cubierta == 1){
|
||||
$query->where("lg_tarifa_acabado.acabado_cubierta", 1);
|
||||
}
|
||||
else if ($sobrecubierta == 1){
|
||||
$query->where("lg_tarifa_acabado.acabado_sobrecubierta", 1);
|
||||
}
|
||||
if ($this->request->getGet("q")) {
|
||||
$query->groupStart()
|
||||
->orLike("lg_tarifa_acabado.nombre", $this->request->getGet("q"))
|
||||
->groupEnd();
|
||||
}
|
||||
|
||||
$items = $query->get()->getResultObject();
|
||||
// add a custom item at the beginning
|
||||
$customItem = new \stdClass;
|
||||
$customItem->id = 0;
|
||||
$customItem->name = "Ninguno";
|
||||
array_unshift($items, $customItem);
|
||||
|
||||
return $this->response->setJSON($items);
|
||||
|
||||
} else {
|
||||
return $this->failUnauthorized('Invalid request', 403);
|
||||
}
|
||||
}
|
||||
|
||||
public function menuItems()
|
||||
{
|
||||
if ($this->request->isAJAX()) {
|
||||
|
||||
$reqData = $this->request->getPost();
|
||||
try{
|
||||
try {
|
||||
|
||||
$tarifa_id = $reqData['tarifa_id'] ?? -1;
|
||||
$tirada = $reqData['tirada'] ?? 0;
|
||||
|
||||
|
||||
$newTokenHash = csrf_hash();
|
||||
$csrfTokenName = csrf_token();
|
||||
|
||||
@ -140,17 +182,15 @@ class Presupuestoacabados extends \App\Controllers\BaseResourceController
|
||||
$csrfTokenName => $newTokenHash
|
||||
];
|
||||
|
||||
}
|
||||
catch(Exception $e){
|
||||
} catch (Exception $e) {
|
||||
$data = [
|
||||
'error' => $e,
|
||||
$csrfTokenName => $newTokenHash
|
||||
];
|
||||
}
|
||||
finally{
|
||||
} finally {
|
||||
return $this->respond($data);
|
||||
}
|
||||
|
||||
|
||||
} else {
|
||||
return $this->failUnauthorized('Invalid request', 403);
|
||||
}
|
||||
|
||||
@ -329,7 +329,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
'gramajeCubierta' => intval($cubierta['gramajeCubierta']),
|
||||
'carasCubierta' => intval($cubierta['carasImpresion'] ?? 0),
|
||||
'solapasCubierta' => intval($cubierta['solapas'] ?? 0) == 1 ? intval($cubierta['tamanioSolapas']) : 0,
|
||||
'acabadosCubierta' => $cubierta['acabados'] ?? 0,
|
||||
'acabado' => $cubierta['acabado'] ?? 0,
|
||||
'lomoRedondo' => $lomoRedondo,
|
||||
];
|
||||
|
||||
@ -339,7 +339,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
'papel' => $modelPapelGenerico->getIdFromCode($sobrecubierta['papel']),
|
||||
'gramaje' => intval($sobrecubierta['gramaje']),
|
||||
'solapas' => intval($sobrecubierta['solapas'] ?? 0),
|
||||
'acabados' => $sobrecubierta['plastificado'] ?? 0,
|
||||
'acabado' => $sobrecubierta['acabado'] ?? 0,
|
||||
];
|
||||
} else
|
||||
$sobrecubierta = false;
|
||||
@ -797,7 +797,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
'gramajeCubierta' => intval($cubierta['gramajeCubierta']),
|
||||
'carasCubierta' => intval($cubierta['carasImpresion'] ?? 0),
|
||||
'solapasCubierta' => intval($cubierta['solapas'] ?? 0) == 1 ? intval($cubierta['tamanioSolapas']) : 0,
|
||||
'acabadosCubierta' => $cubierta['acabados'] ?? 0,
|
||||
'acabado' => $cubierta['acabado'] ?? 0,
|
||||
'lomoRedondo' => $cubierta['lomoRedondo'] ?? 0,
|
||||
'cabezada' => $cubierta['cabezada'] ?? 'WHI',
|
||||
];
|
||||
@ -808,7 +808,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
'papel' => $modelPapelGenerico->getIdFromCode($sobrecubierta['papel']),
|
||||
'gramaje' => intval($sobrecubierta['gramaje']),
|
||||
'solapas' => intval($sobrecubierta['solapas'] ?? 0),
|
||||
'acabados' => $sobrecubierta['plastificado'] ?? 0,
|
||||
'acabado' => $sobrecubierta['acabado'] ?? 0,
|
||||
];
|
||||
} else
|
||||
$sobrecubierta = false;
|
||||
@ -935,29 +935,7 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
if ($id != 0) {
|
||||
$borrar_antes = true;
|
||||
}
|
||||
$sobrecubierta_acabado_id = [];
|
||||
if ($datos_presupuesto['sobrecubierta']) {
|
||||
$sobrecubierta_acabado_id = $this->obtenerTarifasAcabado(['plastificado' => $datos_presupuesto['sobrecubierta']['acabados']]);
|
||||
if (count($sobrecubierta_acabado_id) > 0) {
|
||||
// la sobrecubierta sólo tiene plastificado
|
||||
$datos_presupuesto['sobrecubierta']['acabados'] = $sobrecubierta_acabado_id['plastificado'];
|
||||
}
|
||||
}
|
||||
$cubierta_acabado_id = $this->obtenerTarifasAcabado($datos_presupuesto['cubierta']['acabadosCubierta']);
|
||||
if (count($cubierta_acabado_id) > 0) {
|
||||
if (array_key_exists('plastificado', $cubierta_acabado_id)) {
|
||||
$datos_presupuesto['cubierta']['acabadosCubierta']['plastificado'] = $cubierta_acabado_id['plastificado'];
|
||||
}
|
||||
if (array_key_exists('barniz', $cubierta_acabado_id)) {
|
||||
$datos_presupuesto['cubierta']['acabadosCubierta']['barniz'] = $cubierta_acabado_id['barniz'];
|
||||
}
|
||||
if (array_key_exists('estampado', $cubierta_acabado_id)) {
|
||||
$datos_presupuesto['cubierta']['acabadosCubierta']['estampado'] = $cubierta_acabado_id['estampado'];
|
||||
}
|
||||
} else {
|
||||
$datos_presupuesto['cubierta']['acabadosCubierta']['id'] = 0;
|
||||
}
|
||||
|
||||
|
||||
$datos_presupuesto['prototipo'] = $prototipo;
|
||||
$datos_presupuesto['ferro'] = $ferro;
|
||||
$datos_presupuesto['ferro_digital'] = $ferroDigital;
|
||||
@ -995,9 +973,9 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
$this->guardarLineaPresupuesto($id, $resultado_presupuesto['info']['guardas']);
|
||||
|
||||
// Servicios
|
||||
foreach ($sobrecubierta_acabado_id as $acabado) {
|
||||
if(intval($sobrecubierta['acabado']) > 0) {
|
||||
$model = model('App\Models\Presupuestos\PresupuestoAcabadosModel');
|
||||
$servicio = $model->getPrecioTarifa($acabado, intval($selected_tirada), -1, $POD);
|
||||
$servicio = $model->getPrecioTarifa(intval($sobrecubierta['acabado']), intval($selected_tirada), -1, $POD);
|
||||
|
||||
if (count($servicio) > 0) {
|
||||
if ($servicio[0]->total > 0) {
|
||||
@ -1005,16 +983,16 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
}
|
||||
}
|
||||
}
|
||||
foreach ($cubierta_acabado_id as $acabado) {
|
||||
if (intval($cubierta['acabado'])>0) {
|
||||
$model = model('App\Models\Presupuestos\PresupuestoAcabadosModel');
|
||||
$servicio = $model->getPrecioTarifa($acabado, intval($selected_tirada), -1, $POD);
|
||||
$servicio = $model->getPrecioTarifa(intval($cubierta['acabado']), intval($selected_tirada), -1, $POD);
|
||||
|
||||
if (count($servicio) > 0) {
|
||||
if ($servicio[0]->total > 0) {
|
||||
$this->guardarServicio($id, $servicio[0], 'acabado', true, false);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
foreach ($resultado_presupuesto['info']['serviciosDefecto'] as $servicio) {
|
||||
$this->guardarServicio($id, $servicio, 'encuadernacion');
|
||||
@ -1117,26 +1095,22 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
$data['cubierta']['solapas_ancho'] = $presupuesto->solapas_ancho;
|
||||
$data['cubierta']['cabezada'] = $presupuesto->cabezada;
|
||||
$modelAcabado = model("App\Models\Tarifas\Acabados\TarifaAcabadoModel");
|
||||
$data['cubierta']['plastificado'] = $modelAcabado->getCodeFromId($presupuesto->acabado_cubierta_id);
|
||||
if ($data['cubierta']['plastificado'] == '') {
|
||||
$data['cubierta']['plastificado'] = 'NONE';
|
||||
}
|
||||
$data['cubierta']['barniz'] = $modelAcabado->getCodeFromId($presupuesto->barniz_cubierta_id);
|
||||
if ($data['cubierta']['barniz'] == '') {
|
||||
$data['cubierta']['barniz'] = 'NONE';
|
||||
}
|
||||
$data['cubierta']['estampado'] = $modelAcabado->getCodeFromId($presupuesto->estampado_cubierta_id);
|
||||
if ($data['cubierta']['estampado'] == '') {
|
||||
$data['cubierta']['estampado'] = 'NONE';
|
||||
$data['cubierta']['acabado']['id'] = $presupuesto->acabado_cubierta_id;
|
||||
if ($presupuesto->acabado_cubierta_id == 0) {
|
||||
$data['cubierta']['acabado']['text'] = "Ninguno";
|
||||
} else {
|
||||
$data['cubierta']['acabado']['text'] = $modelAcabado->find($presupuesto->acabado_cubierta_id)->nombre;
|
||||
}
|
||||
$data['cubierta']['retractilado'] = $presupuesto->retractilado ? 1 : 0;
|
||||
|
||||
$data['sobrecubierta'] = array_key_exists('sobrecubierta', $datos_papel) ? $datos_papel['sobrecubierta'] : [];
|
||||
$data['sobrecubierta']['solapas'] = $presupuesto->solapas_sobrecubierta ? 1 : 0;
|
||||
$data['sobrecubierta']['solapas_ancho'] = $presupuesto->solapas_ancho_sobrecubierta;
|
||||
$data['sobrecubierta']['plastificado'] = $modelAcabado->getCodeFromId($presupuesto->acabado_sobrecubierta_id);
|
||||
if ($data['sobrecubierta']['plastificado'] == '') {
|
||||
$data['sobrecubierta']['plastificado'] = 'NONE';
|
||||
$data['sobrecubierta']['acabado']['id'] = $presupuesto->acabado_sobrecubierta_id;
|
||||
if ($presupuesto->acabado_sobrecubierta_id == 0) {
|
||||
$data['sobrecubierta']['acabado']['text'] = "Ninguno";
|
||||
} else {
|
||||
$data['sobrecubierta']['acabado']['text'] = $modelAcabado->find($presupuesto->acabado_sobrecubierta_id)->nombre;
|
||||
}
|
||||
|
||||
$data['guardas'] = array_key_exists('guardas', $datos_papel) ? $datos_papel['guardas'] : [];
|
||||
@ -1488,7 +1462,6 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
$gramajeCubierta = $datos_entrada['cubierta']['gramajeCubierta'];
|
||||
$carasCubierta = $datos_entrada['cubierta']['carasCubierta'];
|
||||
$solapasCubierta = $datos_entrada['cubierta']['solapasCubierta'];
|
||||
$acabadosCubierta = $datos_entrada['cubierta']['acabadosCubierta'] ?? [];
|
||||
$lomoRedondo = $datos_entrada['cubierta']['lomoRedondo'];
|
||||
|
||||
// Sobrecubierta
|
||||
@ -1726,20 +1699,18 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
];
|
||||
return $return_data;
|
||||
}
|
||||
// Acabados Cubierta
|
||||
$tarifaAcabadoCubierta = $this->obtenerTarifasAcabado($acabadosCubierta);
|
||||
$acabadoCubierta = [];
|
||||
foreach ($tarifaAcabadoCubierta as $tarifa) {
|
||||
|
||||
if ($tarifa == 0)
|
||||
continue;
|
||||
// Acabado Cubierta
|
||||
if (intval($datos_entrada['cubierta']['acabado']) != 0) {
|
||||
|
||||
|
||||
$model = model('App\Models\Presupuestos\PresupuestoAcabadosModel');
|
||||
$acabadoCubierta = $model->getPrecioTarifa($tarifa, $datosPedido->tirada, -1, $POD);
|
||||
$acabadoCubierta = $model->getPrecioTarifa(intval($datos_entrada['cubierta']['acabado']), $datosPedido->tirada, -1, $POD);
|
||||
|
||||
if (count($acabadoCubierta) > 0) {
|
||||
if ($acabadoCubierta[0]->total <= 0) {
|
||||
|
||||
$input_data['tarifas_acabado_cubierta'] = $tarifaAcabadoCubierta;
|
||||
$input_data['tarifas_acabado_cubierta'] = intval($datos_entrada['cubierta']['acabado']);
|
||||
$errorModel = new ErrorPresupuesto();
|
||||
$errorModel->insertError(
|
||||
$datos_entrada['id'],
|
||||
@ -1813,21 +1784,17 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
}
|
||||
$lomo_sobrecubierta = $lomo + floatval($linea_sobrecubierta['mano']);
|
||||
|
||||
$tarifaAcabadoSobrecubierta = $this->obtenerTarifasAcabado(['plastificado' => $sobreCubierta['acabados']]);
|
||||
$acabadoSobrecubierta = [];
|
||||
foreach ($tarifaAcabadoSobrecubierta as $tarifa) {
|
||||
// Acabado sobrecubierta
|
||||
if (intval($datos_entrada['sobrecubierta']['acabado']) != 0) {
|
||||
|
||||
// NONE
|
||||
if ($tarifa == 0)
|
||||
continue;
|
||||
$model = model('App\Models\Presupuestos\PresupuestoAcabadosModel');
|
||||
$acabadoSobrecubierta = $model->getPrecioTarifa($tarifa, $datosPedido->tirada, -1, $POD);
|
||||
$acabadoSobrecubierta = $model->getPrecioTarifa(intval($datos_entrada['sobrecubierta']['acabado']), $datosPedido->tirada, -1, $POD);
|
||||
|
||||
if (count($acabadoSobrecubierta) > 0) {
|
||||
|
||||
if ($acabadoSobrecubierta[0]->total <= 0) {
|
||||
|
||||
$input_data['tarifas_acabado_sobrecubierta'] = $tarifaAcabadoSobrecubierta;
|
||||
$input_data['tarifas_acabado_sobrecubierta'] = intval($datos_entrada['sobrecubierta']['acabado']);
|
||||
$errorModel = new ErrorPresupuesto();
|
||||
$errorModel->insertError(
|
||||
$datos_entrada['id'],
|
||||
@ -2278,22 +2245,6 @@ class Presupuestocliente extends \App\Controllers\BaseResourceController
|
||||
return $data;
|
||||
}
|
||||
|
||||
protected function getAcabadosCubierta()
|
||||
{
|
||||
$model = model('App\Models\Tarifas\Acabados\TarifaAcabadoModel');
|
||||
$data = $model->getServiciosAcabadoCubierta();
|
||||
array_unshift($data, (object) ['id' => '', 'label' => lang('Basic.global.None')]);
|
||||
return $data;
|
||||
}
|
||||
|
||||
protected function getAcabadosSobrecubierta()
|
||||
{
|
||||
$model = model('App\Models\Tarifas\Acabados\TarifaAcabadoModel');
|
||||
$data = $model->getServiciosAcabadoSobrecubierta();
|
||||
array_unshift($data, (object) ['id' => '', 'label' => lang('Basic.global.None')]);
|
||||
return $data;
|
||||
}
|
||||
|
||||
protected function getClienteListItems($selId = null)
|
||||
{
|
||||
$data = ['' => lang('Basic.global.pleaseSelectA', [mb_strtolower(lang('Clientes.cliente'))])];
|
||||
|
||||
@ -0,0 +1,36 @@
|
||||
<?php
|
||||
|
||||
namespace App\Database\Migrations;
|
||||
|
||||
use CodeIgniter\Database\Migration;
|
||||
|
||||
class RemoveEstampadoBarnizado extends Migration
|
||||
{
|
||||
public function up()
|
||||
{
|
||||
$this->forge->dropColumn('presupuestos', 'barniz_cubierta_id');
|
||||
$this->forge->dropColumn('presupuestos', 'estampado_cubierta_id');
|
||||
}
|
||||
|
||||
public function down()
|
||||
{
|
||||
$fields = [
|
||||
'barniz_cubierta_id' => [
|
||||
'type' => 'INT',
|
||||
'constraint' => 10,
|
||||
'unsigned' => true,
|
||||
'null' => false,
|
||||
'default' => 0,
|
||||
],
|
||||
'estampado_cubierta_id' => [
|
||||
'type' => 'INT',
|
||||
'constraint' => 10,
|
||||
'unsigned' => true,
|
||||
'null' => false,
|
||||
'default' => 0,
|
||||
],
|
||||
];
|
||||
|
||||
$this->forge->addColumn('presupuestos', $fields);
|
||||
}
|
||||
}
|
||||
@ -67,6 +67,7 @@ return [
|
||||
'papelFormatoPersonalizado' => 'Tamaño personalizado',
|
||||
'papelFormatoAncho' => 'Ancho',
|
||||
'papelFormatoAlto' => 'Alto',
|
||||
'acabado' => 'Acabado',
|
||||
'acabadosExteriores' => 'Acabados exteriores',
|
||||
'acabadoCubierta' => 'Acabado Cubierta',
|
||||
'acabadoSobrecubierta' => 'Acabado Sobrecubierta',
|
||||
|
||||
@ -443,10 +443,8 @@ class PresupuestoModel extends \App\Models\BaseModel
|
||||
|
||||
'comparador_json_data' => $this->generateJson($data),
|
||||
|
||||
'acabado_cubierta_id' => $data['cubierta']['acabadosCubierta']['plastificado'],
|
||||
'barniz_cubierta_id' => $data['cubierta']['acabadosCubierta']['barniz'],
|
||||
'estampado_cubierta_id' => $data['cubierta']['acabadosCubierta']['estampado'],
|
||||
'acabado_sobrecubierta_id' => !$data['sobrecubierta'] ? 0 : $data['sobrecubierta']['acabados'],
|
||||
'acabado_cubierta_id' => $data['cubierta']['acabado'],
|
||||
'acabado_sobrecubierta_id' => !$data['sobrecubierta'] ? 0 : $data['sobrecubierta']['acabado'],
|
||||
|
||||
'comp_tipo_impresion' => $data['isHq'] ? ($data['isColor'] ? 'colorhq' : 'negrohq') : ($data['isColor'] ? 'color' : 'negro'),
|
||||
|
||||
|
||||
@ -171,46 +171,12 @@
|
||||
|
||||
<div class="row justify-content-center">
|
||||
|
||||
<div class="col-sm-3">
|
||||
<label for="plastificado" class="form-label">
|
||||
<?= lang('Presupuestos.plastificado') ?>
|
||||
</label>
|
||||
<select class="form-select select2bs2 calcular-presupuesto" id="plastificado" name="plastificado">
|
||||
<option value="NONE"><?= lang('Presupuestos.sinPlastificar') ?></option>
|
||||
<option value="BRIL"><?= lang('Presupuestos.brillo') ?></option>
|
||||
<option value="MATE"><?= lang('Presupuestos.mate') ?></option>
|
||||
<option value="ANTI"><?= lang('Presupuestos.antirrayado') ?></option>
|
||||
<option value="SAND"><?= lang('Presupuestos.rugoso') ?></option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-3">
|
||||
<label for="barniz" class="form-label">
|
||||
<?= lang('Presupuestos.barniz') ?>
|
||||
</label>
|
||||
<select class="form-select select2bs2 calcular-presupuesto" id="barniz" name="barniz">
|
||||
<option value="NONE"> - </option>
|
||||
<option value="R2D"><?= lang('Presupuestos.relieve2D') ?></option>
|
||||
<option value="R3D"><?= lang('Presupuestos.relieve3D') ?></option>
|
||||
</select>
|
||||
<div class="form-text">
|
||||
<?= lang('Presupuestos.barnizDescription') ?>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-3">
|
||||
<label for="estampado" class="form-label">
|
||||
<?= lang('Presupuestos.estampado') ?>
|
||||
</label>
|
||||
<select class="form-select select2bs2 calcular-presupuesto" id="estampado" name="estampado">
|
||||
<option value="NONE"> - </option>
|
||||
<option value="GOLD"><?= lang('Presupuestos.oro') ?></option>
|
||||
<option value="SILV"><?= lang('Presupuestos.plata') ?></option>
|
||||
<option value="COPP"><?= lang('Presupuestos.cobre') ?></option>
|
||||
<option value="BRON"><?= lang('Presupuestos.bronce') ?></option>
|
||||
<div class="col-sm-6">
|
||||
<select class="form-select select2bs2 calcular-presupuesto" id="acabadoCubierta" name="acabado_cubierta">
|
||||
</select>
|
||||
</div>
|
||||
|
||||
|
||||
<div id="retractilado"
|
||||
class="calcular-presupuesto d-flex flex-column align-items-center justify-content-center solapas-cubierta imagen-selector image-container">
|
||||
<img class="image-presupuesto" src="<?= site_url("assets/img/presupuestoCliente/retractilado.png") ?>"
|
||||
@ -230,11 +196,11 @@
|
||||
<h3 class="mb-1 fw-bold"> Extras </h3>
|
||||
</div><!--//.mb-3 -->
|
||||
|
||||
<div class="row col-sm-12 mb-3 justify-content-center">
|
||||
<div class="row col-sm-12 mb-3 justify-content-center align-items-top">
|
||||
|
||||
<div class="row justify-content-center">
|
||||
|
||||
|
||||
<div class="row col-sm-3 mb-3 d-flex flex-column align-items-center sobrecubierta-items">
|
||||
<div class="row col-sm-2 mb-3 d-flex flex-column align-items-center sobrecubierta-items">
|
||||
<div class="form-check form-switch mb-2">
|
||||
<input class="calcular-presupuesto form-check-input" type="checkbox" id="addSobrecubierta"
|
||||
name="add_sobrecubierta" value="1">
|
||||
@ -266,20 +232,14 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-3 config-sobrecubierta d-none sobrecubierta-items">
|
||||
<div class="col-sm-4 config-sobrecubierta d-none sobrecubierta-items">
|
||||
<label for="plastificadoSobrecubierta" class="form-label">
|
||||
<?= lang('Presupuestos.plastificadoSobrecubierta') ?>
|
||||
<?= lang('Presupuestos.acabado') ?>
|
||||
</label>
|
||||
<select class="form-select select2bs2 calcular-presupuesto" id="plastificadoSobrecubierta"
|
||||
name="plastificado_sobrecubierta">
|
||||
<option value="NONE">Sin plastificar </option>
|
||||
<option value="BRIL"><?= lang('Presupuestos.brillo') ?></option>
|
||||
<option value="MATE"><?= lang('Presupuestos.mate') ?></option>
|
||||
<option value="ANTI"><?= lang('Presupuestos.antirrayado') ?></option>
|
||||
<select class="form-select select2bs2 calcular-presupuesto" id="acabadoSobrecubierta"
|
||||
name="acabado_sobrecubierta">
|
||||
</select>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row col-sm-12 mb-0 justify-content-center d-none">
|
||||
|
||||
@ -62,15 +62,13 @@ class DisenioCubierta {
|
||||
this.divPapelCubierta = this.domItem.find("#divPapelCubierta");
|
||||
this.divGramajeCubierta = this.domItem.find("#divGramajeCubierta");
|
||||
|
||||
this.cubiertaPlastificado = this.domItem.find("#plastificado");
|
||||
this.cubiertaBarniz = this.domItem.find("#barniz");
|
||||
this.cubiertaEstampado = this.domItem.find("#estampado");
|
||||
this.acabadoCubierta = this.domItem.find("#acabadoCubierta");
|
||||
this.cubiertaRetractilado = this.domItem.find("#retractilado");
|
||||
|
||||
this.configuracionSobrecubierta = this.domItem.find(".config-sobrecubierta");
|
||||
this.sobrecubierta = this.domItem.find("#addSobrecubierta");
|
||||
this.papelSobrecubierta = this.domItem.find("#papelSobrecubierta");
|
||||
this.plastificadoSobrecubierta = this.domItem.find("#plastificadoSobrecubierta");
|
||||
this.acabadoSobrecubierta = this.domItem.find("#acabadoSobrecubierta");
|
||||
|
||||
this.configuracionFaja = this.domItem.find(".config-faja");
|
||||
this.faja = this.domItem.find("#addFaja");
|
||||
@ -94,6 +92,26 @@ class DisenioCubierta {
|
||||
this.rl_tamanio_sobrecubierta = $('#rl_tamanio_sobrecubierta');
|
||||
this.rl_acabado_sobrecubierta = $("#rl_acabado_sobrecubierta");
|
||||
|
||||
this.acabadoCubierta = new ClassSelect($("#acabadoCubierta"),
|
||||
'/serviciosacabados/getacabados',
|
||||
'',
|
||||
false,
|
||||
{
|
||||
[this.csrf_token]: this.csrf_hash,
|
||||
"cubierta": 1
|
||||
}
|
||||
);
|
||||
|
||||
this.acabadoSobrecubierta = new ClassSelect($("#acabadoSobrecubierta"),
|
||||
'/serviciosacabados/getacabados',
|
||||
'',
|
||||
false,
|
||||
{
|
||||
[this.csrf_token]: this.csrf_hash,
|
||||
"sobrecubierta": 1
|
||||
}
|
||||
);
|
||||
|
||||
this.initValidation();
|
||||
|
||||
// Creamos un nuevo observador que detecta cambios en los atributos
|
||||
@ -124,6 +142,9 @@ class DisenioCubierta {
|
||||
const self = this;
|
||||
|
||||
this.papelEspecial.init();
|
||||
this.acabadoCubierta.init();
|
||||
this.acabadoSobrecubierta.init();
|
||||
|
||||
$('#papelEspecialCubiertaSel').on("change", this.#handlePapelCubiertaEspecial.bind(this));
|
||||
|
||||
// Eventos
|
||||
@ -195,9 +216,8 @@ class DisenioCubierta {
|
||||
$(`#divGramajeCubierta .gramaje-cubierta input[data-value="${datosCubierta.gramaje}"]`).trigger('click');
|
||||
}, 0);
|
||||
|
||||
this.cubiertaPlastificado.val(datosCubierta.plastificado).trigger('change');
|
||||
this.cubiertaBarniz.val(datosCubierta.barniz).trigger('change');
|
||||
this.cubiertaEstampado.val(datosCubierta.estampado).trigger('change');
|
||||
this.acabadoCubierta.setOption(datosCubierta.acabado.id, datosCubierta.acabado.text);
|
||||
|
||||
if (datosCubierta.retractilado) {
|
||||
setTimeout(() => {
|
||||
this.cubiertaRetractilado.trigger('click');
|
||||
@ -208,7 +228,7 @@ class DisenioCubierta {
|
||||
this.sobrecubierta.trigger('click');
|
||||
this.papelSobrecubierta.val(datosSobrecubierta.papel.code + "_" + datosSobrecubierta.gramaje).trigger('change');
|
||||
this.solapasSobrecubierta.val(datosSobrecubierta.solapas_ancho);
|
||||
this.plastificadoSobrecubierta.val(datosSobrecubierta.plastificado).trigger('change');
|
||||
this.acabadoSobrecubierta.setOption(datosSobrecubierta.acabado.id, datosSobrecubierta.acabado.text);
|
||||
}
|
||||
|
||||
}
|
||||
@ -390,7 +410,7 @@ class DisenioCubierta {
|
||||
if (papel != null && gramaje != null) {
|
||||
|
||||
this.rl_papel_cubierta.text(papel + " " + gramaje + " gr");
|
||||
this.rl_acabado_cubierta.text(this.domItem.find("#plastificado").children("option:selected").text());
|
||||
this.rl_acabado_cubierta.text("Acabado: " + this.acabadoCubierta.getText());
|
||||
this.rl_papel_cubierta.removeClass('d-none');
|
||||
this.rl_acabado_cubierta.removeClass('d-none');
|
||||
|
||||
@ -433,10 +453,7 @@ class DisenioCubierta {
|
||||
const sobrecubierta = this.getSobrecubierta(true);
|
||||
this.rl_papel_sobrecubierta.text(sobrecubierta.papel + " " + sobrecubierta.gramaje + " gr")
|
||||
this.rl_tamanio_sobrecubierta.text("Solapas: " + sobrecubierta.solapas + " mm")
|
||||
let acabado_text = sobrecubierta.plastificado;
|
||||
if (acabado_text.includes("Sin plastificar"))
|
||||
acabado_text = "Sin plastificar";
|
||||
this.rl_acabado_sobrecubierta.text(acabado_text);
|
||||
this.rl_acabado_sobrecubierta.text("Acabado: " + this.acabadoSobrecubierta.getText());
|
||||
}
|
||||
}
|
||||
else {
|
||||
@ -516,21 +533,14 @@ class DisenioCubierta {
|
||||
|
||||
getAcabados(forResumen = false) {
|
||||
try {
|
||||
let acabados = {};
|
||||
let acabado;
|
||||
if (forResumen) {
|
||||
acabados = 'Plastificado ' + this.domItem.find("#plastificado").children("option:selected").text();
|
||||
if (this.domItem.find("#barniz").children("option:selected").val() != 'NONE')
|
||||
acabados += ", Barniz UVI " + this.domItem.find("#barniz").children("option:selected").text();
|
||||
if (this.domItem.find("#estampado").children("option:selected").val() != 'NONE')
|
||||
acabados += ", Estampado " + this.domItem.find("#estampado").children("option:selected").text();
|
||||
return acabados;
|
||||
acabado = 'Acabado: ' + this.acabadoCubierta.getText();
|
||||
}
|
||||
else {
|
||||
acabados.plastificado = this.domItem.find("#plastificado ").children("option:selected").val();
|
||||
acabados.barniz = this.domItem.find("#barniz").children("option:selected").val();
|
||||
acabados.estampado = this.domItem.find("#estampado").children("option:selected").val();
|
||||
acabado = this.acabadoCubierta.getVal();
|
||||
}
|
||||
return acabados;
|
||||
return acabado;
|
||||
} catch (e) {
|
||||
return null;
|
||||
}
|
||||
@ -595,7 +605,7 @@ class DisenioCubierta {
|
||||
sobrecubierta.papel = papel.split(' ')[0] + ' ' + papel.split(' ')[1];
|
||||
sobrecubierta.gramaje = papel.split(' ')[2];
|
||||
sobrecubierta.solapas = this.domItem.find("#solapasSobrecubierta").val();
|
||||
sobrecubierta.plastificado = 'Plastificado ' + this.domItem.find("#plastificadoSobrecubierta").children("option:selected").text();
|
||||
sobrecubierta.acabado = 'Acabado: ' + this.acabadoSobrecubierta.getText();
|
||||
return sobrecubierta;
|
||||
}
|
||||
else {
|
||||
@ -604,7 +614,7 @@ class DisenioCubierta {
|
||||
sobrecubierta.papel = papel.split('_')[0];
|
||||
sobrecubierta.gramaje = papel.split('_')[1];
|
||||
sobrecubierta.solapas = this.domItem.find("#solapasSobrecubierta").val();
|
||||
sobrecubierta.plastificado = this.domItem.find("#plastificadoSobrecubierta").children("option:selected").val();
|
||||
sobrecubierta.acabado = this.acabadoSobrecubierta.getVal();
|
||||
return sobrecubierta;
|
||||
}
|
||||
}
|
||||
|
||||
@ -71,6 +71,7 @@ class PresupuestoCliente {
|
||||
this.disenioInterior.init();
|
||||
this.disenioCubierta.init();
|
||||
this.direcciones.init();
|
||||
|
||||
if (window.location.href.includes("edit")) {
|
||||
this.resumen.init(window.location.href.split("/").pop());
|
||||
}
|
||||
@ -588,17 +589,11 @@ class PresupuestoCliente {
|
||||
if (datos_to_check.posPaginasColor == "" || datos_to_check.posPaginasColor == null) {
|
||||
delete datos_to_check.posPaginasColor;
|
||||
}
|
||||
if (datos_to_check.cubierta.acabados.barniz == undefined) {
|
||||
delete datos_to_check.cubierta.acabados.barniz;
|
||||
if (datos_to_check.cubierta.acabado == 0) {
|
||||
delete datos_to_check.cubierta.acabado;
|
||||
}
|
||||
if (datos_to_check.cubierta.acabados.plastificado == undefined) {
|
||||
delete datos_to_check.cubierta.acabados.plastificado;
|
||||
}
|
||||
if (datos_to_check.cubierta.acabados.estampado == undefined) {
|
||||
delete datos_to_check.cubierta.acabados.estampado;
|
||||
}
|
||||
if (datos_to_check.sobrecubierta.plastificado == undefined) {
|
||||
delete datos_to_check.sobrecubierta.plastificado;
|
||||
if (datos_to_check.sobrecubierta.acabado == 0) {
|
||||
delete datos_to_check.sobrecubierta.acabado;
|
||||
}
|
||||
|
||||
return datos_to_check;
|
||||
@ -650,7 +645,7 @@ class PresupuestoCliente {
|
||||
papelCubierta: this.disenioCubierta.getPapel(),
|
||||
gramajeCubierta: this.disenioCubierta.getGramaje(),
|
||||
cabezada: this.disenioCubierta.getCabezada(),
|
||||
acabados: this.disenioCubierta.getAcabados(),
|
||||
acabado: this.disenioCubierta.getAcabados(),
|
||||
carasImpresion: this.disenioCubierta.carasCubierta.val(),
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user