- Cataloghi: pagine, schede, formato

This commit is contained in:
Surya Paolo
2024-11-19 19:19:14 +01:00
parent 90ed545070
commit 5cd9bd40f6
103 changed files with 3593115 additions and 1603 deletions

View File

@@ -84,6 +84,24 @@ export default defineComponent({
{ label: 'In basso', value: costanti.POSIZ_TESTO.IN_BASSO },
{ label: 'A Destra', value: costanti.POSIZ_TESTO.A_DESTRA },
])
const formatOptions = ref([
{ label: 'auto', value: 'CODE128' },
{ label: 'EAN-13', value: 'EAN-13' },
{ label: 'UPC', value: 'upc' },
])
const fontSizeOptions = ref([
{ label: '9', value: '9' },
{ label: '10', value: '10' },
{ label: '11', value: '11' },
{ label: '12', value: '12' },
{ label: '13', value: '13' },
{ label: '14', value: '14' },
{ label: '15', value: '15' },
{ label: '16', value: '16' },
{ label: '18', value: '18' },
{ label: '20', value: '20' },
{ label: '22', value: '22' },
])
const animare = ref(0)
const slide = ref(0)
@@ -247,6 +265,62 @@ export default defineComponent({
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_bottom)) {
recscheda.scheda.testo_bottom = {contenuto: '', maxlength: 100}
}
if (recscheda.scheda && (!recscheda.scheda?.testo_right)) {
recscheda.scheda.testo_right = {contenuto: ''}
}
if (recscheda.scheda && (!recscheda.scheda?.barcode || !recscheda.scheda?.barcode.font)) {
recscheda.scheda.barcode = {
show: false,
format: '',
size: {
width: '2',
height: '100',
},
font: {
name: '',
size: 16,
}
}
}
}
}
if (myel.value.catalogo && !myel.value.catalogo.imgsfondo_def) {
myel.value.catalogo.imgsfondo_def = {
imagefile: '',
fit: '',
}
}
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: '',
},
}
}
}
}
function clickOnElem() {
@@ -267,7 +341,7 @@ export default defineComponent({
let maxorder = 0
myel.value.catalogo!.arrSchede?.forEach(scheda => {
if (scheda.order > maxorder) {
if (scheda?.order! > maxorder) {
maxorder = scheda.order
}
})
@@ -332,22 +406,24 @@ export default defineComponent({
right: '0px',
},
},
immagine_prodotto: {size: {
width: '150px',
height: '235px',
immagine_prodotto: {
size: {
width: '150px',
height: '235px',
},
margini: {
top: '0px',
bottom: '0px',
left: '0px',
right: '0px',
},
padding: {
top: '0px',
bottom: '0px',
left: '0px',
right: '0px',
},
},
margini: {
top: '0px',
bottom: '0px',
left: '0px',
right: '0px',
},
padding: {
top: '0px',
bottom: '0px',
left: '0px',
right: '0px',
},},
}
let newscheda: IMyScheda = {
@@ -359,9 +435,25 @@ export default defineComponent({
line_height: 100,
numschede_perRiga: 2,
numschede_perCol: 2,
text: '',
posiz_text: costanti.POSIZ_TESTO.A_DESTRA,
testo_right: {
contenuto: '',
},
testo_bottom: {
contenuto: '',
},
barcode: {
show: false,
format: '',
size: {
width: '2',
height: '100',
},
font: {
name: 'monospace',
size: 16,
}
},
productTypes: [],
excludeproductTypes: [],
editore: [],
@@ -480,6 +572,7 @@ export default defineComponent({
let iscatalogo = costanti.CATALOGO_FIELDS.includes(col.name)
let isscheda = costanti.SCHEDA_FIELDS.includes(col.name)
let isIImg = costanti.IMG_FIELDS.includes(col.name) && (col.fieldtype === costanti.FieldType.image)
if (col.fieldtype === costanti.FieldType.image) {
if (iscatalogo) {
@@ -487,6 +580,11 @@ export default defineComponent({
//console.log('SALVATO IN', col.name, newval.imagefile, 'RIS', myel.value.catalogo[col.name])
} else if (isscheda) {
rec[col.name] = newval.imagefile
} else if (isIImg) {
if (!rec[col.name]) {
rec[col.name] = {}
}
rec[col.name].imagefile = newval.imagefile
} else {
myel.value[col.name] = newval.imagefile
}
@@ -757,6 +855,8 @@ export default defineComponent({
delRecScheda,
SchedeOpt,
addProdSpeciale,
formatOptions,
fontSizeOptions,
}
},

View File

@@ -1352,6 +1352,17 @@
@update:model-value="modifElem"
>
</q-toggle>
<q-input
dense
label="NomeFile PDF"
@update:model-value="modifElem"
v-model="myel.catalogo.pdf_filename"
filled
v-on:keyup.enter="saveElem"
>
</q-input>
<br />
<!--++AddCATALOGO_FIELDS-->
@@ -1414,6 +1425,34 @@
</q-select>
</div>
</q-expansion-item>
<q-expansion-item
dense
dense-toggle
expand-separator
label="Pagina di Default"
icon="fas fa-play-circle"
>
<div
v-if="myel.catalogo.dimensioni_def"
class="sfondo_margine row"
>
<CMySize
label="Pagina:"
v-model="myel.catalogo.dimensioni_def.pagina.size"
@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>
</div>
</q-expansion-item>
<q-expansion-item
dense
dense-toggle
@@ -1421,27 +1460,29 @@
label="Sfondi"
icon="fas fa-play-circle"
>
Nome File Web: {{ myel.catalogo.backgroundimage }}<br />
<CMyFieldRec
title="Per Web:"
table="catalogo"
:rec="myel.catalogo"
field="backgroundimage"
@update:model-value="modifElem"
:canEdit="true"
:canModify="true"
:fieldtype="costanti.FieldType.image"
@save="saveFieldElem"
>
</CMyFieldRec>
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>
Nome File Printable:
{{ myel.catalogo.backgroundimage_printable }}
<CMyFieldRec
title="Sfondo:"
title="Immagine Sfondo di default:"
table="catalogo"
:rec="myel.catalogo"
field="backgroundimage_printable"
field="imgsfondo_def"
@update:model-value="modifElem"
:canEdit="true"
:canModify="true"
@@ -1722,7 +1763,7 @@
<q-select
v-model="recscheda.scheda.bgSize"
:options="bgSizeOpt"
:options="tools.SelectListFit"
label="Dimensione Img"
options-dense
dense
@@ -1735,13 +1776,12 @@
>
</q-select>
Nome File Printable:
{{ recscheda.scheda.bgimg_printable }}
{{ recscheda.scheda.dimensioni.imgsfondo }}
<CMyFieldRec
title="Sfondo:"
table="myschedas"
:rec="recscheda.scheda"
field="bgimg_printable"
table="imgs"
:rec="recscheda.scheda.dimensioni"
field="imgsfondo"
@update:model-value="modifElem"
:canEdit="true"
:canModify="true"
@@ -1802,7 +1842,6 @@
"
@update:model-value="modifElem"
></CMySize>
</div>
</q-expansion-item>
@@ -1836,11 +1875,29 @@
@update:model-value="modifElem"
></CMySlider>
<div>
Parole Chiave: {autore} {titolo} {descrizione}
{descrizione_estesa} {prezzo}
</div>
<CMyFieldRec
title="Testo:"
table="myschedas"
:rec="recscheda.scheda"
field="text"
title="Testo a Destra:"
table="text"
:rec="recscheda.scheda.testo_right"
field="contenuto"
@update:model-value="modifElem"
:canEdit="true"
:canModify="true"
:fieldtype="costanti.FieldType.html"
@save="saveFieldElem"
@update_col="update_col"
>
</CMyFieldRec>
<CMyFieldRec
title="Testo in Basso :"
table="text"
:rec="recscheda.scheda.testo_bottom"
field="contenuto"
@update:model-value="modifElem"
:canEdit="true"
:canModify="true"
@@ -1851,7 +1908,56 @@
</CMyFieldRec>
</q-expansion-item>
<q-expansion-item
dense
dense-toggle
expand-separator
label="Codice a Barre"
icon="fas fa-play-circle"
>
<q-toggle
v-model="recscheda.scheda.barcode.show"
color="positive"
icon="fas fa-file-pdf"
label="Mostra Codice a Barre"
@update:model-value="modifElem"
>
</q-toggle>
<q-select
v-model="recscheda.scheda.barcode.format"
:options="formatOptions"
label="Formato"
options-dense
dense
emit-value
map-options
style="width: 100px"
@update:model-value="modifElem"
fill-input
text-color="white"
>
</q-select>
<q-select
v-model="recscheda.scheda.barcode.font.size"
:options="fontSizeOptions"
label="Font Size"
options-dense
dense
emit-value
map-options
style="width: 100px"
@update:model-value="modifElem"
fill-input
text-color="white"
>
</q-select>
<CMySize
label="Dimensioni:"
v-model="recscheda.scheda.barcode.size"
@update:model-value="modifElem"
:addstr="false"
></CMySize>
</q-expansion-item>
</div>
</q-tab-panel>
</q-tab-panels>
@@ -1872,7 +1978,7 @@
label="Altezza:"
v-model="myel.catalogo.first_page_height"
:min="0"
:max="4000"
:max="1200"
color="red"
@update:model-value="modifElem"
></CMySlider>
@@ -1880,7 +1986,7 @@
label="Larghezza:"
v-model="myel.catalogo.first_page_width"
:min="0"
:max="4000"
:max="1200"
color="red"
@update:model-value="modifElem"
></CMySlider>
@@ -1928,7 +2034,7 @@
label="Altezza:"
v-model="myel.catalogo.last_page_height"
:min="0"
:max="4000"
:max="1200"
color="red"
@update:model-value="modifElem"
></CMySlider>
@@ -1936,7 +2042,7 @@
label="Larghezza:"
v-model="myel.catalogo.last_page_width"
:min="0"
:max="4000"
:max="1200"
color="red"
@update:model-value="modifElem"
></CMySlider>
@@ -1988,38 +2094,6 @@
@update:model-value="modifElem"
>
</q-toggle>
<CMySlider
label="Margine per Pagina Stampa"
v-model="myel.catalogo.margine_paginaPrintable"
:disable="!myel.catalogo.printable"
:min="0"
:max="1000"
color="red"
addstr="px"
@update:model-value="modifElem"
></CMySlider>
<CMySlider
label="Margine per Riga"
v-model="myel.catalogo.margine_rigaPrintable"
:disable="!myel.catalogo.printable"
:min="0"
:max="1000"
color="red"
addstr="px"
@update:model-value="modifElem"
></CMySlider>
<CMySlider
label="Larghezza Pagina Stampa:"
v-model="myel.catalogo.widthpagPrintable"
:disable="!myel.catalogo.printable"
:min="0"
:max="4000"
color="red"
addstr="px"
@update:model-value="modifElem"
></CMySlider>
</div>
</q-expansion-item>
</div>