- Export Lista

- Ordinamento
- PDF Risolto Salvataggio ed invio al server direttamente.
This commit is contained in:
Surya Paolo
2025-05-08 23:32:13 +02:00
parent ef36cd5e11
commit f9d73ae836
32 changed files with 1138 additions and 756 deletions

4
.env
View File

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

View File

@@ -13,5 +13,8 @@
"typescript.tsdk": "node_modules/typescript/lib",
"[vue]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[typescript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
}
}

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.39">
<meta name="version" content="1.2.40">
<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.39",
"version": "1.2.40",
"description": "Gruppo Macro",
"productName": "Gruppo Macro",
"author": "Surya",
@@ -9,20 +9,20 @@
"license": "MIT",
"type": "module",
"scripts": {
"dev": "PORT=8089 APP_VERSION='1.2.39' quasar dev",
"dev": "PORT=8089 APP_VERSION='1.2.40' quasar dev",
"dev_noCheck": "SKIP_TSC=true quasar dev",
"build": "quasar build",
"buildpwa": "NODE_ENV=production APP_VERSION='1.2.39' quasar build -m pwa",
"buildpwatest": "NODE_ENV=production APP_VERSION='1.2.39' quasar build -m pwa",
"buildpwa": "NODE_ENV=production APP_VERSION='1.2.40' quasar build -m pwa",
"buildpwatest": "NODE_ENV=production APP_VERSION='1.2.40' quasar build -m pwa",
"type-check": "vue-tsc --noEmit",
"type-check:watch": "vue-tsc --noEmit --watch",
"buildspa": "APP_VERSION='1.2.39' quasar build -m spa",
"buildspa": "APP_VERSION='1.2.40' 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.39' quasar dev -m pwa",
"spa": "NODE_ENV=development PORT=8089 APP_VERSION='1.2.39' quasar dev",
"pwa": "NODE_ENV=development PORT=8099 APP_VERSION='1.2.40' quasar dev -m pwa",
"spa": "NODE_ENV=development PORT=8089 APP_VERSION='1.2.40' quasar dev",
"debug": "quasar dev --mode debug",
"test": "echo \"No test specified\" && exit 0",
"generate-sw": "workbox generateSW workbox-config.js",
@@ -52,13 +52,16 @@
"echarts": "5.6.0",
"eslint-plugin-n": "^17.16.2",
"eslint-plugin-quasar": "^1.1.0",
"file-saver": "^2.0.5",
"graphql": "^16.10.0",
"graphql-tag": "^2.12.6",
"gsap": "^3.12.7",
"html2canvas": "^1.4.1",
"html2pdf.js": "^0.10.3",
"jquery": "^3.7.1",
"js-cookie": "^3.0.5",
"jsbarcode": "^3.11.6",
"jspdf": "^3.0.1",
"leaflet": "^1.9.4",
"leaflet-routing-machine": "^3.2.12",
"leaflet.markercluster": "^1.5.3",
@@ -66,6 +69,7 @@
"lodash": "^4.17.21",
"normalize.css": "^8.0.1",
"nprogress": "^0.2.0",
"pdf-lib": "^1.17.1",
"pinia": "^3.0.1",
"qrcode-vue3": "^1.7.1",
"quasar": "^2.18.1",

View File

@@ -1,6 +1,6 @@
{
"name": "cnm",
"version": "1.2.39",
"version": "1.2.40",
"description": "Comunita Nuovo Mondo",
"productName": "ComunitaNuovoMondo",
"author": "Surya",
@@ -9,7 +9,7 @@
"license": "MIT",
"type": "module",
"scripts": {
"dev": "PORT=8083 APP_VERSION='1.2.39' quasar dev",
"dev": "PORT=8083 APP_VERSION='1.2.40' 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.39' quasar dev -m pwa",
"spa": "NODE_ENV=development PORT=8083 APP_VERSION='1.2.39' quasar dev",
"pwa": "NODE_ENV=development PORT=8093 APP_VERSION='1.2.40' quasar dev -m pwa",
"spa": "NODE_ENV=development PORT=8083 APP_VERSION='1.2.40' 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.39",
"version": "1.2.40",
"description": "freeplanet",
"productName": "freeplanet",
"author": "Surya",
@@ -9,11 +9,11 @@
"license": "MIT",
"type": "module",
"scripts": {
"dev": "PORT=8087 APP_VERSION='1.2.39' quasar dev",
"dev": "PORT=8087 APP_VERSION='1.2.40' quasar dev",
"dev_noCheck": "SKIP_TSC=true quasar dev",
"build": "quasar build",
"buildpwa": "NODE_ENV=production APP_VERSION='1.2.39' quasar build -m pwa",
"buildpwatest": "NODE_ENV=production APP_VERSION='1.2.39' quasar build -m pwa",
"buildpwa": "NODE_ENV=production APP_VERSION='1.2.40' quasar build -m pwa",
"buildpwatest": "NODE_ENV=production APP_VERSION='1.2.40' 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.39' quasar dev -m pwa",
"spa": "NODE_ENV=development PORT=8087 APP_VERSION='1.2.39' quasar dev",
"pwa": "NODE_ENV=development PORT=8097 APP_VERSION='1.2.40' quasar dev -m pwa",
"spa": "NODE_ENV=development PORT=8087 APP_VERSION='1.2.40' 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.39",
"version": "1.2.40",
"description": "Gruppo Macro",
"productName": "Gruppo Macro",
"author": "Surya",
@@ -9,20 +9,20 @@
"license": "MIT",
"type": "module",
"scripts": {
"dev": "PORT=8089 APP_VERSION='1.2.39' quasar dev",
"dev": "PORT=8089 APP_VERSION='1.2.40' quasar dev",
"dev_noCheck": "SKIP_TSC=true quasar dev",
"build": "quasar build",
"buildpwa": "NODE_ENV=production APP_VERSION='1.2.39' quasar build -m pwa",
"buildpwatest": "NODE_ENV=production APP_VERSION='1.2.39' quasar build -m pwa",
"buildpwa": "NODE_ENV=production APP_VERSION='1.2.40' quasar build -m pwa",
"buildpwatest": "NODE_ENV=production APP_VERSION='1.2.40' quasar build -m pwa",
"type-check": "vue-tsc --noEmit",
"type-check:watch": "vue-tsc --noEmit --watch",
"buildspa": "APP_VERSION='1.2.39' quasar build -m spa",
"buildspa": "APP_VERSION='1.2.40' 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.39' quasar dev -m pwa",
"spa": "NODE_ENV=development PORT=8089 APP_VERSION='1.2.39' quasar dev",
"pwa": "NODE_ENV=development PORT=8099 APP_VERSION='1.2.40' quasar dev -m pwa",
"spa": "NODE_ENV=development PORT=8089 APP_VERSION='1.2.40' 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.39",
"version": "1.2.40",
"description": "kolibrilab",
"productName": "kolibrilab",
"author": "Surya Paolo",
@@ -8,11 +8,11 @@
"keywords": [],
"license": "MIT",
"scripts": {
"dev": "PORT=8083 APP_VERSION='1.2.39' quasar dev",
"dev": "PORT=8083 APP_VERSION='1.2.40' quasar dev",
"dev_noCheck": "SKIP_TSC=true quasar dev",
"build": "quasar build",
"buildpwa": "NODE_ENV=production APP_VERSION='1.2.39' quasar build -m pwa",
"buildpwatest": "NODE_ENV=production APP_VERSION='1.2.39' quasar build -m pwa",
"buildpwa": "NODE_ENV=production APP_VERSION='1.2.40' quasar build -m pwa",
"buildpwatest": "NODE_ENV=production APP_VERSION='1.2.40' 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.39' quasar dev -m pwa",
"spa": "NODE_ENV=development PORT=8083 APP_VERSION='1.2.39' quasar dev",
"pwa": "NODE_ENV=development PORT=8093 APP_VERSION='1.2.40' quasar dev -m pwa",
"spa": "NODE_ENV=development PORT=8083 APP_VERSION='1.2.40' 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": "piuchebuono",
"version": "1.2.39",
"version": "1.2.40",
"description": "PiuCheBuono",
"productName": "PiuCheBuono",
"author": "Surya",
@@ -9,11 +9,11 @@
"license": "MIT",
"type": "module",
"scripts": {
"dev": "PORT=8085 APP_VERSION='1.2.39' quasar dev",
"dev": "PORT=8085 APP_VERSION='1.2.40' quasar dev",
"dev_noCheck": "SKIP_TSC=true quasar dev",
"build": "quasar build",
"buildpwa": "NODE_ENV=production APP_VERSION='1.2.39' quasar build -m pwa",
"buildpwatest": "NODE_ENV=production APP_VERSION='1.2.39' quasar build -m pwa",
"buildpwa": "NODE_ENV=production APP_VERSION='1.2.40' quasar build -m pwa",
"buildpwatest": "NODE_ENV=production APP_VERSION='1.2.40' 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.39' quasar dev -m pwa",
"spa": "NODE_ENV=development PORT=8085 APP_VERSION='1.2.39' quasar dev",
"pwa": "NODE_ENV=development PORT=8085 APP_VERSION='1.2.40' quasar dev -m pwa",
"spa": "NODE_ENV=development PORT=8085 APP_VERSION='1.2.40' 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.39",
"version": "1.2.40",
"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.39' PORT=8084 quasar dev",
"dev": "APP_VERSION='1.2.40' PORT=8084 quasar dev",
"dev_noCheck": "SKIP_TSC=true quasar dev",
"build": "quasar build",
"buildpwa": "NODE_ENV=production APP_VERSION='1.2.39' quasar build -m pwa",
"buildpwatest": "NODE_ENV=production APP_VERSION='1.2.39' quasar build -m pwa",
"buildpwa": "NODE_ENV=production APP_VERSION='1.2.40' quasar build -m pwa",
"buildpwatest": "NODE_ENV=production APP_VERSION='1.2.40' 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.39' quasar dev -m pwa",
"spa": "NODE_ENV=development PORT=8084 APP_VERSION='1.2.39' quasar dev",
"pwa": "NODE_ENV=development PORT=8094 APP_VERSION='1.2.40' quasar dev -m pwa",
"spa": "NODE_ENV=development PORT=8084 APP_VERSION='1.2.40' 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.39";
const VITE_APP_VERSION = "1.2.40";
// Costanti di configurazione
const DYNAMIC_CACHE = 'dynamic-cache-v2';

View File

@@ -21,7 +21,7 @@
:finder="finder"
labelElemFind="trovati"
:choose_visutype="visuType"
:butt_modif_new="tools.isAdmin()"
:butt_modif_new="!tools.isUtente()"
:noresultLabel="t('grid.nosearchfound')"
:arrfilters="arrfilterand"
:filtercustom="filtercustom"

View File

@@ -97,9 +97,9 @@
@click="click_opendetail()"
/>
</a>
<div class="q-ma-sm">
<div class="q-ma-sm no-print">
<div
class="row absolute-top-left semi-transparent"
class="row absolute-top-left semi-transparent "
style="z-index: 10"
>
<q-btn-dropdown

View File

@@ -69,6 +69,11 @@ export default defineComponent({
required: false,
default: 0,
},
enableExport: {
type: Boolean,
required: false,
default: false,
},
},
components: {
CMyFieldDb, CGridTableRec, CTitlePage,

View File

@@ -36,6 +36,7 @@
:heightcarousel="heightcarousel"
@clickButtBar="clickButtBar"
:tablesList="gettablesList()"
:enableExport="enableExport"
>
</CGridTableRec>
</div>

View File

@@ -2606,16 +2606,17 @@ export default defineComponent({
// console.log('row', serverData.value)
// console.log('mycolumns.value', mycolumns.value)
// naive encoding to csv format
const content = [mycolumns.value.map((col: any) => wrapCsvValue(col.label))].concat(
serverData.value.map((row: any) => mycolumns.value.map((col: any) => wrapCsvValue(
typeof col.field === 'function'
const headers = mycolumns.value.map((col: any) => wrapCsvValue(col.label));
const rows = serverData.value.map((row: any) =>
mycolumns.value.map((col: any) => {
const value = typeof col.field === 'function'
? col.field(row)
: tools.getValue(row, col.field, col.subfield),
col.format,
row,
col
)).join(','))
).join('\r\n')
: tools.getValue(row, col.field, col.subfield);
return wrapCsvValue(value, col.format, row, col);
}).join('|')
);
const content = [headers.join('|'), ...rows].join('\r\n');
const status = exportFile(
'export-' + mytable.value + '_' + tools.getstrYYMMDDHHMMDateTime(tools.getDateNow()) + '.csv',

View File

@@ -2264,7 +2264,7 @@ export default defineComponent({
col.format,
row,
col
)).join(','))
)).join('|'))
).join('\r\n')
const status = exportFile(

View File

@@ -1595,6 +1595,14 @@
@update:model-value="modifElem"
>
</q-toggle>
<q-toggle
v-model="myel.catalogo.showListaCollane"
color="positive"
icon="fas fa-file-pdf"
label="Mostra Lista Collane"
@update:model-value="modifElem"
>
</q-toggle>
<q-toggle
v-model="myel.catalogo.pdf"

View File

@@ -357,7 +357,7 @@
<q-tab-panel name="lista">
<CGridOriz table="catalogs" :tipovisu="costanti.VISUTABLE_TABLELIST" :prop_search="true" :finder="true"
:isCatalogoGenerale="myel.parambool3"
:showMap="false" :prop_modif="tools.isAdmin()"></CGridOriz>
:showMap="false" :prop_modif="tools.isAdmin()" :enableExport="true"></CGridOriz>
</q-tab-panel>
<q-tab-panel name="griglia">

View File

@@ -2,7 +2,7 @@
<q-card
v-if="myrec"
bordered
class="full-height flex flex-column"
class="full-height flex flex-column justify-evenly"
:style="`width: ` + opt.widthcard + `; ` + (opt.heightcard ? `height: ` + opt.heightcard + `;` : '')"
>
<q-img

View File

@@ -93,35 +93,6 @@ export default defineComponent({
})
async function mounted() {
console.log('mounted CProductTable')
loading.value = true
optionscatalogo.value = {
maxlength: props.scheda?.testo_bottom?.maxlength
}
const savedColumns = tools.getCookie("selColCat_2");
if (savedColumns) {
selectedColumns.value = savedColumns;
}
const savedSortAttribute = tools.getCookie("sortAttr");
if (savedSortAttribute) {
if (isColumnVisible(savedSortAttribute)) {
sortAttribute.value = savedSortAttribute;
const savedSortDir = tools.getCookie("sortDir");
if (savedSortDir) {
sortDirection.value = savedSortDir;
}
}
}
loading.value = false
}
// Aggiorna la copia locale quando il prop cambia
watch(
() => props.lista_prodotti,
@@ -167,6 +138,36 @@ export default defineComponent({
{ name: "actions", label: "Azioni", field: "", align: "center", visu: costanti.VISUCAMPI.PER_EDITORE, noexp: true, notsortable: true },
];
async function mounted() {
console.log('mounted CProductTable')
loading.value = true
optionscatalogo.value = {
maxlength: props.scheda?.testo_bottom?.maxlength
}
const savedColumns = tools.getCookie("selColCat_2");
if (savedColumns) {
selectedColumns.value = savedColumns;
}
const savedSortAttribute = tools.getCookie("sortAttr");
if (savedSortAttribute && props.optcatalogo.showListaArgomenti) {
if (isColumnVisible(savedSortAttribute)) {
sortAttribute.value = savedSortAttribute;
const savedSortDir = tools.getCookie("sortDir");
if (savedSortDir) {
sortDirection.value = savedSortDir;
}
}
}
loading.value = false
}
function getFieldValue(element: any, field: any): any {
if (!element)
return ''

View File

@@ -249,7 +249,7 @@ export default defineComponent({
}
function collabel(rec: any) {
console.log('Record:', rec)
let label = ''
if (rec && rec.productInfo) {
if (productStore.isNovitaById(rec.productInfo.date_pub))

View File

@@ -2564,3 +2564,7 @@ body.body--dark {
border-radius: 10px !important;
text-shadow: .05rem .05rem .15rem #878787;
}
.no-print {
display: none !important;
}

View File

@@ -893,6 +893,7 @@ export interface IOptCatalogo {
indebug?: boolean
maxnumlibri?: number
showListaArgomenti?: boolean
showListaCollane?: boolean
generazionePDFInCorso?: boolean
first_page?: IDimensioni

View File

@@ -256,7 +256,7 @@ export interface ICatPrTotali {
}
export interface ICollaneTotali {
_id: string,
name: string,
title: string,
quanti?: number,
}

View File

@@ -9,7 +9,7 @@ const msg_it = {
guida_passopasso: 'Guida Passo Passo',
},
export: {
csv: 'Esporta Movimenti',
csv: 'Esporta Lista',
},
grid: {
show_campi_avanzati: 'Visualizza campi aggiuntivi',

View File

@@ -102,6 +102,7 @@ export const tools = {
COOK_MAP_CENTER_LONG: 'MAP_LONG',
COOK_MAP_ZOOM: 'MAP_Z',
COOK_CATEGORIA: 'CATEG',
COOK_COLLANA: 'COLL',
COOK_MAPBOUNDS: 'MAP-B',
COOK_LAST_PROD_SEARCH: 'LPR',

View File

@@ -129,6 +129,10 @@ export const useProducts = defineStore('Products', {
},
getCollane: (state: IProductsState) => (): ICollana[] => {
return state.collane
},
isDisponibile: (state: IProductsState) => (product: IProduct): boolean => {
return product?.arrvariazioni?.[0]?.quantita > 1
},
@@ -365,7 +369,7 @@ export const useProducts = defineStore('Products', {
},
getTotaliProdottiByIdCollana: (state: IProductsState) => (idCollana: string): number => {
const myfirstcat = state.collanetotali!.find((rec: ICollaneTotali) => rec._id === idCollana)
const myfirstcat = state.collane.find((rec: ICollaneTotali) => rec._id === idCollana)
if (myfirstcat) {
return myfirstcat.quanti!
@@ -1759,6 +1763,8 @@ export const useProducts = defineStore('Products', {
let arr: any = []
const globalStore = useGlobalStore()
arr.push({ label: '[Nessuna]', value: '' })
if (arrschede) {
@@ -1766,7 +1772,8 @@ export const useProducts = defineStore('Products', {
let pagename = ''
if (recscheda.scheda) {
if (recscheda.idPageOrig) {
const page = this.mypage?.find((page) => (`${page._id}`) === recscheda.idPageOrig)
const page = globalStore.getPageById(recscheda.idPageOrig)
// const page = this.mypage?.find((page) => (`${page._id}`) === recscheda.idPageOrig)
pagename = page ? page.title! : ''
}
if (pagename)

View File

@@ -2525,7 +2525,7 @@ export const useGlobalStore = defineStore('GlobalStore', {
})
},
async convertPdf(pdfFile: any, width: string, height: string, compressione: string) {
async convertPdf(pdfFile: any, width: string, height: string, compressione: string, dir_out: string, file_out: string) {
try {
if (!pdfFile) {
@@ -2542,6 +2542,9 @@ export const useGlobalStore = defineStore('GlobalStore', {
formData.append('width', width); // Dimensione del PDF in cm
formData.append('height', height); // Dimensione del PDF in cm
formData.append('compressione', compressione);
formData.append('dir_out', dir_out);
formData.append('file_out', file_out);
formData.append('idapp', tools.getEnv('VITE_APP_ID'));
const response = await this.execConvertPDF(formData)

File diff suppressed because it is too large Load Diff

View File

@@ -98,11 +98,14 @@
</q-inner-loading>
<q-tab-panel
v-if="showListaArgomenti"
v-if="showListaFiltrata"
name="categorie"
>
<div class="row justify-center q-mx-auto bg-blue-1">
<div class="categories">
<div
class="categories"
v-if="optcatalogo.showListaArgomenti"
>
<div
v-for="(reccat, index) in getCatProds()"
:key="index"
@@ -113,6 +116,20 @@
{{ reccat.label }}
</div>
</div>
<div
class="categories"
v-else-if="optcatalogo.showListaCollane"
>
<div
v-for="(reccollana, index) in getCollane()"
:key="index"
class="category"
:class="{ category_sel: collana === reccollana.value }"
@click="collana = reccollana.value"
>
{{ reccollana.label }}
</div>
</div>
</div>
<div
@@ -120,10 +137,10 @@
class="text-center q-py-sm prod_trov"
>
<div
v-if="cat === '' && arrProducts.length === 0 && showListaArgomenti"
v-if="cat === '' && arrProducts.length === 0 && showListaFiltrata"
class="row justify-center text-h6"
>
Seleziona un Argomento
Seleziona {{ filtroStrApplicato }}
</div>
<span
v-else
@@ -151,7 +168,7 @@
</q-inner-loading>
<q-btn
v-if="!showListaArgomenti"
v-if="!showListaFiltrata"
rounded
icon="fas fa-redo"
label="Rigenera Lista"
@@ -159,8 +176,8 @@
@click="rigeneraLibri = true"
></q-btn>
<!--<q-btn
v-if="!showListaArgomenti"
<!--<q-bcctn
v-if="!showListaFiltrata"
rounded
label="Riordina"
color="primary"
@@ -168,7 +185,7 @@
></q-btn>-->
<q-btn
v-if="!showListaArgomenti"
v-if="!showListaFiltrata"
rounded
label="Aggiungi"
icon="fas fa-plus"
@@ -178,7 +195,7 @@
<div
class="q-ma-sm row"
style="border-radius: 10px; border: 1px solid #ccc"
v-if="showListaArgomenti"
v-if="showListaFiltrata"
>
<q-select
v-model="optrigenera.visibilitaDisp"
@@ -247,12 +264,12 @@
>
<div class="container">
<q-tabs
v-if="showListaArgomenti"
v-model="tabvisu"
dense
class="bg-indigo text-white"
>
<q-tab
v-if="showListaFiltrata"
name="categorie"
icon="fas fa-folder-open"
label="Categorie"
@@ -265,7 +282,7 @@
>
</q-tab>
<q-tab
v-if="showListaArgomenti"
v-if="showListaFiltrata"
name="autori"
icon="fas fa-user"
label="Autori"
@@ -278,7 +295,7 @@
>
</q-tab>
<q-tab
v-if="showListaArgomenti && false"
v-if="showListaFiltrata && false"
name="ricerca"
icon="fas fa-search"
label="Cerca"
@@ -291,7 +308,7 @@
>
</q-tab>
<q-tab
v-if="showListaArgomenti"
v-if="!tools.isUtente()"
name="genera"
icon="fas fa-book"
label="Genera"
@@ -305,11 +322,14 @@
keep-alive
>
<q-tab-panel
v-if="showListaArgomenti"
v-if="showListaFiltrata"
name="categorie"
>
<div class="row justify-center q-mx-auto bg-blue-1">
<div class="categories">
<div
class="categories"
v-if="optcatalogo.showListaArgomenti"
>
<div
v-for="(reccat, index) in getCatProds()"
:key="index"
@@ -320,6 +340,20 @@
{{ reccat.label }}
</div>
</div>
<div
class="categories"
v-else-if="optcatalogo.showListaCollane"
>
<div
v-for="(reccollana, index) in getCollane()"
:key="index"
class="category"
:class="{ category_sel: collana === reccollana.value }"
@click="collana = reccollana.value"
>
{{ reccollana.label }}
</div>
</div>
</div>
</q-tab-panel>
<q-tab-panel name="autori">
@@ -373,7 +407,8 @@
</q-toolbar>
</q-tab-panel>
<q-tab-panel name="genera">
<div v-if="tools.isEditor() || tools.isCommerciale()">
<div v-if="!tools.isUtente()" class="row justify-center">
<q-btn
v-if="optcatalogo.pdf && !optcatalogo.generazionePDFInCorso"
:label="`Prepara PDF`"
@@ -435,7 +470,7 @@
</q-tab-panels>
<div
v-if="showListaArgomenti"
v-if="showListaFiltrata"
class="row justify-center q-mx-auto"
>
<q-select
@@ -464,10 +499,10 @@
<div class="text-center q-py-sm prod_trov">
<div
v-if="cat === '' && arrProducts.length === 0 && showListaArgomenti"
v-if="cat === '' && arrProducts.length === 0 && showListaFiltrata"
class="row justify-center text-h6"
>
Seleziona un Argomento
Seleziona {{ filtroStrApplicato }}
</div>
<span
v-else
@@ -579,6 +614,7 @@
<div
v-for="(page, pageIndex) in groupedPages(recscheda)"
:key="pageIndex"
class="pdf-section"
>
<div
v-if="containsProducts(page)"

View File

@@ -874,6 +874,11 @@
dependencies:
regenerator-runtime "^0.14.0"
"@babel/runtime@^7.26.7":
version "7.27.1"
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.27.1.tgz#9fce313d12c9a77507f264de74626e87fd0dc541"
integrity sha512-1x3D2xEk2fRo3PAhwQwu5UubzgiVWSXTBfWpVd2Mx2AzRqJuDJCsgaDVZ7HB5iGzDW1Hl1sWN2mFyKjmR9uAog==
"@babel/template@^7.25.9", "@babel/template@^7.26.9", "@babel/template@^7.3.3":
version "7.26.9"
resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.26.9.tgz#4577ad3ddf43d194528cff4e1fa6b232fa609bb2"
@@ -2330,6 +2335,20 @@
"@parcel/utils" "2.14.1"
nullthrows "^1.1.1"
"@pdf-lib/standard-fonts@^1.0.0":
version "1.0.0"
resolved "https://registry.yarnpkg.com/@pdf-lib/standard-fonts/-/standard-fonts-1.0.0.tgz#8ba691c4421f71662ed07c9a0294b44528af2d7f"
integrity sha512-hU30BK9IUN/su0Mn9VdlVKsWBS6GyhVfqjwl1FjZN4TxP6cCw0jP2w7V3Hf5uX7M0AZJ16vey9yE0ny7Sa59ZA==
dependencies:
pako "^1.0.6"
"@pdf-lib/upng@^1.0.1":
version "1.0.1"
resolved "https://registry.yarnpkg.com/@pdf-lib/upng/-/upng-1.0.1.tgz#7dc9c636271aca007a9df4deaf2dd7e7960280cb"
integrity sha512-dQK2FUMQtowVP00mtIksrlZhdFXQZPC+taih1q4CvPZ5vqdxR/LKBaFg0oAfzd1GlHZXXSPdQfzQnt+ViGvEIQ==
dependencies:
pako "^1.0.10"
"@pkgjs/parseargs@^0.11.0":
version "0.11.0"
resolved "https://registry.yarnpkg.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33"
@@ -4604,6 +4623,20 @@ caniuse-lite@^1.0.30001702:
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001703.tgz#977cb4920598c158f491ecf4f4f2cfed9e354718"
integrity sha512-kRlAGTRWgPsOj7oARC9m1okJEXdL/8fekFVcxA8Hl7GH4r/sN4OJn/i6Flde373T50KS7Y37oFbMwlE8+F42kQ==
canvg@^3.0.11:
version "3.0.11"
resolved "https://registry.yarnpkg.com/canvg/-/canvg-3.0.11.tgz#4b4290a6c7fa36871fac2b14e432eff33b33cf2b"
integrity sha512-5ON+q7jCTgMp9cjpu4Jo6XbvfYwSB2Ow3kzHKfIyJfaCAOHLbdKPQqGKgfED/R5B+3TFFfe8pegYA+b423SRyA==
dependencies:
"@babel/runtime" "^7.12.5"
"@types/raf" "^3.4.0"
core-js "^3.8.3"
raf "^3.4.1"
regenerator-runtime "^0.13.7"
rgbcolor "^1.0.1"
stackblur-canvas "^2.0.0"
svg-pathdata "^6.0.3"
canvg@^3.0.6:
version "3.0.10"
resolved "https://registry.yarnpkg.com/canvg/-/canvg-3.0.10.tgz#8e52a2d088b6ffa23ac78970b2a9eebfae0ef4b3"
@@ -6332,6 +6365,11 @@ file-loader@^6.2.0:
loader-utils "^2.0.0"
schema-utils "^3.0.0"
file-saver@^2.0.5:
version "2.0.5"
resolved "https://registry.yarnpkg.com/file-saver/-/file-saver-2.0.5.tgz#d61cfe2ce059f414d899e9dd6d4107ee25670c38"
integrity sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA==
filelist@^1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/filelist/-/filelist-1.0.4.tgz#f78978a1e944775ff9e62e744424f215e58352b5"
@@ -6874,7 +6912,7 @@ html-minifier-terser@^7.2.0:
relateurl "^0.2.7"
terser "^5.15.1"
html2canvas@^1.0.0, html2canvas@^1.0.0-rc.5:
html2canvas@^1.0.0, html2canvas@^1.0.0-rc.5, html2canvas@^1.4.1:
version "1.4.1"
resolved "https://registry.yarnpkg.com/html2canvas/-/html2canvas-1.4.1.tgz#7cef1888311b5011d507794a066041b14669a543"
integrity sha512-fPU6BHNpsyIhr8yyMpTLLxAbkaK8ArIBcmZIRiBLiDhjeqvXolaEmDGmELFuX9I4xDcaKKcJl+TKZLqruBbmWA==
@@ -8040,6 +8078,21 @@ jspdf@^3.0.0:
dompurify "^3.2.4"
html2canvas "^1.0.0-rc.5"
jspdf@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/jspdf/-/jspdf-3.0.1.tgz#d81e1964f354f60412516eb2449ea2cccd4d2a3b"
integrity sha512-qaGIxqxetdoNnFQQXxTKUD9/Z7AloLaw94fFsOiJMxbfYdBbrBuhWmbzI8TVjrw7s3jBY1PFHofBKMV/wZPapg==
dependencies:
"@babel/runtime" "^7.26.7"
atob "^2.1.2"
btoa "^1.2.1"
fflate "^0.8.1"
optionalDependencies:
canvg "^3.0.11"
core-js "^3.6.0"
dompurify "^3.2.4"
html2canvas "^1.0.0-rc.5"
jsqr@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/jsqr/-/jsqr-1.4.0.tgz#8efb8d0a7cc6863cb6d95116b9069123ce9eb2d1"
@@ -8917,6 +8970,11 @@ package-json-from-dist@^1.0.0:
resolved "https://registry.yarnpkg.com/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz#4f1471a010827a86f94cfd9b0727e36d267de505"
integrity sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==
pako@^1.0.10, pako@^1.0.11, pako@^1.0.6:
version "1.0.11"
resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf"
integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==
param-case@^3.0.4:
version "3.0.4"
resolved "https://registry.yarnpkg.com/param-case/-/param-case-3.0.4.tgz#7d17fe4aa12bde34d4a77d91acfb6219caad01c5"
@@ -9057,6 +9115,16 @@ pbkdf2@^3.1.2:
safe-buffer "^5.0.1"
sha.js "^2.4.8"
pdf-lib@^1.17.1:
version "1.17.1"
resolved "https://registry.yarnpkg.com/pdf-lib/-/pdf-lib-1.17.1.tgz#9e7dd21261a0c1fb17992580885b39e7d08f451f"
integrity sha512-V/mpyJAoTsN4cnP31vc0wfNA1+p20evqqnap0KLoRUN0Yk/p3wN52DOEsL4oBFcLdb76hlpKPtzJIgo67j/XLw==
dependencies:
"@pdf-lib/standard-fonts" "^1.0.0"
"@pdf-lib/upng" "^1.0.1"
pako "^1.0.11"
tslib "^1.11.1"
pend@~1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50"
@@ -10998,6 +11066,11 @@ tslib@2.3.0:
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.0.tgz#803b8cdab3e12ba581a4ca41c8839bbb0dacb09e"
integrity sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==
tslib@^1.11.1:
version "1.14.1"
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00"
integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==
tslib@^2.0.3, tslib@^2.1.0, tslib@^2.6.2, tslib@^2.8.0:
version "2.8.1"
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f"