- Creazione PDF Temporanei (Generati)
- Assegnazione di questi su PDF OnLine e PDF per Stampa
This commit is contained in:
@@ -102,16 +102,28 @@
|
|||||||
}}</span>
|
}}</span>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
v-if="myrec.pdf_generato"
|
v-if="myrec.pdf_online"
|
||||||
class="text-caption text-h7 text-blue q-pb-xs"
|
class="text-caption text-h7 text-blue q-pb-xs"
|
||||||
>
|
>
|
||||||
<q-icon name="fas fa-book" /> -
|
<q-icon name="fas fa-book" />
|
||||||
<a
|
<a
|
||||||
:href="myrec.pdf_generato"
|
:href="myrec.pdf_online"
|
||||||
target="_blank"
|
target="_blank"
|
||||||
>PDF Generato</a
|
>PDF OnLine</a
|
||||||
>
|
>
|
||||||
(Data: {{ tools.getstrDate(myrec.data_generato) }})
|
aggiornato al ({{ tools.getstrDate(myrec.data_online) }})
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
v-if="!tools.isUtente() && myrec.pdf_online_stampa && dettagli"
|
||||||
|
class="text-caption text-h7 text-blue q-pb-xs"
|
||||||
|
>
|
||||||
|
<q-icon name="fas fa-print" />
|
||||||
|
<a
|
||||||
|
:href="myrec.pdf_online_stampa"
|
||||||
|
target="_blank"
|
||||||
|
>PDF per Stampa</a
|
||||||
|
>
|
||||||
|
aggiornato al ({{ tools.getstrDate(myrec.data_online_stampa) }})
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
v-if="!tools.isUtente() && dettagli"
|
v-if="!tools.isUtente() && dettagli"
|
||||||
@@ -123,24 +135,10 @@
|
|||||||
{{ myrec.username_lista_generata }}
|
{{ myrec.username_lista_generata }}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div
|
|
||||||
v-if="myrec.pdf_online"
|
|
||||||
class="text-caption text-h7 text-blue q-pb-xs"
|
|
||||||
>
|
|
||||||
<q-icon name="fas fa-book" /> -
|
|
||||||
<a
|
|
||||||
:href="myrec.pdf_online"
|
|
||||||
target="_blank"
|
|
||||||
>PDF ONLINE</a
|
|
||||||
>
|
|
||||||
(Data: {{ tools.getstrDate(myrec.data_online) }})
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<!--<div class="text-overline text-orange-9">{{collanestr}}</div>-->
|
<!--<div class="text-overline text-orange-9">{{collanestr}}</div>-->
|
||||||
</q-card-section>
|
</q-card-section>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<q-card-actions
|
<q-card-actions
|
||||||
v-if="!tools.isUtente() && dettagli"
|
v-if="!tools.isUtente() && dettagli"
|
||||||
align="center"
|
align="center"
|
||||||
@@ -277,6 +275,12 @@
|
|||||||
:color="myrec.pdf_online ? 'green' : 'red'"
|
:color="myrec.pdf_online ? 'green' : 'red'"
|
||||||
:copy="true"
|
:copy="true"
|
||||||
/>
|
/>
|
||||||
|
<CLabel
|
||||||
|
:value="myrec.pdf_generato_stampa || 'ancora non è stato generato'"
|
||||||
|
label="PDF per Stampa"
|
||||||
|
:color="myrec.pdf_generato_stampa ? 'green' : 'red'"
|
||||||
|
:copy="true"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
</q-card-section>
|
</q-card-section>
|
||||||
</q-card>
|
</q-card>
|
||||||
|
|||||||
@@ -2528,6 +2528,15 @@ export const useGlobalStore = defineStore('GlobalStore', {
|
|||||||
return false;
|
return false;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
async execOnlinePDF(paramquery: any) {
|
||||||
|
return Api.SendReq('/admin/online-pdf', 'POST', paramquery)
|
||||||
|
.then((res) => {
|
||||||
|
return res.data;
|
||||||
|
})
|
||||||
|
.catch((error) => {
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
async convertPdf(
|
async convertPdf(
|
||||||
pdfFile: any,
|
pdfFile: any,
|
||||||
|
|||||||
@@ -1727,12 +1727,32 @@ export default defineComponent({
|
|||||||
optcatalogo.value.indebug = !optcatalogo.value.indebug;
|
optcatalogo.value.indebug = !optcatalogo.value.indebug;
|
||||||
}
|
}
|
||||||
|
|
||||||
const preparePDF = async () => {
|
const preparePDF = () => {
|
||||||
optcatalogo.value.generazionePDFInCorso = true;
|
$q.dialog({
|
||||||
optcatalogo.value.areadistampa!.scale = optcatalogo.value.areadistampa!.scale_printable;
|
message: 'Generare il PDF ?',
|
||||||
|
ok: {
|
||||||
|
label: t('dialog.yes'),
|
||||||
|
push: true,
|
||||||
|
},
|
||||||
|
cancel: {
|
||||||
|
label: t('dialog.cancel'),
|
||||||
|
},
|
||||||
|
title: 'Generazione PDF',
|
||||||
|
}).onOk(async () => {
|
||||||
|
optcatalogo.value.generazionePDFInCorso = true;
|
||||||
|
optcatalogo.value.areadistampa!.scale = optcatalogo.value.areadistampa!.scale_printable;
|
||||||
|
|
||||||
|
setTimeout(() => {
|
||||||
|
optcatalogo.value.generazionePDFInCorso = true;
|
||||||
|
|
||||||
|
setTimeout(() => {
|
||||||
|
generatePDF();
|
||||||
|
}, 500);
|
||||||
|
}, 500);
|
||||||
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
const terminaPDF = async () => {
|
const terminaPDF = () => {
|
||||||
optcatalogo.value.generazionePDFInCorso = false;
|
optcatalogo.value.generazionePDFInCorso = false;
|
||||||
optcatalogo.value.areadistampa!.scale = 1;
|
optcatalogo.value.areadistampa!.scale = 1;
|
||||||
};
|
};
|
||||||
@@ -1831,103 +1851,143 @@ export default defineComponent({
|
|||||||
const generatePDF = async () => {
|
const generatePDF = async () => {
|
||||||
await nextTick();
|
await nextTick();
|
||||||
|
|
||||||
$q.dialog({
|
$q.loading.show({
|
||||||
message: 'Generare il PDF ?',
|
message: 'Caricamento immagini e generazione PDF in corso...',
|
||||||
ok: {
|
|
||||||
label: t('dialog.yes'),
|
|
||||||
push: true,
|
|
||||||
},
|
|
||||||
cancel: {
|
|
||||||
label: t('dialog.cancel'),
|
|
||||||
},
|
|
||||||
title: 'Generazione PDF',
|
|
||||||
}).onOk(async () => {
|
|
||||||
$q.loading.show({
|
|
||||||
message: 'Caricamento immagini e generazione PDF in corso...',
|
|
||||||
});
|
|
||||||
|
|
||||||
try {
|
|
||||||
let defaultMargin = 0.1;
|
|
||||||
if (optcatalogo.value.printable) {
|
|
||||||
defaultMargin = 0;
|
|
||||||
} else {
|
|
||||||
defaultMargin = 0;
|
|
||||||
}
|
|
||||||
const unit = optcatalogo.value.areadistampa!.unit;
|
|
||||||
|
|
||||||
let myformat = { ...optcatalogo.value.areadistampa!.format };
|
|
||||||
|
|
||||||
const scale = tools.getScale(optcatalogo.value);
|
|
||||||
|
|
||||||
const scalecanvas = optcatalogo.value.areadistampa!.scalecanvas;
|
|
||||||
|
|
||||||
if (tools.isObject(myformat) && scale > 0) {
|
|
||||||
} else {
|
|
||||||
myformat = [210, 297];
|
|
||||||
}
|
|
||||||
|
|
||||||
const formatwidth = myformat[0] * scale;
|
|
||||||
const formatheight = myformat[1] * scale;
|
|
||||||
|
|
||||||
let myfile = getPdfFilename();
|
|
||||||
|
|
||||||
// myfile += '_' + tools.getDateYYYYMMDD_Today();
|
|
||||||
|
|
||||||
myfile += '.pdf';
|
|
||||||
|
|
||||||
let file_out = myfile;
|
|
||||||
|
|
||||||
const element = document.getElementById('pdf-content');
|
|
||||||
const opt = {
|
|
||||||
margin: [defaultMargin, defaultMargin, defaultMargin, defaultMargin],
|
|
||||||
filename: myfile,
|
|
||||||
image: {
|
|
||||||
type: 'jpeg',
|
|
||||||
quality: 0.98,
|
|
||||||
},
|
|
||||||
html2canvas: {
|
|
||||||
scale: scalecanvas,
|
|
||||||
useCORS: true,
|
|
||||||
letterRendering: true,
|
|
||||||
},
|
|
||||||
jsPDF: {
|
|
||||||
unit: unit,
|
|
||||||
format: [formatwidth, formatheight],
|
|
||||||
orientation: optcatalogo.value.areadistampa!.orientation,
|
|
||||||
compress: optcatalogo.value.areadistampa!.compress,
|
|
||||||
},
|
|
||||||
enableLinks: true,
|
|
||||||
pagebreak: { mode: 'avoid-all', before: '.card-page' },
|
|
||||||
};
|
|
||||||
|
|
||||||
console.log('opt di stampa', opt);
|
|
||||||
// a4: [595.28, 841.89]
|
|
||||||
|
|
||||||
if (true) {
|
|
||||||
await generateLargePDF(opt, '.pdf-section', false, 'upload/cataloghi/', file_out);
|
|
||||||
} else {
|
|
||||||
await html2pdf().set(opt).from(element).save();
|
|
||||||
}
|
|
||||||
|
|
||||||
optcatalogo.value.generazionePDFInCorso = false;
|
|
||||||
optcatalogo.value.areadistampa!.scale = 1;
|
|
||||||
|
|
||||||
$q.loading.hide();
|
|
||||||
$q.notify({
|
|
||||||
color: 'positive',
|
|
||||||
message: 'PDF generato con successo!',
|
|
||||||
icon: 'check',
|
|
||||||
});
|
|
||||||
} catch (error) {
|
|
||||||
$q.loading.hide();
|
|
||||||
$q.notify({
|
|
||||||
color: 'negative',
|
|
||||||
message: 'Errore nella generazione del PDF',
|
|
||||||
icon: 'error',
|
|
||||||
});
|
|
||||||
console.error('Errore nella generazione del PDF:', error);
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
try {
|
||||||
|
let defaultMargin = 0.1;
|
||||||
|
if (optcatalogo.value.printable) {
|
||||||
|
defaultMargin = 0;
|
||||||
|
} else {
|
||||||
|
defaultMargin = 0;
|
||||||
|
}
|
||||||
|
const unit = optcatalogo.value.areadistampa!.unit;
|
||||||
|
|
||||||
|
let myformat = { ...optcatalogo.value.areadistampa!.format };
|
||||||
|
|
||||||
|
const scale = tools.getScale(optcatalogo.value);
|
||||||
|
|
||||||
|
const scalecanvas = optcatalogo.value.areadistampa!.scalecanvas;
|
||||||
|
|
||||||
|
if (tools.isObject(myformat) && scale > 0) {
|
||||||
|
} else {
|
||||||
|
myformat = [210, 297];
|
||||||
|
}
|
||||||
|
|
||||||
|
const formatwidth = myformat[0] * scale;
|
||||||
|
const formatheight = myformat[1] * scale;
|
||||||
|
|
||||||
|
let myfile = getPdfFilename();
|
||||||
|
|
||||||
|
// myfile += '_' + tools.getDateYYYYMMDD_Today();
|
||||||
|
|
||||||
|
myfile += '.pdf';
|
||||||
|
|
||||||
|
let file_out = myfile;
|
||||||
|
|
||||||
|
const element = document.getElementById('pdf-content');
|
||||||
|
const opt = {
|
||||||
|
margin: [defaultMargin, defaultMargin, defaultMargin, defaultMargin],
|
||||||
|
filename: myfile,
|
||||||
|
image: {
|
||||||
|
type: 'jpeg',
|
||||||
|
quality: 0.98,
|
||||||
|
},
|
||||||
|
html2canvas: {
|
||||||
|
scale: scalecanvas,
|
||||||
|
useCORS: true,
|
||||||
|
letterRendering: true,
|
||||||
|
},
|
||||||
|
jsPDF: {
|
||||||
|
unit: unit,
|
||||||
|
format: [formatwidth, formatheight],
|
||||||
|
orientation: optcatalogo.value.areadistampa!.orientation,
|
||||||
|
compress: optcatalogo.value.areadistampa!.compress,
|
||||||
|
},
|
||||||
|
enableLinks: true,
|
||||||
|
pagebreak: { mode: 'avoid-all', before: '.card-page' },
|
||||||
|
};
|
||||||
|
|
||||||
|
console.log('opt di stampa', opt);
|
||||||
|
// a4: [595.28, 841.89]
|
||||||
|
|
||||||
|
if (true) {
|
||||||
|
await generateLargePDF(opt, '.pdf-section', false, 'upload/cataloghi/', file_out);
|
||||||
|
} else {
|
||||||
|
await html2pdf().set(opt).from(element).save();
|
||||||
|
}
|
||||||
|
|
||||||
|
optcatalogo.value.generazionePDFInCorso = false;
|
||||||
|
optcatalogo.value.areadistampa!.scale = 1;
|
||||||
|
|
||||||
|
$q.loading.hide();
|
||||||
|
$q.notify({
|
||||||
|
color: 'positive',
|
||||||
|
message: 'PDF generato con successo!',
|
||||||
|
icon: 'check',
|
||||||
|
});
|
||||||
|
} catch (error) {
|
||||||
|
$q.loading.hide();
|
||||||
|
$q.notify({
|
||||||
|
color: 'negative',
|
||||||
|
message: 'Errore nella generazione del PDF',
|
||||||
|
icon: 'error',
|
||||||
|
});
|
||||||
|
console.error('Errore nella generazione del PDF:', error);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
const pubblicaPDF = async () => {
|
||||||
|
const catalog = getCatalogoByMyPage.value;
|
||||||
|
|
||||||
|
const ris = await globalStore.execOnlinePDF({ id_catalog: catalog._id, stampa: false });
|
||||||
|
|
||||||
|
if (ris) {
|
||||||
|
if (ris.catalog?.pdf_online) {
|
||||||
|
catalog.pdf_online = ris.catalog.pdf_online;
|
||||||
|
catalog.data_online = ris.catalog.data_online;
|
||||||
|
}
|
||||||
|
$q.notify({
|
||||||
|
color: 'positive',
|
||||||
|
message: 'PDF inviato ONLINE!',
|
||||||
|
icon: 'check',
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
$q.loading.hide();
|
||||||
|
$q.notify({
|
||||||
|
color: 'negative',
|
||||||
|
message: "Errore nell'invio del PDF OnLine",
|
||||||
|
icon: 'error',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
const pubblicaPDFStampa = async () => {
|
||||||
|
const catalog = getCatalogoByMyPage.value;
|
||||||
|
|
||||||
|
const ris = await globalStore.execOnlinePDF({ id_catalog: catalog._id, stampa: true });
|
||||||
|
|
||||||
|
if (ris) {
|
||||||
|
if (ris.catalog.pdf_online_stampa) {
|
||||||
|
catalog.pdf_online_stampa = ris.catalog.pdf_online_stampa;
|
||||||
|
catalog.data_online_stampa = ris.catalog.data_online_stampa;
|
||||||
|
}
|
||||||
|
$q.notify({
|
||||||
|
color: 'positive',
|
||||||
|
message: 'PDF STAMPA inviato ONLINE!',
|
||||||
|
icon: 'check',
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
$q.loading.hide();
|
||||||
|
$q.notify({
|
||||||
|
color: 'negative',
|
||||||
|
message: "Errore nell'invio del PDF STAMPA OnLine",
|
||||||
|
icon: 'error',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// await saveCatalog();
|
||||||
};
|
};
|
||||||
|
|
||||||
onMounted(mounted);
|
onMounted(mounted);
|
||||||
@@ -2007,6 +2067,8 @@ export default defineComponent({
|
|||||||
getPdfFilename,
|
getPdfFilename,
|
||||||
filtroStrApplicato,
|
filtroStrApplicato,
|
||||||
getCollane,
|
getCollane,
|
||||||
|
pubblicaPDF,
|
||||||
|
pubblicaPDFStampa,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -407,11 +407,13 @@
|
|||||||
</q-toolbar>
|
</q-toolbar>
|
||||||
</q-tab-panel>
|
</q-tab-panel>
|
||||||
<q-tab-panel name="genera">
|
<q-tab-panel name="genera">
|
||||||
<div v-if="!tools.isUtente()" class="row justify-center">
|
<div
|
||||||
|
v-if="!tools.isUtente()"
|
||||||
|
class="row justify-center"
|
||||||
|
>
|
||||||
<q-btn
|
<q-btn
|
||||||
v-if="optcatalogo.pdf && !optcatalogo.generazionePDFInCorso"
|
v-if="optcatalogo.pdf && !optcatalogo.generazionePDFInCorso"
|
||||||
:label="`Prepara PDF`"
|
:label="`1) PREPARA PDF`"
|
||||||
@click="preparePDF"
|
@click="preparePDF"
|
||||||
></q-btn>
|
></q-btn>
|
||||||
<q-btn
|
<q-btn
|
||||||
@@ -421,34 +423,99 @@
|
|||||||
></q-btn>
|
></q-btn>
|
||||||
<q-btn
|
<q-btn
|
||||||
v-if="optcatalogo.pdf && optcatalogo.generazionePDFInCorso"
|
v-if="optcatalogo.pdf && optcatalogo.generazionePDFInCorso"
|
||||||
:label="`Genera PDF ` + getPdfFilename()"
|
:label="`2) Genera PDF ` + getPdfFilename()"
|
||||||
@click="generatePDF()"
|
@click="generatePDF()"
|
||||||
color="positive"
|
color="positive"
|
||||||
></q-btn>
|
></q-btn>
|
||||||
<q-btn
|
<q-btn
|
||||||
|
v-if="tools.isAdmin() && false"
|
||||||
label="Debug"
|
label="Debug"
|
||||||
@click="toggleDebug()"
|
@click="toggleDebug()"
|
||||||
:push="optcatalogo.indebug"
|
:push="optcatalogo.indebug"
|
||||||
:color="optcatalogo.indebug ? `positive` : 'primary'"
|
:color="optcatalogo.indebug ? `positive` : 'primary'"
|
||||||
></q-btn>
|
></q-btn>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="getCatalogoByMyPage.pdf_generato" class="column justify-center q-ma-sm q-pa-sm">
|
<div
|
||||||
<div >
|
v-if="getCatalogoByMyPage.pdf_generato"
|
||||||
PDF:
|
class="bg-green-1 q-ma-sm q-pa-sm"
|
||||||
<a :href="tools.getHost() + getCatalogoByMyPage.pdf_generato" target="_blank" v-if="getCatalogoByMyPage.pdf_generato" class="text-bold">
|
>
|
||||||
{{tools.getHost() + getCatalogoByMyPage.pdf_generato}}
|
<div class="bg-blue-1 text-red text-bold text-h6 q-ma-sm q-pa-sm">
|
||||||
</a>
|
<strong>PDF generati Temporanei</strong>
|
||||||
<span v-else>-</span>
|
|
||||||
<br>(Generato il {{ tools.getstrDateTime(getCatalogoByMyPage.data_generato)}})
|
|
||||||
</div>
|
</div>
|
||||||
<br>
|
<div v-if="getCatalogoByMyPage.data_generato !== getCatalogoByMyPage.data_online">
|
||||||
<div>
|
PDF Generato:
|
||||||
PDF Stampa:
|
<a
|
||||||
<a :href="tools.getHost() + getCatalogoByMyPage.pdf_generato_stampa" target="_blank" v-if="getCatalogoByMyPage.pdf_generato_stampa" class="text-bold">
|
:href="tools.getHost() + getCatalogoByMyPage.pdf_generato"
|
||||||
{{tools.getHost() + getCatalogoByMyPage.pdf_generato_stampa}}
|
target="_blank"
|
||||||
|
v-if="getCatalogoByMyPage.pdf_generato"
|
||||||
|
class="text-bold"
|
||||||
|
>
|
||||||
|
{{ tools.getHost() + getCatalogoByMyPage.pdf_generato }}
|
||||||
</a>
|
</a>
|
||||||
<span v-else>-</span>
|
<span v-else>-</span>
|
||||||
<br>(Generato il {{ tools.getstrDateTime(getCatalogoByMyPage.data_generato_stampa) }})
|
<br />(del {{ tools.getstrDateTime(getCatalogoByMyPage.data_generato) }})
|
||||||
|
<br />
|
||||||
|
<q-btn
|
||||||
|
v-if="getCatalogoByMyPage.data_generato !== getCatalogoByMyPage.data_online"
|
||||||
|
rounded
|
||||||
|
label="Pubblica PDF OnLine"
|
||||||
|
color="positive"
|
||||||
|
@click="pubblicaPDF()"
|
||||||
|
></q-btn>
|
||||||
|
</div>
|
||||||
|
<br />
|
||||||
|
<div v-if="getCatalogoByMyPage.data_generato_stampa !== getCatalogoByMyPage.data_online_stampa">
|
||||||
|
PDF Generato Stampa:
|
||||||
|
<a
|
||||||
|
:href="tools.getHost() + getCatalogoByMyPage.pdf_generato_stampa"
|
||||||
|
target="_blank"
|
||||||
|
v-if="getCatalogoByMyPage.pdf_generato_stampa"
|
||||||
|
class="text-bold"
|
||||||
|
>
|
||||||
|
{{ tools.getHost() + getCatalogoByMyPage.pdf_generato_stampa }}
|
||||||
|
</a>
|
||||||
|
<span v-else>-</span>
|
||||||
|
<br />(del {{ tools.getstrDateTime(getCatalogoByMyPage.data_generato_stampa) }})
|
||||||
|
<br />
|
||||||
|
<q-btn
|
||||||
|
v-if="getCatalogoByMyPage.data_generato_stampa !== getCatalogoByMyPage.data_online_stampa"
|
||||||
|
rounded
|
||||||
|
label="Pubblica PDF Stampa"
|
||||||
|
color="positive"
|
||||||
|
@click="pubblicaPDFStampa()"
|
||||||
|
></q-btn>
|
||||||
|
</div>
|
||||||
|
<div class="bg-green-1">
|
||||||
|
<div class="bg-blue-1 text-green text-bold text-h6 q-ma-sm q-pa-sm">
|
||||||
|
<strong>PDF Pubblicati OnLine</strong>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
PDF OnLine:
|
||||||
|
<a
|
||||||
|
:href="tools.getHost() + getCatalogoByMyPage.pdf_online"
|
||||||
|
target="_blank"
|
||||||
|
v-if="getCatalogoByMyPage.pdf_online"
|
||||||
|
class="text-bold"
|
||||||
|
>
|
||||||
|
{{ tools.getHost() + getCatalogoByMyPage.pdf_online }}
|
||||||
|
</a>
|
||||||
|
<span v-else>-</span>
|
||||||
|
<br />(del {{ tools.getstrDateTime(getCatalogoByMyPage.data_online) }})
|
||||||
|
</div>
|
||||||
|
<br />
|
||||||
|
<div>
|
||||||
|
PDF OnLine Stampa:
|
||||||
|
<a
|
||||||
|
:href="tools.getHost() + getCatalogoByMyPage.pdf_online_stampa"
|
||||||
|
target="_blank"
|
||||||
|
v-if="getCatalogoByMyPage.pdf_online_stampa"
|
||||||
|
class="text-bold"
|
||||||
|
>
|
||||||
|
{{ tools.getHost() + getCatalogoByMyPage.pdf_online_stampa }}
|
||||||
|
</a>
|
||||||
|
<span v-else>-</span>
|
||||||
|
<br />(del {{ tools.getstrDateTime(getCatalogoByMyPage.data_online_stampa) }})
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</q-tab-panel>
|
</q-tab-panel>
|
||||||
|
|||||||
Reference in New Issue
Block a user