- Migliorata la Notifica degli Eventi su Telegram
- Gli annunci (beni/servizi/ospitalità) ora possono essere visti anche tramite un link, anche per chi non è dentro alla App. - Aggiunto bottone "Aggiorna" per aggiornare il Saldo attuale. - I "Conti Collettivi" ora vengono chiamati Gruppi (o Conto di Gruppo).
This commit is contained in:
@@ -123,14 +123,14 @@
|
|||||||
"crypto": false
|
"crypto": false
|
||||||
},
|
},
|
||||||
"browserslist": [
|
"browserslist": [
|
||||||
"last 80 Chrome versions",
|
"last 100 Chrome versions",
|
||||||
"last 40 Firefox versions",
|
"last 40 Firefox versions",
|
||||||
"last 20 Edge versions",
|
"last 20 Edge versions",
|
||||||
"last 55 Safari versions",
|
"last 55 Safari versions",
|
||||||
"last 90 Android versions",
|
"last 90 Android versions",
|
||||||
"last 250 ChromeAndroid versions",
|
"last 250 ChromeAndroid versions",
|
||||||
"last 60 FirefoxAndroid versions",
|
"last 60 FirefoxAndroid versions",
|
||||||
"last 30 iOS versions",
|
"last 35 iOS versions",
|
||||||
"last 10 Opera versions",
|
"last 10 Opera versions",
|
||||||
"> 0.03%",
|
"> 0.03%",
|
||||||
"not dead"
|
"not dead"
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ export const shared_consts = {
|
|||||||
color: 'green',
|
color: 'green',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
LIMIT_NOTIF_FOR_USER: 200,
|
||||||
|
|
||||||
ELEMTYPE: {
|
ELEMTYPE: {
|
||||||
TITLE: 5,
|
TITLE: 5,
|
||||||
@@ -57,6 +58,7 @@ export const shared_consts = {
|
|||||||
BTN_LOGIN: 260,
|
BTN_LOGIN: 260,
|
||||||
FOOTER: 270,
|
FOOTER: 270,
|
||||||
PROFILETUTORIAL: 280,
|
PROFILETUTORIAL: 280,
|
||||||
|
VISUVIDEOPROMOANDPDF: 290
|
||||||
},
|
},
|
||||||
|
|
||||||
QUERYTYPE_MYGROUP: 1,
|
QUERYTYPE_MYGROUP: 1,
|
||||||
@@ -1464,6 +1466,10 @@ export const shared_consts = {
|
|||||||
value: 270,
|
value: 270,
|
||||||
label: 'Footer',
|
label: 'Footer',
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
value: 280,
|
||||||
|
label: 'Visu Promo and PDF',
|
||||||
|
},
|
||||||
{
|
{
|
||||||
value: 40,
|
value: 40,
|
||||||
label: 'Separatore',
|
label: 'Separatore',
|
||||||
@@ -1766,6 +1772,7 @@ export const shared_consts = {
|
|||||||
lasttimeonline: 1,
|
lasttimeonline: 1,
|
||||||
comune: 1,
|
comune: 1,
|
||||||
mycities: 1,
|
mycities: 1,
|
||||||
|
lang: 1,
|
||||||
'profile.img': 1,
|
'profile.img': 1,
|
||||||
'profile.mygroups': 1,
|
'profile.mygroups': 1,
|
||||||
'profile.mycircuits': 1,
|
'profile.mycircuits': 1,
|
||||||
|
|||||||
@@ -33,6 +33,7 @@ export default defineComponent({
|
|||||||
costanti,
|
costanti,
|
||||||
static_data,
|
static_data,
|
||||||
site,
|
site,
|
||||||
|
t,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -1,56 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div v-if="showalways || (!showalways && !tools.isLogged())">
|
<div v-if="showalways || (!showalways && !tools.isLogged())">
|
||||||
<div class="q-pa-md q-gutter-sm">
|
<div class="q-pa-md q-gutter-sm">
|
||||||
<div id="logo" class="text-center">
|
<div class=" text-center">
|
||||||
<q-img
|
|
||||||
id="logoimg"
|
|
||||||
:src="tools.getimglogo()"
|
|
||||||
class="q-my-sm"
|
|
||||||
alt="logo APP"
|
|
||||||
style="height: 100px; width: 100px"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<q-banner
|
|
||||||
v-if="site.confpages.videoPromo"
|
|
||||||
rounded
|
|
||||||
dense
|
|
||||||
size="lg"
|
|
||||||
class="bg-grey-3 shadow-5 q-my-sm"
|
|
||||||
color="primary q-title"
|
|
||||||
style="text-align: center"
|
|
||||||
>
|
|
||||||
<div class="mybanner bg-blue text-white">Video di Presentazione:</div>
|
|
||||||
<br />
|
|
||||||
<q-video :src="site.confpages.videoPromo" :ratio="16 / 9"> </q-video>
|
|
||||||
</q-banner>
|
|
||||||
|
|
||||||
<q-banner
|
|
||||||
v-if="site.confpages.PDFPromo"
|
|
||||||
rounded
|
|
||||||
dense
|
|
||||||
size="lg"
|
|
||||||
class="bg-grey-3 shadow-5 q-my-sm"
|
|
||||||
color="primary q-title"
|
|
||||||
style="text-align: center"
|
|
||||||
>
|
|
||||||
<div class="mybanner bg-blue text-white">PDF Presentazione RISO:</div>
|
|
||||||
<br />
|
|
||||||
<template v-slot:action>
|
|
||||||
<q-btn
|
|
||||||
type="a"
|
|
||||||
rounded
|
|
||||||
icon="fab fa-telegram"
|
|
||||||
color="primary"
|
|
||||||
:href="site.confpages.PDFPromo"
|
|
||||||
target="_blank"
|
|
||||||
label="Scarica PDF"
|
|
||||||
>
|
|
||||||
</q-btn>
|
|
||||||
</template>
|
|
||||||
</q-banner>
|
|
||||||
|
|
||||||
<div class="text-h6 text-center">
|
|
||||||
<transition-group
|
<transition-group
|
||||||
name="fade"
|
name="fade"
|
||||||
mode="out-in"
|
mode="out-in"
|
||||||
@@ -61,30 +12,33 @@
|
|||||||
<q-banner
|
<q-banner
|
||||||
:key="1"
|
:key="1"
|
||||||
rounded
|
rounded
|
||||||
dense
|
class="text-white bg-red"
|
||||||
size="lg"
|
|
||||||
class="shadow-5 q-my-sm"
|
|
||||||
color="primary q-title"
|
color="primary q-title"
|
||||||
style="text-align: center"
|
style="text-align: center"
|
||||||
>
|
>
|
||||||
<template v-slot:avatar>
|
<template v-slot:avatar>
|
||||||
<q-icon :key="2" name="signal_wifi_off" color="primary" />
|
<q-icon :key="2" name="fas fa-sign-in-alt" color="white" />
|
||||||
</template>
|
</template>
|
||||||
<div class="mybanner" :key="3">
|
<div :key="3">
|
||||||
Accedi per Unirti alla RETE e al Circuito di scambio RIS
|
Accedi con le tue credenziali per utilizzare la APP e per unirti
|
||||||
|
al Circuito di scambio RIS del tuo territorio
|
||||||
</div>
|
</div>
|
||||||
<template v-slot:action>
|
<template v-slot:action>
|
||||||
<q-btn
|
<div>
|
||||||
rounded
|
<q-btn
|
||||||
icon="fas fa-user"
|
flat
|
||||||
color="primary"
|
color="white"
|
||||||
@click="tools.openrighttoolbar()"
|
@click="tools.openrighttoolbar()"
|
||||||
>{{ $t('login.enter') }}
|
>{{ $t('login.enter') }}
|
||||||
</q-btn>
|
</q-btn>
|
||||||
<CRegistration />
|
</div>
|
||||||
|
|
||||||
|
<!--<CRegistration />-->
|
||||||
</template>
|
</template>
|
||||||
</q-banner>
|
</q-banner>
|
||||||
</transition-group>
|
</transition-group>
|
||||||
|
<q-separator inset />
|
||||||
|
<br>
|
||||||
<q-banner
|
<q-banner
|
||||||
rounded
|
rounded
|
||||||
dense
|
dense
|
||||||
|
|||||||
@@ -141,13 +141,13 @@ export default defineComponent({
|
|||||||
|
|
||||||
const mypagination = computed(() => {
|
const mypagination = computed(() => {
|
||||||
if (props.table === toolsext.TABMYBACHECAS)
|
if (props.table === toolsext.TABMYBACHECAS)
|
||||||
return { sortBy: 'dateTimeStart', descending: false, page: 1, rowsNumber: 20, rowsPerPage: 20 }
|
return { sortBy: 'dateTimeStart', descending: false, page: 1, rowsNumber: 0, rowsPerPage: 10 }
|
||||||
else if (props.table === toolsext.TABMYGROUPS)
|
else if (props.table === toolsext.TABMYGROUPS)
|
||||||
return { sortBy: 'date_created', descending: true, page: 1, rowsNumber: 20, rowsPerPage: 20 }
|
return { sortBy: 'date_created', descending: true, page: 1, rowsNumber: 0, rowsPerPage: 10 }
|
||||||
else if (props.table === toolsext.TABMOVEMENTS)
|
else if (props.table === toolsext.TABMOVEMENTS)
|
||||||
return { sortBy: 'transactionDate', descending: true, page: 1, rowsNumber: 20, rowsPerPage: 20 }
|
return { sortBy: 'transactionDate', descending: true, page: 1, rowsNumber: 0, rowsPerPage: 20 }
|
||||||
else if (props.table === toolsext.TABCIRCUITS)
|
else if (props.table === toolsext.TABCIRCUITS)
|
||||||
return { sortBy: 'numMembers', descending: true, page: 1, rowsNumber: 20, rowsPerPage: 20 }
|
return { sortBy: 'numMembers', descending: true, page: 1, rowsNumber: 0, rowsPerPage: 20 }
|
||||||
else if (props.table === toolsext.TABUSER)
|
else if (props.table === toolsext.TABUSER)
|
||||||
return userStore.getMypaginationMembers()
|
return userStore.getMypaginationMembers()
|
||||||
else if (shared_consts.TABLES_ORDER_DATE_UPDATED.includes(props.table))
|
else if (shared_consts.TABLES_ORDER_DATE_UPDATED.includes(props.table))
|
||||||
@@ -155,7 +155,7 @@ export default defineComponent({
|
|||||||
else if (shared_consts.TABLES_ORDER_DESCR.includes(props.table))
|
else if (shared_consts.TABLES_ORDER_DESCR.includes(props.table))
|
||||||
return { sortBy: 'desc', descending: false, page: 1, rowsNumber: 0, rowsPerPage: 10 }
|
return { sortBy: 'desc', descending: false, page: 1, rowsNumber: 0, rowsPerPage: 10 }
|
||||||
|
|
||||||
return { sortBy: 'date_created', descending: true, page: 1, rowsNumber: 20, rowsPerPage: 20 }
|
return { sortBy: 'date_created', descending: true, page: 1, rowsNumber: 0, rowsPerPage: 10 }
|
||||||
})
|
})
|
||||||
|
|
||||||
const searchList = computed(() => {
|
const searchList = computed(() => {
|
||||||
|
|||||||
@@ -58,7 +58,7 @@
|
|||||||
:defaultnewrec="tools.getdefaultnewrec(table)"
|
:defaultnewrec="tools.getdefaultnewrec(table)"
|
||||||
labelBtnAddRow="NONE"
|
labelBtnAddRow="NONE"
|
||||||
:prop_SortFieldsAvailable="mySortFieldsAvailable"
|
:prop_SortFieldsAvailable="mySortFieldsAvailable"
|
||||||
:labelBtnAddExtra="noButtAdd ? `` : ``"
|
:labelBtnAddExtra="noButtAdd ? `` : (ind >= 0) ? `Aggiungi ` + costanti.MAINCARDS[ind].strsingolo : ''"
|
||||||
:extraparams="tools.extraparams(table, {myrecfiltertoggle})"
|
:extraparams="tools.extraparams(table, {myrecfiltertoggle})"
|
||||||
>
|
>
|
||||||
</CGridTableRec>
|
</CGridTableRec>
|
||||||
|
|||||||
@@ -49,13 +49,18 @@ export default defineComponent({
|
|||||||
type: String,
|
type: String,
|
||||||
required: true,
|
required: true,
|
||||||
},
|
},
|
||||||
|
subtitle: {
|
||||||
|
type: String,
|
||||||
|
required: false,
|
||||||
|
default: '',
|
||||||
|
},
|
||||||
prop_mytable: {
|
prop_mytable: {
|
||||||
type: String,
|
type: String,
|
||||||
required: false,
|
required: false,
|
||||||
default: '',
|
default: '',
|
||||||
},
|
},
|
||||||
prop_mycolumns: {
|
prop_mycolumns: {
|
||||||
type: Object as PropType<[]>,
|
type: Object as PropType<any[]>,
|
||||||
required: false,
|
required: false,
|
||||||
default: null,
|
default: null,
|
||||||
},
|
},
|
||||||
@@ -303,9 +308,10 @@ export default defineComponent({
|
|||||||
const globalStore = useGlobalStore()
|
const globalStore = useGlobalStore()
|
||||||
const isfinishLoading = computed(() => globalStore.finishLoading)
|
const isfinishLoading = computed(() => globalStore.finishLoading)
|
||||||
|
|
||||||
const pagination = ref({ sortBy: 'desc', descending: false, page: 1, rowsNumber: 10, rowsPerPage: 10 } as IPagination)
|
const pagination = ref({ sortBy: 'desc', descending: false, page: 1, rowsNumber: 0, rowsPerPage: 10 } as IPagination)
|
||||||
|
|
||||||
const addRow = ref('Aggiungi')
|
const addRow = ref('Aggiungi')
|
||||||
|
const actmonth = ref('')
|
||||||
|
|
||||||
const newRecordBool = ref(false)
|
const newRecordBool = ref(false)
|
||||||
const newRecordBoolOld = ref(false)
|
const newRecordBoolOld = ref(false)
|
||||||
@@ -317,7 +323,7 @@ export default defineComponent({
|
|||||||
|
|
||||||
const mytable = ref('')
|
const mytable = ref('')
|
||||||
const mytitle = ref('')
|
const mytitle = ref('')
|
||||||
const mycolumns = ref([])
|
const mycolumns = ref([] as any[])
|
||||||
const colkey = ref('')
|
const colkey = ref('')
|
||||||
const search = ref('')
|
const search = ref('')
|
||||||
|
|
||||||
@@ -326,6 +332,7 @@ export default defineComponent({
|
|||||||
const showNotification = ref(false)
|
const showNotification = ref(false)
|
||||||
|
|
||||||
const loading = ref(false)
|
const loading = ref(false)
|
||||||
|
const alreadymounting = ref(false)
|
||||||
const editOn = computed({
|
const editOn = computed({
|
||||||
get: () => globalStore.editOn,
|
get: () => globalStore.editOn,
|
||||||
set: val => {
|
set: val => {
|
||||||
@@ -343,13 +350,13 @@ export default defineComponent({
|
|||||||
|
|
||||||
const myinfscroll = ref(null)
|
const myinfscroll = ref(null)
|
||||||
|
|
||||||
const serverData: any = ref([])
|
const serverData: any = ref([] as any[])
|
||||||
const numRecLoaded = ref(0)
|
const numRecLoaded = ref(0)
|
||||||
const spinner_visible = ref(false)
|
const spinner_visible = ref(false)
|
||||||
const changetable = ref(false)
|
const changetable = ref(false)
|
||||||
const searchList = ref([] as ISearchList[])
|
const searchList = ref([] as ISearchList[])
|
||||||
|
|
||||||
const actual = ''
|
const actual = ref(<any>'')
|
||||||
|
|
||||||
let idsel = ''
|
let idsel = ''
|
||||||
const colsel = ref({ name: '', field: '', sortable: false } as IColGridTable | null)
|
const colsel = ref({ name: '', field: '', sortable: false } as IColGridTable | null)
|
||||||
@@ -386,11 +393,14 @@ export default defineComponent({
|
|||||||
const ordinam_desc = ref(false)
|
const ordinam_desc = ref(false)
|
||||||
|
|
||||||
|
|
||||||
const valoriopt = computed(() => (item: any, addall: boolean, addnone: boolean) => {
|
const getNumRecFromQuery = computed(() => () => {
|
||||||
|
return serverData.value.length
|
||||||
|
})
|
||||||
|
const valoriopt = computed(() => (item: any, addall?: boolean, addnone?: boolean) => {
|
||||||
// console.log('valoriopt', item.table)
|
// console.log('valoriopt', item.table)
|
||||||
return globalStore.getTableJoinByName(item.table, addall, addnone, item.filter)
|
return globalStore.getTableJoinByName(item.table, addall, addnone, item.filter)
|
||||||
})
|
})
|
||||||
const lengthopt = computed(() => (item: any, addall: boolean, addnone: boolean) => {
|
const lengthopt = computed(() => (item: any, addall: boolean, addnone?: boolean) => {
|
||||||
// console.log('valoriopt', item.table)
|
// console.log('valoriopt', item.table)
|
||||||
const valori = globalStore.getTableJoinByName(item.table, addall, addnone, item.filter)
|
const valori = globalStore.getTableJoinByName(item.table, addall, addnone, item.filter)
|
||||||
return (valori ? valori.length : 0)
|
return (valori ? valori.length : 0)
|
||||||
@@ -1094,6 +1104,7 @@ export default defineComponent({
|
|||||||
myinfscroll.value.resume()
|
myinfscroll.value.resume()
|
||||||
}
|
}
|
||||||
done()
|
done()
|
||||||
|
alreadymounting.value = true
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1158,6 +1169,8 @@ export default defineComponent({
|
|||||||
|
|
||||||
// console.log(' ...DONE ')
|
// console.log(' ...DONE ')
|
||||||
done(pagination.value.rowsNumber === 0 ? true : false)
|
done(pagination.value.rowsNumber === 0 ? true : false)
|
||||||
|
|
||||||
|
alreadymounting.value = true
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
startsearch.value = false
|
startsearch.value = false
|
||||||
@@ -1169,7 +1182,6 @@ export default defineComponent({
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function refresh_arr() {
|
function refresh_arr() {
|
||||||
const myarr = [...serverData.value]
|
const myarr = [...serverData.value]
|
||||||
serverData.value = []
|
serverData.value = []
|
||||||
@@ -1185,7 +1197,7 @@ export default defineComponent({
|
|||||||
}
|
}
|
||||||
|
|
||||||
function refresh_infscroll(done: any) {
|
function refresh_infscroll(done: any) {
|
||||||
// console.log('refresh_infscroll', 'pag', pagination.value.rowsNumber)
|
console.log('refresh_infscroll', 'pag', pagination.value.rowsNumber, 'done', done)
|
||||||
rowclicksel.value = null
|
rowclicksel.value = null
|
||||||
|
|
||||||
onUpdateData(0,
|
onUpdateData(0,
|
||||||
@@ -1197,7 +1209,7 @@ export default defineComponent({
|
|||||||
|
|
||||||
|
|
||||||
function refresh() {
|
function refresh() {
|
||||||
// console.log('refresh', 'startsearch', startsearch.value)
|
console.log('refresh', 'startsearch', startsearch.value)
|
||||||
|
|
||||||
clickbuttsearch.value = true
|
clickbuttsearch.value = true
|
||||||
// console.log('refresh')
|
// console.log('refresh')
|
||||||
@@ -1508,12 +1520,13 @@ export default defineComponent({
|
|||||||
myvertical.value = props.vertical
|
myvertical.value = props.vertical
|
||||||
// myvertical.value = tools.getCookie('myv_' + props.prop_mytable, props.vertical)
|
// myvertical.value = tools.getCookie('myv_' + props.prop_mytable, props.vertical)
|
||||||
|
|
||||||
showfilter.value = tools.getCookie('s_adv', '0') !== '0'
|
showfilter.value = props.prop_showfilter || (tools.getCookie('s_adv', '0') !== '0')
|
||||||
}
|
}
|
||||||
|
|
||||||
function mounted() {
|
function mounted() {
|
||||||
searchList.value = props.prop_searchList
|
searchList.value = props.prop_searchList
|
||||||
|
|
||||||
|
|
||||||
// console.log('GridTable mounted', tablesel.value)
|
// console.log('GridTable mounted', tablesel.value)
|
||||||
|
|
||||||
// console.log('props.filtercustom', props.filtercustom)
|
// console.log('props.filtercustom', props.filtercustom)
|
||||||
@@ -1548,7 +1561,8 @@ export default defineComponent({
|
|||||||
|
|
||||||
// console.log('2) tablesel', tablesel.value)
|
// console.log('2) tablesel', tablesel.value)
|
||||||
|
|
||||||
changeTable(tablesel.value)
|
changeTable(tablesel.value, true)
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1696,7 +1710,7 @@ export default defineComponent({
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function changeTable(mysel: any) {
|
function changeTable(mysel: any, mounted: boolean) {
|
||||||
// console.log('changeTable', tablesel.value)
|
// console.log('changeTable', tablesel.value)
|
||||||
changetable.value = true
|
changetable.value = true
|
||||||
if (tablesel.value === undefined || tablesel.value === '')
|
if (tablesel.value === undefined || tablesel.value === '')
|
||||||
@@ -2171,7 +2185,7 @@ export default defineComponent({
|
|||||||
|
|
||||||
if (index > 1) {
|
if (index > 1) {
|
||||||
// console.log('onLoadScroll', index, 'RECLOAD', numRecLoaded.value, 'ROWS: ', pagination.value.rowsNumber, 'PAGE: ', pagination.value.page)
|
// console.log('onLoadScroll', index, 'RECLOAD', numRecLoaded.value, 'ROWS: ', pagination.value.rowsNumber, 'PAGE: ', pagination.value.page)
|
||||||
if (numRecLoaded.value < pagination.value.rowsNumber || (pagination.value.rowsNumber <= 0 && clickbuttsearch.value)) {
|
if ((numRecLoaded.value < pagination.value.rowsNumber || (pagination.value.rowsNumber <= 0 && clickbuttsearch.value))) {
|
||||||
if (pagination.value.rowsNumber === 0) {
|
if (pagination.value.rowsNumber === 0) {
|
||||||
pagination.value.page = 0
|
pagination.value.page = 0
|
||||||
}
|
}
|
||||||
@@ -2369,6 +2383,9 @@ export default defineComponent({
|
|||||||
lengthopt,
|
lengthopt,
|
||||||
update_col,
|
update_col,
|
||||||
startsearch,
|
startsearch,
|
||||||
|
getNumRecFromQuery,
|
||||||
|
actmonth,
|
||||||
|
alreadymounting,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -66,19 +66,27 @@
|
|||||||
<q-spinner-tail size="2em" color="primary" />
|
<q-spinner-tail size="2em" color="primary" />
|
||||||
</q-inner-loading>
|
</q-inner-loading>
|
||||||
|
|
||||||
|
<CTitleBanner
|
||||||
|
v-if="subtitle"
|
||||||
|
:title="subtitle"
|
||||||
|
bgcolor="bg-blue"
|
||||||
|
clcolor="text-white"
|
||||||
|
>
|
||||||
|
</CTitleBanner>
|
||||||
|
|
||||||
<div v-if="shared_consts.VERTIC_SHOW_GRID.includes(myvertical)">
|
<div v-if="shared_consts.VERTIC_SHOW_GRID.includes(myvertical)">
|
||||||
<div v-if="(prop_search || canEdit) && finder" class="q-my-xs text-right">
|
<div v-if="(prop_search || canEdit) && finder" class="q-my-xs text-right">
|
||||||
<!--<q-btn
|
<!--<q-btn
|
||||||
size="sm"
|
size="sm"
|
||||||
dense
|
dense
|
||||||
icon="fas fa-filter"
|
icon="fas fa-filter"
|
||||||
:label="$t('grid.showfilters')"
|
:label="t('grid.showfilters')"
|
||||||
@click="showfilter = !showfilter"
|
@click="showfilter = !showfilter"
|
||||||
></q-btn>
|
></q-btn>
|
||||||
-->
|
-->
|
||||||
</div>
|
</div>
|
||||||
<q-slide-transition>
|
<q-slide-transition>
|
||||||
<div v-show="showfilter || prop_showfilter">
|
<div v-show="showfilter">
|
||||||
<div
|
<div
|
||||||
v-show="searchList"
|
v-show="searchList"
|
||||||
:class="$q.screen.lt.sm ? `` : `row` + ` text-blue `"
|
:class="$q.screen.lt.sm ? `` : `row` + ` text-blue `"
|
||||||
@@ -89,7 +97,7 @@
|
|||||||
v-if="
|
v-if="
|
||||||
(item.type === costanti.FieldType.select ||
|
(item.type === costanti.FieldType.select ||
|
||||||
item.type === costanti.FieldType.select_by_server) &&
|
item.type === costanti.FieldType.select_by_server) &&
|
||||||
lengthopt(item, false) > 1
|
lengthopt(item, false, false) > 1
|
||||||
"
|
"
|
||||||
:label="labelcombo(item)"
|
:label="labelcombo(item)"
|
||||||
v-model:value="item.value"
|
v-model:value="item.value"
|
||||||
@@ -108,7 +116,7 @@
|
|||||||
:icon_alternative="item.icon"
|
:icon_alternative="item.icon"
|
||||||
:optval="fieldsTable.getKeyByTable(item.table)"
|
:optval="fieldsTable.getKeyByTable(item.table)"
|
||||||
:optlab="fieldsTable.getLabelByTable(item.table)"
|
:optlab="fieldsTable.getLabelByTable(item.table)"
|
||||||
:options="valoriopt(item, false)"
|
:options="valoriopt(item, false, false)"
|
||||||
:filter="item.filter"
|
:filter="item.filter"
|
||||||
:filter_extra="item.filter_extra"
|
:filter_extra="item.filter_extra"
|
||||||
:useinput="
|
:useinput="
|
||||||
@@ -236,7 +244,7 @@
|
|||||||
>
|
>
|
||||||
<q-btn
|
<q-btn
|
||||||
dense
|
dense
|
||||||
label="Filtra Ricerca"
|
:label="!showfilter ? 'Apri Filtri' : 'Chiudi Filtri'"
|
||||||
color="positive"
|
color="positive"
|
||||||
icon="fas fa-filter"
|
icon="fas fa-filter"
|
||||||
@click="showfilter = !showfilter"
|
@click="showfilter = !showfilter"
|
||||||
@@ -249,18 +257,11 @@
|
|||||||
{{ getNumFilterSelected() }}
|
{{ getNumFilterSelected() }}
|
||||||
</q-badge>
|
</q-badge>
|
||||||
</q-btn>
|
</q-btn>
|
||||||
<q-btn
|
|
||||||
dense
|
|
||||||
icon="add"
|
|
||||||
color="primary"
|
|
||||||
@click="createNewRecordDialog"
|
|
||||||
/>
|
|
||||||
|
|
||||||
<q-btn
|
<q-btn
|
||||||
dense
|
dense
|
||||||
color="orange"
|
color="orange"
|
||||||
icon="fas fa-bell"
|
icon="fas fa-bell"
|
||||||
label="Avvisami se..."
|
label="Notifiche"
|
||||||
@click="showNotification = !showNotification"
|
@click="showNotification = !showNotification"
|
||||||
></q-btn>
|
></q-btn>
|
||||||
</div>
|
</div>
|
||||||
@@ -272,11 +273,14 @@
|
|||||||
type="search"
|
type="search"
|
||||||
debounce="500"
|
debounce="500"
|
||||||
:hint="hint"
|
:hint="hint"
|
||||||
|
:error-message="noresultLabel"
|
||||||
|
:error="getNumRecFromQuery() === 0 && !startsearch"
|
||||||
label="Cerca"
|
label="Cerca"
|
||||||
v-on:keyup.enter="doSearch"
|
v-on:keyup.enter="doSearch"
|
||||||
>
|
>
|
||||||
<template v-slot:prepend>
|
<template v-slot:prepend>
|
||||||
<q-icon name="search" />
|
<q-spinner-oval v-if="startsearch" color="primary" size="1em" />
|
||||||
|
<q-icon v-else name="search" />
|
||||||
</template>
|
</template>
|
||||||
<template v-slot:after>
|
<template v-slot:after>
|
||||||
<q-select
|
<q-select
|
||||||
@@ -320,7 +324,7 @@
|
|||||||
multiple
|
multiple
|
||||||
dense
|
dense
|
||||||
options-dense
|
options-dense
|
||||||
:display-value="$t('grid.columns')"
|
:display-value="t('grid.columns')"
|
||||||
emit-value
|
emit-value
|
||||||
map-options
|
map-options
|
||||||
:options="mycolumns"
|
:options="mycolumns"
|
||||||
@@ -330,11 +334,13 @@
|
|||||||
</q-select>
|
</q-select>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div v-if="pagination.rowsNumber === 1 && prop_search">
|
<div class="q-ma-sm">
|
||||||
{{ pagination.rowsNumber }} elemento trovato
|
<div v-if="pagination.rowsNumber === 1 && prop_search">
|
||||||
</div>
|
{{ pagination.rowsNumber }} elemento trovato
|
||||||
<div v-if="pagination.rowsNumber > 1 && prop_search">
|
</div>
|
||||||
{{ pagination.rowsNumber }} {{ labelElemFind }}
|
<div v-if="pagination.rowsNumber > 1 && prop_search">
|
||||||
|
{{ pagination.rowsNumber }} {{ labelElemFind }}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div v-if="choose_visutype && $q.screen.gt.xs" class="">
|
<div v-if="choose_visutype && $q.screen.gt.xs" class="">
|
||||||
@@ -355,15 +361,16 @@
|
|||||||
</div>
|
</div>
|
||||||
<q-infinite-scroll
|
<q-infinite-scroll
|
||||||
ref="myinfscroll"
|
ref="myinfscroll"
|
||||||
v-if="shared_consts.VERTIC_SHOW_GRID.includes(myvertical) && !loading"
|
v-if="
|
||||||
|
shared_consts.VERTIC_SHOW_GRID.includes(myvertical) &&
|
||||||
|
!loading &&
|
||||||
|
alreadymounting
|
||||||
|
"
|
||||||
:initial-index="0"
|
:initial-index="0"
|
||||||
@load="onLoadScroll"
|
@load="onLoadScroll"
|
||||||
:offset="350"
|
:offset="350"
|
||||||
debounce="300"
|
debounce="300"
|
||||||
>
|
>
|
||||||
<div v-if="numRecLoaded === 0 && !startsearch">
|
|
||||||
<div class="text-grey text-italic">{{ nodataLabel }}</div>
|
|
||||||
</div>
|
|
||||||
<div v-if="showHeaderCol">
|
<div v-if="showHeaderCol">
|
||||||
<div
|
<div
|
||||||
v-for="col in mycolumns"
|
v-for="col in mycolumns"
|
||||||
@@ -571,13 +578,15 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<template v-slot:loading>
|
<template v-slot:loading>
|
||||||
<div class="row justify-center q-my-md">
|
<div class="row justify-center q-my-md">
|
||||||
<q-spinner-dots color="primary" size="40px" />
|
<q-spinner-dots color="primary" size="40px" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</q-infinite-scroll>
|
</q-infinite-scroll>
|
||||||
<q-table
|
<q-table
|
||||||
v-else
|
v-else-if="
|
||||||
|
!shared_consts.VERTIC_SHOW_GRID.includes(myvertical) && !loading
|
||||||
|
"
|
||||||
:grid="shared_consts.VERTIC_SHOW_GRID.includes(myvertical)"
|
:grid="shared_consts.VERTIC_SHOW_GRID.includes(myvertical)"
|
||||||
:grid-header="
|
:grid-header="
|
||||||
shared_consts.VERTIC_SHOW_GRID.includes(myvertical) &&
|
shared_consts.VERTIC_SHOW_GRID.includes(myvertical) &&
|
||||||
@@ -654,15 +663,6 @@
|
|||||||
>
|
>
|
||||||
<span style="display: none">{{ (actual = null) }}</span>
|
<span style="display: none">{{ (actual = null) }}</span>
|
||||||
|
|
||||||
<q-btn
|
|
||||||
v-if="enableExport"
|
|
||||||
color="primary"
|
|
||||||
icon-right="archive"
|
|
||||||
:label="t('export.csv')"
|
|
||||||
no-caps
|
|
||||||
@click="exportTable"
|
|
||||||
/>
|
|
||||||
|
|
||||||
<q-select
|
<q-select
|
||||||
:behavior="$q.platform.is.ios === true ? 'dialog' : 'menu'"
|
:behavior="$q.platform.is.ios === true ? 'dialog' : 'menu'"
|
||||||
v-if="tablesList"
|
v-if="tablesList"
|
||||||
@@ -677,6 +677,15 @@
|
|||||||
>
|
>
|
||||||
</q-select>
|
</q-select>
|
||||||
|
|
||||||
|
<q-btn
|
||||||
|
v-if="enableExport"
|
||||||
|
color="primary"
|
||||||
|
icon-right="archive"
|
||||||
|
:label="t('export.csv')"
|
||||||
|
no-caps
|
||||||
|
@click="exportTable"
|
||||||
|
/>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<q-toggle
|
<q-toggle
|
||||||
v-for="(filt, index) of arrfilters"
|
v-for="(filt, index) of arrfilters"
|
||||||
@@ -857,6 +866,8 @@
|
|||||||
type="search"
|
type="search"
|
||||||
debounce="500"
|
debounce="500"
|
||||||
:hint="hint"
|
:hint="hint"
|
||||||
|
:error-message="noresultLabel"
|
||||||
|
:error="getNumRecFromQuery() === 0 && !startsearch"
|
||||||
label="Cerca"
|
label="Cerca"
|
||||||
v-on:keyup.enter="doSearch"
|
v-on:keyup.enter="doSearch"
|
||||||
>
|
>
|
||||||
@@ -889,7 +900,7 @@
|
|||||||
multiple
|
multiple
|
||||||
dense
|
dense
|
||||||
options-dense
|
options-dense
|
||||||
:display-value="$t('grid.columns')"
|
:display-value="t('grid.columns')"
|
||||||
emit-value
|
emit-value
|
||||||
map-options
|
map-options
|
||||||
:options="mycolumns"
|
:options="mycolumns"
|
||||||
@@ -1278,13 +1289,13 @@
|
|||||||
</q-card-section>
|
</q-card-section>
|
||||||
<q-card-actions align="center">
|
<q-card-actions align="center">
|
||||||
<q-btn
|
<q-btn
|
||||||
:label="$t('dialog.insert')"
|
:label="t('dialog.insert')"
|
||||||
color="primary"
|
color="primary"
|
||||||
@click="saveNewRecord"
|
@click="saveNewRecord"
|
||||||
></q-btn>
|
></q-btn>
|
||||||
<q-btn
|
<q-btn
|
||||||
flat
|
flat
|
||||||
:label="$t('dialog.cancel')"
|
:label="t('dialog.cancel')"
|
||||||
color="primary"
|
color="primary"
|
||||||
v-close-popup
|
v-close-popup
|
||||||
@click="annulla"
|
@click="annulla"
|
||||||
@@ -1352,13 +1363,13 @@
|
|||||||
</q-card-section>
|
</q-card-section>
|
||||||
<q-card-actions align="center">
|
<q-card-actions align="center">
|
||||||
<q-btn
|
<q-btn
|
||||||
:label="$t('dialog.save')"
|
:label="t('dialog.save')"
|
||||||
color="primary"
|
color="primary"
|
||||||
@click="saveNewRecord"
|
@click="saveNewRecord"
|
||||||
></q-btn>
|
></q-btn>
|
||||||
<q-btn
|
<q-btn
|
||||||
flat
|
flat
|
||||||
:label="$t('dialog.cancel')"
|
:label="t('dialog.cancel')"
|
||||||
color="primary"
|
color="primary"
|
||||||
v-close-popup
|
v-close-popup
|
||||||
@click="annulla"
|
@click="annulla"
|
||||||
@@ -1417,13 +1428,13 @@
|
|||||||
</q-card-section>
|
</q-card-section>
|
||||||
<q-card-actions align="center">
|
<q-card-actions align="center">
|
||||||
<q-btn
|
<q-btn
|
||||||
:label="$t('dialog.ok')"
|
:label="t('dialog.ok')"
|
||||||
color="primary"
|
color="primary"
|
||||||
@click="saverecModif"
|
@click="saverecModif"
|
||||||
></q-btn>
|
></q-btn>
|
||||||
<q-btn
|
<q-btn
|
||||||
flat
|
flat
|
||||||
:label="$t('dialog.cancel')"
|
:label="t('dialog.cancel')"
|
||||||
color="primary"
|
color="primary"
|
||||||
@click="cancelrecModif"
|
@click="cancelrecModif"
|
||||||
></q-btn>
|
></q-btn>
|
||||||
|
|||||||
@@ -298,7 +298,7 @@ export default defineComponent({
|
|||||||
const globalStore = useGlobalStore()
|
const globalStore = useGlobalStore()
|
||||||
const isfinishLoading = computed(() => globalStore.finishLoading)
|
const isfinishLoading = computed(() => globalStore.finishLoading)
|
||||||
|
|
||||||
const pagination = ref({ sortBy: 'desc', descending: false, page: 1, rowsNumber: 10, rowsPerPage: 10 } as IPagination)
|
const pagination = ref({ sortBy: 'desc', descending: false, page: 1, rowsNumber: 0, rowsPerPage: 10 } as IPagination)
|
||||||
|
|
||||||
const addRow = ref('Aggiungi')
|
const addRow = ref('Aggiungi')
|
||||||
|
|
||||||
|
|||||||
@@ -6,6 +6,7 @@
|
|||||||
|
|
||||||
<q-separator />
|
<q-separator />
|
||||||
|
|
||||||
|
|
||||||
<CSaldo
|
<CSaldo
|
||||||
v-if="tools.isUserOk() && myaccount"
|
v-if="tools.isUserOk() && myaccount"
|
||||||
:account="myaccount"
|
:account="myaccount"
|
||||||
|
|||||||
@@ -169,11 +169,12 @@ export default defineComponent({
|
|||||||
return userStore.my.profile
|
return userStore.my.profile
|
||||||
}
|
}
|
||||||
|
|
||||||
function load() {
|
async function load() {
|
||||||
|
|
||||||
// Carica il record
|
// Carica il record
|
||||||
if (props.idRec) {
|
if (props.idRec) {
|
||||||
userStore.loadGeneric(props.table, props.idRec, idnotif.value).then((ris) => {
|
await userStore.loadGeneric(props.table, props.idRec, idnotif.value).then((ris) => {
|
||||||
|
console.log('myrec', myrec)
|
||||||
myrec.value = ris
|
myrec.value = ris
|
||||||
notifStore.setAsRead(idnotif.value)
|
notifStore.setAsRead(idnotif.value)
|
||||||
})
|
})
|
||||||
@@ -233,6 +234,10 @@ export default defineComponent({
|
|||||||
}
|
}
|
||||||
|
|
||||||
async function clicca(tipo: any, myset: any, title: string) {
|
async function clicca(tipo: any, myset: any, title: string) {
|
||||||
|
if (!userStore.my.username) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
let mylist = null
|
let mylist = null
|
||||||
if (tipo === costanti.TIPOFAVBOOK.FAVORITE) {
|
if (tipo === costanti.TIPOFAVBOOK.FAVORITE) {
|
||||||
if (myset) {
|
if (myset) {
|
||||||
|
|||||||
@@ -2,7 +2,6 @@
|
|||||||
<div v-if="myrec && myrec._id" class="fulldiv">
|
<div v-if="myrec && myrec._id" class="fulldiv">
|
||||||
<div class="q-pa-sm row items-start q-gutter-sm full-height fulldiv">
|
<div class="q-pa-sm row items-start q-gutter-sm full-height fulldiv">
|
||||||
<q-card class="my-card fulldiv" bordered>
|
<q-card class="my-card fulldiv" bordered>
|
||||||
idRec: {{ idRec }}
|
|
||||||
<CGalleryImages
|
<CGalleryImages
|
||||||
v-if="myrec.photos.length > 0"
|
v-if="myrec.photos.length > 0"
|
||||||
:imgGallery="myrec.photos"
|
:imgGallery="myrec.photos"
|
||||||
@@ -41,6 +40,7 @@
|
|||||||
<div class="">
|
<div class="">
|
||||||
<q-btn flat round color="blue" icon="far fa-eye">
|
<q-btn flat round color="blue" icon="far fa-eye">
|
||||||
<q-badge
|
<q-badge
|
||||||
|
v-if="myrec.myreact"
|
||||||
color="primary"
|
color="primary"
|
||||||
:label="myrec.myreact.numseen ? myrec.myreact.numseen : 0"
|
:label="myrec.myreact.numseen ? myrec.myreact.numseen : 0"
|
||||||
floating
|
floating
|
||||||
@@ -61,6 +61,7 @@
|
|||||||
@click="clicca(costanti.TIPOFAVBOOK.FAVORITE, true, '')"
|
@click="clicca(costanti.TIPOFAVBOOK.FAVORITE, true, '')"
|
||||||
>
|
>
|
||||||
<q-badge
|
<q-badge
|
||||||
|
v-if="myrec.myreact"
|
||||||
color="primary"
|
color="primary"
|
||||||
:label="myrec.myreact.numfav ? myrec.myreact.numfav : 0"
|
:label="myrec.myreact.numfav ? myrec.myreact.numfav : 0"
|
||||||
floating
|
floating
|
||||||
@@ -81,6 +82,7 @@
|
|||||||
@click="clicca(costanti.TIPOFAVBOOK.BOOKMARK, true, '')"
|
@click="clicca(costanti.TIPOFAVBOOK.BOOKMARK, true, '')"
|
||||||
>
|
>
|
||||||
<q-badge
|
<q-badge
|
||||||
|
v-if="myrec.myreact"
|
||||||
color="primary"
|
color="primary"
|
||||||
:label="myrec.myreact.numbook ? myrec.myreact.numbook : 0"
|
:label="myrec.myreact.numbook ? myrec.myreact.numbook : 0"
|
||||||
floating
|
floating
|
||||||
@@ -124,7 +126,7 @@
|
|||||||
</q-item-section>
|
</q-item-section>
|
||||||
</q-item>
|
</q-item>
|
||||||
<q-item
|
<q-item
|
||||||
v-if="!nopopup"
|
v-if="!nopopup && myrec.myreact"
|
||||||
clickable
|
clickable
|
||||||
v-close-popup
|
v-close-popup
|
||||||
@click="naviga(tools.getPathByTableAndRec(table, myrec))"
|
@click="naviga(tools.getPathByTableAndRec(table, myrec))"
|
||||||
@@ -138,6 +140,7 @@
|
|||||||
</q-item>
|
</q-item>
|
||||||
<q-separator />
|
<q-separator />
|
||||||
<q-item
|
<q-item
|
||||||
|
v-if="myrec.myreact"
|
||||||
clickable
|
clickable
|
||||||
v-close-popup
|
v-close-popup
|
||||||
@click="
|
@click="
|
||||||
@@ -166,6 +169,7 @@
|
|||||||
</q-item-section>
|
</q-item-section>
|
||||||
</q-item>
|
</q-item>
|
||||||
<q-item
|
<q-item
|
||||||
|
v-if="myrec.myreact"
|
||||||
clickable
|
clickable
|
||||||
v-close-popup
|
v-close-popup
|
||||||
@click="
|
@click="
|
||||||
@@ -223,6 +227,7 @@
|
|||||||
</q-item-section>
|
</q-item-section>
|
||||||
</q-item>
|
</q-item>
|
||||||
<q-item
|
<q-item
|
||||||
|
v-if="myrec.myreact"
|
||||||
clickable
|
clickable
|
||||||
v-close-popup
|
v-close-popup
|
||||||
@click="
|
@click="
|
||||||
|
|||||||
@@ -115,6 +115,7 @@
|
|||||||
:qtarem="qtarem"
|
:qtarem="qtarem"
|
||||||
>
|
>
|
||||||
</CSaldo>
|
</CSaldo>
|
||||||
|
|
||||||
</q-item-label>
|
</q-item-label>
|
||||||
</q-item-section>
|
</q-item-section>
|
||||||
|
|
||||||
@@ -328,8 +329,10 @@
|
|||||||
</q-item-section>
|
</q-item-section>
|
||||||
</q-item>
|
</q-item>
|
||||||
|
|
||||||
<div class="centermydiv text-center" v-if="visu === costanti.ENTER_TO_THE_CIRCUIT">
|
<div
|
||||||
|
class="centermydiv text-center"
|
||||||
|
v-if="visu === costanti.ENTER_TO_THE_CIRCUIT"
|
||||||
|
>
|
||||||
<q-btn
|
<q-btn
|
||||||
v-if="
|
v-if="
|
||||||
!userStore.IsMyCircuitByName(circuit.name) &&
|
!userStore.IsMyCircuitByName(circuit.name) &&
|
||||||
@@ -338,7 +341,6 @@
|
|||||||
"
|
"
|
||||||
icon="fas fa-user-plus"
|
icon="fas fa-user-plus"
|
||||||
color="primary"
|
color="primary"
|
||||||
|
|
||||||
:label="$t('circuit.ask')"
|
:label="$t('circuit.ask')"
|
||||||
@click="
|
@click="
|
||||||
requestToEnterCircuit = true;
|
requestToEnterCircuit = true;
|
||||||
@@ -441,7 +443,10 @@
|
|||||||
<div style="font-weight: bold; font-size: 1.25rem">Regolamento:</div>
|
<div style="font-weight: bold; font-size: 1.25rem">Regolamento:</div>
|
||||||
<q-btn label="vedi Regolamento" @click="showrules = !showrules">
|
<q-btn label="vedi Regolamento" @click="showrules = !showrules">
|
||||||
</q-btn>
|
</q-btn>
|
||||||
<div v-if="showrules" v-html="getRegulation(circuit.regulation)"></div>
|
<div
|
||||||
|
v-if="showrules"
|
||||||
|
v-html="getRegulation(circuit.regulation)"
|
||||||
|
></div>
|
||||||
</q-card-section>
|
</q-card-section>
|
||||||
<q-card-actions align="center">
|
<q-card-actions align="center">
|
||||||
<q-btn
|
<q-btn
|
||||||
|
|||||||
@@ -119,9 +119,11 @@ export default defineComponent({
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function mounted() {
|
async function mounted() {
|
||||||
|
console.log(' ## INIZIO MOUNT ')
|
||||||
username.value = userStore.my.username
|
username.value = userStore.my.username
|
||||||
loadCircuits()
|
await loadCircuits()
|
||||||
|
console.log(' -- FINE MOUNT ')
|
||||||
}
|
}
|
||||||
|
|
||||||
function updateValue(val: number) {
|
function updateValue(val: number) {
|
||||||
|
|||||||
@@ -34,6 +34,7 @@ import { CNotifAtTop } from '@src/components/CNotifAtTop'
|
|||||||
import { CPresentazione } from '@src/components/CPresentazione'
|
import { CPresentazione } from '@src/components/CPresentazione'
|
||||||
import { CRegistration } from '@src/components/CRegistration'
|
import { CRegistration } from '@src/components/CRegistration'
|
||||||
import { CShareSocial } from '@src/components/CShareSocial'
|
import { CShareSocial } from '@src/components/CShareSocial'
|
||||||
|
import { CVisuVideoPromoAndPDF } from '@src/components/CVisuVideoPromoAndPDF'
|
||||||
|
|
||||||
import MixinMetaTags from '@/mixins/mixin-metatags'
|
import MixinMetaTags from '@/mixins/mixin-metatags'
|
||||||
import MixinBase from '@/mixins/mixin-base'
|
import MixinBase from '@/mixins/mixin-base'
|
||||||
@@ -52,6 +53,7 @@ export default defineComponent({
|
|||||||
CPresentazione, CMyActivities,
|
CPresentazione, CMyActivities,
|
||||||
CMyProfileTutorial, CSendRISTo,
|
CMyProfileTutorial, CSendRISTo,
|
||||||
CTitleBanner, CShareSocial, CCheckAppRunning, CRegistration,
|
CTitleBanner, CShareSocial, CCheckAppRunning, CRegistration,
|
||||||
|
CVisuVideoPromoAndPDF,
|
||||||
},
|
},
|
||||||
emits: ['selElemClick'],
|
emits: ['selElemClick'],
|
||||||
props: {
|
props: {
|
||||||
|
|||||||
@@ -488,6 +488,10 @@
|
|||||||
<div v-if="editOn" class="elemEdit">CCheckIfIsLogged</div>
|
<div v-if="editOn" class="elemEdit">CCheckIfIsLogged</div>
|
||||||
<CCheckIfIsLogged :showalways="myel.container"></CCheckIfIsLogged>
|
<CCheckIfIsLogged :showalways="myel.container"></CCheckIfIsLogged>
|
||||||
</div>
|
</div>
|
||||||
|
<div v-else-if="myel.type === shared_consts.ELEMTYPE.VISUVIDEOPROMOANDPDF">
|
||||||
|
<div v-if="editOn" class="elemEdit">Visu Video Promo and PDF</div>
|
||||||
|
<CVisuVideoPromoAndPDF :showalways="myel.container"></CVisuVideoPromoAndPDF>
|
||||||
|
</div>
|
||||||
<div v-else-if="myel.type === shared_consts.ELEMTYPE.INFO_VERSION">
|
<div v-else-if="myel.type === shared_consts.ELEMTYPE.INFO_VERSION">
|
||||||
<div>Versione: {{ tools.getvers() }}</div>
|
<div>Versione: {{ tools.getvers() }}</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -181,12 +181,12 @@
|
|||||||
><q-icon dense color="blue" name="far fa-check-circle" />
|
><q-icon dense color="blue" name="far fa-check-circle" />
|
||||||
</span>
|
</span>
|
||||||
</span>
|
</span>
|
||||||
<span class="q-mx-xxs">{{ myrec.myreact.numseen ? myrec.myreact.numseen : 0 }}</span>
|
<span class="q-mx-xxs" v-if="myrec.myreact">{{ myrec.myreact.numseen ? myrec.myreact.numseen : 0 }}</span>
|
||||||
<span class="q-mx-xxs"
|
<span class="q-mx-xxs"
|
||||||
><q-icon dense color="blue" name="far fa-eye" />
|
><q-icon dense color="blue" name="far fa-eye" />
|
||||||
</span>
|
</span>
|
||||||
<span class="q-mx-xxs"> </span>
|
<span class="q-mx-xxs"> </span>
|
||||||
<span class="">{{ myrec.myreact.numfav ? myrec.myreact.numfav : 0 }}</span>
|
<span class="" v-if="myrec.myreact">{{ myrec.myreact.numfav ? myrec.myreact.numfav : 0 }}</span>
|
||||||
<span class="q-mx-xxs"
|
<span class="q-mx-xxs"
|
||||||
><q-icon
|
><q-icon
|
||||||
dense
|
dense
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import { defineComponent, onMounted, PropType, ref, watch } from 'vue'
|
|||||||
import { tools } from '@src/store/Modules/tools'
|
import { tools } from '@src/store/Modules/tools'
|
||||||
import { CCurrencyValue } from '../CCurrencyValue'
|
import { CCurrencyValue } from '../CCurrencyValue'
|
||||||
|
|
||||||
|
import { useCircuitStore } from '@store/CircuitStore'
|
||||||
import { date, useQuasar } from 'quasar'
|
import { date, useQuasar } from 'quasar'
|
||||||
import { useI18n } from '@/boot/i18n'
|
import { useI18n } from '@/boot/i18n'
|
||||||
import { IAccount, ISpecialField } from 'model'
|
import { IAccount, ISpecialField } from 'model'
|
||||||
@@ -57,11 +57,12 @@ export default defineComponent({
|
|||||||
const showingtooltip = ref(false)
|
const showingtooltip = ref(false)
|
||||||
const visuTransac = ref(false)
|
const visuTransac = ref(false)
|
||||||
|
|
||||||
|
const circuitStore = useCircuitStore()
|
||||||
|
|
||||||
function created() {
|
function created() {
|
||||||
// created
|
// created
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
onMounted(created)
|
onMounted(created)
|
||||||
|
|
||||||
return {
|
return {
|
||||||
@@ -72,7 +73,7 @@ export default defineComponent({
|
|||||||
color_border,
|
color_border,
|
||||||
visuTransac,
|
visuTransac,
|
||||||
costanti,
|
costanti,
|
||||||
|
circuitStore,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -39,7 +39,9 @@ export default defineComponent({
|
|||||||
|
|
||||||
const loading = ref(false)
|
const loading = ref(false)
|
||||||
|
|
||||||
const site = ref(globalStore.site)
|
const site = computed(() => {
|
||||||
|
return globalStore.site
|
||||||
|
})
|
||||||
|
|
||||||
const myForm = ref(null)
|
const myForm = ref(null)
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
ù<template>
|
ù<template>
|
||||||
<div>
|
<div>
|
||||||
<div class="q-my-xs">
|
<div class="q-my-xs">
|
||||||
|
title: {{title}}
|
||||||
<CGridTableRec
|
<CGridTableRec
|
||||||
v-if="filtercustom.length > 0 && col && col.length > 0"
|
v-if="filtercustom.length > 0 && col && col.length > 0"
|
||||||
:prop_mytable="table"
|
:prop_mytable="table"
|
||||||
@@ -13,10 +14,10 @@
|
|||||||
:vertical="costanti.VISUTABLE_LISTA"
|
:vertical="costanti.VISUTABLE_LISTA"
|
||||||
:choose_visutype="!visuinpage"
|
:choose_visutype="!visuinpage"
|
||||||
:butt_modif_new="!visuinpage"
|
:butt_modif_new="!visuinpage"
|
||||||
nodataLabel="Nessun dato presente"
|
nodataLabel=" "
|
||||||
:prop_search="false"
|
:prop_search="false"
|
||||||
:visuinpage="visuinpage"
|
:visuinpage="visuinpage"
|
||||||
noresultLabel="Il filtro selezionato non ha trovato nessun risultato"
|
noresultLabel="La ricerca non ha ottenuto nessun risultato"
|
||||||
:defaultnewrec="tools.getdefaultnewrec(table, {groupname})"
|
:defaultnewrec="tools.getdefaultnewrec(table, {groupname})"
|
||||||
:filtercustom="filtercustom"
|
:filtercustom="filtercustom"
|
||||||
v-bind="$attrs"
|
v-bind="$attrs"
|
||||||
|
|||||||
@@ -6,6 +6,7 @@
|
|||||||
|
|
||||||
<q-separator />
|
<q-separator />
|
||||||
|
|
||||||
|
|
||||||
<CSaldo
|
<CSaldo
|
||||||
v-if="tools.isUserOk() && myaccount"
|
v-if="tools.isUserOk() && myaccount"
|
||||||
:account="myaccount"
|
:account="myaccount"
|
||||||
|
|||||||
6
src/components/CVisuVideoPromoAndPDF/CVisuVideoPromoAndPDF.scss
Executable file
6
src/components/CVisuVideoPromoAndPDF/CVisuVideoPromoAndPDF.scss
Executable file
@@ -0,0 +1,6 @@
|
|||||||
|
#logoimg {
|
||||||
|
height: 300px;
|
||||||
|
width: auto;
|
||||||
|
@media screen and (max-width: 600px) {
|
||||||
|
}
|
||||||
|
}
|
||||||
38
src/components/CVisuVideoPromoAndPDF/CVisuVideoPromoAndPDF.ts
Executable file
38
src/components/CVisuVideoPromoAndPDF/CVisuVideoPromoAndPDF.ts
Executable file
@@ -0,0 +1,38 @@
|
|||||||
|
import { defineComponent, ref, computed, PropType, toRef } from 'vue'
|
||||||
|
import { useUserStore } from '@store/UserStore'
|
||||||
|
import { useRouter } from 'vue-router'
|
||||||
|
import { useGlobalStore } from '@store/globalStore'
|
||||||
|
import { useI18n } from '@/boot/i18n'
|
||||||
|
import { tools } from '@store/Modules/tools'
|
||||||
|
import { costanti } from '@store/Modules/costanti'
|
||||||
|
import { static_data } from '@src/db/static_data'
|
||||||
|
|
||||||
|
export default defineComponent({
|
||||||
|
name: 'CVisuVideoPromoAndPDF',
|
||||||
|
components: { },
|
||||||
|
props: {
|
||||||
|
showalways: {
|
||||||
|
type: Boolean,
|
||||||
|
required: false,
|
||||||
|
default: false,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
setup(props, { emit }) {
|
||||||
|
|
||||||
|
const userStore = useUserStore()
|
||||||
|
const $router = useRouter()
|
||||||
|
const globalStore = useGlobalStore()
|
||||||
|
const { t } = useI18n()
|
||||||
|
|
||||||
|
const site = ref(globalStore.site)
|
||||||
|
|
||||||
|
return {
|
||||||
|
userStore,
|
||||||
|
tools,
|
||||||
|
costanti,
|
||||||
|
static_data,
|
||||||
|
site,
|
||||||
|
t,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
61
src/components/CVisuVideoPromoAndPDF/CVisuVideoPromoAndPDF.vue
Executable file
61
src/components/CVisuVideoPromoAndPDF/CVisuVideoPromoAndPDF.vue
Executable file
@@ -0,0 +1,61 @@
|
|||||||
|
<template>
|
||||||
|
<div v-if="showalways || (!showalways && !tools.isLogged())">
|
||||||
|
<div class="q-pa-md q-gutter-sm">
|
||||||
|
<div id="logo" class="text-center">
|
||||||
|
<q-img
|
||||||
|
id="logoimg"
|
||||||
|
:src="tools.getimglogo()"
|
||||||
|
class="q-my-sm"
|
||||||
|
alt="logo APP"
|
||||||
|
style="height: 100px; width: 100px"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<q-banner
|
||||||
|
v-if="site.confpages.videoPromo"
|
||||||
|
rounded
|
||||||
|
dense
|
||||||
|
size="lg"
|
||||||
|
class="bg-grey-3 shadow-5 q-my-sm"
|
||||||
|
color="primary q-title"
|
||||||
|
style="text-align: center"
|
||||||
|
>
|
||||||
|
<div class="mybanner bg-blue text-white">Video di Presentazione:</div>
|
||||||
|
<br />
|
||||||
|
<q-video :src="site.confpages.videoPromo" :ratio="16 / 9"> </q-video>
|
||||||
|
</q-banner>
|
||||||
|
|
||||||
|
<q-banner
|
||||||
|
v-if="site.confpages.PDFPromo"
|
||||||
|
rounded
|
||||||
|
dense
|
||||||
|
size="lg"
|
||||||
|
class="bg-grey-3 shadow-5 q-my-sm"
|
||||||
|
color="primary q-title"
|
||||||
|
style="text-align: center"
|
||||||
|
>
|
||||||
|
<div class="mybanner bg-blue text-white">PDF Presentazione RISO:</div>
|
||||||
|
<br />
|
||||||
|
<template v-slot:action>
|
||||||
|
<q-btn
|
||||||
|
type="a"
|
||||||
|
rounded
|
||||||
|
icon="fab fa-telegram"
|
||||||
|
color="primary"
|
||||||
|
:href="site.confpages.PDFPromo"
|
||||||
|
target="_blank"
|
||||||
|
label="Scarica PDF"
|
||||||
|
>
|
||||||
|
</q-btn>
|
||||||
|
</template>
|
||||||
|
</q-banner>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script lang="ts" src="./CVisuVideoPromoAndPDF.ts">
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
@import './CVisuVideoPromoAndPDF.scss';
|
||||||
|
</style>
|
||||||
1
src/components/CVisuVideoPromoAndPDF/index.ts
Executable file
1
src/components/CVisuVideoPromoAndPDF/index.ts
Executable file
@@ -0,0 +1 @@
|
|||||||
|
export {default as CVisuVideoPromoAndPDF} from './CVisuVideoPromoAndPDF.vue'
|
||||||
@@ -781,6 +781,7 @@ export interface ISearchList {
|
|||||||
useinput: boolean
|
useinput: boolean
|
||||||
notinsearch?: boolean
|
notinsearch?: boolean
|
||||||
addall?: boolean
|
addall?: boolean
|
||||||
|
addnone?: boolean
|
||||||
keycookie?: string
|
keycookie?: string
|
||||||
showcount?: boolean
|
showcount?: boolean
|
||||||
tablesel?: string
|
tablesel?: string
|
||||||
@@ -818,6 +819,7 @@ export interface IMsgGlobParam {
|
|||||||
typesend: number
|
typesend: number
|
||||||
sendreally?: boolean
|
sendreally?: boolean
|
||||||
textaddTelegram?: string
|
textaddTelegram?: string
|
||||||
|
textcontent_Telegram?: string
|
||||||
linkaddTelegram?: string
|
linkaddTelegram?: string
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -108,6 +108,7 @@ export interface IUserProfile {
|
|||||||
username_telegram?: string
|
username_telegram?: string
|
||||||
website?: string
|
website?: string
|
||||||
teleg_id?: number
|
teleg_id?: number
|
||||||
|
teleg_id_old?: number
|
||||||
teleg_checkcode?: number
|
teleg_checkcode?: number
|
||||||
paymenttypes?: IPaymentType[]
|
paymenttypes?: IPaymentType[]
|
||||||
manage_telegram?: boolean
|
manage_telegram?: boolean
|
||||||
|
|||||||
@@ -238,7 +238,7 @@ const msg_it = {
|
|||||||
domanda_addtogroup: 'Aggiungi {username} al gruppo {groupname}?',
|
domanda_addtogroup: 'Aggiungi {username} al gruppo {groupname}?',
|
||||||
domanda_addfidotocircuit: 'Abilita il fido a {username} al {circuitname}?',
|
domanda_addfidotocircuit: 'Abilita il fido a {username} al {circuitname}?',
|
||||||
domanda_addtocircuit: 'Aggiungi {username} al {circuitname}?',
|
domanda_addtocircuit: 'Aggiungi {username} al {circuitname}?',
|
||||||
domanda_addgrouptocircuit: 'Aggiungi il Conto Collettivo {groupname} al {circuitname}?',
|
domanda_addgrouptocircuit: 'Aggiungi il Conto del Gruppo {groupname} al {circuitname}?',
|
||||||
addedfriend: 'Aggiunto alla lista di Amici',
|
addedfriend: 'Aggiunto alla lista di Amici',
|
||||||
addedhandshake: 'Aggiunto alla lista Strette di Mano',
|
addedhandshake: 'Aggiunto alla lista Strette di Mano',
|
||||||
addedgroup: 'Aggiunto al Gruppo',
|
addedgroup: 'Aggiunto al Gruppo',
|
||||||
@@ -536,14 +536,14 @@ const msg_it = {
|
|||||||
sospeso: 'Sospeso',
|
sospeso: 'Sospeso',
|
||||||
username: 'Username',
|
username: 'Username',
|
||||||
username_reg: 'Username',
|
username_reg: 'Username',
|
||||||
username_reg_collettivo: 'Username Collettivo',
|
username_reg_collettivo: 'Username Gruppo',
|
||||||
username_hint: 'caratteri consentiti: tratteggio (_)',
|
username_hint: 'caratteri consentiti: tratteggio (_)',
|
||||||
username_pseudonimo: 'Username (Pseudonimo)',
|
username_pseudonimo: 'Username (Pseudonimo)',
|
||||||
username_short: 'Username',
|
username_short: 'Username',
|
||||||
name: 'Nome',
|
name: 'Nome',
|
||||||
insert_name: 'Inserisci il tuo Nome (o Soprannome)',
|
insert_name: 'Inserisci il tuo Nome (o Soprannome)',
|
||||||
name_opt: 'Nome (Facoltativo)',
|
name_opt: 'Nome (Facoltativo)',
|
||||||
name_opt_collettivo: 'Nome del Collettivo',
|
name_opt_collettivo: 'Nome del Gruppo',
|
||||||
surname: 'Cognome',
|
surname: 'Cognome',
|
||||||
insert_surname: 'Inserisci il Cognome',
|
insert_surname: 'Inserisci il Cognome',
|
||||||
surname_opt: 'Cognome (facoltativo)',
|
surname_opt: 'Cognome (facoltativo)',
|
||||||
@@ -873,9 +873,9 @@ const msg_it = {
|
|||||||
new_rec_bacheca_descr: 'Avvisami quando viene aggiunto un Annuncio:',
|
new_rec_bacheca_descr: 'Avvisami quando viene aggiunto un Annuncio:',
|
||||||
friends: 'Richieste di Amicizia',
|
friends: 'Richieste di Amicizia',
|
||||||
groups: 'Gruppi',
|
groups: 'Gruppi',
|
||||||
friends_descr: 'Avvisami se:',
|
friends_descr: 'Notifiche:',
|
||||||
events: 'Eventi',
|
events: 'Eventi',
|
||||||
events_descr: 'Avvisami se:',
|
events_descr: 'Notifiche:',
|
||||||
circuits: 'Circuiti',
|
circuits: 'Circuiti',
|
||||||
circuits_descr: 'Avvisami:',
|
circuits_descr: 'Avvisami:',
|
||||||
booking: 'Prenotazioni',
|
booking: 'Prenotazioni',
|
||||||
@@ -1179,7 +1179,7 @@ const msg_it = {
|
|||||||
hidden_descr: 'il Gruppo non sarà visibile nella ricerca',
|
hidden_descr: 'il Gruppo non sarà visibile nella ricerca',
|
||||||
page: 'Pagina',
|
page: 'Pagina',
|
||||||
circuits: 'Circuiti',
|
circuits: 'Circuiti',
|
||||||
groupname: 'Conto Collettivo',
|
groupname: 'Gruppo',
|
||||||
contocom: 'Conto Comunitario',
|
contocom: 'Conto Comunitario',
|
||||||
events: 'Eventi',
|
events: 'Eventi',
|
||||||
},
|
},
|
||||||
@@ -1226,11 +1226,11 @@ const msg_it = {
|
|||||||
vaialcircuito: 'Vai al Circuito',
|
vaialcircuito: 'Vai al Circuito',
|
||||||
iscritti: 'iscritti trovati',
|
iscritti: 'iscritti trovati',
|
||||||
coins_requestedris: 'Il tuo utente {username} sarà visibile sulla lista dei riceventi per 8 ore. Fai cliccare \'Invia RIS a..\' a chi ti deve inviare i RIS.',
|
coins_requestedris: 'Il tuo utente {username} sarà visibile sulla lista dei riceventi per 8 ore. Fai cliccare \'Invia RIS a..\' a chi ti deve inviare i RIS.',
|
||||||
coins_requestedrisgroup: 'Il Conto Collettivo {groupname} sarà visibile sulla lista dei riceventi per 8 ore. Fai cliccare \'Invia RIS a..\' a chi ti deve inviare i RIS.',
|
coins_requestedrisgroup: 'Il Conto del Gruppo {groupname} sarà visibile sulla lista dei riceventi per 8 ore. Fai cliccare \'Invia RIS a..\' a chi ti deve inviare i RIS.',
|
||||||
lista_ricev_title: 'Questa è la lista degli Utenti che hanno cliccato su "Ricevi RIS" nelle ultime 8 ore',
|
lista_ricev_title: 'Questa è la lista degli Utenti che hanno cliccato su "Ricevi RIS" nelle ultime 8 ore',
|
||||||
info: 'Informazioni su questo Circuito',
|
info: 'Informazioni su questo Circuito',
|
||||||
aggiuntive: 'Il Circuito è una una rete di individui, che fanno riferimento ad un territorio provinciale, nella quale ciascuno può offrire i propri talenti, competenze e produzioni (Beni, Servizi, Ospitalità, ecc.) e riceverne da altri, utilizzando anche i <strong>RIS</strong> come metodo di scambio, sulla base di <strong>relazioni di fiducia</strong>.',
|
aggiuntive: 'Il Circuito è una una rete di individui, che fanno riferimento ad un territorio provinciale, nella quale ciascuno può offrire i propri talenti, competenze e produzioni (Beni, Servizi, Ospitalità, ecc.) e riceverne da altri, utilizzando anche i <strong>RIS</strong> come metodo di scambio, sulla base di <strong>relazioni di fiducia</strong>.',
|
||||||
collettivi_info: 'Il Conto Collettivo è affidato ad un gruppo di persone, attivo nel territorio provinciale, che lo utilizza per organizzare iniziative di interesse comune, nello spirito di Riso.',
|
collettivi_info: 'Un Gruppo attivo nel territorio provinciale, che condivida le finalità del Progetto RISO, può creare un Profilo del Gruppo ed attivare un proprio Conto all\'interno del Circuito RIS in cui è presente.',
|
||||||
name: 'Nome Circuito',
|
name: 'Nome Circuito',
|
||||||
path: 'Nome Pagina',
|
path: 'Nome Pagina',
|
||||||
subname: 'SottoNome',
|
subname: 'SottoNome',
|
||||||
@@ -1303,7 +1303,7 @@ const msg_it = {
|
|||||||
sendcoins: 'Invia RIS',
|
sendcoins: 'Invia RIS',
|
||||||
sendcoins_toso: 'Invia RIS a',
|
sendcoins_toso: 'Invia RIS a',
|
||||||
receive_coins: 'Ricevi RIS',
|
receive_coins: 'Ricevi RIS',
|
||||||
info_contocom: 'Il conto Comunitario potrà essere utilizzato per facilitare gli scambi tra gli iscritti, finanziare progetti per la provincia, aiutare situazioni particolari.',
|
info_contocom: 'Il Conto Comunitario viene gestito collettivamente dai membri del Circuito Territoriale ed utilizzato per progetti comuni, per investimenti di solidarietà o per fare fronte ad eventuali situazioni di difficoltà.',
|
||||||
sendcoins_tocom: 'Invia RIS a Conto Comunitario',
|
sendcoins_tocom: 'Invia RIS a Conto Comunitario',
|
||||||
sendcoinsto: 'Invia {qty} {coin} a {dest}',
|
sendcoinsto: 'Invia {qty} {coin} a {dest}',
|
||||||
question_sendcoinsto: 'Inviare {qty} {coin} a {dest}?',
|
question_sendcoinsto: 'Inviare {qty} {coin} a {dest}?',
|
||||||
@@ -1317,16 +1317,19 @@ const msg_it = {
|
|||||||
refuse_coins_qty: 'Rifiuta',
|
refuse_coins_qty: 'Rifiuta',
|
||||||
refuse_coins: 'Rifiuta RIS',
|
refuse_coins: 'Rifiuta RIS',
|
||||||
movements: 'Movimenti',
|
movements: 'Movimenti',
|
||||||
|
movements_made: 'Movimenti effettuati',
|
||||||
contocomunitario: 'Conto Comunitario',
|
contocomunitario: 'Conto Comunitario',
|
||||||
conticollettivi: 'Conti Collettivi',
|
comunitario: 'Comunitario',
|
||||||
listaconticollettivi: 'Lista Conti Collettivi',
|
conticollettivi: 'Gruppi',
|
||||||
|
contideigruppi: 'Conti dei Gruppi',
|
||||||
|
listaconticollettivi: 'Lista Gruppi',
|
||||||
qta_remaining_to_send: 'Quantità massima inviabile {maxqta} {symbol}',
|
qta_remaining_to_send: 'Quantità massima inviabile {maxqta} {symbol}',
|
||||||
qta_not_valid: 'Quantità non valida',
|
qta_not_valid: 'Quantità non valida',
|
||||||
qta_max_to_send: 'Quantità massima inviabile {maxqta} {symbol}',
|
qta_max_to_send: 'Quantità massima inviabile {maxqta} {symbol}',
|
||||||
transaction_suspended: 'Transazioni sospese',
|
transaction_suspended: 'Transazioni sospese',
|
||||||
choosecontocom: 'Scegli il tuo Conto Collettivo',
|
choosecontocom: 'Scegli il Conto del Gruppo',
|
||||||
contocom: 'Conto Comunitario',
|
contocom: 'Conto Comunitario',
|
||||||
contocoll: 'Conto Collettivo',
|
contocoll: 'Conto del Gruppo',
|
||||||
user: 'Utente',
|
user: 'Utente',
|
||||||
sender: 'Mittente',
|
sender: 'Mittente',
|
||||||
dest: 'Destinatario',
|
dest: 'Destinatario',
|
||||||
@@ -1358,10 +1361,10 @@ const msg_it = {
|
|||||||
movement: {
|
movement: {
|
||||||
transactionDate: 'Data Transazione',
|
transactionDate: 'Data Transazione',
|
||||||
accountFromId: 'Dal Conto',
|
accountFromId: 'Dal Conto',
|
||||||
accountFromCollId: 'Dal Conto Collettivo',
|
accountFromCollId: 'Dal Conto del Gruppo',
|
||||||
accountFromComId: 'Dal Conto Com.',
|
accountFromComId: 'Dal Conto Com.',
|
||||||
accountToId: 'Al Conto',
|
accountToId: 'Al Conto',
|
||||||
accountToCollId: 'Al Conto Collettivo',
|
accountToCollId: 'Al Conto del Gruppo',
|
||||||
accountToComId: 'Al Conto Com.',
|
accountToComId: 'Al Conto Com.',
|
||||||
amount_sent: 'Quantità inviate',
|
amount_sent: 'Quantità inviate',
|
||||||
amount_to_send: 'Quantità da inviare',
|
amount_to_send: 'Quantità da inviare',
|
||||||
@@ -1374,15 +1377,16 @@ const msg_it = {
|
|||||||
movin: 'RIS Ricevuti',
|
movin: 'RIS Ricevuti',
|
||||||
movout: 'RIS Inviati',
|
movout: 'RIS Inviati',
|
||||||
from: 'Inviate da:',
|
from: 'Inviate da:',
|
||||||
fromCColl: 'Inviate dal Conto Collettivo:',
|
fromCColl: 'Inviate dal Conto del Gruppo:',
|
||||||
fromCCom: 'Inviate dal Conto Comunitario:',
|
fromCCom: 'Inviate dal Conto Comunitario:',
|
||||||
to: 'A favore di:',
|
to: 'A favore di:',
|
||||||
toCColl: 'Al Conto Collettivo:',
|
toCColl: 'Al Conto del Gruppo:',
|
||||||
toCCom: 'Al Conto Comunitario:',
|
toCCom: 'Al Conto Comunitario:',
|
||||||
pendingtransaction: '* Transazioni Pendenti',
|
pendingtransaction: '* Transazioni Pendenti',
|
||||||
viewpendingtransaction: 'Vedi Transazioni Pendenti',
|
viewpendingtransaction: 'Vedi Transazioni Pendenti',
|
||||||
onlymymov: 'Mostra solo i miei movimenti',
|
onlymymov: 'Mostra solo i miei movimenti',
|
||||||
showsaldi: 'Mostra i Saldi dei membri',
|
showsaldi: 'Mostra i Saldi dei membri',
|
||||||
|
updatewallet: 'Aggiorna',
|
||||||
},
|
},
|
||||||
editor: {
|
editor: {
|
||||||
showtool: 'Mostra strumenti per formattare il testo',
|
showtool: 'Mostra strumenti per formattare il testo',
|
||||||
|
|||||||
@@ -69,11 +69,11 @@ export const useCircuitStore = defineStore('CircuitStore', {
|
|||||||
return 'red'
|
return 'red'
|
||||||
},
|
},
|
||||||
|
|
||||||
getCircuitByName(circuitname: string): ICircuit | undefined | null {
|
getCircuitByName(circuitname: string): ICircuit | undefined | null {
|
||||||
return this.listcircuits.find((rec: ICircuit) => rec.name === circuitname)
|
return this.listcircuits.find((rec: ICircuit) => rec.name === circuitname)
|
||||||
},
|
},
|
||||||
|
|
||||||
getCircuitByProvince(prov: string): ICircuit | undefined | null {
|
getCircuitByProvince(prov: string): ICircuit | undefined | null {
|
||||||
return this.listcircuits.find((rec: ICircuit) => rec.strProv === prov)
|
return this.listcircuits.find((rec: ICircuit) => rec.strProv === prov)
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -81,20 +81,20 @@ export const useCircuitStore = defineStore('CircuitStore', {
|
|||||||
return this.listcircuits.find((rec: ICircuit) => rec._id === circuitId)
|
return this.listcircuits.find((rec: ICircuit) => rec._id === circuitId)
|
||||||
},
|
},
|
||||||
|
|
||||||
getNameByCircuitId(circuitId: string): string {
|
getNameByCircuitId(circuitId: string): string {
|
||||||
const circuit = this.getCircuitByCircuitId(circuitId);
|
const circuit = this.getCircuitByCircuitId(circuitId);
|
||||||
return circuit && circuit.name ? circuit.name : ''
|
return circuit && circuit.name ? circuit.name : ''
|
||||||
},
|
},
|
||||||
|
|
||||||
getCircuitsLabelValue(): any {
|
getCircuitsLabelValue(): any {
|
||||||
let arr = []
|
let arr = []
|
||||||
for (const circ of this.listcircuits) {
|
for (const circ of this.listcircuits) {
|
||||||
arr.push({label: circ.name, value: circ._id})
|
arr.push({ label: circ.name, value: circ._id })
|
||||||
}
|
}
|
||||||
return arr
|
return arr
|
||||||
},
|
},
|
||||||
|
|
||||||
getCircuitByPath(circuitpath: string): ICircuit | null {
|
getCircuitByPath(circuitpath: string): ICircuit | null {
|
||||||
const ris = this.listcircuits.find((rec: ICircuit) => rec.path === circuitpath)
|
const ris = this.listcircuits.find((rec: ICircuit) => rec.path === circuitpath)
|
||||||
return ris ? ris : null
|
return ris ? ris : null
|
||||||
},
|
},
|
||||||
@@ -109,7 +109,18 @@ export const useCircuitStore = defineStore('CircuitStore', {
|
|||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
getCircuitsListByGroup(mygrp: IMyGroup): ICircuit[] {
|
async aggiornaSaldo(circuitId: string) {
|
||||||
|
return Api.SendReq('/users/updatesaldo', 'POST', { circuitId })
|
||||||
|
.then((res) => {
|
||||||
|
if (res.data.ris)
|
||||||
|
tools.updateMyData(res.data.ris)
|
||||||
|
}).catch((error) => {
|
||||||
|
return {}
|
||||||
|
})
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
getCircuitsListByGroup(mygrp: IMyGroup): ICircuit[] {
|
||||||
return this.listcircuits.filter((rec: ICircuit) => mygrp.mycircuits!.findIndex((circ: IMyCircuit) => circ.circuitname === rec.name) >= 0)
|
return this.listcircuits.filter((rec: ICircuit) => mygrp.mycircuits!.findIndex((circ: IMyCircuit) => circ.circuitname === rec.name) >= 0)
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -122,21 +133,21 @@ export const useCircuitStore = defineStore('CircuitStore', {
|
|||||||
},
|
},
|
||||||
|
|
||||||
getAccountByCircuitId(circuitId: string): any {
|
getAccountByCircuitId(circuitId: string): any {
|
||||||
if (this.listaccounts) {
|
/*if (this.listaccounts) {
|
||||||
return this.listaccounts.find((rec: IAccount) => rec.circuitId === circuitId)
|
return this.listaccounts.find((rec: IAccount) => rec.circuitId === circuitId)
|
||||||
}
|
}
|
||||||
return null
|
return null*/
|
||||||
},
|
},
|
||||||
getAccountsListNameValue(): any[] {
|
getAccountsListNameValue(): any[] {
|
||||||
let arr = []
|
let arr = []
|
||||||
|
|
||||||
if (this.listaccounts) {
|
if (this.listaccounts) {
|
||||||
for (const acc of this.listaccounts) {
|
for (const acc of this.listaccounts) {
|
||||||
let chi = acc.username ? acc.username : (acc.groupname ? 'Collettivo: ' + acc.groupname : 'Comunitario: ' + acc.contocom)
|
let chi = acc.username ? acc.username : (acc.groupname ? 'Gruppo: ' + acc.groupname : 'Comunitario: ' + acc.contocom)
|
||||||
if (acc.circuitId) {
|
if (acc.circuitId) {
|
||||||
chi = '[' + this.getNameByCircuitId(acc.circuitId) + '] ' + chi
|
chi = '[' + this.getNameByCircuitId(acc.circuitId) + '] ' + chi
|
||||||
}
|
}
|
||||||
arr.push({label: chi, value: acc._id})
|
arr.push({ label: chi, value: acc._id })
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return arr
|
return arr
|
||||||
|
|||||||
@@ -689,7 +689,7 @@ export const colmyMovementTable = [
|
|||||||
AddCol({ name: 'transactionDate', label_trans: 'movement.transactionDate', fieldtype: costanti.FieldType.date }),
|
AddCol({ name: 'transactionDate', label_trans: 'movement.transactionDate', fieldtype: costanti.FieldType.date }),
|
||||||
AddCol({
|
AddCol({
|
||||||
name: 'userfrom.username',
|
name: 'userfrom.username',
|
||||||
label_trans: 'reg.username',
|
label_trans: 'circuit.sender',
|
||||||
field: 'userfrom',
|
field: 'userfrom',
|
||||||
subfield: 'username',
|
subfield: 'username',
|
||||||
tipovisu: costanti.TipoVisu.LINK,
|
tipovisu: costanti.TipoVisu.LINK,
|
||||||
@@ -724,7 +724,7 @@ export const colmyMovementTable = [
|
|||||||
}),
|
}),
|
||||||
AddCol({
|
AddCol({
|
||||||
name: 'userto.username',
|
name: 'userto.username',
|
||||||
label_trans: 'reg.username',
|
label_trans: 'circuit.dest',
|
||||||
field: 'userto',
|
field: 'userto',
|
||||||
subfield: 'username',
|
subfield: 'username',
|
||||||
foredit: false,
|
foredit: false,
|
||||||
|
|||||||
@@ -4767,6 +4767,7 @@ export const tools = {
|
|||||||
getnumrequisiti(user: IUserFields) {
|
getnumrequisiti(user: IUserFields) {
|
||||||
let req = 0
|
let req = 0
|
||||||
|
|
||||||
|
|
||||||
req += user.verified_email ? 1 : 0
|
req += user.verified_email ? 1 : 0
|
||||||
req += user.profile.teleg_id! > 0 ? 1 : 0
|
req += user.profile.teleg_id! > 0 ? 1 : 0
|
||||||
req += this.isBitActive(user.profile.saw_and_accepted, shared_consts.Accepted.CHECK_READ_GUIDELINES.value) ? 1 : 0
|
req += this.isBitActive(user.profile.saw_and_accepted, shared_consts.Accepted.CHECK_READ_GUIDELINES.value) ? 1 : 0
|
||||||
@@ -5111,7 +5112,7 @@ export const tools = {
|
|||||||
|
|
||||||
TelegVerificato(): boolean {
|
TelegVerificato(): boolean {
|
||||||
const userStore = useUserStore()
|
const userStore = useUserStore()
|
||||||
return userStore.my.profile ? userStore.my.profile.teleg_id! > 0 : false
|
return userStore.my.profile ? userStore.my.profile.teleg_id! > 0 || userStore.my.profile.teleg_id_old! > 0 : false
|
||||||
},
|
},
|
||||||
|
|
||||||
isDebugOn(): boolean {
|
isDebugOn(): boolean {
|
||||||
|
|||||||
@@ -190,7 +190,7 @@ export const useNotifStore = defineStore('NotifStore', {
|
|||||||
},
|
},
|
||||||
|
|
||||||
async updateNotifDataFromServer({ username, lastdataread }: { username: string, lastdataread: Date }) {
|
async updateNotifDataFromServer({ username, lastdataread }: { username: string, lastdataread: Date }) {
|
||||||
// console.log('updateNotifDataFromServer', username, lastdataread)
|
console.log('updateNotifDataFromServer', username, lastdataread)
|
||||||
|
|
||||||
return Api.SendReq(`/sendnotif/${username}/${lastdataread}/${process.env.APP_ID}`, 'GET', null)
|
return Api.SendReq(`/sendnotif/${username}/${lastdataread}/${process.env.APP_ID}`, 'GET', null)
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
@@ -210,6 +210,7 @@ export const useNotifStore = defineStore('NotifStore', {
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
||||||
async SendNotifEvent(notif: INotif) {
|
async SendNotifEvent(notif: INotif) {
|
||||||
console.log('SendNotifEvent', notif)
|
console.log('SendNotifEvent', notif)
|
||||||
|
|
||||||
|
|||||||
@@ -608,15 +608,19 @@ export const useUserStore = defineStore('UserStore', {
|
|||||||
return tools.getUrlSite() + '/registrati/' + username
|
return tools.getUrlSite() + '/registrati/' + username
|
||||||
},
|
},
|
||||||
|
|
||||||
|
isTelegIdOk(): boolean {
|
||||||
|
return (this.my.profile.teleg_id! > 0 || this.my.profile.teleg_id_old! > 0)
|
||||||
|
},
|
||||||
|
|
||||||
isUserOk(): boolean {
|
isUserOk(): boolean {
|
||||||
const globalStore = useGlobalStore()
|
const globalStore = useGlobalStore()
|
||||||
|
|
||||||
if (globalStore.site.confpages.enableRegMultiChoice) {
|
if (globalStore.site.confpages.enableRegMultiChoice) {
|
||||||
return ((this.my.profile.teleg_id! > 0 && this.isUsernameTelegOk()) || this.my.verified_email!) && this.my.verified_by_aportador!
|
return ((this.isTelegIdOk() && this.isUsernameTelegOk()) || this.my.verified_email!) && this.my.verified_by_aportador!
|
||||||
} else {
|
} else {
|
||||||
return this.my.profile.teleg_id! > 0 && this.my.verified_by_aportador! && this.isUsernameTelegOk()
|
return this.isTelegIdOk() && this.my.verified_by_aportador! && this.isUsernameTelegOk()
|
||||||
}
|
}
|
||||||
// return this.my.verified_email! && this.my.profile.teleg_id! > 0 && this.my.verified_by_aportador!
|
// return this.my.verified_email! && this.isTelegIdOk() && this.my.verified_by_aportador!
|
||||||
},
|
},
|
||||||
|
|
||||||
isUserWaitingVerifAportador(): boolean {
|
isUserWaitingVerifAportador(): boolean {
|
||||||
@@ -625,17 +629,17 @@ export const useUserStore = defineStore('UserStore', {
|
|||||||
|
|
||||||
isOldRegNotFinished(): boolean {
|
isOldRegNotFinished(): boolean {
|
||||||
return tools.isLogged() && ((!this.my.profile.teleg_id || this.my.profile.teleg_id <= 0) || !this.isUsernameTelegOk())
|
return tools.isLogged() && ((!this.my.profile.teleg_id || this.my.profile.teleg_id <= 0) || !this.isUsernameTelegOk())
|
||||||
// return this.my.verified_email! && this.my.profile.teleg_id! > 0 && this.my.verified_by_aportador!
|
// return this.my.verified_email! && this.isTelegIdOk() && this.my.verified_by_aportador!
|
||||||
},
|
},
|
||||||
|
|
||||||
isTelegOk(): boolean {
|
isTelegOk(): boolean {
|
||||||
return this.my.profile.teleg_id! > 0
|
return this.isTelegIdOk()
|
||||||
// return this.my.verified_email! && this.my.profile.teleg_id! > 0 && this.my.verified_by_aportador!
|
// return this.my.verified_email! && this.isTelegIdOk() && this.my.verified_by_aportador!
|
||||||
},
|
},
|
||||||
|
|
||||||
isUsernameTelegOk(): boolean {
|
isUsernameTelegOk(): boolean {
|
||||||
return !!this.my.profile.username_telegram
|
return !!this.my.profile.username_telegram
|
||||||
// return this.my.verified_email! && this.my.profile.teleg_id! > 0 && this.my.verified_by_aportador!
|
// return this.my.verified_email! && this.isTelegIdOk() && this.my.verified_by_aportador!
|
||||||
},
|
},
|
||||||
|
|
||||||
getNameSurnameByUserId(userId: string): string {
|
getNameSurnameByUserId(userId: string): string {
|
||||||
@@ -1702,6 +1706,12 @@ export const useUserStore = defineStore('UserStore', {
|
|||||||
.then((res) => {
|
.then((res) => {
|
||||||
if (res && res.data.state === 1) {
|
if (res && res.data.state === 1) {
|
||||||
if (myrec) {
|
if (myrec) {
|
||||||
|
if (!myrec.myreact) {
|
||||||
|
myrec.myreact = {
|
||||||
|
numfav: 0,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (!recreaction)
|
if (!recreaction)
|
||||||
this.my.profile.reaction.push({ id: objectId(), idrec: id, tab, username: this.my.username, fav: true })
|
this.my.profile.reaction.push({ id: objectId(), idrec: id, tab, username: this.my.username, fav: true })
|
||||||
else
|
else
|
||||||
@@ -1739,6 +1749,11 @@ export const useUserStore = defineStore('UserStore', {
|
|||||||
return await Api.SendReq('/reactions/cmd', 'POST', { cmd: CMD_REACTION.SET_ATTEND, id, tab, value })
|
return await Api.SendReq('/reactions/cmd', 'POST', { cmd: CMD_REACTION.SET_ATTEND, id, tab, value })
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
if (res && res.data.state === 1) {
|
if (res && res.data.state === 1) {
|
||||||
|
if (!myrec.myreact) {
|
||||||
|
myrec.myreact = {
|
||||||
|
numattend: 0,
|
||||||
|
}
|
||||||
|
}
|
||||||
if (!myrec.myreact.attend)
|
if (!myrec.myreact.attend)
|
||||||
myrec.myreact.attend = false
|
myrec.myreact.attend = false
|
||||||
// create a record
|
// create a record
|
||||||
@@ -1800,6 +1815,11 @@ export const useUserStore = defineStore('UserStore', {
|
|||||||
return await Api.SendReq('/reactions/cmd', 'POST', { cmd: CMD_REACTION.SET_BOOKMARK, id, tab, value })
|
return await Api.SendReq('/reactions/cmd', 'POST', { cmd: CMD_REACTION.SET_BOOKMARK, id, tab, value })
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
if (res && res.data.state === 1) {
|
if (res && res.data.state === 1) {
|
||||||
|
if (!myrec.myreact) {
|
||||||
|
myrec.myreact = {
|
||||||
|
numseen: 0,
|
||||||
|
}
|
||||||
|
}
|
||||||
if (!myrec.mybook)
|
if (!myrec.mybook)
|
||||||
myrec.mybook = []
|
myrec.mybook = []
|
||||||
if (!recreaction)
|
if (!recreaction)
|
||||||
@@ -1813,8 +1833,8 @@ export const useUserStore = defineStore('UserStore', {
|
|||||||
//++ this.my.profile.reaction = tools.removeIObjectOnce(this.my.profile.reaction, { id, tab, })
|
//++ this.my.profile.reaction = tools.removeIObjectOnce(this.my.profile.reaction, { id, tab, })
|
||||||
if ((myrec && myrec.mybook) && recreaction)
|
if ((myrec && myrec.mybook) && recreaction)
|
||||||
recreaction.book = false
|
recreaction.book = false
|
||||||
myrec.myreact.numbook--
|
myrec.myreact.numbook--
|
||||||
//myrec.mybook = myrec.mybook.filter((rec: IFavBook) => rec.username !== this.my.username)
|
//myrec.mybook = myrec.mybook.filter((rec: IFavBook) => rec.username !== this.my.username)
|
||||||
tools.showNegativeNotif($q, t('cmd.bookmark_unset'))
|
tools.showNegativeNotif($q, t('cmd.bookmark_unset'))
|
||||||
}
|
}
|
||||||
}).catch((error) => {
|
}).catch((error) => {
|
||||||
@@ -1856,6 +1876,11 @@ export const useUserStore = defineStore('UserStore', {
|
|||||||
.then((res) => {
|
.then((res) => {
|
||||||
if (res && res.data.state === 1) {
|
if (res && res.data.state === 1) {
|
||||||
if (value) {
|
if (value) {
|
||||||
|
if (!myrec.myreact) {
|
||||||
|
myrec.myreact = {
|
||||||
|
numseen: 0,
|
||||||
|
}
|
||||||
|
}
|
||||||
myrec.myreact.numseen++
|
myrec.myreact.numseen++
|
||||||
if (!recreaction)
|
if (!recreaction)
|
||||||
this.my.profile.reaction.push({ id: objectId(), idrec: id, tab, username: this.my.username, seen: true })
|
this.my.profile.reaction.push({ id: objectId(), idrec: id, tab, username: this.my.username, seen: true })
|
||||||
|
|||||||
@@ -538,6 +538,14 @@
|
|||||||
></q-btn>
|
></q-btn>
|
||||||
<br />
|
<br />
|
||||||
</div>
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<q-btn
|
||||||
|
label="Rimuovi i profile.favorite, bookmark, attend, seen"
|
||||||
|
color="negative"
|
||||||
|
@click="EseguiFunz('removeRecordsFav')"
|
||||||
|
></q-btn>
|
||||||
|
<br />
|
||||||
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script lang="ts" src="./dbop.ts">
|
<script lang="ts" src="./dbop.ts">
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -51,22 +51,26 @@ export default defineComponent({
|
|||||||
|
|
||||||
const showsendCoinTo = ref(false)
|
const showsendCoinTo = ref(false)
|
||||||
const showrules = ref(false)
|
const showrules = ref(false)
|
||||||
|
const showMov = ref(false)
|
||||||
|
|
||||||
const animation = ref('fade')
|
const animation = ref('fade')
|
||||||
|
|
||||||
const path = computed(() => $route.params.path ? $route.params.path.toString() : '')
|
const path = computed(() => $route.params.path ? $route.params.path.toString() : '')
|
||||||
const idnotif = computed(() => $route.query.idnotif ? $route.query.idnotif.toString() : '')
|
const idnotif = computed(() => $route.query.idnotif ? $route.query.idnotif.toString() : '')
|
||||||
|
|
||||||
|
const circuitpath_loaded = ref('')
|
||||||
|
|
||||||
const filtroutente = ref([] as any[])
|
const filtroutente = ref([] as any[])
|
||||||
const showPic = ref(false)
|
const showPic = ref(false)
|
||||||
|
const loadSaldo = ref(false)
|
||||||
|
|
||||||
const circuit = ref({} as ICircuit | null)
|
const circuit = ref({} as ICircuit | null)
|
||||||
const account = computed(() => circuit.value ? userStore.getAccountByCircuitId(circuit.value._id) : null)
|
const account = ref(<IAccount | null>null)
|
||||||
const mystatus = ref(0 as number)
|
const mystatus = ref(0 as number)
|
||||||
const users_in_circuit = ref([] as IFriends[])
|
const users_in_circuit = ref([] as IFriends[])
|
||||||
|
|
||||||
const qtarem = computed(() => account.value ? circuitStore.getRemainingCoinsToSend(account.value) : 0)
|
const qtarem = ref(0)
|
||||||
const saldo = computed(() => account.value ? account.value.saldo : 0)
|
const saldo = ref(0)
|
||||||
|
|
||||||
const loading = ref(false)
|
const loading = ref(false)
|
||||||
const requestToEnterCircuit = ref(false)
|
const requestToEnterCircuit = ref(false)
|
||||||
@@ -86,215 +90,240 @@ export default defineComponent({
|
|||||||
|
|
||||||
const cities = ref([] as ICity[])
|
const cities = ref([] as ICity[])
|
||||||
|
|
||||||
const fidoConcesso = computed(() => account.value ? account.value.fidoConcesso : circuit.value!.fido_scoperto_default)
|
const fidoConcesso = ref(<any>0)
|
||||||
const qtaMax = computed(() => account.value ? account.value.qta_maxConcessa : circuit.value!.qta_max_default)
|
const qtaMax = ref(<any>0)
|
||||||
|
|
||||||
watch(() => path.value, (to: any, from: any) => {
|
watch(() => path.value, (to: any, from: any) => {
|
||||||
loadCircuit()
|
if (circuitpath_loaded.value !== path.value)
|
||||||
|
loadCircuit()
|
||||||
})
|
})
|
||||||
|
|
||||||
watch(() => tabcircuit.value, (to: any, from: any) => {
|
watch(() => tabcircuit.value, (to: any, from: any) => {
|
||||||
tools.setCookie(tools.COOK_TAB_CIRCUIT + path.value, tabcircuit.value)
|
tools.setCookie(tools.COOK_TAB_CIRCUIT + path.value, tabcircuit.value)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
watch(() => circuit.value, (to: any, from: any) => {
|
||||||
|
if (to) {
|
||||||
|
loadAccount()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
function loadAccount() {
|
||||||
|
// console.log('loadAccount')
|
||||||
|
account.value = circuit.value ? userStore.getAccountByCircuitId(circuit.value._id) : null
|
||||||
|
// console.log('saldo', account.value!.saldo)
|
||||||
|
|
||||||
|
fidoConcesso.value = account.value ? account.value.fidoConcesso : (circuit.value ? circuit.value.fido_scoperto_default : 0)
|
||||||
|
qtaMax.value = account.value ? account.value.qta_maxConcessa : (circuit.value ? circuit.value.qta_max_default : 0)
|
||||||
|
qtarem.value = account.value ? circuitStore.getRemainingCoinsToSend(account.value) : 0
|
||||||
|
saldo.value = account.value ? account.value.saldo : 0
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
function profile() {
|
function profile() {
|
||||||
return userStore.my.profile
|
return userStore.my.profile
|
||||||
}
|
}
|
||||||
|
|
||||||
async function loadCircuit() {
|
async function loadCircuit() {
|
||||||
|
console.log(' *** INIZIO loadCircuit')
|
||||||
|
|
||||||
loading.value = true
|
if (!loading.value) {
|
||||||
// Carica il profilo di quest'utente
|
loading.value = true
|
||||||
if (path.value) {
|
// Carica il profilo di quest'utente
|
||||||
circuit.value = null
|
if (path.value) {
|
||||||
users_in_circuit.value = []
|
circuitpath_loaded.value = path.value
|
||||||
await userStore.loadCircuit(path.value, idnotif.value).then(({ data, status }: { data: any, status: number }) => {
|
circuit.value = null
|
||||||
console.log('data', data)
|
users_in_circuit.value = []
|
||||||
if (data) {
|
await userStore.loadCircuit(path.value, idnotif.value).then(({ data, status }: { data: any, status: number }) => {
|
||||||
notifStore.setAsRead(idnotif.value)
|
// console.log('data', data)
|
||||||
users_in_circuit.value = data.users_in_circuit
|
if (data) {
|
||||||
circuit.value = data.circuit
|
notifStore.setAsRead(idnotif.value)
|
||||||
} else {
|
users_in_circuit.value = data.users_in_circuit
|
||||||
circuit.value = null
|
circuit.value = data.circuit
|
||||||
users_in_circuit.value = []
|
} else {
|
||||||
}
|
circuit.value = null
|
||||||
|
users_in_circuit.value = []
|
||||||
|
}
|
||||||
|
|
||||||
mystatus.value = status
|
loadAccount()
|
||||||
|
|
||||||
searchList.value = []
|
mystatus.value = status
|
||||||
if (circuit.value) {
|
|
||||||
let addquerysingle = [
|
|
||||||
|
|
||||||
];
|
searchList.value = []
|
||||||
|
if (circuit.value) {
|
||||||
|
let addquerysingle = [
|
||||||
|
|
||||||
filterextra.value = [{
|
];
|
||||||
$match: {
|
|
||||||
idapp: process.env.APP_ID,
|
filterextra.value = [{
|
||||||
'profile.mycircuits': {
|
$match: {
|
||||||
$elemMatch: { circuitname: { $eq: circuit.value.name } },
|
idapp: process.env.APP_ID,
|
||||||
|
'profile.mycircuits': {
|
||||||
|
$elemMatch: { circuitname: { $eq: circuit.value.name } },
|
||||||
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
|
||||||
|
|
||||||
{
|
{
|
||||||
$lookup: {
|
$lookup: {
|
||||||
from: 'circuits',
|
from: 'circuits',
|
||||||
as: 'circuit',
|
as: 'circuit',
|
||||||
let: { circuitname: circuit.value.name, idapp: '$idapp' },
|
let: { circuitname: circuit.value.name, idapp: '$idapp' },
|
||||||
pipeline: [
|
pipeline: [
|
||||||
{
|
|
||||||
$match:
|
|
||||||
{
|
{
|
||||||
$expr:
|
$match:
|
||||||
{
|
{
|
||||||
$and:
|
$expr:
|
||||||
[
|
{
|
||||||
{ $eq: ['$name', '$$circuitname'] },
|
$and:
|
||||||
{ $eq: ['$idapp', '$$idapp'] },
|
[
|
||||||
|
{ $eq: ['$name', '$$circuitname'] },
|
||||||
|
{ $eq: ['$idapp', '$$idapp'] },
|
||||||
|
|
||||||
],
|
],
|
||||||
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
],
|
||||||
],
|
},
|
||||||
|
|
||||||
|
},
|
||||||
|
{ $unwind: '$circuit' },
|
||||||
|
{
|
||||||
|
$project: {
|
||||||
|
username: 1,
|
||||||
|
name: 1,
|
||||||
|
surname: 1,
|
||||||
|
date_reg: 1,
|
||||||
|
profile: 1, idapp: 1, 'circuit.name': 1, 'circuit._id': 1
|
||||||
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
},
|
{
|
||||||
{ $unwind: '$circuit' },
|
$lookup: {
|
||||||
{
|
from: 'accounts',
|
||||||
$project: {
|
as: 'account',
|
||||||
username: 1,
|
let: { username: '$username', idapp: '$idapp', circuitId: '$circuit._id' },
|
||||||
name: 1,
|
pipeline: [
|
||||||
surname: 1,
|
|
||||||
date_reg: 1,
|
|
||||||
profile: 1, idapp: 1, 'circuit.name': 1, 'circuit._id': 1
|
|
||||||
}
|
|
||||||
|
|
||||||
},
|
|
||||||
|
|
||||||
{
|
|
||||||
$lookup: {
|
|
||||||
from: 'accounts',
|
|
||||||
as: 'account',
|
|
||||||
let: { username: '$username', idapp: '$idapp', circuitId: '$circuit._id' },
|
|
||||||
pipeline: [
|
|
||||||
{
|
|
||||||
$match:
|
|
||||||
{
|
{
|
||||||
$expr:
|
$match:
|
||||||
{
|
{
|
||||||
$and:
|
$expr:
|
||||||
[
|
{
|
||||||
{ $eq: ['$$username', '$username'] },
|
$and:
|
||||||
{ $eq: ['$$idapp', '$idapp'] },
|
[
|
||||||
{ $eq: ['$$circuitId', '$circuitId'] },
|
{ $eq: ['$$username', '$username'] },
|
||||||
],
|
{ $eq: ['$$idapp', '$idapp'] },
|
||||||
|
{ $eq: ['$$circuitId', '$circuitId'] },
|
||||||
|
],
|
||||||
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
],
|
||||||
],
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{ $unwind: '$account' },
|
|
||||||
]
|
|
||||||
|
|
||||||
filterextra_group.value = [{
|
|
||||||
$match: {
|
|
||||||
idapp: process.env.APP_ID,
|
|
||||||
'mycircuits': {
|
|
||||||
$elemMatch: { circuitname: { $eq: circuit.value.name } },
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
{ $unwind: '$account' },
|
||||||
|
]
|
||||||
|
|
||||||
{
|
filterextra_group.value = [{
|
||||||
$lookup: {
|
$match: {
|
||||||
from: 'circuits',
|
idapp: process.env.APP_ID,
|
||||||
as: 'circuit',
|
'mycircuits': {
|
||||||
let: { circuitname: circuit.value.name, idapp: '$idapp' },
|
$elemMatch: { circuitname: { $eq: circuit.value.name } },
|
||||||
pipeline: [
|
|
||||||
{
|
|
||||||
$match:
|
|
||||||
{
|
|
||||||
$expr:
|
|
||||||
{
|
|
||||||
$and:
|
|
||||||
[
|
|
||||||
{ $eq: ['$name', '$$circuitname'] },
|
|
||||||
{ $eq: ['$idapp', '$$idapp'] },
|
|
||||||
|
|
||||||
],
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
},
|
||||||
],
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
},
|
{
|
||||||
{ $unwind: '$circuit' },
|
$lookup: {
|
||||||
{
|
from: 'circuits',
|
||||||
$project: {
|
as: 'circuit',
|
||||||
groupname: 1,
|
let: { circuitname: circuit.value.name, idapp: '$idapp' },
|
||||||
title: 1,
|
pipeline: [
|
||||||
descr: 1,
|
|
||||||
photos: 1,
|
|
||||||
surname: 1,
|
|
||||||
admins: 1,
|
|
||||||
idapp: 1,
|
|
||||||
'circuit.name': 1, 'circuit._id': 1
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
$lookup: {
|
|
||||||
from: 'accounts',
|
|
||||||
as: 'account',
|
|
||||||
let: { groupname: '$groupname', idapp: '$idapp', circuitId: '$circuit._id' },
|
|
||||||
pipeline: [
|
|
||||||
{
|
|
||||||
$match:
|
|
||||||
{
|
{
|
||||||
$expr:
|
$match:
|
||||||
{
|
{
|
||||||
$and:
|
$expr:
|
||||||
[
|
{
|
||||||
{ $eq: ['$groupname', '$$groupname'] },
|
$and:
|
||||||
{ $eq: ['$idapp', '$$idapp'] },
|
[
|
||||||
{ $eq: ['$circuitId', '$$circuitId'] },
|
{ $eq: ['$name', '$$circuitname'] },
|
||||||
|
{ $eq: ['$idapp', '$$idapp'] },
|
||||||
|
|
||||||
],
|
],
|
||||||
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
],
|
||||||
],
|
},
|
||||||
|
|
||||||
},
|
},
|
||||||
|
{ $unwind: '$circuit' },
|
||||||
|
{
|
||||||
|
$project: {
|
||||||
|
groupname: 1,
|
||||||
|
title: 1,
|
||||||
|
descr: 1,
|
||||||
|
photos: 1,
|
||||||
|
surname: 1,
|
||||||
|
admins: 1,
|
||||||
|
idapp: 1,
|
||||||
|
'circuit.name': 1, 'circuit._id': 1
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
$lookup: {
|
||||||
|
from: 'accounts',
|
||||||
|
as: 'account',
|
||||||
|
let: { groupname: '$groupname', idapp: '$idapp', circuitId: '$circuit._id' },
|
||||||
|
pipeline: [
|
||||||
|
{
|
||||||
|
$match:
|
||||||
|
{
|
||||||
|
$expr:
|
||||||
|
{
|
||||||
|
$and:
|
||||||
|
[
|
||||||
|
{ $eq: ['$groupname', '$$groupname'] },
|
||||||
|
{ $eq: ['$idapp', '$$idapp'] },
|
||||||
|
{ $eq: ['$circuitId', '$$circuitId'] },
|
||||||
|
|
||||||
},
|
],
|
||||||
{
|
},
|
||||||
$unwind: '$account',
|
},
|
||||||
},
|
},
|
||||||
{
|
],
|
||||||
$match: { 'account.groupname': { $exists: true, $ne: '' } }
|
},
|
||||||
},
|
|
||||||
]
|
|
||||||
}
|
|
||||||
arrfilterand.value = []
|
|
||||||
filtercustom_rich.value = []
|
|
||||||
|
|
||||||
if (userStore.my.username && circuit.value)
|
},
|
||||||
groupsListAdmin.value = userStore.GroupsListWhereIAmAdmin()
|
{
|
||||||
|
$unwind: '$account',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
$match: { 'account.groupname': { $exists: true, $ne: '' } }
|
||||||
|
},
|
||||||
|
]
|
||||||
|
}
|
||||||
|
arrfilterand.value = []
|
||||||
|
filtercustom_rich.value = []
|
||||||
|
|
||||||
// filtroutente.value = [{ userId: userStore.my._id }]
|
if (userStore.my.username && circuit.value)
|
||||||
})
|
groupsListAdmin.value = userStore.GroupsListWhereIAmAdmin()
|
||||||
|
|
||||||
|
// filtroutente.value = [{ userId: userStore.my._id }]
|
||||||
|
})
|
||||||
|
|
||||||
|
}
|
||||||
|
loading.value = false
|
||||||
|
console.log(' ___ FINE loadCircuit')
|
||||||
}
|
}
|
||||||
loading.value = false
|
|
||||||
}
|
}
|
||||||
|
|
||||||
async function mounted() {
|
function mounted() {
|
||||||
tabcircuit.value = tools.getCookie(tools.COOK_TAB_CIRCUIT + path.value, 'info')
|
tabcircuit.value = tools.getCookie(tools.COOK_TAB_CIRCUIT + path.value, 'info')
|
||||||
|
|
||||||
|
loadCircuit()
|
||||||
await loadCircuit()
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -329,6 +358,7 @@ export default defineComponent({
|
|||||||
username: 1,
|
username: 1,
|
||||||
name: 1,
|
name: 1,
|
||||||
surname: 1,
|
surname: 1,
|
||||||
|
lang: 1,
|
||||||
'profile.img': 1,
|
'profile.img': 1,
|
||||||
'profile.mycircuits': 1,
|
'profile.mycircuits': 1,
|
||||||
'profile.qualifica': 1,
|
'profile.qualifica': 1,
|
||||||
@@ -430,7 +460,7 @@ export default defineComponent({
|
|||||||
function getRegulation(reg: string) {
|
function getRegulation(reg: string) {
|
||||||
let strreg = reg + ''
|
let strreg = reg + ''
|
||||||
if (!reg) {
|
if (!reg) {
|
||||||
const mystringa = t('circuit.regolamento', {nomecircuito: circuit.value!.name})
|
const mystringa = t('circuit.regolamento', { nomecircuito: circuit.value!.name })
|
||||||
return mystringa
|
return mystringa
|
||||||
} else {
|
} else {
|
||||||
return reg
|
return reg
|
||||||
@@ -438,6 +468,13 @@ export default defineComponent({
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async function aggiornaSaldo() {
|
||||||
|
loadSaldo.value = true
|
||||||
|
await circuitStore.aggiornaSaldo(circuit.value!._id);
|
||||||
|
loadAccount()
|
||||||
|
loadSaldo.value = false
|
||||||
|
}
|
||||||
|
|
||||||
onMounted(mounted)
|
onMounted(mounted)
|
||||||
|
|
||||||
return {
|
return {
|
||||||
@@ -500,6 +537,10 @@ export default defineComponent({
|
|||||||
getRegulation,
|
getRegulation,
|
||||||
fidoConcesso,
|
fidoConcesso,
|
||||||
qtaMax,
|
qtaMax,
|
||||||
|
showMov,
|
||||||
|
loadAccount,
|
||||||
|
aggiornaSaldo,
|
||||||
|
loadSaldo,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -129,6 +129,134 @@
|
|||||||
>
|
>
|
||||||
</CSaldo>
|
</CSaldo>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<q-dialog v-model="showMov" :maximized="$q.screen.lt.sm" permanent>
|
||||||
|
<q-card class="dialog_card">
|
||||||
|
<q-bar dense class="bg-primary text-white">
|
||||||
|
{{ t('circuit.movements') }}:
|
||||||
|
<q-space />
|
||||||
|
<q-btn
|
||||||
|
flat
|
||||||
|
round
|
||||||
|
color="white"
|
||||||
|
icon="close"
|
||||||
|
v-close-popup
|
||||||
|
></q-btn>
|
||||||
|
</q-bar>
|
||||||
|
<q-card-section class="inset-shadow">
|
||||||
|
<q-toggle
|
||||||
|
v-model="showonlymine"
|
||||||
|
:label="t('movement.onlymymov')"
|
||||||
|
></q-toggle>
|
||||||
|
<q-toggle v-model="tabellare" label="Tabella"></q-toggle>
|
||||||
|
|
||||||
|
<CGridTableRec
|
||||||
|
v-if="tabellare && !loading"
|
||||||
|
prop_mytable="movements"
|
||||||
|
prop_mytitle=""
|
||||||
|
:prop_mycolumns="colmyMovementTable"
|
||||||
|
prop_colkey="_id"
|
||||||
|
col_title="Lista Movimenti"
|
||||||
|
:vertical="0"
|
||||||
|
nodataLabel="Nessun Movimento effettuato"
|
||||||
|
:prop_search="true"
|
||||||
|
:enableExport="true"
|
||||||
|
hint="nota da trovare (tabella)"
|
||||||
|
:finder="false"
|
||||||
|
:choose_visutype="false"
|
||||||
|
:finder_noNull="false"
|
||||||
|
:options="shared_consts.OPTIONS_SEARCH_USER_ALL_WORDS"
|
||||||
|
:butt_modif_new="false"
|
||||||
|
noresultLabel="movimenti non trovati con questa ricerca"
|
||||||
|
:arrfilters="arrfilterand"
|
||||||
|
:filtercustom="filtercustom_rich"
|
||||||
|
filterextra=""
|
||||||
|
:filterextra2="filterextra2"
|
||||||
|
:prop_searchList="searchList"
|
||||||
|
:prop_pagination="{
|
||||||
|
sortBy: 'transactionDate',
|
||||||
|
descending: true,
|
||||||
|
page: 1,
|
||||||
|
rowsNumber: 0,
|
||||||
|
rowsPerPage: 20,
|
||||||
|
}"
|
||||||
|
:showType="costanti.SHOW_MOVEMENTS"
|
||||||
|
:showCol="true"
|
||||||
|
:showHeaderCol="true"
|
||||||
|
:extraparams="extraparams_movs()"
|
||||||
|
extrafield=""
|
||||||
|
:visufind="costanti.FRIENDS"
|
||||||
|
>
|
||||||
|
</CGridTableRec>
|
||||||
|
<CGridTableRec
|
||||||
|
v-else-if="!loading"
|
||||||
|
prop_mytable="movements"
|
||||||
|
prop_mytitle=""
|
||||||
|
:prop_mycolumns="colmyMovement"
|
||||||
|
prop_colkey="_id"
|
||||||
|
col_title="Lista Movimenti"
|
||||||
|
:vertical="costanti.VISUTABLE_LISTA"
|
||||||
|
nodataLabel="Nessun Movimento effettuato"
|
||||||
|
:enableExport="true"
|
||||||
|
:prop_search="true"
|
||||||
|
hint="nota da trovare"
|
||||||
|
:finder="false"
|
||||||
|
:choose_visutype="false"
|
||||||
|
:finder_noNull="false"
|
||||||
|
:options="shared_consts.OPTIONS_SEARCH_USER_ALL_WORDS"
|
||||||
|
:butt_modif_new="false"
|
||||||
|
noresultLabel="movimenti non trovati con questa ricerca"
|
||||||
|
:arrfilters="arrfilterand"
|
||||||
|
:filtercustom="filtercustom_rich"
|
||||||
|
:prop_searchList="searchList"
|
||||||
|
:prop_pagination="{
|
||||||
|
sortBy: 'transactionDate',
|
||||||
|
descending: true,
|
||||||
|
page: 1,
|
||||||
|
rowsNumber: 20,
|
||||||
|
rowsPerPage: 20,
|
||||||
|
}"
|
||||||
|
:showType="costanti.SHOW_MOVEMENTS"
|
||||||
|
:showCol="false"
|
||||||
|
:showHeaderCol="false"
|
||||||
|
:extraparams="extraparams_movs()"
|
||||||
|
extrafield=""
|
||||||
|
:visufind="costanti.FRIENDS"
|
||||||
|
>
|
||||||
|
</CGridTableRec>
|
||||||
|
</q-card-section>
|
||||||
|
</q-card>
|
||||||
|
</q-dialog>
|
||||||
|
</div>
|
||||||
|
<div class="text-center">
|
||||||
|
<q-spinner
|
||||||
|
v-if="loadSaldo"
|
||||||
|
color="primary"
|
||||||
|
size="3em"
|
||||||
|
:thickness="2"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<q-btn
|
||||||
|
v-if="account && !loadSaldo"
|
||||||
|
outline
|
||||||
|
rounded
|
||||||
|
dense
|
||||||
|
color="green"
|
||||||
|
icon="fas fa-redo"
|
||||||
|
:label="t('movement.updatewallet')"
|
||||||
|
@click="aggiornaSaldo()"
|
||||||
|
>
|
||||||
|
</q-btn>
|
||||||
|
|
||||||
|
<div class="q-ma-sm text-center">
|
||||||
|
<q-btn
|
||||||
|
v-if="userStore.IsMyCircuitByName(circuit.name)"
|
||||||
|
:label="t('circuit.movements_made')"
|
||||||
|
@click="showMov = !showMov"
|
||||||
|
icon="fas fa-coins"
|
||||||
|
rounded
|
||||||
|
color="primary"
|
||||||
|
></q-btn>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<q-banner
|
<q-banner
|
||||||
@@ -303,9 +431,9 @@
|
|||||||
></q-tab>
|
></q-tab>
|
||||||
<q-tab
|
<q-tab
|
||||||
v-if="userStore.IsMyCircuitByName(circuit.name)"
|
v-if="userStore.IsMyCircuitByName(circuit.name)"
|
||||||
:label="t('circuit.movements')"
|
:label="t('circuit.comunitario')"
|
||||||
name="mov"
|
name="comunitario"
|
||||||
icon="fas fa-coins"
|
icon="fas fa-campground"
|
||||||
></q-tab>
|
></q-tab>
|
||||||
<q-tab
|
<q-tab
|
||||||
v-if="!!circuit.note"
|
v-if="!!circuit.note"
|
||||||
@@ -321,6 +449,7 @@
|
|||||||
style="max-width: 500px"
|
style="max-width: 500px"
|
||||||
v-if="tools.iCanShowCircuitsMember(circuit)"
|
v-if="tools.iCanShowCircuitsMember(circuit)"
|
||||||
>
|
>
|
||||||
|
<div class="text-h6">{{ t('circuit.contideigruppi') }}:</div>
|
||||||
<div class="text-h7 q-mb-sm">
|
<div class="text-h7 q-mb-sm">
|
||||||
<div v-html="$t('circuit.collettivi_info')"></div>
|
<div v-html="$t('circuit.collettivi_info')"></div>
|
||||||
</div>
|
</div>
|
||||||
@@ -514,7 +643,7 @@
|
|||||||
prop_colkey="_id"
|
prop_colkey="_id"
|
||||||
col_title=""
|
col_title=""
|
||||||
:vertical="costanti.VISUTABLE_GROUP_CIRCUIT"
|
:vertical="costanti.VISUTABLE_GROUP_CIRCUIT"
|
||||||
nodataLabel="Nessun Conto Collettivo Rifiutato"
|
nodataLabel="Nessun Conto di Gruppo Rifiutato"
|
||||||
:prop_search="false"
|
:prop_search="false"
|
||||||
hint="Gruppo da trovare"
|
hint="Gruppo da trovare"
|
||||||
:finder="false"
|
:finder="false"
|
||||||
@@ -522,7 +651,7 @@
|
|||||||
:finder_noNull="false"
|
:finder_noNull="false"
|
||||||
:options="shared_consts.OPTIONS_SEARCH_USER_ALL_WORDS"
|
:options="shared_consts.OPTIONS_SEARCH_USER_ALL_WORDS"
|
||||||
:butt_modif_new="false"
|
:butt_modif_new="false"
|
||||||
noresultLabel="Conto Collettivo non trovato"
|
noresultLabel="Conto di Gruppo non trovato"
|
||||||
:arrfilters="arrfilterand"
|
:arrfilters="arrfilterand"
|
||||||
:filtercustom="filtercustom_rich"
|
:filtercustom="filtercustom_rich"
|
||||||
:filterextra2="filterextra2"
|
:filterextra2="filterextra2"
|
||||||
@@ -537,88 +666,6 @@
|
|||||||
</q-tab-panel>
|
</q-tab-panel>
|
||||||
</q-tab-panels>
|
</q-tab-panels>
|
||||||
</q-tab-panel>
|
</q-tab-panel>
|
||||||
<q-tab-panel name="mov">
|
|
||||||
<q-toggle
|
|
||||||
v-model="showonlymine"
|
|
||||||
:label="t('movement.onlymymov')"
|
|
||||||
></q-toggle>
|
|
||||||
<q-toggle v-model="tabellare" label="Tabella"></q-toggle>
|
|
||||||
|
|
||||||
<CGridTableRec
|
|
||||||
v-if="tabellare && !loading"
|
|
||||||
prop_mytable="movements"
|
|
||||||
prop_mytitle=""
|
|
||||||
:prop_mycolumns="colmyMovementTable"
|
|
||||||
prop_colkey="_id"
|
|
||||||
col_title="Lista Movimenti"
|
|
||||||
:vertical="0"
|
|
||||||
nodataLabel="Nessun Movimento effettuato"
|
|
||||||
:prop_search="true"
|
|
||||||
:enableExport="true"
|
|
||||||
hint="nota da trovare (tabella)"
|
|
||||||
:finder="false"
|
|
||||||
:choose_visutype="false"
|
|
||||||
:finder_noNull="false"
|
|
||||||
:options="shared_consts.OPTIONS_SEARCH_USER_ALL_WORDS"
|
|
||||||
:butt_modif_new="false"
|
|
||||||
noresultLabel="movimenti non trovati con questa ricerca"
|
|
||||||
:arrfilters="arrfilterand"
|
|
||||||
:filtercustom="filtercustom_rich"
|
|
||||||
filterextra=""
|
|
||||||
:filterextra2="filterextra2"
|
|
||||||
:prop_searchList="searchList"
|
|
||||||
:prop_pagination="{
|
|
||||||
sortBy: 'transactionDate',
|
|
||||||
descending: true,
|
|
||||||
page: 1,
|
|
||||||
rowsNumber: 20,
|
|
||||||
rowsPerPage: 20,
|
|
||||||
}"
|
|
||||||
:showType="costanti.SHOW_MOVEMENTS"
|
|
||||||
:showCol="true"
|
|
||||||
:showHeaderCol="true"
|
|
||||||
:extraparams="extraparams_movs()"
|
|
||||||
extrafield=""
|
|
||||||
:visufind="costanti.FRIENDS"
|
|
||||||
>
|
|
||||||
</CGridTableRec>
|
|
||||||
<CGridTableRec
|
|
||||||
v-else-if="!loading"
|
|
||||||
prop_mytable="movements"
|
|
||||||
prop_mytitle=""
|
|
||||||
:prop_mycolumns="colmyMovement"
|
|
||||||
prop_colkey="_id"
|
|
||||||
col_title="Lista Movimenti"
|
|
||||||
:vertical="costanti.VISUTABLE_LISTA"
|
|
||||||
nodataLabel="Nessun Movimento effettuato"
|
|
||||||
:enableExport="true"
|
|
||||||
:prop_search="true"
|
|
||||||
hint="nota da trovare"
|
|
||||||
:finder="false"
|
|
||||||
:choose_visutype="false"
|
|
||||||
:finder_noNull="false"
|
|
||||||
:options="shared_consts.OPTIONS_SEARCH_USER_ALL_WORDS"
|
|
||||||
:butt_modif_new="false"
|
|
||||||
noresultLabel="movimenti non trovati con questa ricerca"
|
|
||||||
:arrfilters="arrfilterand"
|
|
||||||
:filtercustom="filtercustom_rich"
|
|
||||||
:prop_searchList="searchList"
|
|
||||||
:prop_pagination="{
|
|
||||||
sortBy: 'transactionDate',
|
|
||||||
descending: true,
|
|
||||||
page: 1,
|
|
||||||
rowsNumber: 20,
|
|
||||||
rowsPerPage: 20,
|
|
||||||
}"
|
|
||||||
:showType="costanti.SHOW_MOVEMENTS"
|
|
||||||
:showCol="false"
|
|
||||||
:showHeaderCol="false"
|
|
||||||
:extraparams="extraparams_movs()"
|
|
||||||
extrafield=""
|
|
||||||
:visufind="costanti.FRIENDS"
|
|
||||||
>
|
|
||||||
</CGridTableRec>
|
|
||||||
</q-tab-panel>
|
|
||||||
<q-tab-panel name="info">
|
<q-tab-panel name="info">
|
||||||
<div>
|
<div>
|
||||||
<q-card>
|
<q-card>
|
||||||
@@ -876,48 +923,6 @@
|
|||||||
}}</span>
|
}}</span>
|
||||||
</div>
|
</div>
|
||||||
</q-card>
|
</q-card>
|
||||||
<q-card v-if="circuit.name">
|
|
||||||
<q-card-section>
|
|
||||||
<div class="text-h6">{{ t('circuit.contocomunitario') }}:</div>
|
|
||||||
<div class="text-h7 q-mb-sm">
|
|
||||||
{{ $t('circuit.info_contocom') }}
|
|
||||||
</div>
|
|
||||||
</q-card-section>
|
|
||||||
<q-separator />
|
|
||||||
|
|
||||||
<q-card-section>
|
|
||||||
<div class="col-12 text-h7 text-center">
|
|
||||||
<span v-if="checkifShow('descr')">
|
|
||||||
<CSaldo
|
|
||||||
v-if="tools.isUserOk() && circuit.account"
|
|
||||||
:account="circuit.account"
|
|
||||||
:symbol="circuit.symbol"
|
|
||||||
:color="circuit.color"
|
|
||||||
:saldo="circuit.account.saldo"
|
|
||||||
:qtarem="
|
|
||||||
circuit.account
|
|
||||||
? circuitStore.getRemainingCoinsToSend(
|
|
||||||
circuit.account
|
|
||||||
)
|
|
||||||
: 0
|
|
||||||
"
|
|
||||||
>
|
|
||||||
</CSaldo>
|
|
||||||
</span>
|
|
||||||
<div class="">
|
|
||||||
<q-btn
|
|
||||||
icon="fas fa-coins"
|
|
||||||
color="green"
|
|
||||||
size="md"
|
|
||||||
rounded
|
|
||||||
:label="$t('circuit.sendcoins_tocom')"
|
|
||||||
@click="showsendCoinTo = true"
|
|
||||||
>
|
|
||||||
</q-btn>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</q-card-section>
|
|
||||||
</q-card>
|
|
||||||
</q-tab-panel>
|
</q-tab-panel>
|
||||||
|
|
||||||
<q-tab-panel name="page">
|
<q-tab-panel name="page">
|
||||||
@@ -1020,7 +1025,50 @@
|
|||||||
</q-tab-panel>
|
</q-tab-panel>
|
||||||
</q-tab-panels>
|
</q-tab-panels>
|
||||||
</q-tab-panel>
|
</q-tab-panel>
|
||||||
<q-tab-panel name="mov"> </q-tab-panel>
|
<q-tab-panel name="comunitario">
|
||||||
|
<q-card v-if="circuit.name">
|
||||||
|
<q-card-section>
|
||||||
|
<div class="text-h6">{{ t('circuit.contocomunitario') }}:</div>
|
||||||
|
<div class="text-h7 q-mb-sm">
|
||||||
|
{{ $t('circuit.info_contocom') }}
|
||||||
|
</div>
|
||||||
|
</q-card-section>
|
||||||
|
<q-separator />
|
||||||
|
|
||||||
|
<q-card-section>
|
||||||
|
<div class="col-12 text-h7 text-center">
|
||||||
|
<span v-if="checkifShow('descr')">
|
||||||
|
<CSaldo
|
||||||
|
v-if="tools.isUserOk() && circuit.account"
|
||||||
|
:account="circuit.account"
|
||||||
|
:symbol="circuit.symbol"
|
||||||
|
:color="circuit.color"
|
||||||
|
:saldo="circuit.account.saldo"
|
||||||
|
:qtarem="
|
||||||
|
circuit.account
|
||||||
|
? circuitStore.getRemainingCoinsToSend(
|
||||||
|
circuit.account
|
||||||
|
)
|
||||||
|
: 0
|
||||||
|
"
|
||||||
|
>
|
||||||
|
</CSaldo>
|
||||||
|
</span>
|
||||||
|
<div class="">
|
||||||
|
<q-btn
|
||||||
|
icon="fas fa-coins"
|
||||||
|
color="green"
|
||||||
|
size="md"
|
||||||
|
rounded
|
||||||
|
:label="$t('circuit.sendcoins_tocom')"
|
||||||
|
@click="showsendCoinTo = true"
|
||||||
|
>
|
||||||
|
</q-btn>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</q-card-section>
|
||||||
|
</q-card>
|
||||||
|
</q-tab-panel>
|
||||||
</q-tab-panels>
|
</q-tab-panels>
|
||||||
<div>
|
<div>
|
||||||
<CGridTableRec
|
<CGridTableRec
|
||||||
|
|||||||
@@ -18,21 +18,22 @@
|
|||||||
<CGridTableRec
|
<CGridTableRec
|
||||||
prop_mytable="users"
|
prop_mytable="users"
|
||||||
prop_mytitle=""
|
prop_mytitle=""
|
||||||
|
subtitle="Seleziona una Regione o provincia per vedere la lista degli iscritti:"
|
||||||
:prop_mycolumns="colmyUserPeople"
|
:prop_mycolumns="colmyUserPeople"
|
||||||
prop_colkey="_id"
|
prop_colkey="_id"
|
||||||
col_title="username"
|
col_title="username"
|
||||||
:vertical="costanti.VISUTABLE_LISTA"
|
:vertical="costanti.VISUTABLE_LISTA"
|
||||||
nodataLabel="Nessuna persona trovata con questo nome, cognome o username"
|
nodataLabel=" "
|
||||||
:prop_search="true"
|
:prop_search="true"
|
||||||
:prop_showfilter="true"
|
:prop_showfilter="true"
|
||||||
hint="Scegli una Regione o Provincia oppure digita il nome o Username"
|
hint="Scegli una Regione, Provincia oppure scrivi il nome o Username"
|
||||||
:finder="true"
|
:finder="true"
|
||||||
:choose_visutype="true"
|
:choose_visutype="false"
|
||||||
:finder_noNull="false"
|
:finder_noNull="false"
|
||||||
:finder_noNullFilters="true"
|
:finder_noNullFilters="true"
|
||||||
:options="shared_consts.OPTIONS_SEARCH_USER_ALL_WORDS"
|
:options="shared_consts.OPTIONS_SEARCH_USER_ALL_WORDS"
|
||||||
:butt_modif_new="false"
|
:butt_modif_new="false"
|
||||||
noresultLabel="Username o nome non trovato"
|
noresultLabel="Username, Nome o Cognome non trovato"
|
||||||
:arrfilters="arrfilterand"
|
:arrfilters="arrfilterand"
|
||||||
:filtercustom="filtercustom"
|
:filtercustom="filtercustom"
|
||||||
:prop_searchList="searchList"
|
:prop_searchList="searchList"
|
||||||
|
|||||||
@@ -85,7 +85,7 @@ export default defineComponent({
|
|||||||
// Carica il profilo di quest'utente
|
// Carica il profilo di quest'utente
|
||||||
if (groupname.value) {
|
if (groupname.value) {
|
||||||
await userStore.loadGroup(groupname.value, idnotif.value).then(({ data, status }: { data: any, status: number }) => {
|
await userStore.loadGroup(groupname.value, idnotif.value).then(({ data, status }: { data: any, status: number }) => {
|
||||||
console.log('data', data)
|
// console.log('data', data)
|
||||||
circuitslist.value = []
|
circuitslist.value = []
|
||||||
if (data) {
|
if (data) {
|
||||||
mygrp.value = data.mygroup
|
mygrp.value = data.mygroup
|
||||||
|
|||||||
@@ -13,9 +13,6 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div v-else>
|
<div v-else>
|
||||||
<div v-if="!tools.isLogged()">
|
|
||||||
<CCheckIfIsLogged></CCheckIfIsLogged>
|
|
||||||
</div>
|
|
||||||
<div>
|
<div>
|
||||||
<div
|
<div
|
||||||
v-if="mygrp.descr"
|
v-if="mygrp.descr"
|
||||||
@@ -541,7 +538,7 @@
|
|||||||
sortBy: 'transactionDate',
|
sortBy: 'transactionDate',
|
||||||
descending: true,
|
descending: true,
|
||||||
page: 1,
|
page: 1,
|
||||||
rowsNumber: 20,
|
rowsNumber: 0,
|
||||||
rowsPerPage: 20,
|
rowsPerPage: 20,
|
||||||
}"
|
}"
|
||||||
:showType="costanti.SHOW_MOVEMENTS"
|
:showType="costanti.SHOW_MOVEMENTS"
|
||||||
@@ -667,6 +664,9 @@
|
|||||||
</q-card>
|
</q-card>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div v-if="!tools.isLogged()">
|
||||||
|
<CCheckIfIsLogged></CCheckIfIsLogged>
|
||||||
|
</div>
|
||||||
<q-dialog v-model="showPic" full-height full-width>
|
<q-dialog v-model="showPic" full-height full-width>
|
||||||
<img :src="getImgGrp()" :alt="groupname" class="full-width" />
|
<img :src="getImgGrp()" :alt="groupname" class="full-width" />
|
||||||
</q-dialog>
|
</q-dialog>
|
||||||
|
|||||||
@@ -3,16 +3,17 @@
|
|||||||
imgbackground="images/calendario_eventi.jpg"
|
imgbackground="images/calendario_eventi.jpg"
|
||||||
sizes="max-height: 120px" styleadd="bottom: -20px !important;">
|
sizes="max-height: 120px" styleadd="bottom: -20px !important;">
|
||||||
|
|
||||||
<div v-if="!tools.isLogged()">
|
|
||||||
<CCheckIfIsLogged></CCheckIfIsLogged>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<CMyCardService
|
<CMyCardService
|
||||||
:table="toolsext.TABMYBACHECAS"
|
:table="toolsext.TABMYBACHECAS"
|
||||||
:nopopup="true"
|
:nopopup="true"
|
||||||
:idRec="idBacheca"
|
:idRec="idBacheca"
|
||||||
>
|
>
|
||||||
</CMyCardService>
|
</CMyCardService>
|
||||||
|
|
||||||
|
<div v-if="!tools.isLogged()">
|
||||||
|
<CCheckIfIsLogged></CCheckIfIsLogged>
|
||||||
|
</div>
|
||||||
|
|
||||||
<!-- <CMyCardPopup
|
<!-- <CMyCardPopup
|
||||||
v-if="!!idBacheca"
|
v-if="!!idBacheca"
|
||||||
:table="toolsext.TABMYBACHECAS"
|
:table="toolsext.TABMYBACHECAS"
|
||||||
|
|||||||
@@ -5,10 +5,6 @@
|
|||||||
sizes="max-height: 120px"
|
sizes="max-height: 120px"
|
||||||
styleadd="bottom: -20px !important;"
|
styleadd="bottom: -20px !important;"
|
||||||
>
|
>
|
||||||
<div v-if="!tools.isLogged()">
|
|
||||||
<CCheckIfIsLogged></CCheckIfIsLogged>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<CMyCardService
|
<CMyCardService
|
||||||
v-if="idGood"
|
v-if="idGood"
|
||||||
:table="toolsext.TABMYGOODS"
|
:table="toolsext.TABMYGOODS"
|
||||||
@@ -17,6 +13,10 @@
|
|||||||
>
|
>
|
||||||
</CMyCardService>
|
</CMyCardService>
|
||||||
|
|
||||||
|
<div v-if="!tools.isLogged()">
|
||||||
|
<CCheckIfIsLogged></CCheckIfIsLogged>
|
||||||
|
</div>
|
||||||
|
|
||||||
<br />
|
<br />
|
||||||
<br />
|
<br />
|
||||||
</CMyPage>
|
</CMyPage>
|
||||||
|
|||||||
@@ -3,10 +3,6 @@
|
|||||||
imgbackground="images/calendario_eventi.jpg"
|
imgbackground="images/calendario_eventi.jpg"
|
||||||
sizes="max-height: 120px" styleadd="bottom: -20px !important;">
|
sizes="max-height: 120px" styleadd="bottom: -20px !important;">
|
||||||
|
|
||||||
<div v-if="!tools.isLogged()">
|
|
||||||
<CCheckIfIsLogged></CCheckIfIsLogged>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<CMyCardService
|
<CMyCardService
|
||||||
v-if="!!idHosp"
|
v-if="!!idHosp"
|
||||||
:table="toolsext.TABMYHOSPS"
|
:table="toolsext.TABMYHOSPS"
|
||||||
@@ -18,6 +14,10 @@
|
|||||||
<br>
|
<br>
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
|
<div v-if="!tools.isLogged()">
|
||||||
|
<CCheckIfIsLogged></CCheckIfIsLogged>
|
||||||
|
</div>
|
||||||
|
|
||||||
</CMyPage>
|
</CMyPage>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|||||||
@@ -1,18 +1,21 @@
|
|||||||
<template>
|
<template>
|
||||||
<CMyPage
|
<CMyPage
|
||||||
:title="username" imgbackground="images/calendario_eventi.jpg"
|
:title="username"
|
||||||
sizes="max-height: 120px" styleadd="bottom: -20px !important;">
|
imgbackground="images/calendario_eventi.jpg"
|
||||||
|
sizes="max-height: 120px"
|
||||||
|
styleadd="bottom: -20px !important;"
|
||||||
|
>
|
||||||
|
<CMyCardService
|
||||||
|
v-if="idSkill"
|
||||||
|
:table="toolsext.TABMYSKILLS"
|
||||||
|
:nopopup="true"
|
||||||
|
:idRec="idSkill"
|
||||||
|
>
|
||||||
|
</CMyCardService>
|
||||||
|
|
||||||
<div v-if="!tools.isLogged()">
|
<div v-if="!tools.isLogged()">
|
||||||
<CCheckIfIsLogged></CCheckIfIsLogged>
|
<CCheckIfIsLogged></CCheckIfIsLogged>
|
||||||
</div>
|
</div>
|
||||||
<div v-else>
|
|
||||||
<CMyCardService v-if="idSkill"
|
|
||||||
:table="toolsext.TABMYSKILLS"
|
|
||||||
:nopopup="true"
|
|
||||||
:idRec="idSkill">
|
|
||||||
</CMyCardService>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
<div class="q-ma-sm q-gutter-sm q-pa-xs">
|
<div class="q-ma-sm q-gutter-sm q-pa-xs">
|
||||||
@@ -38,11 +41,8 @@
|
|||||||
</div>
|
</div>
|
||||||
-->
|
-->
|
||||||
|
|
||||||
|
<br />
|
||||||
|
<br />
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
|
|
||||||
</CMyPage>
|
</CMyPage>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user