- Altri aggiornamenti della scheda

This commit is contained in:
Surya Paolo
2025-04-24 19:31:34 +02:00
parent 8d6c53803e
commit ec19bc3b87
16 changed files with 359 additions and 89 deletions

View File

@@ -145,14 +145,43 @@ export const useProducts = defineStore('Products', {
return product?.arrvariazioni?.[0]?.quantita > 0 && product.arrvariazioni?.[0]?.quantita < 50
},
isEsaurito: (state: IProductsState) => (product: IProduct): boolean => {
return product?.arrvariazioni?.[0]?.quantita <= 0
return product?.arrvariazioni?.[0]?.quantita <= 0 && !state.isProssimaUscitaById(product.productInfo.idStatoProdotto) && !state.isPrevenditaById(product.productInfo.idStatoProdotto)
},
isPubblicatoById: (state: IProductsState) => (idStatoProdotto: number): boolean => {
/*
1 In commercio
3 Ristampa
4 Prossima uscita/pubblicazione
6 In promozione
7 In fase di valutazione
8 Titolo in esaurimento (in attesa Nuova Edizione)
9 Titolo in esaurimento
20 Titolo in esaurimento (in att N.E Ricopertinata)
26 Titolo in Esaurimento (disponibile N.E.)
33 In commercio (digitale)
34 In prevendita
45 Vendita sito
46 2023 in commercio
47 Assoluto NO Reso
48 Titolo esaurito
*/
switch (idStatoProdotto) {
case 1: // In Commercio
case 45: // In Commercio
case 3: // Ristampa
case 4: // Prossima uscita/pubblicazione
case 6: // In promozione
case 7: // In fase di valutazione
case 8: // 8 Titolo in esaurimento (in attesa Nuova Edizione)
case 9: // In Commercio
case 33: // In commercio (digitale)
case 34: // In prevendita
case 45: // Vendita sito
case 46: // 2023 in commercio
case 47: // Assoluto NO Reso
case 48: // Titolo esaurito
case undefined:
return true;
default:
@@ -161,9 +190,13 @@ export const useProducts = defineStore('Products', {
},
isProssimaUscitaById: (state: IProductsState) => (idStatoProdotto: number): boolean => {
// 4 - Prossima uscita
return (idStatoProdotto === 4)
},
isPrevenditaById: (state: IProductsState) => (idStatoProdotto: number): boolean => {
// 4 - Prossima uscita
// 34 - In Prevendita
return (idStatoProdotto === 4) || (idStatoProdotto === 34)
return (idStatoProdotto === 34)
},
isPubblicato: (state: IProductsState) => (productInfo: IProductInfo): boolean => {
@@ -178,6 +211,10 @@ export const useProducts = defineStore('Products', {
return state.isProssimaUscitaById(productInfo.idStatoProdotto)
},
isPrevendita: (state: IProductsState) => (productInfo: IProductInfo): boolean => {
return state.isPrevenditaById(productInfo.idStatoProdotto)
},
getDescrStatiProdottoByIdStatoProdotto: (state: IProductsState) => (idStatoProdotto: number): string => {
const ctrec = state.stati_prodotto.find((mystatus: T_Web_StatiProdotto) => mystatus.IdStatoProdotto === idStatoProdotto)
return (ctrec) ? ctrec.Descrizione : ''
@@ -1520,7 +1557,7 @@ export const useProducts = defineStore('Products', {
// Additional replacements based on the content
const keysToCheck = [
'{titolo}', '{sottotitolo}', '{categoria}', '{sottocategoria}', '{descr_categoria}',
'{pagine}', '{isbn}', '{misure}', '{argomento}', '{date_pub}', '{ranking_globale}',
'{pagine}', '{isbn}', '{misure}', '{edizione', '{ristampa}', '{argomento}', '{date_pub}', '{date_updated_fromGM}', '{ranking_globale}',
'{venduti}', '{formato}', '{tipologia}', '{stato}', '{scale}', '{descr_trafiletto_catalogo}',
'{link_macro}', '{qta}', '{image_link}', '{imagefile}', '{debug}'
];
@@ -1549,12 +1586,21 @@ export const useProducts = defineStore('Products', {
case '{misure}':
replacements[key] = myproduct.arrvariazioni![0].misure || '';
break;
case '{edizione}':
replacements[key] = myproduct.arrvariazioni![0].edizione || '';
break;
case '{ristampa}':
replacements[key] = myproduct.arrvariazioni![0].ristampa || '';
break;
case '{argomento}':
replacements[key] = this.getCatProdsStrByCatProds(myproduct.productInfo.catprods!) || '';
break;
case '{date_pub}':
replacements[key] = tools.getstrDateShort(myproduct.productInfo.date_pub) || '';
break;
case '{date_updated_fromGM}':
replacements[key] = tools.getstrDateShort(myproduct.productInfo.date_updated_fromGM) || '';
break;
case '{ranking_globale}':
replacements[key] = myproduct.productInfo.rank3M! || '0';
break;
@@ -1833,6 +1879,7 @@ export const useProducts = defineStore('Products', {
},
productTypes: [],
excludeproductTypes: [],
idTipologie: [],
editore: [],
argomenti: [],
author: '',