- Cataloghi: qualita di stampa e margini
This commit is contained in:
@@ -1,5 +1,9 @@
|
||||
$heightBtn: 100%;
|
||||
|
||||
body {
|
||||
line-height: 1.2 !important;
|
||||
}
|
||||
|
||||
.card .product-image {
|
||||
height: 300px;
|
||||
}
|
||||
@@ -64,10 +68,3 @@ $heightBtn: 100%;
|
||||
flex-basis: 100%;
|
||||
height: 0;
|
||||
}
|
||||
|
||||
.first_page{
|
||||
padding-top: 40px;
|
||||
padding-bottom: 40px;
|
||||
padding-left: 30px;
|
||||
padding-right: 30px;
|
||||
}
|
||||
@@ -16,7 +16,6 @@ import { CContainerCatalogoCard } from '@src/components/CContainerCatalogoCard'
|
||||
import { CSelectUserActive } from '@src/components/CSelectUserActive'
|
||||
import { ICatalogo, IFilterCatalogo, IMyScheda, IProdView, IProduct, ISchedaSingola, ISearchList } from 'model'
|
||||
|
||||
import html2canvas from 'html2canvas'
|
||||
// import { VueHtmlToPaper } from 'vue-html-to-paper'
|
||||
import html2pdf from 'html2pdf.js'
|
||||
|
||||
@@ -114,12 +113,10 @@ export default defineComponent({
|
||||
|
||||
watch(() => cat.value, (newval, oldval) => {
|
||||
|
||||
if (cat.value) {
|
||||
if (loadpage.value)
|
||||
tools.setCookie(tools.COOK_CATEGORIA, cat.value.toString())
|
||||
filter.value.author = '' // disattivo il filtro autore
|
||||
resetSearch()
|
||||
}
|
||||
if (loadpage.value)
|
||||
tools.setCookie(tools.COOK_CATEGORIA, cat.value.toString())
|
||||
filter.value.author = '' // disattivo il filtro autore
|
||||
resetSearch()
|
||||
|
||||
calcArrProducts()
|
||||
})
|
||||
@@ -639,27 +636,64 @@ export default defineComponent({
|
||||
|
||||
try {
|
||||
|
||||
let defaultMargin = 0.1
|
||||
if (props.optcatalogo.printable) {
|
||||
defaultMargin = 0
|
||||
} else {
|
||||
defaultMargin = 0
|
||||
}
|
||||
const unit = props.optcatalogo.areadistampa!.unit
|
||||
|
||||
let myformat = { ...props.optcatalogo.areadistampa!.format }
|
||||
|
||||
let scale = props.optcatalogo.areadistampa!.scale
|
||||
let scalecanvas = props.optcatalogo.areadistampa!.scalecanvas
|
||||
|
||||
if (tools.isObject(myformat) && scale > 0) {
|
||||
} else {
|
||||
myformat = [210, 297]
|
||||
}
|
||||
|
||||
|
||||
const formatwidth = (myformat[0] * scale)
|
||||
const formatheight = (myformat[1] * scale)
|
||||
|
||||
let myfile = (props.optcatalogo.pdf_filename ?? 'catalogo_completo')
|
||||
|
||||
myfile += '_' + formatwidth + '_' + formatheight + '_' + unit + '_scale_' + scale
|
||||
|
||||
myfile += '.pdf'
|
||||
|
||||
|
||||
const element = document.getElementById('pdf-content')
|
||||
const opt = {
|
||||
margin: [0.1, 0.1, 0.1, 0.1],
|
||||
filename: (props.optcatalogo.pdf_filename ?? 'catalogo_completo') + '.pdf',
|
||||
margin: [
|
||||
props.optcatalogo.printable ? (parseFloat(props.optcatalogo.areadistampa!.margini?.left) || defaultMargin) : defaultMargin,
|
||||
props.optcatalogo.printable ? (parseFloat(props.optcatalogo.areadistampa!.margini?.top) || defaultMargin) : defaultMargin,
|
||||
props.optcatalogo.printable ? (parseFloat(props.optcatalogo.areadistampa!.margini?.bottom) || defaultMargin) : defaultMargin,
|
||||
props.optcatalogo.printable ? (parseFloat(props.optcatalogo.areadistampa!.margini?.right) || defaultMargin) : defaultMargin
|
||||
],
|
||||
filename: myfile,
|
||||
image: {
|
||||
type: 'jpeg',
|
||||
quality: 0.98
|
||||
},
|
||||
html2canvas: {
|
||||
scale: 2,
|
||||
scale: scalecanvas,
|
||||
useCORS: true,
|
||||
letterRendering: true,
|
||||
},
|
||||
jsPDF: {
|
||||
unit: 'in',
|
||||
format: 'a4',
|
||||
orientation: 'portrait',
|
||||
compress: true
|
||||
unit: unit,
|
||||
format: [formatwidth, formatheight],
|
||||
orientation: props.optcatalogo.areadistampa!.orientation,
|
||||
compress: props.optcatalogo.areadistampa!.compress,
|
||||
},
|
||||
}
|
||||
|
||||
console.log('opt di stampa', opt)
|
||||
// a4: [595.28, 841.89]
|
||||
|
||||
await html2pdf().set(opt).from(element).save()
|
||||
|
||||
$q.loading.hide()
|
||||
@@ -679,10 +713,12 @@ export default defineComponent({
|
||||
}
|
||||
}
|
||||
|
||||
function groupedPages(scheda: IMyScheda) {
|
||||
if (scheda) {
|
||||
const schedePerRiga = scheda.numschede_perRiga || 1
|
||||
const schedePerCol = scheda.numschede_perCol || 1
|
||||
function groupedPages(recscheda: ISchedaSingola) {
|
||||
|
||||
let numschedeattuali = 0
|
||||
if (recscheda.scheda) {
|
||||
const schedePerRiga = recscheda.scheda.numschede_perRiga || 1
|
||||
const schedePerCol = recscheda.scheda.numschede_perCol || 1
|
||||
const schedePerPagina = schedePerRiga * schedePerCol
|
||||
|
||||
let indiceprodotto = 0
|
||||
@@ -707,7 +743,13 @@ export default defineComponent({
|
||||
page.push(row)
|
||||
}
|
||||
|
||||
numschedeattuali++
|
||||
pages.push(page)
|
||||
|
||||
if (recscheda.numSchede! > 0) {
|
||||
if (numschedeattuali >= recscheda.numSchede!)
|
||||
return pages
|
||||
}
|
||||
}
|
||||
|
||||
return pages
|
||||
@@ -725,15 +767,15 @@ export default defineComponent({
|
||||
}
|
||||
|
||||
function generateStylePageScheda(optcatalogo: ICatalogo, scheda: IMyScheda) {
|
||||
const marginTop = scheda.dimensioni?.pagina?.margini?.top ? scheda.dimensioni?.pagina?.margini?.top : (optcatalogo.dimensioni_def?.pagina?.margini?.top ?? '')
|
||||
const marginBottom = scheda.dimensioni?.pagina?.margini?.bottom ? scheda.dimensioni?.pagina?.margini?.bottom : (optcatalogo.dimensioni_def?.pagina?.margini?.bottom ?? '')
|
||||
const marginLeft = scheda.dimensioni?.pagina?.margini?.left ? scheda.dimensioni?.pagina?.margini?.left : (optcatalogo.dimensioni_def?.pagina?.margini?.left ?? '')
|
||||
const marginRight = scheda.dimensioni?.pagina?.margini?.right ? scheda.dimensioni?.pagina?.margini?.right : (optcatalogo.dimensioni_def?.pagina?.margini?.right ?? '')
|
||||
const marginTop = scheda.dimensioni?.pagina?.margini?.top ? tools.adjustSize(props.optcatalogo, scheda.dimensioni?.pagina?.margini?.top) : (tools.adjustSize(props.optcatalogo, optcatalogo.dimensioni_def?.pagina?.margini?.top) ?? '')
|
||||
const marginBottom = scheda.dimensioni?.pagina?.margini?.bottom ? tools.adjustSize(props.optcatalogo, scheda.dimensioni?.pagina?.margini?.bottom) : (tools.adjustSize(props.optcatalogo, optcatalogo.dimensioni_def?.pagina?.margini?.bottom) ?? '')
|
||||
const marginLeft = scheda.dimensioni?.pagina?.margini?.left ? tools.adjustSize(props.optcatalogo, scheda.dimensioni?.pagina?.margini?.left) : (tools.adjustSize(props.optcatalogo, optcatalogo.dimensioni_def?.pagina?.margini?.left) ?? '')
|
||||
const marginRight = scheda.dimensioni?.pagina?.margini?.right ? tools.adjustSize(props.optcatalogo, scheda.dimensioni?.pagina?.margini?.right): (tools.adjustSize(props.optcatalogo, optcatalogo.dimensioni_def?.pagina?.margini?.right) ?? '')
|
||||
|
||||
const paddingTop = scheda.dimensioni?.pagina?.padding?.top ? scheda.dimensioni?.pagina?.padding?.top : (optcatalogo.dimensioni_def?.pagina?.padding?.top ?? '')
|
||||
const paddingBottom = scheda.dimensioni?.pagina?.padding?.bottom ? scheda.dimensioni?.pagina?.padding?.bottom : (optcatalogo.dimensioni_def?.pagina?.padding?.bottom ?? '')
|
||||
const paddingLeft = scheda.dimensioni?.pagina?.padding?.left ? scheda.dimensioni?.pagina?.padding?.left : (optcatalogo.dimensioni_def?.pagina?.padding?.left ?? '')
|
||||
const paddingRight = scheda.dimensioni?.pagina?.padding?.right ? scheda.dimensioni?.pagina?.padding?.right : (optcatalogo.dimensioni_def?.pagina?.padding?.right ?? '')
|
||||
const paddingTop = scheda.dimensioni?.pagina?.padding?.top ? tools.adjustSize(props.optcatalogo, scheda.dimensioni?.pagina?.padding?.top) : (tools.adjustSize(props.optcatalogo, optcatalogo.dimensioni_def?.pagina?.padding?.top) ?? '')
|
||||
const paddingBottom = scheda.dimensioni?.pagina?.padding?.bottom ? tools.adjustSize(props.optcatalogo, scheda.dimensioni?.pagina?.padding?.bottom) : (tools.adjustSize(props.optcatalogo, optcatalogo.dimensioni_def?.pagina?.padding?.bottom) ?? '')
|
||||
const paddingLeft = scheda.dimensioni?.pagina?.padding?.left ? tools.adjustSize(props.optcatalogo, scheda.dimensioni?.pagina?.padding?.left) : (tools.adjustSize(props.optcatalogo, optcatalogo.dimensioni_def?.pagina?.padding?.left) ?? '')
|
||||
const paddingRight = scheda.dimensioni?.pagina?.padding?.right ? tools.adjustSize(props.optcatalogo, scheda.dimensioni?.pagina?.padding?.right) : (tools.adjustSize(props.optcatalogo, optcatalogo.dimensioni_def?.pagina?.padding?.right) ?? '')
|
||||
|
||||
// Esiste un immagine di sfondo specifica della singola pagina ?
|
||||
let fileimg = scheda.dimensioni?.pagina?.imgsfondo?.imagefile
|
||||
@@ -744,15 +786,15 @@ export default defineComponent({
|
||||
|
||||
if (!fileimg) {
|
||||
// Esiste un immagine di sfondo uguali per tutte le pagine ?
|
||||
fileimg = optcatalogo.imgsfondo_def?.imagefile
|
||||
backgroundSize = optcatalogo.imgsfondo_def?.fit
|
||||
fileimg = optcatalogo.dimensioni_def?.pagina.imgsfondo?.imagefile
|
||||
backgroundSize = optcatalogo.dimensioni_def?.pagina.imgsfondo?.fit
|
||||
fileimg = fileimg ? `url(${costanti.DIR_UPLOAD + costanti.DIR_CATALOGO + fileimg})` : ''
|
||||
}
|
||||
|
||||
let backgroundImage = fileimg ?? ''
|
||||
|
||||
const width = scheda.dimensioni?.pagina?.size?.width ? scheda.dimensioni?.pagina?.size?.width : (optcatalogo.dimensioni_def?.pagina?.size?.width ?? '')
|
||||
const height = scheda.dimensioni?.pagina?.size?.height ? scheda.dimensioni?.pagina?.size?.height : (optcatalogo.dimensioni_def?.pagina?.size?.height ?? '')
|
||||
let width = scheda.dimensioni?.pagina?.size?.width ? tools.adjustSize(optcatalogo, scheda.dimensioni?.pagina?.size?.width) : (tools.adjustSize(optcatalogo, optcatalogo.dimensioni_def?.pagina?.size?.width) ?? '')
|
||||
let height = scheda.dimensioni?.pagina?.size?.height ? tools.adjustSize(optcatalogo, scheda.dimensioni?.pagina?.size?.height) : (tools.adjustSize(optcatalogo, optcatalogo.dimensioni_def?.pagina?.size?.height) ?? '')
|
||||
|
||||
return {
|
||||
marginBottom,
|
||||
@@ -773,27 +815,64 @@ export default defineComponent({
|
||||
}
|
||||
|
||||
function getWidthPagina(optcatalogo: ICatalogo, scheda: IMyScheda) {
|
||||
return scheda.dimensioni?.pagina?.size?.width ? scheda.dimensioni?.pagina?.size?.width : (optcatalogo.dimensioni_def?.pagina?.size?.width ?? '')
|
||||
return scheda.dimensioni?.pagina?.size?.width ? tools.adjustSize(optcatalogo, scheda.dimensioni?.pagina?.size?.width) : (tools.adjustSize(optcatalogo, optcatalogo.dimensioni_def?.pagina?.size?.width) ?? '')
|
||||
}
|
||||
function getHeightPagina(optcatalogo: ICatalogo, scheda: IMyScheda) {
|
||||
return scheda.dimensioni?.pagina?.size?.height ? scheda.dimensioni?.pagina?.size?.height : (optcatalogo.dimensioni_def?.pagina?.size?.height ?? '')
|
||||
return scheda.dimensioni?.pagina?.size?.height ? tools.adjustSize(optcatalogo, scheda.dimensioni?.pagina?.size?.height) : (tools.adjustSize(optcatalogo, optcatalogo.dimensioni_def?.pagina?.size?.height) ?? '')
|
||||
}
|
||||
|
||||
function getStyleRowSeparator(recscheda: ISchedaSingola) {
|
||||
const paddingLeft = tools.adjustSize(props.optcatalogo, recscheda.scheda?.dimensioni?.scheda_prodotto?.padding?.left) ?? '0px';
|
||||
const paddingRight = tools.adjustSize(props.optcatalogo, recscheda.scheda?.dimensioni?.scheda_prodotto?.padding?.right) ?? '0px';
|
||||
|
||||
return {
|
||||
paddingLeft: `${paddingLeft}`,
|
||||
paddingRight: `${paddingRight}`,
|
||||
};
|
||||
}
|
||||
|
||||
function getStyleRow(recscheda: ISchedaSingola) {
|
||||
const placeContent = 'center';
|
||||
|
||||
const width = recscheda.scheda?.dimensioni?.scheda_prodotto?.size?.width ?? '100px';
|
||||
const height = recscheda.scheda?.dimensioni?.scheda_prodotto?.size?.height;
|
||||
const width = tools.adjustSize(props.optcatalogo, recscheda.scheda?.dimensioni?.riga?.size?.width) ?? '';
|
||||
const height = tools.adjustSize(props.optcatalogo, recscheda.scheda?.dimensioni?.riga?.size?.height);
|
||||
|
||||
const marginTop = recscheda.scheda?.dimensioni?.scheda_prodotto?.margini?.top ?? '0px';
|
||||
const marginBottom = recscheda.scheda?.dimensioni?.scheda_prodotto?.margini?.bottom ?? '0px';
|
||||
const marginLeft = recscheda.scheda?.dimensioni?.scheda_prodotto?.margini?.left ?? '0px';
|
||||
const marginRight = recscheda.scheda?.dimensioni?.scheda_prodotto?.margini?.right ?? '0px';
|
||||
const marginTop = tools.adjustSize(props.optcatalogo, recscheda.scheda?.dimensioni?.riga?.margini?.top) ?? '0px';
|
||||
const marginBottom = tools.adjustSize(props.optcatalogo, recscheda.scheda?.dimensioni?.riga?.margini?.bottom) ?? '0px';
|
||||
const marginLeft = tools.adjustSize(props.optcatalogo, recscheda.scheda?.dimensioni?.riga?.margini?.left) ?? '0px';
|
||||
const marginRight = tools.adjustSize(props.optcatalogo, recscheda.scheda?.dimensioni?.riga?.margini?.right) ?? '0px';
|
||||
|
||||
const paddingTop = recscheda.scheda?.dimensioni?.scheda_prodotto?.padding?.top ?? '0px';
|
||||
const paddingBottom = recscheda.scheda?.dimensioni?.scheda_prodotto?.padding?.bottom ?? '0px';
|
||||
const paddingLeft = recscheda.scheda?.dimensioni?.scheda_prodotto?.padding?.left ?? '0px';
|
||||
const paddingRight = recscheda.scheda?.dimensioni?.scheda_prodotto?.padding?.right ?? '0px';
|
||||
const paddingTop = tools.adjustSize(props.optcatalogo, recscheda.scheda?.dimensioni?.riga?.padding?.top) ?? '0px';
|
||||
const paddingBottom = tools.adjustSize(props.optcatalogo, recscheda.scheda?.dimensioni?.riga?.padding?.bottom) ?? '0px';
|
||||
const paddingLeft = tools.adjustSize(props.optcatalogo, recscheda.scheda?.dimensioni?.riga?.padding?.left) ?? '0px';
|
||||
const paddingRight = tools.adjustSize(props.optcatalogo, recscheda.scheda?.dimensioni?.riga?.padding?.right) ?? '0px';
|
||||
|
||||
return {
|
||||
placeContent,
|
||||
flex: `0 1 ${width} !important;`,
|
||||
margin: `${marginTop} ${marginRight} ${marginBottom} ${marginLeft}`,
|
||||
padding: `${paddingTop} ${paddingRight} ${paddingBottom} ${paddingLeft}`,
|
||||
...(width ? { width: `${width} !important;` } : {}),
|
||||
...(height ? { height: `${height} !important;` } : {}) // Aggiungi l'altezza solo se è valorizzata
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
function getStyleSchedaProdotto(recscheda: ISchedaSingola) {
|
||||
const placeContent = 'center';
|
||||
|
||||
const width = tools.adjustSize(props.optcatalogo, recscheda.scheda?.dimensioni?.scheda_prodotto?.size?.width) ?? '100px';
|
||||
const height = tools.adjustSize(props.optcatalogo, recscheda.scheda?.dimensioni?.scheda_prodotto?.size?.height);
|
||||
|
||||
const marginTop = tools.adjustSize(props.optcatalogo, recscheda.scheda?.dimensioni?.scheda_prodotto?.margini?.top) ?? '0px';
|
||||
const marginBottom = tools.adjustSize(props.optcatalogo, recscheda.scheda?.dimensioni?.scheda_prodotto?.margini?.bottom) ?? '0px';
|
||||
const marginLeft = tools.adjustSize(props.optcatalogo, recscheda.scheda?.dimensioni?.scheda_prodotto?.margini?.left) ?? '0px';
|
||||
const marginRight = tools.adjustSize(props.optcatalogo, recscheda.scheda?.dimensioni?.scheda_prodotto?.margini?.right) ?? '0px';
|
||||
|
||||
const paddingTop = tools.adjustSize(props.optcatalogo, recscheda.scheda?.dimensioni?.scheda_prodotto?.padding?.top) ?? '0px';
|
||||
const paddingBottom = tools.adjustSize(props.optcatalogo, recscheda.scheda?.dimensioni?.scheda_prodotto?.padding?.bottom) ?? '0px';
|
||||
const paddingLeft = tools.adjustSize(props.optcatalogo, recscheda.scheda?.dimensioni?.scheda_prodotto?.padding?.left) ?? '0px';
|
||||
const paddingRight = tools.adjustSize(props.optcatalogo, recscheda.scheda?.dimensioni?.scheda_prodotto?.padding?.right) ?? '0px';
|
||||
|
||||
return {
|
||||
placeContent,
|
||||
@@ -849,8 +928,10 @@ export default defineComponent({
|
||||
generateStylePageScheda,
|
||||
generateStyleCatalogo,
|
||||
getStyleRow,
|
||||
getStyleSchedaProdotto,
|
||||
getWidthPagina,
|
||||
getHeightPagina,
|
||||
getStyleRowSeparator,
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
:label="`Crea PDF ${optcatalogo.pdf_filename}`"
|
||||
@click="generatePDF"
|
||||
></q-btn>
|
||||
<div class="row q-gutter-xs justify-center q-mx-auto bg-blue-1">
|
||||
<div class="row justify-center q-mx-auto bg-blue-1">
|
||||
<div class="text-center">
|
||||
<q-spinner
|
||||
v-if="!loadpage"
|
||||
@@ -49,7 +49,7 @@
|
||||
<q-tab-panels v-model="tabvisu" animated class="">
|
||||
<q-tab-panel name="categorie">
|
||||
<div
|
||||
class="row q-gutter-xs justify-center q-mx-auto bg-blue-1"
|
||||
class="row justify-center q-mx-auto bg-blue-1"
|
||||
>
|
||||
<div v-for="(reccat, index) in getCatProds()" :key="index">
|
||||
<span
|
||||
@@ -207,29 +207,35 @@
|
||||
:class="{ 'fixed-width': true }"
|
||||
>
|
||||
<div
|
||||
v-if="optcatalogo.first_page_img"
|
||||
v-if="
|
||||
optcatalogo.first_page &&
|
||||
optcatalogo.first_page.text_html.contenuto
|
||||
"
|
||||
:style="{
|
||||
backgroundImage: `url(${
|
||||
costanti.DIR_UPLOAD +
|
||||
costanti.DIR_CATALOGO +
|
||||
(optcatalogo.printable
|
||||
? optcatalogo.first_page_img
|
||||
: optcatalogo.first_page_img)
|
||||
optcatalogo.first_page.imgsfondo.imagefile
|
||||
})`,
|
||||
backgroundSize: `${
|
||||
optcatalogo.printable
|
||||
? scheda.bgSize_printable
|
||||
: scheda.bgSize
|
||||
}`,
|
||||
height: optcatalogo.first_page_height + 'px',
|
||||
width: optcatalogo.first_page_width + 'px',
|
||||
backgroundSize: `${optcatalogo.first_page.imgsfondo.fit}`,
|
||||
backgroundRepeat: 'no-repeat',
|
||||
height:
|
||||
tools.adjustSize(
|
||||
optcatalogo,
|
||||
optcatalogo.first_page.size.height
|
||||
) + 'px',
|
||||
width:
|
||||
tools.adjustSize(
|
||||
optcatalogo,
|
||||
optcatalogo.first_page.size.width
|
||||
) + 'px',
|
||||
}"
|
||||
>
|
||||
<div
|
||||
class="first_page"
|
||||
v-html="optcatalogo.first_page_html"
|
||||
v-html="optcatalogo.first_page.text_html.contenuto"
|
||||
></div>
|
||||
\ </div>
|
||||
\
|
||||
</div>
|
||||
<div :style="generateStyleCatalogo(optcatalogo)">
|
||||
<div class="flex-container-book">
|
||||
<q-infinite-scroll
|
||||
@@ -241,11 +247,10 @@
|
||||
@load="onLoadScroll"
|
||||
:offset="2000"
|
||||
debounce="200"
|
||||
class="q-pa-xs row items-start"
|
||||
class="row items-start"
|
||||
style="place-content: center"
|
||||
>
|
||||
<div
|
||||
class="q-pa-xs"
|
||||
v-for="(product, index) in arrLoaded"
|
||||
:key="index"
|
||||
>
|
||||
@@ -294,11 +299,19 @@
|
||||
<div v-if="recscheda && recscheda.scheda">
|
||||
<!-- Itera sulle pagine -->
|
||||
<div
|
||||
v-for="(page, pageIndex) in groupedPages(
|
||||
recscheda.scheda
|
||||
)"
|
||||
v-for="(page, pageIndex) in groupedPages(recscheda)"
|
||||
:key="pageIndex"
|
||||
:class="{ 'fixed-width': getWidthPagina(optcatalogo, recscheda.scheda), 'fixed-height': getHeightPagina(optcatalogo, recscheda.scheda), 'card-page': true }"
|
||||
:class="{
|
||||
'fixed-width': getWidthPagina(
|
||||
optcatalogo,
|
||||
recscheda.scheda
|
||||
),
|
||||
'fixed-height': getHeightPagina(
|
||||
optcatalogo,
|
||||
recscheda.scheda
|
||||
),
|
||||
'card-page': true,
|
||||
}"
|
||||
:style="
|
||||
generateStylePageScheda(
|
||||
optcatalogo,
|
||||
@@ -310,116 +323,134 @@
|
||||
<div
|
||||
v-for="(row, rowIndex) in page"
|
||||
:key="`${pageIndex}-${rowIndex}`"
|
||||
class="card-row"
|
||||
:style="
|
||||
'margin-bottom: ' +
|
||||
(scheda?.dimensioni?.riga?.bottom ?? '0px') +
|
||||
';'
|
||||
"
|
||||
class="column"
|
||||
>
|
||||
<!-- Itera sui prodotti di ogni riga -->
|
||||
|
||||
<div
|
||||
v-for="(indprod, colIndex) in row"
|
||||
:key="`${pageIndex}-${rowIndex}-${colIndex}`"
|
||||
class="flex-item-book image-container"
|
||||
class="card-row"
|
||||
:style="getStyleRow(recscheda)"
|
||||
>
|
||||
<!--pag: {{pageIndex}} - riga: {{rowIndex}} - col: {{colIndex}} - -->
|
||||
<CContainerCatalogoCard
|
||||
v-if="
|
||||
getProdBySchedaRigaCol(
|
||||
recscheda,
|
||||
pageIndex,
|
||||
rowIndex,
|
||||
colIndex
|
||||
) &&
|
||||
getProdBySchedaRigaCol(
|
||||
recscheda,
|
||||
pageIndex,
|
||||
rowIndex,
|
||||
colIndex
|
||||
).active
|
||||
"
|
||||
:id="
|
||||
getProdBySchedaRigaCol(
|
||||
recscheda,
|
||||
pageIndex,
|
||||
rowIndex,
|
||||
colIndex
|
||||
)._id
|
||||
"
|
||||
:complete="false"
|
||||
:cosa="cosa"
|
||||
:optcatalogo="optcatalogo"
|
||||
:scheda="recscheda.scheda"
|
||||
:options="{
|
||||
show_short_descr: false,
|
||||
show_price: false,
|
||||
show_cat: false,
|
||||
quante_col: 'c2',
|
||||
in_3d: false,
|
||||
}"
|
||||
@selauthor="selauthor"
|
||||
/>
|
||||
<CProductCard
|
||||
v-else-if="
|
||||
getProdBySchedaRigaCol(
|
||||
recscheda,
|
||||
pageIndex,
|
||||
rowIndex,
|
||||
colIndex
|
||||
) &&
|
||||
(getProdBySchedaRigaCol(
|
||||
recscheda,
|
||||
pageIndex,
|
||||
rowIndex,
|
||||
colIndex
|
||||
).active ||
|
||||
show_hide)
|
||||
"
|
||||
:id="
|
||||
getProdBySchedaRigaCol(
|
||||
recscheda,
|
||||
pageIndex,
|
||||
rowIndex,
|
||||
colIndex
|
||||
)._id
|
||||
"
|
||||
:complete="false"
|
||||
:cosa="cosa"
|
||||
/>
|
||||
<!-- Itera sui prodotti di ogni riga -->
|
||||
|
||||
<div class="row justify-center">
|
||||
<div
|
||||
v-for="(indprod, colIndex) in row"
|
||||
:key="`${pageIndex}-${rowIndex}-${colIndex}`"
|
||||
class="flex-item-book"
|
||||
:style="getStyleSchedaProdotto(recscheda)"
|
||||
>
|
||||
<CContainerCatalogoCard
|
||||
v-if="
|
||||
getProdBySchedaRigaCol(
|
||||
recscheda,
|
||||
pageIndex,
|
||||
rowIndex,
|
||||
colIndex
|
||||
) &&
|
||||
getProdBySchedaRigaCol(
|
||||
recscheda,
|
||||
pageIndex,
|
||||
rowIndex,
|
||||
colIndex
|
||||
).active
|
||||
"
|
||||
:id="
|
||||
getProdBySchedaRigaCol(
|
||||
recscheda,
|
||||
pageIndex,
|
||||
rowIndex,
|
||||
colIndex
|
||||
)._id
|
||||
"
|
||||
:complete="false"
|
||||
:cosa="cosa"
|
||||
:optcatalogo="optcatalogo"
|
||||
:scheda="recscheda.scheda"
|
||||
:options="{
|
||||
show_short_descr: false,
|
||||
show_price: false,
|
||||
show_cat: false,
|
||||
quante_col: 'c2',
|
||||
in_3d: false,
|
||||
}"
|
||||
@selauthor="selauthor"
|
||||
/>
|
||||
<CProductCard
|
||||
v-else-if="
|
||||
getProdBySchedaRigaCol(
|
||||
recscheda,
|
||||
pageIndex,
|
||||
rowIndex,
|
||||
colIndex
|
||||
) &&
|
||||
(getProdBySchedaRigaCol(
|
||||
recscheda,
|
||||
pageIndex,
|
||||
rowIndex,
|
||||
colIndex
|
||||
).active ||
|
||||
show_hide)
|
||||
"
|
||||
:id="
|
||||
getProdBySchedaRigaCol(
|
||||
recscheda,
|
||||
pageIndex,
|
||||
rowIndex,
|
||||
colIndex
|
||||
)._id
|
||||
"
|
||||
:complete="false"
|
||||
:cosa="cosa"
|
||||
/>
|
||||
</div>
|
||||
<!-- Prodotti singoli -->
|
||||
</div>
|
||||
|
||||
<!-- Separatore -->
|
||||
<div
|
||||
v-if="recscheda.scheda?.show_separatore && rowIndex !== page.length - 1"
|
||||
class="text-center"
|
||||
:style="getStyleRow(recscheda)"
|
||||
>
|
||||
|
||||
<q-separator inset :size="tools.adjustSize(optcatalogo, '1px')"></q-separator>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Card Row -->
|
||||
</div>
|
||||
<!-- Righe (row) -->
|
||||
</div>
|
||||
<!-- Pagine -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div
|
||||
v-if="optcatalogo.last_page_img"
|
||||
v-if="
|
||||
optcatalogo.last_page &&
|
||||
optcatalogo.last_page.text_html.contenuto
|
||||
"
|
||||
:style="{
|
||||
backgroundImage: `url(${
|
||||
costanti.DIR_UPLOAD +
|
||||
costanti.DIR_CATALOGO +
|
||||
(optcatalogo.printable
|
||||
? optcatalogo.last_page_img
|
||||
: optcatalogo.last_page_img)
|
||||
optcatalogo.last_page.imgsfondo.imagefile
|
||||
})`,
|
||||
backgroundSize: `${
|
||||
optcatalogo.printable
|
||||
? scheda.bgSize_printable
|
||||
: scheda.bgSize
|
||||
}`,
|
||||
height: optcatalogo.last_page_height + 'px',
|
||||
width: optcatalogo.last_page_width + 'px',
|
||||
backgroundSize: `${optcatalogo.last_page.imgsfondo.fit}`,
|
||||
backgroundRepeat: 'no-repeat',
|
||||
height:
|
||||
tools.adjustSize(
|
||||
optcatalogo,
|
||||
optcatalogo.last_page.size.height
|
||||
) + 'px',
|
||||
width:
|
||||
tools.adjustSize(
|
||||
optcatalogo,
|
||||
optcatalogo.last_page.size.width
|
||||
) + 'px',
|
||||
}"
|
||||
>
|
||||
<div
|
||||
class="last_page"
|
||||
v-html="optcatalogo.last_page_html"
|
||||
></div>
|
||||
<div v-html="optcatalogo.last_page.text_html.contenuto"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -427,35 +458,35 @@
|
||||
</div>
|
||||
</q-tab-panel>
|
||||
<q-tab-panel name="sfondo">
|
||||
<div class="row q-gutter-xs justify-center q-mx-auto bg-blue-1">
|
||||
<div class="row justify-center q-mx-auto bg-blue-1">
|
||||
<div>
|
||||
Sfondo:
|
||||
{{
|
||||
costanti.DIR_UPLOAD +
|
||||
costanti.DIR_CATALOGO +
|
||||
optcatalogo.imgsfondo_def?.imagefile
|
||||
optcatalogo.dimensioni_def?.pagina.imgsfondo?.imagefile
|
||||
}}
|
||||
</div>
|
||||
|
||||
<q-img
|
||||
v-if="optcatalogo.imgsfondo_def?.imagefile"
|
||||
v-if="optcatalogo.dimensioni_def?.pagina.imgsfondo?.imagefile"
|
||||
:src="
|
||||
costanti.DIR_UPLOAD +
|
||||
costanti.DIR_CATALOGO +
|
||||
optcatalogo.imgsfondo_def?.imagefile
|
||||
optcatalogo.dimensioni_def?.pagina.imgsfondo?.imagefile
|
||||
"
|
||||
>
|
||||
</q-img>
|
||||
</div>
|
||||
</q-tab-panel>
|
||||
<q-tab-panel name="pagine">
|
||||
<div class="row q-gutter-xs justify-center q-mx-auto bg-blue-1">
|
||||
<div class="row justify-center q-mx-auto bg-blue-1">
|
||||
<div>
|
||||
Prima Pagina:
|
||||
{{
|
||||
costanti.DIR_UPLOAD +
|
||||
costanti.DIR_CATALOGO +
|
||||
optcatalogo.first_page_img
|
||||
optcatalogo.first_page.imgsfondo.imagefile
|
||||
}}
|
||||
</div>
|
||||
|
||||
@@ -463,7 +494,7 @@
|
||||
:src="
|
||||
costanti.DIR_UPLOAD +
|
||||
costanti.DIR_CATALOGO +
|
||||
optcatalogo.first_page_img
|
||||
optcatalogo.first_page.imgsfondo.imagefile
|
||||
"
|
||||
>
|
||||
</q-img>
|
||||
@@ -472,7 +503,7 @@
|
||||
{{
|
||||
costanti.DIR_UPLOAD +
|
||||
costanti.DIR_CATALOGO +
|
||||
optcatalogo.last_page_img
|
||||
optcatalogo.last_page.imgsfondo.imagefile
|
||||
}}
|
||||
</div>
|
||||
|
||||
@@ -480,7 +511,7 @@
|
||||
:src="
|
||||
costanti.DIR_UPLOAD +
|
||||
costanti.DIR_CATALOGO +
|
||||
optcatalogo.last_page_img
|
||||
optcatalogo.last_page.imgsfondo.imagefile
|
||||
"
|
||||
>
|
||||
</q-img>
|
||||
@@ -498,6 +529,6 @@
|
||||
<script lang="ts" src="./catalogo.ts">
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
<style lang="scss">
|
||||
@import './catalogo.scss';
|
||||
</style>
|
||||
|
||||
Reference in New Issue
Block a user