- Catalogo: Aggiunta di Schede

This commit is contained in:
Surya Paolo
2024-10-31 23:23:06 +01:00
parent b6f73019fe
commit 2ea6468100
123 changed files with 3382 additions and 3595327 deletions

View File

@@ -53,6 +53,15 @@
 
<q-space />
<q-btn
icon="far fa-copy"
label="Duplica Pagina"
dense
size="sm"
color="fuchsia"
@click="dupPage()"
>
</q-btn>
<q-btn
icon="fas fa-trash-alt"
color="negative"
@@ -70,6 +79,15 @@
@click="dupElem(myel.order + 10 * direzadd)"
>
</q-btn>
<q-btn
dense
icon="fas fa-check"
color="positive"
label="Salva"
size="sm"
@click="saveElem"
>
</q-btn>
</q-bar>
<div class="fixed-button">
<div class="justify-center row q-ma-xs">
@@ -403,7 +421,7 @@
rounded
dense
color="primary"
label="Scheda"
label="Aggiungi"
icon="fas fa-plus"
@click="addNewCard"
>
@@ -412,7 +430,7 @@
rounded
dense
color="primary"
label="Scheda"
label="Duplica"
icon="fas fa-copy"
@click="dupNewCard"
>
@@ -1317,154 +1335,467 @@
</q-select>
</div>
<div v-else-if="myel.type === shared_consts.ELEMTYPE.CATALOGO">
<div v-if="enableEdit" class="row">
<div>Cataloghi:</div>
<br />
<q-toggle
v-model="myel.catalogo.pdf"
color="positive"
icon="fas fa-file-pdf"
label="Versione PDF"
@update:model-value="modifElem"
>
</q-toggle>
<br />
<!--++AddCATALOGO_FIELDS-->
<q-select
:behavior="$q.platform.is.ios === true ? 'dialog' : 'menu'"
v-if="enableEdit && myel.catalogo && myel.catalogo.productTypes"
rounded
outlined
v-model="myel.catalogo.productTypes"
:options="shared_consts.VERSIONI_PRODOTTO"
@update:model-value="modifElem"
multiple
dense
label="Includi"
style="width: 150px"
emit-value
map-options
>
</q-select>
<q-select
:behavior="$q.platform.is.ios === true ? 'dialog' : 'menu'"
v-if="
enableEdit && myel.catalogo && myel.catalogo.excludeproductTypes
"
rounded
outlined
v-model="myel.catalogo.excludeproductTypes"
:options="shared_consts.VERSIONI_PRODOTTO"
@update:model-value="modifElem"
multiple
dense
label="Escludi"
style="width: 150px"
emit-value
map-options
>
</q-select>
<q-select
:behavior="$q.platform.is.ios === true ? 'dialog' : 'menu'"
v-if="enableEdit"
rounded
outlined
v-model="myel.catalogo.Editore"
:options="Products.publishers"
@update:model-value="modifElem"
multiple
dense
label="Editori"
style="width: 150px"
emit-value
map-options
option-value="_id"
option-label="name"
>
</q-select>
<CMySlider
label="Larghezza Schede:"
v-model="myel.catalogo.widthscheda"
:min="10"
:max="1000"
color="green"
addstr="px"
@update:model-value="modifElem"
></CMySlider>
<CMySlider
label="Larghezza Pagina:"
v-model="myel.catalogo.widthpag"
:min="10"
:max="1000"
color="green"
@update:model-value="modifElem"
></CMySlider>
<CMySlider
label="Larghezza Immagini:"
v-model="myel.catalogo.width"
:min="10"
:max="1000"
color="green"
addstr="px"
@update:model-value="modifElem"
></CMySlider>
<CMySlider
label="Altezza Schede:"
v-model="myel.catalogo.height"
:min="10"
:max="1000"
color="red"
addstr="px"
@update:model-value="modifElem"
></CMySlider>
</div>
<div class="sfondo_margine">
Margini:<br />
<CMySlider
label="Schede per Riga"
v-model="myel.catalogo.numschede_perRiga"
:min="1"
:max="10"
color="green"
@update:model-value="modifElem"
></CMySlider>
<CMySlider
label="Schede per Colonna"
v-model="myel.catalogo.numschede_perCol"
:min="1"
:max="10"
color="red"
@update:model-value="modifElem"
></CMySlider>
<CMySlider
label="Margine per Pagina"
v-model="myel.catalogo.margine_pagina"
:min="0"
:max="1000"
color="red"
addstr="px"
@update:model-value="modifElem"
></CMySlider>
<CMySlider
label="Margine per Riga"
v-model="myel.catalogo.margine_riga"
:min="0"
:max="1000"
color="red"
addstr="px"
@update:model-value="modifElem"
></CMySlider>
</div>
<div>Sfondo:</div>
<div v-if="enableEdit">
<q-expansion-item
dense
dense-toggle
expand-separator
label="Selezione Collane/Editori"
icon="fas fa-play-circle"
>
<div class="row">
<q-toggle
v-model="myel.catalogo.pdf"
color="positive"
icon="fas fa-file-pdf"
label="Versione PDF"
@update:model-value="modifElem"
>
</q-toggle>
<br />
<!--++AddCATALOGO_FIELDS-->
<q-select
:behavior="$q.platform.is.ios === true ? 'dialog' : 'menu'"
v-if="
enableEdit && myel.catalogo && myel.catalogo.productTypes
"
rounded
outlined
v-model="myel.catalogo.productTypes"
:options="shared_consts.VERSIONI_PRODOTTO"
@update:model-value="modifElem"
multiple
dense
label="Includi"
style="width: 150px"
emit-value
map-options
>
</q-select>
<q-select
:behavior="$q.platform.is.ios === true ? 'dialog' : 'menu'"
v-if="
enableEdit &&
myel.catalogo &&
myel.catalogo.excludeproductTypes
"
rounded
outlined
v-model="myel.catalogo.excludeproductTypes"
:options="shared_consts.VERSIONI_PRODOTTO"
@update:model-value="modifElem"
multiple
dense
label="Escludi"
style="width: 150px"
emit-value
map-options
>
</q-select>
<q-select
:behavior="$q.platform.is.ios === true ? 'dialog' : 'menu'"
v-if="enableEdit"
rounded
outlined
v-model="myel.catalogo.Editore"
:options="Products.publishers"
@update:model-value="modifElem"
multiple
dense
label="Editori"
style="width: 150px"
emit-value
map-options
option-value="_id"
option-label="name"
>
</q-select>
</div>
</q-expansion-item>
<q-expansion-item
dense
dense-toggle
expand-separator
label="Schede"
icon="fas fa-play-circle"
>
<div class="row">
<q-btn
rounded
dense
color="primary"
label="Aggiungi"
icon="fas fa-plus"
@click="addNewScheda"
>
</q-btn>
<q-tabs
v-model="tabScheda"
dense
class="text-grey"
active-color="primary"
indicator-color="primary"
align="justify"
narrow-indicator
>
<q-tab
v-for="(rec, ind) in myel.catalogo.arrSchede"
:key="ind"
:name="ind"
:label="`Scheda ` + (ind + 1)"
icon="fas fa-pencil-alt"
>
</q-tab>
</q-tabs>
<q-tab-panels v-model="tabScheda" animated>
<q-tab-panel
v-for="(recscheda, ind) in myel.catalogo.arrSchede"
:key="ind"
:name="ind"
>
<q-bar v-if="recscheda" class="bg-primary text-white">
Scheda {{ ind + 1 }}
<span v-if="recscheda.scheda"> '{{
recscheda.scheda.name
}}'</span>
<q-space />
<q-btn
rounded
dense
color="primary"
label="Duplica"
icon="fas fa-copy"
@click="dupNewScheda(recscheda._id)"
>
</q-btn>
<q-btn
icon="fas fa-trash-alt"
color="negative"
dense
size="sm"
@click="delRecScheda(recscheda._id, myel)"
>
</q-btn>
</q-bar>
<div v-if="recscheda && recscheda.scheda">
<q-select
v-model="recscheda.order"
:options="orderOptions"
label="Posizionamento"
options-dense
dense
emit-value
map-options
style="width: 100px"
@update:model-value="modifElem"
fill-input
text-color="white"
>
</q-select>
<q-toggle
v-model="recscheda.scheda.isTemplate"
color="positive"
icon="fas fa-file-pdf"
label="E' un template"
@update:model-value="modifElem"
>
</q-toggle>
<q-input
dense
label="Nome Template"
@update:model-value="modifElem"
v-model="recscheda.scheda.name"
filled
v-on:keyup.enter="saveElem"
>
</q-input>
<!--<q-select
:behavior="
$q.platform.is.ios === true ? 'dialog' : 'menu'
"
v-if="enableEdit"
rounded
outlined
v-model="recscheda._id"
:options="SchedeOpt()"
@update:model-value="modifElem"
dense
label="Scegli Scheda"
style="width: 150px"
emit-value
map-options
>
</q-select>-->
<CMySlider
label="Schede da ripetere"
v-model="recscheda.numSchede"
:min="1"
:max="100"
color="green"
@update:model-value="modifElem"
></CMySlider>
<q-expansion-item
dense
dense-toggle
expand-separator
label="Filtri"
icon="fas fa-play-circle"
>
<div class="row">
<q-select
:behavior="
$q.platform.is.ios === true ? 'dialog' : 'menu'
"
v-if="
enableEdit &&
myel.catalogo &&
myel.catalogo.productTypes
"
rounded
outlined
v-model="recscheda.scheda.productTypes"
:options="shared_consts.VERSIONI_PRODOTTO"
@update:model-value="modifElem"
multiple
dense
label="Includi"
style="width: 150px"
emit-value
map-options
>
</q-select>
<q-select
:behavior="
$q.platform.is.ios === true ? 'dialog' : 'menu'
"
v-if="
enableEdit &&
myel.catalogo &&
myel.catalogo.excludeproductTypes
"
rounded
outlined
v-model="recscheda.scheda.excludeproductTypes"
:options="shared_consts.VERSIONI_PRODOTTO"
@update:model-value="modifElem"
multiple
dense
label="Escludi"
style="width: 150px"
emit-value
map-options
>
</q-select>
<q-select
:behavior="
$q.platform.is.ios === true ? 'dialog' : 'menu'
"
v-if="enableEdit"
rounded
outlined
v-model="recscheda.scheda.Editore"
:options="Products.publishers"
@update:model-value="modifElem"
multiple
dense
label="Editori"
style="width: 150px"
emit-value
map-options
option-value="_id"
option-label="name"
>
</q-select>
<q-select
label="Prodotti Speciali:"
v-model="recscheda.scheda.arrProdottiSpeciali"
emit-value
map-options
:options="[]"
use-chips
multiple
@update:model-value="
recscheda.scheda.arrProdottiSpeciali
"
filled
use-input
new-value-mode="add-unique"
dense
style="width: 350px"
/>
</div>
</q-expansion-item>
<q-expansion-item
dense
dense-toggle
expand-separator
label="Dimensioni Schede"
icon="fas fa-play-circle"
>
<div class="row">
<CMySlider
label="Schede per Riga"
v-model="recscheda.scheda.numschede_perRiga"
:min="1"
:max="10"
color="green"
@update:model-value="modifElem"
></CMySlider>
<CMySlider
label="Schede per Colonna"
v-model="recscheda.scheda.numschede_perCol"
:min="1"
:max="10"
color="red"
@update:model-value="modifElem"
></CMySlider>
<CMySlider
label="Larghezza Schede:"
v-model="recscheda.scheda.widthscheda"
:min="10"
:max="1000"
color="green"
addstr="px"
@update:model-value="modifElem"
></CMySlider>
<CMySlider
label="Larghezza Pagina:"
v-model="recscheda.scheda.widthpag"
:min="10"
:max="1000"
color="green"
@update:model-value="modifElem"
></CMySlider>
<CMySlider
label="Larghezza Immagini:"
v-model="recscheda.scheda.width"
:min="10"
:max="1000"
color="green"
addstr="px"
@update:model-value="modifElem"
></CMySlider>
<CMySlider
label="Altezza Schede:"
v-model="recscheda.scheda.height"
:min="10"
:max="1000"
color="red"
addstr="px"
@update:model-value="modifElem"
></CMySlider>
</div>
</q-expansion-item>
<q-expansion-item
dense
dense-toggle
expand-separator
label="Testo"
icon="fas fa-play-circle"
>
<q-select
v-model="recscheda.scheda.posiz_text"
:options="posizTextOptions"
label="Posizione"
options-dense
dense
emit-value
map-options
style="width: 100px"
@update:model-value="modifElem"
fill-input
text-color="white"
>
</q-select>
<CMySlider
label="Line Height:"
v-model="recscheda.scheda.line_height"
:min="70"
:max="200"
color="blue"
@update:model-value="modifElem"
></CMySlider>
<CMyFieldRec
title="Testo:"
table="catalogo"
:rec="myel.catalogo"
field="recscheda.scheda.text"
@update:model-value="modifElem"
:canEdit="true"
:canModify="true"
:fieldtype="costanti.FieldType.html"
@save="saveFieldElem"
@update_col="update_col"
>
</CMyFieldRec>
</q-expansion-item>
<q-expansion-item
dense
dense-toggle
expand-separator
label="Margini Pagina"
icon="fas fa-play-circle"
>
<div class="sfondo_margine row">
<CMySlider
label="Margine Top"
v-model="recscheda.scheda.margine_top"
:min="0"
:max="1000"
color="blue"
@update:model-value="modifElem"
></CMySlider>
<CMySlider
label="Margine per Pagina"
v-model="recscheda.scheda.margine_pagina"
:min="0"
:max="1000"
color="red"
addstr="px"
@update:model-value="modifElem"
></CMySlider>
<CMySlider
label="Margine per Riga"
v-model="recscheda.scheda.margine_riga"
:min="0"
:max="1000"
color="red"
addstr="px"
@update:model-value="modifElem"
></CMySlider>
</div>
</q-expansion-item>
</div>
</q-tab-panel>
</q-tab-panels>
</div>
</q-expansion-item>
</div>
<q-expansion-item
dense
dense-toggle
expand-separator
label="Sfondi"
icon="fas fa-play-circle"
>
Nome File Web: {{ myel.catalogo.backgroundimage }}<br />
<CMyFieldRec
title="Per Web:"
@@ -1479,59 +1810,183 @@
>
</CMyFieldRec>
<br />
<div class="sfondo_print">
Per Stampa:
<q-toggle
v-model="myel.catalogo.printable"
color="positive"
icon="fas fa-file-pdf"
label="Versione Stampabile"
@update:model-value="modifElem"
>
</q-toggle>
</q-expansion-item>
<q-input
dense
label="Margine per Pagina:"
@update:model-value="modifElem"
v-model="myel.catalogo.margine_paginaPrintable"
filled
v-on:keyup.enter="saveFieldElem"
>
</q-input>
<q-input
dense
label="Margine per Riga:"
@update:model-value="modifElem"
v-model="myel.catalogo.margine_rigaPrintable"
filled
v-on:keyup.enter="saveFieldElem"
>
</q-input>
<q-expansion-item
dense
dense-toggle
expand-separator
label="Prima Pagina"
icon="fas fa-play-circle"
>
Prima Pagina: {{ myel.catalogo.first_page_img }}<br />
<div class="row">
<CMySlider
label="Larghezza Pagina Stampa:"
v-model="myel.catalogo.widthpagPrintable"
label="Altezza:"
v-model="myel.catalogo.first_page_height"
:min="0"
:max="1000"
:max="4000"
color="red"
addstr="px"
@update:model-value="modifElem"
></CMySlider>
Nome File Printable: {{ myel.catalogo.backgroundimage_printable }}
<CMyFieldRec
title="Sfondo:"
table="catalogo"
:rec="myel.catalogo"
field="backgroundimage_printable"
<CMySlider
label="Larghezza:"
v-model="myel.catalogo.first_page_width"
:min="0"
:max="4000"
color="red"
@update:model-value="modifElem"
:canEdit="true"
:canModify="true"
:fieldtype="costanti.FieldType.image"
@save="saveFieldElem"
>
</CMyFieldRec>
></CMySlider>
</div>
<CMyFieldRec
title="Per Web:"
table="catalogo"
:rec="myel.catalogo"
field="first_page_img"
@update:model-value="modifElem"
:canEdit="true"
:canModify="true"
:fieldtype="costanti.FieldType.image"
@save="saveFieldElem"
>
</CMyFieldRec>
<CMyFieldRec
title="Testo pagina:"
table="catalogo"
:rec="myel.catalogo"
field="first_page_html"
@update:model-value="modifElem"
:canEdit="true"
:canModify="true"
:fieldtype="costanti.FieldType.html"
@save="saveFieldElem"
@update_col="update_col"
>
</CMyFieldRec>
<br />
</q-expansion-item>
<q-expansion-item
dense
dense-toggle
expand-separator
label="Ultima Pagina"
icon="fas fa-play-circle"
>
Immagine: {{ myel.catalogo.last_page_img }}<br />
<div class="row">
<CMySlider
label="Altezza:"
v-model="myel.catalogo.last_page_height"
:min="0"
:max="4000"
color="red"
@update:model-value="modifElem"
></CMySlider>
<CMySlider
label="Larghezza:"
v-model="myel.catalogo.last_page_width"
:min="0"
:max="4000"
color="red"
@update:model-value="modifElem"
></CMySlider>
</div>
<CMyFieldRec
title="Per Web:"
table="catalogo"
:rec="myel.catalogo"
field="last_page_img"
@update:model-value="modifElem"
:canEdit="true"
:canModify="true"
:fieldtype="costanti.FieldType.image"
@save="saveFieldElem"
>
</CMyFieldRec>
<CMyFieldRec
title="Testo pagina:"
table="catalogo"
:rec="myel.catalogo"
field="last_page_html"
@update:model-value="modifElem"
:canEdit="true"
:canModify="true"
:fieldtype="costanti.FieldType.html"
@save="saveFieldElem"
@update_col="update_col"
>
</CMyFieldRec>
<br />
</q-expansion-item>
<div v-if="enableEdit">
<q-expansion-item
dense
dense-toggle
expand-separator
label="Per Stampa"
icon="fas fa-play-circle"
>
<div class="sfondo_print">
Per Stampa:
<q-toggle
v-model="myel.catalogo.printable"
color="positive"
icon="fas fa-file-pdf"
label="Versione Stampabile"
@update:model-value="modifElem"
>
</q-toggle>
<CMySlider
label="Margine per Pagina"
v-model="myel.catalogo.margine_paginaPrintable"
:min="0"
:max="1000"
color="red"
addstr="px"
@update:model-value="modifElem"
></CMySlider>
<CMySlider
label="Margine per Riga"
v-model="myel.catalogo.margine_rigaPrintable"
:min="0"
:max="1000"
color="red"
addstr="px"
@update:model-value="modifElem"
></CMySlider>
<CMySlider
label="Larghezza Pagina Stampa:"
v-model="myel.catalogo.widthpagPrintable"
:min="0"
:max="1000"
color="red"
addstr="px"
@update:model-value="modifElem"
></CMySlider>
Nome File Printable:
{{ myel.catalogo.backgroundimage_printable }}
<CMyFieldRec
title="Sfondo:"
table="catalogo"
:rec="myel.catalogo"
field="backgroundimage_printable"
@update:model-value="modifElem"
:canEdit="true"
:canModify="true"
:fieldtype="costanti.FieldType.image"
@save="saveFieldElem"
>
</CMyFieldRec>
</div>
</q-expansion-item>
</div>
</div>
</q-list>