- Cataloghi: parte finale... prima bozza 9 dic
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
<template>
|
||||
<div
|
||||
v-if="optcatalogo"
|
||||
:class="{
|
||||
' items-start q-gutter-sm': true,
|
||||
}"
|
||||
@@ -23,15 +24,6 @@
|
||||
colfix_prodotti_3: options.quante_col == 'c3' && !optcatalogo.pdf,
|
||||
}"
|
||||
>
|
||||
<q-toggle
|
||||
v-if="tools.isManager() && !optcatalogo.pdf"
|
||||
v-model="editOn"
|
||||
class="absolute-top-right"
|
||||
color="green"
|
||||
icon="fas fa-pencil-alt"
|
||||
dense
|
||||
>
|
||||
</q-toggle>
|
||||
<q-page-sticky
|
||||
v-if="complete && !optcatalogo.pdf"
|
||||
position="bottom-right"
|
||||
@@ -49,29 +41,8 @@
|
||||
|
||||
<q-card-section>
|
||||
<!-- per immagine di ombra -->
|
||||
<div v-if="false" class="shadow-image-wrapper">
|
||||
<q-img
|
||||
src="images/ombra.png"
|
||||
:style="{
|
||||
position: 'absolute',
|
||||
justifyContent: 'center',
|
||||
width:
|
||||
tools.adjustSize(
|
||||
optcatalogo,
|
||||
scheda.dimensioni?.immagine_prodotto?.size.width,
|
||||
10
|
||||
) ?? '100%',
|
||||
height: tools.adjustSize(
|
||||
optcatalogo,
|
||||
scheda.dimensioni?.immagine_prodotto?.size.height,
|
||||
10
|
||||
),
|
||||
zIndex: 1,
|
||||
}"
|
||||
>
|
||||
</q-img>
|
||||
</div>
|
||||
<div
|
||||
v-if="scheda.testo_right && scheda.testo_right?.font"
|
||||
:class="[
|
||||
'flex', // Classi comuni
|
||||
'image-container',
|
||||
@@ -104,69 +75,70 @@
|
||||
),
|
||||
}"
|
||||
>
|
||||
<a :href="myproduct.productInfo.link_macro" target="_blank">
|
||||
<q-img
|
||||
v-if="myproduct.productInfo"
|
||||
:src="
|
||||
myproduct.productInfo.imagefile
|
||||
? tools.getFullFileNameByImageFile(
|
||||
'productInfos',
|
||||
myproduct.productInfo.imagefile
|
||||
)
|
||||
: myproduct.productInfo.image_link
|
||||
"
|
||||
:alt="myproduct.productInfo.name"
|
||||
:fit="scheda.dimensioni?.immagine_prodotto?.size?.fit ?? 'cover'"
|
||||
:class="{
|
||||
'book-image-fixed': complete,
|
||||
'cursor-pointer': !complete,
|
||||
'shadow-4': !optcatalogo.pdf,
|
||||
'border-box': optcatalogo.pdf,
|
||||
}"
|
||||
:style="{
|
||||
zIndex: 2,
|
||||
width:
|
||||
scheda.testo_right.font?.posiz_text ===
|
||||
costanti.POSIZ_TESTO.IN_BASSO
|
||||
? scheda.testo_right.font?.perc_text ?? '50%'
|
||||
: '45%',
|
||||
...(tools.adjustSize(
|
||||
optcatalogo,
|
||||
scheda.dimensioni?.immagine_prodotto?.size?.width
|
||||
) && {
|
||||
<div style="position: relative; display: inline-block">
|
||||
<a :href="myproduct.productInfo.link_macro" target="_blank">
|
||||
<q-img
|
||||
v-if="myproduct.productInfo"
|
||||
:src="
|
||||
myproduct.productInfo.imagefile
|
||||
? tools.getFullFileNameByImageFile(
|
||||
'productInfos',
|
||||
myproduct.productInfo.imagefile
|
||||
)
|
||||
: myproduct.productInfo.image_link
|
||||
"
|
||||
:alt="myproduct.productInfo.name"
|
||||
:fit="
|
||||
scheda.dimensioni?.immagine_prodotto?.size?.fit ?? 'cover'
|
||||
"
|
||||
:class="{
|
||||
'book-image-fixed': complete,
|
||||
'cursor-pointer': !complete,
|
||||
'shadow-4': !optcatalogo.pdf,
|
||||
'border-box': optcatalogo.pdf,
|
||||
}"
|
||||
:style="{
|
||||
zIndex: 2,
|
||||
width:
|
||||
tools.adjustSize(
|
||||
optcatalogo,
|
||||
scheda.dimensioni?.immagine_prodotto.size?.width
|
||||
) + ' !important',
|
||||
}),
|
||||
height: scheda.dimensioni?.immagine_prodotto?.size?.height
|
||||
? tools.adjustSize(
|
||||
optcatalogo,
|
||||
scheda.dimensioni?.immagine_prodotto?.size?.height
|
||||
)
|
||||
: undefined,
|
||||
display: 'block',
|
||||
}"
|
||||
@click="click_opendetail()"
|
||||
/>
|
||||
</a>
|
||||
<span v-if="false && !optcatalogo.generazionePDFInCorso && editOn" class="prod_disp">
|
||||
<CMyValueDb
|
||||
v-if="editOn"
|
||||
:editOn="editOn"
|
||||
:title="t('products.stockQty')"
|
||||
table="products"
|
||||
:id="myproduct._id"
|
||||
:rec="myproduct"
|
||||
mykey="stockQty"
|
||||
debounce="1000"
|
||||
:save="updateproductmodif()"
|
||||
:type="costanti.FieldType.number"
|
||||
scheda.testo_right.font?.posiz_text ===
|
||||
costanti.POSIZ_TESTO.IN_BASSO
|
||||
? scheda.testo_right.font?.perc_text ?? '50%'
|
||||
: '45%',
|
||||
...(tools.adjustSize(
|
||||
optcatalogo,
|
||||
scheda.dimensioni?.immagine_prodotto?.size?.width
|
||||
) && {
|
||||
width:
|
||||
tools.adjustSize(
|
||||
optcatalogo,
|
||||
scheda.dimensioni?.immagine_prodotto.size?.width
|
||||
) + ' !important',
|
||||
}),
|
||||
height: scheda.dimensioni?.immagine_prodotto?.size?.height
|
||||
? tools.adjustSize(
|
||||
optcatalogo,
|
||||
scheda.dimensioni?.immagine_prodotto?.size?.height
|
||||
)
|
||||
: undefined,
|
||||
display: 'block',
|
||||
}"
|
||||
@click="click_opendetail()"
|
||||
/>
|
||||
</a>
|
||||
<q-btn
|
||||
v-if="
|
||||
tools.isManager() &&
|
||||
!optcatalogo.generazionePDFInCorso &&
|
||||
globalStore.editOn
|
||||
"
|
||||
icon="fas fa-pencil-alt"
|
||||
color="primary"
|
||||
@click.stop="modifOn = !modifOn"
|
||||
dense
|
||||
style="position: absolute; top: 0px; left: 0px; z-index: 3"
|
||||
>
|
||||
</CMyValueDb>
|
||||
</span>
|
||||
|
||||
</q-btn>
|
||||
</div>
|
||||
<!-- Testo associato all'immagine -->
|
||||
<div
|
||||
:style="{
|
||||
@@ -185,7 +157,7 @@
|
||||
<div
|
||||
v-if="scheda.testo_right && scheda.testo_right"
|
||||
:style="{
|
||||
'--scalecatalog': optcatalogo.areadistampa.scale,
|
||||
'--scalecatalog': tools.getScale(optcatalogo),
|
||||
'line-height': scheda.testo_right.font?.line_height,
|
||||
height: '100%',
|
||||
display: 'flex',
|
||||
@@ -193,13 +165,7 @@
|
||||
}"
|
||||
>
|
||||
<div
|
||||
v-html="
|
||||
products.replaceKeyWordsByProduct(
|
||||
optcatalogo,
|
||||
myproduct,
|
||||
scheda.testo_right
|
||||
)
|
||||
"
|
||||
v-html="getTesto_Right"
|
||||
style="
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
@@ -207,7 +173,7 @@
|
||||
height: 100%;
|
||||
"
|
||||
></div>
|
||||
<div class="row justify-center">
|
||||
<div class="row">
|
||||
<div v-if="scheda.barcode && scheda.barcode.show">
|
||||
<CBarCode
|
||||
:value="myproduct.productInfo.code"
|
||||
@@ -234,8 +200,8 @@
|
||||
<q-img
|
||||
src="images/bestseller.png"
|
||||
alt="Bestseller"
|
||||
:width="(40 * optcatalogo.areadistampa.scale) + 'px'"
|
||||
:height="(40 * optcatalogo.areadistampa.scale) + 'px'"
|
||||
:width="40 * tools.getScale(optcatalogo) + 'px'"
|
||||
:height="40 * tools.getScale(optcatalogo) + 'px'"
|
||||
fit="contain"
|
||||
></q-img>
|
||||
</div>
|
||||
@@ -247,8 +213,8 @@
|
||||
<q-img
|
||||
src="images/novita.png"
|
||||
alt="Novita"
|
||||
:width="(40 * optcatalogo.areadistampa.scale) + 'px'"
|
||||
:height="(40 * optcatalogo.areadistampa.scale) + 'px'"
|
||||
:width="40 * tools.getScale(optcatalogo) + 'px'"
|
||||
:height="40 * tools.getScale(optcatalogo) + 'px'"
|
||||
fit="contain"
|
||||
></q-img>
|
||||
</div>
|
||||
@@ -256,23 +222,31 @@
|
||||
</div>
|
||||
</div>
|
||||
<div
|
||||
v-if="scheda.testo_bottom && scheda.testo_bottom.contenuto"
|
||||
v-if="optcatalogo.indebug"
|
||||
:style="{
|
||||
width: '100%',
|
||||
}"
|
||||
>
|
||||
<div
|
||||
:style="{
|
||||
'--scalecatalog': optcatalogo.areadistampa.scale,
|
||||
'--scalecatalog': tools.getScale(optcatalogo),
|
||||
'line-height': scheda.testo_bottom.font?.line_height,
|
||||
}"
|
||||
v-html="
|
||||
products.replaceKeyWordsByProduct(
|
||||
optcatalogo,
|
||||
myproduct,
|
||||
scheda.testo_bottom
|
||||
)
|
||||
"
|
||||
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>
|
||||
</div>
|
||||
@@ -485,6 +459,264 @@
|
||||
></q-btn>
|
||||
</div>
|
||||
</q-dialog>
|
||||
<q-dialog v-if="myproduct && modifOn" v-model="modifOn">
|
||||
<q-card class="dialog_card">
|
||||
<q-toolbar class="bg-primary text-white">
|
||||
<q-toolbar-title>
|
||||
Modifica a {{ myproduct.productInfo.name }}</q-toolbar-title
|
||||
>
|
||||
<q-btn flat round color="white" icon="close" v-close-popup></q-btn>
|
||||
</q-toolbar>
|
||||
<q-card-section class="q-pa-xs inset-shadow">
|
||||
<div class="column">
|
||||
<div class="etichetta">Titolo:</div>
|
||||
<CMyValueDb
|
||||
:editOn="modifOn"
|
||||
table="productinfos"
|
||||
:id="myproduct.productInfo._id"
|
||||
:rec="myproduct.productInfo"
|
||||
mykey="name"
|
||||
debounce="1000"
|
||||
:save="updateproductmodif()"
|
||||
:type="costanti.FieldType.string"
|
||||
>
|
||||
</CMyValueDb>
|
||||
<div class="etichetta">SottoTitolo:</div>
|
||||
<CMyValueDb
|
||||
:editOn="modifOn"
|
||||
table="productinfos"
|
||||
:id="myproduct.productInfo._id"
|
||||
:rec="myproduct.productInfo"
|
||||
mykey="sottotitolo"
|
||||
debounce="1000"
|
||||
:save="updateproductmodif()"
|
||||
:type="costanti.FieldType.string"
|
||||
>
|
||||
</CMyValueDb>
|
||||
<div class="etichetta">Descrizione Estesa:</div>
|
||||
<CMyValueDb
|
||||
:editOn="modifOn"
|
||||
:title="t('catalogo.descrizione_estesa')"
|
||||
table="productinfos"
|
||||
:id="myproduct.productInfo._id"
|
||||
:rec="myproduct.productInfo"
|
||||
mykey="descrizione_completa_macro"
|
||||
:maxlength="
|
||||
scheda.testo_bottom.maxlength
|
||||
? scheda.testo_bottom.maxlength
|
||||
: 10000
|
||||
"
|
||||
debounce="1000"
|
||||
:save="updateproductmodif()"
|
||||
:type="costanti.FieldType.string"
|
||||
>
|
||||
</CMyValueDb>
|
||||
<div class="row q-ma-xm q-pa-xs">
|
||||
<div class="boxtitleval">
|
||||
<div class="etichetta">Pagine:</div>
|
||||
<CMyValueDb
|
||||
:editOn="modifOn"
|
||||
:title="t('catalogo.pagine')"
|
||||
table="arrvariazioni"
|
||||
:id="myproduct._id"
|
||||
:rec="myproduct"
|
||||
mykey="pagine"
|
||||
debounce="1000"
|
||||
:save="updateproductmodif()"
|
||||
:type="costanti.FieldType.number"
|
||||
>
|
||||
</CMyValueDb>
|
||||
</div>
|
||||
<div class="boxtitleval">
|
||||
<div class="etichetta">Misure:</div>
|
||||
<CMyValueDb
|
||||
:editOn="modifOn"
|
||||
:title="t('catalogo.misure')"
|
||||
table="arrvariazioni"
|
||||
:id="myproduct._id"
|
||||
:rec="myproduct"
|
||||
mykey="misure"
|
||||
debounce="1000"
|
||||
:save="updateproductmodif()"
|
||||
:type="costanti.FieldType.string"
|
||||
>
|
||||
</CMyValueDb>
|
||||
</div>
|
||||
<div class="boxtitleval">
|
||||
<div class="etichetta">Pubblicazione:</div>
|
||||
<CMyValueDb
|
||||
:editOn="modifOn"
|
||||
:title="t('catalogo.date_pub')"
|
||||
table="productinfos"
|
||||
:id="myproduct.productInfo._id"
|
||||
:rec="myproduct.productInfo"
|
||||
mykey="date_publishing"
|
||||
debounce="1000"
|
||||
:save="updateproductmodif()"
|
||||
:type="costanti.FieldType.date"
|
||||
>
|
||||
</CMyValueDb>
|
||||
</div>
|
||||
<div class="boxtitleval">
|
||||
<div class="etichetta">Formato:</div>
|
||||
<CMyValueDb
|
||||
:editOn="modifOn"
|
||||
:title="t('catalogo.formato')"
|
||||
table="arrvariazioni"
|
||||
:id="myproduct._id"
|
||||
:rec="myproduct"
|
||||
mykey="formato"
|
||||
debounce="1000"
|
||||
:save="updateproductmodif()"
|
||||
:type="costanti.FieldType.string"
|
||||
>
|
||||
</CMyValueDb>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="boxtitleval">
|
||||
<div class="etichetta">Prezzo:</div>
|
||||
<CMyValueDb
|
||||
:editOn="modifOn"
|
||||
:title="t('catalogo.prezzo')"
|
||||
table="arrvariazioni"
|
||||
:id="myproduct._id"
|
||||
:rec="myproduct"
|
||||
mykey="price"
|
||||
debounce="1000"
|
||||
:save="updateproductmodif()"
|
||||
:type="costanti.FieldType.number"
|
||||
>
|
||||
</CMyValueDb>
|
||||
</div>
|
||||
<div class="boxtitleval">
|
||||
<div class="etichetta">Prezzo Scontato:</div>
|
||||
<CMyValueDb
|
||||
:editOn="modifOn"
|
||||
:title="t('catalogo.prezzo_scontato')"
|
||||
table="arrvariazioni"
|
||||
:id="myproduct._id"
|
||||
:rec="myproduct"
|
||||
mykey="sale_price"
|
||||
debounce="1000"
|
||||
:save="updateproductmodif()"
|
||||
:type="costanti.FieldType.number"
|
||||
>
|
||||
</CMyValueDb>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="boxtitleval">
|
||||
<div class="etichetta">Descrizione breve macro:</div>
|
||||
<CMyValueDb
|
||||
:editOn="modifOn"
|
||||
:title="t('catalogo.descrizione_breve_macro')"
|
||||
table="productinfos"
|
||||
:id="myproduct.productInfo._id"
|
||||
:rec="myproduct.productInfo"
|
||||
mykey="descrizione_breve_macro"
|
||||
debounce="1000"
|
||||
:save="updateproductmodif()"
|
||||
:type="costanti.FieldType.string"
|
||||
>
|
||||
</CMyValueDb>
|
||||
</div>
|
||||
<div class="boxtitleval">
|
||||
<div class="etichetta">Link a gruppomacro.com:</div>
|
||||
<CMyValueDb
|
||||
:editOn="modifOn"
|
||||
:title="t('catalogo.link_macro')"
|
||||
table="productinfos"
|
||||
:id="myproduct.productInfo._id"
|
||||
:rec="myproduct.productInfo"
|
||||
mykey="link_macro"
|
||||
debounce="1000"
|
||||
:save="updateproductmodif()"
|
||||
:type="costanti.FieldType.string"
|
||||
>
|
||||
</CMyValueDb>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row bg-blue-4">
|
||||
<div class="etichetta">Venduti:</div>
|
||||
<CMyValueDb
|
||||
:editOn="modifOn"
|
||||
table="productinfos"
|
||||
:id="myproduct.productInfo._id"
|
||||
:rec="myproduct.productInfo"
|
||||
mykey="totaleVenduti"
|
||||
debounce="1000"
|
||||
:save="updateproductmodif()"
|
||||
:type="costanti.FieldType.number"
|
||||
>
|
||||
</CMyValueDb>
|
||||
<div class="etichetta">Venduti Ultimo Mese:</div>
|
||||
<CMyValueDb
|
||||
:editOn="modifOn"
|
||||
table="productinfos"
|
||||
:id="myproduct.productInfo._id"
|
||||
:rec="myproduct.productInfo"
|
||||
mykey="venditeLastM"
|
||||
debounce="1000"
|
||||
:save="updateproductmodif()"
|
||||
:type="costanti.FieldType.number"
|
||||
>
|
||||
</CMyValueDb>
|
||||
<div class="etichetta">Venduti Ultimi 6 Mesi:</div>
|
||||
<CMyValueDb
|
||||
:editOn="modifOn"
|
||||
table="productinfos"
|
||||
:id="myproduct.productInfo._id"
|
||||
:rec="myproduct.productInfo"
|
||||
mykey="venditeLast6M"
|
||||
debounce="1000"
|
||||
:save="updateproductmodif()"
|
||||
:type="costanti.FieldType.number"
|
||||
>
|
||||
</CMyValueDb>
|
||||
<CLabel :value="myproduct.indiceRanking" label="N° in Classifica:" />
|
||||
|
||||
<div class="etichetta">3 Mesi:</div>
|
||||
<CMyValueDb
|
||||
:editOn="modifOn"
|
||||
table="productinfos"
|
||||
:id="myproduct.productInfo._id"
|
||||
:rec="myproduct.productInfo"
|
||||
mykey="rank3M"
|
||||
debounce="1000"
|
||||
:save="updateproductmodif()"
|
||||
:type="costanti.FieldType.number"
|
||||
>
|
||||
</CMyValueDb>
|
||||
<div class="etichetta">6 Mesi:</div>
|
||||
<CMyValueDb
|
||||
:editOn="modifOn"
|
||||
table="productinfos"
|
||||
:id="myproduct.productInfo._id"
|
||||
:rec="myproduct.productInfo"
|
||||
mykey="rank6M"
|
||||
debounce="1000"
|
||||
:save="updateproductmodif()"
|
||||
:type="costanti.FieldType.number"
|
||||
>
|
||||
</CMyValueDb>
|
||||
<div class="etichetta">1 Anno:</div>
|
||||
<CMyValueDb
|
||||
:editOn="modifOn"
|
||||
table="productinfos"
|
||||
:id="myproduct.productInfo._id"
|
||||
:rec="myproduct.productInfo"
|
||||
mykey="rank1Y"
|
||||
debounce="1000"
|
||||
:save="updateproductmodif()"
|
||||
:type="costanti.FieldType.number"
|
||||
>
|
||||
</CMyValueDb>
|
||||
</div>
|
||||
</div>
|
||||
</q-card-section>
|
||||
</q-card>
|
||||
</q-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user