- versione 1.2.50

This commit is contained in:
Surya Paolo
2025-05-23 19:02:45 +02:00
parent 3d2d1cbdd7
commit 884afe4eb5
19 changed files with 143 additions and 72 deletions

View File

@@ -200,12 +200,24 @@ export default defineComponent({
field: 'pdf_online',
align: 'center',
},
{
name: 'pdf_online_size',
label: 'Size',
field: 'pdf_online_size',
align: 'center',
},
{
name: 'pdf_online_stampa',
label: 'PDF OnLine Stampa',
field: 'pdf_online_stampa',
align: 'center',
},
{
name: 'pdf_online_stampa_size',
label: 'Size',
field: 'pdf_online_stampa_size',
align: 'center',
},
{
name: 'data_online',
label: 'Data Online',

View File

@@ -26,15 +26,23 @@ export interface ICatalog {
backcolor?: string
pdf_generato?: string
pdf_generato_compressed?: string
pdf_generato_compr_size?: string
pdf_generato_size?: string
data_generato?: Date
data_lista_generata?: Date
username_lista_generata?: string
pdf_online?: string
pdf_online_size?: string
data_online?: Date
pdf_generato_stampa?: string
pdf_generato_stampa_compr_size?: string
pdf_generato_stampa_compressed?: string
pdf_generato_stampa_size?: string
data_generato_stampa?: Date
pdf_online_stampa?: string
pdf_online_stampa_size?: string
data_online_stampa?: Date
date_created?: Date,

View File

@@ -10571,7 +10571,7 @@ export const tools = {
// Se stai lavorando su schermi o canvas ad alta densità (es. retina), potresti usare dpi = 144 o leggere dinamicamente:
let dpi = shared_consts.PUNTI_PER_POLLICE; // 96 è il valore standard per 1x DPI
dpi = dpi * window.devicePixelRatio
dpi = dpi * window.devicePixelRatio;
const mmPerInch = 25.4;
return (myvalpx / dpi) * mmPerInch;
} catch (e) {
@@ -10580,13 +10580,19 @@ export const tools = {
},
getURLByHostAndFilePath(filepath: string) {
try {
let myurl = filepath.startsWith('/') ? tools.getHost() + filepath : tools.getHost() + '/' + filepath
return myurl
let myurl = filepath.startsWith('/')
? tools.getHost() + filepath
: tools.getHost() + '/' + filepath;
return myurl;
} catch (e) {
return filepath
return filepath;
}
},
getFileCompresso(filename: string) {
return this.removeFileExtension(filename) + `_compressed.pdf`;
}
// FINE !
// getLocale() {

View File

@@ -105,6 +105,7 @@ export default defineComponent({
const pdfColumns = [
{ name: 'name', label: 'Nome', field: 'name', align: 'left' },
{ name: 'pdf', label: 'PDF', field: 'pdf', align: 'left' },
{ name: 'size', label: 'Dimensione del file', field: 'size', align: 'right' },
{ name: 'data', label: 'Data', field: 'data', align: 'left' },
{ name: 'azioni', label: 'Azioni', field: 'azioni', align: 'center' },
];
@@ -114,17 +115,37 @@ export default defineComponent({
name: 'PDF Generato',
pdf: myCatalog.value.pdf_generato,
data: myCatalog.value.data_generato,
showButton: myCatalog.value.data_generato !== myCatalog.value.data_online,
showButton: true,
buttonLabel: 'Pubblica PDF OnLine',
action: pubblicaPDF,
size: myCatalog.value.pdf_generato_size,
action: () => pubblicaPDF(false),
},
{
name: 'PDF Generato (Compresso)',
pdf: myCatalog.value.pdf_generato_compressed,
data: myCatalog.value.data_generato,
showButton: true,
buttonLabel: 'Pubblica PDF OnLine (Compr)',
size: myCatalog.value.pdf_generato_compr_size,
action: () => pubblicaPDF(true),
},
{
name: 'PDF Generato Stampa',
pdf: myCatalog.value.pdf_generato_stampa,
data: myCatalog.value.data_generato_stampa,
showButton: myCatalog.value.data_generato_stampa !== myCatalog.value.data_online_stampa,
showButton: true,
buttonLabel: 'Pubblica PDF Stampa',
action: pubblicaPDFStampa,
size: myCatalog.value.pdf_generato_stampa_size,
action: () => pubblicaPDFStampa(false),
},
{
name: 'PDF Generato Stampa (Compresso)',
pdf: myCatalog.value.pdf_generato_stampa_compressed,
data: myCatalog.value.data_generato_stampa,
showButton: true,
buttonLabel: 'Pubblica PDF Stampa (Compr)',
size: myCatalog.value.pdf_generato_stampa_compr_size,
action: () => pubblicaPDFStampa(true),
},
]);
@@ -2085,7 +2106,7 @@ export default defineComponent({
salvasufiledascaricare,
widthpdf.value,
heightpdf.value,
optcatalogo.value.areadistampa.compress ? compressionepdf.value : '',
optcatalogo.value.areadistampa.compress ? (instampa ? compressionepdf.value : 'printer') : '',
instampa,
dir_out,
file_out,
@@ -2097,14 +2118,20 @@ export default defineComponent({
const catalog = myCatalog.value;
if (catalog) {
if (instampa) {
catalog.pdf_generato_stampa = ris.fileout_compressed
? ris.fileout_compressed
: ris.fileout;
catalog.pdf_generato_stampa = ris.fileout;
catalog.pdf_generato_stampa_compressed = ris.fileout_compressed;
catalog.pdf_generato_stampa_size = ris.filesize;
catalog.pdf_generato_stampa_compr_size = ris.filesize_compressed;
catalog.data_generato_stampa = tools.getDateNow();
} else {
catalog.pdf_generato = ris.fileout_compressed
? ris.fileout_compressed
: ris.fileout;
catalog.pdf_generato_compressed = ris.fileout_compressed;
catalog.pdf_generato = ris.fileout;
catalog.pdf_generato_size = ris.filesize;
catalog.pdf_generato_compr_size = ris.filesize_compressed;
catalog.data_generato = tools.getDateNow();
}
await saveCatalog();
@@ -2183,8 +2210,8 @@ export default defineComponent({
if (!element) throw new Error('Elemento pdf-content non trovato');
const rect = element.getBoundingClientRect();
const contentWidthPx = rect.width * scale;
const contentHeightPx = rect.height * scale;
const contentWidthPx = rect.width * scale;
const contentHeightPx = rect.height * scale;
const scale2 = getBestFitScale(rect.width, rect.height, pdfWidthPx, pdfHeightPx);
@@ -2240,7 +2267,7 @@ export default defineComponent({
// Default formato A4 in mm
const A4_FORMAT_MM = [210, 297];
const pubblicaPDF = async () => {
const pubblicaPDF = async (compresso: boolean) => {
const catalog = myCatalog.value;
const confirm = await $q
@@ -2261,11 +2288,13 @@ export default defineComponent({
const ris = await globalStore.execOnlinePDF({
id_catalog: catalog._id,
stampa: false,
compresso,
});
if (ris) {
if (ris.record?.pdf_online) {
catalog.pdf_online = ris.record.pdf_online;
catalog.pdf_online_size = ris.record.pdf_online_size;
catalog.data_online = ris.record.data_online;
}
$q.notify({
@@ -2284,7 +2313,7 @@ export default defineComponent({
});
};
const pubblicaPDFStampa = async () => {
const pubblicaPDFStampa = async (compresso: boolean) => {
const catalog = myCatalog.value;
const confirm = await $q
@@ -2303,11 +2332,13 @@ export default defineComponent({
const ris = await globalStore.execOnlinePDF({
id_catalog: catalog._id,
stampa: true,
compresso,
});
if (ris) {
if (ris.record.pdf_online_stampa) {
catalog.pdf_online_stampa = ris.record.pdf_online_stampa;
catalog.pdf_online_stampa_size = ris.record.pdf_online_stampa_size;
catalog.data_online_stampa = ris.record.data_online_stampa;
}
$q.notify({

View File

@@ -552,6 +552,12 @@
</q-td>
</template>
<template v-slot:body-cell-size="props">
<q-td :props="props">
{{ props.row.size ? (props.row.size) + ' MB' : '-' }}
</q-td>
</template>
<template v-slot:body-cell-data="props">
<q-td :props="props">
{{ tools.getstrDateTime(props.row.data) }}
@@ -594,6 +600,9 @@
</a>
<span v-else>-</span>
</td>
<td>
{{ myCatalog.pdf_online_size }} MB
</td>
<td>
{{ tools.getstrDateTime(myCatalog.data_online) }}
</td>
@@ -615,6 +624,9 @@
</a>
<span v-else>-</span>
</td>
<td>
{{ myCatalog.pdf_online_stampa_size }} MB
</td>
<td>
{{ tools.getstrDateTime(myCatalog.data_online_stampa) }}
</td>

View File

@@ -312,10 +312,12 @@ export default defineComponent({
const raccolta = getRaccoltaCataloghiByMyPage.value;
if (!stampa && ris.raccolta.pdf_generato) {
raccolta.pdf_generato = ris.raccolta.pdf_generato;
raccolta.pdf_generato_size = ris.raccolta.pdf_generato_size;
raccolta.data_generato = tools.getDateNow();
}
if (stampa && ris.raccolta.pdf_generato_stampa) {
raccolta.pdf_generato_stampa = ris.raccolta.pdf_generato_stampa;
raccolta.pdf_generato_stampa_size = ris.raccolta.pdf_generato_stampa_size;
raccolta.data_generato_stampa = tools.getDateNow();
}