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

@@ -3,7 +3,9 @@ import draggable from 'vuedraggable';
import { tools } from '@tools'; import { tools } from '@tools';
import { useRouter } from 'vue-router'
import { useGlobalStore } from '@src/store/globalStore'; import { useGlobalStore } from '@src/store/globalStore';
import { useProducts } from '@src/store/productStore';
import { CMyValueDb } from '@src/components/CMyValueDb'; import { CMyValueDb } from '@src/components/CMyValueDb';
import { CSchedaProdotto } from '@src/components/CSchedaProdotto'; import { CSchedaProdotto } from '@src/components/CSchedaProdotto';
@@ -56,6 +58,10 @@ export default defineComponent({
// Copia locale della lista_prodotti per manipolazione interna // Copia locale della lista_prodotti per manipolazione interna
const internalProducts = ref([...(props.lista_prodotti || [])]); const internalProducts = ref([...(props.lista_prodotti || [])]);
const productStore = useProducts()
const $router = useRouter()
const { t } = useI18n(); const { t } = useI18n();
const globalStore = useGlobalStore(); const globalStore = useGlobalStore();
@@ -107,7 +113,7 @@ export default defineComponent({
const allColumns = ref([]); const allColumns = ref([]);
const isVisibleEditBtn = ref(false) const isVisibleEditBtn = ref(false);
// Colonne della tabella // Colonne della tabella
const allColumns_Raccolta = ref([ const allColumns_Raccolta = ref([
@@ -210,10 +216,10 @@ export default defineComponent({
if (props.table === 'products') { if (props.table === 'products') {
allColumns.value = allColumns_Catalog.value; allColumns.value = allColumns_Catalog.value;
isVisibleEditBtn.value = true isVisibleEditBtn.value = true;
} else if (props.table === 'catalogs') { } else if (props.table === 'catalogs') {
allColumns.value = allColumns_Raccolta.value; allColumns.value = allColumns_Raccolta.value;
isVisibleEditBtn.value = false isVisibleEditBtn.value = false;
} }
optionscatalogo.value = { optionscatalogo.value = {
@@ -277,7 +283,11 @@ export default defineComponent({
return tools.getstrDate(catalog.data_online_stampa); return tools.getstrDate(catalog.data_online_stampa);
case 'image': case 'image':
return catalog.foto_collana?.imagefile return catalog.foto_collana?.imagefile
? tools.getFullFileNameByImageFile(shared_consts.TABLES_CATALOG, catalog.foto_collana?.imagefile, catalog._id) ? tools.getFullFileNameByImageFile(
shared_consts.TABLES_CATALOG,
catalog.foto_collana?.imagefile,
catalog._id
)
: ''; : '';
} }
} else { } else {
@@ -609,9 +619,18 @@ export default defineComponent({
} }
function showProduct(element: any) { function showProduct(element: any) {
selProd.value = element; if (isProduct()) {
selProd.value = element;
showProd.value = true; showProd.value = true;
} else if (isCatalog()) {
// Apri la pagina del catalogo
if (element.idPageAssigned) {
const mypagepath = productStore.getPathByPage(element.idPageAssigned);
// fai il route sulla pagina myfilename
$router.push(`/${mypagepath}`);
}
}
} }
function modifyProduct(element: any) { function modifyProduct(element: any) {
@@ -788,7 +807,10 @@ export default defineComponent({
} }
function isProduct() { function isProduct() {
return props.table === 'products' return props.table === 'products';
}
function isCatalog() {
return props.table === 'catalogs';
} }
onMounted(mounted); onMounted(mounted);
@@ -835,6 +857,7 @@ export default defineComponent({
getImageByElement, getImageByElement,
isVisibleEditBtn, isVisibleEditBtn,
isProduct, isProduct,
isCatalog,
}; };
}, },
}); });

View File

@@ -116,9 +116,8 @@
: element.productInfo?.image_link : element.productInfo?.image_link
" "
style="width: 50px; height: 50px" style="width: 50px; height: 50px"
class="rounded-borders" class="rounded-borders cursor-pointer"
:style="isProduct() ? 'cursor: pointer' : ''" @click="showProduct(element)"
@click="isProduct() ? showProduct(element) : null"
/> />
</td> </td>

View File

@@ -26,9 +26,12 @@ export const useCatalogStore = defineStore('CatalogStore', {
}), }),
getters: { getters: {
getCatalogById: (state) => (id: string) => { getCatalogById: (state) => (id: string): ICatalog => {
return state.catalogs.find((cat: ICatalog) => cat._id === id) || null; return state.catalogs.find((cat: ICatalog) => cat._id === id) || null;
}, },
getCatalogByIdPageAssigned: (state) => (idPage: string): ICatalog => {
return state.catalogs.find((cat: ICatalog) => cat.idPageAssigned === idPage) || null;
},
}, },
actions: { actions: {
@@ -37,10 +40,10 @@ export const useCatalogStore = defineStore('CatalogStore', {
let cat = this.getCatalogById(id); let cat = this.getCatalogById(id);
if (!cat || !cat.prodotti_caricati_inmem) { if (!cat || !cat.prodotti_caricati_inmem) {
// Carica dal server // Carica dal server
const ris = await this.loadCatalogById(id); const catalog = await this.loadCatalogById(id);
if (ris) { if (catalog) {
// Aggiorna lo store con i dati ricevuti // Aggiorna lo store con i dati ricevuti
this.updateDataCatalog(ris); this.updateDataCatalog(catalog);
cat = this.getCatalogById(id); cat = this.getCatalogById(id);
} }
} }
@@ -57,7 +60,7 @@ export const useCatalogStore = defineStore('CatalogStore', {
console.log('catalogs', res.data.catalog); console.log('catalogs', res.data.catalog);
if (res.data.catalog) { if (res.data.catalog) {
// console.log('RISULTANTE CATEGORIES DAL SERVER = ', res.data.categories) // console.log('RISULTANTE CATEGORIES DAL SERVER = ', res.data.categories)
return res.data.product; return res.data.catalog;
} }
return null; return null;
}) })
@@ -89,12 +92,12 @@ export const useCatalogStore = defineStore('CatalogStore', {
} }
}, },
updateDataCatalog(res: any) { updateDataCatalog(catalog: ICatalog) {
if (res && res.data.catalog) { if (catalog) {
// Update catalog from server // Update catalog from server
const indelem = this.catalogs.findIndex((catalog: ICatalogCompleto) => catalog._id === res.data.catalog._id); const indelem = this.catalogs.findIndex((catalog: ICatalogCompleto) => catalog._id === catalog._id);
if (indelem >= 0) { if (indelem >= 0) {
this.catalogs[indelem] = { ...res.data.catalog }; this.catalogs[indelem] = { ...catalog };
this.catalogs[indelem].prodotti_caricati_inmem = true; this.catalogs[indelem].prodotti_caricati_inmem = true;
} }
} }

View File

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

View File

@@ -9,7 +9,7 @@
</div> </div>
<div <div
v-if=" v-if="
ispageCatalogata && (tools.isEditor() || tools.isCommerciale()) && getCatalogoByMyPage?.referenti.length > 0 ispageCatalogata && (tools.isEditor() || tools.isCommerciale()) && myCatalog?.referenti?.length > 0
" "
class="text-h7 text-center text-red q-ma-sm" class="text-h7 text-center text-red q-ma-sm"
> >
@@ -30,7 +30,7 @@
></q-toggle> ></q-toggle>
--> -->
<q-tab <q-tab
v-if="lista_prodotti" v-if="myCatalog?.lista_prodotti"
name="lista" name="lista"
icon="fas fa-list" icon="fas fa-list"
label="Lista" label="Lista"
@@ -222,8 +222,8 @@
</div> </div>
<CProductTable <CProductTable
v-if="!ismounting && lista_prodotti?.length > 0" v-if="!ismounting && myCatalog?.lista_prodotti?.length > 0"
:lista_prodotti="lista_prodotti" :lista_prodotti="myCatalog?.lista_prodotti"
@update:lista_prodotti="updateProducts" @update:lista_prodotti="updateProducts"
:optcatalogo="optcatalogo" :optcatalogo="optcatalogo"
table="products" table="products"
@@ -340,9 +340,9 @@
:color="optcatalogo.indebug ? `positive` : 'primary'" :color="optcatalogo.indebug ? `positive` : 'primary'"
></q-btn> ></q-btn>
</div> </div>
<div v-if="getCatalogoByMyPage"> <div v-if="myCatalog">
<div <div
v-if="getCatalogoByMyPage.pdf_generato" v-if="myCatalog.pdf_generato"
class="bg-green-1 q-ma-sm q-pa-sm" class="bg-green-1 q-ma-sm q-pa-sm"
> >
<div class="bg-blue-1 text-red text-bold text-h6 q-ma-sm q-pa-sm"> <div class="bg-blue-1 text-red text-bold text-h6 q-ma-sm q-pa-sm">
@@ -402,31 +402,31 @@
<td><strong>PDF OnLine:</strong></td> <td><strong>PDF OnLine:</strong></td>
<td> <td>
<a <a
v-if="getCatalogoByMyPage.pdf_online" v-if="myCatalog.pdf_online"
:href="tools.getHost() + getCatalogoByMyPage.pdf_online" :href="tools.getHost() + myCatalog.pdf_online"
target="_blank" target="_blank"
class="text-bold" class="text-bold"
> >
{{ tools.getHost() + getCatalogoByMyPage.pdf_online }} {{ tools.getHost() + myCatalog.pdf_online }}
</a> </a>
<span v-else>-</span> <span v-else>-</span>
</td> </td>
<td>{{ tools.getstrDateTime(getCatalogoByMyPage.data_online) }}</td> <td>{{ tools.getstrDateTime(myCatalog.data_online) }}</td>
</tr> </tr>
<tr> <tr>
<td><strong>PDF OnLine Stampa:</strong></td> <td><strong>PDF OnLine Stampa:</strong></td>
<td> <td>
<a <a
v-if="getCatalogoByMyPage.pdf_online_stampa" v-if="myCatalog.pdf_online_stampa"
:href="tools.getHost() + getCatalogoByMyPage.pdf_online_stampa" :href="tools.getHost() + myCatalog.pdf_online_stampa"
target="_blank" target="_blank"
class="text-bold" class="text-bold"
> >
{{ tools.getHost() + getCatalogoByMyPage.pdf_online_stampa }} {{ tools.getHost() + myCatalog.pdf_online_stampa }}
</a> </a>
<span v-else>-</span> <span v-else>-</span>
</td> </td>
<td>{{ tools.getstrDateTime(getCatalogoByMyPage.data_online_stampa) }}</td> <td>{{ tools.getstrDateTime(myCatalog.data_online_stampa) }}</td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
@@ -954,12 +954,12 @@
<q-card-section> <q-card-section>
<div style="width: 800px; margin: 0 auto"> <div style="width: 800px; margin: 0 auto">
<CMyValueDb <CMyValueDb
v-if="getCatalogoByMyPage" v-if="myCatalog"
:editOn="true" :editOn="true"
:title="t('cataloglist.idTipoFormato')" :title="t('cataloglist.idTipoFormato')"
table="catalogs" table="catalogs"
:id="getCatalogoByMyPage._id" :id="myCatalog._id"
:rec="getCatalogoByMyPage" :rec="myCatalog"
mykey="idTipoFormato" mykey="idTipoFormato"
debounce="1000" debounce="1000"
:type="costanti.FieldType.multiselect" :type="costanti.FieldType.multiselect"
@@ -971,12 +971,12 @@
<div class="row"> <div class="row">
<CMyValueDb <CMyValueDb
v-if="getCatalogoByMyPage" v-if="myCatalog"
:editOn="true" :editOn="true"
table="catalogs" table="catalogs"
:title="t('cataloglist.op_andor')" :title="t('cataloglist.op_andor')"
:id="getCatalogoByMyPage._id" :id="myCatalog._id"
:rec="getCatalogoByMyPage" :rec="myCatalog"
mykey="condition_andor" mykey="condition_andor"
debounce="1000" debounce="1000"
:type="costanti.FieldType.op_andor" :type="costanti.FieldType.op_andor"
@@ -985,12 +985,12 @@
> >
</CMyValueDb> </CMyValueDb>
<CMyValueDb <CMyValueDb
v-if="getCatalogoByMyPage" v-if="myCatalog"
:editOn="true" :editOn="true"
:title="t('cataloglist.argomenti')" :title="t('cataloglist.argomenti')"
table="catalogs" table="catalogs"
:id="getCatalogoByMyPage._id" :id="myCatalog._id"
:rec="getCatalogoByMyPage" :rec="myCatalog"
mykey="argomenti" mykey="argomenti"
debounce="1000" debounce="1000"
:type="costanti.FieldType.multiselect" :type="costanti.FieldType.multiselect"
@@ -1000,12 +1000,12 @@
> >
</CMyValueDb> </CMyValueDb>
<CMyValueDb <CMyValueDb
v-if="getCatalogoByMyPage" v-if="myCatalog"
:editOn="true" :editOn="true"
:title="t('cataloglist.collane')" :title="t('cataloglist.collane')"
table="catalogs" table="catalogs"
:id="getCatalogoByMyPage._id" :id="myCatalog._id"
:rec="getCatalogoByMyPage" :rec="myCatalog"
mykey="idCollane" mykey="idCollane"
debounce="1000" debounce="1000"
:type="costanti.FieldType.multiselect" :type="costanti.FieldType.multiselect"
@@ -1015,12 +1015,12 @@
> >
</CMyValueDb> </CMyValueDb>
<CMyValueDb <CMyValueDb
v-if="getCatalogoByMyPage" v-if="myCatalog"
:editOn="true" :editOn="true"
:title="t('cataloglist.editore')" :title="t('cataloglist.editore')"
table="catalogs" table="catalogs"
:id="getCatalogoByMyPage._id" :id="myCatalog._id"
:rec="getCatalogoByMyPage" :rec="myCatalog"
mykey="editore" mykey="editore"
debounce="1000" debounce="1000"
:type="costanti.FieldType.multiselect" :type="costanti.FieldType.multiselect"