fix altro

This commit is contained in:
Surya Paolo
2025-05-15 22:37:39 +02:00
parent daeb865e93
commit b7ecd60fc3
5 changed files with 129 additions and 111 deletions

View File

@@ -80,6 +80,8 @@ export default defineComponent({
const $q = useQuasar();
const { t } = useI18n();
const myCatalog = ref<ICatalog | null>(null as ICatalog);
const rigeneraLibri = ref(false);
const search = ref('');
@@ -104,17 +106,17 @@ export default defineComponent({
const pdfRows = computed(() => [
{
name: 'PDF Generato',
pdf: getCatalogoByMyPage.value.pdf_generato,
data: getCatalogoByMyPage.value.data_generato,
showButton: getCatalogoByMyPage.value.data_generato !== getCatalogoByMyPage.value.data_online,
pdf: myCatalog.value.pdf_generato,
data: myCatalog.value.data_generato,
showButton: myCatalog.value.data_generato !== myCatalog.value.data_online,
buttonLabel: 'Pubblica PDF OnLine',
action: pubblicaPDF,
},
{
name: 'PDF Generato Stampa',
pdf: getCatalogoByMyPage.value.pdf_generato_stampa,
data: getCatalogoByMyPage.value.data_generato_stampa,
showButton: getCatalogoByMyPage.value.data_generato_stampa !== getCatalogoByMyPage.value.data_online_stampa,
pdf: myCatalog.value.pdf_generato_stampa,
data: myCatalog.value.data_generato_stampa,
showButton: myCatalog.value.data_generato_stampa !== myCatalog.value.data_online_stampa,
buttonLabel: 'Pubblica PDF Stampa',
action: pubblicaPDFStampa,
},
@@ -148,14 +150,8 @@ export default defineComponent({
});
const optcatalogo = ref(<IOptCatalogo>{ ...props.modelValue });
const lista_prodotti = computed(() => {
const arr = catalogStore.catalogs?.find((catalog: ICatalog) => catalog.idPageAssigned === props.idPage);
return arr?.lista_prodotti;
});
const ispageCatalogata = computed(() => {
return !!getCatalogoByMyPage.value;
return !!myCatalog.value;
});
const filtroStrApplicato = computed(() => {
@@ -173,7 +169,7 @@ export default defineComponent({
const getPdfFilename = () => {
let myfilename = optcatalogo.value.pdf_filename ?? 'catalogo_completo';
const catalog = getCatalogoByMyPage.value;
const catalog = myCatalog.value;
if (catalog) {
myfilename = productStore.getPathByPage(catalog.idPageAssigned);
}
@@ -212,10 +208,6 @@ export default defineComponent({
{ deep: true }
);
const getCatalogoByMyPage = computed(() => {
return catalogStore.catalogs?.find((catalog: ICatalog) => catalog.idPageAssigned === props.idPage);
});
/*watch(optcatalogo, (newValue) => {
emit('update:modelValue', newValue);
}, { deep: true });*/
@@ -277,8 +269,7 @@ export default defineComponent({
let testo = recscheda.scheda!.dimensioni.pagina?.testo_up?.contenuto;
if (recscheda.scheda!.isPagIntro) {
const catalogStore = useCatalogStore();
const catalog = getCatalogoByMyPage.value;
const catalog = myCatalog.value;
if (catalog && catalog.descr_introduttiva) {
// Cerca se la descrizione introduttiva è stata impostata
testo = catalog.descr_introduttiva;
@@ -310,7 +301,7 @@ export default defineComponent({
const getTitoloPagina = computed(() => (product: IProduct, recscheda: ISchedaSingola) => {
let testo = getTextSostituito(recscheda.scheda!.dimensioni.pagina?.testo_title);
const catalog = getCatalogoByMyPage.value;
const catalog = myCatalog.value;
let clcol = '';
@@ -458,12 +449,12 @@ export default defineComponent({
}
function getTitoloCatalogo(): string {
const trovatocatalogo = getCatalogoByMyPage.value;
const trovatocatalogo = myCatalog.value;
return trovatocatalogo ? trovatocatalogo.title : 'Catalogo';
}
function getReferentiCatalogo(): string {
const trovatocatalogo = getCatalogoByMyPage.value;
const trovatocatalogo = myCatalog.value;
if (trovatocatalogo && trovatocatalogo.referenti && trovatocatalogo.referenti.length > 0) {
return trovatocatalogo.referenti.join(', ');
@@ -473,7 +464,7 @@ export default defineComponent({
}
function getImgIntroCatalogo(scheda: IMyScheda): IImg {
const trovatocatalogo = getCatalogoByMyPage.value;
const trovatocatalogo = myCatalog.value;
let imagefile = '';
let fit = 'contain';
@@ -493,7 +484,7 @@ export default defineComponent({
}
function getSfondoImgCatalogo(scheda?: IMyScheda | null, mypage?: IDimensioni): IImg {
const trovatocatalogo = getCatalogoByMyPage.value;
const trovatocatalogo = myCatalog.value;
let imagefile = '';
let fit = 'contain';
@@ -543,7 +534,7 @@ export default defineComponent({
let idCollane: string[] = [];
// Cerca se nella lista cataloghi c'è la Collana di questa Pagina !
const trovatocatalogo = getCatalogoByMyPage.value;
const trovatocatalogo = myCatalog.value;
if (trovatocatalogo) {
idCollane = trovatocatalogo.idCollane! || [];
@@ -558,7 +549,7 @@ export default defineComponent({
let argomenti: string[] = [];
// Cerca se nella lista cataloghi c'è la Collana di questa Pagina !
const trovatocatalogo = getCatalogoByMyPage.value;
const trovatocatalogo = myCatalog.value;
if (trovatocatalogo) {
argomenti = trovatocatalogo.argomenti! || [];
@@ -577,7 +568,7 @@ export default defineComponent({
let idTipoFormato: number[] = [];
// Cerca se nella lista cataloghi c'è la Collana di questa Pagina !
const trovatocatalogo = getCatalogoByMyPage.value;
const trovatocatalogo = myCatalog.value;
if (trovatocatalogo) {
idTipoFormato = trovatocatalogo.idTipoFormato! || [];
@@ -596,7 +587,7 @@ export default defineComponent({
let editore: string[] = [];
// Cerca se nella lista cataloghi c'è la Collana di questa Pagina !
const trovatocatalogo = getCatalogoByMyPage.value;
const trovatocatalogo = myCatalog.value;
if (trovatocatalogo) {
editore = trovatocatalogo.editore! || [];
@@ -705,7 +696,7 @@ export default defineComponent({
const se_tutti_veri = op_andor.condition_andor === costanti.OP_ANDOR.OP_AND;
const trovatocatalogo = getCatalogoByMyPage.value;
const trovatocatalogo = myCatalog.value;
if (
boolfiltroVuotoProductTypes &&
@@ -909,7 +900,7 @@ export default defineComponent({
let salva = false;
// Se nel catalogo è stato già generato, allora gli passo quello.
const trovatocatalogo = getCatalogoByMyPage.value;
const trovatocatalogo = myCatalog.value;
// if (editore) console.log('FILTRO editore', editore);
@@ -917,7 +908,7 @@ export default defineComponent({
generalista = true;
}
/*if (trovatocatalogo?.lista_prodotti.length === 0) {
/*if (myCatalog.value.lista_prodotti.length === 0) {
generalista = true
}*/
@@ -926,8 +917,8 @@ export default defineComponent({
trovatocatalogo?.condition_andor !== undefined ? trovatocatalogo.condition_andor : costanti.OP_ANDOR.OP_AND,
};
if (!generalista && trovatocatalogo?.lista_prodotti.length > 0) {
arrprod = trovatocatalogo?.lista_prodotti;
if (!generalista && myCatalog.value.lista_prodotti?.length > 0) {
arrprod = myCatalog.value.lista_prodotti;
} else {
arrprod = productStore.getProducts(cosa.value);
arrprod = filterProducts(
@@ -964,7 +955,7 @@ export default defineComponent({
loaddata();
if (generalista) {
const catalog = getCatalogoByMyPage.value;
const catalog = myCatalog.value;
if (catalog && !showListaFiltrata.value) {
catalog.data_lista_generata = tools.getDateNow();
catalog.username_lista_generata = userStore.my.username;
@@ -981,7 +972,7 @@ export default defineComponent({
}
async function saveCatalog() {
const catalog = getCatalogoByMyPage.value;
const catalog = myCatalog.value;
const mydata = {
table: 'catalogs',
data: catalog,
@@ -1067,14 +1058,14 @@ export default defineComponent({
const collanastr = collana.value || '';
const gasselstr = cosa.value === shared_consts.PROD.GAS ? idGasSel.value || '' : '';
const trovatocatalogo = getCatalogoByMyPage.value;
const trovatocatalogo = myCatalog.value;
let op_andor: IOpAndOr = {
condition_andor: trovatocatalogo?.condition_andor ?? costanti.OP_ANDOR.OP_AND,
};
if (trovatocatalogo?.lista_prodotti.length > 0) {
arrprod = trovatocatalogo?.lista_prodotti;
if (myCatalog.value.lista_prodotti?.length > 0) {
arrprod = myCatalog.value.lista_prodotti;
} else {
arrprod = productStore.getProducts(cosa.value);
@@ -1191,11 +1182,11 @@ export default defineComponent({
// Svuota
arrProdToView.value = [];
const trovatocatalogo = getCatalogoByMyPage.value;
const trovatocatalogo = myCatalog.value;
let arrGeneraleProdotti = [];
if (usaprodottiSalvati && trovatocatalogo?.lista_prodotti.length > 0) {
if (usaprodottiSalvati && myCatalog.value.lista_prodotti?.length > 0) {
} else {
arrGeneraleProdotti = arrProducts.value;
}
@@ -1217,8 +1208,8 @@ export default defineComponent({
let arrProdFiltrati: IProduct[] = [];
if (usaprodottiSalvati && trovatocatalogo?.lista_prodotti.length > 0) {
arrProdFiltrati = trovatocatalogo?.lista_prodotti;
if (usaprodottiSalvati && myCatalog.value.lista_prodotti?.length > 0) {
arrProdFiltrati = myCatalog.value.lista_prodotti;
} else {
if (recscheda.scheda.productTypes!.length > 0) {
// Filtra i prodotti in base ai filtri impostati !
@@ -1325,7 +1316,7 @@ export default defineComponent({
function salvaListaProdotti(ricarica: boolean) {
// Estrai solo gli ID dei prodotti filtrati
const myarr = [...getCatalogoByMyPage.value.lista_prodotti];
const myarr = [...myCatalog.value.lista_prodotti];
const productIds = myarr.map((product) => product._id);
let mydata = {
@@ -1333,7 +1324,7 @@ export default defineComponent({
};
// Salva gli ID dei prodotti nel catalogo
tools.saveFieldToServer($q, 'catalogs', getCatalogoByMyPage.value._id, mydata, !showListaFiltrata.value, false);
tools.saveFieldToServer($q, 'catalogs', myCatalog.value._id, mydata, !showListaFiltrata.value, false);
if (ricarica) {
generatearrProdToViewSorted(true, false);
@@ -1366,6 +1357,12 @@ export default defineComponent({
async function mounted() {
// console.log('mounted Catalogo')
let mycat = catalogStore.getCatalogByIdPageAssigned(props.idPage) || null;
if (mycat && !mycat.lista_prodotti) {
mycat = await catalogStore.fetchCatalogById(mycat._id);
}
myCatalog.value = mycat;
ismounting.value = true;
generatinglist.value = true;
@@ -1373,10 +1370,10 @@ export default defineComponent({
if (optcatalogo.value.showListaCollane) collana.value = tools.getCookie(getKeyCollanaAtLoad(), '');
if (getCatalogoByMyPage.value) {
if (myCatalog.value) {
tabcatalogo.value = tools.getCookie('TAB_CAT', 'lista');
} else {
tabcatalogo.value = 'visu'
tabcatalogo.value = 'visu';
}
optrigenera.value.visibilitaDisp = tools.getCookie(
@@ -1394,13 +1391,13 @@ export default defineComponent({
);
loadpage.value = false;
if (showListaFiltrata.value || !getCatalogoByMyPage.value) {
if (showListaFiltrata.value || !myCatalog.value) {
// Carica tutti i prodotti
await productStore.loadProducts(true);
} else {
if (getCatalogoByMyPage.value && props.idPage) {
getCatalogoByMyPage.value.lista_prodotti = await catalogStore.loadProductsOnlyByIdPageCatalog(props.idPage);
}
/*if (myCatalog.value && props.idPage) {
myCatalog.value.lista_prodotti = await catalogStore.loadProductsOnlyByIdPageCatalog(props.idPage);
}*/
}
mycolumns.value = fieldsTable.getArrColsByTable('products');
@@ -1774,8 +1771,8 @@ export default defineComponent({
}
function updateProducts(arr: any) {
if (getCatalogoByMyPage.value) {
getCatalogoByMyPage.value.lista_prodotti = [...arr];
if (myCatalog.value) {
myCatalog.value.lista_prodotti = [...arr];
if (!showListaFiltrata.value) salvaListaProdotti(true);
else generatearrProdToViewSorted(true, false);
@@ -1787,12 +1784,9 @@ export default defineComponent({
if (element) {
// add this record to lista_prodotti
if (
getCatalogoByMyPage.value &&
!getCatalogoByMyPage.value.lista_prodotti?.some((p) => p._id === element._id)
) {
if (myCatalog.value && !myCatalog.value.lista_prodotti?.some((p) => p._id === element._id)) {
// inserire il record in cima
const arr = getCatalogoByMyPage.value.lista_prodotti || [];
const arr = myCatalog.value.lista_prodotti || [];
if (where === shared_consts.WHERE_INSERT.ONTOP) arr.unshift(element);
else if (where === shared_consts.WHERE_INSERT.ONBOTTOM) arr.push(element);
@@ -1911,7 +1905,7 @@ export default defineComponent({
);
if (ris) {
const catalog = getCatalogoByMyPage.value;
const catalog = myCatalog.value;
if (ris.pdf_generato) {
catalog.pdf_generato = ris.pdf_generato;
catalog.data_generato = tools.getDateNow();
@@ -2023,7 +2017,7 @@ export default defineComponent({
};
const pubblicaPDF = async () => {
const catalog = getCatalogoByMyPage.value;
const catalog = myCatalog.value;
const confirm = await $q
.dialog({
@@ -2064,7 +2058,7 @@ export default defineComponent({
};
const pubblicaPDFStampa = async () => {
const catalog = getCatalogoByMyPage.value;
const catalog = myCatalog.value;
const confirm = await $q
.dialog({
@@ -2159,7 +2153,6 @@ export default defineComponent({
getTitoloCatalogo,
getTitoloPagina,
generaListaLibri,
lista_prodotti,
updateProducts,
clickaddNewBook,
addProductToList,
@@ -2171,7 +2164,7 @@ export default defineComponent({
optDisp,
optRigeneraModalita,
optStato,
getCatalogoByMyPage,
myCatalog,
getReferentiCatalogo,
reSortList,
preparePDF,