aggiornamenti vari...

This commit is contained in:
Surya Paolo
2025-03-21 19:51:55 +01:00
parent a09a49ac37
commit 4c82015f27
121 changed files with 1343 additions and 5032 deletions

View File

@@ -244,108 +244,109 @@ export default defineComponent({
}
function mounted() {
neworder.value = props.myelem.order
try {
neworder.value = props.myelem.order
arrPages.value = []
arrPages.value.push({ label: '[Vuoto]', path: '' })
for (const page of globalStore.mypage) {
arrPages.value = []
arrPages.value.push({ label: '[Vuoto]', path: '' })
for (const page of globalStore.mypage) {
const rec = {
// @ts-ignore
label: page.title,
// @ts-ignore
value: page.idPage
const rec = {
// @ts-ignore
label: page.title,
// @ts-ignore
value: page.idPage
}
arrPages.value.push(rec)
}
arrPages.value.push(rec)
}
if (props.myelem)
newtype.value = props.myelem.type
if (props.myelem)
newtype.value = props.myelem.type
if (myel.value.class4) {
selectedClasses.value = myel.value.class4.split(' ').filter(Boolean)
}
if (myel.value.class4) {
selectedClasses.value = myel.value.class4.split(' ').filter(Boolean)
}
if (myel.value.catalogo && myel.value.catalogo?.arrSchede) {
for (const recscheda of myel.value.catalogo!.arrSchede) {
if (recscheda.scheda) {
recscheda.scheda.testo_right_attaccato = tools.resetIText(recscheda.scheda?.testo_right_attaccato)
recscheda.scheda.testo_right = tools.resetIText(recscheda.scheda?.testo_right)
recscheda.scheda.testo_bottom = tools.resetIText(recscheda.scheda?.testo_bottom)
if (myel.value.catalogo && myel.value.catalogo?.arrSchede) {
for (const recscheda of myel.value.catalogo!.arrSchede) {
if (recscheda.scheda) {
recscheda.scheda.testo_right_attaccato = tools.resetIText(recscheda.scheda?.testo_right_attaccato)
recscheda.scheda.testo_right = tools.resetIText(recscheda.scheda?.testo_right)
recscheda.scheda.testo_bottom = tools.resetIText(recscheda.scheda?.testo_bottom)
if ((!recscheda.scheda?.dimensioni.pagina)) {
recscheda.scheda.dimensioni.pagina = tools.resetRecIPagina(recscheda.scheda?.dimensioni.pagina)
}
if ((!recscheda.scheda?.dimensioni.pagina.dimensioni)) {
recscheda.scheda.dimensioni.pagina = tools.resetRecIPagina(recscheda.scheda?.dimensioni.pagina)
}
if (!recscheda.scheda?.dimensioni?.pagina?.testo_up) {
recscheda.scheda!.dimensioni.pagina.testo_up = tools.resetIText(null)
}
if (!recscheda.scheda?.dimensioni?.pagina?.testo_down) {
recscheda.scheda!.dimensioni.pagina.testo_down = tools.resetIText(null)
}
if (!recscheda.scheda?.etichette?.novita?.show) {
recscheda.scheda.etichette!.novita = {
show: false,
months: 6,
if ((!recscheda.scheda?.dimensioni.pagina.dimensioni)) {
recscheda.scheda.dimensioni.pagina = tools.resetRecIPagina(recscheda.scheda?.dimensioni.pagina)
}
recscheda.scheda.etichette!.bestseller = {
show: false,
primiNInClassifica: 0,
if (!recscheda.scheda?.dimensioni?.pagina?.testo_up) {
recscheda.scheda!.dimensioni.pagina.testo_up = tools.resetIText(null)
}
if (!recscheda.scheda?.dimensioni?.pagina?.testo_down) {
recscheda.scheda!.dimensioni.pagina.testo_down = tools.resetIText(null)
}
}
if ((!recscheda.scheda?.barcode || !recscheda.scheda?.barcode.font)) {
recscheda.scheda.barcode = {
show: false,
format: '',
size: {
width: '2',
height: '33',
},
font: {
name: '',
size: '11',
if (!recscheda.scheda?.etichette?.novita?.show) {
recscheda.scheda.etichette!.novita = {
show: false,
months: 6,
}
recscheda.scheda.etichette!.bestseller = {
show: false,
primiNInClassifica: 0,
}
}
}
if ((!recscheda.scheda?.barcode || !recscheda.scheda?.barcode.font)) {
recscheda.scheda.barcode = {
show: false,
format: '',
size: {
width: '2',
height: '33',
},
font: {
name: '',
size: '11',
}
}
}
}
}
}
}
if (myel.value.catalogo) {
if (!myel.value.catalogo.first_page) {
myel.value.catalogo.first_page = tools.resetRecIDimensioni(null)
if (myel.value.catalogo) {
if (!myel.value.catalogo.first_page) {
myel.value.catalogo.first_page = tools.resetRecIDimensioni(null)
}
myel.value.catalogo.first_page = tools.resetRecIDimensioni(myel.value.catalogo.first_page)
}
if (myel.value.catalogo) {
if (!myel.value.catalogo.last_page)
myel.value.catalogo.last_page = tools.resetRecIDimensioni(null)
myel.value.catalogo.last_page = tools.resetRecIDimensioni(myel.value.catalogo.last_page)
}
if (myel.value.catalogo) {
if (!myel.value.catalogo.areadistampa) {
myel.value.catalogo.areadistampa = tools.resetRecIAreaDiStampa(null)
myel.value.catalogo.areadistampa.margini = { left: '0.59', top: '0.59', right: '0.59', bottom: '0.28' }
}
myel.value.catalogo.areadistampa = tools.resetRecIAreaDiStampa(myel.value.catalogo.areadistampa)
}
myel.value.catalogo.first_page = tools.resetRecIDimensioni(myel.value.catalogo.first_page)
}
if (myel.value.catalogo) {
if (!myel.value.catalogo.last_page)
myel.value.catalogo.last_page = tools.resetRecIDimensioni(null)
myel.value.catalogo.last_page = tools.resetRecIDimensioni(myel.value.catalogo.last_page)
}
if (myel.value.catalogo) {
if (!myel.value.catalogo.areadistampa) {
myel.value.catalogo.areadistampa = tools.resetRecIAreaDiStampa(null)
myel.value.catalogo.areadistampa.margini = { left: '0.59', top: '0.59', right: '0.59', bottom: '0.28' }
if (myel.value.catalogo && !myel.value.catalogo.dimensioni_def) {
myel.value.catalogo.dimensioni_def = { pagina: {} }
}
if (myel.value.catalogo && myel.value.catalogo.dimensioni_def) {
myel.value.catalogo.dimensioni_def.pagina = tools.resetRecIDimensioni(myel.value.catalogo.dimensioni_def.pagina)
}
myel.value.catalogo.areadistampa = tools.resetRecIAreaDiStampa(myel.value.catalogo.areadistampa)
} catch (error) {
console.log(error)
}
if (myel.value.catalogo && !myel.value.catalogo.dimensioni_def) {
myel.value.catalogo.dimensioni_def = { pagina: {} }
}
if (myel.value.catalogo && myel.value.catalogo.dimensioni_def) {
myel.value.catalogo.dimensioni_def.pagina = tools.resetRecIDimensioni(myel.value.catalogo.dimensioni_def.pagina)
}
}
function clickOnElem() {
@@ -469,18 +470,21 @@ export default defineComponent({
numschede_perCol: 2,
testo_right_attaccato: {
contenuto: '',
maxlength: 0,
font: {
posiz_text: costanti.POSIZ_TESTO.A_DESTRA,
},
},
testo_right: {
contenuto: '',
maxlength: 0,
font: {
posiz_text: costanti.POSIZ_TESTO.A_DESTRA,
},
},
testo_bottom: {
contenuto: '',
maxlength: 0,
font: {
posiz_text: costanti.POSIZ_TESTO.IN_BASSO,
}
@@ -505,6 +509,16 @@ export default defineComponent({
sort_field: '',
sort_dir: 0,
arrProdottiSpeciali: [],
etichette: {
novita: {
show: false,
months: 6,
},
bestseller: {
show: false,
primiNInClassifica: 20
}
}
}
if (!myel.value.catalogo!.arrSchede)

View File

@@ -1,11 +1,7 @@
<template>
<div
v-if="myel"
:class="
(editOn ? ` clEditDiv` : ``) +
`` +
(!myel.active ? ` clEditNotActive` : ``)
"
:class="(editOn ? ` clEditDiv` : ``) + `` + (!myel.active ? ` clEditNotActive` : ``)"
>
<div v-if="myel && myel.type">
<div class="row justify-evenly q-gutter-sm">
@@ -44,7 +40,10 @@
>
</q-btn>
</div>
<q-bar v-if="enableEdit" class="q-pa-md bg-orange text-white">
<q-bar
v-if="enableEdit"
class="q-pa-md bg-orange text-white"
>
Pagina:
<q-space />
@@ -76,7 +75,10 @@
>
</q-btn>
</q-bar>
<q-bar v-if="enableEdit" class="q-pa-md bg-light-blue text-white">
<q-bar
v-if="enableEdit"
class="q-pa-md bg-light-blue text-white"
>
Elemento:
<q-space />
@@ -131,7 +133,11 @@
</q-btn>-->
</div>
</div>
<q-list padding bordered class="rounded-borders">
<q-list
padding
bordered
class="rounded-borders"
>
<q-expansion-item
dense
dense-toggle
@@ -495,13 +501,20 @@
/>
</q-tabs>
<q-tab-panels v-model="tabCard" animated keep-alive>
<q-tab-panels
v-model="tabCard"
animated
keep-alive
>
<q-tab-panel
v-for="(rec, ind) in myel.listcards"
:key="ind"
:name="ind"
>
<div v-if="enableEdit" class="column bordered q-ma-xs">
<div
v-if="enableEdit"
class="column bordered q-ma-xs"
>
<q-bar class="bg-primary text-white">
Scheda {{ ind + 1 }}
<q-space />
@@ -531,7 +544,10 @@
>
</CMyFieldRec>
<div v-if="enableEdit" class="row">
<div
v-if="enableEdit"
class="row"
>
<q-input
dense
style="min-width: 150px"
@@ -604,7 +620,10 @@
>
</q-input>
</div>
<div v-if="enableEdit" class="row">
<div
v-if="enableEdit"
class="row"
>
<CSelectColor
v-if="enableEdit"
v-model="rec.colorsub"
@@ -800,13 +819,20 @@
/>
</q-tabs>
<q-tab-panels v-model="tabElemsText" animated keep-alive>
<q-tab-panels
v-model="tabElemsText"
animated
keep-alive
>
<q-tab-panel
v-for="(rec, ind) in myel.elemsText"
:key="ind"
:name="`elem` + ind"
>
<div v-if="enableEdit" class="column bordered q-ma-xs">
<div
v-if="enableEdit"
class="column bordered q-ma-xs"
>
<q-bar class="bg-primary text-white">
Elem {{ ind + 1 }}
<q-space />
@@ -819,7 +845,10 @@
>
</q-btn>
</q-bar>
<div v-if="enableEdit" class="row">
<div
v-if="enableEdit"
class="row"
>
<CSelectColor
v-if="enableEdit"
style="min-width: 150px"
@@ -1027,7 +1056,10 @@
</div>
</div>
<div v-else-if="myel.type === shared_consts.ELEMTYPE.VIDEO">
<div v-if="enableEdit" class="row">
<div
v-if="enableEdit"
class="row"
>
<q-input
dense
label="NomeFile Video:"
@@ -1051,7 +1083,10 @@
</div>
<div v-else-if="myel.type === shared_consts.ELEMTYPE.FOOTER"></div>
<div v-else-if="myel.type === shared_consts.ELEMTYPE.PAGE">
<div v-if="enableEdit" class="row">
<div
v-if="enableEdit"
class="row"
>
<q-select
:behavior="$q.platform.is.ios === true ? 'dialog' : 'menu'"
rounded
@@ -1067,7 +1102,10 @@
</div>
</div>
<div v-else-if="myel.type === shared_consts.ELEMTYPE.PAGEINTRO">
<div v-if="enableEdit" class="row">
<div
v-if="enableEdit"
class="row"
>
<q-input
dense
label="NomeFile Img:"
@@ -1120,13 +1158,14 @@
</div>
</div>
</div>
<div
v-else-if="myel.type === shared_consts.ELEMTYPE.CAROUSEL_IDISCIPLINE"
>
<div v-else-if="myel.type === shared_consts.ELEMTYPE.CAROUSEL_IDISCIPLINE">
<CCardCarousel :myarr="getArrDisciplines()"> </CCardCarousel>
</div>
<div v-else-if="myel.type === shared_consts.ELEMTYPE.OPENSTREETMAP">
<div v-if="enableEdit" class="row">
<div
v-if="enableEdit"
class="row"
>
<q-input
dense
label="ImgMap:"
@@ -1180,7 +1219,10 @@
</div>
</div>
<div v-else-if="myel.type === shared_consts.ELEMTYPE.CAROUSEL_IMGS">
<div v-if="enableEdit" class="row">
<div
v-if="enableEdit"
class="row"
>
<CMyFieldRec
title="Lista Immagini:"
table="myelems"
@@ -1225,9 +1267,7 @@
</q-toggle>
</div>
</div>
<div
v-else-if="myel.type === shared_consts.ELEMTYPE.CAROUSEL_HOME"
></div>
<div v-else-if="myel.type === shared_consts.ELEMTYPE.CAROUSEL_HOME"></div>
<div v-else-if="myel.type === shared_consts.ELEMTYPE.BUTTON">
<q-input
dense
@@ -1299,7 +1339,10 @@
</q-input>
</div>
<div v-else-if="myel.type === shared_consts.ELEMTYPE.GRID_ORIZ">
<div v-if="enableEdit" class="row">
<div
v-if="enableEdit"
class="row"
>
<q-select
v-model="myel.container"
:options="[
@@ -1358,7 +1401,10 @@
</div>
</div>
<div v-else-if="myel.type === shared_consts.ELEMTYPE.CATALOGLIST">
<div v-if="enableEdit" class="row">
<div
v-if="enableEdit"
class="row"
>
<br />
<q-toggle
v-model="myel.parambool"
@@ -1375,7 +1421,10 @@
</div>
</div>
<div v-else-if="myel.type === shared_consts.ELEMTYPE.CALENDAR">
<div v-if="enableEdit" class="row">
<div
v-if="enableEdit"
class="row"
>
<q-input
dense
label="Visualizza ultimi N eventi:"
@@ -1402,6 +1451,63 @@
>
</q-select>
</div>
<div v-else-if="myel.type === shared_consts.ELEMTYPE.SEARCHPRODUCT">
<div v-if="enableEdit && myel.catalogo">
<q-btn
v-if="myel.catalogo.arrSchede.length === 0"
rounded
dense
color="primary"
label="Aggiungi"
icon="fas fa-plus"
@click="addNewScheda"
>
</q-btn>
<div
v-for="(recscheda, ind) in myel.catalogo.arrSchede"
:key="recscheda._id"
:name="ind"
dense
:label="`${ind}. ` + recscheda.scheda.name ? recscheda.scheda.name : `Scheda ` + (ind + 1)"
>
<q-expansion-item
dense
dense-toggle
expand-separator
label="Testo"
:disabled="recscheda.scheda.linkIdTemplate"
icon="fas fa-play-circle"
>
<CMyText
v-model="recscheda.scheda.testo_right_attaccato"
@modifElem="modifElem"
@saveFieldElem="saveFieldElem"
@update:model-value="modifElem"
label="Testo a Destra attaccato"
>
</CMyText>
<CMyText
v-model="recscheda.scheda.testo_right"
@modifElem="modifElem"
@saveFieldElem="saveFieldElem"
@update:model-value="modifElem"
label="Testo a Destra"
>
</CMyText>
<CMyText
v-model="recscheda.scheda.testo_bottom"
@modifElem="modifElem"
@saveFieldElem="saveFieldElem"
@update:model-value="modifElem"
label="Testo in Basso"
:show_dimensioni="true"
>
</CMyText>
</q-expansion-item>
</div>
</div>
</div>
<div v-else-if="myel.type === shared_consts.ELEMTYPE.CATALOGO">
<div v-if="enableEdit">
<q-expansion-item
@@ -1473,9 +1579,7 @@
<q-select
:behavior="$q.platform.is.ios === true ? 'dialog' : 'menu'"
v-if="
enableEdit && myel.catalogo && myel.catalogo.productTypes
"
v-if="enableEdit && myel.catalogo && myel.catalogo.productTypes"
rounded
outlined
v-model="myel.catalogo.productTypes"
@@ -1491,11 +1595,7 @@
<q-select
:behavior="$q.platform.is.ios === true ? 'dialog' : 'menu'"
v-if="
enableEdit &&
myel.catalogo &&
myel.catalogo.excludeproductTypes
"
v-if="enableEdit && myel.catalogo && myel.catalogo.excludeproductTypes"
rounded
outlined
v-model="myel.catalogo.excludeproductTypes"
@@ -1616,26 +1716,27 @@
:key="rec._id"
:name="ind"
dense
:label="
`${ind}. ` + rec.scheda.name
? rec.scheda.name
: `Scheda ` + (ind + 1)
"
:label="`${ind}. ` + rec.scheda.name ? rec.scheda.name : `Scheda ` + (ind + 1)"
>
</q-tab>
</q-tabs>
<q-tab-panels v-model="tabScheda" animated keep-alive>
<q-tab-panels
v-model="tabScheda"
animated
keep-alive
>
<q-tab-panel
v-for="(recscheda, ind) in myel.catalogo.arrSchede"
:key="recscheda._id"
:name="ind"
>
<q-bar v-if="recscheda" class="bg-primary text-white">
<q-bar
v-if="recscheda"
class="bg-primary text-white"
>
{{ ind + 1 }}.
<span v-if="recscheda.scheda">
'{{ recscheda.scheda.name }}'</span
>
<span v-if="recscheda.scheda"> '{{ recscheda.scheda.name }}'</span>
<q-space />
<q-btn
rounded
@@ -1699,9 +1800,7 @@
<div class="row">
<q-select
:behavior="
$q.platform.is.ios === true ? 'dialog' : 'menu'
"
:behavior="$q.platform.is.ios === true ? 'dialog' : 'menu'"
v-if="enableEdit"
rounded
outlined
@@ -1717,9 +1816,7 @@
<br />
<div class="row">
<q-select
:behavior="
$q.platform.is.ios === true ? 'dialog' : 'menu'
"
:behavior="$q.platform.is.ios === true ? 'dialog' : 'menu'"
v-if="enableEdit"
rounded
outlined
@@ -1763,9 +1860,7 @@
>
<div class="column">
<q-select
:behavior="
$q.platform.is.ios === true ? 'dialog' : 'menu'
"
:behavior="$q.platform.is.ios === true ? 'dialog' : 'menu'"
v-if="enableEdit && myel.catalogo"
rounded
outlined
@@ -1779,9 +1874,7 @@
>
</q-select>
<q-select
:behavior="
$q.platform.is.ios === true ? 'dialog' : 'menu'
"
:behavior="$q.platform.is.ios === true ? 'dialog' : 'menu'"
v-if="enableEdit && myel.catalogo"
rounded
outlined
@@ -1795,14 +1888,8 @@
>
</q-select>
<q-select
:behavior="
$q.platform.is.ios === true ? 'dialog' : 'menu'
"
v-if="
enableEdit &&
myel.catalogo &&
myel.catalogo.productTypes
"
:behavior="$q.platform.is.ios === true ? 'dialog' : 'menu'"
v-if="enableEdit && myel.catalogo && myel.catalogo.productTypes"
rounded
outlined
v-model="recscheda.scheda.productTypes"
@@ -1816,14 +1903,8 @@
>
</q-select>
<q-select
:behavior="
$q.platform.is.ios === true ? 'dialog' : 'menu'
"
v-if="
enableEdit &&
myel.catalogo &&
myel.catalogo.excludeproductTypes
"
:behavior="$q.platform.is.ios === true ? 'dialog' : 'menu'"
v-if="enableEdit && myel.catalogo && myel.catalogo.excludeproductTypes"
rounded
outlined
v-model="recscheda.scheda.excludeproductTypes"
@@ -1837,16 +1918,12 @@
>
</q-select>
<q-select
:behavior="
$q.platform.is.ios === true ? 'dialog' : 'menu'
"
:behavior="$q.platform.is.ios === true ? 'dialog' : 'menu'"
v-if="enableEdit"
rounded
outlined
v-model="recscheda.scheda.editore"
:options="
globalStore.getTableJoinByName('publishers')
"
:options="globalStore.getTableJoinByName('publishers')"
@update:model-value="modifElem"
multiple
label="Editori"
@@ -1866,9 +1943,7 @@
:options="[]"
use-chips
multiple
@update:model-value="
recscheda.scheda.arrProdottiSpeciali
"
@update:model-value="recscheda.scheda.arrProdottiSpeciali"
filled
use-input
new-value-mode="add-unique"
@@ -1886,9 +1961,7 @@
icon="fas fa-play-circle"
>
<CMyDimensioni
v-model="
recscheda.scheda.dimensioni.pagina.dimensioni
"
v-model="recscheda.scheda.dimensioni.pagina.dimensioni"
:path="costanti.DIR_SCHEDA"
@modifElem="modifElem"
:show_imgsfondo="true"
@@ -1903,9 +1976,7 @@
>
</CMyText>
<CMyText
v-model="
recscheda.scheda.dimensioni.pagina.testo_down
"
v-model="recscheda.scheda.dimensioni.pagina.testo_down"
@modifElem="modifElem"
@saveFieldElem="saveFieldElem"
@update:model-value="modifElem"
@@ -1967,28 +2038,21 @@
<CMySize
label="Schede:"
v-model="
recscheda.scheda.dimensioni.scheda_prodotto.size
"
v-model="recscheda.scheda.dimensioni.scheda_prodotto.size"
:gap="true"
@update:model-value="modifElem"
></CMySize>
<CBorders
label="Margini Schede:"
v-model="
recscheda.scheda.dimensioni.scheda_prodotto
.margini
"
v-model="recscheda.scheda.dimensioni.scheda_prodotto.margini"
@update:model-value="modifElem"
></CBorders>
<CMySize
label="Immagini:"
:fit="true"
v-model="
recscheda.scheda.dimensioni.immagine_prodotto.size
"
v-model="recscheda.scheda.dimensioni.immagine_prodotto.size"
@update:model-value="modifElem"
></CMySize>
</div>
@@ -2127,10 +2191,7 @@
</q-toggle>
<CMySlider
label="Primi N in Classifica"
v-model="
recscheda.scheda.etichette.bestseller
.primiNInClassifica
"
v-model="recscheda.scheda.etichette.bestseller.primiNInClassifica"
:min="1"
:max="100"
color="green"
@@ -2242,10 +2303,7 @@
</q-select>
<div v-if="myel.catalogo.areadistampa.format.length > 1">
Ratio:
{{
myel.catalogo.areadistampa.format[0] /
myel.catalogo.areadistampa.format[1]
}}
{{ myel.catalogo.areadistampa.format[0] / myel.catalogo.areadistampa.format[1] }}
</div>
<q-select
rounded
@@ -2331,7 +2389,7 @@
<div></div>
<q-btn
v-if="myel.catalogo.pdf && !myel.catalogo.generazionePDFInCorso"
:label="`Prepara PDF ${myel.catalogo.pdf_filename}`"
:label="`Prepara PDF`"
@click="preparePDF"
></q-btn>
<q-btn
@@ -2360,27 +2418,33 @@
<div>
<q-dialog
v-model="visuadd"
style="
width: 600px;
max-width: 100%;
position: fixed;
left: 0;
top: 0;
height: 100%;
"
style="width: 600px; max-width: 100%; position: fixed; left: 0; top: 0; height: 100%"
transition-show="slide-up"
transition-hide="slide-down"
>
<q-card class="">
<q-bar dense class="bg-primary text-white">
<q-bar
dense
class="bg-primary text-white"
>
Aggiungi Elemento:
<q-space />
<q-btn flat round color="white" icon="close" v-close-popup></q-btn>
<q-btn
flat
round
color="white"
icon="close"
v-close-popup
></q-btn>
</q-bar>
<div class="q-pa-md row justify-center">
<div style="width: 100%; max-width: 600px">
<q-list padding bordered class="rounded-borders">
<q-list
padding
bordered
class="rounded-borders"
>
<q-expansion-item
label="Principali"
icon="fas fa-eye"
@@ -2471,8 +2535,7 @@
</div>
</template>
<script lang="ts" src="./CMyEditElem.ts">
</script>
<script lang="ts" src="./CMyEditElem.ts"></script>
<style lang="scss" scoped>
@import "./CMyEditElem.scss";
@import './CMyEditElem.scss';
</style>