- Raccolte Cataloghi corretto e migliorato.

- Bottoni "Apri" e "PDF".
This commit is contained in:
Surya Paolo
2025-07-06 23:12:56 +02:00
parent 9e95fe622b
commit e7ead2e66a
23 changed files with 612 additions and 324 deletions

4
.env
View File

@@ -1,6 +1,6 @@
VITE_APP_VERSION="1.2.59"
VITE_APP_VERSION="1.2.62"
VITE_LANG_DEFAULT="it"
VITE_PAO_APP_ID="KKPPAA5KJK435J3KSS9F9D8S9F8SD98F9SDF"
VITE_SERVICE_WORKER_FILE="sw-1.2.59.js"
VITE_SERVICE_WORKER_FILE="sw-1.2.62.js"
VITE_PROJECT_ID_MAIN="5cc0a13fe5c9d156728f400a"
VITE_VUE_ROUTER_MODE="history"

View File

@@ -10,7 +10,7 @@
<meta name="description" content="<%= productDescription %>">
<meta name="format-detection" content="telephone=no">
<meta name="msapplication-tap-highlight" content="no">
<meta name="version" content="1.2.59">
<meta name="version" content="1.2.62">
<meta name="viewport"
content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width<% if (ctx.mode.cordova || ctx.mode.capacitor) { %>, viewport-fit=cover<% } %>">

View File

@@ -1,6 +1,6 @@
{
"name": "gruppomacro",
"version": "1.2.59",
"version": "1.2.62",
"description": "Gruppo Macro",
"productName": "Gruppo Macro",
"author": "Surya",
@@ -9,20 +9,20 @@
"license": "MIT",
"type": "module",
"scripts": {
"dev": "PORT=8089 APP_VERSION='1.2.59' quasar dev",
"dev": "PORT=8089 APP_VERSION='1.2.62' quasar dev",
"dev_noCheck": "SKIP_TSC=true quasar dev",
"build": "quasar build",
"buildpwa": "NODE_ENV=production APP_VERSION='1.2.59' quasar build -m pwa",
"buildpwatest": "NODE_ENV=production APP_VERSION='1.2.59' quasar build -m pwa",
"buildpwa": "NODE_ENV=production APP_VERSION='1.2.62' quasar build -m pwa",
"buildpwatest": "NODE_ENV=production APP_VERSION='1.2.62' quasar build -m pwa",
"type-check": "vue-tsc --noEmit",
"type-check:watch": "vue-tsc --noEmit --watch",
"buildspa": "APP_VERSION='1.2.59' quasar build -m spa",
"buildspa": "APP_VERSION='1.2.62' quasar build -m spa",
"lint": "eslint -c ./eslint.config.js \"./src*/**/*.{ts,js,cjs,mjs,vue}\"",
"lintfile": "eslint --ext .js,.ts,.vue --ignore-path .gitignore ./ > file.out.txt",
"lintfileNoJS": "eslint --ext .ts,.vue --ignore-path .gitignore ./ > file.out.txt",
"fix": "eslint -c ./eslint.config.js \"./src*/**/*.{ts,js,cjs,mjs,vue}\" --ignore-pattern .gitignore ./ --fix > file.out.txt",
"pwa": "NODE_ENV=development PORT=8099 APP_VERSION='1.2.59' quasar dev -m pwa",
"spa": "NODE_ENV=development PORT=8089 APP_VERSION='1.2.59' quasar dev",
"pwa": "NODE_ENV=development PORT=8099 APP_VERSION='1.2.62' quasar dev -m pwa",
"spa": "NODE_ENV=development PORT=8089 APP_VERSION='1.2.62' quasar dev",
"debug": "quasar dev --mode debug",
"test": "echo \"No test specified\" && exit 0",
"generate-sw": "workbox generateSW workbox-config.js",

View File

@@ -1,6 +1,6 @@
{
"name": "cnm",
"version": "1.2.59",
"version": "1.2.62",
"description": "Comunita Nuovo Mondo",
"productName": "ComunitaNuovoMondo",
"author": "Surya",
@@ -9,7 +9,7 @@
"license": "MIT",
"type": "module",
"scripts": {
"dev": "PORT=8083 APP_VERSION='1.2.59' quasar dev",
"dev": "PORT=8083 APP_VERSION='1.2.62' quasar dev",
"dev_noCheck": "SKIP_TSC=true quasar dev",
"build": "quasar build",
"buildpwa": "NODE_ENV=production quasar build -m pwa",
@@ -21,8 +21,8 @@
"lintfile": "eslint --ext .js,.ts,.vue --ignore-path .gitignore ./ > file.out.txt",
"lintfileNoJS": "eslint --ext .ts,.vue --ignore-path .gitignore ./ > file.out.txt",
"fix": "eslint -c ./eslint.config.js \"./src*/**/*.{ts,js,cjs,mjs,vue}\" --ignore-pattern .gitignore ./ --fix > file.out.txt",
"pwa": "NODE_ENV=development PORT=8093 APP_VERSION='1.2.59' quasar dev -m pwa",
"spa": "NODE_ENV=development PORT=8083 APP_VERSION='1.2.59' quasar dev",
"pwa": "NODE_ENV=development PORT=8093 APP_VERSION='1.2.62' quasar dev -m pwa",
"spa": "NODE_ENV=development PORT=8083 APP_VERSION='1.2.62' quasar dev",
"debug": "quasar dev --mode debug",
"test": "echo \"No test specified\" && exit 0",
"generate-sw": "workbox generateSW workbox-config.js",

View File

@@ -1,6 +1,6 @@
{
"name": "freeplanet",
"version": "1.2.59",
"version": "1.2.62",
"description": "freeplanet",
"productName": "freeplanet",
"author": "Surya",
@@ -9,11 +9,11 @@
"license": "MIT",
"type": "module",
"scripts": {
"dev": "PORT=8087 APP_VERSION='1.2.59' quasar dev",
"dev": "PORT=8087 APP_VERSION='1.2.62' quasar dev",
"dev_noCheck": "SKIP_TSC=true quasar dev",
"build": "quasar build",
"buildpwa": "NODE_ENV=production APP_VERSION='1.2.59' quasar build -m pwa",
"buildpwatest": "NODE_ENV=production APP_VERSION='1.2.59' quasar build -m pwa",
"buildpwa": "NODE_ENV=production APP_VERSION='1.2.62' quasar build -m pwa",
"buildpwatest": "NODE_ENV=production APP_VERSION='1.2.62' quasar build -m pwa",
"type-check": "vue-tsc --noEmit",
"type-check:watch": "vue-tsc --noEmit --watch",
"buildspa": "quasar build -m spa",
@@ -21,8 +21,8 @@
"lintfile": "eslint --ext .js,.ts,.vue --ignore-path .gitignore ./ > file.out.txt",
"lintfileNoJS": "eslint --ext .ts,.vue --ignore-path .gitignore ./ > file.out.txt",
"fix": "eslint -c ./eslint.config.js \"./src*/**/*.{ts,js,cjs,mjs,vue}\" --ignore-pattern .gitignore ./ --fix > file.out.txt",
"pwa": "NODE_ENV=development PORT=8097 APP_VERSION='1.2.59' quasar dev -m pwa",
"spa": "NODE_ENV=development PORT=8087 APP_VERSION='1.2.59' quasar dev",
"pwa": "NODE_ENV=development PORT=8097 APP_VERSION='1.2.62' quasar dev -m pwa",
"spa": "NODE_ENV=development PORT=8087 APP_VERSION='1.2.62' quasar dev",
"debug": "quasar dev --mode debug",
"test": "echo \"No test specified\" && exit 0",
"generate-sw": "workbox generateSW workbox-config.js",

View File

@@ -1,6 +1,6 @@
{
"name": "gruppomacro",
"version": "1.2.59",
"version": "1.2.62",
"description": "Gruppo Macro",
"productName": "Gruppo Macro",
"author": "Surya",
@@ -9,20 +9,20 @@
"license": "MIT",
"type": "module",
"scripts": {
"dev": "PORT=8089 APP_VERSION='1.2.59' quasar dev",
"dev": "PORT=8089 APP_VERSION='1.2.62' quasar dev",
"dev_noCheck": "SKIP_TSC=true quasar dev",
"build": "quasar build",
"buildpwa": "NODE_ENV=production APP_VERSION='1.2.59' quasar build -m pwa",
"buildpwatest": "NODE_ENV=production APP_VERSION='1.2.59' quasar build -m pwa",
"buildpwa": "NODE_ENV=production APP_VERSION='1.2.62' quasar build -m pwa",
"buildpwatest": "NODE_ENV=production APP_VERSION='1.2.62' quasar build -m pwa",
"type-check": "vue-tsc --noEmit",
"type-check:watch": "vue-tsc --noEmit --watch",
"buildspa": "APP_VERSION='1.2.59' quasar build -m spa",
"buildspa": "APP_VERSION='1.2.62' quasar build -m spa",
"lint": "eslint -c ./eslint.config.js \"./src*/**/*.{ts,js,cjs,mjs,vue}\"",
"lintfile": "eslint --ext .js,.ts,.vue --ignore-path .gitignore ./ > file.out.txt",
"lintfileNoJS": "eslint --ext .ts,.vue --ignore-path .gitignore ./ > file.out.txt",
"fix": "eslint -c ./eslint.config.js \"./src*/**/*.{ts,js,cjs,mjs,vue}\" --ignore-pattern .gitignore ./ --fix > file.out.txt",
"pwa": "NODE_ENV=development PORT=8099 APP_VERSION='1.2.59' quasar dev -m pwa",
"spa": "NODE_ENV=development PORT=8089 APP_VERSION='1.2.59' quasar dev",
"pwa": "NODE_ENV=development PORT=8099 APP_VERSION='1.2.62' quasar dev -m pwa",
"spa": "NODE_ENV=development PORT=8089 APP_VERSION='1.2.62' quasar dev",
"debug": "quasar dev --mode debug",
"test": "echo \"No test specified\" && exit 0",
"generate-sw": "workbox generateSW workbox-config.js",

View File

@@ -1,6 +1,6 @@
{
"name": "kolibrilab",
"version": "1.2.59",
"version": "1.2.62",
"description": "kolibrilab",
"productName": "kolibrilab",
"author": "Surya Paolo",
@@ -8,11 +8,11 @@
"keywords": [],
"license": "MIT",
"scripts": {
"dev": "PORT=8083 APP_VERSION='1.2.59' quasar dev",
"dev": "PORT=8083 APP_VERSION='1.2.62' quasar dev",
"dev_noCheck": "SKIP_TSC=true quasar dev",
"build": "quasar build",
"buildpwa": "NODE_ENV=production APP_VERSION='1.2.59' quasar build -m pwa",
"buildpwatest": "NODE_ENV=production APP_VERSION='1.2.59' quasar build -m pwa",
"buildpwa": "NODE_ENV=production APP_VERSION='1.2.62' quasar build -m pwa",
"buildpwatest": "NODE_ENV=production APP_VERSION='1.2.62' quasar build -m pwa",
"type-check": "vue-tsc --noEmit",
"type-check:watch": "vue-tsc --noEmit --watch",
"buildspa": "quasar build -m spa",
@@ -20,8 +20,8 @@
"lintfile": "eslint --ext .js,.ts,.vue --ignore-path .gitignore ./ > file.out.txt",
"lintfileNoJS": "eslint --ext .ts,.vue --ignore-path .gitignore ./ > file.out.txt",
"fix": "eslint --ext .ts,.vue --ignore-path .gitignore ./ --fix > file.out.txt",
"pwa": "NODE_ENV=development PORT=8093 APP_VERSION='1.2.59' quasar dev -m pwa",
"spa": "NODE_ENV=development PORT=8083 APP_VERSION='1.2.59' quasar dev",
"pwa": "NODE_ENV=development PORT=8093 APP_VERSION='1.2.62' quasar dev -m pwa",
"spa": "NODE_ENV=development PORT=8083 APP_VERSION='1.2.62' quasar dev",
"spanorefresh": "NODE_ENV=development NODE_OPTIONS=--max_old_space_size=4096 DEBUG=v8:* quasar dev -m spa",
"test": "echo \"No test specified\" && exit 0",
"generate-sw": "workbox generateSW workbox-config.js"

View File

@@ -1,6 +1,6 @@
{
"name": "nutriben",
"version": "1.2.59",
"version": "1.2.62",
"description": "Nutriben",
"productName": "Nutriben",
"author": "Surya",
@@ -9,20 +9,20 @@
"license": "MIT",
"type": "module",
"scripts": {
"dev": "PORT=8093 APP_VERSION='1.2.59' quasar dev",
"dev": "PORT=8093 APP_VERSION='1.2.62' quasar dev",
"dev_noCheck": "SKIP_TSC=true quasar dev",
"build": "quasar build",
"buildpwa": "NODE_ENV=production APP_VERSION='1.2.59' quasar build -m pwa",
"buildpwatest": "NODE_ENV=production APP_VERSION='1.2.59' quasar build -m pwa",
"buildpwa": "NODE_ENV=production APP_VERSION='1.2.62' quasar build -m pwa",
"buildpwatest": "NODE_ENV=production APP_VERSION='1.2.62' quasar build -m pwa",
"type-check": "vue-tsc --noEmit",
"type-check:watch": "vue-tsc --noEmit --watch",
"buildspa": "APP_VERSION='1.2.59' quasar build -m spa",
"buildspa": "APP_VERSION='1.2.62' quasar build -m spa",
"lint": "eslint -c ./eslint.config.js \"./src*/**/*.{ts,js,cjs,mjs,vue}\"",
"lintfile": "eslint --ext .js,.ts,.vue --ignore-path .gitignore ./ > file.out.txt",
"lintfileNoJS": "eslint --ext .ts,.vue --ignore-path .gitignore ./ > file.out.txt",
"fix": "eslint -c ./eslint.config.js \"./src*/**/*.{ts,js,cjs,mjs,vue}\" --ignore-pattern .gitignore ./ --fix > file.out.txt",
"pwa": "NODE_ENV=development PORT=8099 APP_VERSION='1.2.59' quasar dev -m pwa",
"spa": "NODE_ENV=development PORT=8093 APP_VERSION='1.2.59' quasar dev",
"pwa": "NODE_ENV=development PORT=8099 APP_VERSION='1.2.62' quasar dev -m pwa",
"spa": "NODE_ENV=development PORT=8093 APP_VERSION='1.2.62' quasar dev",
"debug": "quasar dev --mode debug",
"test": "echo \"No test specified\" && exit 0",
"generate-sw": "workbox generateSW workbox-config.js",

View File

@@ -1,6 +1,6 @@
{
"name": "piuchebuono",
"version": "1.2.59",
"version": "1.2.62",
"description": "PiuCheBuono",
"productName": "PiuCheBuono",
"author": "Surya",
@@ -9,11 +9,11 @@
"license": "MIT",
"type": "module",
"scripts": {
"dev": "PORT=8085 APP_VERSION='1.2.59' quasar dev",
"dev": "PORT=8085 APP_VERSION='1.2.62' quasar dev",
"dev_noCheck": "SKIP_TSC=true quasar dev",
"build": "quasar build",
"buildpwa": "NODE_ENV=production APP_VERSION='1.2.59' quasar build -m pwa",
"buildpwatest": "NODE_ENV=production APP_VERSION='1.2.59' quasar build -m pwa",
"buildpwa": "NODE_ENV=production APP_VERSION='1.2.62' quasar build -m pwa",
"buildpwatest": "NODE_ENV=production APP_VERSION='1.2.62' quasar build -m pwa",
"type-check": "vue-tsc --noEmit",
"type-check:watch": "vue-tsc --noEmit --watch",
"buildspa": "quasar build -m spa",
@@ -21,8 +21,8 @@
"lintfile": "eslint --ext .js,.ts,.vue --ignore-path .gitignore ./ > file.out.txt",
"lintfileNoJS": "eslint --ext .ts,.vue --ignore-path .gitignore ./ > file.out.txt",
"fix": "eslint -c ./eslint.config.js \"./src*/**/*.{ts,js,cjs,mjs,vue}\" --ignore-pattern .gitignore ./ --fix > file.out.txt",
"pwa": "NODE_ENV=development PORT=8085 APP_VERSION='1.2.59' quasar dev -m pwa",
"spa": "NODE_ENV=development PORT=8085 APP_VERSION='1.2.59' quasar dev",
"pwa": "NODE_ENV=development PORT=8085 APP_VERSION='1.2.62' quasar dev -m pwa",
"spa": "NODE_ENV=development PORT=8085 APP_VERSION='1.2.62' quasar dev",
"debug": "quasar dev --mode debug",
"test": "echo \"No test specified\" && exit 0",
"generate-sw": "workbox generateSW workbox-config.js",

View File

@@ -1,6 +1,6 @@
{
"name": "riso",
"version": "1.2.59",
"version": "1.2.62",
"description": "Siamo la Rete Italiana di Scambio Orizzontale, abbiamo creato questa piattaforma per metterla al servizio di chi vuole riscoprire il valore della condivisione e della cooperazione. Valori semplici e profondi che ci aiutano a ritrovare il Senso della Vita, perduto in questa società consumista, e riporti quei Sani Pricìpi Naturali ed Umani di Fratellanza che intere popolazioni antiche conoscevano bene.",
"productName": "Riso",
"author": "Surya",
@@ -9,11 +9,11 @@
"license": "MIT",
"type": "module",
"scripts": {
"dev": "APP_VERSION='1.2.59' PORT=8084 quasar dev",
"dev": "APP_VERSION='1.2.62' PORT=8084 quasar dev",
"dev_noCheck": "SKIP_TSC=true quasar dev",
"build": "quasar build",
"buildpwa": "NODE_ENV=production APP_VERSION='1.2.59' quasar build -m pwa",
"buildpwatest": "NODE_ENV=production APP_VERSION='1.2.59' quasar build -m pwa",
"buildpwa": "NODE_ENV=production APP_VERSION='1.2.62' quasar build -m pwa",
"buildpwatest": "NODE_ENV=production APP_VERSION='1.2.62' quasar build -m pwa",
"type-check": "vue-tsc --noEmit",
"type-check:watch": "vue-tsc --noEmit --watch",
"buildspa": "quasar build -m spa",
@@ -21,8 +21,8 @@
"lintfile": "eslint --ext .js,.ts,.vue --ignore-path .gitignore ./ > file.out.txt",
"lintfileNoJS": "eslint --ext .ts,.vue --ignore-path .gitignore ./ > file.out.txt",
"fix": "eslint -c ./eslint.config.js \"./src*/**/*.{ts,js,cjs,mjs,vue}\" --ignore-pattern .gitignore ./ --fix > file.out.txt",
"pwa": "NODE_ENV=development PORT=8094 APP_VERSION='1.2.59' quasar dev -m pwa",
"spa": "NODE_ENV=development PORT=8084 APP_VERSION='1.2.59' quasar dev",
"pwa": "NODE_ENV=development PORT=8094 APP_VERSION='1.2.62' quasar dev -m pwa",
"spa": "NODE_ENV=development PORT=8084 APP_VERSION='1.2.62' quasar dev",
"debug": "quasar dev --mode debug",
"test": "echo \"No test specified\" && exit 0",
"generate-sw": "workbox generateSW workbox-config.js",

View File

@@ -3,7 +3,7 @@
/* global workbox */
/* global cfgenv */
const VITE_APP_VERSION = '1.2.59';
const VITE_APP_VERSION = '1.2.62';
// Costanti di configurazione
const DYNAMIC_CACHE = 'dynamic-cache-v2';

View File

@@ -11,6 +11,7 @@ const SW_FILE = `/${import.meta.env.VITE_SERVICE_WORKER_FILE}`;
console.log('SWFILE: ', SW_FILE);
register(SW_FILE, {
updateViaCache: 'none',
scope: '/',
/************* ✨ Codeium Command ⭐ *************/
/**

View File

@@ -180,37 +180,72 @@
<q-card-actions
align="center"
class="q-mt-auto q-mx-auto q-mb-sm"
class="q-mt-auto q-mx-auto q-mb-xs"
>
<q-btn
v-if="myrec.pdf_online"
unelevated
rounded
color="primary"
icon="fas fa-file-pdf"
:label="`Apri PDF`"
:href="tools.getURLByHostAndFilePath(myrec.pdf_online, myrec.data_online ? (new Date(myrec.data_online)).getTime() : undefined)"
icon="fas fa-external-link-alt"
:label="`Apri`"
@click="naviga(pagina_collegata)"
size="md"
class="hover-lift"
class="hover-lift q-mx-sm"
padding="sm"
/>
<q-btn
<q-fab
v-if="myrec.pdf_online"
unelevated
rounded
color="primary"
icon="download"
:label="`Scarica PDF`"
:href="tools.getURLByHostAndFilePath(myrec.pdf_online, myrec.data_online ? (new Date(myrec.data_online)).getTime() : undefined)"
download
color="accent"
icon="fas fa-file-pdf"
label="PDF"
direction="up"
dense
size="md"
class="hover-lift"
/>
padding="sm"
>
<a
:href="
tools.getURLByHostAndFilePath(
myrec.pdf_online,
myrec.data_online ? new Date(myrec.data_online).getTime() : undefined
)
"
download
>
<q-fab-action
icon="download"
color="positive"
label="Scarica PDF"
size="md"
class="hover-lift"
/>
</a>
<a
:href="
tools.getURLByHostAndFilePath(
myrec.pdf_online,
myrec.data_online ? new Date(myrec.data_online).getTime() : undefined
)
"
target="_blank"
>
<q-fab-action
icon="fas fa-file-pdf"
label="Leggi PDF"
color="primary"
size="md"
class="hover-lift"
/>
</a>
</q-fab>
<q-fab
v-if="!tools.isUtente() && dettagli"
color="primary"
icon="fas fa-caret-down"
label="Menu"
direction="up"
outlined
flat
dense
>

View File

@@ -62,26 +62,39 @@
>
aggiornato al ({{ tools.getstrDate(myrec.data_online_stampa) }})
</div>
<div
v-if="!tools.isUtente() && dettagli"
class="text-caption text-h7 text-grey q-pb-xs"
>
<q-icon name="fas fa-list" /> Lista generata il:
<span :class="`text-` + (tools.isDateValid(myrec.data_lista_generata) ? 'blue' : 'red')"
>{{ tools.getstrDate(myrec.data_lista_generata) || '(non ancora generata)' }} da
{{ myrec.username_lista_generata }}
</span>
</div>
</div>
<!--<div class="text-overline text-orange-9">{{collanestr}}</div>-->
</q-card-section>
<q-card-actions
v-if="!tools.isUtente() && dettagli"
align="center"
class="q-mt-auto q-mx-auto q-mb-sm"
>
<q-btn
v-if="myrec.pdf_online"
unelevated
rounded
color="primary"
icon="fas fa-file-pdf"
:label="`Apri PDF`"
:href="tools.getURLByHostAndFilePath(myrec.pdf_online, myrec.data_online ? (new Date(myrec.data_online)).getTime() : undefined)"
size="md"
class="hover-lift"
/>
<q-btn
v-if="myrec.pdf_online"
unelevated
rounded
color="primary"
icon="download"
:label="`Scarica PDF`"
:href="tools.getURLByHostAndFilePath(myrec.pdf_online, myrec.data_online ? (new Date(myrec.data_online)).getTime() : undefined)"
download
size="md"
class="hover-lift"
/>
<q-fab
v-if="!tools.isUtente() && dettagli"
color="primary"
icon="fas fa-caret-down"
label="Menu"

View File

@@ -151,9 +151,12 @@ export default defineComponent({
),
{ deep: true };
watch(() => searchText.value, () => {
searchProducts();
});
watch(
() => searchText.value,
() => {
searchProducts();
}
);
const allColumns = ref([]);
@@ -178,6 +181,7 @@ export default defineComponent({
edit: true,
noexp: true,
notsortable: true,
visu: costanti.VISUCAMPI.PER_EDITORE,
},
{
name: 'drag',
@@ -188,6 +192,7 @@ export default defineComponent({
edit: true,
noexp: true,
notsortable: true,
visu: costanti.VISUCAMPI.PER_LOGGATI,
},
{
name: 'image',
@@ -296,6 +301,7 @@ export default defineComponent({
edit: true,
noexp: true,
notsortable: true,
visu: costanti.VISUCAMPI.PER_EDITORE,
},
{
name: 'drag',
@@ -306,6 +312,7 @@ export default defineComponent({
edit: true,
noexp: true,
notsortable: true,
visu: costanti.VISUCAMPI.PER_LOGGATI,
},
{
name: 'validato',
@@ -346,6 +353,7 @@ export default defineComponent({
align: 'center',
noexp: true,
notsortable: true,
visu: costanti.VISUCAMPI.PER_LOGGATI,
},
{ name: 'name', label: 'Titolo', field: 'name', align: 'left' },
{
@@ -396,13 +404,13 @@ export default defineComponent({
align: 'left',
},
{ name: 'pagine', label: 'Pag.', field: 'pagine', align: 'right' },
{ name: 'prezzo', label: '', field: 'prezzo', align: 'right' },
{
{ name: 'prezzo', label: 'Prezzo Intero', field: 'prezzo', align: 'right' },
/*{
name: 'prezzo_sconto',
label: '€ (sconto)',
field: 'prezzo_sconto',
align: 'right',
},
},*/
{
name: 'date_pub',
label: 'Pubblicato',
@@ -464,7 +472,7 @@ export default defineComponent({
},
{
name: 'quantity',
label: 'Magazz.',
label: 'Disponib.',
field: 'quantity',
align: 'right',
},
@@ -484,7 +492,8 @@ export default defineComponent({
(col) =>
!col.visu ||
col.visu === costanti.VISUCAMPI.PER_TUTTI ||
(col.visu === costanti.VISUCAMPI.PER_EDITORE && tools.isCollaboratore())
(col.visu === costanti.VISUCAMPI.PER_EDITORE && tools.isCollaboratore()) ||
(col.visu === costanti.VISUCAMPI.PER_LOGGATI && tools.isLogged())
);
});
@@ -542,7 +551,7 @@ export default defineComponent({
loading.value = false;
}
function getFieldValue(element: any, field: any): any {
function getFieldValue(element: any, field: any, colexport: boolean = false): any {
if (!element) return '';
try {
@@ -664,11 +673,13 @@ export default defineComponent({
case 'prezzo':
// return element.price ? '€ ' + element.price.toFixed(2) : '';
return '€ ' + element.arrvariazioni?.[0]?.price?.toFixed(2);
const add = colexport ? '' : '&nbsp;'
return '€' + add + element.arrvariazioni?.[0]?.price?.toFixed(2);
case 'prezzo_sconto':
const add2 = colexport ? '' : '&nbsp;'
// return element.sale_price ? '€ ' + element.sale_price.toFixed(2) : '';
return '€ ' + element.arrvariazioni?.[0]?.sale_price?.toFixed(2);
return '€' + add2 + element.arrvariazioni?.[0]?.sale_price?.toFixed(2);
case 'rank3M':
return element.productInfo?.rank3M;
@@ -884,10 +895,9 @@ export default defineComponent({
const faiConfronto = () => {
return (
Array.isArray(props.lista_prod_confronto) &&
props.lista_prod_confronto.length > 0
Array.isArray(props.lista_prod_confronto) && props.lista_prod_confronto.length > 0
);
}
};
// 3. Funzione per verificare se una colonna è visibile (isColumnVisible)
const isColumnVisible = (column: string, real?: boolean, element?: any) => {
@@ -915,7 +925,7 @@ export default defineComponent({
if (column === 'addtolist') {
if (!faiConfronto()) {
ok = false
ok = false;
}
}
@@ -923,7 +933,7 @@ export default defineComponent({
};
function isElementVisible(col: string, element: any) {
let ok = true
let ok = true;
if (col === 'addtolist') {
if (
@@ -935,7 +945,7 @@ export default defineComponent({
}
}
return ok
return ok;
}
const getColumnLabelByName = (name: string): string => {
@@ -1193,7 +1203,7 @@ export default defineComponent({
const field = { field: col };
return field.field === 'pos'
? internalProducts.value.indexOf(product) + 1
: getFieldValue(product, field);
: getFieldValue(product, field, true);
})
.join('|');
}),

View File

@@ -19,7 +19,10 @@
:key="index"
>
<CMySelect
v-if="item.type === costanti.FieldType.select || item.type === costanti.FieldType.select_by_server"
v-if="
item.type === costanti.FieldType.select ||
item.type === costanti.FieldType.select_by_server
"
:col="fieldsTable.getColByColumns(mycolumns, item.key)"
:label="item.value && item.value._id > 0 ? undefined : labelcombo(item)"
v-model:value="item.value"
@@ -29,7 +32,9 @@
:addnone="item.addnone"
:focus="focus"
:addlast="true"
:tablesel="item.type === costanti.FieldType.select_by_server ? item.tablesel : ''"
:tablesel="
item.type === costanti.FieldType.select_by_server ? item.tablesel : ''
"
:pickup="item.type === costanti.FieldType.select_by_server"
color="primary"
myclass=""
@@ -69,6 +74,27 @@
dense
/>
</div>
<div class="row justify-center q-ma-md">
<div v-if="visu === shared_consts.VISU_SEARCHPROD_MODE.INSERT">
<q-btn
rounded
class="q-ma-sm"
color="secondary"
icon="fas fa-plus"
label="Inserisci"
@click="insertProd"
></q-btn>
<!-- Button Close window -->
<q-btn
rounded
class="q-ma-sm"
color="primary"
icon="fas fa-times-circle"
label="Chiudi"
@click="clickClose"
></q-btn>
</div>
</div>
<div
v-if="myproduct?._id && optcatalogo.arrSchede?.length > 0"
@@ -91,29 +117,6 @@
/>
</div>
</div>
<div class="column text-center">
<div class="row justify-center q-ma-md">
<div v-if="visu === shared_consts.VISU_SEARCHPROD_MODE.INSERT">
<q-btn
rounded
class="q-ma-sm"
color="secondary"
icon="fas fa-plus"
label="Inserisci"
@click="insertProd"
></q-btn>
<!-- Button Close window -->
<q-btn
rounded
class="q-ma-sm"
color="primary"
icon="fas fa-times-circle"
label="Chiudi"
@click="clickClose"
></q-btn>
</div>
</div>
</div>
</div>
</template>

View File

@@ -553,6 +553,7 @@ export const costanti = {
PER_TUTTI: 0,
PER_EDITORE: 1,
PER_ADMIN: 16,
PER_LOGGATI: 32,
},
OP_ANDOR: {

View File

@@ -8271,7 +8271,7 @@ export const tools = {
},
getFullFileName(
arrimage: IImgGallery[],
arrimage: IImgGallery[] | IImg[],
table: string,
username: string,
groupname: string
@@ -8942,7 +8942,7 @@ export const tools = {
} else if (table === 'catalogs') {
ris = 'catalogs/' + id;
} else if (table === 'raccoltacataloghis') {
ris = 'raccoltacatalogs/' + id;
ris = 'raccoltacataloghis/' + id;
} else if (!!myrow && !!myrow.directory) {
ris = myrow.directory;
} else if (table === 'myelems') {
@@ -11099,7 +11099,7 @@ export const tools = {
return 0;
}
},
getURLByHostAndFilePath(filepath: string, timestamp: string = '') {
getURLByHostAndFilePath(filepath: string, timestamp: number = 0) {
try {
let myurl = filepath.startsWith('/')
? tools.getHost() + filepath

View File

@@ -96,7 +96,8 @@ body {
text-align: justify;
word-wrap: break-word;
hyphens: auto; /* Sillabazione automatica */
hyphens: auto;
/* Sillabazione automatica */
}
@@ -124,7 +125,8 @@ body {
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
text-shadow: 1px 1px 2px black;
overflow: hidden; /* Nasconde il testo che esce dalla height fissa */
overflow: hidden;
/* Nasconde il testo che esce dalla height fissa */
}
@@ -240,7 +242,7 @@ body {
transform: translateY(-2px);
}
.text-link{
.text-link {
font-family: 'Arial', sans-serif;
font-size: 1.1rem;
color: #1a3f8a;
@@ -252,8 +254,13 @@ body {
color: #5c8ef4;
}
}
.clCondiz {
margin-bottom: 2px;
margin-left: 2px;
margin-right: 2px;
}
.title_Catalogo {
text-shadow: 1px 1px 2px black;
}

View File

@@ -213,7 +213,11 @@ export default defineComponent({
});
const onlyCatalogoPDF = computed(() => {
return optcatalogo.value.showOnlyCatalogoPDF;
return optcatalogo.value.showOnlyCatalogoPDF || $route.query?.hideHeader;
});
const mostraTuttiITab = computed(() => {
return !onlyCatalogoPDF.value;
});
const showListaFiltrata = computed(() => {
@@ -577,6 +581,15 @@ export default defineComponent({
}
}
function esistePagIntroduttiva(): boolean {
for (const recscheda of optcatalogo.value.arrSchede!) {
if (recscheda.scheda?.isPagIntro) {
return true;
}
}
return false;
}
const getImgIntroCatalogo = (scheda: IMyScheda): IImg => {
const trovatocatalogo = myCatalog.value;
@@ -1003,7 +1016,7 @@ export default defineComponent({
return arrris;
}
async function calcArrProducts(generalista?: boolean, salva_listatemp: boolean) {
async function calcArrProducts(generalista?: boolean, salva_listatemp?: boolean) {
// console.log('calcArrProducts (generalista=' + generalista + ')');
if (generalista) {
@@ -1139,7 +1152,7 @@ export default defineComponent({
await globalStore.saveTable(mydata);
}
function generaListaLibri() {
async function generaListaLibri() {
// chiedi prima "Sei sicuro di rigenerare il catalogo?"
let risposta_si = false;
@@ -1154,16 +1167,27 @@ export default defineComponent({
message: msg,
cancel: true,
persistent: false,
}).onOk(() => {
calcArrProducts(true);
}).onOk(async () => {
$q.loading.show({
message: `Rigenera lista in corso, attendere ...`,
});
await calcArrProducts(true);
$q.loading.hide();
});
}
function generaListaTempLibri() {
async function generaListaTempLibri() {
// chiedi prima "Sei sicuro di rigenerare il catalogo?"
let risposta_si = false;
calcArrProducts(true, true);
$q.loading.show({
message: `Mostra lista, attendere ...`,
});
await calcArrProducts(true, true);
$q.loading.hide();
}
function reSortList() {
@@ -1586,9 +1610,13 @@ export default defineComponent({
// controlla se è stato passato l'id dalla pagina:
let idcatsel = '';
if ($route.query.id) idcatsel = $route.query.id as string;
if ($route.query.stampa) instampa = $route.query.stampa === '1';
else idcatsel = optcatalogo.value.idCatalogSel;
if ($route.query.id) {
idcatsel = $route.query.id as string;
} else {
idcatsel = optcatalogo.value.idCatalogSel;
}
instampa = $route.query?.stampa === '1';
mycat = catalogStore.getCatalogById(idcatsel);
} else {
@@ -2399,7 +2427,7 @@ export default defineComponent({
generaPdfCatalogo(true);
};
const preparePDF = (instampa: boolean, senzachiedere: boolean) => {
async function preparePDF(instampa: boolean, senzachiedere = false) {
let str = '';
if (instampa) {
str = 'per la stampa';
@@ -2416,7 +2444,7 @@ export default defineComponent({
label: t('dialog.cancel'),
},
title: 'Generazione PDF',
}).onOk(async () => {
}).onOk(() => {
parti = true;
});
}
@@ -2427,8 +2455,8 @@ export default defineComponent({
: shared_consts.PREPARA_PDF.WEB;
arrProducts.value = [];
console.log('aggiorna... ');
calcArrProducts(false);
console.log('aggiorna... ', optcatalogo.value.selectedVersionStampabile);
await calcArrProducts(false);
updateCatalogoPadre();
optcatalogo.value.generazionePDFInCorso = true;
@@ -2444,10 +2472,15 @@ export default defineComponent({
optcatalogo.value.selectedVersionStampabile = instampa
? shared_consts.PREPARA_PDF.STAMPA
: shared_consts.PREPARA_PDF.WEB;
console.log(
'selectedVersionStampabile',
optcatalogo.value.selectedVersionStampabile
);
}, 500);
}, 200);
}
};
}
const terminaPDF = () => {
optcatalogo.value.generazionePDFInCorso = false;
@@ -2806,6 +2839,8 @@ export default defineComponent({
generaListaTempLibri,
globalStore,
showColorPicker,
mostraTuttiITab,
esistePagIntroduttiva,
};
},
});

View File

@@ -2,7 +2,7 @@
<q-page>
<div>
<div
v-if="ispageCatalogata && !optcatalogo.showOnlyCatalogoPDF"
v-if="ispageCatalogata && mostraTuttiITab"
class="text-bold text-h6 text-center text-blue"
>
{{ getTitoloCatalogo() }}
@@ -10,8 +10,8 @@
<div
v-if="
ispageCatalogata &&
!optcatalogo.showOnlyCatalogoPDF &&
(tools.isCollaboratore()) &&
mostraTuttiITab &&
tools.isCollaboratore() &&
myCatalog?.referenti?.length > 0
"
class="text-h7 text-center text-red q-ma-sm"
@@ -20,7 +20,7 @@
<span class="text-bold">{{ getReferentiCatalogo() }}</span>
</div>
<q-tabs
v-if="!optcatalogo.showOnlyCatalogoPDF"
v-if="mostraTuttiITab"
v-model="tabcatalogo"
dense
class="bg-green text-white"
@@ -142,7 +142,7 @@
</div>
<div
v-if="!generatinglist && !optcatalogo.showOnlyCatalogoPDF"
v-if="!generatinglist && mostraTuttiITab"
class="text-center q-py-sm prod_trov"
>
<div
@@ -183,7 +183,7 @@
</q-inner-loading>
<q-btn
v-if="!showListaFiltrata && (tools.isCollaboratore())"
v-if="!showListaFiltrata && tools.isCollaboratore()"
rounded
icon="fas fa-redo"
label="Rigenera Lista"
@@ -827,7 +827,7 @@
<q-tab-panel
name="visu"
v-if="optcatalogo"
:style="{ padding: optcatalogo.showOnlyCatalogoPDF ? '0px !important' : '' }"
:style="{ padding: !mostraTuttiITab ? '0px !important' : '' }"
>
<q-inner-loading
id="spinner"
@@ -847,7 +847,7 @@
v-if="!ismounting"
class="panel"
>
<div :class="{ container: !optcatalogo.showOnlyCatalogoPDF }">
<div :class="{ container: mostraTuttiITab }">
<q-tabs
v-model="tabvisu"
dense
@@ -1065,14 +1065,14 @@
<div
class="text-center q-py-sm prod_trov"
v-if="!optcatalogo.showOnlyCatalogoPDF"
v-if="mostraTuttiITab"
>
<div
v-if="
cat === '' &&
arrProducts.length === 0 &&
showListaFiltrata &&
!optcatalogo.showOnlyCatalogoPDF
mostraTuttiITab
"
class="row justify-center text-h6"
>
@@ -1148,6 +1148,19 @@
v-for="(product, index) in arrLoaded"
:key="index"
>
<div
v-if="!esistePagIntroduttiva() && index === 0"
class="title_Catalogo text-bold text-h6 text-center text-blue"
style="
position: absolute;
top: 30;
left: 50%;
transform: translateX(-50%);
"
>
<div>{{ getTitoloCatalogo() }}</div>
</div>
<CContainerCatalogoCard
v-if="
product.active ||
@@ -1198,6 +1211,20 @@
v-for="(recscheda, schedaIndex) in optcatalogo.arrSchede"
:key="schedaIndex"
>
<div
v-if="!esistePagIntroduttiva() && schedaIndex === 0"
class="title_Catalogo text-bold text-h6 text-center text-blue"
style="
position: absolute;
top: 30;
left: 50%;
transform: translateX(-50%);
z-Index: 1000;
"
>
<div>{{ getTitoloCatalogo() }}</div>
</div>
<div v-if="recscheda && recscheda.scheda">
<!-- Itera sulle pagine -->
<div
@@ -1255,10 +1282,7 @@
icon="fas fa-pencil-alt"
@click="showColorPicker = !showColorPicker"
color="primary"
style="
position: absolute;
z-index: 1000;
"
style="position: absolute; z-index: 1000"
></q-btn>
<q-dialog

View File

@@ -387,7 +387,7 @@ export default defineComponent({
id_raccolta: getRaccoltaCataloghiByMyPage.value._id,
stampa,
metti_online: false,
dir_out: '/upload/raccolte/',
dir_out: '/upload/raccoltacataloghis/' + getRaccoltaCataloghiByMyPage.value._id + '/',
};
const ris = await globalStore.execJoinPDF({ options });

View File

@@ -19,10 +19,9 @@
>
</q-tab>
<q-tab
v-if="!tools.isUtente()"
name="genera"
icon="fas fa-book"
label="Genera"
label="PDF Completo"
>
</q-tab>
</q-tabs>
@@ -34,6 +33,7 @@
>
<q-tab-panel name="lista">
<q-btn
v-if="!tools.isUtente()"
rounded
label="Aggiungi"
icon="fas fa-plus"
@@ -52,204 +52,363 @@
</q-tab-panel>
<q-tab-panel name="genera">
<div
v-if="!tools.isUtente()"
class="column justify-center"
>
<div>
<div class="row justify-center">
<q-btn
rounded
label="Rigenera TUTTI i Cataloghi"
icon="fas fa-redo"
color="primary"
@click="rigeneraTUTTI()"
></q-btn>
<q-btn
rounded
label="Online TUTTI i Cataloghi"
icon="fas fa-redo"
color="positive"
@click="onlineTUTTI()"
></q-btn>
</div>
<br />
<div class="row justify-center">
<q-btn
rounded
label="Rigenera TUTTI per STAMPA"
icon="fas fa-print"
color="primary"
@click="rigeneraTUTTI(true)"
></q-btn>
<q-btn
rounded
label="Online TUTTI per STAMPA"
icon="fas fa-redo"
color="positive"
@click="onlineTUTTI(true)"
></q-btn>
</div>
<div
v-if="getRaccoltaCataloghiByMyPage.pdf_online"
class="catalog-download-section"
>
<q-card class="catalog-card shadow-8">
<q-card-section class="text-center">
<q-img
:src="
tools.getFullFileName(
[getRaccoltaCataloghiByMyPage.foto_raccolta],
'raccoltacataloghis',
'',
getRaccoltaCataloghiByMyPage._id
)
"
class="catalog-image"
height="128px"
fit="contain"
style="max-width: 100%"
/>
<div class="text-h5 q-mt-sm q-mb-xs">
{{ `${getRaccoltaCataloghiByMyPage.title}` }}
</div>
<div class="text-caption text-grey-8 text-center q-mt-sm">
<div class="row items-center justify-center">
<q-icon
name="fas fa-file-pdf"
size="sm"
/>
<span class="q-ml-xs">
{{
getRaccoltaCataloghiByMyPage.pdf_online
? `${getRaccoltaCataloghiByMyPage.pdf_online_size} MB`
: ''
}}
</span>
<q-icon
name="fas fa-clock"
size="sm"
class="q-ml-sm"
/>
<span class="q-ml-xs"> Pubblicato il </span>
<br /><br />
<span class="q-ml-xs">
{{
getRaccoltaCataloghiByMyPage.pdf_online
? tools.getstrDate(getRaccoltaCataloghiByMyPage.data_online)
: ''
}}
</span>
</div>
</div>
</q-card-section>
<div class="row justify-center">
<q-btn
v-if="!optcatalogo.generazionePDFInCorso"
:label="`GENERA PDF ` + getTitoloRaccolta()"
color="red"
@click="preparePDF(false)"
rounded
></q-btn>
<q-btn
v-if="!optcatalogo.generazionePDFInCorso"
:label="`GENERA PDF ${getTitoloRaccolta()} per STAMPA`"
@click="preparePDF(true)"
color="orange"
rounded
></q-btn>
<q-btn
v-if="optcatalogo.generazionePDFInCorso"
:label="`Termina Generazione`"
@click="terminaPDF"
></q-btn>
<q-card-actions
align="center"
class="q-pb-md"
>
<q-btn
v-if="getRaccoltaCataloghiByMyPage.pdf_online"
unelevated
rounded
color="primary"
icon="fas fa-file-pdf"
:label="`Apri PDF`"
:href="
tools.getURLByHostAndFilePath(
getRaccoltaCataloghiByMyPage.pdf_online,
getRaccoltaCataloghiByMyPage.data_online
? new Date(getRaccoltaCataloghiByMyPage.data_online).getTime()
: undefined
)
"
size="md"
class="hover-lift"
/>
<q-btn
v-if="getRaccoltaCataloghiByMyPage.pdf_online"
unelevated
rounded
color="primary"
icon="download"
:label="`Scarica PDF`"
:href="
tools.getURLByHostAndFilePath(
getRaccoltaCataloghiByMyPage.pdf_online,
getRaccoltaCataloghiByMyPage.data_online
? new Date(getRaccoltaCataloghiByMyPage.data_online).getTime()
: undefined
)
"
download
size="md"
class="hover-lift"
/>
</q-card-actions>
</q-card>
</div>
<div
v-if="
tools.isCollStampa() && getRaccoltaCataloghiByMyPage.pdf_online_stampa
"
class="catalog-download-section"
>
<q-card class="catalog-card shadow-8">
<q-card-section class="text-center">
<q-img
:src="
tools.getFullFileName(
[getRaccoltaCataloghiByMyPage.foto_raccolta],
'raccoltacataloghis',
'',
getRaccoltaCataloghiByMyPage._id
)
"
class="catalog-image"
height="128px"
fit="contain"
style="max-width: 100%"
/>
<div class="text-h5 q-mt-sm q-mb-xs">Versione per STAMPA</div>
<div class="text-caption text-grey-8 text-center q-mt-sm">
<div class="row items-center justify-center">
<q-icon
name="fas fa-print"
size="sm"
/>
<span class="q-ml-xs">
{{
getRaccoltaCataloghiByMyPage.pdf_online
? `${getRaccoltaCataloghiByMyPage.pdf_online_stampa_size} MB`
: ''
}}
</span>
<q-icon
name="fas fa-clock"
size="sm"
class="q-ml-sm"
/>
<span class="q-ml-xs"> Pubblicato il </span>
<span class="q-ml-xs">
{{
getRaccoltaCataloghiByMyPage.pdf_online_stampa
? tools.getstrDate(
getRaccoltaCataloghiByMyPage.data_online_stampa
)
: ''
}}
</span>
</div>
</div>
</q-card-section>
<q-card-actions
align="center"
class="q-pb-md"
>
<q-btn
v-if="getRaccoltaCataloghiByMyPage.pdf_online_stampa"
unelevated
rounded
color="primary"
icon="fas fa-file-pdf"
:label="`Apri PDF`"
:href="
tools.getURLByHostAndFilePath(
getRaccoltaCataloghiByMyPage.pdf_online_stampa,
getRaccoltaCataloghiByMyPage.data_online_stampa
? new Date(
getRaccoltaCataloghiByMyPage.data_online_stampa
).getTime()
: undefined
)
"
size="md"
class="hover-lift"
/>
<q-btn
v-if="getRaccoltaCataloghiByMyPage.pdf_online_stampa"
unelevated
rounded
color="primary"
icon="download"
:label="`Scarica PDF`"
:href="
tools.getURLByHostAndFilePath(
getRaccoltaCataloghiByMyPage.pdf_online_stampa,
getRaccoltaCataloghiByMyPage.data_online_stampa
? new Date(
getRaccoltaCataloghiByMyPage.data_online_stampa
).getTime()
: undefined
)
"
download
size="md"
class="hover-lift"
/>
</q-card-actions>
</q-card>
</div>
</div>
</div>
<div
v-if="getRaccoltaCataloghiByMyPage?.pdf_generato"
class="bg-green-1 q-ma-sm q-pa-sm"
>
<div class="bg-blue-1 text-red text-bold text-h6 q-ma-sm q-pa-sm">
<strong>PDF generati Temporanei</strong>
<div v-if="!tools.isUtente()">
<div
v-if="!tools.isUtente()"
class="column justify-center"
>
<div class="row justify-center">
<q-btn
rounded
label="Rigenera TUTTI i Cataloghi"
icon="fas fa-redo"
color="primary"
@click="rigeneraTUTTI()"
></q-btn>
<q-btn
rounded
label="Online TUTTI i Cataloghi"
icon="fas fa-redo"
color="positive"
@click="onlineTUTTI()"
></q-btn>
</div>
<br />
<div class="row justify-center">
<q-btn
rounded
label="Rigenera TUTTI per STAMPA"
icon="fas fa-print"
color="primary"
@click="rigeneraTUTTI(true)"
></q-btn>
<q-btn
rounded
label="Online TUTTI per STAMPA"
icon="fas fa-redo"
color="positive"
@click="onlineTUTTI(true)"
></q-btn>
</div>
<br /><br />
</div>
<div>
<div class="row justify-center">
<q-btn
v-if="!optcatalogo.generazionePDFInCorso"
:label="`GENERA PDF ` + getTitoloRaccolta()"
color="red"
@click="preparePDF(false)"
rounded
></q-btn>
<q-btn
v-if="!optcatalogo.generazionePDFInCorso"
:label="`GENERA PDF ${getTitoloRaccolta()} per STAMPA`"
@click="preparePDF(true)"
color="orange"
rounded
></q-btn>
<q-btn
v-if="optcatalogo.generazionePDFInCorso"
:label="`Termina Generazione`"
@click="terminaPDF"
></q-btn>
</div>
</div>
<div
v-if="
getRaccoltaCataloghiByMyPage?.data_generato !==
getRaccoltaCataloghiByMyPage?.data_online
"
v-if="getRaccoltaCataloghiByMyPage?.pdf_generato"
class="bg-green-1 q-ma-sm q-pa-sm"
>
PDF Generato:
<a
:href="
tools.getURLByHostAndFilePath(
getRaccoltaCataloghiByMyPage?.pdf_generato
)
"
target="_blank"
v-if="getRaccoltaCataloghiByMyPage?.pdf_generato"
class="text-bold"
>
{{
tools.getURLByHostAndFilePath(
getRaccoltaCataloghiByMyPage?.pdf_generato
)
}}
</a>
<span v-else>-</span>
<br />(del
{{ tools.getstrDateTime(getRaccoltaCataloghiByMyPage?.data_generato) }})
<br />
<q-btn
<div class="bg-blue-1 text-red text-bold text-h6 q-ma-sm q-pa-sm">
<strong>PDF generati Temporanei</strong>
</div>
<div
v-if="
getRaccoltaCataloghiByMyPage?.data_generato !==
getRaccoltaCataloghiByMyPage?.data_online
"
rounded
label="Pubblica PDF OnLine"
color="positive"
@click="pubblicaPDF()"
></q-btn>
</div>
<br />
<div
v-if="
getRaccoltaCataloghiByMyPage?.data_generato_stampa !==
getRaccoltaCataloghiByMyPage?.data_online_stampa
"
>
PDF Generato Stampa:
<a
:href="
tools.getURLByHostAndFilePath(
getRaccoltaCataloghiByMyPage?.pdf_generato_stampa
)
"
target="_blank"
v-if="getRaccoltaCataloghiByMyPage?.pdf_generato_stampa"
class="text-bold"
>
{{
tools.getURLByHostAndFilePath(
getRaccoltaCataloghiByMyPage?.pdf_generato_stampa
)
}}
</a>
<span v-else>-</span>
<br />(del
{{
tools.getstrDateTime(getRaccoltaCataloghiByMyPage?.data_generato_stampa)
}})
PDF Generato:
<a
:href="
tools.getURLByHostAndFilePath(
getRaccoltaCataloghiByMyPage?.pdf_generato
)
"
target="_blank"
v-if="getRaccoltaCataloghiByMyPage?.pdf_generato"
class="text-bold"
>
{{
tools.getURLByHostAndFilePath(
getRaccoltaCataloghiByMyPage?.pdf_generato
)
}}
</a>
<span v-else>-</span>
<br />(del
{{ tools.getstrDateTime(getRaccoltaCataloghiByMyPage?.data_generato) }})
<br />
<q-btn
v-if="
getRaccoltaCataloghiByMyPage?.data_generato !==
getRaccoltaCataloghiByMyPage?.data_online
"
rounded
label="Pubblica PDF OnLine"
color="positive"
@click="pubblicaPDF()"
></q-btn>
</div>
<br />
<q-btn
<div
v-if="
getRaccoltaCataloghiByMyPage?.data_generato_stampa !==
getRaccoltaCataloghiByMyPage?.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 v-if="getRaccoltaCataloghiByMyPage?.data_online">
PDF OnLine:
>
PDF Generato Stampa:
<a
:href="
tools.getURLByHostAndFilePath(
getRaccoltaCataloghiByMyPage?.pdf_online
getRaccoltaCataloghiByMyPage?.pdf_generato_stampa
)
"
target="_blank"
v-if="getRaccoltaCataloghiByMyPage?.pdf_online"
v-if="getRaccoltaCataloghiByMyPage?.pdf_generato_stampa"
class="text-bold"
>
{{
tools.getURLByHostAndFilePath(
getRaccoltaCataloghiByMyPage?.pdf_online
)
}}
</a>
<span v-else>-</span>
<br />(del
{{ tools.getstrDateTime(getRaccoltaCataloghiByMyPage?.data_online) }})
</div>
<br />
<div v-if="getRaccoltaCataloghiByMyPage?.data_online_stampa">
> PDF OnLine Stampa:
<a
:href="
tools.getURLByHostAndFilePath(
getRaccoltaCataloghiByMyPage?.pdf_online_stampa
)
"
target="_blank"
class="text-bold"
v-if="getRaccoltaCataloghiByMyPage?.pdf_online_stampa"
>
{{
tools.getURLByHostAndFilePath(
getRaccoltaCataloghiByMyPage?.pdf_online_stampa
getRaccoltaCataloghiByMyPage?.pdf_generato_stampa
)
}}
</a>
<span v-else>-</span>
<br />(del
{{
tools.getstrDateTime(getRaccoltaCataloghiByMyPage?.data_online_stampa)
tools.getstrDateTime(
getRaccoltaCataloghiByMyPage?.data_generato_stampa
)
}})
<br />
<q-btn
v-if="
getRaccoltaCataloghiByMyPage?.data_generato_stampa !==
getRaccoltaCataloghiByMyPage?.data_online_stampa
"
rounded
label="Pubblica PDF Stampa"
color="positive"
@click="pubblicaPDFStampa()"
></q-btn>
</div>
</div>
</div>