- Cataloghi: qualita di stampa e margini

This commit is contained in:
Surya Paolo
2024-11-22 20:23:37 +01:00
parent 5cd9bd40f6
commit 6a6c15b62c
24 changed files with 1031 additions and 530 deletions

View File

@@ -25,6 +25,7 @@ import { CSelectColor } from '@src/components/CSelectColor'
import { CSelectFontSize } from '@src/components/CSelectFontSize'
import { CMySize } from '@src/components/CMySize'
import { CBorders } from '@src/components/CBorders'
import { CMyDimensioni } from '@src/components/CMyDimensioni'
import MixinMetaTags from '@/mixins/mixin-metatags'
import MixinBase from '@/mixins/mixin-base'
@@ -41,7 +42,7 @@ export default defineComponent({
CImgTitle, CTitle, LandingFooter, CEventsCalendar,
CCardCarousel, COpenStreetMap, CMyPage, CMyPageIntro, CMyEditor, CMyFieldRec,
CSelectColor, CSelectFontSize, CSelectImage, CImgPoster, CSelectAnimation, CMySlider,
CMySize, CBorders,
CMySize, CBorders, CMyDimensioni,
},
emits: ['saveElem', 'selElemClick', 'toggleSize', 'deleteElem', 'dupPage'],
props: {
@@ -268,10 +269,16 @@ export default defineComponent({
if (myel.value.catalogo && myel.value.catalogo?.arrSchede) {
for (const recscheda of myel.value.catalogo?.arrSchede) {
if (recscheda.scheda && (!recscheda.scheda?.testo_bottom)) {
recscheda.scheda.testo_bottom = {contenuto: '', maxlength: 100}
recscheda.scheda.testo_bottom = { contenuto: '', maxlength: 100 }
}
if (recscheda.scheda && (!recscheda.scheda?.testo_right)) {
recscheda.scheda.testo_right = {contenuto: ''}
if (recscheda.scheda && !recscheda.scheda.testo_bottom!.font) {
recscheda.scheda.testo_bottom!.font = { name: '', size: ''}
}
if (recscheda.scheda && (!recscheda.scheda?.testo_right || !recscheda.scheda?.testo_right.font) ) {
recscheda.scheda.testo_right = { contenuto: '', font: { name: '', size: ''} }
}
if (recscheda.scheda && (!recscheda.scheda?.dimensioni.pagina.imgsfondo)) {
recscheda.scheda.dimensioni.pagina = tools.resetRecIDimensioni(recscheda.scheda?.dimensioni.pagina)
}
if (recscheda.scheda && (!recscheda.scheda?.barcode || !recscheda.scheda?.barcode.font)) {
recscheda.scheda.barcode = {
@@ -279,11 +286,11 @@ export default defineComponent({
format: '',
size: {
width: '2',
height: '100',
height: '33',
},
font: {
name: '',
size: 16,
size: '11',
}
}
}
@@ -291,34 +298,33 @@ export default defineComponent({
}
}
if (myel.value.catalogo && !myel.value.catalogo.imgsfondo_def) {
myel.value.catalogo.imgsfondo_def = {
imagefile: '',
fit: '',
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)
}
if (myel.value.catalogo && !myel.value.catalogo.dimensioni_def) {
myel.value.catalogo.dimensioni_def = {
pagina: {
size: {
width: '',
height: '',
},
margini: {
left: '',
top: '',
right: '',
bottom: '',
},
padding: {
left: '',
top: '',
right: '',
bottom: '',
},
}
}
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)
}
}
@@ -346,66 +352,68 @@ export default defineComponent({
}
})
let defaultDimensioniPag = {
size: {
width: '800px',
height: '600px',
},
margini: {
top: '12px',
bottom: '0px',
left: '0px',
right: '0px',
},
padding: {
top: '0px',
bottom: '0px',
left: '0px',
right: '0px',
},
let defaultDimensioniPag = tools.resetRecIDimensioni(null)
defaultDimensioniPag.size = {
width: '800px',
height: '600px',
}
defaultDimensioniPag.margini = {
top: '12px',
bottom: '0px',
left: '0px',
right: '0px',
}
defaultDimensioniPag.padding = {
top: '0px',
bottom: '0px',
left: '0px',
right: '0px',
}
let defaultDimensioniRiga = {
size: {
width: '800px',
height: '300px',
},
margini: {
top: '40px',
bottom: '0px',
left: '0px',
right: '0px',
},
padding: {
top: '0px',
bottom: '0px',
left: '0px',
right: '0px',
},
let defaultDimensioniRiga = tools.resetRecIDimensioni(null)
defaultDimensioniRiga.size = {
width: '800px',
height: '300px',
}
defaultDimensioniRiga.margini = {
top: '40px',
bottom: '0px',
left: '0px',
right: '0px',
}
defaultDimensioniRiga.padding = {
top: '0px',
bottom: '0px',
left: '0px',
right: '0px',
}
let defaultSchedaProdotto = tools.resetRecIDimensioni(null)
defaultSchedaProdotto.size = {
width: '360px',
height: '230px',
}
defaultSchedaProdotto.margini = {
top: '0px',
bottom: '0px',
left: '0px',
right: '0px',
}
defaultSchedaProdotto.padding = {
top: '0px',
bottom: '0px',
left: '0px',
right: '0px',
}
let dimensioni: IElementiScheda = {
pagina: defaultDimensioniPag,
riga: defaultDimensioniRiga,
scheda_prodotto: {
size: {
width: '360px',
height: '230px',
},
margini: {
top: '0px',
bottom: '0px',
left: '0px',
right: '0px',
},
padding: {
top: '0px',
bottom: '0px',
left: '0px',
right: '0px',
},
},
scheda_prodotto: defaultSchedaProdotto,
immagine_prodotto: {
size: {
width: '150px',

View File

@@ -1433,66 +1433,17 @@
icon="fas fa-play-circle"
>
<div
v-if="myel.catalogo.dimensioni_def"
v-if="myel.catalogo.dimensioni_def.pagina"
class="sfondo_margine row"
>
<CMySize
label="Pagina:"
v-model="myel.catalogo.dimensioni_def.pagina.size"
<CMyDimensioni
v-model="myel.catalogo.dimensioni_def.pagina"
:path="costanti.DIR_CATALOGO"
:show_imgsfondo="true"
@update:model-value="modifElem"
></CMySize>
<CBorders
label="Margini Pagina:"
v-model="myel.catalogo.dimensioni_def.pagina.margini"
@update:model-value="modifElem"
></CBorders>
<CBorders
label="Padding Pagina:"
v-model="myel.catalogo.dimensioni_def.pagina.padding"
@update:model-value="modifElem"
></CBorders>
></CMyDimensioni>
</div>
</q-expansion-item>
<q-expansion-item
dense
dense-toggle
expand-separator
label="Sfondi"
icon="fas fa-play-circle"
>
Immagine Sfondo di default:
{{ myel.catalogo.imgsfondo_def?.imagefile }}<br />
<q-select
v-model="myel.catalogo.imgsfondo_def.fit"
:options="tools.SelectListFit"
label="Dimensione Img"
options-dense
dense
emit-value
map-options
style="width: 100px"
@update:model-value="modifElem"
fill-input
text-color="white"
>
</q-select>
<CMyFieldRec
title="Immagine Sfondo di default:"
table="catalogo"
:rec="myel.catalogo"
field="imgsfondo_def"
@update:model-value="modifElem"
:canEdit="true"
:canModify="true"
:fieldtype="costanti.FieldType.image"
@save="saveFieldElem"
>
</CMyFieldRec>
<br />
</q-expansion-item>
<q-expansion-item
dense
dense-toggle
@@ -1721,76 +1672,27 @@
label="Pagina"
icon="fas fa-play-circle"
>
<div class="sfondo_margine row">
<CMySize
label="Pagina:"
v-model="recscheda.scheda.dimensioni.pagina.size"
@update:model-value="modifElem"
></CMySize>
<CBorders
label="Margini Pagina:"
v-model="recscheda.scheda.dimensioni.pagina.margini"
@update:model-value="modifElem"
></CBorders>
<CBorders
label="Padding Pagina:"
v-model="recscheda.scheda.dimensioni.pagina.padding"
@update:model-value="modifElem"
></CBorders>
</div>
<CMyDimensioni
v-model="recscheda.scheda.dimensioni.pagina"
:path="costanti.DIR_SCHEDA"
:show_imgsfondo="true"
@update:model-value="modifElem"
></CMyDimensioni>
</q-expansion-item>
<q-expansion-item
dense
dense-toggle
expand-separator
label="Sfondi"
label="Righe"
icon="fas fa-play-circle"
>
Nome File Web: {{ recscheda.scheda.bgimg }}<br />
<CMyFieldRec
title="Per Web:"
table="myschedas"
:rec="recscheda.scheda"
field="bgimg"
<CMyDimensioni
v-model="recscheda.scheda.dimensioni.riga"
:path="costanti.DIR_SCHEDA"
:show_imgsfondo="false"
@update:model-value="modifElem"
:canEdit="true"
:canModify="true"
:fieldtype="costanti.FieldType.image"
@save="saveFieldElem"
>
</CMyFieldRec>
<q-select
v-model="recscheda.scheda.bgSize"
:options="tools.SelectListFit"
label="Dimensione Img"
options-dense
dense
emit-value
map-options
style="width: 100px"
@update:model-value="modifElem"
fill-input
text-color="white"
>
</q-select>
{{ recscheda.scheda.dimensioni.imgsfondo }}
<CMyFieldRec
title="Sfondo:"
table="imgs"
:rec="recscheda.scheda.dimensioni"
field="imgsfondo"
@update:model-value="modifElem"
:canEdit="true"
:canModify="true"
:fieldtype="costanti.FieldType.image"
@save="saveFieldElem"
>
</CMyFieldRec>
<br />
></CMyDimensioni>
</q-expansion-item>
<q-expansion-item
@@ -1800,6 +1702,13 @@
label="Schede"
icon="fas fa-play-circle"
>
<q-toggle
v-model="recscheda.scheda.show_separatore"
color="primary"
label="Separatore righe"
@update:model-value="modifElem"
>
</q-toggle>
<div class="row">
<CMySlider
label="Schede per Riga"
@@ -1869,8 +1778,8 @@
<CMySlider
label="Line Height:"
v-model="recscheda.scheda.line_height"
:min="70"
:max="200"
:min="0.5"
:max="2"
color="blue"
@update:model-value="modifElem"
></CMySlider>
@@ -1880,6 +1789,21 @@
{descrizione_estesa} {prezzo}
</div>
<q-select
v-model="recscheda.scheda.testo_right.font.size"
:options="fontSizeOptions"
label="Font Size Titolo"
options-dense
dense
emit-value
map-options
style="width: 100px"
@update:model-value="modifElem"
fill-input
text-color="white"
>
</q-select>
<CMyFieldRec
title="Testo a Destra:"
table="text"
@@ -1893,6 +1817,22 @@
@update_col="update_col"
>
</CMyFieldRec>
<q-select
v-model="recscheda.scheda.testo_bottom.font.size"
:options="fontSizeOptions"
label="Dimensione Titolo"
options-dense
dense
emit-value
map-options
style="width: 150px"
@update:model-value="modifElem"
fill-input
text-color="white"
>
</q-select>
<CMyFieldRec
title="Testo in Basso :"
table="text"
@@ -1972,52 +1912,16 @@
label="Prima Pagina"
icon="fas fa-play-circle"
>
Prima Pagina: {{ myel.catalogo.first_page_img }}<br />
Prima Pagina: <br />
<div class="row">
<CMySlider
label="Altezza:"
v-model="myel.catalogo.first_page_height"
:min="0"
:max="1200"
color="red"
<CMyDimensioni
:path="costanti.DIR_CATALOGO"
v-model="myel.catalogo.first_page"
:show_imgsfondo="true"
@update:model-value="modifElem"
></CMySlider>
<CMySlider
label="Larghezza:"
v-model="myel.catalogo.first_page_width"
:min="0"
:max="1200"
color="red"
@update:model-value="modifElem"
></CMySlider>
></CMyDimensioni>
</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>
@@ -2028,53 +1932,12 @@
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="1200"
color="red"
@update:model-value="modifElem"
></CMySlider>
<CMySlider
label="Larghezza:"
v-model="myel.catalogo.last_page_width"
:min="0"
:max="1200"
color="red"
@update:model-value="modifElem"
></CMySlider>
</div>
<CMyFieldRec
title="Per Web:"
table="catalogo"
:rec="myel.catalogo"
field="last_page_img"
<CMyDimensioni
:path="costanti.DIR_CATALOGO"
v-model="myel.catalogo.last_page"
:show_imgsfondo="true"
@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 />
></CMyDimensioni>
</q-expansion-item>
<div v-if="enableEdit">
<q-expansion-item
@@ -2094,6 +1957,87 @@
@update:model-value="modifElem"
>
</q-toggle>
<q-select
rounded
style="width: 200px"
outlined
v-model="myel.catalogo.areadistampa.format"
:options="tools.SelectListFormatPDF"
@update:model-value="modifElem"
dense
label="Formato:"
emit-value
map-options
>
</q-select>
<div v-if="myel.catalogo.areadistampa.format.length > 1">Ratio: {{myel.catalogo.areadistampa.format[0] / myel.catalogo.areadistampa.format[1]}}</div>
<q-select
rounded
style="width: 200px"
outlined
v-model="myel.catalogo.areadistampa.scale"
:options="tools.SelectListScalePDF"
@update:model-value="modifElem"
dense
label="Scale:"
emit-value
map-options
>
</q-select>
<q-select
rounded
style="width: 200px"
outlined
v-model="myel.catalogo.areadistampa.scalecanvas"
:options="tools.SelectListQualityPDF"
@update:model-value="modifElem"
dense
label="Qualità:"
emit-value
map-options
>
</q-select>
<q-select
rounded
style="width: 150px"
outlined
v-model="myel.catalogo.areadistampa.orientation"
:options="tools.SelectListOrientamentoPDF"
@update:model-value="modifElem"
dense
label="Orientamento:"
emit-value
map-options
>
</q-select>
<q-select
rounded
style="width: 150px"
outlined
v-model="myel.catalogo.areadistampa.unit"
:options="tools.SelectListUnitPDF"
@update:model-value="modifElem"
dense
label="Unità:"
emit-value
map-options
>
</q-select>
<q-toggle
v-model="myel.catalogo.areadistampa.compress"
color="positive"
icon="fas fa-file-pdf"
label="Comprimi"
@update:model-value="modifElem"
>
</q-toggle>
<CBorders
label="Margini di Stampa (mm):"
v-model="myel.catalogo.areadistampa.margini"
@update:model-value="modifElem"
addstr=""
></CBorders>
</div>
</q-expansion-item>
</div>