- Aggiornati margini.

- Cataloghi: Export ed Import di una pagine ed i suoi elementi !
This commit is contained in:
Surya Paolo
2024-12-13 18:10:04 +01:00
parent 29c59588c7
commit 8baf1e99f0
39 changed files with 752 additions and 141 deletions

View File

@@ -40,25 +40,18 @@
</q-page-sticky>
<q-card-section>
<!-- per immagine di ombra -->
<div
v-if="scheda.testo_right && scheda.testo_right?.font"
v-if="scheda.testo_right_attaccato || scheda.testo_right"
:class="[
'flex', // Classi comuni
'image-container',
{ 'shadow-2': options.in_3d && !optcatalogo.pdf }, // Classe condizionale
scheda.testo_right.font?.posiz_text ===
scheda.testo_right_attaccato.font?.posiz_text ===
costanti.POSIZ_TESTO.IN_BASSO
? 'flex-col'
: 'flex-row', // Layout flessibile
? ''
: 'flex flex-row', // Layout flessibile
]"
:style="{
justifyContent:
scheda.testo_right.font?.posiz_text ===
costanti.POSIZ_TESTO.IN_BASSO
? 'center'
: 'flex-start',
alignItems: 'stretch', // Cambiato in 'stretch' per occupare l'altezza
gap:
tools.adjustSize(
optcatalogo,
@@ -75,7 +68,7 @@
),
}"
>
<div style="position: relative; display: inline-block">
<div>
<a :href="myproduct.productInfo.link_macro" target="_blank">
<q-img
v-if="myproduct.productInfo"
@@ -139,46 +132,127 @@
>
</q-btn>
</div>
<!-- Testo associato all'immagine -->
<div
:style="{
width:
scheda.testo_right.font?.posiz_text ===
costanti.POSIZ_TESTO.IN_BASSO
? '100%'
: scheda.testo_right.font?.perc_text ?? '50%',
marginTop:
scheda.testo_right.font?.posiz_text ===
costanti.POSIZ_TESTO.IN_BASSO
? '0.5rem'
: '0',
}"
<!-- Testo sotto all'immagine -->
<CText
:rectext="scheda.testo_right_attaccato"
:myproduct="myproduct"
:optcatalogo="optcatalogo"
:scheda="scheda"
>
<div
v-if="scheda.testo_right && scheda.testo_right"
v-if="
scheda.testo_right_attaccato.font?.posiz_text !==
costanti.POSIZ_TESTO.IN_BASSO
"
:style="{
'--scalecatalog': tools.getScale(optcatalogo),
'line-height': scheda.testo_right.font?.line_height,
height: '100%',
display: 'flex',
flexDirection: 'column',
alignSelf:
scheda.testo_right_attaccato.font?.posiz_text ===
costanti.POSIZ_TESTO.IN_BASSO
? ''
: 'end',
marginTop:
scheda.testo_right_attaccato.font?.posiz_text ===
costanti.POSIZ_TESTO.IN_BASSO
? 'auto'
: '0',
}"
>
<div
v-html="getTesto_Right"
style="
display: flex;
flex-direction: column;
justify-content: space-between;
height: 100%;
"
></div>
<div class="row">
<CText
:rectext="scheda.testo_right"
:myproduct="myproduct"
:optcatalogo="optcatalogo"
:show_at_right="scheda.barcode.show_at_right"
>
<div class="row no-wrap items-center">
<div v-if="scheda.barcode && scheda.barcode.show">
<CBarCode
:value="myproduct.productInfo.code"
:format="scheda.barcode.format"
:fontsize="
scheda.barcode.font?.size
"
:gap="
tools.adjustSize(optcatalogo, scheda.barcode.size?.gap)
"
:width="
parseInt(
tools.adjustSize(
optcatalogo,
scheda.barcode.size?.width
)
)
"
:widthlines="tools.adjustSize(optcatalogo, scheda.barcode.widthlines)"
:height="
tools.adjustSize(
optcatalogo,
scheda.barcode.size?.height
)
"
:show_at_right="scheda.barcode.show_at_right"
>
</CBarCode>
</div>
<div
v-if="
scheda.etichette?.bestseller?.show &&
isProductBestseller()
"
>
<q-img
src="images/bestseller.png"
alt="Bestseller"
:width="40 * tools.getScale(optcatalogo) + 'px'"
:height="40 * tools.getScale(optcatalogo) + 'px'"
fit="contain"
></q-img>
</div>
<div
v-else-if="
scheda.etichette?.novita?.show && isProductNovita()
"
>
<q-img
src="images/novita.png"
alt="Novita"
:width="40 * tools.getScale(optcatalogo) + 'px'"
:height="40 * tools.getScale(optcatalogo) + 'px'"
fit="contain"
></q-img>
</div>
</div>
</CText>
</div>
</CText>
<div
v-if="
scheda.testo_right_attaccato.font?.posiz_text ===
costanti.POSIZ_TESTO.IN_BASSO
"
class="flexible-width"
:style="{
marginTop: 'auto',
}"
>
<CText
:rectext="scheda.testo_right"
:myproduct="myproduct"
:optcatalogo="optcatalogo"
:scheda="scheda"
:show_at_right="scheda.barcode.show_at_right"
>
<div class="row no-wrap items-center">
<div v-if="scheda.barcode && scheda.barcode.show">
<CBarCode
:value="myproduct.productInfo.code"
:format="scheda.barcode.format"
:fontsize="scheda.barcode.font?.size"
:fontsize="
scheda.barcode.font?.size
"
:gap="
tools.adjustSize(optcatalogo, scheda.barcode.size?.gap)
"
:width="
parseInt(
tools.adjustSize(
@@ -187,8 +261,11 @@
)
)
"
:widthlines="scheda.barcode.widthlines"
:height="scheda.barcode.size?.height"
:widthlines="tools.adjustSize(optcatalogo, scheda.barcode.widthlines)"
:height="
tools.adjustSize(optcatalogo, scheda.barcode.size?.height)
"
:show_at_right="scheda.barcode.show_at_right"
>
</CBarCode>
</div>
@@ -219,8 +296,9 @@
></q-img>
</div>
</div>
</div>
</CText>
</div>
<div
v-if="optcatalogo.indebug"
:style="{
@@ -235,20 +313,15 @@
v-html="getTesto_Debug"
></div>
</div>
<div
v-else-if="scheda.testo_bottom && scheda.testo_bottom.contenuto"
:style="{
width: '100%',
}"
>
<div
:style="{
'--scalecatalog': tools.getScale(optcatalogo),
'line-height': scheda.testo_bottom.font?.line_height,
}"
v-html="getTesto_Bottom"
></div>
</div>
<!-- Testo sotto al testo attaccato, allineato al fondo -->
<CText
v-else-if="scheda.testo_bottom && getTesto_Bottom"
:rectext="scheda.testo_bottom"
:scheda="scheda"
:myproduct="myproduct"
:optcatalogo="optcatalogo"
></CText>
<div v-if="optcatalogo.indebug">testo: "{{ getTesto_Bottom }}"</div>
</div>
</q-card-section>
<q-separator v-if="complete" class="q-my-sm"></q-separator>
@@ -674,8 +747,11 @@
:type="costanti.FieldType.number"
>
</CMyValueDb>
<CLabel :value="myproduct.indiceRanking" label="N° in Classifica:" />
<CLabel
:value="myproduct.indiceRanking"
label="N° in Classifica:"
/>
<div class="etichetta">3 Mesi:</div>
<CMyValueDb
:editOn="modifOn"