- ordinamento aggiornare la pagina "templates" per Fatturati ultimo anno

- bestseller
This commit is contained in:
Surya Paolo
2025-05-02 10:10:04 +02:00
parent 721d2ac38c
commit 8a20186e59
21 changed files with 131 additions and 62 deletions

4
.env
View File

@@ -1,6 +1,6 @@
VITE_APP_VERSION="1.2.34" VITE_APP_VERSION="1.2.35"
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.34.js" VITE_SERVICE_WORKER_FILE="sw-1.2.35.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.34"> <meta name="version" content="1.2.35">
<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.34", "version": "1.2.35",
"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.34' quasar dev", "dev": "PORT=8089 APP_VERSION='1.2.35' 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.34' quasar build -m pwa", "buildpwa": "NODE_ENV=production APP_VERSION='1.2.35' quasar build -m pwa",
"buildpwatest": "NODE_ENV=production APP_VERSION='1.2.34' quasar build -m pwa", "buildpwatest": "NODE_ENV=production APP_VERSION='1.2.35' 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.34' quasar build -m spa", "buildspa": "APP_VERSION='1.2.35' 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.34' quasar dev -m pwa", "pwa": "NODE_ENV=development PORT=8099 APP_VERSION='1.2.35' quasar dev -m pwa",
"spa": "NODE_ENV=development PORT=8089 APP_VERSION='1.2.34' quasar dev", "spa": "NODE_ENV=development PORT=8089 APP_VERSION='1.2.35' 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.34", "version": "1.2.35",
"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.34' quasar dev", "dev": "PORT=8083 APP_VERSION='1.2.35' 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.34' quasar dev -m pwa", "pwa": "NODE_ENV=development PORT=8093 APP_VERSION='1.2.35' quasar dev -m pwa",
"spa": "NODE_ENV=development PORT=8083 APP_VERSION='1.2.34' quasar dev", "spa": "NODE_ENV=development PORT=8083 APP_VERSION='1.2.35' 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.34", "version": "1.2.35",
"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.34' quasar dev", "dev": "PORT=8087 APP_VERSION='1.2.35' 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.34' quasar build -m pwa", "buildpwa": "NODE_ENV=production APP_VERSION='1.2.35' quasar build -m pwa",
"buildpwatest": "NODE_ENV=production APP_VERSION='1.2.34' quasar build -m pwa", "buildpwatest": "NODE_ENV=production APP_VERSION='1.2.35' 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.34' quasar dev -m pwa", "pwa": "NODE_ENV=development PORT=8097 APP_VERSION='1.2.35' quasar dev -m pwa",
"spa": "NODE_ENV=development PORT=8087 APP_VERSION='1.2.34' quasar dev", "spa": "NODE_ENV=development PORT=8087 APP_VERSION='1.2.35' 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.34", "version": "1.2.35",
"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.34' quasar dev", "dev": "PORT=8089 APP_VERSION='1.2.35' 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.34' quasar build -m pwa", "buildpwa": "NODE_ENV=production APP_VERSION='1.2.35' quasar build -m pwa",
"buildpwatest": "NODE_ENV=production APP_VERSION='1.2.34' quasar build -m pwa", "buildpwatest": "NODE_ENV=production APP_VERSION='1.2.35' 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.34' quasar build -m spa", "buildspa": "APP_VERSION='1.2.35' 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.34' quasar dev -m pwa", "pwa": "NODE_ENV=development PORT=8099 APP_VERSION='1.2.35' quasar dev -m pwa",
"spa": "NODE_ENV=development PORT=8089 APP_VERSION='1.2.34' quasar dev", "spa": "NODE_ENV=development PORT=8089 APP_VERSION='1.2.35' 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.34", "version": "1.2.35",
"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.34' quasar dev", "dev": "PORT=8083 APP_VERSION='1.2.35' 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.34' quasar build -m pwa", "buildpwa": "NODE_ENV=production APP_VERSION='1.2.35' quasar build -m pwa",
"buildpwatest": "NODE_ENV=production APP_VERSION='1.2.34' quasar build -m pwa", "buildpwatest": "NODE_ENV=production APP_VERSION='1.2.35' 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.34' quasar dev -m pwa", "pwa": "NODE_ENV=development PORT=8093 APP_VERSION='1.2.35' quasar dev -m pwa",
"spa": "NODE_ENV=development PORT=8083 APP_VERSION='1.2.34' quasar dev", "spa": "NODE_ENV=development PORT=8083 APP_VERSION='1.2.35' 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": "piuchebuono", "name": "piuchebuono",
"version": "1.2.34", "version": "1.2.35",
"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.34' quasar dev", "dev": "PORT=8085 APP_VERSION='1.2.35' 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.34' quasar build -m pwa", "buildpwa": "NODE_ENV=production APP_VERSION='1.2.35' quasar build -m pwa",
"buildpwatest": "NODE_ENV=production APP_VERSION='1.2.34' quasar build -m pwa", "buildpwatest": "NODE_ENV=production APP_VERSION='1.2.35' 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.34' quasar dev -m pwa", "pwa": "NODE_ENV=development PORT=8085 APP_VERSION='1.2.35' quasar dev -m pwa",
"spa": "NODE_ENV=development PORT=8085 APP_VERSION='1.2.34' quasar dev", "spa": "NODE_ENV=development PORT=8085 APP_VERSION='1.2.35' 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.34", "version": "1.2.35",
"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.34' PORT=8084 quasar dev", "dev": "APP_VERSION='1.2.35' 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.34' quasar build -m pwa", "buildpwa": "NODE_ENV=production APP_VERSION='1.2.35' quasar build -m pwa",
"buildpwatest": "NODE_ENV=production APP_VERSION='1.2.34' quasar build -m pwa", "buildpwatest": "NODE_ENV=production APP_VERSION='1.2.35' 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.34' quasar dev -m pwa", "pwa": "NODE_ENV=development PORT=8094 APP_VERSION='1.2.35' quasar dev -m pwa",
"spa": "NODE_ENV=development PORT=8084 APP_VERSION='1.2.34' quasar dev", "spa": "NODE_ENV=development PORT=8084 APP_VERSION='1.2.35' 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.34"; const VITE_APP_VERSION = "1.2.35";
// Costanti di configurazione // Costanti di configurazione
const DYNAMIC_CACHE = 'dynamic-cache-v2'; const DYNAMIC_CACHE = 'dynamic-cache-v2';

View File

@@ -630,12 +630,18 @@ export default defineComponent({
function isProductBestseller() { function isProductBestseller() {
try { try {
// diventa un bestseller quando il rank6M è tra i primi 10 ordinandoli per rank6M if (props.scheda.etichette?.bestseller?.show) {
return myproduct.value!.productInfo.rank6M! > 0 && (myproduct.value!.productInfo.rank6M!) // diventa un bestseller quando il numero di fatturati Annuali è superiore a
const numfatturati = props.scheda.etichette?.bestseller?.quantiFattRaggiunti ?? 50;
return myproduct.value!.productInfo.fatLast6M > numfatturati
}
} catch (e) { } catch (e) {
return false return false
} }
return false
} }
function getScale() { function getScale() {

View File

@@ -294,7 +294,7 @@ export default defineComponent({
} }
recscheda.scheda.etichette!.bestseller = { recscheda.scheda.etichette!.bestseller = {
show: false, show: false,
primiNInClassifica: 0, quantiFattRaggiunti: 0,
} }
} }

View File

@@ -2284,7 +2284,7 @@
</q-toggle> </q-toggle>
<CMySlider <CMySlider
label="Primi N in Classifica" label="Primi N in Classifica"
v-model="recscheda.scheda.etichette.bestseller.primiNInClassifica" v-model="recscheda.scheda.etichette.bestseller.quantiFattRaggiunti"
:min="1" :min="1"
:max="100" :max="100"
color="green" color="green"

View File

@@ -140,6 +140,7 @@ export default defineComponent({
//{ name: "rank1Y", label: "Class. 1Y", field: "rank1Y", align: "right", visu: costanti.VISUCAMPI.PER_EDITORE }, //{ name: "rank1Y", label: "Class. 1Y", field: "rank1Y", align: "right", visu: costanti.VISUCAMPI.PER_EDITORE },
{ name: "pagine", label: "Pag.", field: "pagine", align: "right" }, { name: "pagine", label: "Pag.", field: "pagine", align: "right" },
{ name: "totVen", label: "Vend", field: "totVen", align: "right", visu: costanti.VISUCAMPI.PER_EDITORE }, { name: "totVen", label: "Vend", field: "totVen", align: "right", visu: costanti.VISUCAMPI.PER_EDITORE },
{ name: "vLast6M", label: "Ven 6M", field: "vLast6M", align: "right", visu: costanti.VISUCAMPI.PER_EDITORE },
{ name: "fatLast6M", label: "Fat 6M", field: "fatLast6M", align: "right", visu: costanti.VISUCAMPI.PER_EDITORE }, { name: "fatLast6M", label: "Fat 6M", field: "fatLast6M", align: "right", visu: costanti.VISUCAMPI.PER_EDITORE },
{ name: "fatLast1Y", label: "Fat 1A", field: "fatLast1Y", align: "right", visu: costanti.VISUCAMPI.PER_EDITORE }, { name: "fatLast1Y", label: "Fat 1A", field: "fatLast1Y", align: "right", visu: costanti.VISUCAMPI.PER_EDITORE },
{ name: "fatLast2Y", label: "Fat 2A", field: "fatLast2Y", align: "right", visu: costanti.VISUCAMPI.PER_EDITORE }, { name: "fatLast2Y", label: "Fat 2A", field: "fatLast2Y", align: "right", visu: costanti.VISUCAMPI.PER_EDITORE },
@@ -332,7 +333,7 @@ export default defineComponent({
cookieValue = []; // In caso di errore, inizializza come array vuoto cookieValue = []; // In caso di errore, inizializza come array vuoto
} }
const selectedColumns = ref(cookieValue.length > 0 ? cookieValue : ["pos", "drag", "image", "name", "authors", "catprods", "isbn", "actions"]); const selectedColumns = ref(cookieValue.length > 0 ? cookieValue : ["pos", "drag", "image", "name", "authors", "isbn", "catprods", "stato", "date_pub", "pagine", "trafiletto", "vLast6M", "quantity", "actions"]);
// 3. Funzione per verificare se una colonna è visibile (isColumnVisible) // 3. Funzione per verificare se una colonna è visibile (isColumnVisible)

View File

@@ -728,7 +728,7 @@ export interface INovita {
export interface IBestseller { export interface IBestseller {
show?: boolean show?: boolean
primiNInClassifica?: number quantiFattRaggiunti?: number
} }
export interface IEtichette { export interface IEtichette {
@@ -850,6 +850,7 @@ export interface ISchedaSingola {
export interface IOptRigenera { export interface IOptRigenera {
visibilitaDisp?: string visibilitaDisp?: string
rig_mod?: string
stato?: string stato?: string
} }

View File

@@ -251,18 +251,19 @@ export interface ICatProd {
export interface ICatPrTotali { export interface ICatPrTotali {
_id: string, _id: string,
name: string, name: string,
quanti: number, quanti?: number,
} }
export interface ICollaneTotali { export interface ICollaneTotali {
_id: string, _id: string,
name: string, name: string,
quanti: number, quanti?: number,
} }
export interface ICollana { export interface ICollana {
_id?: any _id?: any
idCollana: number, idCollana: number,
title: string, title: string,
quanti?: number,
} }
export interface ICatAI { export interface ICatAI {

View File

@@ -533,6 +533,11 @@ export const costanti = {
ESAURITI: '2', ESAURITI: '2',
}, },
RIGENERAMOD: {
SOVRASCRIVI: '0',
AGGIUNGI_SOLO: '1',
},
STATO: { STATO: {
TUTTI: '0', TUTTI: '0',
IN_COMMERCIO: '1', IN_COMMERCIO: '1',

View File

@@ -1926,7 +1926,7 @@ export const useProducts = defineStore('Products', {
}, },
bestseller: { bestseller: {
show: false, show: false,
primiNInClassifica: 20 quantiFattRaggiunti: 50
} }
} }
} }

View File

@@ -216,7 +216,7 @@ export const useGlobalStore = defineStore('GlobalStore', {
getters: { getters: {
sovrascriviSchedaFromTemplate: (state: IGlobalState) => (idTemplate: string, origScheda: ISchedaSingola) => { sovrascriviSchedaFromTemplate: (state: IGlobalState) => (idTemplate: string, origScheda: ISchedaSingola, optcatalogo: IOptCatalogo) => {
const arrschede: ISchedaSingola[] = state.myschedas const arrschede: ISchedaSingola[] = state.myschedas
const myfindscheda = arrschede.find((recscheda: ISchedaSingola) => recscheda.scheda?._id === idTemplate) const myfindscheda = arrschede.find((recscheda: ISchedaSingola) => recscheda.scheda?._id === idTemplate)

View File

@@ -77,6 +77,11 @@ export default defineComponent({
{ label: 'Disponibili', value: costanti.DISP.DISPONIBILI }, { label: 'Disponibili', value: costanti.DISP.DISPONIBILI },
{ label: 'Esauriti', value: costanti.DISP.ESAURITI }]) { label: 'Esauriti', value: costanti.DISP.ESAURITI }])
const optRigeneraModalita = ref([
{ label: 'Sovrascrivi', value: costanti.RIGENERAMOD.SOVRASCRIVI },
{ label: 'Aggiungi solo', value: costanti.RIGENERAMOD.AGGIUNGI_SOLO },
])
const optStato = ref([ const optStato = ref([
{ label: 'Tutti', value: costanti.STATO.TUTTI }, { label: 'Tutti', value: costanti.STATO.TUTTI },
{ label: 'In Commercio', value: costanti.STATO.IN_COMMERCIO }, { label: 'In Commercio', value: costanti.STATO.IN_COMMERCIO },
@@ -87,7 +92,7 @@ export default defineComponent({
const generatinglist = ref(false) const generatinglist = ref(false)
const optrigenera = ref<IOptRigenera>({ visibilitaDisp: costanti.DISP.DISPONIBILI, stato: costanti.STATO.IN_COMMERCIO }) const optrigenera = ref<IOptRigenera>({ visibilitaDisp: costanti.DISP.DISPONIBILI, stato: costanti.STATO.IN_COMMERCIO, rig_mod: false })
const optcatalogo = ref(<IOptCatalogo>{ ...props.modelValue }); const optcatalogo = ref(<IOptCatalogo>{ ...props.modelValue });
@@ -110,6 +115,7 @@ export default defineComponent({
watch(optrigenera.value, (newVal) => { watch(optrigenera.value, (newVal) => {
tools.setCookie((showListaArgomenti.value ? 'INC_ES_' : '') + 'VIS_DISP', newVal.visibilitaDisp); tools.setCookie((showListaArgomenti.value ? 'INC_ES_' : '') + 'VIS_DISP', newVal.visibilitaDisp);
tools.setCookie((showListaArgomenti.value ? 'INC_ES_' : '') + 'VIS_STATO', newVal.stato); tools.setCookie((showListaArgomenti.value ? 'INC_ES_' : '') + 'VIS_STATO', newVal.stato);
tools.setCookie((showListaArgomenti.value ? 'INC_ES_' : '') + 'RIG_MOD', newVal.rig_mod);
if (showListaArgomenti.value) if (showListaArgomenti.value)
calcArrProducts() calcArrProducts()
}, { deep: true }); }, { deep: true });
@@ -185,7 +191,7 @@ export default defineComponent({
// Cerca se la descrizione introduttiva è stata impostata // Cerca se la descrizione introduttiva è stata impostata
testo = catalog.descr_introduttiva testo = catalog.descr_introduttiva
let clcol = '' let clcol = ''
if (catalog.pagina_introduttiva_sfondo_nero) { if (catalog?.pagina_introduttiva_sfondo_nero) {
clcol = `text-white` clcol = `text-white`
} }
testo = `<span class="book-text-up ${clcol}">` + testo + `</span>` testo = `<span class="book-text-up ${clcol}">` + testo + `</span>`
@@ -218,7 +224,7 @@ export default defineComponent({
let clcol = '' let clcol = ''
if (catalog.pagina_introduttiva_sfondo_nero) { if (catalog?.pagina_introduttiva_sfondo_nero) {
clcol = `text-white` clcol = `text-white`
} }
@@ -480,7 +486,7 @@ export default defineComponent({
for (const recscheda of optcatalogo.value.arrSchede!) { for (const recscheda of optcatalogo.value.arrSchede!) {
if (recscheda.scheda?.linkIdTemplate) { if (recscheda.scheda?.linkIdTemplate) {
// ricopia da Template: // ricopia da Template:
const myscheda = globalStore.sovrascriviSchedaFromTemplate(recscheda.scheda?.linkIdTemplate, recscheda) const myscheda = globalStore.sovrascriviSchedaFromTemplate(recscheda.scheda?.linkIdTemplate, recscheda, optcatalogo.value)
if (myscheda) { if (myscheda) {
recscheda.scheda = { ...myscheda } recscheda.scheda = { ...myscheda }
} }
@@ -730,6 +736,8 @@ export default defineComponent({
// console.log('arrprod', arrprod) // console.log('arrprod', arrprod)
populateDataWithlinkIdTemplate(); populateDataWithlinkIdTemplate();
// Ordina la lista
generatearrProdToViewSorted(!generalista, salva, !optcatalogo.value.showListaArgomenti); generatearrProdToViewSorted(!generalista, salva, !optcatalogo.value.showListaArgomenti);
loaddata(); loaddata();
@@ -743,9 +751,15 @@ export default defineComponent({
// chiedi prima "Sei sicuro di rigenerare il catalogo?" // chiedi prima "Sei sicuro di rigenerare il catalogo?"
let risposta_si = false let risposta_si = false
let msg = 'Sicuri di RIGENERARE Sovrascrivendo questa lista di libri ?'
if (optrigenera.value.rig_mod == costanti.RIGENERAMOD.AGGIUNGI_SOLO) {
msg = 'Aggiungere i libri di questa nuova generazione ?'
}
$q.dialog({ $q.dialog({
title: 'Rigenera lista', title: 'Rigenera lista',
message: 'Sicuri di rigenerare questa lista di libri, perdendo l\'ordinamento attuale ?', message: msg,
cancel: true, cancel: true,
persistent: false persistent: false
}).onOk(() => { }).onOk(() => {
@@ -753,6 +767,21 @@ export default defineComponent({
}) })
} }
function reSortList() {
let risposta_si = false
let msg = 'Sicuri di Riordinare questa lista ?'
$q.dialog({
title: 'Riordina lista',
message: msg,
cancel: true,
persistent: false
}).onOk(() => {
calcArrProducts(false)
})
}
function arraysEqual(arr1, arr2) { function arraysEqual(arr1, arr2) {
return ( return (
Array.isArray(arr1) && Array.isArray(arr1) &&
@@ -1050,7 +1079,13 @@ export default defineComponent({
if (!usaprodottiSalvati && salva) { if (!usaprodottiSalvati && salva) {
if (trovatocatalogo) { if (trovatocatalogo) {
trovatocatalogo.lista_prodotti = arrprod if (optrigenera.value.rig_mod === costanti.RIGENERAMOD.AGGIUNGI_SOLO) {
// aggiungi solo i record che non sono presenti su lista_prodotti
trovatocatalogo.lista_prodotti = trovatocatalogo.lista_prodotti.filter(p => !arrprod.some(ap => ap._id === p._id))
trovatocatalogo.lista_prodotti.push(...arrprod.filter(ap => !trovatocatalogo.lista_prodotti.some(p => p._id === ap._id)))
} else {
trovatocatalogo.lista_prodotti = arrprod
}
if (salvasudb) { if (salvasudb) {
salvaListaProdotti(false) salvaListaProdotti(false)
@@ -1119,6 +1154,7 @@ export default defineComponent({
} }
optrigenera.value.visibilitaDisp = tools.getCookie((showListaArgomenti.value ? 'INC_ES_' : '') + 'VIS_DISP', costanti.DISP.DISPONIBILI) optrigenera.value.visibilitaDisp = tools.getCookie((showListaArgomenti.value ? 'INC_ES_' : '') + 'VIS_DISP', costanti.DISP.DISPONIBILI)
optrigenera.value.rig_mod = tools.getCookie((showListaArgomenti.value ? 'INC_ES_' : '') + 'RIG_MOD', costanti.RIGENERAMOD.AGGIUNGI_SOLO)
optrigenera.value.stato = tools.getCookie((showListaArgomenti.value ? 'INC_ES_' : '') + 'VIS_STATO', costanti.STATO.IN_COMMERCIO) optrigenera.value.stato = tools.getCookie((showListaArgomenti.value ? 'INC_ES_' : '') + 'VIS_STATO', costanti.STATO.IN_COMMERCIO)
loadpage.value = false loadpage.value = false
@@ -1530,9 +1566,11 @@ export default defineComponent({
optrigenera, optrigenera,
generatinglist, generatinglist,
optDisp, optDisp,
optRigeneraModalita,
optStato, optStato,
getCatalogoByMyPage, getCatalogoByMyPage,
getReferentiCatalogo, getReferentiCatalogo,
reSortList,
} }
} }
}) })

View File

@@ -146,6 +146,14 @@
@click="rigeneraLibri = true" @click="rigeneraLibri = true"
></q-btn> ></q-btn>
<!--<q-btn
v-if="!showListaArgomenti"
rounded
label="Riordina"
color="primary"
@click="reSortList"
></q-btn>-->
<q-btn <q-btn
v-if="!showListaArgomenti" v-if="!showListaArgomenti"
rounded rounded
@@ -841,6 +849,7 @@
</CMyValueDb> </CMyValueDb>
</div> </div>
<div>Filtra per Disponibilità Magazzino:</div>
<q-btn-toggle <q-btn-toggle
v-model="optrigenera.visibilitaDisp" v-model="optrigenera.visibilitaDisp"
toggle-color="green" toggle-color="green"
@@ -848,6 +857,14 @@
:options="optDisp" :options="optDisp"
> >
</q-btn-toggle> </q-btn-toggle>
<div>Modalità di Creazione:</div>
<q-btn-toggle
v-model="optrigenera.rig_mod"
toggle-color="red"
class="q-my-md"
:options="optRigeneraModalita"
>
</q-btn-toggle>
</div> </div>
</q-card-section> </q-card-section>
<q-card-actions align="center"> <q-card-actions align="center">