2024-05-04 14:49:09 +02:00
|
|
|
<template>
|
2024-05-08 16:07:42 +02:00
|
|
|
<div
|
2024-12-09 12:32:19 +01:00
|
|
|
v-if="optcatalogo"
|
2024-05-08 16:07:42 +02:00
|
|
|
:class="{
|
2024-10-26 17:12:05 +02:00
|
|
|
' items-start q-gutter-sm': true,
|
2024-05-08 16:07:42 +02:00
|
|
|
}"
|
2024-10-26 17:12:05 +02:00
|
|
|
:style="
|
2024-11-22 20:23:37 +01:00
|
|
|
scheda.height
|
|
|
|
|
? ' height: ' +
|
|
|
|
|
tools.adjustSize(optcatalogo, scheda.height) +
|
|
|
|
|
'px !important; '
|
|
|
|
|
: ''
|
2024-10-26 17:12:05 +02:00
|
|
|
"
|
2024-05-08 16:07:42 +02:00
|
|
|
>
|
2024-05-04 14:49:09 +02:00
|
|
|
<q-spinner v-if="!endload" color="primary" size="3em" :thickness="2" />
|
2024-11-19 19:19:14 +01:00
|
|
|
|
2024-05-04 14:49:09 +02:00
|
|
|
<div
|
|
|
|
|
v-if="!!myproduct && !!myproduct.productInfo"
|
2024-05-05 19:09:08 +02:00
|
|
|
:class="{
|
2024-05-08 16:07:42 +02:00
|
|
|
'my-card-big book-details': complete,
|
2024-10-26 17:12:05 +02:00
|
|
|
'book-card': !complete && !optcatalogo.pdf,
|
|
|
|
|
colfix_prodotti_1: options.quante_col == 'c1' && !optcatalogo.pdf,
|
|
|
|
|
colfix_prodotti_2: options.quante_col == 'c2' && !optcatalogo.pdf,
|
|
|
|
|
colfix_prodotti_3: options.quante_col == 'c3' && !optcatalogo.pdf,
|
2024-05-05 19:09:08 +02:00
|
|
|
}"
|
2024-05-04 14:49:09 +02:00
|
|
|
>
|
2024-07-03 13:22:57 +02:00
|
|
|
<q-page-sticky
|
2024-10-26 17:12:05 +02:00
|
|
|
v-if="complete && !optcatalogo.pdf"
|
2024-07-03 13:22:57 +02:00
|
|
|
position="bottom-right"
|
|
|
|
|
:offset="[18, 0]"
|
2024-07-31 15:02:30 +02:00
|
|
|
style="z-index: 1000"
|
2024-07-03 13:22:57 +02:00
|
|
|
>
|
|
|
|
|
<q-btn
|
|
|
|
|
fab
|
|
|
|
|
icon="fas fa-arrow-up"
|
|
|
|
|
class="semi-transparent"
|
|
|
|
|
color="primary"
|
|
|
|
|
v-close-popup
|
|
|
|
|
/>
|
2024-06-20 17:22:46 +02:00
|
|
|
</q-page-sticky>
|
|
|
|
|
|
2024-05-04 14:49:09 +02:00
|
|
|
<q-card-section>
|
2024-05-08 16:07:42 +02:00
|
|
|
<div
|
2024-12-13 18:10:04 +01:00
|
|
|
v-if="scheda.testo_right_attaccato || scheda.testo_right"
|
2024-10-31 23:23:06 +01:00
|
|
|
:class="[
|
2024-11-24 14:40:29 +01:00
|
|
|
'flex', // Classi comuni
|
|
|
|
|
'image-container',
|
2024-12-05 14:13:19 +01:00
|
|
|
{ 'shadow-2': options.in_3d && !optcatalogo.pdf }, // Classe condizionale
|
2024-12-13 18:10:04 +01:00
|
|
|
scheda.testo_right_attaccato.font?.posiz_text ===
|
2024-11-28 16:04:48 +01:00
|
|
|
costanti.POSIZ_TESTO.IN_BASSO
|
2024-12-13 18:10:04 +01:00
|
|
|
? ''
|
|
|
|
|
: 'flex flex-row', // Layout flessibile
|
2024-10-31 23:23:06 +01:00
|
|
|
]"
|
|
|
|
|
:style="{
|
2024-11-24 14:40:29 +01:00
|
|
|
gap:
|
|
|
|
|
tools.adjustSize(
|
|
|
|
|
optcatalogo,
|
|
|
|
|
scheda.dimensioni?.scheda_prodotto?.size.gap
|
|
|
|
|
) ?? '0.1rem',
|
2024-11-22 20:23:37 +01:00
|
|
|
width:
|
|
|
|
|
tools.adjustSize(
|
|
|
|
|
optcatalogo,
|
|
|
|
|
scheda.dimensioni?.scheda_prodotto?.size.width
|
|
|
|
|
) ?? '100%',
|
2024-11-24 14:40:29 +01:00
|
|
|
height: tools.adjustSize(
|
|
|
|
|
optcatalogo,
|
|
|
|
|
scheda.dimensioni?.scheda_prodotto?.size.height
|
|
|
|
|
),
|
2024-10-26 17:12:05 +02:00
|
|
|
}"
|
2024-05-08 16:07:42 +02:00
|
|
|
>
|
2024-12-13 18:10:04 +01:00
|
|
|
<div>
|
2024-12-09 12:32:19 +01:00
|
|
|
<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,
|
2024-12-02 19:38:01 +01:00
|
|
|
width:
|
2024-12-09 12:32:19 +01:00
|
|
|
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="
|
2024-12-17 21:38:21 +01:00
|
|
|
(tools.isManager() || tools.isEditor()) &&
|
2024-12-09 12:32:19 +01:00
|
|
|
!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"
|
2024-12-02 19:38:01 +01:00
|
|
|
>
|
2024-12-09 12:32:19 +01:00
|
|
|
</q-btn>
|
|
|
|
|
</div>
|
2024-12-13 18:10:04 +01:00
|
|
|
|
|
|
|
|
<!-- Testo sotto all'immagine -->
|
|
|
|
|
<CText
|
|
|
|
|
:rectext="scheda.testo_right_attaccato"
|
|
|
|
|
:myproduct="myproduct"
|
|
|
|
|
:optcatalogo="optcatalogo"
|
|
|
|
|
:scheda="scheda"
|
2025-02-10 22:48:53 +01:00
|
|
|
:idPage="idPage"
|
2024-11-19 19:19:14 +01:00
|
|
|
>
|
|
|
|
|
<div
|
2024-12-13 18:10:04 +01:00
|
|
|
v-if="
|
|
|
|
|
scheda.testo_right_attaccato.font?.posiz_text !==
|
|
|
|
|
costanti.POSIZ_TESTO.IN_BASSO
|
|
|
|
|
"
|
2024-11-24 14:40:29 +01:00
|
|
|
:style="{
|
2024-12-13 18:10:04 +01:00
|
|
|
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',
|
2024-11-24 14:40:29 +01:00
|
|
|
}"
|
|
|
|
|
>
|
2024-12-13 18:10:04 +01:00
|
|
|
<CText
|
|
|
|
|
:rectext="scheda.testo_right"
|
|
|
|
|
:myproduct="myproduct"
|
|
|
|
|
:optcatalogo="optcatalogo"
|
|
|
|
|
:show_at_right="scheda.barcode.show_at_right"
|
2025-02-10 22:48:53 +01:00
|
|
|
:scheda="scheda"
|
|
|
|
|
:idPage="idPage"
|
2024-12-13 18:10:04 +01:00
|
|
|
>
|
|
|
|
|
<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"
|
2025-02-10 22:48:53 +01:00
|
|
|
:idPage="idPage"
|
2024-12-13 18:10:04 +01:00
|
|
|
>
|
|
|
|
|
<div class="row no-wrap items-center">
|
2024-11-28 16:04:48 +01:00
|
|
|
<div v-if="scheda.barcode && scheda.barcode.show">
|
|
|
|
|
<CBarCode
|
|
|
|
|
:value="myproduct.productInfo.code"
|
|
|
|
|
:format="scheda.barcode.format"
|
2024-12-13 18:10:04 +01:00
|
|
|
:fontsize="
|
|
|
|
|
scheda.barcode.font?.size
|
|
|
|
|
"
|
|
|
|
|
:gap="
|
|
|
|
|
tools.adjustSize(optcatalogo, scheda.barcode.size?.gap)
|
|
|
|
|
"
|
2024-11-28 16:04:48 +01:00
|
|
|
:width="
|
|
|
|
|
parseInt(
|
|
|
|
|
tools.adjustSize(
|
|
|
|
|
optcatalogo,
|
|
|
|
|
scheda.barcode.size?.width
|
|
|
|
|
)
|
|
|
|
|
)
|
|
|
|
|
"
|
2024-12-13 18:10:04 +01:00
|
|
|
:widthlines="tools.adjustSize(optcatalogo, scheda.barcode.widthlines)"
|
|
|
|
|
:height="
|
|
|
|
|
tools.adjustSize(optcatalogo, scheda.barcode.size?.height)
|
|
|
|
|
"
|
|
|
|
|
:show_at_right="scheda.barcode.show_at_right"
|
2024-11-28 16:04:48 +01:00
|
|
|
>
|
|
|
|
|
</CBarCode>
|
|
|
|
|
</div>
|
2024-12-02 19:38:01 +01:00
|
|
|
<div
|
|
|
|
|
v-if="
|
|
|
|
|
scheda.etichette?.bestseller?.show && isProductBestseller()
|
|
|
|
|
"
|
|
|
|
|
>
|
2024-11-28 16:04:48 +01:00
|
|
|
<q-img
|
|
|
|
|
src="images/bestseller.png"
|
|
|
|
|
alt="Bestseller"
|
2024-12-09 12:32:19 +01:00
|
|
|
:width="40 * tools.getScale(optcatalogo) + 'px'"
|
|
|
|
|
:height="40 * tools.getScale(optcatalogo) + 'px'"
|
2024-11-28 16:04:48 +01:00
|
|
|
fit="contain"
|
|
|
|
|
></q-img>
|
|
|
|
|
</div>
|
2024-12-02 19:38:01 +01:00
|
|
|
<div
|
|
|
|
|
v-else-if="
|
|
|
|
|
scheda.etichette?.novita?.show && isProductNovita()
|
|
|
|
|
"
|
|
|
|
|
>
|
2024-11-28 16:04:48 +01:00
|
|
|
<q-img
|
|
|
|
|
src="images/novita.png"
|
|
|
|
|
alt="Novita"
|
2024-12-09 12:32:19 +01:00
|
|
|
:width="40 * tools.getScale(optcatalogo) + 'px'"
|
|
|
|
|
:height="40 * tools.getScale(optcatalogo) + 'px'"
|
2024-11-28 16:04:48 +01:00
|
|
|
fit="contain"
|
|
|
|
|
></q-img>
|
|
|
|
|
</div>
|
2024-11-24 14:40:29 +01:00
|
|
|
</div>
|
2024-12-13 18:10:04 +01:00
|
|
|
</CText>
|
2024-11-24 14:40:29 +01:00
|
|
|
</div>
|
2024-12-13 18:10:04 +01:00
|
|
|
|
2024-11-24 14:40:29 +01:00
|
|
|
<div
|
2024-12-09 12:32:19 +01:00
|
|
|
v-if="optcatalogo.indebug"
|
2024-11-24 14:40:29 +01:00
|
|
|
:style="{
|
|
|
|
|
width: '100%',
|
|
|
|
|
}"
|
|
|
|
|
>
|
|
|
|
|
<div
|
2024-11-22 20:23:37 +01:00
|
|
|
:style="{
|
2024-12-09 12:32:19 +01:00
|
|
|
'--scalecatalog': tools.getScale(optcatalogo),
|
2024-11-28 16:04:48 +01:00
|
|
|
'line-height': scheda.testo_bottom.font?.line_height,
|
2024-11-22 20:23:37 +01:00
|
|
|
}"
|
2024-12-09 12:32:19 +01:00
|
|
|
v-html="getTesto_Debug"
|
|
|
|
|
></div>
|
|
|
|
|
</div>
|
2024-12-13 18:10:04 +01:00
|
|
|
<!-- 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"
|
2025-02-10 22:48:53 +01:00
|
|
|
:idPage="idPage"
|
2024-12-13 18:10:04 +01:00
|
|
|
></CText>
|
2024-12-17 21:38:21 +01:00
|
|
|
<!--<div v-if="optcatalogo.indebug">testo: "{{ getTesto_Bottom }}"</div>-->
|
2024-05-04 14:49:09 +02:00
|
|
|
</div>
|
|
|
|
|
</q-card-section>
|
2024-05-05 19:09:08 +02:00
|
|
|
<q-separator v-if="complete" class="q-my-sm"></q-separator>
|
2024-05-04 14:49:09 +02:00
|
|
|
<q-card-section v-if="complete && myproduct.productInfo.description">
|
2024-05-05 19:09:08 +02:00
|
|
|
<div class="title-descr text-blue row">Descrizione:</div>
|
2024-05-04 14:49:09 +02:00
|
|
|
<div class="row items-center">
|
|
|
|
|
<div class="text-title text-grey-9">
|
|
|
|
|
<span
|
|
|
|
|
class="text-grey-7"
|
|
|
|
|
v-html="myproduct.productInfo.description"
|
|
|
|
|
></span>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</q-card-section>
|
2024-05-05 19:09:08 +02:00
|
|
|
</div>
|
2024-05-04 14:49:09 +02:00
|
|
|
|
|
|
|
|
<q-dialog v-if="myproduct" v-model="openlistorders">
|
|
|
|
|
<q-card class="dialog_card">
|
|
|
|
|
<q-toolbar class="bg-primary text-white">
|
|
|
|
|
<q-toolbar-title>
|
|
|
|
|
{{ t('ecomm.listaord') }} - {{ 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">
|
|
|
|
|
<q-markup-table
|
|
|
|
|
wrap-cells
|
|
|
|
|
bordered
|
|
|
|
|
separator="horizontal"
|
|
|
|
|
class="listaev__table"
|
|
|
|
|
>
|
|
|
|
|
<thead>
|
2024-10-31 23:23:06 +01:00
|
|
|
<tr>
|
|
|
|
|
<th>Data</th>
|
|
|
|
|
<th>Persona</th>
|
|
|
|
|
<th>Stato</th>
|
|
|
|
|
<th>Quantita</th>
|
|
|
|
|
<th>Note</th>
|
|
|
|
|
</tr>
|
2024-05-04 14:49:09 +02:00
|
|
|
</thead>
|
|
|
|
|
|
|
|
|
|
<tbody>
|
|
|
|
|
<tr
|
|
|
|
|
v-for="(ordcart, index) of listord"
|
|
|
|
|
:key="index"
|
|
|
|
|
class="listaev listaev__table"
|
|
|
|
|
>
|
|
|
|
|
<td class="text-center">
|
|
|
|
|
<div>
|
|
|
|
|
{{ func_tools.getDateTimeShortStr(ordcart.created_at) }}
|
|
|
|
|
</div>
|
|
|
|
|
</td>
|
|
|
|
|
<td class="text-center">
|
|
|
|
|
<strong>{{
|
|
|
|
|
tools.getNomeUtenteEUsernameByRecUser(ordcart.user)
|
|
|
|
|
}}</strong>
|
|
|
|
|
</td>
|
|
|
|
|
<td class="text-center">
|
|
|
|
|
<strong>{{
|
|
|
|
|
shared_consts.getStatusStr(ordcart.status)
|
|
|
|
|
}}</strong>
|
|
|
|
|
</td>
|
|
|
|
|
<td class="text-center">
|
|
|
|
|
<div v-for="(singleord, index) in ordcart.items" :key="index">
|
|
|
|
|
<span
|
|
|
|
|
v-if="
|
|
|
|
|
singleord.order.idProduct === myproduct._id &&
|
|
|
|
|
singleord.order.quantity > 0
|
|
|
|
|
"
|
|
|
|
|
>
|
|
|
|
|
{{ singleord.order.quantity }}</span
|
|
|
|
|
>
|
|
|
|
|
<span
|
|
|
|
|
v-if="
|
|
|
|
|
singleord.order.idProduct === myproduct._id &&
|
|
|
|
|
singleord.order.quantitypreordered > 0
|
|
|
|
|
"
|
|
|
|
|
>
|
|
|
|
|
{{ singleord.order.quantitypreordered }}</span
|
|
|
|
|
>
|
|
|
|
|
</div>
|
|
|
|
|
</td>
|
|
|
|
|
<td class="text-center">
|
|
|
|
|
{{ ordcart.note }}
|
|
|
|
|
</td>
|
|
|
|
|
</tr>
|
|
|
|
|
<tr>
|
|
|
|
|
<td> </td>
|
|
|
|
|
<td> </td>
|
|
|
|
|
<td class="text-center">
|
|
|
|
|
Totali:
|
|
|
|
|
<span class="totali">{{ sumval }}</span>
|
|
|
|
|
</td>
|
|
|
|
|
<td> </td>
|
|
|
|
|
</tr>
|
|
|
|
|
</tbody>
|
|
|
|
|
</q-markup-table>
|
|
|
|
|
</q-card-section>
|
|
|
|
|
</q-card>
|
|
|
|
|
</q-dialog>
|
|
|
|
|
|
|
|
|
|
<q-dialog
|
|
|
|
|
v-if="
|
|
|
|
|
true &&
|
|
|
|
|
myproduct &&
|
|
|
|
|
myproduct.productInfo &&
|
|
|
|
|
myproduct.productInfo.link_scheda
|
|
|
|
|
"
|
|
|
|
|
v-model="apriSchedaPDF"
|
|
|
|
|
maximized
|
|
|
|
|
>
|
|
|
|
|
<q-card>
|
|
|
|
|
<q-toolbar class="bg-primary text-white">
|
|
|
|
|
<q-toolbar-title>
|
|
|
|
|
{{ myproduct.productInfo.name }}
|
|
|
|
|
</q-toolbar-title>
|
|
|
|
|
<q-btn
|
|
|
|
|
flat
|
|
|
|
|
round
|
|
|
|
|
color="white"
|
|
|
|
|
label="CHIUDI"
|
|
|
|
|
icon="close"
|
|
|
|
|
v-close-popup
|
|
|
|
|
></q-btn>
|
|
|
|
|
</q-toolbar>
|
|
|
|
|
<q-card-section>
|
|
|
|
|
<iframe
|
|
|
|
|
:src="myproduct.productInfo.link_scheda"
|
|
|
|
|
frameborder="0"
|
|
|
|
|
width="100%"
|
|
|
|
|
height="100%"
|
|
|
|
|
></iframe>
|
|
|
|
|
</q-card-section>
|
|
|
|
|
</q-card>
|
2025-02-10 22:48:53 +01:00
|
|
|
<q-card-actions align="center">
|
2024-05-04 14:49:09 +02:00
|
|
|
<q-btn color="primary" label="Chiudi" @click="apriSchedaPDF = false" />
|
|
|
|
|
</q-card-actions>
|
|
|
|
|
</q-dialog>
|
|
|
|
|
|
|
|
|
|
<q-dialog
|
|
|
|
|
v-if="
|
|
|
|
|
false &&
|
|
|
|
|
myproduct &&
|
|
|
|
|
myproduct.productInfo &&
|
|
|
|
|
myproduct.productInfo.link_scheda
|
|
|
|
|
"
|
|
|
|
|
v-model="apriSchedaPDF"
|
|
|
|
|
fullscreen
|
|
|
|
|
>
|
|
|
|
|
<q-toolbar class="bg-primary text-white">
|
|
|
|
|
<q-toolbar-title>
|
|
|
|
|
{{ myproduct.productInfo.name }}
|
|
|
|
|
</q-toolbar-title>
|
|
|
|
|
<q-btn
|
|
|
|
|
flat
|
|
|
|
|
round
|
|
|
|
|
color="white"
|
|
|
|
|
label="CHIUDI"
|
|
|
|
|
icon="close"
|
|
|
|
|
v-close-popup
|
|
|
|
|
></q-btn>
|
|
|
|
|
</q-toolbar>
|
|
|
|
|
<q-card-section>
|
|
|
|
|
<vue-pdf-app
|
|
|
|
|
:pdf="myproduct.productInfo.link_scheda"
|
|
|
|
|
style="height: 100vh"
|
|
|
|
|
></vue-pdf-app>
|
|
|
|
|
</q-card-section>
|
|
|
|
|
</q-dialog>
|
|
|
|
|
|
|
|
|
|
<q-dialog
|
|
|
|
|
v-model="isFullScreen"
|
|
|
|
|
position="top"
|
|
|
|
|
:maximized="true"
|
|
|
|
|
class="q-pt-none"
|
|
|
|
|
>
|
|
|
|
|
<div
|
|
|
|
|
v-if="isFullScreen"
|
|
|
|
|
class="fullscreen-container"
|
|
|
|
|
@touchmove.prevent
|
|
|
|
|
@click="toggleFullScreen"
|
|
|
|
|
>
|
|
|
|
|
<q-img
|
|
|
|
|
:src="
|
2024-10-02 23:26:52 +02:00
|
|
|
myproduct.productInfo.imagefile
|
|
|
|
|
? `` + myproduct.productInfo.imagefile
|
2024-05-04 14:49:09 +02:00
|
|
|
: myproduct.productInfo.image_link
|
|
|
|
|
"
|
|
|
|
|
:alt="myproduct.productInfo.name"
|
2024-05-08 16:07:42 +02:00
|
|
|
:fit="tools.isMobile() ? 'fill' : 'contain'"
|
|
|
|
|
class="fullscreen-image"
|
2024-05-04 14:49:09 +02:00
|
|
|
@touchstart="onTouchStart"
|
|
|
|
|
@touchmove="onTouchMove"
|
|
|
|
|
@touchend="onTouchEnd"
|
|
|
|
|
ref="fullscreenImage"
|
2024-05-08 16:07:42 +02:00
|
|
|
>
|
|
|
|
|
</q-img>
|
2024-05-04 14:49:09 +02:00
|
|
|
<br />
|
|
|
|
|
</div>
|
|
|
|
|
<div class="text-center">
|
|
|
|
|
<q-btn
|
|
|
|
|
class="q-ma-md"
|
|
|
|
|
@click="isFullScreen = false"
|
|
|
|
|
label="Chiudi"
|
|
|
|
|
rounded
|
|
|
|
|
color="primary"
|
|
|
|
|
icon="close"
|
|
|
|
|
></q-btn>
|
|
|
|
|
</div>
|
|
|
|
|
</q-dialog>
|
2024-12-09 12:32:19 +01:00
|
|
|
<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"
|
2024-12-17 17:56:03 +01:00
|
|
|
mykey="date_pub"
|
2024-12-09 12:32:19 +01:00
|
|
|
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">
|
2025-01-07 17:17:08 +01:00
|
|
|
<div class="etichetta">Fatturati:</div>
|
|
|
|
|
<CMyValueDb
|
|
|
|
|
:editOn="modifOn"
|
|
|
|
|
table="productinfos"
|
|
|
|
|
:id="myproduct.productInfo._id"
|
|
|
|
|
:rec="myproduct.productInfo"
|
|
|
|
|
mykey="totFat"
|
|
|
|
|
debounce="1000"
|
|
|
|
|
:save="updateproductmodif()"
|
|
|
|
|
:type="costanti.FieldType.number"
|
|
|
|
|
>
|
|
|
|
|
</CMyValueDb>
|
|
|
|
|
<div class="etichetta">Fatturati Ultimi 3 Mese:</div>
|
|
|
|
|
<CMyValueDb
|
|
|
|
|
:editOn="modifOn"
|
|
|
|
|
table="productinfos"
|
|
|
|
|
:id="myproduct.productInfo._id"
|
|
|
|
|
:rec="myproduct.productInfo"
|
|
|
|
|
mykey="fatLast3M"
|
|
|
|
|
debounce="1000"
|
|
|
|
|
:save="updateproductmodif()"
|
|
|
|
|
:type="costanti.FieldType.number"
|
|
|
|
|
>
|
|
|
|
|
</CMyValueDb>
|
2024-12-09 12:32:19 +01:00
|
|
|
<div class="etichetta">Venduti:</div>
|
|
|
|
|
<CMyValueDb
|
|
|
|
|
:editOn="modifOn"
|
|
|
|
|
table="productinfos"
|
|
|
|
|
:id="myproduct.productInfo._id"
|
|
|
|
|
:rec="myproduct.productInfo"
|
2024-12-17 17:56:03 +01:00
|
|
|
mykey="totVen"
|
2024-12-09 12:32:19 +01:00
|
|
|
debounce="1000"
|
|
|
|
|
:save="updateproductmodif()"
|
|
|
|
|
:type="costanti.FieldType.number"
|
|
|
|
|
>
|
|
|
|
|
</CMyValueDb>
|
2025-01-07 17:17:08 +01:00
|
|
|
<div class="etichetta">Venduti Ultimi 3 Mesi:</div>
|
2024-12-09 12:32:19 +01:00
|
|
|
<CMyValueDb
|
|
|
|
|
:editOn="modifOn"
|
|
|
|
|
table="productinfos"
|
|
|
|
|
:id="myproduct.productInfo._id"
|
|
|
|
|
:rec="myproduct.productInfo"
|
2024-12-17 21:38:21 +01:00
|
|
|
mykey="vLast3M"
|
2024-12-09 12:32:19 +01:00
|
|
|
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"
|
2024-12-17 17:56:03 +01:00
|
|
|
mykey="vLast6M"
|
2024-12-09 12:32:19 +01:00
|
|
|
debounce="1000"
|
|
|
|
|
:save="updateproductmodif()"
|
|
|
|
|
:type="costanti.FieldType.number"
|
|
|
|
|
>
|
|
|
|
|
</CMyValueDb>
|
2024-12-17 21:38:21 +01:00
|
|
|
<div class="etichetta">Venduti Ultimo Anno:</div>
|
|
|
|
|
<CMyValueDb
|
|
|
|
|
:editOn="modifOn"
|
|
|
|
|
table="productinfos"
|
|
|
|
|
:id="myproduct.productInfo._id"
|
|
|
|
|
:rec="myproduct.productInfo"
|
|
|
|
|
mykey="vLastY"
|
|
|
|
|
debounce="1000"
|
|
|
|
|
:save="updateproductmodif()"
|
|
|
|
|
:type="costanti.FieldType.number"
|
|
|
|
|
>
|
|
|
|
|
</CMyValueDb>
|
2024-12-13 18:10:04 +01:00
|
|
|
<CLabel
|
|
|
|
|
:value="myproduct.indiceRanking"
|
|
|
|
|
label="N° in Classifica:"
|
|
|
|
|
/>
|
|
|
|
|
|
2024-12-09 12:32:19 +01:00
|
|
|
<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>
|
2024-05-04 14:49:09 +02:00
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<script lang="ts" src="./CCatalogoCard.ts">
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
|
|
|
@import './CCatalogoCard.scss';
|
|
|
|
|
</style>
|