mirror of
https://git.imnavajas.es/jjimenez/safekat.git
synced 2025-07-25 22:52:08 +00:00
Integrando preview de cliente
This commit is contained in:
@ -39,7 +39,9 @@
|
||||
<div class="col-sm-6">
|
||||
<h4 id="resumenTotalIVA" class="mb-1">Total: 100€</h4>
|
||||
<h6 id="resumenPrecioU" class="mb-0">10.4€/ud</h6>
|
||||
|
||||
<div id="shape-container">
|
||||
<div id="pv_ec_shape" style="width:95%;height:550px;margin:2.5% auto;"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
735
ci4/app/Views/themes/vuexy/form/presupuestos/cliente/previews.js
Normal file
735
ci4/app/Views/themes/vuexy/form/presupuestos/cliente/previews.js
Normal file
@ -0,0 +1,735 @@
|
||||
// Global parameters
|
||||
var pvObj;
|
||||
|
||||
$('#toReview').on( "click", function() {
|
||||
|
||||
console.log('ec draw');
|
||||
|
||||
portadaTapaDura();
|
||||
|
||||
//previewEsquemaCubierta('ec', '','');
|
||||
|
||||
} );
|
||||
|
||||
|
||||
function previewEsquemaCubierta() {
|
||||
|
||||
/*let tipoImpresion;
|
||||
|
||||
if ($("#tipoCosido").is(":checked")) {
|
||||
tipoImpresion = parseInt()
|
||||
}
|
||||
|
||||
let tipoImpresion = parseInt($('#tipo_impresion_id').val());
|
||||
|
||||
// Fresado TD y Cosido TD
|
||||
if (tipoImpresion === 1 || tipoImpresion === 3) {
|
||||
portadaTapaDura();
|
||||
}
|
||||
// Fresado TB y Cosido TB
|
||||
else if (tipoImpresion === 2 || tipoImpresion === 4) {
|
||||
portadaTapaBlanda();
|
||||
}
|
||||
// Espiral TD y TB, Wire-o TD y TB
|
||||
else if (tipoImpresion === 5 || tipoImpresion === 6 ||
|
||||
tipoImpresion === 7 || tipoImpresion === 8) {
|
||||
portadaEspiral();
|
||||
}
|
||||
else if (tipoImpresion === 21) {
|
||||
portadaGrapado();
|
||||
}
|
||||
else {
|
||||
// ?
|
||||
}*/
|
||||
|
||||
}
|
||||
|
||||
function portadaTapaDura() {
|
||||
|
||||
// Variables locales
|
||||
let altoLibro, anchoLibro, lomoLibro, anchoCubierta, altoSangrado, anchoSangrado;
|
||||
let styleCotas = {size: 12, family: 'Public Sans'};
|
||||
let sangradoTexto = "Sangrado 20 mm";
|
||||
let sangradoValor = parseFloat(20); // mm
|
||||
let anchoPliegue = parseFloat(7); // mm
|
||||
let altoPliegue = parseFloat(7); // mm
|
||||
let anchoCarton = parseFloat(7); // mm
|
||||
|
||||
// Get the preview Object parameters
|
||||
getObjetoToPreview();
|
||||
|
||||
// Definicion de los parametros del Esquema de Cubierta (EC) -
|
||||
anchoSangrado = 400; // px
|
||||
altoSangrado = (anchoSangrado * 0.647 > 350) ? anchoSangrado * 0.647 : 350; // px
|
||||
altoLibro = altoSangrado * 0.88;
|
||||
anchoLibro = anchoSangrado * 0.39;
|
||||
lomoLibro = anchoSangrado * 0.133;
|
||||
anchoCubierta = (2 * anchoLibro) + lomoLibro;
|
||||
|
||||
// Clear the canvas element
|
||||
$('#pv_ec_shape').empty();
|
||||
// Get the element for placing the graphical elements
|
||||
var divEC = document.getElementById('pv_ec_shape');
|
||||
var previewEC = new Two({fitted: true}).appendTo(divEC);
|
||||
// Calculate the center of the canvas element
|
||||
var origenEC = new Two.Vector(previewEC.width / 2, previewEC.height / 2);
|
||||
|
||||
var sangrado = previewEC.makeRectangle(
|
||||
origenEC.x,
|
||||
origenEC.y,
|
||||
anchoSangrado,
|
||||
altoSangrado
|
||||
);
|
||||
sangrado.stroke = 'black';
|
||||
sangrado.dashes = [5, 5];
|
||||
sangrado.fill = '#FCEAF1';
|
||||
sangrado.linewidth = 1;
|
||||
|
||||
var libro = previewEC.makeRectangle(
|
||||
origenEC.x,
|
||||
origenEC.y,
|
||||
((2 * anchoLibro) + lomoLibro),
|
||||
altoLibro);
|
||||
libro.stroke = 'black';
|
||||
libro.linewidth = 1;
|
||||
|
||||
var lomo = previewEC.makeRectangle(
|
||||
origenEC.x,
|
||||
origenEC.y,
|
||||
lomoLibro,
|
||||
altoLibro);
|
||||
lomo.stroke = 'black';
|
||||
lomo.fill = '#F4F8F2';
|
||||
lomo.linewidth = 1;
|
||||
|
||||
// Cotas
|
||||
var cotaAnchoCubierta = previewEC.makeDobleArrow(
|
||||
origenEC.x - (anchoSangrado / 2),
|
||||
origenEC.y + (altoLibro / 2) + 35,
|
||||
origenEC.x + (anchoSangrado / 2),
|
||||
origenEC.y + (altoLibro / 2) + 35,
|
||||
10);
|
||||
cotaAnchoCubierta.linewidth = 2;
|
||||
var cotaAltoCubierta = previewEC.makeDobleArrow(
|
||||
origenEC.x + (anchoCubierta / 2) + 35,
|
||||
origenEC.y + (altoSangrado / 2),
|
||||
origenEC.x + (anchoCubierta / 2) + 35,
|
||||
origenEC.y - (altoSangrado / 2),
|
||||
10);
|
||||
cotaAltoCubierta.linewidth = 2;
|
||||
var cotaAltoLibro = previewEC.makeDobleArrow(
|
||||
origenEC.x + (lomoLibro / 2) + 35,
|
||||
origenEC.y + (altoLibro / 2),
|
||||
origenEC.x + (lomoLibro / 2) + 35,
|
||||
origenEC.y - (altoLibro / 2),
|
||||
10);
|
||||
cotaAltoLibro.linewidth = 2;
|
||||
var cotaLomo = previewEC.makeDobleArrow(
|
||||
origenEC.x - (lomoLibro / 2),
|
||||
origenEC.y + (altoLibro / 3),
|
||||
origenEC.x + (lomoLibro / 2),
|
||||
origenEC.y + (altoLibro / 3),
|
||||
10);
|
||||
cotaLomo.linewidth = 2;
|
||||
var cotaContraportada = previewEC.makeDobleArrow(
|
||||
origenEC.x - (lomoLibro / 2 + anchoLibro),
|
||||
origenEC.y - (altoLibro / 3),
|
||||
origenEC.x - (lomoLibro / 2),
|
||||
origenEC.y - (altoLibro / 3),
|
||||
10);
|
||||
cotaContraportada.linewidth = 2;
|
||||
var cotaPortada = previewEC.makeDobleArrow(
|
||||
origenEC.x + (lomoLibro / 2),
|
||||
origenEC.y - (altoLibro / 3),
|
||||
origenEC.x + (lomoLibro / 2 + anchoLibro),
|
||||
origenEC.y - (altoLibro / 3),
|
||||
10);
|
||||
cotaPortada.linewidth = 2;
|
||||
|
||||
|
||||
// Textos:
|
||||
// Titulos generales
|
||||
let stylesEC = {size: 22, weight: 'bold', family: 'Public Sans'};
|
||||
previewEC.makeText("Portada", origenEC.x + (lomoLibro + anchoLibro) / 2, origenEC.y, stylesEC);
|
||||
previewEC.makeText("Contraportada", origenEC.x - (lomoLibro + anchoLibro) / 2, origenEC.y, stylesEC);
|
||||
previewEC.makeText("Lomo", origenEC.x, origenEC.y, stylesEC).rotation = -Math.PI / 2;
|
||||
// Sangrados
|
||||
let styleSangrado = {size: 10, family: 'Public Sans', style: 'italic', fill: 'red'};
|
||||
previewEC.makeText(sangradoTexto, origenEC.x, origenEC.y + (altoLibro / 2 + 13), styleSangrado);
|
||||
previewEC.makeText(sangradoTexto, origenEC.x, origenEC.y - (altoLibro / 2 + 13), styleSangrado);
|
||||
previewEC.makeText(sangradoTexto, origenEC.x + (lomoLibro / 2 + anchoLibro + 13), origenEC.y, styleSangrado).rotation = -Math.PI / 2;
|
||||
previewEC.makeText(sangradoTexto, origenEC.x - (lomoLibro / 2 + anchoLibro + 13), origenEC.y, styleSangrado).rotation = -Math.PI / 2;
|
||||
// Cotas
|
||||
previewEC.makeText(pvObj.lomoLibro + anchoCarton + " mm", origenEC.x, origenEC.y + (altoLibro / 3) + 15, styleCotas);
|
||||
previewEC.makeText(pvObj.anchoLibro + anchoPliegue + " mm", origenEC.x - (lomoLibro / 2 + anchoLibro / 2), origenEC.y - (altoLibro / 3) + 15, styleCotas);
|
||||
previewEC.makeText(pvObj.anchoLibro + anchoPliegue + " mm", origenEC.x + (lomoLibro / 2 + anchoLibro / 2), origenEC.y - (altoLibro / 3) + 15, styleCotas);
|
||||
previewEC.makeText(pvObj.altoLibro + altoPliegue + " mm", origenEC.x + (lomoLibro / 2) + 50, origenEC.y, styleCotas).rotation = -Math.PI / 2;
|
||||
previewEC.makeText(pvObj.altoLibro + (2 * sangradoValor) + altoPliegue + " mm", origenEC.x + (lomoLibro / 2 + anchoLibro) + 50, origenEC.y, styleCotas).rotation = -Math.PI / 2;
|
||||
previewEC.makeText((2 * pvObj.anchoLibro) + pvObj.lomoLibro + (2 * sangradoValor) + +(2 * anchoPliegue) + anchoCarton + " mm",
|
||||
origenEC.x,
|
||||
origenEC.y + (altoLibro / 2) + 50,
|
||||
styleCotas);
|
||||
|
||||
previewEC.update();
|
||||
|
||||
}
|
||||
|
||||
function portadaTapaBlanda() {
|
||||
|
||||
// Variables locales
|
||||
let altoLibro, anchoLibro, lomoLibro, anchoSolapa, anchoCubierta, altoSangrado, anchoSangrado;
|
||||
let styleCotas = {size: 12, family: 'Public Sans'};
|
||||
let sangradoTexto = "Sangrado 5 mm";
|
||||
let sangradoValor = parseFloat(5); // mm
|
||||
let offsetSolapaValor = parseFloat(0); // mm
|
||||
|
||||
// Get the preview Object parameters
|
||||
getObjetoToPreview();
|
||||
|
||||
// Definicion de los parametros del Esquema de Cubierta (EC)
|
||||
if (pvObj.anchoSolapa == 0) {
|
||||
anchoSangrado = 600; // px
|
||||
altoSangrado = (anchoSangrado * 0.647 > 350) ? anchoSangrado * 0.647 : 350; // px
|
||||
altoLibro = altoSangrado * 0.97;
|
||||
anchoLibro = anchoSangrado * 0.419;
|
||||
anchoSolapa = 0;
|
||||
lomoLibro = anchoSangrado * 0.133;
|
||||
anchoCubierta = (2 * anchoLibro) + (2 * anchoSolapa) + lomoLibro;
|
||||
|
||||
} else {
|
||||
anchoSangrado = 600; // px
|
||||
altoSangrado = (anchoSangrado * 0.418 > 350) ? anchoSangrado * 0.418 : 350; // px
|
||||
altoLibro = altoSangrado * 0.95;
|
||||
anchoLibro = anchoSangrado * 0.28;
|
||||
anchoSolapa = anchoSangrado * 0.163;
|
||||
lomoLibro = anchoSangrado * 0.09;
|
||||
anchoCubierta = (2 * anchoLibro) + (2 * anchoSolapa) + lomoLibro;
|
||||
}
|
||||
|
||||
// Clear the canvas element
|
||||
$('#pv_ec_shape').empty();
|
||||
// Get the element for placing the graphical elements
|
||||
var divEC = document.getElementById('pv_ec_shape');
|
||||
var previewEC = new Two({fitted: true}).appendTo(divEC);
|
||||
// Calculate the center of the canvas element
|
||||
var origenEC = new Two.Vector(previewEC.width / 2, previewEC.height / 2);
|
||||
|
||||
var sangrado = previewEC.makeRectangle(
|
||||
origenEC.x,
|
||||
origenEC.y,
|
||||
anchoSangrado,
|
||||
altoSangrado
|
||||
);
|
||||
sangrado.stroke = 'black';
|
||||
sangrado.dashes = [5, 5];
|
||||
sangrado.fill = '#FCEAF1';
|
||||
sangrado.linewidth = 1;
|
||||
|
||||
if (pvObj.anchoSolapa != 0) {
|
||||
var solapas = previewEC.makeRectangle(
|
||||
origenEC.x,
|
||||
origenEC.y,
|
||||
anchoCubierta,
|
||||
altoLibro);
|
||||
solapas.stroke = 'black';
|
||||
solapas.linewidth = 1;
|
||||
|
||||
// Cotas Solapas
|
||||
var cotaSolapa2 = previewEC.makeDobleArrow(
|
||||
origenEC.x - anchoCubierta / 2,
|
||||
origenEC.y - (altoLibro / 3),
|
||||
origenEC.x - anchoLibro - lomoLibro / 2,
|
||||
origenEC.y - (altoLibro / 3),
|
||||
10);
|
||||
cotaSolapa2.linewidth = 2;
|
||||
var cotaSolapa1 = previewEC.makeDobleArrow(
|
||||
origenEC.x + anchoCubierta / 2,
|
||||
origenEC.y - (altoLibro / 3),
|
||||
origenEC.x + anchoLibro + lomoLibro / 2,
|
||||
origenEC.y - (altoLibro / 3),
|
||||
10);
|
||||
cotaSolapa1.linewidth = 2;
|
||||
|
||||
// Textos Solapas
|
||||
let stylesSolapa = {size: 18, family: 'Public Sans'};
|
||||
previewEC.makeText("Solapa 1", origenEC.x + anchoLibro + (lomoLibro + anchoSolapa) / 2, origenEC.y, stylesSolapa);
|
||||
previewEC.makeText("Solapa 2", origenEC.x - anchoLibro - (lomoLibro + anchoSolapa) / 2, origenEC.y, stylesSolapa);
|
||||
// Textos Cotas Solapas
|
||||
previewEC.makeText(pvObj.anchoSolapa + " mm", origenEC.x - anchoLibro - (lomoLibro + anchoSolapa) / 2, origenEC.y - (altoLibro / 3) + 15, styleCotas);
|
||||
previewEC.makeText(pvObj.anchoSolapa + " mm", origenEC.x + anchoLibro + (lomoLibro + anchoSolapa) / 2, origenEC.y - (altoLibro / 3) + 15, styleCotas);
|
||||
|
||||
}
|
||||
|
||||
var libro = previewEC.makeRectangle(
|
||||
origenEC.x,
|
||||
origenEC.y,
|
||||
((2 * anchoLibro) + lomoLibro),
|
||||
altoLibro);
|
||||
libro.stroke = 'black';
|
||||
libro.linewidth = 1;
|
||||
|
||||
var lomo = previewEC.makeRectangle(
|
||||
origenEC.x,
|
||||
origenEC.y,
|
||||
lomoLibro,
|
||||
altoLibro);
|
||||
lomo.stroke = 'black';
|
||||
lomo.fill = '#F4F8F2';
|
||||
lomo.linewidth = 1;
|
||||
|
||||
// Cotas
|
||||
var cotaAnchoCubierta = previewEC.makeDobleArrow(
|
||||
origenEC.x - (anchoSangrado / 2),
|
||||
origenEC.y + (altoLibro / 2) + 35,
|
||||
origenEC.x + (anchoSangrado / 2),
|
||||
origenEC.y + (altoLibro / 2) + 35,
|
||||
10);
|
||||
cotaAnchoCubierta.linewidth = 2;
|
||||
var cotaAltoCubierta = previewEC.makeDobleArrow(
|
||||
origenEC.x + (anchoCubierta / 2) + 35,
|
||||
origenEC.y + (altoSangrado / 2),
|
||||
origenEC.x + (anchoCubierta / 2) + 35,
|
||||
origenEC.y - (altoSangrado / 2),
|
||||
10);
|
||||
cotaAltoCubierta.linewidth = 2;
|
||||
var cotaAltoLibro = previewEC.makeDobleArrow(
|
||||
origenEC.x + (lomoLibro / 2) + 35,
|
||||
origenEC.y + (altoLibro / 2),
|
||||
origenEC.x + (lomoLibro / 2) + 35,
|
||||
origenEC.y - (altoLibro / 2),
|
||||
10);
|
||||
cotaAltoLibro.linewidth = 2;
|
||||
var cotaLomo = previewEC.makeDobleArrow(
|
||||
origenEC.x - (lomoLibro / 2),
|
||||
origenEC.y + (altoLibro / 3),
|
||||
origenEC.x + (lomoLibro / 2),
|
||||
origenEC.y + (altoLibro / 3),
|
||||
10);
|
||||
cotaLomo.linewidth = 2;
|
||||
var cotaContraportada = previewEC.makeDobleArrow(
|
||||
origenEC.x - (lomoLibro / 2 + anchoLibro),
|
||||
origenEC.y - (altoLibro / 3),
|
||||
origenEC.x - (lomoLibro / 2),
|
||||
origenEC.y - (altoLibro / 3),
|
||||
10);
|
||||
cotaContraportada.linewidth = 2;
|
||||
var cotaPortada = previewEC.makeDobleArrow(
|
||||
origenEC.x + (lomoLibro / 2),
|
||||
origenEC.y - (altoLibro / 3),
|
||||
origenEC.x + (lomoLibro / 2 + anchoLibro),
|
||||
origenEC.y - (altoLibro / 3),
|
||||
10);
|
||||
cotaPortada.linewidth = 2;
|
||||
|
||||
|
||||
// Textos:
|
||||
// Titulos generales
|
||||
let stylesEC = {size: 22, weight: 'bold', family: 'Public Sans'};
|
||||
previewEC.makeText("Portada", origenEC.x + (lomoLibro + anchoLibro) / 2, origenEC.y, stylesEC);
|
||||
previewEC.makeText("Contraportada", origenEC.x - (lomoLibro + anchoLibro) / 2, origenEC.y, stylesEC);
|
||||
let a = previewEC.makeText("Lomo", origenEC.x, origenEC.y, stylesEC).rotation = -Math.PI / 2;
|
||||
// Sangrados
|
||||
let styleSangrado = {size: 10, family: 'Public Sans', style: 'italic', fill: 'red'};
|
||||
previewEC.makeText(sangradoTexto, origenEC.x, origenEC.y + (altoLibro / 2 + 20), styleSangrado);
|
||||
previewEC.makeText(sangradoTexto, origenEC.x, origenEC.y - (altoLibro / 2 + 20), styleSangrado);
|
||||
previewEC.makeText(sangradoTexto, origenEC.x + (lomoLibro / 2 + anchoLibro + anchoSolapa + 20), origenEC.y, styleSangrado).rotation = -Math.PI / 2;
|
||||
previewEC.makeText(sangradoTexto, origenEC.x - (lomoLibro / 2 + anchoLibro + anchoSolapa + 20), origenEC.y, styleSangrado).rotation = -Math.PI / 2;
|
||||
// Cotas
|
||||
previewEC.makeText(pvObj.lomoLibro + " mm", origenEC.x, origenEC.y + (altoLibro / 3) + 15, styleCotas);
|
||||
previewEC.makeText(pvObj.anchoLibro + offsetSolapaValor + " mm", origenEC.x - (lomoLibro / 2 + anchoLibro / 2), origenEC.y - (altoLibro / 3) + 15, styleCotas);
|
||||
previewEC.makeText(pvObj.anchoLibro + offsetSolapaValor + " mm", origenEC.x + (lomoLibro / 2 + anchoLibro / 2), origenEC.y - (altoLibro / 3) + 15, styleCotas);
|
||||
previewEC.makeText(pvObj.altoLibro + " mm", origenEC.x + (lomoLibro / 2) + 25, origenEC.y, styleCotas).rotation = -Math.PI / 2;
|
||||
previewEC.makeText(pvObj.altoLibro + (2 * sangradoValor) + " mm", origenEC.x + (lomoLibro / 2 + anchoLibro + anchoSolapa) + 50, origenEC.y, styleCotas).rotation = -Math.PI / 2;
|
||||
previewEC.makeText((2 * pvObj.anchoLibro) + (2 * (pvObj.anchoSolapa + offsetSolapaValor)) + pvObj.lomoLibro + (2 * sangradoValor) + " mm",
|
||||
origenEC.x,
|
||||
origenEC.y + (altoLibro / 2) + 50,
|
||||
styleCotas);
|
||||
|
||||
previewEC.update();
|
||||
|
||||
}
|
||||
|
||||
function portadaEspiral() {
|
||||
|
||||
// Variables locales
|
||||
let altoLibro, anchoLibro, anchoCalle, anchoCubierta, altoSangrado, anchoSangrado, anchoSolapa, offsetCubierta;
|
||||
let styleCotas = {size: 12, family: 'Public Sans'};
|
||||
let sangradoTexto = (isTapaDura) ? "Sangrado 20 mm" : "Sangrado 5 mm";
|
||||
let sangradoValor = (isTapaDura) ? parseFloat(20) : parseFloat(5); // mm
|
||||
|
||||
// Get the preview Object parameters
|
||||
getObjetoToPreview();
|
||||
|
||||
// Definicion de los parametros del Esquema de Cubierta (EC)
|
||||
anchoSangrado = 600; // px
|
||||
|
||||
if((pvObj.anchoSolapa !== 0) && (isTapaDura === 0)){
|
||||
altoSangrado = (anchoSangrado * 0.418 > 350) ? anchoSangrado * 0.418 : 350; // px
|
||||
altoLibro = altoSangrado * 0.95;
|
||||
anchoLibro = anchoSangrado * 0.28;
|
||||
anchoCalle = anchoSangrado * 0.02;
|
||||
anchoSolapa = anchoSangrado * 0.163;
|
||||
sangrado = anchoSangrado * 0.03;
|
||||
anchoCubierta = 2 * (anchoLibro + anchoSolapa+ sangrado) + anchoCalle;
|
||||
offsetCubierta = anchoLibro/2 + anchoCalle/2 + anchoSolapa/2 + sangrado;
|
||||
}
|
||||
else {
|
||||
altoSangrado = (anchoSangrado * 0.647 > 350) ? anchoSangrado * 0.647 : 350; // px
|
||||
altoLibro = (isTapaDura) ? altoSangrado * 0.88 : altoSangrado * 0.97;
|
||||
anchoLibro = (isTapaDura) ? anchoSangrado * 0.39 : anchoSangrado * 0.419;
|
||||
anchoCalle = anchoSangrado * 0.02;
|
||||
anchoSolapa = 0;
|
||||
anchoCubierta = (2 * anchoLibro) + (2 * anchoSolapa) + anchoCalle;
|
||||
offsetCubierta = anchoLibro/2 + anchoCalle/2 + anchoSolapa + sangradoValor;
|
||||
}
|
||||
|
||||
// Clear the canvas element
|
||||
$('#pv_ec_shape').empty();
|
||||
// Get the element for placing the graphical elements
|
||||
var divEC = document.getElementById('pv_ec_shape');
|
||||
var previewEC = new Two({fitted: true}).appendTo(divEC);
|
||||
// Calculate the center of the canvas element
|
||||
var origenEC = new Two.Vector(previewEC.width / 2, previewEC.height / 2);
|
||||
|
||||
var sangrado = previewEC.makeRectangle(
|
||||
origenEC.x,
|
||||
origenEC.y,
|
||||
anchoSangrado,
|
||||
altoSangrado
|
||||
);
|
||||
sangrado.stroke = 'black';
|
||||
sangrado.dashes = [5, 5];
|
||||
sangrado.fill = '#FCEAF1';
|
||||
sangrado.linewidth = 1;
|
||||
|
||||
if (pvObj.anchoSolapa != 0) {
|
||||
var solapa1 = previewEC.makeRectangle(
|
||||
origenEC.x + (anchoLibro + anchoCalle/2 + anchoSolapa/2 + sangradoValor),
|
||||
origenEC.y,
|
||||
anchoSolapa,
|
||||
altoLibro);
|
||||
solapa1.stroke = 'black';
|
||||
solapa1.linewidth = 1;
|
||||
|
||||
var solapa2 = previewEC.makeRectangle(
|
||||
origenEC.x - (anchoLibro + anchoCalle/2 + anchoSolapa/2 + sangradoValor),
|
||||
origenEC.y,
|
||||
anchoSolapa,
|
||||
altoLibro);
|
||||
solapa2.stroke = 'black';
|
||||
solapa2.linewidth = 1;
|
||||
|
||||
// Cotas Solapas
|
||||
var cotaSolapa2 = previewEC.makeDobleArrow(
|
||||
origenEC.x - (anchoCalle/2 + sangradoValor + anchoLibro + anchoSolapa),
|
||||
origenEC.y - (altoLibro / 3),
|
||||
origenEC.x - (anchoLibro + sangradoValor + anchoCalle / 2),
|
||||
origenEC.y - (altoLibro / 3),
|
||||
10);
|
||||
cotaSolapa2.linewidth = 2;
|
||||
var cotaSolapa1 = previewEC.makeDobleArrow(
|
||||
origenEC.x + (anchoCalle/2 + sangradoValor + anchoLibro + anchoSolapa),
|
||||
origenEC.y - (altoLibro / 3),
|
||||
origenEC.x + (anchoLibro + sangradoValor + anchoCalle / 2),
|
||||
origenEC.y - (altoLibro / 3),
|
||||
10);
|
||||
cotaSolapa1.linewidth = 2;
|
||||
|
||||
// Textos Solapas
|
||||
let stylesSolapa = {size: 18, family: 'Public Sans'};
|
||||
previewEC.makeText("Solapa 1", origenEC.x + anchoLibro + (anchoCalle + anchoSolapa) / 2, origenEC.y, stylesSolapa);
|
||||
previewEC.makeText("Solapa 2", origenEC.x - anchoLibro - (anchoCalle + anchoSolapa) / 2, origenEC.y, stylesSolapa);
|
||||
// Textos Cotas Solapas
|
||||
previewEC.makeText(pvObj.anchoSolapa + " mm", origenEC.x - anchoLibro - (anchoCalle + anchoSolapa) / 2, origenEC.y - (altoLibro / 3) + 15, styleCotas);
|
||||
previewEC.makeText(pvObj.anchoSolapa + " mm", origenEC.x + anchoLibro + (anchoCalle + anchoSolapa) / 2, origenEC.y - (altoLibro / 3) + 15, styleCotas);
|
||||
|
||||
}
|
||||
|
||||
var portada = previewEC.makeRectangle(
|
||||
origenEC.x + (anchoLibro/2 + anchoCalle/2 + sangradoValor),
|
||||
origenEC.y,
|
||||
anchoLibro,
|
||||
altoLibro);
|
||||
portada.stroke = 'black';
|
||||
portada.linewidth = 1;
|
||||
|
||||
var contraportada = previewEC.makeRectangle(
|
||||
origenEC.x - (anchoLibro/2 + anchoCalle/2 + sangradoValor),
|
||||
origenEC.y,
|
||||
anchoLibro,
|
||||
altoLibro);
|
||||
contraportada.stroke = 'black';
|
||||
contraportada.linewidth = 1;
|
||||
|
||||
var calle = previewEC.makeRectangle(
|
||||
origenEC.x,
|
||||
origenEC.y,
|
||||
anchoCalle,
|
||||
altoSangrado);
|
||||
calle.stroke = 'black';
|
||||
calle.dashes = [2, 5];
|
||||
calle.fill = '#F4F8F2';
|
||||
calle.linewidth = 1;
|
||||
|
||||
// Cotas
|
||||
var cotaAnchoCubierta = previewEC.makeDobleArrow(
|
||||
origenEC.x - (anchoSangrado / 2),
|
||||
origenEC.y + (altoLibro / 2) + 35,
|
||||
origenEC.x + (anchoSangrado / 2),
|
||||
origenEC.y + (altoLibro / 2) + 35,
|
||||
10);
|
||||
cotaAnchoCubierta.linewidth = 2;
|
||||
var cotaAltoCubierta = previewEC.makeDobleArrow(
|
||||
origenEC.x + (anchoSangrado / 2) + 15,
|
||||
origenEC.y + (altoSangrado / 2),
|
||||
origenEC.x + (anchoSangrado / 2) + 15,
|
||||
origenEC.y - (altoSangrado / 2),
|
||||
10);
|
||||
cotaAltoCubierta.linewidth = 2;
|
||||
var cotaAltoLibro = previewEC.makeDobleArrow(
|
||||
origenEC.x + (anchoCalle / 2) + 35,
|
||||
origenEC.y + (altoLibro / 2),
|
||||
origenEC.x + (anchoCalle / 2) + 35,
|
||||
origenEC.y - (altoLibro / 2),
|
||||
10);
|
||||
cotaAltoLibro.linewidth = 2;
|
||||
var cotaContraportada = previewEC.makeDobleArrow(
|
||||
origenEC.x - (anchoCalle / 2 + anchoLibro + sangradoValor),
|
||||
origenEC.y - (altoLibro / 3),
|
||||
origenEC.x - ((anchoCalle / 2) + sangradoValor),
|
||||
origenEC.y - (altoLibro / 3),
|
||||
10);
|
||||
cotaContraportada.linewidth = 2;
|
||||
var cotaPortada = previewEC.makeDobleArrow(
|
||||
origenEC.x + ((anchoCalle / 2) + sangradoValor),
|
||||
origenEC.y - (altoLibro / 3),
|
||||
origenEC.x + (anchoCalle / 2 + anchoLibro + sangradoValor),
|
||||
origenEC.y - (altoLibro / 3),
|
||||
10);
|
||||
cotaPortada.linewidth = 2;
|
||||
|
||||
|
||||
// Textos:
|
||||
// Titulos generales
|
||||
let stylesEC = {size: 22, weight: 'bold', family: 'Public Sans'};
|
||||
previewEC.makeText("Portada",
|
||||
origenEC.x + anchoLibro/2 + anchoCalle/2 + sangradoValor + 15,
|
||||
origenEC.y,
|
||||
stylesEC
|
||||
);
|
||||
previewEC.makeText("Contraportada",
|
||||
origenEC.x - (anchoLibro/2 + anchoCalle/2 + sangradoValor),
|
||||
origenEC.y,
|
||||
stylesEC
|
||||
);
|
||||
// Sangrados
|
||||
let styleSangrado = {size: 10, family: 'Public Sans', style: 'italic', fill: 'red'};
|
||||
previewEC.makeText(sangradoTexto, origenEC.x + offsetCubierta, origenEC.y + (altoLibro / 2 + 13), styleSangrado);
|
||||
previewEC.makeText(sangradoTexto, origenEC.x + offsetCubierta, origenEC.y - (altoLibro / 2 + 13), styleSangrado);
|
||||
previewEC.makeText(sangradoTexto, origenEC.x - offsetCubierta, origenEC.y + (altoLibro / 2 + 13), styleSangrado);
|
||||
previewEC.makeText(sangradoTexto, origenEC.x - offsetCubierta, origenEC.y - (altoLibro / 2 + 13), styleSangrado);
|
||||
previewEC.makeText(sangradoTexto, origenEC.x + (anchoSangrado / 2) - 20, origenEC.y, styleSangrado).rotation = -Math.PI / 2;
|
||||
previewEC.makeText(sangradoTexto, origenEC.x - (anchoSangrado / 2) + 20, origenEC.y, styleSangrado).rotation = -Math.PI / 2;
|
||||
// Cotas
|
||||
previewEC.makeText(pvObj.anchoLibro + " mm", origenEC.x - (offsetCubierta - anchoSolapa/2), origenEC.y - (altoLibro / 3) + 15, styleCotas);
|
||||
previewEC.makeText(pvObj.anchoLibro + " mm", origenEC.x + (offsetCubierta - anchoSolapa/2), origenEC.y - (altoLibro / 3) + 15, styleCotas);
|
||||
previewEC.makeText(pvObj.altoLibro + " mm", origenEC.x + (anchoCalle / 2) + 50, origenEC.y, styleCotas).rotation = -Math.PI / 2;
|
||||
previewEC.makeText(pvObj.altoLibro + (2 * sangradoValor) + " mm",
|
||||
origenEC.x + (anchoSangrado / 2) + 30,
|
||||
origenEC.y,
|
||||
styleCotas
|
||||
).rotation = -Math.PI / 2;
|
||||
previewEC.makeText((2 * pvObj.anchoLibro) + pvObj.lomoLibro + (2 * sangradoValor) + " mm",
|
||||
origenEC.x,
|
||||
origenEC.y + (altoLibro / 2) + 50,
|
||||
styleCotas);
|
||||
|
||||
previewEC.update();
|
||||
|
||||
}
|
||||
|
||||
function portadaGrapado() {
|
||||
|
||||
// Variables locales
|
||||
let altoLibro, anchoLibro, lomoLibro, anchoSolapa, anchoCubierta, altoSangrado, anchoSangrado;
|
||||
let styleCotas = {size: 12, family: 'Public Sans'};
|
||||
let sangradoTexto = "Sangrado 5 mm";
|
||||
let sangradoValor = parseFloat(5); // mm
|
||||
let offsetSolapaValor = parseFloat(0); // mm
|
||||
|
||||
// Get the preview Object parameters
|
||||
getObjetoToPreview();
|
||||
|
||||
// Definicion de los parametros del Esquema de Cubierta (EC)
|
||||
if (pvObj.anchoSolapa == 0) {
|
||||
anchoSangrado = 600; // px
|
||||
altoSangrado = (anchoSangrado * 0.647 > 350) ? anchoSangrado * 0.647 : 350; // px
|
||||
altoLibro = altoSangrado * 0.97;
|
||||
anchoLibro = anchoSangrado * 0.48;
|
||||
anchoSolapa = 0;
|
||||
lomoLibro = 0; // ESTA ES LA DIFERENCIA PARA GRAPADO
|
||||
anchoCubierta = (2 * anchoLibro) + (2 * anchoSolapa) + lomoLibro;
|
||||
|
||||
} else {
|
||||
anchoSangrado = 600; // px
|
||||
altoSangrado = (anchoSangrado * 0.418 > 350) ? anchoSangrado * 0.418 : 350; // px
|
||||
altoLibro = altoSangrado * 0.95;
|
||||
anchoLibro = anchoSangrado * 0.3;
|
||||
anchoSolapa = anchoSangrado * 0.18;
|
||||
lomoLibro = 0; // ESTA ES LA DIFERENCIA PARA GRAPADO
|
||||
anchoCubierta = (2 * anchoLibro) + (2 * anchoSolapa) + lomoLibro;
|
||||
}
|
||||
|
||||
// Clear the canvas element
|
||||
$('#pv_ec_shape').empty();
|
||||
// Get the element for placing the graphical elements
|
||||
var divEC = document.getElementById('pv_ec_shape');
|
||||
var previewEC = new Two({fitted: true}).appendTo(divEC);
|
||||
// Calculate the center of the canvas element
|
||||
var origenEC = new Two.Vector(previewEC.width / 2, previewEC.height / 2);
|
||||
|
||||
var sangrado = previewEC.makeRectangle(
|
||||
origenEC.x,
|
||||
origenEC.y,
|
||||
anchoSangrado,
|
||||
altoSangrado
|
||||
);
|
||||
sangrado.stroke = 'black';
|
||||
sangrado.dashes = [5, 5];
|
||||
sangrado.fill = '#FCEAF1';
|
||||
sangrado.linewidth = 1;
|
||||
|
||||
if (pvObj.anchoSolapa != 0) {
|
||||
var solapas = previewEC.makeRectangle(
|
||||
origenEC.x,
|
||||
origenEC.y,
|
||||
anchoCubierta,
|
||||
altoLibro);
|
||||
solapas.stroke = 'black';
|
||||
solapas.linewidth = 1;
|
||||
|
||||
// Cotas Solapas
|
||||
var cotaSolapa2 = previewEC.makeDobleArrow(
|
||||
origenEC.x - anchoCubierta / 2,
|
||||
origenEC.y - (altoLibro / 3),
|
||||
origenEC.x - anchoLibro - lomoLibro / 2,
|
||||
origenEC.y - (altoLibro / 3),
|
||||
10);
|
||||
cotaSolapa2.linewidth = 2;
|
||||
var cotaSolapa1 = previewEC.makeDobleArrow(
|
||||
origenEC.x + anchoCubierta / 2,
|
||||
origenEC.y - (altoLibro / 3),
|
||||
origenEC.x + anchoLibro + lomoLibro / 2,
|
||||
origenEC.y - (altoLibro / 3),
|
||||
10);
|
||||
cotaSolapa1.linewidth = 2;
|
||||
|
||||
// Textos Solapas
|
||||
let stylesSolapa = {size: 18, family: 'Public Sans'};
|
||||
previewEC.makeText("Solapa 1", origenEC.x + anchoLibro + (lomoLibro + anchoSolapa) / 2, origenEC.y, stylesSolapa);
|
||||
previewEC.makeText("Solapa 2", origenEC.x - anchoLibro - (lomoLibro + anchoSolapa) / 2, origenEC.y, stylesSolapa);
|
||||
// Textos Cotas Solapas
|
||||
previewEC.makeText(pvObj.anchoSolapa + " mm", origenEC.x - anchoLibro - (lomoLibro + anchoSolapa) / 2, origenEC.y - (altoLibro / 3) + 15, styleCotas);
|
||||
previewEC.makeText(pvObj.anchoSolapa + " mm", origenEC.x + anchoLibro + (lomoLibro + anchoSolapa) / 2, origenEC.y - (altoLibro / 3) + 15, styleCotas);
|
||||
|
||||
}
|
||||
|
||||
var libro = previewEC.makeRectangle(
|
||||
origenEC.x,
|
||||
origenEC.y,
|
||||
((2 * anchoLibro) + lomoLibro),
|
||||
altoLibro);
|
||||
libro.stroke = 'black';
|
||||
libro.linewidth = 1;
|
||||
|
||||
var lomo = previewEC.makeRectangle(
|
||||
origenEC.x,
|
||||
origenEC.y,
|
||||
lomoLibro,
|
||||
altoLibro);
|
||||
lomo.stroke = 'black';
|
||||
lomo.fill = '#F4F8F2';
|
||||
lomo.linewidth = 1;
|
||||
|
||||
// Cotas
|
||||
var cotaAnchoCubierta = previewEC.makeDobleArrow(
|
||||
origenEC.x - (anchoSangrado / 2),
|
||||
origenEC.y + (altoLibro / 2) + 35,
|
||||
origenEC.x + (anchoSangrado / 2),
|
||||
origenEC.y + (altoLibro / 2) + 35,
|
||||
10);
|
||||
cotaAnchoCubierta.linewidth = 2;
|
||||
var cotaAltoCubierta = previewEC.makeDobleArrow(
|
||||
origenEC.x + (anchoCubierta / 2) + 35,
|
||||
origenEC.y + (altoSangrado / 2),
|
||||
origenEC.x + (anchoCubierta / 2) + 35,
|
||||
origenEC.y - (altoSangrado / 2),
|
||||
10);
|
||||
cotaAltoCubierta.linewidth = 2;
|
||||
var cotaAltoLibro = previewEC.makeDobleArrow(
|
||||
origenEC.x + (lomoLibro / 2) + 35,
|
||||
origenEC.y + (altoLibro / 2),
|
||||
origenEC.x + (lomoLibro / 2) + 35,
|
||||
origenEC.y - (altoLibro / 2),
|
||||
10);
|
||||
cotaAltoLibro.linewidth = 2;
|
||||
var cotaContraportada = previewEC.makeDobleArrow(
|
||||
origenEC.x - (lomoLibro / 2 + anchoLibro),
|
||||
origenEC.y - (altoLibro / 3),
|
||||
origenEC.x - (lomoLibro / 2),
|
||||
origenEC.y - (altoLibro / 3),
|
||||
10);
|
||||
cotaContraportada.linewidth = 2;
|
||||
var cotaPortada = previewEC.makeDobleArrow(
|
||||
origenEC.x + (lomoLibro / 2),
|
||||
origenEC.y - (altoLibro / 3),
|
||||
origenEC.x + (lomoLibro / 2 + anchoLibro),
|
||||
origenEC.y - (altoLibro / 3),
|
||||
10);
|
||||
cotaPortada.linewidth = 2;
|
||||
|
||||
|
||||
// Textos:
|
||||
// Titulos generales
|
||||
let stylesEC = {size: 22, weight: 'bold', family: 'Public Sans'};
|
||||
previewEC.makeText("Portada", origenEC.x + (lomoLibro + anchoLibro) / 2, origenEC.y, stylesEC);
|
||||
previewEC.makeText("Contraportada", origenEC.x - (lomoLibro + anchoLibro) / 2, origenEC.y, stylesEC);
|
||||
// Sangrados
|
||||
let styleSangrado = {size: 10, family: 'Public Sans', style: 'italic', fill: 'red'};
|
||||
previewEC.makeText(sangradoTexto, origenEC.x, origenEC.y + (altoLibro / 2 + 20), styleSangrado);
|
||||
previewEC.makeText(sangradoTexto, origenEC.x, origenEC.y - (altoLibro / 2 + 20), styleSangrado);
|
||||
previewEC.makeText(sangradoTexto, origenEC.x + (lomoLibro / 2 + anchoLibro + anchoSolapa + 20), origenEC.y, styleSangrado).rotation = -Math.PI / 2;
|
||||
previewEC.makeText(sangradoTexto, origenEC.x - (lomoLibro / 2 + anchoLibro + anchoSolapa + 20), origenEC.y, styleSangrado).rotation = -Math.PI / 2;
|
||||
// Cotas
|
||||
previewEC.makeText(pvObj.anchoLibro + offsetSolapaValor + " mm", origenEC.x - (lomoLibro / 2 + anchoLibro / 2), origenEC.y - (altoLibro / 3) + 15, styleCotas);
|
||||
previewEC.makeText(pvObj.anchoLibro + offsetSolapaValor + " mm", origenEC.x + (lomoLibro / 2 + anchoLibro / 2), origenEC.y - (altoLibro / 3) + 15, styleCotas);
|
||||
previewEC.makeText(pvObj.altoLibro + " mm", origenEC.x + (lomoLibro / 2) + 25, origenEC.y, styleCotas).rotation = -Math.PI / 2;
|
||||
previewEC.makeText(pvObj.altoLibro + (2 * sangradoValor) + " mm", origenEC.x + (lomoLibro / 2 + anchoLibro + anchoSolapa) + 50, origenEC.y, styleCotas).rotation = -Math.PI / 2;
|
||||
previewEC.makeText((2 * pvObj.anchoLibro) + (2 * (pvObj.anchoSolapa + offsetSolapaValor)) + pvObj.lomoLibro + (2 * sangradoValor) + " mm",
|
||||
origenEC.x,
|
||||
origenEC.y + (altoLibro / 2) + 50,
|
||||
styleCotas);
|
||||
|
||||
previewEC.update();
|
||||
|
||||
}
|
||||
|
||||
function getLomoLibro() {
|
||||
const anchoLomoInputs = $("#tableLineasPresupuesto tbody tr:visible td input[id*='_lomo']");
|
||||
const anchoLomo = Array.from(anchoLomoInputs).reduce((sum, input) => sum + parseFloat($(input).val()), 0);
|
||||
|
||||
return parseFloat(anchoLomo.toFixed(2));
|
||||
}
|
||||
|
||||
|
||||
function getObjetoToPreview() {
|
||||
|
||||
pvObj = {
|
||||
lomoLibro: parseFloat('30.0'),
|
||||
anchoSolapa: $('#solapasCubierta').is(':checked') ? parseFloat($('#anchoSolapasCubierta').val()) : parseFloat(0),
|
||||
altoLibro: getDimensionLibro().alto,
|
||||
anchoLibro: getDimensionLibro().ancho
|
||||
};
|
||||
//console.log(pvObj);
|
||||
|
||||
}
|
||||
@ -128,7 +128,7 @@
|
||||
<i class="ti ti-arrow-left ti-xs me-sm-1 me-0"></i>
|
||||
<span class="align-middle d-sm-inline-block d-none me-sm-1">Anterior</span>
|
||||
</button>
|
||||
<button class="btn btn-primary btn-next waves-effect waves-light">
|
||||
<button id="toReview" class="btn btn-primary btn-next waves-effect waves-light">
|
||||
<span class="align-middle d-sm-inline-block d-none me-sm-1">Siguiente</span>
|
||||
<i class="ti ti-arrow-right ti-xs"></i>
|
||||
</button>
|
||||
@ -223,21 +223,23 @@ initDisenioLibro();
|
||||
<?= $this->endSection() ?>
|
||||
|
||||
<?= $this->section('additionalExternalJs') ?>
|
||||
<script src="<?= site_url("themes/vuexy/vendor/libs/bs-stepper/bs-stepper.js") ?>"></script>
|
||||
<script src="<?= site_url("themes/vuexy/vendor/libs/formvalidation/dist/js/FormValidation.min.js") ?>"></script>
|
||||
<script src="<?= site_url("themes/vuexy/vendor/libs/formvalidation/dist/js/plugins/Bootstrap5.min.js") ?>"></script>
|
||||
<script src="<?= site_url("themes/vuexy/vendor/libs/formvalidation/dist/js/plugins/AutoFocus.min.js") ?>"></script>
|
||||
<script src="<?= site_url("themes/vuexy/vendor/libs/datatables-sk/plugins/buttons/dataTables.buttons.min.js") ?>"></script>
|
||||
<script src="<?= site_url("themes/vuexy/vendor/libs/datatables-sk/plugins/buttons/buttons.bootstrap5.min.js") ?>"></script>
|
||||
<script src="<?= site_url("themes/vuexy/vendor/libs/datatables-sk/plugins/buttons/buttons.html5.min.js") ?>"></script>
|
||||
<script src="<?= site_url("themes/vuexy/vendor/libs/datatables-sk/plugins/buttons/buttons.print.min.js") ?>"></script>
|
||||
<script src="<?= site_url("themes/vuexy/vendor/libs/datatables-sk/plugins/select/dataTables.select.min.js") ?>"></script>
|
||||
<script src="<?= site_url('themes/vuexy/js/datatables-editor/dataTables.editor.min.js') ?>"></script>
|
||||
<script src="<?= site_url('themes/vuexy/vendor/libs/autosize/autosize.js') ?>"></script>
|
||||
<script src="<?= site_url('js_loader/translate_js/Presupuestos') ?>"></script>
|
||||
<script src="<?= site_url('js_loader/presupuestoCliente_js') ?>"></script>
|
||||
<script src="<?= site_url('js_loader/presupuestoClienteTipoLibro_js') ?>"></script>
|
||||
<script src="<?= site_url('js_loader/presupuestoClienteDisenioLibro_js') ?>"></script>
|
||||
<script src="<?= site_url('js_loader/presupuestoClienteDirecciones_js') ?>"></script>
|
||||
<script src="<?= site_url('js_loader/presupuestoClienteResumen_js') ?>"></script>
|
||||
<script src="<?= site_url("themes/vuexy/vendor/libs/bs-stepper/bs-stepper.js") ?>"></script>
|
||||
<script src="<?= site_url("themes/vuexy/vendor/libs/formvalidation/dist/js/FormValidation.min.js") ?>"></script>
|
||||
<script src="<?= site_url("themes/vuexy/vendor/libs/formvalidation/dist/js/plugins/Bootstrap5.min.js") ?>"></script>
|
||||
<script src="<?= site_url("themes/vuexy/vendor/libs/formvalidation/dist/js/plugins/AutoFocus.min.js") ?>"></script>
|
||||
<script src="<?= site_url("themes/vuexy/vendor/libs/datatables-sk/plugins/buttons/dataTables.buttons.min.js") ?>"></script>
|
||||
<script src="<?= site_url("themes/vuexy/vendor/libs/datatables-sk/plugins/buttons/buttons.bootstrap5.min.js") ?>"></script>
|
||||
<script src="<?= site_url("themes/vuexy/vendor/libs/datatables-sk/plugins/buttons/buttons.html5.min.js") ?>"></script>
|
||||
<script src="<?= site_url("themes/vuexy/vendor/libs/datatables-sk/plugins/buttons/buttons.print.min.js") ?>"></script>
|
||||
<script src="<?= site_url("themes/vuexy/vendor/libs/datatables-sk/plugins/select/dataTables.select.min.js") ?>"></script>
|
||||
<script src="<?= site_url('themes/vuexy/js/datatables-editor/dataTables.editor.min.js') ?>"></script>
|
||||
<script src="<?= site_url('themes/vuexy/vendor/libs/autosize/autosize.js') ?>"></script>
|
||||
<script src="<?= site_url('themes/vuexy/vendor/libs/two/two.js') ?>"></script>
|
||||
<script src="<?= site_url('js_loader/translate_js/Presupuestos') ?>"></script>
|
||||
<script src="<?= site_url('js_loader/presupuestoCliente_js') ?>"></script>
|
||||
<script src="<?= site_url('js_loader/presupuestoClienteTipoLibro_js') ?>"></script>
|
||||
<script src="<?= site_url('js_loader/presupuestoClienteDisenioLibro_js') ?>"></script>
|
||||
<script src="<?= site_url('js_loader/presupuestoClienteDirecciones_js') ?>"></script>
|
||||
<script src="<?= site_url('js_loader/presupuestoClienteResumen_js') ?>"></script>
|
||||
<script src="<?= site_url('js_loader/presupuestoClientePreview_js') ?>"></script>
|
||||
<?= $this->endSection() ?>
|
||||
Reference in New Issue
Block a user