From b62a5d1b9a2e644bcb9d6d0ad6797392fc4748be Mon Sep 17 00:00:00 2001 From: imnavajas Date: Mon, 15 Jan 2024 22:09:18 +0100 Subject: [PATCH 01/10] Inciado link presupuesto PDF con backend --- ci4/app/Controllers/Pdf/PrintPresupuestos.php | 11 ++-- .../Models/Presupuestos/PresupuestoModel.php | 53 ++++++++++++++++--- .../themes/backend/vuexy/pdfs/presupuesto.php | 29 +++++----- 3 files changed, 67 insertions(+), 26 deletions(-) diff --git a/ci4/app/Controllers/Pdf/PrintPresupuestos.php b/ci4/app/Controllers/Pdf/PrintPresupuestos.php index 4469e9dd..46e48b08 100755 --- a/ci4/app/Controllers/Pdf/PrintPresupuestos.php +++ b/ci4/app/Controllers/Pdf/PrintPresupuestos.php @@ -13,13 +13,18 @@ class PrintPresupuestos extends BaseController public function index() { - //return view('pdf_view'); - return view(getenv('theme.path').'pdfs/presupuesto'); + $presupuestoModel = model('App\Models\Presupuestos\PresupuestoModel'); + + $data['presupuesto'] = $presupuestoModel->getResourceForPdf(8)->get()->getRow(); + + + return view(getenv('theme.path').'pdfs/presupuesto', $data); } public function generar(){ $dompdf = new \Dompdf\Dompdf(['isRemoteEnabled' => true]); //$dompdf->loadHtml(view('pdf_view')); - $dompdf->loadHtml(view(getenv('theme.path').'pdfs/presupuesto')); + //$dompdf->loadHtml(view(getenv('theme.path').'pdfs/presupuesto')); + $dompdf->loadHtml($this->index()); $dompdf->setPaper('A4', 'portrait'); $dompdf->render(); $dompdf->stream('presupuesto-demo.pdf'); diff --git a/ci4/app/Models/Presupuestos/PresupuestoModel.php b/ci4/app/Models/Presupuestos/PresupuestoModel.php index aa34dc7c..9c3ae2b4 100755 --- a/ci4/app/Models/Presupuestos/PresupuestoModel.php +++ b/ci4/app/Models/Presupuestos/PresupuestoModel.php @@ -1,4 +1,5 @@ [ "integer" => "Presupuestos.validation.integer", - + ], "coleccion" => [ "max_length" => "Presupuestos.validation.max_length", @@ -277,8 +278,9 @@ class PresupuestoModel extends \App\Models\GoBaseModel ], "referencia_cliente" => [ "max_length" => "Presupuestos.validation.max_length", - ], + ], ]; + public function findAllWithAllRelations(string $selcols = "*", int $limit = null, int $offset = 0) { $sql = @@ -324,14 +326,14 @@ class PresupuestoModel extends \App\Models\GoBaseModel $builder->where("t1.is_deleted", 0); - if(empty($search)) + if (empty($search)) return $builder; - else{ + else { $builder->groupStart(); - foreach($search as $col_search){ - if($col_search[0] != 1) + foreach ($search as $col_search) { + if ($col_search[0] != 1) $builder->like(self::SORTABLE[$col_search[0]], $col_search[2]); - else{ + else { $dates = explode(" ", $col_search[2]); $builder->where(self::SORTABLE[$col_search[0]] . ">=", $dates[0]); $builder->where(self::SORTABLE[$col_search[0]] . "<=", $dates[1]); @@ -340,6 +342,41 @@ class PresupuestoModel extends \App\Models\GoBaseModel $builder->groupEnd(); return $builder; } - + } + + + /** + * Get resource data. + * + * @param string $search + * + * @return \CodeIgniter\Database\BaseBuilder + */ + public function getResourceForPdf($presupuesto_id = -1) + { + $builder = $this->db + ->table($this->table . " t1") + ->select( + "t1.id AS id, t1.created_at AS fecha, t1.titulo AS titulo, t1.autor AS autor, t1.ferro AS ferro, + t1.ferro_digital AS ferro_digital, t1.prototipo AS prototipo, t1.solapas AS solapas, + t1.solapas_ancho AS solapas_ancho, t1.paginas AS paginas, t1.tirada AS tirada, t1.coleccion AS coleccion, + t1.total_presupuesto AS total_presupuesto, t1.total_precio_unidad AS total_precio_unidad, + t2.nombre AS cliente, + CONCAT(t3.first_name, ' ', t3.last_name) AS comercial, t3.email AS email_comercial, + t1.inc_rei AS inc_rei, + t6.estado AS estado" + ); + $builder->join("clientes t2", "t1.cliente_id = t2.id", "left"); + $builder->join("auth_user t3", "t1.user_update_id = t3.id_user", "left"); + $builder->join("presupuesto_estados t6", "t1.estado_id = t6.id", "left"); + + $builder->where("t1.is_deleted", 0); + $builder->where("t1.id", $presupuesto_id); + + return $builder; + + + } + } diff --git a/ci4/app/Views/themes/backend/vuexy/pdfs/presupuesto.php b/ci4/app/Views/themes/backend/vuexy/pdfs/presupuesto.php index 00241c88..2deccf92 100755 --- a/ci4/app/Views/themes/backend/vuexy/pdfs/presupuesto.php +++ b/ci4/app/Views/themes/backend/vuexy/pdfs/presupuesto.php @@ -37,34 +37,34 @@ PRESUPUESTO Nº: - id" ?> + id ?> CLIENTE: - customer->name" ?> + cliente ?> FECHA: - + fecha ?> - Título: titulo" ?> + Título: titulo ?> - Colección: coleccion" ?> + Colección: coleccion ?> - Autor: autor" ?> + Autor: autor ?> @@ -83,11 +83,11 @@ Ferro - TBD + ferro == 1) ? "SI" : "NO"); ?> Prototipo - SI + prototipo == 1) ? "SI" : "NO"); ?> Ferro Digital - SI + ferro_digital == 1) ? "SI" : "NO"); ?> Formato @@ -97,7 +97,7 @@ Nº de páginas totales - paginas" ?> + paginas ?> Nº de páginas ByN @@ -169,9 +169,9 @@ Tipo Solapas - + solapas == 1) ? "SI" : "NO"); ?> Ancho - TBD cm + solapas_ancho ?> cm @@ -252,7 +252,7 @@ - TBD uds. + tirada ?> uds. TBD € TBD € TBD € @@ -277,8 +277,7 @@ comercial el día que se oficialice el pedido, dado que pueda darse la situación de que no haya stock disponible o que su precio haya variado considerablemente, para así poder ofrecerle alternativas.

Esperando que los precios se ajusten a sus necesidades,
- customer->salesman->name" ?> customer->salesman->lastname" ?> • - email: customer->salesman->email" ?>

+ comercial ?> • email: email_comercial ?>

(*) En el formato de desarrollo de cubierta están contemplados los 3 mm. de vuelta de solapas en caso de llevarlas.
(**) Estos precios están sujetos a análisis de cobertura de tinta del archivo PDF de interior.

From 3f5a6288bd3ea21c97aa9dec575c9e74be88734d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jaime=20Jim=C3=A9nez=20Ortega?= Date: Thu, 18 Jan 2024 08:42:58 +0100 Subject: [PATCH 02/10] Arreglado el bug --- .../_datosPresupuestoClienteItems.php | 17 +++++++++---- .../_lineasPresupuestoItems.php | 24 +++++++++---------- 2 files changed, 25 insertions(+), 16 deletions(-) diff --git a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_datosPresupuestoClienteItems.php b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_datosPresupuestoClienteItems.php index 72b38d35..8a3d29a9 100755 --- a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_datosPresupuestoClienteItems.php +++ b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_datosPresupuestoClienteItems.php @@ -1082,6 +1082,10 @@ $('#compPaginasNegrohq').val('0'); $('#compPaginasNegro').val($('#paginas').val()) + if($('#tipoImpresion').select2('data')[0].id == 'negro'){ + $('#compGramajeColor').val('').trigger('change') + $('#compPapelColor').val(0).trigger('change') + } if( $('#tableCompIntPlana').DataTable().rows().count() > 0 && $('#tableCompIntPlana').DataTable().cell(0, 0).data().includes('hq')) { @@ -1101,6 +1105,11 @@ $('#compPaginasColor').val('0') $('#compPaginasNegro').val('0') $('#compPaginasNegrohq').val($('#paginas').val()) + + if($('#tipoImpresion').select2('data')[0].id == 'negrohq'){ + $('#compGramajeColorhq').val('').trigger('change') + $('#compPapelColorhq').val(0).trigger('change') + } if($('#tableCompIntPlana').DataTable().rows().count() > 0 && !$('#tableCompIntPlana').DataTable().cell(0, 0).data().includes('hq')) { @@ -1117,7 +1126,7 @@ }) - function checkComparadorInt(is_color, is_hq, actualizarLinea=false) { + function checkComparadorInt(is_color, is_hq, actualizarLineaPlana=false, actualizarLineaRot=false) { try{ @@ -1134,11 +1143,11 @@ checkDatosPedidoForComp()) { - getLineasIntPlana(is_color, is_hq, actualizarLinea).then((result) =>{ + getLineasIntPlana(is_color, is_hq, actualizarLineaPlana).then((result) =>{ // Para rotativa, si es color el papel y el gramaje tiene que ser igual if(!is_color) { - getLineasIntRot(is_hq, actualizarLinea); + getLineasIntRot(is_hq, actualizarLineaRot); } else { @@ -1149,7 +1158,7 @@ if(($('#compPapelNegro').select2('data')[0].id == $('#compPapelColor').select2('data')[0].id && $('#compGramajeNegro').select2('data')[0].text.trim() == $('#compGramajeColor').select2('data')[0].text.trim())) { - getLineasIntRot(is_hq, actualizarLinea); + getLineasIntRot(is_hq, actualizarLineaRot); } else { diff --git a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_lineasPresupuestoItems.php b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_lineasPresupuestoItems.php index 3e98dcde..2506fb6c 100755 --- a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_lineasPresupuestoItems.php +++ b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_lineasPresupuestoItems.php @@ -3361,23 +3361,23 @@ function updateLineasPresupuesto(){ $('#tableLineasPresupuesto tbody tr:visible ').each(function(){ - if(this.id.endsWith('_bn')){ - checkComparadorInt(false, false, true); + if(this.id.endsWith('lp_bn')){ + checkComparadorInt(false, false, true, false); } - else if(this.id.endsWith('_bnhq')){ - checkComparadorInt(false, true, true); + else if(this.id.endsWith('lp_bnhq')){ + checkComparadorInt(false, true, true, false); } - else if(this.id.endsWith('_color')){ - checkComparadorInt(true, false, true); + else if(this.id.endsWith('lp_color')){ + checkComparadorInt(true, false, true, false); } - else if(this.id.endsWith('_colorhq')){ - checkComparadorInt(true, true, true); + else if(this.id.endsWith('lp_colorhq')){ + checkComparadorInt(true, true, true, false); } - else if(this.id.endsWith('_rot_bn')){ - checkComparadorInt(false, false, true) + else if(this.id.endsWith('lp_rot_bn')){ + checkComparadorInt(false, false, false, true) } - else if(this.id.endsWith('_rot_color')){ - checkComparadorInt(false,true, true); + else if(this.id.endsWith('lp_rot_color')){ + checkComparadorInt(false,true, false, true); } else if(this.id.endsWith('_cubierta')){ checkComparadorCubierta(true) From b6871b75fd4cbe10c1a3a46c5f10f4b293714eb1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jaime=20Jim=C3=A9nez=20Ortega?= Date: Thu, 18 Jan 2024 11:21:58 +0100 Subject: [PATCH 03/10] bug solucionado --- .../_lineasPresupuestoItems.php | 185 +++++++++++------- 1 file changed, 116 insertions(+), 69 deletions(-) diff --git a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_lineasPresupuestoItems.php b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_lineasPresupuestoItems.php index 2506fb6c..68883764 100755 --- a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_lineasPresupuestoItems.php +++ b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_lineasPresupuestoItems.php @@ -861,7 +861,7 @@ $('.insertarLinea').on("click", function (e) { $('#addLineasPresupuesto').on("change", function (e) { - var data = tableLineasPresupuesto + var dataRows = tableLineasPresupuesto .rows() .data(); @@ -870,101 +870,148 @@ $('#addLineasPresupuesto').on("change", function (e) { // (solo una de cada en interior) case 'lp_bn': - if(data.length>0){ - if( data.filter(x => x.row_id === 'lp_bn').length>0 || - data.filter(x => x.row_id === 'lp_bnhq').length>0 || - data.filter(x => x.row_id === 'lp_rot_bn').length>0 ) - - popErrorAlert('', 'divAlarmasLineasPresupuesto'); + var hayLinea = false + for(let number=0;number', 'divAlarmasLineasPresupuesto'); + break } + var data = processRowData({tipo_maquina: 'toner'}, 'lp_bn', 'lp-bn'); + tableLineasPresupuesto.row.add(data).draw(true) + eventos_lp_bn() break + case 'lp_bnhq': - if(data.length>0){ - if( data.filter(x => x.row_id === 'lp_bn').length>0 || - data.filter(x => x.row_id === 'lp_bnhq').length>0 || - data.filter(x => x.row_id === 'lp_rot_bn').length>0 ) + var hayLinea = false + for(let number=0;number', 'divAlarmasLineasPresupuesto'); - } - else{ - var data = processRowData({tipo_maquina: 'toner'}, 'lp_bnhq', 'lp-bnhq'); - tableLineasPresupuesto.row.add(data).draw(true) - eventos_lp_bnhq() + if(hayLinea){ + popErrorAlert('', 'divAlarmasLineasPresupuesto'); + break } + + var data = processRowData({tipo_maquina: 'toner'}, 'lp_bnhq', 'lp-bnhq'); + tableLineasPresupuesto.row.add(data).draw(true) + eventos_lp_bnhq() break + case 'lp_color': - if(data.length>0){ - if( data.filter(x => x.row_id === 'lp_color').length>0 || - data.filter(x => x.row_id === 'lp_colorhq').length>0 || - data.filter(x => x.row_id === 'lp_rot_color').length>0 ) + var hayLinea = false + for(let number=0;number', 'divAlarmasLineasPresupuesto'); - } - else{ - var data = processRowData({tipo_maquina: 'toner'}, 'lp_color', 'lp-color'); - tableLineasPresupuesto.row.add(data).draw(true) - eventos_lp_color() + if(hayLinea){ + popErrorAlert('', 'divAlarmasLineasPresupuesto'); + break } + + var data = processRowData({tipo_maquina: 'toner'}, 'lp_color', 'lp-color'); + tableLineasPresupuesto.row.add(data).draw(true) + eventos_lp_color() break + case 'lp_colorhq': - if(data.length>0){ - if( data.filter(x => x.row_id === 'lp_color').length>0 || - data.filter(x => x.row_id === 'lp_colorhq').length>0 || - data.filter(x => x.row_id === 'lp_rot_color').length>0 ) + var hayLinea = false + for(let number=0;number', 'divAlarmasLineasPresupuesto'); - } - else{ - var data = processRowData({tipo_maquina: 'toner'}, 'lp_colorhq', 'lp-colorhq'); - tableLineasPresupuesto.row.add(data).draw(true) - eventos_lp_colorhq() + if(hayLinea){ + popErrorAlert('', 'divAlarmasLineasPresupuesto'); + break } + + var data = processRowData({tipo_maquina: 'toner'}, 'lp_colorhq', 'lp-colorhq'); + tableLineasPresupuesto.row.add(data).draw(true) + eventos_lp_colorhq() break + case 'lp_rot_bn': - if(data.length>0){ - if( data.filter(x => x.row_id === 'lp_bn').length>0 || - data.filter(x => x.row_id === 'lp_bnhq').length>0 || - data.filter(x => x.row_id === 'lp_rot_bn').length>0 ) + var hayLinea = false + for(let number=0;number', 'divAlarmasLineasPresupuesto'); - } - else{ - var data = processRowData({tipo_maquina: 'toner'}, 'lp_rot_bn', 'lp-rot-bn'); - tableLineasPresupuesto.row.add(data).draw(true) - eventos_lp_rot_bn() + if(hayLinea){ + popErrorAlert('', 'divAlarmasLineasPresupuesto'); + break } + + var data = processRowData({tipo_maquina: 'toner'}, 'lp_rot_bn', 'lp-rot-bn'); + tableLineasPresupuesto.row.add(data).draw(true) + eventos_lp_rot_bn() break + case 'lp_rot_color': - if(data.length>0){ - if( data.filter(x => x.row_id === 'lp_color').length>0 || - data.filter(x => x.row_id === 'lp_colorhq').length>0 || - data.filter(x => x.row_id === 'lp_rot_color').length>0 ) + var hayLinea = false + for(let number=0;number', 'divAlarmasLineasPresupuesto'); - } - else{ - var data = processRowData({tipo_maquina: 'toner'}, 'lp_rot_color', 'lp-rot-color'); - tableLineasPresupuesto.row.add(data).draw(true) - eventos_lp_rot_color() + if(hayLinea){ + popErrorAlert('', 'divAlarmasLineasPresupuesto'); + break } + + var data = processRowData({tipo_maquina: 'toner'}, 'lp_rot_color', 'lp-rot-color'); + tableLineasPresupuesto.row.add(data).draw(true) + eventos_lp_rot_color() break - case 'lp_cubierta': - if(data.length>0){ - if( data.filter(x => x.row_id === 'lp_cubierta').length>0) - popErrorAlert('', 'divAlarmasLineasPresupuesto'); + case 'lp_cubierta': + var hayLinea = false + for(let number=0;number', 'divAlarmasLineasPresupuesto'); + break } + + var data = processRowData({tipo_maquina: 'toner'}, 'lp_cubierta', 'lp-cubierta'); + tableLineasPresupuesto.row.add(data).draw(true) + eventos_lp_cubierta() break default: break From bbea1465afd7134a80591dbd14484f621e0e1df3 Mon Sep 17 00:00:00 2001 From: imnavajas Date: Thu, 18 Jan 2024 19:41:46 +0100 Subject: [PATCH 04/10] Puliendo presupuesto --- ci4/app/Config/Routes.php | 2 +- ci4/app/Controllers/Pdf/PrintPresupuestos.php | 51 +++++++++++++++---- .../Presupuestos/Cosidotapablanda.php | 1 + .../Models/Presupuestos/PresupuestoModel.php | 3 +- .../viewCosidotapablandaForm.php | 2 +- .../themes/backend/vuexy/pdfs/presupuesto.php | 32 ++++++------ 6 files changed, 62 insertions(+), 29 deletions(-) diff --git a/ci4/app/Config/Routes.php b/ci4/app/Config/Routes.php index 6668f74a..a6f21f81 100755 --- a/ci4/app/Config/Routes.php +++ b/ci4/app/Config/Routes.php @@ -557,7 +557,7 @@ $routes->group('presupuestodirecciones', ['namespace' => 'App\Controllers\Presup $routes->group('printpresupuestos', ['namespace' => 'App\Controllers\Pdf'], function ($routes) { $routes->get('', 'PrintPresupuestos::index', ['as' => 'viewPresupuesto']); - $routes->get('generar', 'PrintPresupuestos::generar', ['as' => 'presupuestoToPdf']); + $routes->get('generar/(:num)', 'PrintPresupuestos::generar/$1', ['as' => 'presupuestoToPdf']); }); diff --git a/ci4/app/Controllers/Pdf/PrintPresupuestos.php b/ci4/app/Controllers/Pdf/PrintPresupuestos.php index 46e48b08..c3e76ea3 100755 --- a/ci4/app/Controllers/Pdf/PrintPresupuestos.php +++ b/ci4/app/Controllers/Pdf/PrintPresupuestos.php @@ -1,4 +1,5 @@ getResourceForPdf(8)->get()->getRow(); - return view(getenv('theme.path').'pdfs/presupuesto', $data); + return view(getenv('theme.path') . 'pdfs/presupuesto', $data); } - public function generar(){ - $dompdf = new \Dompdf\Dompdf(['isRemoteEnabled' => true]); - //$dompdf->loadHtml(view('pdf_view')); - //$dompdf->loadHtml(view(getenv('theme.path').'pdfs/presupuesto')); - $dompdf->loadHtml($this->index()); + + public function generar($presupuesto_id) + { + + // Cargar modelos + $presupuestoModel = model('App\Models\Presupuestos\PresupuestoModel'); + + // Get budget information + $data['presupuesto'] = $presupuestoModel->getResourceForPdf($presupuesto_id)->get()->getRow(); + + // Crear una instancia de Dompdf + $options = new \Dompdf\Options(); + $options->set('isHtml5ParserEnabled', true); + $options->set('isPhpEnabled', true); + $options->set('isRemoteEnabled', true); + $dompdf = new \Dompdf\Dompdf($options); + + // Contenido HTML del documento + $dompdf->loadHtml(view(getenv('theme.path').'pdfs/presupuesto', $data)); + + // Establecer el tamaño del papel $dompdf->setPaper('A4', 'portrait'); + + // Renderizar el PDF $dompdf->render(); - $dompdf->stream('presupuesto-demo.pdf'); + + // Obtener el contenido generado + $output = $dompdf->output(); + + // Establecer las cabeceras para visualizar en lugar de descargar + $file_name = "presupuesto-$presupuesto_id.pdf"; + return $this->response + ->setStatusCode(200) + ->setHeader('Content-Type', 'application/pdf') + ->setHeader('Content-Disposition', 'inline; filename="' . $file_name . '"') + ->setHeader('Cache-Control', 'private, max-age=0, must-revalidate') + ->setHeader('Pragma', 'public') + ->setHeader('Content-Length', strlen($output)) + ->setBody($output); } } \ No newline at end of file diff --git a/ci4/app/Controllers/Presupuestos/Cosidotapablanda.php b/ci4/app/Controllers/Presupuestos/Cosidotapablanda.php index 31f68100..7cd8ee21 100755 --- a/ci4/app/Controllers/Presupuestos/Cosidotapablanda.php +++ b/ci4/app/Controllers/Presupuestos/Cosidotapablanda.php @@ -279,6 +279,7 @@ class Cosidotapablanda extends \App\Controllers\GoBaseResourceController endif; // ($requestMethod === 'post') + $this->viewData['presupuestoId'] = $id; $this->viewData['presupuestoEntity'] = $presupuestoEntity; $this->viewData['isCosido'] = (new TipoPresupuestoModel())->get_isCosido($presupuestoEntity->tipo_impresion_id); diff --git a/ci4/app/Models/Presupuestos/PresupuestoModel.php b/ci4/app/Models/Presupuestos/PresupuestoModel.php index 9c3ae2b4..3ca59c7d 100755 --- a/ci4/app/Models/Presupuestos/PresupuestoModel.php +++ b/ci4/app/Models/Presupuestos/PresupuestoModel.php @@ -361,10 +361,11 @@ class PresupuestoModel extends \App\Models\GoBaseModel "t1.id AS id, t1.created_at AS fecha, t1.titulo AS titulo, t1.autor AS autor, t1.ferro AS ferro, t1.ferro_digital AS ferro_digital, t1.prototipo AS prototipo, t1.solapas AS solapas, t1.solapas_ancho AS solapas_ancho, t1.paginas AS paginas, t1.tirada AS tirada, t1.coleccion AS coleccion, + t1.retractilado AS retractilado, t1.guardas AS guardas, t1.marcapaginas AS marcapaginas, + t1.comentarios_pdf AS comentarios_pdf, t1.total_presupuesto AS total_presupuesto, t1.total_precio_unidad AS total_precio_unidad, t2.nombre AS cliente, CONCAT(t3.first_name, ' ', t3.last_name) AS comercial, t3.email AS email_comercial, - t1.inc_rei AS inc_rei, t6.estado AS estado" ); $builder->join("clientes t2", "t1.cliente_id = t2.id", "left"); diff --git a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/viewCosidotapablandaForm.php b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/viewCosidotapablandaForm.php index 6ffc3931..bc9a8b71 100755 --- a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/viewCosidotapablandaForm.php +++ b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/viewCosidotapablandaForm.php @@ -37,7 +37,7 @@ value="" /> - "btn btn-dark float-start me-sm-3 me-1",]) ?> + "btn btn-dark float-start me-sm-3 me-1",'target' => '_blank']) ?> "btn btn-info float-start me-sm-3 me-1",]) ?> "btn btn-secondary float-start",]) ?> diff --git a/ci4/app/Views/themes/backend/vuexy/pdfs/presupuesto.php b/ci4/app/Views/themes/backend/vuexy/pdfs/presupuesto.php index 2deccf92..a74f48ec 100755 --- a/ci4/app/Views/themes/backend/vuexy/pdfs/presupuesto.php +++ b/ci4/app/Views/themes/backend/vuexy/pdfs/presupuesto.php @@ -4,17 +4,16 @@ - <?= "Presupuesto " . "TBC" ?> @@ -49,7 +48,7 @@ FECHA: - fecha ?> + fecha)); ?> @@ -83,11 +82,11 @@ Ferro - ferro == 1) ? "SI" : "NO"); ?> + ferro == 1) ? "SI" : "NO"); ?> Prototipo - prototipo == 1) ? "SI" : "NO"); ?> + prototipo == 1) ? "SI" : "NO"); ?> Ferro Digital - ferro_digital == 1) ? "SI" : "NO"); ?> + ferro_digital == 1) ? "SI" : "NO"); ?> Formato @@ -169,7 +168,7 @@ Tipo Solapas - solapas == 1) ? "SI" : "NO"); ?> + solapas == 1) ? "SI" : "NO"); ?> Ancho solapas_ancho ?> cm @@ -185,15 +184,15 @@ Retractilado - NO + retractilado == 1) ? "SI" : "NO"); ?> Guardas - NO + guardas == 1) ? "SI" : "NO"); ?> Marcapáginas - NO + marcapaginas == 1) ? "SI" : "NO"); ?> @@ -210,7 +209,8 @@ El pedido será recogido por el cliente - + @@ -267,12 +267,14 @@ - comentarios_pdf)) { ?> + comentarios_pdf)) { ?>
OBSERVACIONES
-
{!! nl2br($obj->comentarios_pdf) !!}
+
+ comentarios_pdf); ?> +
-