diff --git a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_previewItems.php b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_previewItems.php
index a70f3660..9bcbc8c9 100755
--- a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_previewItems.php
+++ b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/_previewItems.php
@@ -483,8 +483,6 @@
= lang("Presupuestos.previewForma") ?>
TBD
- = lang("Presupuestos.previewFormas") ?>
- TBD
@@ -562,8 +560,6 @@
= lang("Presupuestos.previewForma") ?>
TBD
- = lang("Presupuestos.previewFormas") ?>
- TBD
@@ -773,13 +769,13 @@ $('#tab-pv-colorhq').on( "click", function() {
$('#tab-pv-rot-bn').on( "click", function() {
- getObjetoLP('rot_bn');
+ previewRotativa('rot_bn');
} );
$('#tab-pv-rot-color').on( "click", function() {
- getObjetoLP('rot_color');
+ previewRotativa('rot_color');
} );
@@ -791,8 +787,7 @@ $('#tab-pv-cubierta').on( "click", function() {
$('#tab-pv-esquema-cubierta').on( "click", function() {
- getObjetoEC();
- previewEsquemaCubierta(objEC);
+ previewEsquemaCubierta('ec');
} );
diff --git a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/previews.js b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/previews.js
index 0e0aceb1..e1e8b8d4 100755
--- a/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/previews.js
+++ b/ci4/app/Views/themes/backend/vuexy/form/presupuestos/cosidotapablanda/previews.js
@@ -2,9 +2,6 @@
var _isCosido = true;
var _offsetSolapas = 2; // millimeters
-
-var objEC;
-
var pvObj;
@@ -96,15 +93,125 @@ function previewInteriorPlana(lpTagName) {
_pvPlana.update();
}
+function previewRotativa(lpTagName) {
-function previewEsquemaCubierta(objEC) {
+ // Local parameters
+ let styleText = {size: 12, family: 'Public Sans'};
+ let margenTop = 3;
+ let guardaV = 0;
+ guardaH = 0;
+
+ // Get the preview Object parameters
+ getObjetoLP(lpTagName);
+
+ // Calculos
+ // Configuracion de las guardas
+ // Guarda vertical
+ if (pvObj.nFormasV > 1) {
+ guardaV = 3;
+ }
+ // Guarda horizontal
+ if (pvObj.nFormasH > 1) {
+ guardaH = 3;
+ }
+ // Constantes relativas al libro
+ let LVo = pvObj.altoForma / 2;
+ let LHo = pvObj.anchoForma / 2;
+
+ // offset Y
+ let nTopForms = (pvObj.altoImpresion / 2.0 - margenTop) / (LVo + guardaV);
+ let yOffset = LVo * getDecimalPart(nTopForms);
+
+ //console.log(yOffset);
+
+ // Clear the canvas element
+ $('#pv_' + pvObj.idIndex + '_shape').empty();
+ // Get the element for placing the graphical elements
+ var divRotativa = document.getElementById('pv_' + pvObj.idIndex + '_shape');
+ var _pvRotativa = new Two({fitted: true}).appendTo(divRotativa);
+ // Calculate the center of the canvas element
+ var origenRotativa = new Two.Vector(_pvRotativa.width / 2, _pvRotativa.height / 2);
+
+ var areaMaquinaRotativa = _pvRotativa.makeRectangle(
+ origenRotativa.x,
+ origenRotativa.y,
+ pvObj.anchoMaquina,
+ pvObj.altoMaquina);
+ areaMaquinaRotativa.stroke = 'black';
+ areaMaquinaRotativa.fill = '#E69F6E';
+ areaMaquinaRotativa.linewidth = 1;
+
+ var areaImpresionRotativa = _pvRotativa.makeRectangle(
+ origenRotativa.x,
+ origenRotativa.y,
+ pvObj.anchoImpresion,
+ pvObj.altoImpresion);
+ areaImpresionRotativa.stroke = 'red';
+ areaImpresionRotativa.fill = '#FCEAF1';
+ areaImpresionRotativa.linewidth = 1;
+
+ var areaClickRotativa = _pvRotativa.makeRectangle(
+ origenRotativa.x,
+ origenRotativa.y - (pvObj.altoImpresion / 2 - pvObj.altoClick / 2),
+ pvObj.anchoImpresion - 10,
+ pvObj.altoClick);
+ areaClickRotativa.stroke = 'blue';
+ //areaClickRotativa.fill = '#FCEAF1';
+ areaClickRotativa.linewidth = 2;
+
+ var formas = [];
+
+ for (let iV = 0; iV < pvObj.nFormasV; iV++) {
+
+ for (let iH = 0; iH < pvObj.nFormasH; iH++) {
+
+ let _offsetX = ((((pvObj.nFormasH - 1) - 2 * iH) * LHo) + (((pvObj.nFormasH - 1) / 2 - iH) * guardaH));
+ let _offsetY = ((((pvObj.nFormasV - 1) - 2 * iV) * LVo) + (((pvObj.nFormasV - 1) / 2 - iV) * guardaV));
+
+ formas[iV + iH] = _pvRotativa.makeRectangle(
+ origenRotativa.x + _offsetX,
+ (origenRotativa.y - yOffset) + _offsetY,
+ pvObj.anchoForma,
+ pvObj.altoForma);
+ formas[iV + iH].stroke = 'grey';
+ formas[iV + iH].fill = '#F4F8F2';
+ formas[iV + iH].linewidth = 1;
+
+ // Texts
+ _pvRotativa.makeText(pvObj.altoForma, (origenRotativa.x + _offsetX) + (pvObj.anchoForma / 2 - 25), ((origenRotativa.y - yOffset) + _offsetY), styleText);
+ _pvRotativa.makeText(pvObj.anchoForma, (origenRotativa.x + _offsetX), ((origenRotativa.y - yOffset) + _offsetY) + (pvObj.altoForma / 2 - 15), styleText);
+
+ }
+
+ }
+
+ // Texts
+ //_pvPlana.makeText(cubiertaObj.altoLibro, origenPlana.x + (fullBookWith / 2 - 25), origenPlana.y, styles);
+ //_pvPlana.makeText(fullBookWith, origenPlana.x, origenPlana.y + (cubiertaObj.altoLibro / 2 - 15), styles);
+
+ _pvRotativa.update();
+
+
+}
+
+function getDecimalPart(floatNumber) {
+ let int_part = Math.trunc(floatNumber); // returns 3
+ let float_part = Number((floatNumber - int_part).toFixed(2)); // return 0.2
+ return float_part;
+}
+
+
+function previewEsquemaCubierta(lpTagName) {
// Variables locales
let altoLibro, anchoLibro, lomoLibro, anchoSolapa, anchoCubierta, altoSangrado, anchoSangrado;
let styleCotas = {size: 12, family: 'Public Sans'};
+ // Get the preview Object parameters
+ getObjetoLP(lpTagName);
+
// Definicion de los parametros del Esquema de Cubierta (EC)
- if (objEC.anchoSolapa == 0) {
+ if (pvObj.anchoSolapa == 0) {
anchoSangrado = 600; // px
altoSangrado = (anchoSangrado * 0.647 > 350) ? anchoSangrado * 0.647 : 350; // px
altoLibro = altoSangrado * 0.97;
@@ -142,7 +249,7 @@ function previewEsquemaCubierta(objEC) {
sangrado.fill = '#FCEAF1';
sangrado.linewidth = 1;
- if (objEC.anchoSolapa != 0) {
+ if (pvObj.anchoSolapa != 0) {
var solapas = previewEC.makeRectangle(
origenEC.x,
origenEC.y,
@@ -172,8 +279,8 @@ function previewEsquemaCubierta(objEC) {
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(objEC.anchoSolapa + " mm", origenEC.x - anchoLibro - (lomoLibro + anchoSolapa) / 2, origenEC.y - (altoLibro / 3) + 15, styleCotas);
- previewEC.makeText(objEC.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);
+ previewEC.makeText(pvObj.anchoSolapa + " mm", origenEC.x + anchoLibro + (lomoLibro + anchoSolapa) / 2, origenEC.y - (altoLibro / 3) + 15, styleCotas);
}
@@ -245,11 +352,11 @@ function previewEsquemaCubierta(objEC) {
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(objEC.lomoLibro + " mm", origenEC.x, origenEC.y + (altoLibro / 3) + 15, styleCotas);
- previewEC.makeText(objEC.anchoLibro + offsetSolapaValor + " mm", origenEC.x - (lomoLibro / 2 + anchoLibro / 2), origenEC.y - (altoLibro / 3) + 15, styleCotas);
- previewEC.makeText(objEC.anchoLibro + offsetSolapaValor + " mm", origenEC.x + (lomoLibro / 2 + anchoLibro / 2), origenEC.y - (altoLibro / 3) + 15, styleCotas);
- previewEC.makeText(objEC.altoLibro + (2 * sangradoValor) + " mm", origenEC.x + (lomoLibro / 2 + anchoLibro + anchoSolapa) + 50, origenEC.y, styleCotas).rotation = -Math.PI / 2;
- previewEC.makeText((2 * objEC.anchoLibro) + (2 * (objEC.anchoSolapa + offsetSolapaValor)) + objEC.lomoLibro + (2 * sangradoValor) + " mm",
+ 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 + (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);
@@ -267,30 +374,6 @@ function getLomoLibro() {
return parseFloat(_anchoLomo.toFixed(2));
}
-function getObjetoEC() {
- let _anchoLomo = 0;
- $("#tableLineasPresupuesto tbody tr:visible td input[id*='_lomo']").each(function () {
- _anchoLomo += parseFloat($(this).val());
- });
-
- objEC = {
- altoLibro: getDimensionLibro().alto,
- anchoLibro: getDimensionLibro().ancho,
- anchoSolapa: parseFloat($('#solapas_ancho').val()),
- lomoLibro: parseFloat(_anchoLomo.toFixed(2))
- };
-
- // Update preview info fields
- $('#pv_ec_pg').attr("href", $('#pv_ec_pg').attr('sk-url') + $('#lp_cubierta_papel').val());
- $('#pv_ec_pi').attr("href", $('#pv_ec_pi').attr('sk-url') + $('#lp_cubierta_papelImpresion').val());
- $('#pv_ec_mi').attr("href", $('#pv_ec_mi').attr('sk-url') + $('#lp_cubierta_maquina').val());
- $('#pv_ec_libro').text(objEC.anchoLibro + "X" + objEC.altoLibro);
- $('#pv_ec_lomo').text(objEC.lomoLibro);
- $('#pv_ec_solapas').text(objEC.anchoSolapa);
- (objEC.anchoSolapa != 0) ? $('.pv-ec-solapas').show() : $('.pv-ec-solapas').hide();
-
-}
-
function getObjetoLP(lpName) {
@@ -341,16 +424,32 @@ function getObjetoLP(lpName) {
(pvObj.anchoSolapa != 0) ? $('.pv-solapas').show() : $('.pv-solapas').hide();
// Custom overwrites
- switch (pvObj.idIndex){
+ switch (pvObj.idIndex) {
case 'cubierta':
pvObj.anchoForma = ((2 * pvObj.anchoLibro) + (2 * (pvObj.anchoSolapa + _offsetSolapas)) + pvObj.lomoLibro);
$(pvName + '_forma').text(pvObj.anchoForma + "x" + pvObj.altoForma);
break;
+ case 'ec':
+ $(pvName + '_pg').attr("href", $(pvName + '_pg').attr('sk-url') + $('#lp_cubierta_papel').val());
+ $(pvName + '_pi').attr("href", $(pvName + '_pi').attr('sk-url') + $('#lp_cubierta_papelImpresion').val());
+ $(pvName + '_mi').attr("href", $(pvName + '_mi').attr('sk-url') + $('#lp_cubierta_maquina').val());
+ $('#pv_ec_lomo').text(pvObj.lomoLibro);
+ break;
+
+ case 'rot_bn':
+ case 'rot_color':
+ pvObj.anchoMaquina = 520;
+ pvObj.altoMaquina= 800;
+ pvObj.anchoImpresion= 515;
+ pvObj.altoImpresion= 800;
+ pvObj.nFormasH = 1;
+ pvObj.nFormasV = 3;
+ pvObj.altoClick = 305;
+ break;
+
default:
break;
}
-
-
}
@@ -363,11 +462,10 @@ function getVisibleTabs() {
$("#" + $(this).attr('id').replace('lp_', 'tab-pv-')).show();
$("#" + $(this).attr('id').replace('lp_', 'tab-pv-esquema-')).show();
} else if ($(this).attr('id').indexOf('_data') > -1) {
- // Discard
- } else if ($(this).attr('id').indexOf('lp_rot_') > -1) {
+ // Do nothing here
+ } else if ($(this).attr('id').indexOf('_rot') > -1) {
$("#" + $(this).attr('id').replace('lp_rot_', 'tab-pv-rot-')).show();
- }
- else {
+ } else {
$("#" + $(this).attr('id').replace('lp_', 'tab-pv-')).show();
}