Merge branch 'dev/presupuestos_pdf' into 'dev/presupuestos3'

Dev/presupuestos pdf

See merge request jjimenez/safekat!67
This commit is contained in:
Ignacio Martinez Navajas
2023-11-06 10:35:58 +00:00
10 changed files with 16524 additions and 17 deletions

View File

@ -43,6 +43,7 @@ class Autoload extends AutoloadConfig
public $psr4 = [
APP_NAMESPACE => APPPATH, // For custom app namespace
'Config' => APPPATH . 'Config',
'Dompdf' => APPPATH . 'ThirdParty/dompdf/src',
];
/**

View File

@ -50,7 +50,6 @@ $routes->delete('api/user/(:segment)', 'Api::user/delete/$1');
* Route Definitions
* --------------------------------------------------------------------
*/
$routes->group('tarifaacabado', ['namespace' => 'App\Controllers\Tarifas'], function ($routes) {
$routes->get('', 'Tarifaacabado::index', ['as' => 'tarifaAcabadoList']);
$routes->get('index', 'Tarifaacabado::index', ['as' => 'tarifaAcabadoIndex']);

View File

@ -0,0 +1,27 @@
<?php
namespace App\Controllers\Pdf;
use App\Controllers\BaseController;
class PrintPresupuestos extends BaseController
{
function __construct()
{
}
public function index()
{
//return view('pdf_view');
return view(getenv('theme.path').'pdfs/presupuesto');
}
public function generar(){
$dompdf = new \Dompdf\Dompdf(['isRemoteEnabled' => true]);
//$dompdf->loadHtml(view('pdf_view'));
$dompdf->loadHtml(view(getenv('theme.path').'pdfs/presupuesto'));
$dompdf->setPaper('A4', 'portrait');
$dompdf->render();
$dompdf->stream('presupuesto-demo.pdf');
}
}

View File

@ -10,6 +10,8 @@ return [
'Cancel' => 'Cancelar',
'ChangePassword' => 'Cambiar contraseña',
'Close' => 'Cerrar',
'Print' => 'Imprimir',
'Clone' => 'Duplicar',
'Dashboard' => 'Panel de control',
'Delete' => 'Borrar',
'Clone' => 'Duplicar',

View File

@ -164,7 +164,7 @@
document.getElementById("papelFormatoAncho").style.display = "none";
document.getElementById("papelFormatoAlto").style.display = "none";
$('#papelFormatoId').next(".select2-container").show();
document.getElementById("label_papelFormatoId").innerHTML =
document.getElementById("label_papelFormatoId").innerHTML =
"<?=lang('Presupuestos.papelFormatoId') ?>*";
}
});
@ -175,10 +175,10 @@
var tableCompIntPlana = new DataTable('#tableCompIntPlana',{
scrollX: true,
searching: false,
paging: false,
searching: false,
paging: false,
info: false,
ordering: false,
ordering: false,
responsive: true,
select: true,
language: {
@ -230,10 +230,10 @@
var tableCompIntRotativa = new DataTable('#tableCompIntRotativa',{
scrollX: true,
searching: false,
paging: false,
searching: false,
paging: false,
info: false,
ordering: false,
ordering: false,
responsive: true,
select: true,
language: {
@ -290,10 +290,10 @@
var tableCompCubierta = new DataTable('#tableCompCubierta',{
scrollX: true,
searching: false,
paging: false,
searching: false,
paging: false,
info: false,
ordering: false,
ordering: false,
responsive: true,
select: true,
language: {
@ -343,10 +343,10 @@
var tableLineasPresupuesto = new DataTable('#tableLineasPresupuesto',{
scrollX: true,
searching: false,
paging: false,
searching: false,
paging: false,
info: false,
ordering: false,
ordering: false,
responsive: true,
select: false,
language: {
@ -603,6 +603,253 @@
}
}
$('.comp_negro_items').on('change', function (e) {
checkComparadorInt(false,false);
});
$('.comp_negrohq_items').on('change', function (e) {
checkComparadorInt(false, true);
});
$('.comp_color_items').on('change', function (e) {
checkComparadorInt(true, false);
});
$('.comp_colorhq_items').on('change', function (e) {
checkComparadorInt(true, true);
});
async function getLineasIntPlana(is_color, is_hq){
const dimension = getDimensionLibro();
let datos = {
type: 'interior',
color: is_color?1:0,
hq: is_hq?1:0,
paginas: parseInt($(''+ elementos.paginas).val()),
tirada: parseInt($('#tirada').val()),
merma: parseInt($('#merma').val()),
ancho: dimension.ancho,
alto: dimension.alto,
papel_generico_id: $(''+ elementos.papel).select2('data')[0].id,
papel_generico: $(''+ elementos.papel).select2('data')[0].text.trim(),
gramaje: $(''+ elementos.gramaje).select2('data')[0].text.trim() ,
<?= csrf_token() ?? "token" ?> : <?= csrf_token() ?>v
};
$.ajax({
type: "POST",
url: "/cosidotapablanda/datatable",
data: datos,
success: function (data) {
clearIntLineas(is_color);
if(data.lineas.length >0){
fillIntPlana(data, is_color, is_hq);
selectIntLineas();
$('#title_int_plana').html('<?= lang("Presupuestos.compInteriorPlana") ?>' + ' (' + tableCompIntPlana.rows().count() + ')');
$('#insertarPlanaBtn').removeClass('d-none')
}
else{
$('#title_int_plana').html('<?= lang("Presupuestos.compInteriorPlana") ?>');
$('#insertarPlanaBtn').addClass('d-none')
$('#total_comp_plana').html('0.00');
}
yeniden(data.<?= csrf_token() ?>);
return true;
},
error: function(e){
return false;
}
})
return false;
}
async function getLineasIntRot(is_hq){
const dimension = getDimensionLibro();
// Rotativa solo negro o color (no hq)
if ( is_hq==false){
if(checkInputsForRotativa()){
let datos = {
type: 'interior_rot',
paginas: parseInt($('#paginas').val()),
paginas_negro: parseInt($('#compPaginasNegro').val()),
paginas_color: parseInt($('#compPaginasColor').val()),
tirada: parseInt($('#tirada').val()),
merma: parseInt($('#merma').val()),
ancho: dimension.ancho,
alto: dimension.alto,
// el papel y el gramaje se coge del negro (siempre estará)
papel_generico_id: $('#compPapelNegro').select2('data')[0].id,
papel_generico: $('#compPapelNegro').select2('data')[0].text.trim(),
gramaje: $('#compGramajeNegro').select2('data')[0].text.trim() ,
<?= csrf_token() ?? "token" ?> : <?= csrf_token() ?>v
};
$.ajax({
type: "POST",
url: "/cosidotapablanda/datatable",
data: datos,
success: function (data) {
clearIntRot();
if(data.lineas.length >0){
fillIntRot(data);
selectIntRotLineas();
$('#title_int_rot').html('<?= lang("Presupuestos.compInteriorRotativa") ?>' + ' (' + tableCompIntRotativa.rows().count() + ')');
$('#insertarRotativaBtn').removeClass('d-none')
}
else{
$('#title_int_rot').html('<?= lang("Presupuestos.compInteriorRotativa") ?>');
$('#insertarRotativaBtn').addClass('d-none')
$('#total_comp_rot').html('0.00')
}
yeniden(data.<?= csrf_token() ?>);
return true;
},
error: function(e){
return false;
}
})
}
}
return false;
}
$('.comp_cubierta_items').on('change', function (){
if ($('#compCarasCubierta').select2('data').length > 0 &&
$('#compPapelCubierta').select2('data').length > 0 &&
$('#compGramajeCubierta').select2('data').length > 0 ){
const dimension = getDimensionLibro();
let datos = {
type: 'cubierta',
paginas: parseInt($('#compCarasCubierta').select2('data')[0].id),
tirada: parseInt($('#tirada').val()),
merma: parseInt($('#mermacubierta').val()),
color: 1,
ancho: dimension.ancho,
alto: dimension.alto,
solapas: $('#solapas').is(':checked')?1:0,
solapas_ancho: parseInt($('#solapas_ancho').val()),
papel_generico_id: $('#compPapelCubierta').select2('data')[0].id,
papel_generico: $('#compPapelCubierta').select2('data')[0].text.trim(),
gramaje: $('#compGramajeCubierta').select2('data')[0].text.trim() ,
<?= csrf_token() ?? "token" ?> : <?= csrf_token() ?>v
};
$.ajax({
type: "POST",
url: "/cosidotapablanda/datatable",
data: datos,
success: function (data) {
clearCubierta();
if(data.lineas.length >0){
fillCubierta(data);
selectCubiertaLineas();
$('#title_cubierta').html('<?= lang("Presupuestos.cubierta") ?>' + ' (' + tableCompCubierta.rows().count() + ')');
$('#insertarCubiertaBtn').removeClass('d-none')
}
else{
$('#title_cubierta').html('<?= lang("Presupuestos.cubierta") ?>');
$('#insertarCubiertaBtn').addClass('d-none')
$('#total_comp_cubierta').html('0.00')
}
yeniden(data.<?= csrf_token() ?>);
return true;
},
error: function(e){
return false;
}
})
}
else{
clearCubierta();
}
});
$('#tipoImpresion').on("change", function () {
updatePapelesComparador();
$('#title_int_rot').html('<?= lang("Presupuestos.compInteriorRotativa") ?>');
$('#title_int_plana').html('<?= lang("Presupuestos.compInteriorPlana") ?>');
$('#paginas').change();
if (($('#tipoImpresion').select2('data')[0].id == 'negro' ||
$('#tipoImpresion').select2('data')[0].id == 'color')){
$('#tableCompIntRotativa').DataTable().clear().draw();
$('#total_comp_rot').html("0.00");
if( $('#tableCompIntPlana').DataTable().rows().count() > 0 &&
$('#tableCompIntPlana').DataTable().cell(0, 0).data().includes('hq')) {
$('#tableCompIntPlana').DataTable().clear().draw();
$('#total_comp_plana').html("0.00");
}
}
else if (($('#tipoImpresion').select2('data')[0].id == 'negrohq' ||
$('#tipoImpresion').select2('data')[0].id == 'colorhq')){
$('#tableCompIntRotativa').DataTable().clear().draw();
$('#total_comp_rot').html("0.00");
if($('#tableCompIntPlana').DataTable().rows().count() > 0 &&
!$('#tableCompIntPlana').DataTable().cell(0, 0).data().includes('hq')) {
$('#tableCompIntPlana').DataTable().clear().draw();
$('#total_comp_plana').html("0.00");
}
}
});
function checkComparadorInt(is_color, is_hq) {
elementos = getIDsComparador(is_color, is_hq)
if ($(''+ elementos.papel).select2('data').length > 0 &&
$(''+ elementos.gramaje).select2('data').length > 0 &&
parseInt($(''+ elementos.paginas).val()) > 0 &&
checkDatosPedidoForComp()) {
getLineasIntPlana(is_color, is_hq).then((result) =>{
getLineasIntRot(is_hq);
});
}
else{
clearIntLineas(is_color);
clearIntRot();
$('#title_int_rot').html('<?= lang("Presupuestos.compInteriorRotativa") ?>');
$('#title_int_plana').html('<?= lang("Presupuestos.compInteriorPlana") ?>');
}
}
$('#compPapelNegro').on('select2:select', function (e){
@ -825,8 +1072,6 @@
<link rel="stylesheet" href="<?= site_url('themes/vuexy/css/datatables-editor/editor.dataTables.min.css') ?>">
<link rel="stylesheet" href="https://cdn.datatables.net/buttons/2.2.3/css/buttons.bootstrap5.min.css">
<link rel="stylesheet" href="<?= site_url('themes/vuexy/css/sk-datatables.css') ?>">
<?=$this->endSection() ?>
<?= $this->section('additionalExternalJs') ?>

File diff suppressed because one or more lines are too long

View File

@ -11,7 +11,8 @@
"google/apiclient": "^2.11.0",
"firebase/php-jwt": "^5.4",
"aws/aws-sdk-php": "^3.206",
"spatie/db-dumper": "^2.21"
"spatie/db-dumper": "^2.21",
"dompdf/dompdf": "^2.0"
},
"require-dev": {
"fakerphp/faker": "^1.9",

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,144 @@
/* cyrillic-ext */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 300;
font-stretch: 100%;
src: url(https://fonts.gstatic.com/s/opensans/v36/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSKmu1aB.woff2) format('woff2');
unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 300;
font-stretch: 100%;
src: url(https://fonts.gstatic.com/s/opensans/v36/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSumu1aB.woff2) format('woff2');
unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 300;
font-stretch: 100%;
src: url(https://fonts.gstatic.com/s/opensans/v36/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSOmu1aB.woff2) format('woff2');
unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 300;
font-stretch: 100%;
src: url(https://fonts.gstatic.com/s/opensans/v36/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSymu1aB.woff2) format('woff2');
unicode-range: U+0370-03FF;
}
/* hebrew */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 300;
font-stretch: 100%;
src: url(https://fonts.gstatic.com/s/opensans/v36/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS2mu1aB.woff2) format('woff2');
unicode-range: U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
}
/* vietnamese */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 300;
font-stretch: 100%;
src: url(https://fonts.gstatic.com/s/opensans/v36/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSCmu1aB.woff2) format('woff2');
unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 300;
font-stretch: 100%;
src: url(https://fonts.gstatic.com/s/opensans/v36/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSGmu1aB.woff2) format('woff2');
unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 300;
font-stretch: 100%;
src: url(https://fonts.gstatic.com/s/opensans/v36/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-muw.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 600;
font-stretch: 100%;
src: url(https://fonts.gstatic.com/s/opensans/v36/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSKmu1aB.woff2) format('woff2');
unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 600;
font-stretch: 100%;
src: url(https://fonts.gstatic.com/s/opensans/v36/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSumu1aB.woff2) format('woff2');
unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 600;
font-stretch: 100%;
src: url(https://fonts.gstatic.com/s/opensans/v36/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSOmu1aB.woff2) format('woff2');
unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 600;
font-stretch: 100%;
src: url(https://fonts.gstatic.com/s/opensans/v36/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSymu1aB.woff2) format('woff2');
unicode-range: U+0370-03FF;
}
/* hebrew */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 600;
font-stretch: 100%;
src: url(https://fonts.gstatic.com/s/opensans/v36/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS2mu1aB.woff2) format('woff2');
unicode-range: U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
}
/* vietnamese */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 600;
font-stretch: 100%;
src: url(https://fonts.gstatic.com/s/opensans/v36/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSCmu1aB.woff2) format('woff2');
unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 600;
font-stretch: 100%;
src: url(https://fonts.gstatic.com/s/opensans/v36/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTSGmu1aB.woff2) format('woff2');
unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 600;
font-stretch: 100%;
src: url(https://fonts.gstatic.com/s/opensans/v36/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-muw.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

View File

@ -0,0 +1,755 @@
/* Presupuesto Safekat */
body {
font-family: 'Open Sans', sans-serif;
}
body table.logo {
width: 100%;
color: black;
}
body table.logo td.logo img {
width: 100%;
}
body table.presupuesto-data {
width: 100%;
font-size: 12px;
}
body table.presupuesto-data th {
background: black;
color: white;
padding: 6px;
}
body table.presupuesto-data th.intro_presupuesto {
width: 20%;
padding-left: 15px;
}
body table.presupuesto-data th.num_presupuesto {
width: 10%;
font-weight: lighter;
}
body table.presupuesto-data th.intro_cliente {
width: 11%;
padding-left: 15px;
}
body table.presupuesto-data th.letra {
font-size: 9px;
}
body table.presupuesto-data th.cliente {
width: 38%;
font-weight: lighter;
text-transform: uppercase;
}
body table.presupuesto-data th.intro_fecha {
width: 10%;
}
body table.presupuesto-data th.fecha {
width: 10%;
text-align: right;
font-weight: lighter;
}
body table.presupuesto-data td {
background: #e3e4e7;
padding-left: 15px;
}
body table.presupuesto-data td.titulo {
padding-top: 5px;
}
body table.presupuesto-data td div.intro-coleccion,
body table.presupuesto-data td div.intro_autor {
font-weight: bold;
padding-bottom: 10px;
}
body table.presupuesto-data td.coleccion,
body table.presupuesto-data td.autor {
padding-top: 3px;
padding-bottom: 10px;
}
body table.impresion {
width: 100%;
font-size: 11px;
margin-bottom: 9px;
margin-top: 8px;
}
body table.impresion th {
color: white;
font-size: 12px;
font-weight: lighter;
background: #8ac948;
padding: 3px;
padding-left: 8px;
}
body table.impresion td {
border-bottom: 1px dotted black;
padding: 3px;
font-family: 'Open Sans', sans-serif;
}
body table.impresion td.t {
width: 18%;
font-weight: bold;
border-right: 1px dotted black;
}
body table.impresion td.t-first {
width: 8%;
font-weight: bold;
border-left: 1px dotted black;
border-right: 1px dotted black;
}
body table.impresion td.t-second {
width: 11%;
font-weight: bold;
border-left: 1px dotted black;
border-right: 1px dotted black;
}
body table.impresion td.v {
width: 12%;
}
body table.impresion td.v-second {
width: 11%;
}
body table.impresion td.v-first {
width: 40%;
}
body table.cubierta {
width: 100%;
font-size: 11px;
margin-bottom: 9px;
}
body table.cubierta th {
background: #0C2C84;
color: white;
font-size: 12px;
font-weight: lighter;
padding: 3px;
padding-left: 8px;
}
body table.cubierta td {
border-bottom: 1px dotted black;
padding: 3px;
}
body table.cubierta td.t {
width: 18%;
font-weight: bold;
border-right: 1px dotted black;
}
body table.cubierta td.t-first,
body table.cubierta td.t-second,
body table.cubierta td.t-third,
body table.cubierta tdv.second {
width: 8%;
font-weight: bold;
border-left: 1px dotted black;
border-right: 1px dotted black;
}
body table.cubierta td.v {
width: 10%;
}
body table.cubierta td.v-third {
width: 12%;
}
body table.cubierta td.v-first {
width: 28%;
}
body table.encuadernacion {
width: 100%;
font-size: 11px;
margin-bottom: 9px;
}
body table.encuadernacion th {
color: white;
font-size: 12px;
font-weight: lighter;
background: #8ac948;
padding: 3px;
padding-left: 8px;
}
body table.encuadernacion td {
border-bottom: 1px dotted black;
padding: 3px;
}
body table.encuadernacion td.t {
width: 18%;
font-weight: bold;
border-right: 1px dotted black;
}
body table.encuadernacion td.v {
width: 46%;
}
body table.encuadernacion td.v-first {
width: 7%;
border-left: 1px dotted black;
border-right: 1px dotted black;
}
body table.encuadernacion tdv.second {
width: 8%;
border-left: 1px dotted black;
border-right: 1px dotted black;
}
body table.encuadernacion td.t-first {
width: 8%;
font-weight: bold;
border-left: 1px dotted black;
border-right: 1px dotted black;
}
body table.encuadernacion td.t-second {
width: 9%;
font-weight: bold;
border-right: 1px dotted black;
}
body table.extras {
width: 100%;
font-size: 11px;
margin-bottom: 9px;
}
body table.extras th {
color: white;
font-size: 12px;
font-weight: lighter;
background: #0C2C84;
padding: 3px;
padding-left: 8px;
}
body table.extras td {
border-bottom: 1px dotted black;
padding: 3px;
}
body table.extras td.t {
width: 18%;
font-weight: bold;
border-right: 1px dotted black;
}
body table.envio {
width: 100%;
font-size: 11px;
margin-bottom: 9px;
}
body table.envio th {
color: white;
font-size: 12px;
font-weight: lighter;
background: #8ac948;
padding: 3px;
padding-left: 8px;
}
body table.envio td {
border-bottom: 1px dotted black;
padding: 3px;
}
body table.envio td.v {
width: 12%;
border-right: 1px dotted black;
}
body table.envio td.t-ejemplares,
body table.envio td.t {
width: 9%;
font-weight: bold;
border-right: 1px dotted black;
}
body table.envio td.t-second {
width: 4%;
border-right: 1px dotted black;
font-weight: bold;
}
body table.envio td.v-second {
width: 5%;
}
body table.envio td.v-first,
body table.envio td.v-third {
width: 12%;
border-right: 1px dotted black;
}
body table.envio td.v-third {
width: 16%;
border-right: 1px dotted black;
}
body table.envio td.t-first,
body table.envio td.t-third,
body table.envio td.t-fourth,
body table.envio td.t-first-direccion,
body table.envio td.t-first {
width: 8%;
font-weight: bold;
border-left: 1px dotted black;
border-right: 1px dotted black;
}
body table.totales {
width: 64%;
text-align: center;
}
body table.totales th {
width: 12%;
font-weight: bold;
font-size: 12px;
text-align: center;
color: white;
background: #0C2C84;
padding: 3px;
}
body table.totales th.u_envio_21 {
width: 16%;
}
body table.totales th.hidden {
background: none;
}
body table.totales td {
font-size: 12px;
font-weight: bold;
text-align: center;
border: 1px dotted #4e4e4e;
border-top: none;
padding: 3px;
}
body table.totales td.tirada {
width: 12%;
border-left: none;
}
body table.totales td.precio,
body table.totales td.u_impresion_4 {
width: 12%;
}
body table.totales td.precio_ud {
width: 12%;
border-right: none;
}
body table.totales td.iva {
border: none;
text-align: right;
font-size: 10px;
}
body table.totales td.hidden {
border: none !important;
}
/* Presupuesto Manual */
table.presupuesto-data td {
background: #e3e4e7;
padding-left: 15px;
}
table.presupuesto-data td.descripcion {
padding-top: 10px;
padding-bottom: 10px;
}
table.presupuesto-manual-lineas {
width: 100%;
margin-top: 20px;
border-spacing: 0;
border-collapse: collapse;
}
table.presupuesto-manual-lineas tr.head-lineas-manual {
background: #688BC0;
color: white;
}
table.presupuesto-manual-lineas th {
font-size: 11pt;
font-weight: lighter;
padding: 5px !important;
color: white;
border-right: 1px solid white;
}
table.presupuesto-manual-lineas td {
padding: 10px !important;
font-size: 9pt;
color: black;
border: 1px dotted #4e4e4e;
border-top: none;
}
table.presupuesto-manual-lineas td.num_unidades {
border-left: none;
}
table.presupuesto-manual-lineas td.concepto {
border-right: none;
}
table.presupuesto-manual-lineas td.precio_unidad {
text-align: right;
}
table.presupuesto-manual-lineas td.total {
border-right: none;
text-align: right;
}
table.totales-manual {
width: 25%;
margin-top: 15px;
text-align: center;
padding: 3px;
}
table.totales-manual th {
font-weight: lighter;
font-size: 10pt;
padding: 5px;
text-align: center;
color: white;
background: #688BC0;
border-right: 1px solid white;
}
table.totales-manual td {
font-size: 9pt;
padding: 5px;
text-align: center;
border: 1px dotted #4e4e4e;
border-top: none;
}
table.totales-manual td.precio {
border-left: none;
border-right: none;
}
table.totales-manual td.iva {
border: none;
text-align: right;
font-size: 8pt;
}
.observaciones {
color: #0C2C84;
font-weight: bold;
margin-bottom: 0px;
}
div.comentarios {
font-size: 9pt;
border: 1px solid #ddd;
margin-top: 5px;
padding-left: 10px;
padding-right: 10px;
}
div.footer {
font-size: 10pt;
text-align: left;
}
div.footer .texto-email {
font-weight: bold;
}
div.footer .texto-asteriscos {
font-size: 11px;
}
div.footer .texto-presupuesto {
color: black;
margin-top: 10px;
font-size: 7pt;
}
div.footer.servicios {
margin-top: 20px;
}
div.footer.tirada {
margin-top: 0px;
}
div.footer.sin-servicios {
margin-top: 82px;
}
/* Presup. y pedido maquetacion */
table.pedido-maquetacion-lineas {
width: 100%;
}
table.pedido-maquetacion-lineas td {
padding: 3px;
}
table.pedido-maquetacion-totales {
margin-top: 10px;
margin-bottom: 60px;
}
table.pedido-maquetacion-totales td.iva_right {
font-size: 10px;
margin-top: 2px;
}
#tablacentral {
border-top-width: 0;
border-left-width: 1px;
border-right-width: 1px;
border-bottom-width: 0;
text-align: center;
font-size: 9pt;
}
#tablanoborde {
border-top-width: 0;
border-left-width: 0;
border-right-width: 0;
border-bottom-width: 0;
}
#tabla {
border-style: solid;
border-top-width: 1px;
border-right-width: 1px;
border-bottom-width: 1px;
border-left-width: 1px;
font-size: 7pt;
font-weight: bold;
}
#tabladato {
font-size: 9pt;
font-weight: normal;
float: center;
}
#tablaesquina {
border-style: solid;
border-top-width: 0;
border-right-width: 1px;
border-bottom-width: 1px;
border-left-width: 0;
}
#tdinteriorabajo {
border-top: none;
border-bottom: 1px solid;
border-left: 1px solid;
border-right: 1px solid;
text-align: center;
font-size: 10px;
height: -40px;
}
#tdinteriorarriba {
border-bottom: none;
border-top: 1px solid;
border-left: 1px solid;
border-right: 1px solid;
font-weight: bold;
font-size: 12px;
height: -40px;
padding-left: 2px;
padding-top: 1px;
}
#tdinteriorarribacliente {
border-top: 1px solid;
border-left: 1px solid;
border-bottom: 1px solid;
border-right: none;
font-weight: bold;
font-size: 12px;
height: -40px;
padding-left: 2px;
padding-top: 1px;
}
#tdinteriorarribaclientedato {
border-top: 1px solid;
border-left: none;
border-bottom: 1px solid;
border-right: 1px solid;
font-size: 12px;
height: -40px;
padding-left: 2px;
padding-top: 1px;
}
#tdniarribaniabajo {
border-bottom: none;
border-top: none;
border-left: 1px solid;
border-right: 1px solid;
font-size: 12px;
text-align: center;
}
#tdniarribaniabajoopciones {
border-bottom: none;
border-top: none;
border-left: 1px solid;
border-right: 1px solid;
font-size: 10px;
}
#tdniarribaniabajo2 {
border-bottom: none;
border-top: 1px solid;
border-left: 1px solid;
border-right: 1px solid;
font-size: 12px;
text-align: center;
font-weight: bold;
}
#tdniarribaniabajo3 {
border-bottom: 1px solid;
border-top: none;
border-left: 1px solid;
border-right: 1px solid;
font-size: 12px;
text-align: center;
}
#subtdabajocentro {
border-bottom: 1px solid;
border-top: none;
border-left: 1px solid;
border-right: 1px solid;
text-align: center;
font-size: 9pt;
}
#subtd {
border-top: none;
border-bottom: 1px solid;
border-left: 1px solid;
border-right: 1px solid;
text-align: center;
font-size: 12px;
}
#subtdcen {
border-top: none;
border-bottom: 1px solid #919191;
border-left: 1px solid #919191;
border-right: 1px solid #919191;
text-align: center;
font-size: 12px;
background-color: #77B2D0;
color: white;
}
#subtdizq {
border-top: none;
border-bottom: 1px solid #919191;
border-right: 1px solid #919191;
text-align: center;
font-size: 12px;
color: white;
background-color: #77B2D0;
}
#subtdder {
border-top: none;
border-bottom: 1px solid #919191;
border-left: 1px solid #919191;
text-align: center;
font-size: 12px;
color: white;
background-color: #77B2D0;
}
#tdarriba {
border-bottom: none;
border-top: 1px solid;
border-left: 1px solid;
border-right: 1px solid;
font-size: 12px;
}
#tdarribaopciones {
border-bottom: none;
border-top: 1px solid;
border-left: 1px solid;
border-right: 1px solid;
font-size: 10px;
}
#tdabajo {
border-bottom: 1px solid;
border-top: none;
border-left: 1px solid;
border-right: 1px solid;
font-size: 12px;
}
#dato {
text-align: center;
font-size: 9pt;
}
#subrayado {
font-size: 9pt;
border-bottom: 1px solid;
}
#td {
font-size: 12px;
}
#tdopciones {
font-size: 10px;
}