- Sistemato link pdf che ogni volta che si aggiorna prendeva il PDF dalla cache...

- Raccolta Cataloghi, procedura che li AUTO genera in automatico.
This commit is contained in:
Surya Paolo
2025-06-13 17:45:57 +02:00
parent 286cc4e3a7
commit f146b36173
24 changed files with 353 additions and 188 deletions

4
.env
View File

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

View File

@@ -10,7 +10,7 @@
<meta name="description" content="<%= productDescription %>"> <meta name="description" content="<%= productDescription %>">
<meta name="format-detection" content="telephone=no"> <meta name="format-detection" content="telephone=no">
<meta name="msapplication-tap-highlight" content="no"> <meta name="msapplication-tap-highlight" content="no">
<meta name="version" content="1.2.54"> <meta name="version" content="1.2.56">
<meta name="viewport" <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<% } %>"> 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", "name": "gruppomacro",
"version": "1.2.54", "version": "1.2.56",
"description": "Gruppo Macro", "description": "Gruppo Macro",
"productName": "Gruppo Macro", "productName": "Gruppo Macro",
"author": "Surya", "author": "Surya",
@@ -9,20 +9,20 @@
"license": "MIT", "license": "MIT",
"type": "module", "type": "module",
"scripts": { "scripts": {
"dev": "PORT=8089 APP_VERSION='1.2.54' quasar dev", "dev": "PORT=8089 APP_VERSION='1.2.56' quasar dev",
"dev_noCheck": "SKIP_TSC=true quasar dev", "dev_noCheck": "SKIP_TSC=true quasar dev",
"build": "quasar build", "build": "quasar build",
"buildpwa": "NODE_ENV=production APP_VERSION='1.2.54' quasar build -m pwa", "buildpwa": "NODE_ENV=production APP_VERSION='1.2.56' quasar build -m pwa",
"buildpwatest": "NODE_ENV=production APP_VERSION='1.2.54' quasar build -m pwa", "buildpwatest": "NODE_ENV=production APP_VERSION='1.2.56' quasar build -m pwa",
"type-check": "vue-tsc --noEmit", "type-check": "vue-tsc --noEmit",
"type-check:watch": "vue-tsc --noEmit --watch", "type-check:watch": "vue-tsc --noEmit --watch",
"buildspa": "APP_VERSION='1.2.54' quasar build -m spa", "buildspa": "APP_VERSION='1.2.56' quasar build -m spa",
"lint": "eslint -c ./eslint.config.js \"./src*/**/*.{ts,js,cjs,mjs,vue}\"", "lint": "eslint -c ./eslint.config.js \"./src*/**/*.{ts,js,cjs,mjs,vue}\"",
"lintfile": "eslint --ext .js,.ts,.vue --ignore-path .gitignore ./ > file.out.txt", "lintfile": "eslint --ext .js,.ts,.vue --ignore-path .gitignore ./ > file.out.txt",
"lintfileNoJS": "eslint --ext .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", "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.54' quasar dev -m pwa", "pwa": "NODE_ENV=development PORT=8099 APP_VERSION='1.2.56' quasar dev -m pwa",
"spa": "NODE_ENV=development PORT=8089 APP_VERSION='1.2.54' quasar dev", "spa": "NODE_ENV=development PORT=8089 APP_VERSION='1.2.56' quasar dev",
"debug": "quasar dev --mode debug", "debug": "quasar dev --mode debug",
"test": "echo \"No test specified\" && exit 0", "test": "echo \"No test specified\" && exit 0",
"generate-sw": "workbox generateSW workbox-config.js", "generate-sw": "workbox generateSW workbox-config.js",

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,6 +1,6 @@
{ {
"name": "riso", "name": "riso",
"version": "1.2.54", "version": "1.2.56",
"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.", "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", "productName": "Riso",
"author": "Surya", "author": "Surya",
@@ -9,11 +9,11 @@
"license": "MIT", "license": "MIT",
"type": "module", "type": "module",
"scripts": { "scripts": {
"dev": "APP_VERSION='1.2.54' PORT=8084 quasar dev", "dev": "APP_VERSION='1.2.56' PORT=8084 quasar dev",
"dev_noCheck": "SKIP_TSC=true quasar dev", "dev_noCheck": "SKIP_TSC=true quasar dev",
"build": "quasar build", "build": "quasar build",
"buildpwa": "NODE_ENV=production APP_VERSION='1.2.54' quasar build -m pwa", "buildpwa": "NODE_ENV=production APP_VERSION='1.2.56' quasar build -m pwa",
"buildpwatest": "NODE_ENV=production APP_VERSION='1.2.54' quasar build -m pwa", "buildpwatest": "NODE_ENV=production APP_VERSION='1.2.56' quasar build -m pwa",
"type-check": "vue-tsc --noEmit", "type-check": "vue-tsc --noEmit",
"type-check:watch": "vue-tsc --noEmit --watch", "type-check:watch": "vue-tsc --noEmit --watch",
"buildspa": "quasar build -m spa", "buildspa": "quasar build -m spa",
@@ -21,8 +21,8 @@
"lintfile": "eslint --ext .js,.ts,.vue --ignore-path .gitignore ./ > file.out.txt", "lintfile": "eslint --ext .js,.ts,.vue --ignore-path .gitignore ./ > file.out.txt",
"lintfileNoJS": "eslint --ext .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", "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.54' quasar dev -m pwa", "pwa": "NODE_ENV=development PORT=8094 APP_VERSION='1.2.56' quasar dev -m pwa",
"spa": "NODE_ENV=development PORT=8084 APP_VERSION='1.2.54' quasar dev", "spa": "NODE_ENV=development PORT=8084 APP_VERSION='1.2.56' quasar dev",
"debug": "quasar dev --mode debug", "debug": "quasar dev --mode debug",
"test": "echo \"No test specified\" && exit 0", "test": "echo \"No test specified\" && exit 0",
"generate-sw": "workbox generateSW workbox-config.js", "generate-sw": "workbox generateSW workbox-config.js",

View File

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

View File

@@ -137,7 +137,7 @@
: undefined, : undefined,
display: 'block', display: 'block',
}" }"
@click.stop.prevent="naviga(`/product/` + myproduct._id)" @click.stop.prevent="tools.openUrl(myproduct.productInfo.link_macro)"
> >
</q-img> </q-img>
</a> </a>

View File

@@ -187,7 +187,7 @@ export default defineComponent({
function getPrompt() { function getPrompt() {
// Prompt: // Prompt:
let mydescr = 'Scrivimi la sinossi del libro che ti indicherò, che andrà in un catalogo libri, la lunghezza del testo finale dev\'essere compresa tra 760 e 780 caratteri, senza spiegazione, senza titolo iniziale, solo la sinossi. Togli eventuali riferimenti a chi ha fatto la prefazione. Rendilo un po\' accattivante, ma non troppo. \n\n'; let mydescr = 'Scrivimi la sinossi del libro che ti indicherò, che andrà in un catalogo libri, la lunghezza del testo finale dev\'essere compresa tra 760 e 780 caratteri, senza spiegazione, senza titolo iniziale, solo la sinossi. Togli eventuali riferimenti a chi ha fatto la prefazione. Rendilo un po\' accattivante, ma non troppo. Senza immagine. Non inserire nessun link o riferimenti esterni o citazioni esterne. L\'output è solo la sinossi, senza altre spiegazioni. \n\n';
return mydescr return mydescr
} }
@@ -199,7 +199,7 @@ export default defineComponent({
mydescr = getPrompt() mydescr = getPrompt()
mydescr += 'Titolo Libro: ' + data.titolo + '\n'; mydescr += 'Titolo Libro: ' + data.titolo + '\n';
mydescr += 'Autore Libro: ' + data.autore + '\n'; mydescr += 'Autore Libro: ' + (data?.autore.trim() ? data?.autore.trim() : products.getAutoriByArrayAuthors(myproduct?.value.productInfo?.authors)) + '\n';
mydescr += 'DESCRIZIONE LIBRO: \n'; mydescr += 'DESCRIZIONE LIBRO: \n';
mydescr += data.descrizione_lunga; mydescr += data.descrizione_lunga;
@@ -212,7 +212,7 @@ export default defineComponent({
mydescr = getPrompt() mydescr = getPrompt()
mydescr += 'Titolo Libro: ' + myproduct?.value.productInfo?.name + '\n'; mydescr += 'Titolo Libro: ' + myproduct?.value.productInfo?.name + '\n';
mydescr += 'Autore Libro: ' + products.getAutoriByArrayAuthors(myproduct?.productInfo?.authors) + '\n'; mydescr += 'Autore Libro: ' + products.getAutoriByArrayAuthors(myproduct?.value.productInfo?.authors) + '\n';
mydescr += 'DESCRIZIONE LIBRO: \n'; mydescr += 'DESCRIZIONE LIBRO: \n';
mydescr += myproduct?.value.productInfo?.descrizione_completa_macro; mydescr += myproduct?.value.productInfo?.descrizione_completa_macro;

View File

@@ -175,7 +175,7 @@
color="primary" color="primary"
icon="fas fa-file-pdf" icon="fas fa-file-pdf"
:label="`Apri PDF`" :label="`Apri PDF`"
:href="tools.getURLByHostAndFilePath(myrec.pdf_online)" :href="tools.getURLByHostAndFilePath(myrec.pdf_online, myrec.data_online ? (new Date(myrec.data_online)).getTime() : undefined)"
size="md" size="md"
class="hover-lift" class="hover-lift"
/> />
@@ -186,7 +186,7 @@
color="primary" color="primary"
icon="download" icon="download"
:label="`Scarica PDF`" :label="`Scarica PDF`"
:href="tools.getURLByHostAndFilePath(myrec.pdf_online)" :href="tools.getURLByHostAndFilePath(myrec.pdf_online, myrec.data_online ? (new Date(myrec.data_online)).getTime() : undefined)"
download download
size="md" size="md"
class="hover-lift" class="hover-lift"
@@ -207,13 +207,6 @@
:label="$t('reg.elimina')" :label="$t('reg.elimina')"
icon="fas fa-trash-alt" icon="fas fa-trash-alt"
/> />
<q-fab-action
v-if="tools.isAdmin()"
@click="cmdExt(costanti.CMD_CLONE, myrec._id, null)"
color="accent"
:label="$t('event.duplicate')"
icon="fas fa-copy"
/>
<q-fab-action <q-fab-action
v-if="tools.canModifyThisRec(myrec, table) || editOn" v-if="tools.canModifyThisRec(myrec, table) || editOn"
:disable="!pagina_collegata" :disable="!pagina_collegata"

View File

@@ -51,6 +51,11 @@ export default defineComponent({
type: Array, type: Array,
required: true, required: true,
}, },
lista_prod_confronto: {
type: Array,
required: false,
default: [],
},
table: { table: {
type: String, type: String,
required: true, required: true,
@@ -872,7 +877,7 @@ export default defineComponent({
}; };
// 3. Funzione per verificare se una colonna è visibile (isColumnVisible) // 3. Funzione per verificare se una colonna è visibile (isColumnVisible)
const isColumnVisible = (column: string, real?: boolean) => { const isColumnVisible = (column: string, real?: boolean, element?: any) => {
if (column === 'actions' && !real) { if (column === 'actions' && !real) {
return false; return false;
} }
@@ -886,12 +891,14 @@ export default defineComponent({
(!props.optcatalogo.showListaArgomenti || (!props.optcatalogo.showListaArgomenti ||
(props.optcatalogo.showListaArgomenti && !isEditColumn(column))); (props.optcatalogo.showListaArgomenti && !isEditColumn(column)));
if (props.options?.showbuttAdd && column === 'addtolist') { if (props.options?.showbuttAdd && column === 'addtolist'
&& (!element || !props.lista_prod_confronto.some((prod: any) => prod._id === element?._id))
) {
if (tools.isCollaboratore()) if (tools.isCollaboratore())
ok = true ok = true
} }
if (!props.options?.showbuttAdd && column === 'addtolist') { if (!props.options?.showbuttAdd && column === 'addtolist' && (element && props.lista_prod_confronto.some((prod: any) => prod._id === element?._id))) {
ok = false ok = false
} }

View File

@@ -160,7 +160,7 @@
> >
</q-btn> </q-btn>
</td> </td>
<td v-else-if="field.name === 'addtolist' && isColumnVisible('addtolist')"> <td v-else-if="field.name === 'addtolist' && isColumnVisible('addtolist', false, element)">
<q-btn <q-btn
icon="fas fa-plus" icon="fas fa-plus"
color="primary" color="primary"

View File

@@ -5,7 +5,7 @@ import { i18n } from 'src/boot/i18n' // Importa l'istanza di i18n configurata in
import { useUserStore } from '@store/UserStore' import { useUserStore } from '@store/UserStore'
import { useGlobalStore } from '@store/globalStore' import { useGlobalStore } from '@store/globalStore'
import { useQuasar } from 'quasar' import { useQuasar } from 'quasar'
import type { ICatalog, IDataPass, IProduct, IProductInfo, ISpecialField, IVariazione } from '@model'; import type { ICatalog, IDataPass, IProduct, IProductInfo, IRaccoltaCatalogo, ISpecialField, IVariazione } from '@model';
import { tools } from '../store/Modules/tools' import { tools } from '../store/Modules/tools'
import { costanti } from '@costanti' import { costanti } from '@costanti'
import { fieldsTable } from '@store/Modules/fieldsTable' import { fieldsTable } from '@store/Modules/fieldsTable'

View File

@@ -799,8 +799,6 @@ export interface IAreaDiStampa {
export interface IElementiPagina { export interface IElementiPagina {
isTemplate?: boolean, isTemplate?: boolean,
linkIdTemplate?: string, linkIdTemplate?: string,
scalexscheda?: number
scaleyscheda?: number
name?: string, name?: string,
pagina: IDimensioni pagina: IDimensioni
} }
@@ -828,6 +826,8 @@ export interface IMyScheda {
name?: string, name?: string,
numschede_perRiga?: number numschede_perRiga?: number
numschede_perCol?: number numschede_perCol?: number
scalexscheda?: number
scaleyscheda?: number
show_separatore: boolean show_separatore: boolean
testo_right_attaccato?: IText testo_right_attaccato?: IText
testo_right?: IText testo_right?: IText

View File

@@ -129,7 +129,7 @@ export const useCatalogStore = defineStore('CatalogStore', {
if (catalog) { if (catalog) {
// Update catalog from server // Update catalog from server
const indelem = this.catalogs.findIndex( const indelem = this.catalogs.findIndex(
(reccatalog: ICatalogCompleto) => reccatalog._id === catalog._id (reccatalog: ICatalog) => reccatalog._id === catalog._id
); );
if (indelem >= 0) { if (indelem >= 0) {
this.catalogs[indelem] = { ...catalog }; this.catalogs[indelem] = { ...catalog };
@@ -137,5 +137,21 @@ export const useCatalogStore = defineStore('CatalogStore', {
} }
} }
}, },
async updateRecordInMem(table: string, mydata: any) {
if (table === shared_consts.TABLES_RACCOLTACATALOGHIS) {
const index = this.raccoltacataloghis.findIndex(
(item) => item._id === mydata._id
);
if (index !== -1) {
this.raccoltacataloghis.splice(index, 1, mydata);
} else {
console.error('Non trovo il record da aggiornare', mydata);
}
}
}
}, },
}); });

View File

@@ -10682,11 +10682,11 @@ export const tools = {
return 0; return 0;
} }
}, },
getURLByHostAndFilePath(filepath: string) { getURLByHostAndFilePath(filepath: string, timestamp: string = '') {
try { try {
let myurl = filepath.startsWith('/') let myurl = filepath.startsWith('/')
? tools.getHost() + filepath ? tools.getHost() + filepath
: tools.getHost() + '/' + filepath; : tools.getHost() + '/' + filepath + `?ts=${timestamp}`;
return myurl; return myurl;
} catch (e) { } catch (e) {
return filepath; return filepath;

View File

@@ -2493,24 +2493,7 @@ export default defineComponent({
if (ris && !ris.error) { if (ris && !ris.error) {
const catalog = myCatalog.value; const catalog = myCatalog.value;
if (catalog) { if (catalog) {
if (instampa) {
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_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();
} else { } else {
strout.value = JSON.stringify(ris, null, 2); strout.value = JSON.stringify(ris, null, 2);
} }

View File

@@ -577,7 +577,7 @@
<q-td :props="props"> <q-td :props="props">
<a <a
v-if="props.row.pdf" v-if="props.row.pdf"
:href="tools.getURLByHostAndFilePath(props.row.pdf)" :href="tools.getURLByHostAndFilePath(props.row.pdf, props.row.data ? (new Date(props.row.data)).getTime() : undefined)"
target="_blank" target="_blank"
class="text-bold" class="text-bold"
> >
@@ -681,7 +681,7 @@
color="primary" color="primary"
icon="fas fa-file-pdf" icon="fas fa-file-pdf"
:label="`Apri PDF`" :label="`Apri PDF`"
:href="tools.getURLByHostAndFilePath(myCatalog.pdf_online)" :href="tools.getURLByHostAndFilePath(myCatalog.pdf_online, myCatalog.data_online ? (new Date(myCatalog.data_online)).getTime() : undefined)"
size="md" size="md"
class="hover-lift" class="hover-lift"
/> />
@@ -692,7 +692,7 @@
color="primary" color="primary"
icon="download" icon="download"
:label="`Scarica PDF`" :label="`Scarica PDF`"
:href="tools.getURLByHostAndFilePath(myCatalog.pdf_online)" :href="tools.getURLByHostAndFilePath(myCatalog.pdf_online, myCatalog.data_online ? (new Date(myCatalog.data_online)).getTime() : undefined)"
download download
size="md" size="md"
class="hover-lift" class="hover-lift"
@@ -764,7 +764,7 @@
icon="fas fa-file-pdf" icon="fas fa-file-pdf"
:label="`Apri PDF`" :label="`Apri PDF`"
:href=" :href="
tools.getURLByHostAndFilePath(myCatalog.pdf_online_stampa) tools.getURLByHostAndFilePath(myCatalog.pdf_online_stampa, myCatalog.data_online_stampa ? (new Date(myCatalog.data_online_stampa)).getTime() : undefined)
" "
size="md" size="md"
class="hover-lift" class="hover-lift"
@@ -777,7 +777,7 @@
icon="download" icon="download"
:label="`Scarica PDF`" :label="`Scarica PDF`"
:href=" :href="
tools.getURLByHostAndFilePath(myCatalog.pdf_online_stampa) tools.getURLByHostAndFilePath(myCatalog.pdf_online_stampa, myCatalog.data_online_stampa ? (new Date(myCatalog.data_online_stampa)).getTime() : undefined)
" "
download download
size="md" size="md"
@@ -1282,9 +1282,7 @@
null, null,
optcatalogo.arrSchede[0], optcatalogo.arrSchede[0],
true true
) + )
' ' +
pageIndex
" "
></div> ></div>
</div> </div>
@@ -1714,6 +1712,7 @@
<CProductTable <CProductTable
v-if="arrListaTemporanea?.length > 0" v-if="arrListaTemporanea?.length > 0"
:lista_prodotti="arrListaTemporanea" :lista_prodotti="arrListaTemporanea"
:lista_prod_confronto="myCatalog?.lista_prodotti"
:options="{ showbuttAdd: true }" :options="{ showbuttAdd: true }"
:optcatalogo="optcatalogo" :optcatalogo="optcatalogo"
table="products" table="products"

View File

@@ -1,5 +1,13 @@
import type { PropType } from 'vue'; import type { PropType } from 'vue';
import { defineComponent, onMounted, ref, watch, computed, onBeforeUnmount, nextTick } from 'vue'; import {
defineComponent,
onMounted,
ref,
watch,
computed,
onBeforeUnmount,
nextTick,
} from 'vue';
import { tools } from '@tools'; import { tools } from '@tools';
import { useUserStore } from '@store/UserStore'; import { useUserStore } from '@store/UserStore';
import { useRouter } from 'vue-router'; import { useRouter } from 'vue-router';
@@ -37,6 +45,7 @@ import type {
ICollana, ICollana,
IOptRigenera, IOptRigenera,
IOpAndOr, IOpAndOr,
IRaccoltaCatalogo,
} from 'model'; } from 'model';
import { IMyPage } from 'model'; import { IMyPage } from 'model';
@@ -80,7 +89,7 @@ export default defineComponent({
const search = ref(''); const search = ref('');
const optauthors = ref(<any>[]); const optauthors = ref(<any>[]);
const loadpage = ref(false) const loadpage = ref(false);
const pdfContent = ref(null); const pdfContent = ref(null);
const addnewProd = ref(false); const addnewProd = ref(false);
@@ -92,10 +101,11 @@ export default defineComponent({
const optcatalogo = ref(<IOptCatalogo>{ ...props.modelValue }); const optcatalogo = ref(<IOptCatalogo>{ ...props.modelValue });
const getRaccoltaCataloghiByMyPage = computed(() => { const getRaccoltaCataloghiByMyPage = computed(() => {
return catalogStore.raccoltacataloghis?.find((raccolta: IRaccoltaCatalogo) => raccolta.idPageAssigned === props.idPage); return catalogStore.raccoltacataloghis?.find(
(raccolta: IRaccoltaCatalogo) => raccolta.idPageAssigned === props.idPage
);
}); });
const lista_cataloghi = computed(() => { const lista_cataloghi = computed(() => {
const arr = catalogStore.raccoltacataloghis?.find( const arr = catalogStore.raccoltacataloghis?.find(
(raccolta: IRaccoltaCatalogo) => raccolta.idPageAssigned === props.idPage (raccolta: IRaccoltaCatalogo) => raccolta.idPageAssigned === props.idPage
@@ -135,13 +145,6 @@ export default defineComponent({
return lab; return lab;
}); });
const arrLoaded = computed(() => {
if (arrCataloghi.value && numRecLoaded.value) return arrCataloghi.value.slice(0, numRecLoaded.value);
else {
return [];
}
});
function getTitoloRaccolta(): string { function getTitoloRaccolta(): string {
const trovatoraccolta = getRaccoltaCataloghiByMyPage.value; const trovatoraccolta = getRaccoltaCataloghiByMyPage.value;
@@ -168,7 +171,9 @@ export default defineComponent({
if (!imagefile && mypage) { if (!imagefile && mypage) {
imagefile = mypage.imgsfondo!.imagefile!; imagefile = mypage.imgsfondo!.imagefile!;
imagefile = imagefile ? `url("${tools.getDirUpload() + costanti.DIR_CATALOGO + imagefile}")` : ''; imagefile = imagefile
? `url("${tools.getDirUpload() + costanti.DIR_CATALOGO + imagefile}")`
: '';
fit = mypage.imgsfondo!.fit!; fit = mypage.imgsfondo!.fit!;
} }
@@ -184,15 +189,23 @@ export default defineComponent({
function salvaListaRaccolte(ricarica: boolean) { function salvaListaRaccolte(ricarica: boolean) {
// Estrai solo gli ID dei prodotti filtrati // Estrai solo gli ID dei prodotti filtrati
const myarr = [...getRaccoltaCataloghiByMyPage.value.lista_cataloghi]; const myarr = [...getRaccoltaCataloghiByMyPage.value.lista_cataloghi];
const catalogoIds = myarr.map((catalog) => (catalog._id ? catalog._id : null)).filter((id) => id !== null); const catalogoIds = myarr
.map((catalog) => (catalog._id ? catalog._id : null))
.filter((id) => id !== null);
let mydata = { let mydata = {
lista_cataloghi: catalogoIds, lista_cataloghi: catalogoIds,
}; };
// Salva gli ID dei prodotti nel catalogo // Salva gli ID dei prodotti nel catalogo
tools.saveFieldToServer($q, 'raccoltacataloghis', getRaccoltaCataloghiByMyPage.value._id, mydata, true, false); tools.saveFieldToServer(
$q,
'raccoltacataloghis',
getRaccoltaCataloghiByMyPage.value._id,
mydata,
true,
false
);
} }
async function mounted() { async function mounted() {
@@ -240,14 +253,15 @@ export default defineComponent({
// add this record to lista_cataloghi // add this record to lista_cataloghi
if ( if (
getRaccoltaCataloghiByMyPage.value && getRaccoltaCataloghiByMyPage.value &&
element._id && !getRaccoltaCataloghiByMyPage.value.lista_cataloghi?.some((p) => p?._id === element._id) element._id &&
!getRaccoltaCataloghiByMyPage.value.lista_cataloghi?.some(
(p) => p?._id === element._id
)
) { ) {
// inserire il record in cima // inserire il record in cima
const arr = getRaccoltaCataloghiByMyPage.value.lista_cataloghi || []; const arr = getRaccoltaCataloghiByMyPage.value.lista_cataloghi || [];
if (where === shared_consts.WHERE_INSERT.ONTOP) if (where === shared_consts.WHERE_INSERT.ONTOP) arr.unshift(element);
arr.unshift(element); else if (where === shared_consts.WHERE_INSERT.ONBOTTOM) arr.push(element);
else if (where === shared_consts.WHERE_INSERT.ONBOTTOM)
arr.push(element)
updateRaccolta(arr); updateRaccolta(arr);
@@ -256,6 +270,77 @@ export default defineComponent({
} }
} }
async function rigeneraTUTTI(stampa: boolean) {
const msg = stampa ? 'stampa' : '';
if (getRaccoltaCataloghiByMyPage.value) {
const confirm = await $q
.dialog({
title: 'Conferma',
message: `Generare TUTTI i Cataloghi in PDF ${msg}?`,
ok: {
label: 'Sì',
push: true,
},
cancel: {
label: 'Annulla',
},
})
.onOk(async () => {
/*$q.loading.show({
message: `Generazione di TUTTI i Cataloghi in PDF ${msg} in corso, attendere ...`,
});*/
userStore.eseguiFunzSulServer({
dbop: 'GeneraPdfRaccolta',
options: {
idRaccolta: getRaccoltaCataloghiByMyPage.value._id,
comprimi: true,
stampa,
path: 'upload/cataloghi/',
compressione: 'printer',
},
});
});
}
}
async function onlineTUTTI(stampa: boolean) {
const msg = stampa ? 'stampa' : '';
if (getRaccoltaCataloghiByMyPage.value) {
const confirm = await $q
.dialog({
title: 'Conferma',
message: `Mettere ONLINE TUTTI i PDF dei Cataloghi ${msg}?`,
ok: {
label: 'Sì',
push: true,
},
cancel: {
label: 'Annulla',
},
})
.onOk(async () => {
/*$q.loading.show({
message: `Generazione di TUTTI i Cataloghi in PDF ${msg} in corso, attendere ...`,
});*/
userStore.eseguiFunzSulServer({
dbop: 'onlinePdfRaccolta',
options: {
idRaccolta: getRaccoltaCataloghiByMyPage.value._id,
stampa,
},
});
});
}
}
function clickaddNewBook() { function clickaddNewBook() {
addnewProd.value = true; addnewProd.value = true;
} }
@@ -265,8 +350,7 @@ export default defineComponent({
} }
const preparePDF = (stampa: boolean) => { const preparePDF = (stampa: boolean) => {
let addstr = stampa ? ' per la STAMPA' : '';
let addstr = stampa ? ' per la STAMPA' : ''
$q.dialog({ $q.dialog({
message: `Generare il PDF ${addstr}?`, message: `Generare il PDF ${addstr}?`,
ok: { ok: {
@@ -283,7 +367,7 @@ export default defineComponent({
}; };
async function saveRaccolta() { async function saveRaccolta() {
const raccolta = getRaccoltaCataloghiByMyPage.value const raccolta = getRaccoltaCataloghiByMyPage.value;
const mydata = { const mydata = {
table: 'raccoltacataloghis', table: 'raccoltacataloghis',
data: raccolta, data: raccolta,
@@ -292,7 +376,6 @@ export default defineComponent({
await globalStore.saveTable(mydata); await globalStore.saveTable(mydata);
} }
async function generaPDF(stampa: boolean) { async function generaPDF(stampa: boolean) {
$q.loading.show({ $q.loading.show({
message: 'Generazione della Raccolta Catalogo in PDF in corso ...', message: 'Generazione della Raccolta Catalogo in PDF in corso ...',
@@ -304,23 +387,11 @@ export default defineComponent({
stampa, stampa,
metti_online: false, metti_online: false,
dir_out: '/upload/raccolte/', dir_out: '/upload/raccolte/',
} };
const ris = await globalStore.execJoinPDF({options}); const ris = await globalStore.execJoinPDF({ options });
if (ris) { if (ris) {
const raccolta = getRaccoltaCataloghiByMyPage.value; await catalogStore.updateRecordInMem(shared_consts.TABLES_CATALOG, ris.raccolta)
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();
}
await saveRaccolta();
} }
$q.loading.hide(); $q.loading.hide();
@@ -343,7 +414,10 @@ export default defineComponent({
const pubblicaPDF = async () => { const pubblicaPDF = async () => {
const raccolta = getRaccoltaCataloghiByMyPage.value; const raccolta = getRaccoltaCataloghiByMyPage.value;
const ris = await globalStore.execOnlinePDF({ id_raccolta: raccolta._id, stampa: false }); const ris = await globalStore.execOnlinePDF({
id_raccolta: raccolta._id,
stampa: false,
});
if (ris) { if (ris) {
if (ris.record?.pdf_online) { if (ris.record?.pdf_online) {
@@ -369,15 +443,12 @@ export default defineComponent({
const pubblicaPDFStampa = async () => { const pubblicaPDFStampa = async () => {
const raccolta = getRaccoltaCataloghiByMyPage.value; const raccolta = getRaccoltaCataloghiByMyPage.value;
const ris = await globalStore.execOnlinePDF({ id_raccolta: raccolta._id, stampa: true }); const ris = await globalStore.execOnlinePDF({
id_raccolta: raccolta._id,
stampa: true,
});
if (ris) { if (ris) {
if (ris.record.pdf_online_stampa) {
raccolta.pdf_online_stampa = ris.record.pdf_online_stampa;
raccolta.data_online_stampa = ris.record.data_online_stampa;
}
await saveRaccolta();
$q.notify({ $q.notify({
color: 'positive', color: 'positive',
@@ -392,8 +463,7 @@ export default defineComponent({
icon: 'error', icon: 'error',
}); });
} }
};
}
onMounted(mounted); onMounted(mounted);
@@ -409,7 +479,6 @@ export default defineComponent({
componentToFixRef, componentToFixRef,
isFixed, isFixed,
numRecLoaded, numRecLoaded,
arrLoaded,
mycolumns, mycolumns,
tabraccolta, tabraccolta,
naviga, naviga,
@@ -427,6 +496,8 @@ export default defineComponent({
loadpage, loadpage,
ispageCatalogata, ispageCatalogata,
optcatalogo, optcatalogo,
rigeneraTUTTI,
onlineTUTTI,
}; };
}, },
}); });

View File

@@ -32,9 +32,7 @@
class="" class=""
keep-alive keep-alive
> >
<q-tab-panel <q-tab-panel name="lista">
name="lista"
>
<q-btn <q-btn
rounded rounded
label="Aggiungi" label="Aggiungi"
@@ -56,23 +54,65 @@
<q-tab-panel name="genera"> <q-tab-panel name="genera">
<div <div
v-if="!tools.isUtente()" v-if="!tools.isUtente()"
class="row justify-center" class="column justify-center"
> >
<q-btn <div class="row justify-center">
v-if="!optcatalogo.generazionePDFInCorso" <q-btn
:label="`GENERA PDF per WEB`" rounded
@click="preparePDF(false)" label="Rigenera TUTTI i Cataloghi"
></q-btn> icon="fas fa-redo"
<q-btn color="primary"
v-if="!optcatalogo.generazionePDFInCorso" @click="rigeneraTUTTI()"
:label="`GENERA PDF per STAMPA`" ></q-btn>
@click="preparePDF(true)" <q-btn
></q-btn> rounded
<q-btn label="Online TUTTI i Cataloghi"
v-if="optcatalogo.generazionePDFInCorso" icon="fas fa-redo"
:label="`Termina Generazione`" color="positive"
@click="terminaPDF" @click="onlineTUTTI()"
></q-btn> ></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 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>
<div <div
v-if="getRaccoltaCataloghiByMyPage?.pdf_generato" v-if="getRaccoltaCataloghiByMyPage?.pdf_generato"
@@ -81,21 +121,38 @@
<div class="bg-blue-1 text-red text-bold text-h6 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> <strong>PDF generati Temporanei</strong>
</div> </div>
<div v-if="getRaccoltaCataloghiByMyPage?.data_generato !== getRaccoltaCataloghiByMyPage?.data_online"> <div
v-if="
getRaccoltaCataloghiByMyPage?.data_generato !==
getRaccoltaCataloghiByMyPage?.data_online
"
>
PDF Generato: PDF Generato:
<a <a
:href="tools.getURLByHostAndFilePath(getRaccoltaCataloghiByMyPage?.pdf_generato)" :href="
tools.getURLByHostAndFilePath(
getRaccoltaCataloghiByMyPage?.pdf_generato
)
"
target="_blank" target="_blank"
v-if="getRaccoltaCataloghiByMyPage?.pdf_generato" v-if="getRaccoltaCataloghiByMyPage?.pdf_generato"
class="text-bold" class="text-bold"
> >
{{ tools.getURLByHostAndFilePath(getRaccoltaCataloghiByMyPage?.pdf_generato) }} {{
tools.getURLByHostAndFilePath(
getRaccoltaCataloghiByMyPage?.pdf_generato
)
}}
</a> </a>
<span v-else>-</span> <span v-else>-</span>
<br />(del {{ tools.getstrDateTime(getRaccoltaCataloghiByMyPage?.data_generato) }}) <br />(del
{{ tools.getstrDateTime(getRaccoltaCataloghiByMyPage?.data_generato) }})
<br /> <br />
<q-btn <q-btn
v-if="getRaccoltaCataloghiByMyPage?.data_generato !== getRaccoltaCataloghiByMyPage?.data_online" v-if="
getRaccoltaCataloghiByMyPage?.data_generato !==
getRaccoltaCataloghiByMyPage?.data_online
"
rounded rounded
label="Pubblica PDF OnLine" label="Pubblica PDF OnLine"
color="positive" color="positive"
@@ -103,21 +160,40 @@
></q-btn> ></q-btn>
</div> </div>
<br /> <br />
<div v-if="getRaccoltaCataloghiByMyPage?.data_generato_stampa !== getRaccoltaCataloghiByMyPage?.data_online_stampa"> <div
v-if="
getRaccoltaCataloghiByMyPage?.data_generato_stampa !==
getRaccoltaCataloghiByMyPage?.data_online_stampa
"
>
PDF Generato Stampa: PDF Generato Stampa:
<a <a
:href="tools.getURLByHostAndFilePath(getRaccoltaCataloghiByMyPage?.pdf_generato_stampa)" :href="
tools.getURLByHostAndFilePath(
getRaccoltaCataloghiByMyPage?.pdf_generato_stampa
)
"
target="_blank" target="_blank"
v-if="getRaccoltaCataloghiByMyPage?.pdf_generato_stampa" v-if="getRaccoltaCataloghiByMyPage?.pdf_generato_stampa"
class="text-bold" class="text-bold"
> >
{{ tools.getURLByHostAndFilePath(getRaccoltaCataloghiByMyPage?.pdf_generato_stampa) }} {{
tools.getURLByHostAndFilePath(
getRaccoltaCataloghiByMyPage?.pdf_generato_stampa
)
}}
</a> </a>
<span v-else>-</span> <span v-else>-</span>
<br />(del {{ tools.getstrDateTime(getRaccoltaCataloghiByMyPage?.data_generato_stampa) }}) <br />(del
{{
tools.getstrDateTime(getRaccoltaCataloghiByMyPage?.data_generato_stampa)
}})
<br /> <br />
<q-btn <q-btn
v-if="getRaccoltaCataloghiByMyPage?.data_generato_stampa !== getRaccoltaCataloghiByMyPage?.data_online_stampa" v-if="
getRaccoltaCataloghiByMyPage?.data_generato_stampa !==
getRaccoltaCataloghiByMyPage?.data_online_stampa
"
rounded rounded
label="Pubblica PDF Stampa" label="Pubblica PDF Stampa"
color="positive" color="positive"
@@ -131,29 +207,49 @@
<div v-if="getRaccoltaCataloghiByMyPage?.data_online"> <div v-if="getRaccoltaCataloghiByMyPage?.data_online">
PDF OnLine: PDF OnLine:
<a <a
:href="tools.getURLByHostAndFilePath(getRaccoltaCataloghiByMyPage?.pdf_online)" :href="
tools.getURLByHostAndFilePath(
getRaccoltaCataloghiByMyPage?.pdf_online
)
"
target="_blank" target="_blank"
v-if="getRaccoltaCataloghiByMyPage?.pdf_online" v-if="getRaccoltaCataloghiByMyPage?.pdf_online"
class="text-bold" class="text-bold"
> >
{{ tools.getURLByHostAndFilePath(getRaccoltaCataloghiByMyPage?.pdf_online) }} {{
tools.getURLByHostAndFilePath(
getRaccoltaCataloghiByMyPage?.pdf_online
)
}}
</a> </a>
<span v-else>-</span> <span v-else>-</span>
<br />(del {{ tools.getstrDateTime(getRaccoltaCataloghiByMyPage?.data_online) }}) <br />(del
{{ tools.getstrDateTime(getRaccoltaCataloghiByMyPage?.data_online) }})
</div> </div>
<br /> <br />
<div v-if="getRaccoltaCataloghiByMyPage?.data_online_stampa">> <div v-if="getRaccoltaCataloghiByMyPage?.data_online_stampa">
PDF OnLine Stampa: > PDF OnLine Stampa:
<a <a
:href="tools.getURLByHostAndFilePath(getRaccoltaCataloghiByMyPage?.pdf_online_stampa)" :href="
tools.getURLByHostAndFilePath(
getRaccoltaCataloghiByMyPage?.pdf_online_stampa
)
"
target="_blank" target="_blank"
class="text-bold" class="text-bold"
v-if="getRaccoltaCataloghiByMyPage?.pdf_online_stampa" v-if="getRaccoltaCataloghiByMyPage?.pdf_online_stampa"
> >
{{ tools.getURLByHostAndFilePath(getRaccoltaCataloghiByMyPage?.pdf_online_stampa) }} {{
tools.getURLByHostAndFilePath(
getRaccoltaCataloghiByMyPage?.pdf_online_stampa
)
}}
</a> </a>
<span v-else>-</span> <span v-else>-</span>
<br />(del {{ tools.getstrDateTime(getRaccoltaCataloghiByMyPage?.data_online_stampa) }}) <br />(del
{{
tools.getstrDateTime(getRaccoltaCataloghiByMyPage?.data_online_stampa)
}})
</div> </div>
</div> </div>
</div> </div>