- aggiornato catalogo lista con filtri per editori e grafico

This commit is contained in:
Surya Paolo
2025-02-13 21:15:04 +01:00
parent cdefb91bef
commit f0098e57b2
58 changed files with 245 additions and 116 deletions

View File

@@ -1,4 +1,4 @@
APP_VERSION="1.1.21"
APP_VERSION="1.1.22"
SERVICE_WORKER_FILE="service-worker.js"
APP_ID="18"
DIRECTORY_LOCAL="newfreeplanet"

View File

@@ -1,4 +1,4 @@
APP_VERSION="1.1.21"
APP_VERSION="1.1.22"
SERVICE_WORKER_FILE="service-worker.js"
APP_ID="13"
DIRECTORY_LOCAL=newfreeplanet

View File

@@ -1,4 +1,4 @@
APP_VERSION="1.1.21"
APP_VERSION="1.1.22"
SERVICE_WORKER_FILE="service-worker.js"
APP_ID="18"
DIRECTORY_LOCAL=newfreeplanet

View File

@@ -1,4 +1,4 @@
APP_VERSION="1.1.21"
APP_VERSION="1.1.22"
SERVICE_WORKER_FILE="service-worker.js"
APP_ID="17"
DIRECTORY_LOCAL="newfreeplanet"

View File

@@ -1,4 +1,4 @@
APP_VERSION="1.1.21"
APP_VERSION="1.1.22"
SERVICE_WORKER_FILE="service-worker.js"
APP_ID="13"
DIRECTORY_LOCAL=newfreeplanet

View File

@@ -1,4 +1,4 @@
APP_VERSION="1.1.21"
APP_VERSION="1.1.22"
SERVICE_WORKER_FILE="service-worker.js"
APP_ID="18"
DIRECTORY_LOCAL=newfreeplanet

View File

@@ -1,4 +1,4 @@
APP_VERSION="1.1.21"
APP_VERSION="1.1.22"
SERVICE_WORKER_FILE="service-worker.js"
APP_ID="19"
DIRECTORY_LOCAL=newfreeplanet

View File

@@ -1,4 +1,4 @@
APP_VERSION="1.1.21"
APP_VERSION="1.1.22"
SERVICE_WORKER_FILE="service-worker.js"
APP_ID="18"
DIRECTORY_LOCAL=newfreeplanet

View File

@@ -1,4 +1,4 @@
APP_VERSION="1.1.21"
APP_VERSION="1.1.22"
SERVICE_WORKER_FILE="service-worker.js"
APP_ID="17"
DIRECTORY_LOCAL="newfreeplanet"

View File

@@ -1,4 +1,4 @@
APP_VERSION="1.1.21"
APP_VERSION="1.1.22"
SERVICE_WORKER_FILE="service-worker.js"
APP_ID="13"
DIRECTORY_LOCAL=newfreeplanet

View File

@@ -1,4 +1,4 @@
APP_VERSION="1.1.21"
APP_VERSION="1.1.22"
SERVICE_WORKER_FILE="service-worker.js"
APP_ID="13"
DIRECTORY_LOCAL=newfreeplanet

View File

@@ -1,4 +1,4 @@
APP_VERSION="1.1.21"
APP_VERSION="1.1.22"
SERVICE_WORKER_FILE="service-worker.js"
APP_ID="13"
DIRECTORY_LOCAL=newfreeplanet

View File

@@ -1,4 +1,4 @@
APP_VERSION="1.1.21"
APP_VERSION="1.1.22"
SERVICE_WORKER_FILE="service-worker.js"
APP_ID="19"
DIRECTORY_LOCAL="newfreeplanet"

View File

@@ -1,4 +1,4 @@
APP_VERSION="1.1.21"
APP_VERSION="1.1.22"
SERVICE_WORKER_FILE="service-worker.js"
APP_ID="19"
DIRECTORY_LOCAL=newfreeplanet

View File

@@ -1,6 +1,6 @@
{
"name": "abitaregliiblei",
"version": "1.1.21",
"version": "1.1.22",
"description": "Abitare Gli Iblei",
"productName": "AbitareGliIblei",
"author": "Surya",

View File

@@ -1,4 +1,4 @@
APP_VERSION="1.1.21"
APP_VERSION="1.1.22"
SERVICE_WORKER_FILE="service-worker.js"
APP_ID="13"
DIRECTORY_LOCAL="newfreeplanet"

View File

@@ -1,4 +1,4 @@
APP_VERSION="1.1.21"
APP_VERSION="1.1.22"
SERVICE_WORKER_FILE="service-worker.js"
APP_ID="13"
DIRECTORY_LOCAL=newfreeplanet

View File

@@ -1,4 +1,4 @@
APP_VERSION="1.1.21"
APP_VERSION="1.1.22"
SERVICE_WORKER_FILE="service-worker.js"
APP_ID="16"
DIRECTORY_LOCAL=newfreeplanet

View File

@@ -1,6 +1,6 @@
{
"name": "riso",
"version": "1.1.21",
"version": "1.1.22",
"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",

View File

@@ -1,4 +1,4 @@
APP_VERSION="1.1.21"
APP_VERSION="1.1.22"
SERVICE_WORKER_FILE="service-worker.js"
APP_ID="15"
DIRECTORY_LOCAL="newfreeplanet"

View File

@@ -1,4 +1,4 @@
APP_VERSION="1.1.21"
APP_VERSION="1.1.22"
SERVICE_WORKER_FILE="service-worker.js"
APP_ID="15"
DIRECTORY_LOCAL=newfreeplanet

View File

@@ -1,4 +1,4 @@
APP_VERSION="1.1.21"
APP_VERSION="1.1.22"
SERVICE_WORKER_FILE="service-worker.js"
APP_ID="15"
DIRECTORY_LOCAL=newfreeplanet

View File

@@ -1,6 +1,6 @@
{
"name": "fioredellavita",
"version": "1.1.21",
"version": "1.1.22",
"description": "Fiore Della Vita",
"productName": "Fiore Della Vita",
"author": "Surya",

View File

@@ -1,4 +1,4 @@
APP_VERSION="1.1.21"
APP_VERSION="1.1.22"
SERVICE_WORKER_FILE="service-worker.js"
APP_ID="18"
DIRECTORY_LOCAL="newfreeplanet"

View File

@@ -1,4 +1,4 @@
APP_VERSION="1.1.21"
APP_VERSION="1.1.22"
SERVICE_WORKER_FILE="service-worker.js"
APP_ID="18"
DIRECTORY_LOCAL=newfreeplanet

View File

@@ -1,6 +1,6 @@
{
"name": "gruppomacro",
"version": "1.1.21",
"version": "1.1.22",
"description": "GruppoMacro",
"productName": "Gruppo Macro",
"author": "Surya",

View File

@@ -1,4 +1,4 @@
APP_VERSION="1.1.21"
APP_VERSION="1.1.22"
SERVICE_WORKER_FILE="service-worker.js"
APP_ID="17"
DIRECTORY_LOCAL="newfreeplanet"

View File

@@ -1,4 +1,4 @@
APP_VERSION="1.1.21"
APP_VERSION="1.1.22"
SERVICE_WORKER_FILE="service-worker.js"
APP_ID="17"
DIRECTORY_LOCAL="newfreeplanet"

View File

@@ -1,6 +1,6 @@
{
"name": "piuchebuono",
"version": "1.1.21",
"version": "1.1.22",
"description": "PiuCheBuono",
"productName": "PiuCheBuono",
"author": "Surya",

View File

@@ -1,4 +1,4 @@
APP_VERSION="1.1.21"
APP_VERSION="1.1.22"
SERVICE_WORKER_FILE="service-worker.js"
APP_ID="13"
DIRECTORY_LOCAL="newfreeplanet"

View File

@@ -1,4 +1,4 @@
APP_VERSION="1.1.21"
APP_VERSION="1.1.22"
SERVICE_WORKER_FILE="service-worker.js"
APP_ID="13"
DIRECTORY_LOCAL=newfreeplanet

View File

@@ -1,4 +1,4 @@
APP_VERSION="1.1.21"
APP_VERSION="1.1.22"
SERVICE_WORKER_FILE="service-worker.js"
APP_ID="16"
DIRECTORY_LOCAL=newfreeplanet

View File

@@ -1,6 +1,6 @@
{
"name": "riso",
"version": "1.1.21",
"version": "1.1.22",
"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",

View File

@@ -1,6 +1,6 @@
{
"name": "gruppomacro",
"version": "1.1.21",
"version": "1.1.22",
"description": "Gruppo Macro",
"productName": "Gruppo Macro",
"author": "Surya",

View File

@@ -34,7 +34,7 @@ self.addEventListener('activate', (event) => {
});
const APP_VERSION = "1.1.21";
const APP_VERSION = "1.1.22";
console.log(' [ VER-' + APP_VERSION + ' ] _---------________------ PAO: this is my custom service worker');

View File

@@ -215,7 +215,7 @@ export default defineComponent({
item.value = valsaved
else {
if (arrvalues) {
item.value = costanti.FILTER_TUTTI
item.value = costanti.FILTER_TUTTI_STR
}
}
} else if (item.table === shared_consts.TAB_CITIES) {

View File

@@ -74,8 +74,6 @@ export default defineComponent({
const table = ref('catalogs')
const searchList_Base = ref(<ISearchList[]>[])
const arrfilterand: any = ref([])
const filtercustom: any = ref([])
@@ -94,6 +92,10 @@ export default defineComponent({
const myCatRef = ref(<any>null)
const searchList_Cataloghi = ref(<ISearchList[]>
tools.getsearchList_Cataloghi()
)
/*
const idSectorServizi = computed(() => {
let myval: any = null
@@ -124,10 +126,6 @@ export default defineComponent({
return { sortBy: 'title', descending: false, page: 1, rowsNumber: 0, rowsPerPage: 10 }
})
const searchList = computed(() => {
return searchList_Base.value
})
const showType = computed(() => {
return costanti.SHOW_MYCARD
})
@@ -155,8 +153,6 @@ export default defineComponent({
col_footer.value = obj.col_footer
col_tabfooter.value = obj.col_tabfooter
searchList_Base.value = []
filtercustom.value = []
col.value = fieldsTable.getArrColsByTable(table.value)
@@ -194,7 +190,6 @@ export default defineComponent({
costanti,
arrfilterand,
filtercustom,
searchList,
search,
doSearch,
myrecfiltertoggle,
@@ -214,6 +209,7 @@ export default defineComponent({
clickButtBar,
myCatRef,
table,
searchList_Cataloghi,
}
},
})

View File

@@ -25,7 +25,7 @@
:noresultLabel="t('grid.nosearchfound')"
:arrfilters="arrfilterand"
:filtercustom="filtercustom"
:prop_searchList="searchList"
:prop_searchList="searchList_Cataloghi"
:defaultnewrec="tools.getdefaultnewrec(table)"
labelBtnAddRow="NONE"
:prop_SortFieldsAvailable="mySortFieldsAvailable()"

View File

@@ -650,6 +650,10 @@
>
</CMyValueDb>
</div>
<div class="boxtitleval">
<div class="etichetta">Argomenti:</div>
{{ products.getCatProdsStrByCatProds(myproduct.productInfo.idCatProds) }}
</div>
</div>
<div class="row">
<div class="boxtitleval">

View File

@@ -170,6 +170,8 @@ export default defineComponent({
return { sortBy: 'transactionDate', descending: true, page: 1, rowsNumber: 0, rowsPerPage: 20 }
else if (props.table === shared_consts.TABLES_CIRCUITS)
return { sortBy: 'numMembers', descending: true, page: 1, rowsNumber: 0, rowsPerPage: 20 }
else if (props.table === shared_consts.TABLES_CATALOG)
return { sortBy: 'title', descending: false, page: 1, rowsNumber: 0, rowsPerPage: 25 }
else if (props.table === toolsext.TABUSER)
return userStore.getMypaginationMembers()
else if (shared_consts.TABLES_ORDER_DATE_UPDATED.includes(props.table))
@@ -198,7 +200,7 @@ export default defineComponent({
else if (props.table === shared_consts.TABLES_CATALOG)
return searchList_Cataloghi.value
return searchList_Cataloghi.value
return []
})
const showType = computed(() => {
@@ -642,23 +644,7 @@ export default defineComponent({
]
searchList_Cataloghi.value = [
{
visible: true,
label: 'Regione',
table: 'regions',
key: 'idReg',
type: costanti.FieldType.select,
value: tools.getCookie(tools.COOK_SEARCH + costanti.FILTER_SEP + props.table + costanti.FILTER_SEP + 'regions', costanti.FILTER_TUTTI),
keycookie: '_hosp',
addall: true,
arrvalue: [],
filter: null,
useinput: false,
icon: 'fas fa-globe-europe'
},
]
searchList_Cataloghi.value = tools.getsearchList_Cataloghi()
searchList_Hosp.value = [
{

View File

@@ -1042,6 +1042,14 @@ export default defineComponent({
objitem[item.key] = item.value
filter_gte.push(objitem)
} else if (item.table === 'lista_editori') {
if (item.value !== costanti.FILTER_TUTTI) {
objitem[item.key] = item.value
filtersearch.push(objitem)
}
} else if (item.value > 0) {
objitem[item.key] = item.value
filtersearch.push(objitem)

View File

@@ -141,7 +141,7 @@
:icon_alternative="item.icon"
:optval="fieldsTable.getKeyByTable(item.table)"
:optlab="fieldsTable.getLabelByTable(item.table)"
:options="valoriopt(item, false, false)"
:options="valoriopt(item, item.addall, item.addnone)"
:filter="item && item.filter ? item.filter : ''"
:filter_extra="item.filter_extra"
:useinput="
@@ -811,7 +811,7 @@
:icon_alternative="item.icon"
:optval="fieldsTable.getKeyByTable(item.table)"
:optlab="fieldsTable.getLabelByTable(item.table)"
:options="valoriopt(item, false)"
:options="valoriopt(item, item.addall, item.addnone)"
:filter="item.filter"
:filter_extra="item.filter_extra"
:useinput="

View File

@@ -228,6 +228,27 @@
addstr="px"
@update:model-value="modifElem"
></CMySlider>
<CMySlider
v-if="myel.type === shared_consts.ELEMTYPE.CATALOGLIST"
label="Lunghezza Card:"
v-model="myel.widthcard"
:min="10"
:max="1000"
color="green"
addstr="px"
@update:model-value="modifElem"
></CMySlider>
<CMySlider
label="Altezza Card:"
v-model="myel.heightcard"
:min="10"
:max="1000"
color="red"
addstr="px"
@update:model-value="modifElem"
></CMySlider>
</div>
</q-expansion-item>

View File

@@ -56,6 +56,8 @@ import { useI18n } from '@/boot/i18n'
import { useRouter } from 'vue-router'
import { LatLng } from 'leaflet'
import { costanti } from '@costanti'
export default defineComponent({
name: 'CMyElem',
@@ -123,6 +125,8 @@ export default defineComponent({
const enableAdd = ref(true)
const visushare = ref(false)
const tabcatalogo = ref('griglia')
const social = ref(<ISocial>{})
const neworder = ref(<number | undefined>0)
@@ -294,6 +298,10 @@ export default defineComponent({
myel.value.catalogo = updatedCatalogo
}
function naviga(path: string) {
$router.push(path)
}
onMounted(mounted)
return {
@@ -336,6 +344,9 @@ export default defineComponent({
currentCardsPerSlide,
animarecard,
updateCatalogoEmit,
tabcatalogo,
costanti,
naviga,
}
},

View File

@@ -10,7 +10,13 @@
"
>
<div v-if="myel.type">
<q-btn v-if="editOn" rounded dense icon="fas fa-pencil-alt" @click="clickOnElem">
<q-btn
v-if="editOn"
rounded
dense
icon="fas fa-pencil-alt"
@click="clickOnElem"
>
</q-btn>
<div v-if="myel.type === shared_consts.ELEMTYPE.TEXT">
<transition
@@ -566,16 +572,50 @@
></CGridOriz>
</div>
<div v-else-if="myel.type === shared_consts.ELEMTYPE.CATALOGLIST">
<div v-if="editOn" class="elemEdit">Lista Cataloghi</div>
<CCatalogList
:prop_search="myel.parambool"
:finder="myel.parambool2"
:heightcarousel="myel.heightcarousel"
:heightimg="myel.heightimg"
:widthimg="myel.widthimg"
:heightcard="myel.height"
:widthcard="myel.width"
></CCatalogList>
<div v-if="editOn" class="elemEdit">Cataloghi</div>
<q-tabs
v-if="tools.isEditor() || tools.isGrafico()"
v-model="tabcatalogo"
dense
class="bg-green text-white"
>
<q-tab name="griglia" icon="fas fa-eye" label="Griglia"> </q-tab>
<q-tab name="lista" icon="fas fa-list" label="Lista"> </q-tab>
<q-tab name="tutorial" icon="fas fa-info" label="Tutorial"> </q-tab>
</q-tabs>
<q-tab-panels v-model="tabcatalogo" animated keep-alive>
<q-tab-panel name="lista">
<CGridOriz
table="catalogs"
:tipovisu="costanti.VISUTABLE_TABLELIST"
:prop_search="true"
:finder="true"
:showMap="false"
:prop_modif="tools.isAdmin()"
></CGridOriz>
</q-tab-panel>
<q-tab-panel name="griglia">
<CCatalogList
:prop_search="myel.parambool"
:finder="myel.parambool2"
:heightcarousel="myel.heightcarousel"
:heightimg="myel.heightimg"
:widthimg="myel.widthimg"
:heightcard="myel.heightcard"
:widthcard="myel.widthcard"
></CCatalogList>
</q-tab-panel>
<q-tab-panel name="tutorial">
<div class="q-pa-md q-ma-sm text-center">
<q-btn
rounded
label="Apri Tutorial"
color="primary"
@click="naviga('/tutorial')"
></q-btn>
</div>
</q-tab-panel>
</q-tab-panels>
</div>
<div v-else-if="myel.type === shared_consts.ELEMTYPE.STATUSREG">
<div v-if="editOn" class="elemEdit">CStatusReg</div>

View File

@@ -63,6 +63,7 @@ export default defineComponent({
const apriInfo = ref(false)
const collanestr = ref('')
const argomentistr = ref('')
const numprodtot = ref(0)
const editorestr = ref('')
const products = useProducts()
@@ -109,12 +110,16 @@ export default defineComponent({
}
argomentistr.value = ''
if (myrec.value.argomenti) {
numprodtot.value = 0
for (const arg of myrec.value.argomenti!) {
const recargomento: ICatProd = products.catprods!.find((catprod: ICatProd) => catprod._id === arg)
if (recargomento)
argomentistr.value += recargomento.name + ' '
numprodtot.value += products.getTotaliProdottiByIdCatProd(arg)
}
}
editorestr.value = ''
if (myrec.value.editore) {
for (const receditore of myrec.value.editore!) {
@@ -208,6 +213,7 @@ export default defineComponent({
pagina_collegata,
esiste_descrintro,
argomentistr,
numprodtot,
}
},
})

View File

@@ -65,7 +65,7 @@
</div>
<div v-if="argomentistr" class="text-caption text-h7 text-grey">
<q-icon name="fas fa-book" /> {{$t('cataloglist.argomenti')}}:
<span class="text-blue">{{ argomentistr }}</span>
<span class="text-blue">{{ argomentistr + ` (${numprodtot})` }}</span>
</div>
<div v-if="editorestr" class="text-caption text-h7 text-grey">
<q-icon name="fas fa-book-open" /> {{$t('cataloglist.referenti')}}:
@@ -86,7 +86,7 @@
:style="
`color: ` + (myrec.img_bordata?.imagefile ? 'green' : 'red')
"
>{{ esiste_descrintro ? 'Presente' : 'Mancante' }}</span
>{{ myrec.img_bordata?.imagefile ? 'Presente' : 'Mancante' }}</span
>
</div>
<div
@@ -96,7 +96,7 @@
<q-icon name="fas fa-image" /> Copertina:
<span
:style="`color: ` + (myrec.img_intro?.imagefile ? 'green' : 'red')"
>{{ esiste_descrintro ? 'Presente' : 'Mancante' }}</span
>{{ myrec.img_intro?.imagefile ? 'Presente' : 'Mancante' }}</span
>
</div>
<div v-if="myrec.pdf_generato" class="text-caption text-h7 text-blue">
@@ -112,7 +112,7 @@
<!--<div class="text-overline text-orange-9">{{collanestr}}</div>-->
</q-card-section>
<q-card-actions align="center">
<q-card-actions align="center" class="q-pa-none" style="position: absolute; bottom: 0; width: 100%;">
<div class="row justify-center">
<q-fab
color="primary"
@@ -200,7 +200,7 @@
<CLabel :value="collanestr" :label="$t('cataloglist.collane') + `:`" />
</div>
<div v-if="argomentistr" style="width: 300px" class="q-ma-sm">
<CLabel :value="argomentistr" :label="$t('cataloglist.argomenti') + `:`" />
<CLabel :value="argomentistr + ` (${numprodtot})`" :label="$t('cataloglist.argomenti') + `:`" />
</div>
<div style="width: 300px" class="q-ma-sm">
<CLabel

View File

@@ -507,14 +507,13 @@ export default defineComponent({
if (props.addall) {
let myobj: any = {}
if (typeof props.optlab === 'string') {
myobj = tools.setRecordByField(props.optlab, myobj, '(Tutti)')
myobj = tools.setRecordByField(props.optval, myobj, costanti.FILTER_TUTTI)
}
// if (typeof props.optlab === 'string') {
myobj = tools.setRecordByField(props.optlab, myobj, '(Tutti)')
myobj = tools.setRecordByField(props.optval, myobj, costanti.FILTER_TUTTI)
// }
if (myarr)
if (myarr && !tools.isObjectEmpty(myobj))
myarr = [myobj, ...myarr]
// console.log(' myarr: ', myarr)
}
if (props.addnone) {

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.1.21">
<meta name="version" content="1.1.22">
<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

@@ -154,6 +154,8 @@ export interface IMyElem {
heightimg?: string
heightcarousel?: string
widthimg?: string
widthcard?: string
heightcard?: string
link?: string
onlyif_logged?: boolean
active?: boolean

View File

@@ -178,6 +178,7 @@ export interface IProductsState {
cart: ICart
orders: IOrderCart[]
catprods: ICatProd[]
catprtotali?: ICatPrTotali[]
collane?: ICollana[]
catprods_gas: ICatProd[]
subcatprods: ISubCatProd[]
@@ -222,6 +223,12 @@ export interface ICatProd {
color?: string,
}
export interface ICatPrTotali {
_id: string,
name: string,
quanti: number,
}
export interface ICollana {
_id?: any
idCollana: number,

View File

@@ -1694,6 +1694,8 @@ const msg_it = {
height: 'height',
heightimg: 'heightimg',
widthimg: 'widthimg',
widthcard: 'widthcard',
heightcard: 'heightcard',
link: 'link',
width: 'width',
onlyif_logged: 'onlyif_logged',
@@ -2010,6 +2012,7 @@ const msg_it = {
totVen: 'Totale Venduti',
totFat: 'Totale Fatturati',
contenuto: 'Contenuto',
argomenti: 'Argomenti',
},
iimg: {
@@ -2017,7 +2020,7 @@ const msg_it = {
},
cataloglist: {
foto_collana: 'Foto Collana',
foto_collana: 'Foto Catalogo',
referenti: 'Editori',
img_bordata: 'Immagine di sfondo',
img_intro: 'Copertina introduttiva',
@@ -2035,6 +2038,7 @@ const msg_it = {
pdf_generato_stampa: 'Pdf generato (per STAMPA)',
pdf_online_stampa: 'Pdf online Ufficiale (per STAMPA)',
argomenti: 'Argomenti',
numprodtot: 'Numero Prodotti',
},
scheda: {

View File

@@ -409,8 +409,11 @@ export const costanti = {
TABLES_ARRAY: ['circuits'],
TABLES_USERNAME_DATE: ['friends', 'friendsandme'],
TABLES_IMG_USERNAME: ['friends', 'friendsandme'],
TABLES_WITH_STR_TUTTI: ['lista_editori'],
FILTER_SEP: '_',
FILTER_TUTTI_STR: '[Tutti]',
FuncDialog: {
CANCEL_BOOKING: 1,
},

View File

@@ -132,18 +132,18 @@ export const colTableCatalogList = [
showWhen: costanti.showWhen.NewRec + costanti.showWhen.InPage + costanti.showWhen.InEdit,
isadvanced_field: false,
}),
AddCol({
name: 'idPageAssigned',
label_trans: 'cataloglist.idPageAssigned',
fieldtype: costanti.FieldType.select,
jointable: 'mypages_id',
}),
AddCol({
name: 'referenti',
label_trans: 'cataloglist.referenti',
fieldtype: costanti.FieldType.multiselect,
jointable: 'lista_editori',
}),
AddCol({
name: 'idPageAssigned',
label_trans: 'cataloglist.idPageAssigned',
fieldtype: costanti.FieldType.select,
jointable: 'mypages_id',
}),
AddCol({
name: 'argomenti',
label_trans: 'cataloglist.argomenti',
@@ -297,6 +297,8 @@ export const colmyScheda = [
AddCol({ name: 'widthpag', label_trans: 'scheda.widthpag', fieldtype: costanti.FieldType.number }),
AddCol({ name: 'widthimg', label_trans: 'scheda.widthimg', fieldtype: costanti.FieldType.number }),
AddCol({ name: 'heightimg', label_trans: 'scheda.heightimg', fieldtype: costanti.FieldType.number }),
AddCol({ name: 'widthcard', label_trans: 'scheda.widthcard', fieldtype: costanti.FieldType.number }),
AddCol({ name: 'heightcard', label_trans: 'scheda.heightcard', fieldtype: costanti.FieldType.number }),
AddCol({ name: 'height_Printable', label_trans: 'scheda.height_Printable', fieldtype: costanti.FieldType.number }),
AddCol({ name: 'numschede_perCol', label_trans: 'scheda,numschede_perCol', fieldtype: costanti.FieldType.number }),
AddCol({ name: 'numschede_perRiga', label_trans: 'scheda.numschede_perRiga', fieldtype: costanti.FieldType.number }),
@@ -4942,28 +4944,28 @@ export const fieldsTable = {
label: 'Amici',
columns: colTableUsersGeneric,
colkey: 'username',
collabel: 'username',
collabel: (rec: any) => `${rec.name} ${rec.surname}`,
},
{
value: 'friendsandme',
label: 'Amici_and_me',
columns: colTableUsersGeneric,
colkey: 'username',
collabel: 'username',
collabel: (rec: any) => `${rec.name} ${rec.surname}`,
},
{
value: 'lista_editori',
label: 'Editori',
columns: colTableUsersGeneric,
colkey: 'username',
collabel: 'username',
collabel: 'name',
},
{
value: 'mygroups',
label: 'Organizzazioni',
columns: colmyUserGroup,
colkey: 'groupname',
collabel: 'groupname',
collabel: (rec: any) => `${rec.groupname} `,
},
{
value: 'movements',

View File

@@ -9059,15 +9059,21 @@ export const tools = {
setRecordByField(field: any, record: any, value: any) {
let mioval = ''
if (field) {
const arrfields = field.split('.')
if (arrfields && arrfields.length > 1) {
try {
record[arrfields[0]][arrfields[1]] = value
} catch (e) {
return record
}
if (typeof field === 'function') {
// Se field è una funzione, chiamala per ottenere il campo
const fieldValue = field(record)
record[fieldValue] = value
} else {
record[field] = value
const arrfields = field.split('.')
if (arrfields && arrfields.length > 1) {
try {
record[arrfields[0]][arrfields[1]] = value
} catch (e) {
return record
}
} else {
record[field] = value
}
}
}
return record
@@ -9643,6 +9649,24 @@ export const tools = {
return Object.keys(obj).length === 0;
},
getsearchList_Cataloghi() {
return [{
visible: true,
label: 'Editore',
table: 'lista_editori',
key: 'referenti',
type: costanti.FieldType.select,
value: tools.getCookie(tools.COOK_SEARCH + costanti.FILTER_SEP + shared_consts.TABLES_CATALOG + costanti.FILTER_SEP + 'referente', costanti.FILTER_TUTTI),
keycookie: '',
addall: true,
arrvalue: [],
filter: null,
useinput: false,
icon: 'fas fa-user'
}]
},
// FINE !
// getLocale() {

View File

@@ -1,4 +1,4 @@
import { IBaseOrder, ICart, IOrder, IOrderCart, IProduct, IProductsState, IProductInfo, ICatProd, IUserShort, IGasordine, IAuthor, ISubCatProd, IText, IOptCatalogo, ICatalog } from 'model'
import { IBaseOrder, ICart, IOrder, IOrderCart, IProduct, IProductsState, IProductInfo, ICatProd, IUserShort, IGasordine, IAuthor, ISubCatProd, IText, IOptCatalogo, ICatalog, ICatPrTotali } from 'model'
import { Api } from '@api'
import { serv_constants } from '@src/store/Modules/serv_constants'
@@ -170,6 +170,14 @@ export const useProducts = defineStore('Products', {
}
return ''
},
getTotaliProdottiByIdCatProd: (state: IProductsState) => (idCatProd: string): number => {
const myfirstcat = state.catprtotali!.find((rec: ICatPrTotali) => rec._id === idCatProd)
if (myfirstcat) {
return myfirstcat.quanti!
}
return 0
},
getSubCatProdsByGas: (state: IProductsState) => (idGasOrdine: string, idCatProd: string): ISubCatProd[] => {
let arrcat = state.subcatprods

View File

@@ -1778,6 +1778,7 @@ export const useGlobalStore = defineStore('GlobalStore', {
this.providers = (res.data.providers) ? [...res.data.providers] : []
Products.catprods = (res.data.catprods) ? [...res.data.catprods] : []
Products.catprtotali = (res.data.catprtotali) ? [...res.data.catprtotali] : []
Products.collane = (res.data.collane) ? [...res.data.collane] : []
Products.subcatprods = (res.data.subcatprods) ? [...res.data.subcatprods] : []
Products.catprods_gas = (res.data.catprods_gas) ? [...res.data.catprods_gas] : []
@@ -2108,7 +2109,7 @@ export const useGlobalStore = defineStore('GlobalStore', {
getTableJoinByName(table: string, addall?: boolean, addnone?: boolean, filter?: any, value2?: any) {
let myarr: any = []
if (table === 'permissions') myarr = [shared_consts.Permissions.Admin, shared_consts.Permissions.Manager, shared_consts.Permissions.Teacher, shared_consts.Permissions.Facilitatore, shared_consts.Permissions.Editor, shared_consts.Permissions.Zoomeri, shared_consts.Permissions.Department]
if (table === 'permissions') myarr = [shared_consts.Permissions.Admin, shared_consts.Permissions.Manager, shared_consts.Permissions.Teacher, shared_consts.Permissions.Facilitatore, shared_consts.Permissions.Editor, shared_consts.Permissions.Zoomeri, shared_consts.Permissions.Department, shared_consts.Permissions.Grafico]
else if (table === 'accepted') myarr = [shared_consts.Accepted.CHECK_READ_GUIDELINES, shared_consts.Accepted.CHECK_SEE_VIDEO_PRINCIPI]
else if (table === 'fieldstype') myarr = costanti.FieldTypeArr
else if (table === 'metodo_pagamento') myarr = tools.SelectMetodiPagamento
@@ -2160,8 +2161,10 @@ export const useGlobalStore = defineStore('GlobalStore', {
myarr = newarr
}
if (addall)
if (addall) {
myarr = [costanti.FILTER_TUTTI, ...myarr]
}
if (addnone) {

View File

@@ -571,6 +571,11 @@
>Struttura Campi GM</a
>
<a
href="http://vps-88271abb.vps.ovh.net/apimacro/public/view-table/T_WEB_Argomenti/100"
target="_blank"
>Tabella Argomenti </a>
<a
href="https://www.fioredellavita.it/wp-admin/admin.php?page=webappick-manage-feeds"
target="_blank"