- Modifiche a ProductInfo... Continua

This commit is contained in:
Surya Paolo
2025-08-29 23:34:37 +02:00
parent 5d8e38fea6
commit 4f4297ca21
77 changed files with 3830 additions and 1281 deletions

View File

@@ -61,6 +61,7 @@
"leaflet.markercluster": "^1.5.3", "leaflet.markercluster": "^1.5.3",
"localforage": "^1.10.0", "localforage": "^1.10.0",
"lodash": "^4.17.21", "lodash": "^4.17.21",
"mongoose-paginate-v2": "^1.9.1",
"normalize.css": "^8.0.1", "normalize.css": "^8.0.1",
"nprogress": "^0.2.0", "nprogress": "^0.2.0",
"pinia": "^3.0.3", "pinia": "^3.0.3",

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 231 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 251 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 510 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 255 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 536 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 120 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 124 KiB

View File

@@ -1,8 +1,8 @@
{ {
"name": "riso", "name": "riso",
"version": "1.2.67", "version": "1.2.67",
"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 💚 - Rete Italiana Scambi Orizzontali",
"productName": "Riso", "description": "Progetto RISO (Rete Italiana Scambi Orizzontali) promuove una rete di comunità locali che favoriscono scambi di beni, servizi e ospitalità. Con l'App RISO, sviluppata per facilitare il baratto, il dono e l'uso di monete alternative come i RIS, il progetto crea legami autentici basati sulla fiducia e sostenibilità. Partecipa agli scambi e costruisci una comunità più consapevole e autosufficiente.",
"author": "Surya", "author": "Surya",
"private": true, "private": true,
"keywords": [], "keywords": [],
@@ -61,6 +61,7 @@
"leaflet.markercluster": "^1.5.3", "leaflet.markercluster": "^1.5.3",
"localforage": "^1.10.0", "localforage": "^1.10.0",
"lodash": "^4.17.21", "lodash": "^4.17.21",
"mongoose-paginate-v2": "^1.9.1",
"normalize.css": "^8.0.1", "normalize.css": "^8.0.1",
"nprogress": "^0.2.0", "nprogress": "^0.2.0",
"pinia": "^3.0.3", "pinia": "^3.0.3",

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 231 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 251 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 510 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 117 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 117 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 117 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 117 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 117 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 117 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 117 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 117 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 255 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 536 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 120 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 124 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 251 KiB

View File

@@ -1,6 +1,6 @@
const msg_website_it = { const msg_website_it = {
ws: { ws: {
sitename: 'Riso', sitename: 'RISO',
siteshortname: 'RISO', siteshortname: 'RISO',
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.',
keywords: 'riso, piattaforma di scambio, rete italiana scambio orizzontale, riso app, riso piattaforma, scambio e baratto, momenta RIS', keywords: 'riso, piattaforma di scambio, rete italiana scambio orizzontale, riso app, riso piattaforma, scambio e baratto, momenta RIS',

View File

@@ -1 +1 @@
TERMINA DI LAVORARE SU gruppomacro.app: (Sovrascrivo!) TERMINA DI LAVORARE SU piuchebuono.app: (Sovrascrivo!)

View File

@@ -451,7 +451,7 @@ export const shared_consts = {
TABLES_DIRECTORY_A_PARTE: ['mygroups'], TABLES_DIRECTORY_A_PARTE: ['mygroups'],
TABLES_WITH_ADMINS: ['mygroups', 'circuits'], TABLES_WITH_ADMINS: ['mygroups', 'circuits'],
TABLES_DIRECTORY_SINGLE_IMG: ['circuits', 'catalogs', 'raccoltacataloghis'], TABLES_DIRECTORY_SINGLE_IMG: ['circuits', 'catalogs', 'raccoltacataloghis'],
TABLES_IMAGEFILE_SINGOLO: ['productInfos', 'products'], TABLES_IMAGEFILE_SINGOLO: ['products'],
TABLES_PER_EDITORI: ['catalogs', 'raccoltacataloghis'], TABLES_PER_EDITORI: ['catalogs', 'raccoltacataloghis'],

View File

@@ -97,7 +97,7 @@
:src=" :src="
myproduct.productInfo.imagefile myproduct.productInfo.imagefile
? tools.getFullFileNameByImageFile( ? tools.getFullFileNameByImageFile(
'productInfos', 'products',
myproduct.productInfo.imagefile myproduct.productInfo.imagefile
) )
: myproduct.productInfo.image_link : myproduct.productInfo.image_link
@@ -901,8 +901,8 @@
<CModifTrafiletto <CModifTrafiletto
v-model="myproduct" v-model="myproduct"
titolo="Sinossi" titolo="Sinossi"
table="productinfos" table="products"
mykey="descr_trafiletto_catalogo" mykey="productInfo.descr_trafiletto_catalogo"
:canModify="true" :canModify="true"
:type="costanti.FieldType.editor_nohtml" :type="costanti.FieldType.editor_nohtml"
@updateproductmodif="updateproductmodif" @updateproductmodif="updateproductmodif"

View File

@@ -377,8 +377,7 @@ export default defineComponent({
} }
function getrealdirectory() { function getrealdirectory() {
if (props.directory == 'productinfos') return 'products'; return props.directory;
else return props.directory;
} }
function getParamDir() { function getParamDir() {

View File

@@ -41,7 +41,7 @@
:src=" :src="
myproduct.productInfo.imagefile myproduct.productInfo.imagefile
? tools.getFullFileNameByImageFile( ? tools.getFullFileNameByImageFile(
'productInfos', 'products',
myproduct.productInfo.imagefile myproduct.productInfo.imagefile
) )
: myproduct.productInfo.image_link : myproduct.productInfo.image_link
@@ -417,8 +417,8 @@
v-if="editOn" v-if="editOn"
title="" title=""
:editOn="editOn" :editOn="editOn"
table="productinfos" table="products"
:id="myproduct.productInfo._id" :id="myproduct._id"
:rec="myproduct.productInfo" :rec="myproduct.productInfo"
mykey="note" mykey="note"
debounce="1000" debounce="1000"
@@ -450,8 +450,8 @@
v-if="editOn" v-if="editOn"
:editOn="editOn" :editOn="editOn"
:title="t('products.imagefile')" :title="t('products.imagefile')"
table="productinfos" table="products"
:id="myproduct.productInfo._id" :id="myproduct._id"
:rec="myproduct.productInfo" :rec="myproduct.productInfo"
mykey="imagefile" mykey="imagefile"
debounce="1000" debounce="1000"
@@ -1157,7 +1157,7 @@
:src=" :src="
myproduct.productInfo.imagefile myproduct.productInfo.imagefile
? tools.getFullFileNameByImageFile( ? tools.getFullFileNameByImageFile(
'productInfos', 'products',
myproduct.productInfo.imagefile myproduct.productInfo.imagefile
) )
: myproduct.productInfo.image_link : myproduct.productInfo.image_link

View File

@@ -632,7 +632,7 @@ export default defineComponent({
case 'image': case 'image':
return element.productInfo?.imagefile return element.productInfo?.imagefile
? tools.getFullFileNameByImageFile( ? tools.getFullFileNameByImageFile(
'productInfos', 'products',
element.productInfo?.imagefile element.productInfo?.imagefile
) )
: element.productInfo?.image_link; : element.productInfo?.image_link;

View File

@@ -388,8 +388,8 @@
<CModifTrafiletto <CModifTrafiletto
v-model="selProd" v-model="selProd"
titolo="Sinossi" titolo="Sinossi"
table="productinfos" table="products"
mykey="descr_trafiletto_catalogo" mykey="productInfo.descr_trafiletto_catalogo"
:canModify="true" :canModify="true"
:type="costanti.FieldType.editor_nohtml" :type="costanti.FieldType.editor_nohtml"
@updateproductmodif="updateproductmodif" @updateproductmodif="updateproductmodif"

View File

@@ -81,8 +81,8 @@ export default defineComponent({
{ {
editOn: false, editOn: false,
label: 'Fatturati', label: 'Fatturati',
table: 'productinfos', table: 'products',
id: myproduct.value.productInfo._id, // ID dinamico, da sostituire con il valore reale id: myproduct.value._id, // ID dinamico, da sostituire con il valore reale
rec: myproduct.value.productInfo, // Oggetto dinamico, da sostituire con il valore reale rec: myproduct.value.productInfo, // Oggetto dinamico, da sostituire con il valore reale
mykey: 'totFat', mykey: 'totFat',
debounce: '1000', debounce: '1000',
@@ -91,8 +91,8 @@ export default defineComponent({
{ {
editOn: false, editOn: false,
label: 'Fatturati ultimi 3 Mesi', label: 'Fatturati ultimi 3 Mesi',
table: 'productinfos', table: 'products',
id: myproduct.value.productInfo._id, id: myproduct.value._id,
rec: myproduct.value.productInfo, rec: myproduct.value.productInfo,
mykey: 'fatLast3M', mykey: 'fatLast3M',
debounce: '1000', debounce: '1000',
@@ -101,8 +101,8 @@ export default defineComponent({
{ {
editOn: false, editOn: false,
label: 'Fatturati ultimi 6 Mesi', label: 'Fatturati ultimi 6 Mesi',
table: 'productinfos', table: 'products',
id: myproduct.value.productInfo._id, id: myproduct.value._id,
rec: myproduct.value.productInfo, rec: myproduct.value.productInfo,
mykey: 'fatLast6M', mykey: 'fatLast6M',
debounce: '1000', debounce: '1000',
@@ -111,8 +111,8 @@ export default defineComponent({
{ {
editOn: false, editOn: false,
label: 'Fatturati ultimo Anno', label: 'Fatturati ultimo Anno',
table: 'productinfos', table: 'products',
id: myproduct.value.productInfo._id, id: myproduct.value._id,
rec: myproduct.value.productInfo, rec: myproduct.value.productInfo,
mykey: 'fatLast1Y', mykey: 'fatLast1Y',
debounce: '1000', debounce: '1000',
@@ -121,8 +121,8 @@ export default defineComponent({
{ {
editOn: false, editOn: false,
label: 'Fatturati ultimi 2 Anni', label: 'Fatturati ultimi 2 Anni',
table: 'productinfos', table: 'products',
id: myproduct.value.productInfo._id, id: myproduct.value._id,
rec: myproduct.value.productInfo, rec: myproduct.value.productInfo,
mykey: 'fatLast2Y', mykey: 'fatLast2Y',
debounce: '1000', debounce: '1000',
@@ -131,8 +131,8 @@ export default defineComponent({
{ {
editOn: false, editOn: false,
label: 'Venduti', label: 'Venduti',
table: 'productinfos', table: 'products',
id: myproduct.value.productInfo._id, // ID dinamico, da sostituire con il valore reale id: myproduct.value._id, // ID dinamico, da sostituire con il valore reale
rec: myproduct.value.productInfo, // Oggetto dinamico, da sostituire con il valore reale rec: myproduct.value.productInfo, // Oggetto dinamico, da sostituire con il valore reale
mykey: 'totVen', mykey: 'totVen',
debounce: '1000', debounce: '1000',
@@ -141,8 +141,8 @@ export default defineComponent({
{ {
editOn: false, editOn: false,
label: 'Venduti Ultimi 3 Mesi', label: 'Venduti Ultimi 3 Mesi',
table: 'productinfos', table: 'products',
id: myproduct.value.productInfo._id, id: myproduct.value._id,
rec: myproduct.value.productInfo, rec: myproduct.value.productInfo,
mykey: 'vLast3M', mykey: 'vLast3M',
debounce: '1000', debounce: '1000',
@@ -151,8 +151,8 @@ export default defineComponent({
{ {
editOn: false, editOn: false,
label: 'Venduti Ultimi 6 Mesi', label: 'Venduti Ultimi 6 Mesi',
table: 'productinfos', table: 'products',
id: myproduct.value.productInfo._id, id: myproduct.value._id,
rec: myproduct.value.productInfo, rec: myproduct.value.productInfo,
mykey: 'vLast6M', mykey: 'vLast6M',
debounce: '1000', debounce: '1000',
@@ -161,8 +161,8 @@ export default defineComponent({
{ {
editOn: false, editOn: false,
label: 'Venduti Ultimo Anno', label: 'Venduti Ultimo Anno',
table: 'productinfos', table: 'products',
id: myproduct.value.productInfo._id, id: myproduct.value._id,
rec: myproduct.value.productInfo, rec: myproduct.value.productInfo,
mykey: 'vLast1Y', mykey: 'vLast1Y',
debounce: '1000', debounce: '1000',
@@ -171,8 +171,8 @@ export default defineComponent({
{ {
editOn: false, editOn: false,
label: 'Venduti Ultimi 2 Anni', label: 'Venduti Ultimi 2 Anni',
table: 'productinfos', table: 'products',
id: myproduct.value.productInfo._id, id: myproduct.value._id,
rec: myproduct.value.productInfo, rec: myproduct.value.productInfo,
mykey: 'vLast2Y', mykey: 'vLast2Y',
debounce: '1000', debounce: '1000',
@@ -183,33 +183,14 @@ export default defineComponent({
/*{ /*{
editOn: false, editOn: false,
label: "Ranking 3 Mesi", label: "Ranking 3 Mesi",
table: "productinfos", table: "products",
id: myproduct.value.productInfo._id, id: myproduct.value._id,
rec: myproduct.value.productInfo, rec: myproduct.value.productInfo,
mykey: "rank3M", mykey: "rank3M",
debounce: "1000", debounce: "1000",
type: costanti.FieldType.number, type: costanti.FieldType.number,
}, },
{ */
editOn: false,
label: "Ranking 6 Mesi",
table: "productinfos",
id: myproduct.value.productInfo._id,
rec: myproduct.value.productInfo,
mykey: "rank6M",
debounce: "1000",
type: costanti.FieldType.number,
},
{
editOn: false,
label: "Ranking 1 Anno",
table: "productinfos",
id: myproduct.value.productInfo._id,
rec: myproduct.value.productInfo,
mykey: "rank1Y",
debounce: "1000",
type: costanti.FieldType.number,
},*/
]; ];
return arrlist; return arrlist;
} }
@@ -220,8 +201,8 @@ export default defineComponent({
editOn: true, editOn: true,
label: 'Descrizione Sinossi per Catalogo', label: 'Descrizione Sinossi per Catalogo',
title: myproduct.value?.productInfo?.name, title: myproduct.value?.productInfo?.name,
table: 'productinfos', table: 'products',
id: myproduct.value.productInfo._id, // ID dinamico, da sostituire con il valore reale id: myproduct.value._id, // ID dinamico, da sostituire con il valore reale
rec: myproduct.value.productInfo, // Oggetto dinamico, da sostituire con il valore reale rec: myproduct.value.productInfo, // Oggetto dinamico, da sostituire con il valore reale
mykey: 'descr_trafiletto_catalogo', mykey: 'descr_trafiletto_catalogo',
debounce: '1000', debounce: '1000',
@@ -233,8 +214,8 @@ export default defineComponent({
editOn: true, editOn: true,
label: 'Descrizione breve macro', label: 'Descrizione breve macro',
title: myproduct.value?.productInfo?.name, title: myproduct.value?.productInfo?.name,
table: 'productinfos', table: 'products',
id: myproduct.value.productInfo._id, // ID dinamico, da sostituire con il valore reale id: myproduct.value._id, // ID dinamico, da sostituire con il valore reale
rec: myproduct.value.productInfo, // Oggetto dinamico, da sostituire con il valore reale rec: myproduct.value.productInfo, // Oggetto dinamico, da sostituire con il valore reale
mykey: 'descrizione_breve_macro', mykey: 'descrizione_breve_macro',
maxlength: 650, maxlength: 650,
@@ -246,8 +227,8 @@ export default defineComponent({
{ {
editOn: true, editOn: true,
label: 'Descrizione Estesa', label: 'Descrizione Estesa',
table: 'productinfos', table: 'products',
id: myproduct.value.productInfo._id, // ID dinamico, da sostituire con il valore reale id: myproduct.value._id, // ID dinamico, da sostituire con il valore reale
rec: myproduct.value.productInfo, // Oggetto dinamico, da sostituire con il valore reale rec: myproduct.value.productInfo, // Oggetto dinamico, da sostituire con il valore reale
mykey: 'descrizione_completa_macro', mykey: 'descrizione_completa_macro',
maxlength: props.scheda?.testo_bottom?.maxlength maxlength: props.scheda?.testo_bottom?.maxlength
@@ -261,8 +242,8 @@ export default defineComponent({
{ {
editOn: true, editOn: true,
label: 'Link a gruppomacro.com', label: 'Link a gruppomacro.com',
table: 'productinfos', table: 'products',
id: myproduct.value.productInfo._id, // ID dinamico, da sostituire con il valore reale id: myproduct.value._id, // ID dinamico, da sostituire con il valore reale
rec: myproduct.value.productInfo, // Oggetto dinamico, da sostituire con il valore reale rec: myproduct.value.productInfo, // Oggetto dinamico, da sostituire con il valore reale
mykey: 'link_macro', mykey: 'link_macro',
debounce: '1000', debounce: '1000',
@@ -273,8 +254,8 @@ export default defineComponent({
{ {
editOn: true, editOn: true,
label: 'Imagefile', label: 'Imagefile',
table: 'productinfos', table: 'products',
id: myproduct.value.productInfo._id, // ID dinamico, da sostituire con il valore reale id: myproduct.value._id, // ID dinamico, da sostituire con il valore reale
rec: myproduct.value.productInfo, // Oggetto dinamico, da sostituire con il valore reale rec: myproduct.value.productInfo, // Oggetto dinamico, da sostituire con il valore reale
mykey: 'imagefile', mykey: 'imagefile',
debounce: '1000', debounce: '1000',
@@ -292,8 +273,8 @@ export default defineComponent({
{ {
editOn: true, editOn: true,
label: 'Titolo', label: 'Titolo',
table: 'productinfos', table: 'products',
id: myproduct.value.productInfo._id, id: myproduct.value._id,
rec: myproduct.value.productInfo, // Oggetto dinamico, da sostituire con il valore reale rec: myproduct.value.productInfo, // Oggetto dinamico, da sostituire con il valore reale
mykey: 'name', mykey: 'name',
debounce: '1000', debounce: '1000',
@@ -314,8 +295,8 @@ export default defineComponent({
{ {
editOn: true, editOn: true,
label: 'SottoTitolo', label: 'SottoTitolo',
table: 'productinfos', table: 'products',
id: myproduct.value.productInfo._id, id: myproduct.value._id,
rec: myproduct.value.productInfo, rec: myproduct.value.productInfo,
mykey: 'sottotitolo', mykey: 'sottotitolo',
debounce: '1000', debounce: '1000',
@@ -325,8 +306,8 @@ export default defineComponent({
{ {
editOn: false, editOn: false,
label: 'Pubblicazione', label: 'Pubblicazione',
table: 'productinfos', table: 'products',
id: myproduct.value.productInfo._id, id: myproduct.value._id,
rec: myproduct.value.productInfo, rec: myproduct.value.productInfo,
mykey: 'date_pub', mykey: 'date_pub',
debounce: '1000', debounce: '1000',
@@ -347,8 +328,8 @@ export default defineComponent({
{ {
editOn: false, editOn: false,
label: 'Stato', label: 'Stato',
table: 'productinfos', table: 'products',
id: myproduct.value.productInfo._id, id: myproduct.value._id,
rec: myproduct.value.productInfo, rec: myproduct.value.productInfo,
mykey: 'idStatoProdotto', mykey: 'idStatoProdotto',
debounce: '1000', debounce: '1000',
@@ -359,7 +340,7 @@ export default defineComponent({
{ {
editOn: true, editOn: true,
label: 'Argomento', label: 'Argomento',
table: 'productinfos', table: 'products',
id: myproduct.value.productInfo?._id, id: myproduct.value.productInfo?._id,
rec: myproduct.value.productInfo, rec: myproduct.value.productInfo,
mykey: 'idCatProds', mykey: 'idCatProds',
@@ -465,8 +446,8 @@ export default defineComponent({
{ {
editOn: false, editOn: false,
label: 'Aggiornato (da GM) il', label: 'Aggiornato (da GM) il',
table: 'productinfos', table: 'products',
id: myproduct.value.productInfo._id, id: myproduct.value._id,
rec: myproduct.value.productInfo, rec: myproduct.value.productInfo,
mykey: 'date_updated_fromGM', mykey: 'date_updated_fromGM',
debounce: '1000', debounce: '1000',

View File

@@ -333,10 +333,7 @@ export default defineComponent({
onMounted(created) onMounted(created)
function getrealdirectory() { function getrealdirectory() {
if (props.directory == 'productinfos') return props.directory
return 'products'
else
return props.directory
} }
return { return {

View File

@@ -18,7 +18,7 @@
" "
:src=" :src="
tools.getFullFileNameByImageFile( tools.getFullFileNameByImageFile(
'productInfos', 'products',
order.product.productInfo.imagefile order.product.productInfo.imagefile
) )
" "

View File

@@ -190,13 +190,13 @@ export default function () {
if (idprod >= 0 && key) { if (idprod >= 0 && key) {
productStore.products[idprod][key as keyof IProduct] = value productStore.products[idprod][key as keyof IProduct] = value
} }
} else if (table === 'productinfos') { /*} else if (table === 'productinfos') {
const productStore = useProducts() const productStore = useProducts()
const idprod = productStore.products.findIndex((rec: IProduct) => rec.productInfo._id === id) const idprod = productStore.products.findIndex((rec: IProduct) => rec.productInfo._id === id)
if (idprod >= 0 && key) { if (idprod >= 0 && key) {
const myfield = key as keyof IProductInfo const myfield = key as keyof IProductInfo
productStore.products[idprod].productInfo[myfield] = value productStore.products[idprod].productInfo[myfield] = value
} }*/
} else if (table === 'arrvariazioni') { } else if (table === 'arrvariazioni') {
const productStore = useProducts() const productStore = useProducts()
const idprod = productStore.products.findIndex((rec: IProduct) => rec._id === id) const idprod = productStore.products.findIndex((rec: IProduct) => rec._id === id)

View File

@@ -123,7 +123,7 @@ export interface IProduct {
_id?: any _id?: any
active?: boolean active?: boolean
isbn?: string isbn?: string
idProductInfo?: string, // idProductInfo?: string,
productInfo: IProductInfo, productInfo: IProductInfo,
idProducer?: string, idProducer?: string,
idProvider?: string, idProvider?: string,
@@ -208,7 +208,7 @@ export interface IProductsState {
collane?: ICollana[] collane?: ICollana[]
catprods_gas: ICatProd[] catprods_gas: ICatProd[]
subcatprods: ISubCatProd[] subcatprods: ISubCatProd[]
productInfos: IProductInfo[] // productInfos: IProductInfo[]
userActive: IUserShort userActive: IUserShort
isPubblicatoById?: (idStatoProdotto: number) => boolean; isPubblicatoById?: (idStatoProdotto: number) => boolean;

View File

@@ -48,14 +48,14 @@ export default defineComponent({
preserveNullAndEmptyArrays: true, preserveNullAndEmptyArrays: true,
}, },
}, },
{ /*{
$lookup: { $lookup: {
from: 'productinfos', from: 'productinfos',
localField: 'product.idProductInfo', localField: 'product.idProductInfo',
foreignField: '_id', foreignField: '_id',
as: 'productInfo', as: 'productInfo',
}, },
}, },*/
{ {
$unwind: { $unwind: {
path: '$productInfo', path: '$productInfo',
@@ -109,10 +109,10 @@ export default defineComponent({
$group: { $group: {
_id: '$product._id', _id: '$product._id',
name: { name: {
$first: '$productInfo.name', $first: '$product.productInfo.name',
}, },
weight: { weight: {
$first: '$productInfo.weight', $first: '$product.productInfo.weight',
}, },
price_acquistato: { price_acquistato: {
$first: '$product.price_acquistato', $first: '$product.price_acquistato',

View File

@@ -291,7 +291,7 @@ function getRoutesEcomm(site: ISites) {
path: '/product/:idprod/:cosa', path: '/product/:idprod/:cosa',
materialIcon: 'event', materialIcon: 'event',
name: 'otherpages.product', name: 'otherpages.product',
component: () => import('@src/views/ecommerce/productInfo/productInfo.vue'), component: () => import('app/src/views/ecommerce/productView/productView.vue'),
inmenu: false, inmenu: false,
infooter: false infooter: false
}, },

File diff suppressed because it is too large Load Diff

View File

@@ -8974,8 +8974,6 @@ export const tools = {
ris = 'pages/' + (path ? path : myrow.path); ris = 'pages/' + (path ? path : myrow.path);
} else if (table === 'imgcards') { } else if (table === 'imgcards') {
ris = 'pages/' + path; ris = 'pages/' + path;
} else if (table === 'productInfos') {
ris = path;
} else if (table === 'imgs') { } else if (table === 'imgs') {
ris = path; ris = path;
} else { } else {

View File

@@ -141,7 +141,6 @@ export const useProducts = defineStore('Products', {
authors: [], authors: [],
publishers: [], publishers: [],
subcatprods: [], subcatprods: [],
productInfos: [],
userActive: { username: '', name: '', surname: '', _id: '' }, userActive: { username: '', name: '', surname: '', _id: '' },
}), }),

View File

@@ -537,7 +537,6 @@ export const useGlobalStore = defineStore('GlobalStore', {
else if (table === 'producers') ris = state.producers; else if (table === 'producers') ris = state.producers;
else if (table === 'storehouses') ris = state.storehouses; else if (table === 'storehouses') ris = state.storehouses;
else if (table === 'providers') ris = state.providers; else if (table === 'providers') ris = state.providers;
else if (table === 'productinfos') ris = Products.productInfos;
// else if (table === 'products') ris = Products.products // else if (table === 'products') ris = Products.products
else if (table === 'gasordines') ris = state.gasordines; else if (table === 'gasordines') ris = state.gasordines;
else if (table === 'scontisticas') ris = state.scontisticas; else if (table === 'scontisticas') ris = state.scontisticas;
@@ -2076,9 +2075,6 @@ export const useGlobalStore = defineStore('GlobalStore', {
this.gallery = res.data.gallery ? [...res.data.gallery] : []; this.gallery = res.data.gallery ? [...res.data.gallery] : [];
this.calzoom = res.data.calzoom ? [...res.data.calzoom] : []; this.calzoom = res.data.calzoom ? [...res.data.calzoom] : [];
Products.products = res.data.products ? [...res.data.products] : []; Products.products = res.data.products ? [...res.data.products] : [];
Products.productInfos = res.data.productInfos
? [...res.data.productInfos]
: [];
this.producers = res.data.producers ? [...res.data.producers] : []; this.producers = res.data.producers ? [...res.data.producers] : [];
this.storehouses = res.data.storehouses ? [...res.data.storehouses] : []; this.storehouses = res.data.storehouses ? [...res.data.storehouses] : [];
this.providers = res.data.providers ? [...res.data.providers] : []; this.providers = res.data.providers ? [...res.data.providers] : [];
@@ -3154,7 +3150,6 @@ export const useGlobalStore = defineStore('GlobalStore', {
try { try {
if (table === 'products') { if (table === 'products') {
await productStore.loadProductById(id, true); await productStore.loadProductById(id, true);
} else if (table === 'productinfos') {
} }
} catch (error) { } catch (error) {
console.error("Errore durante l'aggiornamento della tabella in memoria:", error); console.error("Errore durante l'aggiornamento della tabella in memoria:", error);

View File

@@ -1 +0,0 @@
export {default as ProductInfo} from './productInfo.vue'

View File

@@ -0,0 +1 @@
export {default as ProductInfo} from './productView.vue'

View File

@@ -4092,11 +4092,6 @@ acorn@^8.15.0:
resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.15.0.tgz#a360898bc415edaac46c8241f6383975b930b816" resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.15.0.tgz#a360898bc415edaac46c8241f6383975b930b816"
integrity sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg== integrity sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==
adler-32@~1.3.0:
version "1.3.1"
resolved "https://registry.yarnpkg.com/adler-32/-/adler-32-1.3.1.tgz#1dbf0b36dda0012189a32b3679061932df1821e2"
integrity sha512-ynZ4w/nUUv5rrsR8UUGoe1VC9hZj6V5hU9Qw1HlMDJGEJw5S7TfTErWTjMys6M7vr0YWcPqs3qAr4ss0nDfP+A==
ajv-keywords@^3.5.2: ajv-keywords@^3.5.2:
version "3.5.2" version "3.5.2"
resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d"
@@ -4882,14 +4877,6 @@ canvg@^3.0.6:
stackblur-canvas "^2.0.0" stackblur-canvas "^2.0.0"
svg-pathdata "^6.0.3" svg-pathdata "^6.0.3"
cfb@~1.2.1:
version "1.2.2"
resolved "https://registry.yarnpkg.com/cfb/-/cfb-1.2.2.tgz#94e687628c700e5155436dac05f74e08df23bc44"
integrity sha512-KfdUZsSOw19/ObEWasvBP/Ac4reZvAGauZhs6S/gqNhXhI7cKwvlH7ulj+dOEYnca4bm4SGo8C1bTAQvnTjgQA==
dependencies:
adler-32 "~1.3.0"
crc-32 "~1.2.0"
chalk@^1.1.1, chalk@^1.1.3: chalk@^1.1.1, chalk@^1.1.3:
version "1.1.3" version "1.1.3"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
@@ -5059,11 +5046,6 @@ coa@~1.0.1:
dependencies: dependencies:
q "^1.1.2" q "^1.1.2"
codepage@~1.15.0:
version "1.15.0"
resolved "https://registry.yarnpkg.com/codepage/-/codepage-1.15.0.tgz#2e00519024b39424ec66eeb3ec07227e692618ab"
integrity sha512-3g6NUTPd/YtuuGrhMnOMRjFc+LJw/bnMp3+0r/Wcz3IXUuCosKRJvMphm5+Q+bvTVGcJJuRvVLuYba+WojaFaA==
collect-v8-coverage@^1.0.2: collect-v8-coverage@^1.0.2:
version "1.0.2" version "1.0.2"
resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz#c0b29bcd33bcd0779a1344c2136051e6afd3d9e9" resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz#c0b29bcd33bcd0779a1344c2136051e6afd3d9e9"
@@ -5293,7 +5275,7 @@ cosmiconfig@^9.0.0:
js-yaml "^4.1.0" js-yaml "^4.1.0"
parse-json "^5.2.0" parse-json "^5.2.0"
crc-32@^1.2.0, crc-32@~1.2.0, crc-32@~1.2.1: crc-32@^1.2.0:
version "1.2.2" version "1.2.2"
resolved "https://registry.yarnpkg.com/crc-32/-/crc-32-1.2.2.tgz#3cad35a934b8bf71f25ca524b6da51fb7eace2ff" resolved "https://registry.yarnpkg.com/crc-32/-/crc-32-1.2.2.tgz#3cad35a934b8bf71f25ca524b6da51fb7eace2ff"
integrity sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ== integrity sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==
@@ -6671,11 +6653,6 @@ forwarded@0.2.0:
resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811"
integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==
frac@~1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/frac/-/frac-1.1.2.tgz#3d74f7f6478c88a1b5020306d747dc6313c74d0b"
integrity sha512-w/XBfkibaTl3YDqASwfDUqkna4Z2p9cFSr1aHDt0WoMTECnRfBOv2WArlZILlqgWlmdIlALXGpM2AOhEk5W3IA==
fraction.js@^4.3.7: fraction.js@^4.3.7:
version "4.3.7" version "4.3.7"
resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.3.7.tgz#06ca0085157e42fda7f9e726e79fefc4068840f7" resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.3.7.tgz#06ca0085157e42fda7f9e726e79fefc4068840f7"
@@ -8745,6 +8722,25 @@ mlly@^1.2.0, mlly@^1.7.4:
pkg-types "^1.3.0" pkg-types "^1.3.0"
ufo "^1.5.4" ufo "^1.5.4"
mongoose-lean-virtuals@^1.1.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/mongoose-lean-virtuals/-/mongoose-lean-virtuals-1.1.1.tgz#450c1a74b36c573a49db16769ea44d8457c03b44"
integrity sha512-8chOqpVE3bcoWT2pIgcJeIZlXaOfQCavZgQZF4qytUtjRBqsNMyzUoR16qdw9XL2kC478N8iA8z0AA+NSS0d1A==
dependencies:
mpath "^0.8.4"
mongoose-paginate-v2@^1.9.1:
version "1.9.1"
resolved "https://registry.yarnpkg.com/mongoose-paginate-v2/-/mongoose-paginate-v2-1.9.1.tgz#2f724eb31539db0378bb3c319e696e843fdafd91"
integrity sha512-DgURdWkPCeY6cuzkONk0snkFFG/l6ABABDkV3PyW/M2XGvfK/yP4i6Y/PuXkqhfVxKHFLvZ/qBnQxkGzzvo43Q==
dependencies:
mongoose-lean-virtuals "^1.1.0"
mpath@^0.8.4:
version "0.8.4"
resolved "https://registry.yarnpkg.com/mpath/-/mpath-0.8.4.tgz#6b566d9581621d9e931dd3b142ed3618e7599313"
integrity sha512-DTxNZomBcTWlrMW76jy1wvV37X/cNNxPW1y2Jzd4DZkAaC5ZGsm8bfGfNOthcDuRJujXLqiuS6o3Tpy0JEoh7g==
ms@2.0.0: ms@2.0.0:
version "2.0.0" version "2.0.0"
resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
@@ -10732,13 +10728,6 @@ sprintf-js@~1.0.2:
resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==
ssf@~0.11.2:
version "0.11.2"
resolved "https://registry.yarnpkg.com/ssf/-/ssf-0.11.2.tgz#0b99698b237548d088fc43cdf2b70c1a7512c06c"
integrity sha512-+idbmIXoYET47hH+d7dfm2epdOMUDjqcB4648sTZ+t2JwoyBFL/insLfB/racrDmsKB3diwsDA696pZMieAC5g==
dependencies:
frac "~1.1.2"
stack-trace@^1.0.0-pre2: stack-trace@^1.0.0-pre2:
version "1.0.0-pre2" version "1.0.0-pre2"
resolved "https://registry.yarnpkg.com/stack-trace/-/stack-trace-1.0.0-pre2.tgz#46a83a79f1b287807e9aaafc6a5dd8bcde626f9c" resolved "https://registry.yarnpkg.com/stack-trace/-/stack-trace-1.0.0-pre2.tgz#46a83a79f1b287807e9aaafc6a5dd8bcde626f9c"
@@ -12000,21 +11989,11 @@ wildcard@^2.0.1:
resolved "https://registry.yarnpkg.com/wildcard/-/wildcard-2.0.1.tgz#5ab10d02487198954836b6349f74fff961e10f67" resolved "https://registry.yarnpkg.com/wildcard/-/wildcard-2.0.1.tgz#5ab10d02487198954836b6349f74fff961e10f67"
integrity sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ== integrity sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==
wmf@~1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/wmf/-/wmf-1.0.2.tgz#7d19d621071a08c2bdc6b7e688a9c435298cc2da"
integrity sha512-/p9K7bEh0Dj6WbXg4JG0xvLQmIadrner1bi45VMJTfnbVHsc7yIajZyoSoK60/dtVBs12Fm6WkUI5/3WAVsNMw==
word-wrap@^1.2.5: word-wrap@^1.2.5:
version "1.2.5" version "1.2.5"
resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.5.tgz#d2c45c6dd4fbce621a66f136cbe328afd0410b34" resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.5.tgz#d2c45c6dd4fbce621a66f136cbe328afd0410b34"
integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA== integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==
word@~0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/word/-/word-0.3.0.tgz#8542157e4f8e849f4a363a288992d47612db9961"
integrity sha512-OELeY0Q61OXpdUfTp+oweA/vtLVg5VDOXh+3he3PNzLGG/y0oylSOC1xRVj0+l4vQ3tj/bB1HVHv1ocXkQceFA==
workbox-background-sync@7.3.0: workbox-background-sync@7.3.0:
version "7.3.0" version "7.3.0"
resolved "https://registry.yarnpkg.com/workbox-background-sync/-/workbox-background-sync-7.3.0.tgz#b6340731a8d5b42b9e75a8a87c8806928e6e6303" resolved "https://registry.yarnpkg.com/workbox-background-sync/-/workbox-background-sync-7.3.0.tgz#b6340731a8d5b42b9e75a8a87c8806928e6e6303"
@@ -12227,19 +12206,6 @@ ws@~8.17.1:
resolved "https://registry.yarnpkg.com/ws/-/ws-8.17.1.tgz#9293da530bb548febc95371d90f9c878727d919b" resolved "https://registry.yarnpkg.com/ws/-/ws-8.17.1.tgz#9293da530bb548febc95371d90f9c878727d919b"
integrity sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ== integrity sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==
xlsx@^0.18.5:
version "0.18.5"
resolved "https://registry.yarnpkg.com/xlsx/-/xlsx-0.18.5.tgz#16711b9113c848076b8a177022799ad356eba7d0"
integrity sha512-dmg3LCjBPHZnQp5/F/+nnTa+miPJxUXB6vtk42YjBBKayDNagxGEeIdWApkYPOf3Z3pm3k62Knjzp7lMeTEtFQ==
dependencies:
adler-32 "~1.3.0"
cfb "~1.2.1"
codepage "~1.15.0"
crc-32 "~1.2.1"
ssf "~0.11.2"
wmf "~1.0.1"
word "~0.3.0"
xml-name-validator@^4.0.0: xml-name-validator@^4.0.0:
version "4.0.0" version "4.0.0"
resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-4.0.0.tgz#79a006e2e63149a8600f15430f0a4725d1524835" resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-4.0.0.tgz#79a006e2e63149a8600f15430f0a4725d1524835"