- fix RIS in pendenti, se troppi msg, non compariva piu

- cataloghi, ricerca pickup
This commit is contained in:
Surya Paolo
2024-05-09 23:36:58 +02:00
parent 58f53f8c52
commit faf0fabfb0
68 changed files with 1776 additions and 188 deletions

View File

@@ -107,7 +107,7 @@
height: 70px;
}
.book-image-fixed{
.book-image-fixed {
max-width: 300px;
max-height: 600px;
}
@@ -124,6 +124,11 @@
.book-details {
margin: 20px;
@media (max-width: 718px) {
margin: 4px;
}
}
.book-card {
@@ -173,38 +178,57 @@
}
.book-author {
color: grey; /* Colore scuro per garantire una buona leggibilità */
color: grey;
/* Colore scuro per garantire una buona leggibilità */
}
.author{
color: darkblue; /* Colore scuro per garantire una buona leggibilità */
text-transform: capitalize; /* Capitalizzazione delle iniziali per ogni parola del nome */
background-color: #f9f9f9; /* Sfondo leggermente diverso per evidenziare il nome */
border-radius: 2px; /* Bordi arrotondati per un aspetto più soft-edged */
display: inline-block; /* Tratta il blocco come elementi inline-block per adattarlo al contenuto */
font-style: italic; /* Stile del testo in corsivo per evidenziare l'autore */
.author {
color: darkblue;
/* Colore scuro per garantire una buona leggibilità */
text-transform: capitalize;
/* Capitalizzazione delle iniziali per ogni parola del nome */
background-color: #f9f9f9;
/* Sfondo leggermente diverso per evidenziare il nome */
border-radius: 2px;
/* Bordi arrotondati per un aspetto più soft-edged */
display: inline-block;
/* Tratta il blocco come elementi inline-block per adattarlo al contenuto */
font-style: italic;
/* Stile del testo in corsivo per evidenziare l'autore */
}
.author[data-col=c1]{
font-size: 1.1em; /* Dimensione del font leggermente più grande per enfatizzare l'importanza del nome dell'autore */
.author[data-col=c1] {
font-size: 1.1em;
/* Dimensione del font leggermente più grande per enfatizzare l'importanza del nome dell'autore */
}
.author[data-col=c2]{
font-size: 1em; /* Dimensione del font leggermente più grande per enfatizzare l'importanza del nome dell'autore */
.author[data-col=c2] {
font-size: 1em;
/* Dimensione del font leggermente più grande per enfatizzare l'importanza del nome dell'autore */
}
.book-category {
font-size: 1em; /* Dimensione del font leggermente più grande per enfatizzare l'importanza del nome dell'autore */
color: grey; /* Colore scuro per garantire una buona leggibilità */
font-size: 1em;
/* Dimensione del font leggermente più grande per enfatizzare l'importanza del nome dell'autore */
color: grey;
/* Colore scuro per garantire una buona leggibilità */
}
.category{
font-size: 1.0em; /* Dimensione del font leggermente più grande per enfatizzare l'importanza del nome dell'autore */
color: green; /* Colore scuro per garantire una buona leggibilità */
text-transform: capitalize; /* Capitalizzazione delle iniziali per ogni parola del nome */
background-color: #f9f9f9; /* Sfondo leggermente diverso per evidenziare il nome */
border-radius: 2px; /* Bordi arrotondati per un aspetto più soft-edged */
display: inline-block; /* Tratta il blocco come elementi inline-block per adattarlo al contenuto */
font-style: italic; /* Stile del testo in corsivo per evidenziare l'autore */
.category {
font-size: 1.0em;
/* Dimensione del font leggermente più grande per enfatizzare l'importanza del nome dell'autore */
color: green;
/* Colore scuro per garantire una buona leggibilità */
text-transform: capitalize;
/* Capitalizzazione delle iniziali per ogni parola del nome */
background-color: #f9f9f9;
/* Sfondo leggermente diverso per evidenziare il nome */
border-radius: 2px;
/* Bordi arrotondati per un aspetto più soft-edged */
display: inline-block;
/* Tratta il blocco come elementi inline-block per adattarlo al contenuto */
font-style: italic;
/* Stile del testo in corsivo per evidenziare l'autore */
box-shadow: 0 0 5px gray;
}
@@ -222,6 +246,7 @@
border-radius: 5px;
padding: 4px;
cursor: pointer;
.q-badge {
font-size: 1rem;
padding: 4px 6px;
@@ -229,10 +254,11 @@
}
.colfix_prodotti_1 {
width: 350px;
width: 100%;
}
.colfix_prodotti_2 {
width: 175px;
width: 170px;
}
.block-variazione-selected {
@@ -247,20 +273,30 @@
/* Stilizzazione per descrizione breve del libro */
.book-short-descr {
font-size: 1.1em; /* Leggermente più grande per enfatizzare l'importanza */
color: #666; /* Colore del testo in tono grigio scuro per un look sobrio */
padding: 8px; /* Padding per dare spazio intorno al testo */
border-left: 4px solid #007BFF; /* Linea verticale a sinistra come decorazione tradizionale delle citazioni */
margin: 10px 0; /* Margine sopra e sotto per distanziare dalla restante contenuto */
font-style: italic; /* Stile del font in corsivo per indicare che si tratta di un estratto o citazione */
background-color: #f4f4f4; /* Sfondo leggermente diverso per evidenziare la sezione */
display: block; /* Assicura che l'elemento sia trattato come blocco, occupando l'intera larghezza */
text-align: center; /* Giustifica il testo per una lettura più fluida */
font-size: 1.1em;
/* Leggermente più grande per enfatizzare l'importanza */
color: #666;
/* Colore del testo in tono grigio scuro per un look sobrio */
padding: 8px;
/* Padding per dare spazio intorno al testo */
border-left: 4px solid #007BFF;
/* Linea verticale a sinistra come decorazione tradizionale delle citazioni */
margin: 10px 0;
/* Margine sopra e sotto per distanziare dalla restante contenuto */
font-style: italic;
/* Stile del font in corsivo per indicare che si tratta di un estratto o citazione */
background-color: #f4f4f4;
/* Sfondo leggermente diverso per evidenziare la sezione */
display: block;
/* Assicura che l'elemento sia trattato come blocco, occupando l'intera larghezza */
text-align: center;
/* Giustifica il testo per una lettura più fluida */
}
/* Opzionale: Transizione per l'hover su descrizione */
.book-short-descr:hover {
background-color: #e9e9e9; /* Cambio di sfondo al passaggio del mouse per un effetto interattivo */
background-color: #e9e9e9;
/* Cambio di sfondo al passaggio del mouse per un effetto interattivo */
}
.ingrandisci:hover {
@@ -268,7 +304,7 @@
transform: scale(1.1);
}
.title-descr{
.title-descr {
font-weight: bold;
font-size: 1.1rem;
text-align: center;
@@ -277,14 +313,16 @@
.scheda-book {
text-align: center;
margin-left: 20px;
@media (max-width: 718px) {
margin-left: 5px;
}
}
}
.book-3d:hover img {
transform: translateZ(50px) rotateY(-20deg); /* Applica la trasformazione 3D quando si passa con il mouse sopra */
transform: translateZ(50px) rotateY(-20deg);
/* Applica la trasformazione 3D quando si passa con il mouse sopra */
}
// Contenitore del libro, con effetto 3d, ed animazione 3D
@@ -299,4 +337,4 @@
transform-origin: center center;
transition: transform 0.5s ease-in-out;
}
}
}

View File

@@ -28,6 +28,7 @@ import 'vue3-pdf-app/dist/icons/main.css'
export default defineComponent({
name: 'CCatalogoCard',
emits: ['selauthor'],
props: {
product: {
type: Object as PropType<IProduct | null>,
@@ -472,6 +473,10 @@ export default defineComponent({
}
}
function click_author(id: any, autore: any) {
emit('selauthor', id, autore)
}
onMounted(mounted)
onBeforeUnmount(beforeDestroy)
@@ -525,6 +530,7 @@ export default defineComponent({
setvariazioneSelected,
indvariazSel,
checkifCartEnable,
click_author,
}
}
})

View File

@@ -77,10 +77,11 @@
v-for="(author, index) in myproduct.productInfo.authors"
:key="author._id"
>
<span class="author"
<span v-if="index > 0">, </span>
<span class="author cursor-pointer text-primary"
@click="click_author(author._id, author.name + ' ' + author.surname)"
>{{ author.name }} {{ author.surname }}</span
>
<span v-if="index > 0">, </span>
</span>
</q-card-subtitle>
<q-card-subtitle
@@ -231,8 +232,7 @@
>
<div v-show="indvariazSel == index">
<div
v-show="
indvariazSel >= 0 &&
v-show="
tools.disponibStr(variazione.quantita)
"
class="row justify-center q-mt-sm vertical-middle"
@@ -250,7 +250,6 @@
>
</div>
<div
v-show="indvariazSel >= 0"
class="row justify-center vertical-middle"
style="align-items: center"
>
@@ -265,7 +264,7 @@
}}</span>
</div>
<div
v-show="indvariazSel >= 0 && !!variazione.formato"
v-show="!!variazione.formato"
class="row justify-center q-ma-sm vertical-middle"
style="align-items: center"
>
@@ -283,7 +282,7 @@
<div class="row justify-center q-mt-sm">
<q-btn
v-if="
indVariazSel >= 0 && variazione.addtocart_link && true
variazione.addtocart_link && true
"
:href="variazione.addtocart_link"
target="_blank"

View File

@@ -496,7 +496,7 @@
color="green"
></q-icon>
<q-icon
v-else
v-else-if="tools.isUscitaByRecMov(row)"
name="fas fa-share-square"
color="red"
></q-icon>
@@ -504,7 +504,7 @@
{{
tools.isEntrataByRecMov(row)
? t('movement.movin')
: t('movement.movout')
: (tools.isUscitaByRecMov(row) ? t('movement.movout') : '')
}}
</q-toolbar-title>
</q-toolbar>

View File

@@ -154,7 +154,7 @@
color="green"
></q-icon>
<q-icon
v-else
v-else-if="tools.isUscitaByRecMov(row)"
name="fas fa-share-square"
color="red"
></q-icon>
@@ -162,7 +162,7 @@
{{
tools.isEntrataByRecMov(row)
? t('movement.movin')
: t('movement.movout')
: (tools.isUscitaByRecMov(row) ? t('movement.movout') : '')
}}
</q-toolbar-title>
</q-toolbar>

View File

@@ -329,8 +329,8 @@ export default defineComponent({
if (props.addall) {
let myobj: any = {}
if (typeof props.optlab === 'string') {
myobj[props.optlab] = '(Tutti)'
myobj[props.optval] = costanti.FILTER_TUTTI
myobj = tools.setRecordByField(props.optlab, myobj, '(Tutti)')
myobj = tools.setRecordByField(props.optval, myobj, costanti.FILTER_TUTTI)
}
arrtempOpt.value.push(myobj)
@@ -495,8 +495,8 @@ export default defineComponent({
if (props.addall) {
let myobj: any = {}
if (typeof props.optlab === 'string') {
myobj[props.optlab] = '(Tutti)'
myobj[props.optval] = costanti.FILTER_TUTTI
myobj = tools.setRecordByField(props.optlab, myobj, '(Tutti)')
myobj = tools.setRecordByField(props.optval, myobj, costanti.FILTER_TUTTI)
}
if (myarr)
@@ -570,7 +570,17 @@ export default defineComponent({
if (val === '') {
valori.value = myarr
} else {
valori.value = myarr.filter((v: any) => v[`${props.optlab}`].toLowerCase().indexOf(mystr) > -1)
let optlab: any = props.optlab ? '' + props.optlab : ''
if (optlab) {
valori.value = myarr.filter((v: any) => {
let mioval = tools.getRecordByField(optlab, v)
if (mioval)
return mioval.toLowerCase().indexOf(mystr) > -1
else
return false
})
}
}
}
@@ -604,8 +614,6 @@ export default defineComponent({
myarr = await globalStore.loadPickup({ table: props.tablesel, search: mystr.trim(), filter: props.filter_extra })
}
if (myarr === null) {
console.log('@@@ VALORI VALUE XXX', valori.value)
valori.value = arrtempOpt.value
@@ -619,8 +627,8 @@ export default defineComponent({
if (props.addall) {
let myobj: any = {}
if (typeof props.optlab === 'string') {
myobj[props.optlab] = '(Tutti)'
myobj[props.optval] = costanti.FILTER_TUTTI
myobj = tools.setRecordByField(props.optlab, myobj, '(Tutti)')
myobj = tools.setRecordByField(props.optval, myobj, costanti.FILTER_TUTTI)
}
myarr = [myobj, ...myarr]
@@ -714,11 +722,11 @@ export default defineComponent({
} else {
done(recfound[myid], 'add-unique')
}
/* if (props.multiple || props.multiselect_by_server) {
console.log('arrout (2)', arrout)
changeval(arrout)
}
}*/
}

View File

@@ -50,7 +50,12 @@
:text-color="$q.dark.isActive ? `white` : `black`"
class="q-my-none q-ml-xs q-mr-none"
>
<q-avatar color="primary" text-color="white" icon="" size="12px"/>
<q-avatar
color="primary"
text-color="white"
icon=""
size="12px"
/>
{{ scope.opt[fieldsTable.getLabelByTable(tablesel)] }}
</q-chip>
</div>
@@ -58,18 +63,20 @@
<template v-slot:option="{ itemProps, opt, selected, toggleOption }">
<q-item v-bind="itemProps">
<q-item-section>
<q-item-label>{{ opt[fieldsTable.getLabelByTable(tablesel)] }}</q-item-label>
<q-item-label>{{
opt[fieldsTable.getLabelByTable(tablesel)]
}}</q-item-label>
</q-item-section>
<q-item-section side>
<q-toggle :model-value="selected" @update:model-value="toggleOption(opt)"/>
<q-toggle
:model-value="selected"
@update:model-value="toggleOption(opt)"
/>
</q-item-section>
</q-item>
</template>
</q-select>
</div>
<div v-else-if="pickup">
<q-select
@@ -92,6 +99,14 @@
@filter="filterFn"
v-bind="$attrs"
>
<template v-slot:append>
<q-icon
v-if="myvalue !== ''"
class="cursor-pointer"
name="clear"
@click.stop.prevent="myvalue = ''"
/>
</template>
<template v-if="getIcon()" v-slot:prepend>
<q-icon size="xs" :name="getIcon()" />
</template>
@@ -105,7 +120,9 @@
<template v-slot:option="scope">
<q-item v-bind="scope.itemProps">
<q-item-section>
<q-item-label> {{ tools.getValueByFunzOrVal(scope.opt,optlab) }}</q-item-label>
<q-item-label>
{{ tools.getValueByFunzOrVal(scope.opt, optlab) }}</q-item-label
>
</q-item-section>
</q-item>
</template>
@@ -133,16 +150,15 @@
:options="valori"
:option-value="optval"
:option-label="optlab"
:dense="dense">
:dense="dense"
>
<!--options-selected-class="text-deep-blue"-->
<template v-if="getIcon()" v-slot:prepend>
<q-icon :name="getIcon()" />
</template>
<template
v-slot:selected-item="scope">
<div v-if="tools.getValueByFunzOrVal(scope.opt,optlab)">
<template v-slot:selected-item="scope">
<div v-if="tools.getValueByFunzOrVal(scope.opt, optlab)">
<q-chip
removable
dense
@@ -151,27 +167,38 @@
:color="$q.dark.isActive ? `black` : `white`"
class="q-my-none q-ml-xs q-mr-none"
>
<q-avatar color="primary" text-color="white" :icon="scope.opt.icon ? scope.opt.icon : ''" size="12px"/>
<q-avatar
color="primary"
text-color="white"
:icon="scope.opt.icon ? scope.opt.icon : ''"
size="12px"
/>
{{ tools.getValueByFunzOrVal(scope.opt, optlab) }}
</q-chip>
</div>
</template>
<template
v-if="withToggle"
v-slot:option="{ itemProps, opt, selected, toggleOption }">
v-slot:option="{ itemProps, opt, selected, toggleOption }"
>
<q-item v-bind="itemProps">
<q-item-section>
<q-item-label>{{ tools.getValueByFunzOrVal(opt,optlab) }}</q-item-label>
<q-item-label v-if="'hint' in opt" class="hint">{{ opt['hint'] }}</q-item-label>
<q-item-label>{{
tools.getValueByFunzOrVal(opt, optlab)
}}</q-item-label>
<q-item-label v-if="'hint' in opt" class="hint">{{
opt['hint']
}}</q-item-label>
</q-item-section>
<q-item-section side>
<q-toggle :model-value="selected" @update:model-value="toggleOption(opt)"/>
<q-toggle
:model-value="selected"
@update:model-value="toggleOption(opt)"
/>
</q-item-section>
</q-item>
</template>
</q-select>
</div>
<div v-else>
<q-select
@@ -194,24 +221,27 @@
input-debounce="0"
map-options
v-bind="$attrs"
:class="myclass ? myclass : 'combowidth'">
:class="myclass ? myclass : 'combowidth'"
>
<template v-if="getIcon()" v-slot:prepend>
<q-icon :name="getIcon()" />
</template>
<template v-slot:option="scope">
<q-item v-bind="scope.itemProps">
<q-item-section avatar>
<q-icon :name="scope.opt.icon ? scope.opt.icon : ''"/>
<q-icon :name="scope.opt.icon ? scope.opt.icon : ''" />
</q-item-section>
<q-item-section>
<q-item-label>{{ tools.getValueByFunzOrVal(scope.opt,optlab) }}</q-item-label>
<q-item-label v-if="'hint' in scope.opt" class="hint">{{ scope.opt['hint'] }}</q-item-label>
<q-item-label>{{
tools.getValueByFunzOrVal(scope.opt, optlab)
}}</q-item-label>
<q-item-label v-if="'hint' in scope.opt" class="hint">{{
scope.opt['hint']
}}</q-item-label>
</q-item-section>
</q-item>
</template>
</q-select>
</div>
</div>
</template>

View File

@@ -2,11 +2,11 @@
<div class="q-ma-sm text-center">
<q-btn
v-if="num_notifs > 0"
:label="t('circuit.ris_in_arrivo') + (num_notifs > 1 ? (' (' + num_notifs + ' ' + t('circuit.transaz') + ')') : '')"
:label="(num_notifs > 1) ? t('circuit.mov_in_arrivo', {mov: num_notifs}) : t('circuit.ris_in_arrivo')"
@click="shownotif = true"
icon="fas fa-coins"
rounded
color="primary"
color="positive"
></q-btn>
</div>