Lista Navi
This commit is contained in:
@@ -41,7 +41,7 @@ export default class CMyDashboard extends MixinUsers {
|
||||
downline: [],
|
||||
downnotreg: [],
|
||||
downbyuser: [],
|
||||
arrnavi: []
|
||||
arrposizioni: []
|
||||
}
|
||||
|
||||
@Prop({ required: true }) public username
|
||||
@@ -104,7 +104,7 @@ export default class CMyDashboard extends MixinUsers {
|
||||
}
|
||||
|
||||
public HasNave() {
|
||||
return this.dashboard.arrnavi.length > 0
|
||||
return this.dashboard.arrposizioni.length > 0
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -25,8 +25,8 @@
|
||||
</CRequisiti>
|
||||
</div>
|
||||
|
||||
<CMyNave v-for="(mianave, index) in dashboard.arrnavi" :naveprop="mianave" :key="index"
|
||||
:navi_partenzaprop="dashboard.navi_partenza">
|
||||
<CMyNave v-for="(mianave, index) in dashboard.arrposizioni" :posizprop="mianave" :key="index"
|
||||
:navi_partenzaprop="dashboard.navi_partenza" :listanavi="false">
|
||||
|
||||
</CMyNave>
|
||||
</CTitleBanner>
|
||||
|
||||
@@ -6,6 +6,15 @@
|
||||
border-radius: 16px;
|
||||
}
|
||||
|
||||
|
||||
.tutor{
|
||||
|
||||
}
|
||||
|
||||
.selezione:hover {
|
||||
background-color: yellow;
|
||||
}
|
||||
|
||||
.donatore {
|
||||
background-color: red;
|
||||
}
|
||||
@@ -130,5 +139,6 @@
|
||||
}
|
||||
|
||||
.title-nave {
|
||||
font-size: 1.25rem;
|
||||
color: blue;
|
||||
}
|
||||
|
||||
@@ -6,31 +6,34 @@ import { toolsext } from '@src/store/Modules/toolsext'
|
||||
import MixinBase from '@src/mixins/mixin-base'
|
||||
import MixinNave from '../../mixins/mixin-nave'
|
||||
import { CTitleBanner } from '../CTitleBanner'
|
||||
import { UserStore } from '../../store/Modules'
|
||||
import { GlobalStore, UserStore } from '../../store/Modules'
|
||||
import { lists } from '../../store/Modules/lists'
|
||||
import translate from '../../globalroutines/util'
|
||||
import { CMyChipList } from '../CMyChipList'
|
||||
import { CVideo } from '../CVideo'
|
||||
|
||||
@Component({
|
||||
components: { CTitleBanner, CMyChipList, CVideo },
|
||||
components: { CTitleBanner, CMyChipList, CVideo }
|
||||
})
|
||||
|
||||
export default class CMyNave extends MixinNave {
|
||||
@Prop({ required: true }) public naveprop
|
||||
@Prop({ required: false, default: null }) public naveprop
|
||||
@Prop({ required: false, default: null }) public posizprop
|
||||
@Prop({ required: true }) public navi_partenzaprop: any[]
|
||||
@Prop({ required: true }) public listanavi: boolean
|
||||
public navi_partenza: any[]
|
||||
public $t
|
||||
public link_chat: string = ''
|
||||
public cosa: string = 'tragitto'
|
||||
public cosa2: string = 'donatore'
|
||||
public nave: any = null
|
||||
public posiz: any = null
|
||||
public numpercorso = 7
|
||||
public riga: number = 1
|
||||
public col: number = 1
|
||||
public rigadoni: number = 1
|
||||
public coldoni: number = 1
|
||||
public mediatore: any = {}
|
||||
public mediatore: any = null
|
||||
public donatore: any = {}
|
||||
public donatore_navepers: any = {}
|
||||
public mediatore_navepers: any = {}
|
||||
@@ -39,6 +42,10 @@ export default class CMyNave extends MixinNave {
|
||||
public donoinviato: boolean = false
|
||||
public arrdonatori: any[] = []
|
||||
public recsel = null
|
||||
public loading: boolean = false
|
||||
public showmsguser: boolean = false
|
||||
public seluser = null
|
||||
public msg_tosend_user: string = ''
|
||||
public MyPagination: {
|
||||
sortBy: string,
|
||||
descending: boolean,
|
||||
@@ -55,9 +62,11 @@ export default class CMyNave extends MixinNave {
|
||||
field: 'index',
|
||||
sortable: true
|
||||
},*/
|
||||
{ name: 'name', align: 'center', label: 'Nome', field: 'name', sortable: true },
|
||||
{ name: 'surname', align: 'center', label: 'Cognome', field: 'surname', sortable: true },
|
||||
{ name: 'name', align: 'center', label: translate('reg.name'), field: 'name', sortable: true },
|
||||
{ name: 'surname', align: 'center', label: translate('reg.surname'), field: 'surname', sortable: true },
|
||||
{ name: 'posizione', align: 'center', label: 'Posizione', field: 'riga', sortable: true },
|
||||
{ name: 'date_made_gift', align: 'center', label: 'Inviato', field: 'date_made_gift', sortable: true },
|
||||
{ name: 'tel', align: 'center', label: 'Tel', field: 'tel', sortable: true },
|
||||
{ name: 'made_gift', align: 'center', label: 'Confermato', field: 'made_gift', sortable: true },
|
||||
]
|
||||
|
||||
@@ -107,34 +116,47 @@ export default class CMyNave extends MixinNave {
|
||||
]
|
||||
|
||||
public mounted() {
|
||||
this.nave = this.naveprop
|
||||
this.posiz = this.posizprop
|
||||
this.navi_partenza = this.navi_partenzaprop
|
||||
this.nave = this.naveprop
|
||||
if (!this.listanavi) {
|
||||
this.apri()
|
||||
}
|
||||
this.aggiorna()
|
||||
}
|
||||
|
||||
public aggiorna() {
|
||||
|
||||
this.riga = tools.getValDb('riga', false, 1)
|
||||
this.col = tools.getValDb('col', false, 1)
|
||||
this.rigadoni = tools.getValDb('rigadoni', false, 1)
|
||||
this.coldoni = tools.getValDb('coldoni', false, 1)
|
||||
|
||||
this.mediatore = this.getmediatore()
|
||||
this.donatore = this.getdonatore()
|
||||
if (!!this.nave.rec.donatore)
|
||||
this.donatore_navepers = this.nave.rec.donatore.navepersistente
|
||||
if (!!this.nave.rec.mediatore)
|
||||
this.mediatore_navepers = this.nave.rec.mediatore.navepersistente
|
||||
if (!!this.nave) {
|
||||
if (!!this.nave.rec) {
|
||||
if (!!this.nave.rec.donatore)
|
||||
this.donatore_navepers = this.nave.rec.donatore.navepersistente
|
||||
if (!!this.nave.rec.mediatore) {
|
||||
this.mediatore = this.getmediatore()
|
||||
this.donatore = this.getdonatore()
|
||||
if (!!this.nave.rec.mediatore)
|
||||
this.mediatore_navepers = this.nave.rec.mediatore.navepersistente
|
||||
|
||||
this.iodonatore = this.getIoDonatore()
|
||||
this.iosognatore = this.getIoSognatore()
|
||||
this.donoinviato = this.getDonoInviato
|
||||
this.iodonatore = this.getIoDonatore()
|
||||
this.iosognatore = this.getIoSognatore()
|
||||
this.donoinviato = this.getDonoInviato
|
||||
|
||||
// console.log('this.mediatore', this.mediatore)
|
||||
// console.log('this.donatore', this.donatore)
|
||||
|
||||
// console.log('this.mediatore', this.mediatore)
|
||||
// console.log('this.donatore', this.donatore)
|
||||
if (!!this.mediatore_navepers) {
|
||||
this.link_chat = this.mediatore_navepers.link_chat
|
||||
}
|
||||
|
||||
if (!!this.mediatore_navepers) {
|
||||
this.link_chat = this.mediatore_navepers.link_chat
|
||||
this.arrdonatori = this.creaarrDonatori()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
this.arrdonatori = this.creaarrDonatori()
|
||||
}
|
||||
|
||||
public getListaDonatoriDaConfermare() {
|
||||
@@ -166,24 +188,38 @@ export default class CMyNave extends MixinNave {
|
||||
return arr
|
||||
}
|
||||
|
||||
public getNavePartByInd(ind) {
|
||||
public getRiganave() {
|
||||
if (this.listanavi) {
|
||||
return this.nave.riga
|
||||
} else {
|
||||
if (!!this.posiz) {
|
||||
let ris = this.posiz.riga - 3
|
||||
if (ris <= 1)
|
||||
ris = 1
|
||||
|
||||
this.getrigaNaveByInd(ind)
|
||||
return ris
|
||||
}
|
||||
|
||||
if (!!this.navi_partenza[ind])
|
||||
return tools.getstrshortDate(this.navi_partenza[ind].date_start)
|
||||
else
|
||||
return ' --/--/-- '
|
||||
return 1
|
||||
}
|
||||
}
|
||||
|
||||
public getRiganave(riga) {
|
||||
let ris = riga - 3
|
||||
if (ris <= 1)
|
||||
ris = 1
|
||||
return ris
|
||||
public getColnave() {
|
||||
if (this.listanavi) {
|
||||
return this.nave.col
|
||||
} else {
|
||||
if (!this.posiz) {
|
||||
return 1
|
||||
} else {
|
||||
let ris = Math.ceil(this.posiz.col / (2 * 4))
|
||||
if (ris <= 1)
|
||||
ris = 1
|
||||
return ris
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public getColnave(col) {
|
||||
public getColnaveriduci(col) {
|
||||
let ris = Math.ceil(col / (2 * 4))
|
||||
if (ris <= 1)
|
||||
ris = 1
|
||||
@@ -193,10 +229,10 @@ export default class CMyNave extends MixinNave {
|
||||
public sonoMediatore() {
|
||||
if (!!this.nave) {
|
||||
if (!!this.nave.rec.donatore)
|
||||
return this.nave.rec.donatore.recmediatore.ind_order === this.nave.ind_order
|
||||
return this.nave.rec.donatore.recmediatore.ind_order === this.myindorder
|
||||
else {
|
||||
if (!!this.nave.rec.mediatore)
|
||||
return this.nave.rec.mediatore.recmediatore.ind_order === this.nave.ind_order
|
||||
return this.nave.rec.mediatore.recmediatore.ind_order === this.myindorder
|
||||
}
|
||||
}
|
||||
|
||||
@@ -235,10 +271,12 @@ export default class CMyNave extends MixinNave {
|
||||
public getIoDonatore() {
|
||||
if (!!this.nave) {
|
||||
if (!!this.nave.rec.donatore) {
|
||||
for (const rec of this.nave.rec.donatore.arrdonatori) {
|
||||
if (!!rec) {
|
||||
if (rec.ind_order === this.nave.ind_order)
|
||||
return rec
|
||||
if (this.nave.rec.donatore.arrdonatori) {
|
||||
for (const rec of this.nave.rec.donatore.arrdonatori) {
|
||||
if (!!rec) {
|
||||
if (rec.ind_order === this.myindorder)
|
||||
return rec
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -246,10 +284,17 @@ export default class CMyNave extends MixinNave {
|
||||
return null
|
||||
}
|
||||
|
||||
get myindorder() {
|
||||
if (this.listanavi)
|
||||
return this.nave.ind_order
|
||||
else
|
||||
return this.posiz.ind_order
|
||||
}
|
||||
|
||||
public getIoSognatore() {
|
||||
const sognatore = this.sognatoredelDono()
|
||||
if (!!sognatore) {
|
||||
return sognatore.ind_order === this.nave.ind_order
|
||||
return sognatore.ind_order === this.myindorder
|
||||
}
|
||||
return null
|
||||
}
|
||||
@@ -270,8 +315,7 @@ export default class CMyNave extends MixinNave {
|
||||
})
|
||||
|
||||
const mymsg = this.$t('dashboard.confermi_dono_ricevuto_msg', {
|
||||
sognatore: this.sognatoredelDono().name + ' ' + this.sognatoredelDono().surname,
|
||||
donatore: rec.name + ' ' + rec.surname
|
||||
donatore: rec.name + ' ' + rec.surname + ' (' + this.$t('dashboard.posizione') + ' ' + rec.riga + '.' + rec.col + ')'
|
||||
})
|
||||
|
||||
tools.askConfirm(this.$q, msgtitle, msginvia + ' ' + '?', translate('dialog.yes'), translate('dialog.no'), this, '', lists.MenuAction.DONO_RICEVUTO, 0, {
|
||||
@@ -361,7 +405,7 @@ export default class CMyNave extends MixinNave {
|
||||
for (const rec of this.nave.rec.donatore.arrdonatori) {
|
||||
if (!!rec) {
|
||||
if (mediatore) {
|
||||
if ((mediatore.ind_order === rec.ind_order) && (rec.num_tess === 2))
|
||||
if ((mediatore.ind_order === rec.ind_order) && (rec.num_tess % 2) === 0)
|
||||
return true
|
||||
}
|
||||
}
|
||||
@@ -405,14 +449,14 @@ export default class CMyNave extends MixinNave {
|
||||
}
|
||||
|
||||
public getclassSelect(rec) {
|
||||
if (rec.ind_order === this.nave.ind_order)
|
||||
if (rec.ind_order === this.myindorder)
|
||||
return ' you'
|
||||
}
|
||||
|
||||
public gettitlenave(ind) {
|
||||
let ris = ''
|
||||
if (ind === 1)
|
||||
return this.getRiganave(this.nave.riga) + '.' + this.getColnave(this.nave.col)
|
||||
return this.getRiganave() + '.' + this.getColnave()
|
||||
else {
|
||||
ris = (this.getrigaNaveByInd(ind)) + '.' + this.getcolNaveByInd(ind)
|
||||
}
|
||||
@@ -448,6 +492,20 @@ export default class CMyNave extends MixinNave {
|
||||
// return this.getNavePartByInd(rec.ind)
|
||||
}
|
||||
|
||||
public getTutor(rec) {
|
||||
const mynavepart = this.getnavePartenzaByRigaCol(rec.riga, rec.col)
|
||||
if (!!mynavepart)
|
||||
return mynavepart.tutor_namesurname
|
||||
return ''
|
||||
}
|
||||
|
||||
public getTutor_username(rec) {
|
||||
const mynavepart = this.getnavePartenzaByRigaCol(rec.riga, rec.col)
|
||||
if (!!mynavepart)
|
||||
return mynavepart.tutor
|
||||
return ''
|
||||
}
|
||||
|
||||
public getnavePartenzaByRigaCol(riga, col) {
|
||||
for (const mynave of this.navi_partenza) {
|
||||
if (!!mynave) {
|
||||
@@ -460,12 +518,25 @@ export default class CMyNave extends MixinNave {
|
||||
}
|
||||
|
||||
public getrigaNaveByInd(ind) {
|
||||
return this.getRiganave(this.nave.riga + ind - 1)
|
||||
if (this.listanavi) {
|
||||
return this.nave.riga + ind - 1
|
||||
} else {
|
||||
let ris = this.posiz.riga + ind - 1 - 3
|
||||
if (ris <= 1)
|
||||
ris = 1
|
||||
return ris
|
||||
}
|
||||
}
|
||||
|
||||
public getcolNaveByInd(ind) {
|
||||
const miacol = this.nave.col * Math.pow(2, ind - 1)
|
||||
return this.getColnave(miacol)
|
||||
if (this.listanavi) {
|
||||
return this.nave.col * Math.pow(2, ind - 1)
|
||||
} else {
|
||||
let ris = Math.ceil(this.posiz.col * Math.pow(2, ind - 1) / (2 * 4))
|
||||
if (ris <= 1)
|
||||
ris = 1
|
||||
return ris
|
||||
}
|
||||
}
|
||||
|
||||
public NaveeseguitabyInd(riga) {
|
||||
@@ -541,8 +612,14 @@ export default class CMyNave extends MixinNave {
|
||||
tipomsg: tools.TipoMsg.SEND_LINK_CHAT_DONATORI,
|
||||
msgpar1: this.link_chat,
|
||||
inviareale,
|
||||
username_mitt: ''
|
||||
}
|
||||
|
||||
if (!!this.nave.username)
|
||||
msgobj.username_mitt = this.nave.username
|
||||
else
|
||||
msgobj.username_mitt = UserStore.state.my.username
|
||||
|
||||
this.InviaMsgADonatori(msgobj)
|
||||
}
|
||||
|
||||
@@ -591,7 +668,7 @@ export default class CMyNave extends MixinNave {
|
||||
if (istemp) {
|
||||
return ' ' + this.$t('dashboard.temporanea') + ' '
|
||||
}
|
||||
return ''
|
||||
return ''
|
||||
}
|
||||
|
||||
public isDefinitivaMediatore() {
|
||||
@@ -601,14 +678,18 @@ export default class CMyNave extends MixinNave {
|
||||
}
|
||||
|
||||
public getindex(recdonatore, index) {
|
||||
if (recdonatore.ind_order === this.nave.rec.donatore.recmediatore.ind_order && (recdonatore.num_tess === 2))
|
||||
if (recdonatore.ind_order === this.nave.rec.donatore.recmediatore.ind_order && (recdonatore.num_tess % 2) === 0)
|
||||
return this.$t('dashboard.ritessitura')
|
||||
|
||||
return 'D' + (index)
|
||||
}
|
||||
|
||||
public getposizione() {
|
||||
return this.$t('dashboard.posizione') + ' ' + this.getisProvvisoriaStr() + this.nave.riga + '.' + this.nave.col
|
||||
let pos = ''
|
||||
if (!this.listanavi) {
|
||||
pos = this.$t('dashboard.posizione') + ' ' + this.getisProvvisoriaStr() + this.posiz.riga + '.' + this.posiz.col
|
||||
}
|
||||
return pos
|
||||
}
|
||||
|
||||
public getDoniAttesaDiConferma() {
|
||||
@@ -623,4 +704,137 @@ export default class CMyNave extends MixinNave {
|
||||
return this.arrdonatori.filter((rec) => (!rec.made_gift && !rec.date_made_gift)).reduce((sum, item) => sum + 1, 0)
|
||||
}
|
||||
|
||||
public async apri() {
|
||||
let riga = 0
|
||||
let col = 0
|
||||
let riga1don = 1
|
||||
let col1don = 1
|
||||
let ind_order = -1;
|
||||
if (this.listanavi) {
|
||||
riga = this.nave.riga
|
||||
col = this.nave.col
|
||||
riga1don = riga + 3
|
||||
col1don = col * Math.pow(2, 3)
|
||||
if (!!this.sognatoredelDono())
|
||||
ind_order = this.sognatoredelDono().ind_order
|
||||
} else {
|
||||
riga1don = this.posiz.riga
|
||||
col1don = this.posiz.col
|
||||
ind_order = this.posiz.ind_order
|
||||
riga = this.posiz.riga - 3
|
||||
col = this.getColnaveriduci(this.posiz.col)
|
||||
if (riga < 1)
|
||||
riga = 1
|
||||
if (col < 1)
|
||||
col = 1
|
||||
}
|
||||
|
||||
this.loading = true
|
||||
const ris = await GlobalStore.actions.GetNave({ riga, col, riga1don, col1don, ind_order })
|
||||
this.navi_partenza = ris.navi_partenza
|
||||
this.nave = ris.nave
|
||||
// console.log('apri', ris)
|
||||
|
||||
this.aggiorna()
|
||||
this.loading = false
|
||||
}
|
||||
|
||||
public getstrinpartenza() {
|
||||
if (this.GiornoDelDonoArrivato) {
|
||||
return this.$t('dashboard.nave_partita')
|
||||
}
|
||||
return this.$t('dashboard.nave_in_partenza')
|
||||
}
|
||||
|
||||
public getpartenza() {
|
||||
let myrec = null
|
||||
if (this.listanavi)
|
||||
myrec = this.nave.rec
|
||||
else {
|
||||
if (!!this.posiz)
|
||||
myrec = this.posiz.rec
|
||||
}
|
||||
|
||||
if (!!myrec)
|
||||
return tools.getstrDate(myrec.donatore.navepersistente.date_start)
|
||||
|
||||
return ''
|
||||
}
|
||||
|
||||
public titolonave() {
|
||||
|
||||
if (this.listanavi && !this.nave) {
|
||||
return ''
|
||||
}
|
||||
|
||||
let str = this.$t('pages.nave') + ` ` + this.getisProvvisoriaStr() + this.getRiganave() + `.` + this.getColnave() + ` ` + this.getstrinpartenza() + ` ` + this.getpartenza()
|
||||
if (!!this.nave) {
|
||||
if (this.GiornoDelDonoArrivato && !!this.nave.DoniConfermati) {
|
||||
str += ' (' + this.$t('dashboard.doni_ricevuti') + ' = ' + this.nave.DoniConfermati + ')'
|
||||
}
|
||||
if (this.GiornoDelDonoArrivato && this.nave.DoniMancanti > 0) {
|
||||
str += ' (' + this.$t('dashboard.doni_mancanti') + ' = ' + this.nave.DoniMancanti + ')'
|
||||
}
|
||||
}
|
||||
|
||||
return str
|
||||
}
|
||||
|
||||
public getcolortitle() {
|
||||
if (this.listanavi && !this.nave) {
|
||||
return 'bg-primary'
|
||||
}
|
||||
if (this.listanavi) {
|
||||
if (!!this.nave.DoniConfermati && this.nave.DoniMancanti > 0)
|
||||
return 'bg-negative'
|
||||
if (!!this.nave.DoniConfermati && this.nave.DoniConfermati > 0)
|
||||
return 'bg-positive'
|
||||
}
|
||||
|
||||
return 'bg-primary'
|
||||
}
|
||||
|
||||
public clickseluser(rec) {
|
||||
this.seluser = rec
|
||||
this.showmsguser = true
|
||||
}
|
||||
|
||||
public async InviaMsgAUserConfirm(msgobj, navemediatore) {
|
||||
|
||||
const msgtitle = translate('dialog.sendmsg')
|
||||
|
||||
tools.askConfirm(this.$q, msgtitle, msgobj.msgpar1 + ' ' + '?', translate('dialog.yes'), translate('dialog.no'), this, '', lists.MenuAction.INVIA_MSG_A_SINGOLO, 0, {
|
||||
param1: msgobj,
|
||||
param2: navemediatore,
|
||||
})
|
||||
|
||||
}
|
||||
|
||||
public Chiudi() {
|
||||
this.showmsguser = false
|
||||
}
|
||||
|
||||
public InviaMsgAUser() {
|
||||
|
||||
if (!this.msg_tosend_user)
|
||||
return
|
||||
|
||||
const msgobj = {
|
||||
tipomsg: tools.TipoMsg.SEND_MSG_SINGOLO,
|
||||
msgpar1: this.msg_tosend_user,
|
||||
username: this.seluser.username,
|
||||
inviareale: true,
|
||||
username_mitt: '',
|
||||
}
|
||||
|
||||
if (!!this.nave.username)
|
||||
msgobj.username_mitt = this.nave.username
|
||||
else
|
||||
msgobj.username_mitt = UserStore.state.my.username
|
||||
|
||||
const naveuser = this.seluser
|
||||
|
||||
this.InviaMsgAUserConfirm(msgobj, naveuser)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,186 +1,99 @@
|
||||
<template>
|
||||
<div>
|
||||
<CTitleBanner v-if="nave" class="q-pa-xs"
|
||||
:title="$t('pages.nave') + ` ` + getisProvvisoriaStr() + getRiganave(nave.riga) + `.`+getColnave(nave.col) + ` ` + $t('dashboard.nave_in_partenza') + ` ` + tools.getstrDate(nave.rec.donatore.navepersistente.date_start)"
|
||||
bgcolor="bg-primary"
|
||||
<CTitleBanner v-if="true" class=""
|
||||
:title="titolonave()"
|
||||
:bgcolor="getcolortitle()"
|
||||
clcolor="text-white"
|
||||
mystyle="" myclass="myshad" canopen="true">
|
||||
mystyle="" myclass="myshad" canopen="true" :visible="!listanavi" @apri="apri">
|
||||
|
||||
<q-inner-loading :showing="loading">
|
||||
<q-spinner-tail size="2em" color="primary"/>
|
||||
</q-inner-loading>
|
||||
|
||||
<div v-if="nave" class="flex flex-center column justify-center">
|
||||
<div v-if="mediatore" class="flex flex-center column justify-center">
|
||||
<div class="">
|
||||
<!--IndPrimario: {{ nave.indprimario }} - IndOrder: {{ nave.ind_order }} -->
|
||||
</div>
|
||||
|
||||
<q-tabs
|
||||
v-model="cosa"
|
||||
dense
|
||||
class="text-blue"
|
||||
active-color="primary"
|
||||
indicator-color="primary"
|
||||
align="justify"
|
||||
narrow-indicator
|
||||
>
|
||||
<q-tab name="tragitto" :label="$t('dashboard.tragitto')"></q-tab>
|
||||
<q-tab name="mediatore" :label="$t('dashboard.mediatore')"></q-tab>
|
||||
</q-tabs>
|
||||
<CTitleBanner v-if="nave" class=""
|
||||
:title="$t('dashboard.tragitto')"
|
||||
bgcolor="bg-primary"
|
||||
clcolor="text-white"
|
||||
mystyle="" myclass="myshad" canopen="true">
|
||||
<q-chip class="glossy q-ma-sm" color="orange" text-color="white" icon="star">
|
||||
{{getposizione()}}
|
||||
</q-chip>
|
||||
<div class="row justify-between no-wrap">
|
||||
<div class="cont_pos_intest">N</div>
|
||||
|
||||
<div class="cont_intestaz q-mx-sm passoint"
|
||||
v-html="$t('dashboard.nome_dei_passaggi')"></div>
|
||||
|
||||
<q-tab-panels v-model="cosa" animated>
|
||||
<q-tab-panel name="tragitto">
|
||||
<q-chip class="glossy q-ma-sm" color="orange" text-color="white" icon="star">
|
||||
{{getposizione()}}
|
||||
</q-chip>
|
||||
<div class="row justify-between no-wrap">
|
||||
<div class="cont_pos_intest">N</div>
|
||||
<div class="cont_intestaz titlenave">{{$t('dashboard.nave')}}</div>
|
||||
<div class="cont_intestaz datanave_int" v-html="$t('dashboard.data_partenza')"></div>
|
||||
<div class="cont_intestaz_small" v-html="$t('dashboard.doni_inviati')"></div>
|
||||
</div>
|
||||
|
||||
<div class="cont_intestaz q-mx-sm passoint" v-html="$t('dashboard.nome_dei_passaggi')"></div>
|
||||
|
||||
<div class="cont_intestaz titlenave">{{$t('dashboard.nave')}}</div>
|
||||
<div class="cont_intestaz datanave_int" v-html="$t('dashboard.data_partenza')"></div>
|
||||
<div class="cont_intestaz_small" v-html="$t('dashboard.doni_inviati')"></div>
|
||||
</div>
|
||||
|
||||
<div v-for="rec in tragitto" :key="rec.ind">
|
||||
<div :class="`row items-center ` + rec.extracl">
|
||||
<div :class="`cont_pos ` + getclpos(rec)">
|
||||
{{ rec.ind }}
|
||||
</div>
|
||||
<div v-if="rec.title_lang" class="passo">
|
||||
<div :class="rec.extracl">
|
||||
<q-chip class="glossy" :color="rec.color" text-color="white">
|
||||
{{ $t(rec.title_lang) }}
|
||||
</q-chip>
|
||||
</div>
|
||||
</div>
|
||||
<div class="titlenave">
|
||||
<div v-for="rec in tragitto" :key="rec.ind">
|
||||
<div :class="`row items-center ` + rec.extracl">
|
||||
<div :class="`cont_pos ` + getclpos(rec)">
|
||||
{{ rec.ind }}
|
||||
</div>
|
||||
<div v-if="rec.title_lang" class="passo">
|
||||
<div :class="rec.extracl">
|
||||
<q-chip class="glossy" :color="rec.color" text-color="white">
|
||||
<div class="" v-html="gettitlenave(rec.ind)"></div>
|
||||
{{ $t(rec.title_lang) }}
|
||||
</q-chip>
|
||||
</div>
|
||||
<div class="datanave">
|
||||
<q-chip class="glossy" :color="rec.color" text-color="white">
|
||||
{{ getdatanave(rec) }}
|
||||
</q-chip>
|
||||
</div>
|
||||
<q-icon color="green" inverted size="sm" :name="geticon(rec)" class="gift"></q-icon>
|
||||
</div>
|
||||
<div class="titlenave">
|
||||
<q-chip class="glossy" :color="rec.color" text-color="white">
|
||||
<div class="" v-html="gettitlenave(rec.ind)"></div>
|
||||
</q-chip>
|
||||
</div>
|
||||
<div class="datanave">
|
||||
<q-chip class="glossy" :color="rec.color" text-color="white">
|
||||
{{ getdatanave(rec) }}
|
||||
</q-chip>
|
||||
</div>
|
||||
<q-icon color="green" inverted size="sm" :name="geticon(rec)" class="gift"></q-icon>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</CTitleBanner>
|
||||
|
||||
<CTitleBanner v-if="nave" class=""
|
||||
:title="$t('dashboard.donatore')"
|
||||
bgcolor="bg-primary"
|
||||
clcolor="text-white"
|
||||
mystyle="" myclass="myshad" canopen="true">
|
||||
|
||||
<br />
|
||||
<div class="q-ma-sm">
|
||||
<div class="column justify-center items-center q-gutter-md tutor">
|
||||
<div class="title-nave clBorderSteps">{{gettitledonatore()}}</div>
|
||||
<div v-if="getTutor(donatore)" class="clBorderTutor q-ma-sm selezione cursor-pointer"
|
||||
@click="clickseluser({name: getTutor(donatore), surname: '', username: getTutor_username(donatore), profile: { cell: '' } })">
|
||||
{{ $t('dashboard.tutor') }}: {{getTutor(donatore)}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</q-tab-panel>
|
||||
<q-tab-panel name="mediatore">
|
||||
|
||||
<div class="title-nave">{{gettitlemediatore()}}</div>
|
||||
|
||||
<div class="row justify-center q-gutter-md">
|
||||
<div v-if="nave.rec.mediatore.recsognatori">
|
||||
<div class="sognatore">{{$t('dashboard.sognatori')}}:</div>
|
||||
<div v-for="(sognatore, index) in nave.rec.mediatore.recsognatori" :key="10+index">
|
||||
<div v-if="sognatore" :class="`cont_sognatore ` + getclassSelect(sognatore)">
|
||||
A{{3 - index}} - {{ sognatore.name }} {{ sognatore.surname }}
|
||||
({{sognatore.username }})
|
||||
</div>
|
||||
</div>
|
||||
<div class="">
|
||||
<div class="mediatore text-uppercase">{{$t('dashboard.mediatore')}}:</div>
|
||||
<div :class="`cont_mediatore ` + getclassSelect(nave.rec.mediatore.recmediatore)">
|
||||
{{ nave.rec.mediatore.recmediatore.name }} {{
|
||||
nave.rec.mediatore.recmediatore.surname }} ({{
|
||||
nave.rec.mediatore.recmediatore.username }})
|
||||
</div>
|
||||
</div>
|
||||
<div class="">
|
||||
<div class="intermedio3">{{$t('dashboard.intermedio')}}3:</div>
|
||||
<div v-for="(terra, index) in nave.rec.mediatore.arrterra" :key="index">
|
||||
<div v-if="terra" :class="`cont_donatore ` + getclassSelect(terra)">
|
||||
B{{index + 1}} - {{ terra.name }} {{ terra.surname }} ({{ terra.username }})
|
||||
- {{
|
||||
terra.riga}}.{{terra.col}}<br>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="">
|
||||
<div class="intermedio2">{{$t('dashboard.intermedio')}}2:</div>
|
||||
<div v-for="(aria, index) in nave.rec.mediatore.arraria" :key="index">
|
||||
<div v-if="aria" :class="`cont_donatore ` + getclassSelect(aria)">
|
||||
C{{index + 1}} - {{ aria.name }} {{ aria.surname }} ({{ aria.username }}) -
|
||||
{{
|
||||
aria.riga}}.{{aria.col}}<br>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="donatore text-uppercase">{{$t('dashboard.donatori')}}:</div>
|
||||
<div v-for="(donatore, index) in nave.rec.mediatore.arrdonatori" :key="index">
|
||||
<div v-if="donatore" :class="`cont_donatore row ` + getclassSelect(donatore)">
|
||||
{{ getindex(donatore, index + 1) }} - {{ donatore.name }} {{ donatore.surname }}
|
||||
({{
|
||||
donatore.username }}) - {{ donatore.riga}}.{{donatore.col}}
|
||||
<q-icon v-if="donatore.made_gift" color="green" inverted size="sm"
|
||||
name="fas fa-gift" class="gift"></q-icon>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div v-if="isDefinitivaMediatore()" class="q-my-md">
|
||||
<div class="text-left" v-html="gettesto()"></div>
|
||||
|
||||
<div>
|
||||
<q-input v-model="link_chat" :label="$t('dashboard.link_chat')"
|
||||
debounce="1000"
|
||||
input-class="myinput-area"
|
||||
@input="change_link_chat">
|
||||
|
||||
</q-input>
|
||||
|
||||
<div class="row justify-center centermydiv q-gutter-sm" style="max-width: 420px;">
|
||||
<q-btn rounded text-color="secondary" icon="fab fa-telegram"
|
||||
:label="$t('dashboard.controlla_donatori')"
|
||||
@click="InviaLinkChatADonatori(false)"></q-btn>
|
||||
|
||||
<q-btn rounded text-color="primary" icon="fab fa-telegram"
|
||||
:disable="!linkchatesiste"
|
||||
:label="$t('dashboard.invia_link_chat')"
|
||||
@click="InviaLinkChatADonatori(true)"></q-btn>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</q-tab-panel>
|
||||
</q-tab-panels>
|
||||
<q-tabs
|
||||
v-model="cosa2"
|
||||
dense
|
||||
class="text-blue"
|
||||
active-color="primary"
|
||||
indicator-color="primary"
|
||||
align="justify"
|
||||
narrow-indicator
|
||||
>
|
||||
|
||||
<q-tab name="donatore" :label="$t('dashboard.donatore')"></q-tab>
|
||||
<q-tab name="sognatore" :label="$t('dashboard.sognatore')"></q-tab>
|
||||
</q-tabs>
|
||||
<q-tab-panels v-model="cosa2" animated>
|
||||
<q-tab-panel name="donatore">
|
||||
|
||||
<div class="title-nave">{{gettitledonatore()}}</div>
|
||||
|
||||
<div class="">
|
||||
<div class="row justify-center q-gutter-md">
|
||||
<div v-if="nave.rec.donatore.recsognatori">
|
||||
<div class="sognatore">{{$t('dashboard.sognatori')}}:</div>
|
||||
<div v-for="(sognatore, index) in nave.rec.donatore.recsognatori" :key="10+index">
|
||||
<div v-if="sognatore" :class="`cont_sognatore ` + getclassSelect(sognatore)">
|
||||
<div v-for="(sognatore, index) in nave.rec.donatore.recsognatori"
|
||||
:key="10+index">
|
||||
<div v-if="sognatore"
|
||||
:class="`cont_sognatore ` + getclassSelect(sognatore)">
|
||||
A{{3 - index}} - {{ sognatore.name }} {{ sognatore.surname }}
|
||||
({{sognatore.username }})
|
||||
</div>
|
||||
</div>
|
||||
<div class="">
|
||||
<div class="mediatore text-uppercase">{{$t('dashboard.mediatore')}}:</div>
|
||||
<div :class="`cont_mediatore ` + getclassSelect(nave.rec.donatore.recmediatore)">
|
||||
<div :class="`cont_mediatore cursor-pointer selezione ` + getclassSelect(nave.rec.donatore.recmediatore)"
|
||||
@click="clickseluser(nave.rec.donatore.recmediatore)">
|
||||
{{ nave.rec.donatore.recmediatore.name }} {{
|
||||
nave.rec.donatore.recmediatore.surname }} ({{
|
||||
nave.rec.donatore.recmediatore.username }})
|
||||
@@ -190,7 +103,8 @@
|
||||
<div class="intermedio3">{{$t('dashboard.intermedio')}}3:</div>
|
||||
<div v-for="(terra, index) in nave.rec.donatore.arrterra" :key="index">
|
||||
<div v-if="terra" :class="`cont_donatore ` + getclassSelect(terra)">
|
||||
B{{index + 1}} - {{ terra.name }} {{ terra.surname }} ({{ terra.username
|
||||
B{{index + 1}} - {{ terra.name }} {{ terra.surname }} ({{
|
||||
terra.username
|
||||
}}) - {{
|
||||
terra.riga}}.{{terra.col}}<br>
|
||||
</div>
|
||||
@@ -200,7 +114,8 @@
|
||||
<div class="intermedio2">{{$t('dashboard.intermedio')}}2:</div>
|
||||
<div v-for="(aria, index) in nave.rec.donatore.arraria" :key="index">
|
||||
<div v-if="aria" :class="`cont_donatore ` + getclassSelect(aria)">
|
||||
C{{index + 1}} - {{ aria.name }} {{ aria.surname }} ({{ aria.username
|
||||
C{{index + 1}} - {{ aria.name }} {{ aria.surname }} ({{
|
||||
aria.username
|
||||
}}) - {{
|
||||
aria.riga}}.{{aria.col}}<br>
|
||||
</div>
|
||||
@@ -208,7 +123,8 @@
|
||||
</div>
|
||||
<div class="donatore text-uppercase">{{$t('dashboard.donatori')}}:</div>
|
||||
<div v-for="(donatore, index) in nave.rec.donatore.arrdonatori" :key="index">
|
||||
<div v-if="donatore" :class="`cont_donatore row ` + getclassSelect(donatore)">
|
||||
<div v-if="donatore"
|
||||
:class="`cont_donatore row ` + getclassSelect(donatore)">
|
||||
<div>
|
||||
{{ getindex(donatore, index + 1) }} - {{ donatore.name }} {{
|
||||
donatore.surname }} ({{
|
||||
@@ -248,7 +164,8 @@
|
||||
|
||||
<div v-if="!FattoDono" class="text-evidente bordo_stondato">
|
||||
|
||||
<div>{{$t('dashboard.quando_eff_il_tuo_dono')}}: <strong>{{ getGiornoDelDono() }}</strong><br>
|
||||
<div>{{$t('dashboard.quando_eff_il_tuo_dono')}}: <strong>{{ getGiornoDelDono()
|
||||
}}</strong><br>
|
||||
</div>
|
||||
<div>
|
||||
{{$t('dashboard.metodi_disponibili')}}:
|
||||
@@ -280,10 +197,13 @@
|
||||
|
||||
</div>
|
||||
<div class="text-evidente bordo_stondato_blu">
|
||||
|
||||
<div v-if="GiornoDelDonoArrivato">
|
||||
|
||||
<div v-if="!FattoDono" v-html="$t('dashboard.effettua_il_dono', {email: getemailPagamentoSognatore() })">
|
||||
|
||||
<div v-if="!FattoDono"
|
||||
v-html="$t('dashboard.effettua_il_dono', {email: getemailPagamentoSognatore() })">
|
||||
</div>
|
||||
<div v-if="!FattoDono">
|
||||
<br/>
|
||||
<div v-if="!donoinviato">
|
||||
{{$t('dashboard.clicca_conferma_dono')}}:<br>
|
||||
|
||||
@@ -318,84 +238,263 @@
|
||||
</q-chip>
|
||||
</div>
|
||||
</div>
|
||||
<div v-else v-html="$t('dashboard.qui_compariranno_le_info')">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</q-tab-panel>
|
||||
<q-tab-panel name="sognatore" class="pan_sognatore">
|
||||
<div v-if="sonoSognatore">
|
||||
<div class="text-evidente bordo_stondato justify-between q-pa-xs-sm">
|
||||
<div class="">
|
||||
<div>
|
||||
{{$t('dashboard.doni_ricevuti')}}:
|
||||
</div>
|
||||
|
||||
</CTitleBanner>
|
||||
|
||||
<CTitleBanner v-if="nave" class=""
|
||||
:title="$t('dashboard.mediatore')"
|
||||
bgcolor="bg-primary"
|
||||
clcolor="text-white"
|
||||
mystyle="" myclass="myshad" canopen="true" :visible="false">
|
||||
|
||||
<br />
|
||||
<div class="q-ma-sm">
|
||||
<div class="column justify-center items-center q-gutter-md tutor">
|
||||
<div class="title-nave clBorderSteps">{{gettitlemediatore()}}</div>
|
||||
<div v-if="getTutor(mediatore)" class=" clBorderTutor q-ma-sm selezione cursor-pointer"
|
||||
@click="clickseluser({name: getTutor(mediatore), surname: '', username: getTutor_username(mediatore), profile: { cell: '' } })">
|
||||
{{ $t('dashboard.tutor') }}: {{getTutor(mediatore)}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="">
|
||||
<div class="row justify-center q-gutter-md">
|
||||
<div v-if="nave.rec.mediatore.recsognatori">
|
||||
<div class="sognatore">{{$t('dashboard.sognatori')}}:</div>
|
||||
<div v-for="(sognatore, index) in nave.rec.mediatore.recsognatori"
|
||||
:key="10+index">
|
||||
<div v-if="sognatore"
|
||||
:class="`cont_sognatore selezione cursor-pointer ` + getclassSelect(sognatore)"
|
||||
@click="clickseluser(sognatore)">
|
||||
A{{3 - index}} - {{ sognatore.name }} {{ sognatore.surname }}
|
||||
({{sognatore.username }})
|
||||
</div>
|
||||
</div>
|
||||
<div class="ricevuti dati">{{getDoniConfermati()}}</div>
|
||||
</div>
|
||||
<div class="">
|
||||
<div class="inviati">
|
||||
{{$t('dashboard.doni_inviati_da_confermare')}}:
|
||||
</div>
|
||||
<div class="inviati dati">{{getDoniAttesaDiConferma()}}</div>
|
||||
</div>
|
||||
<div class="">
|
||||
<div class="">
|
||||
{{$t('dashboard.doni_mancanti')}}:
|
||||
<div class="mediatore text-uppercase">{{$t('dashboard.mediatore')}}:</div>
|
||||
<div :class="`cont_mediatore ` + getclassSelect(nave.rec.mediatore.recmediatore)">
|
||||
{{ nave.rec.mediatore.recmediatore.name }} {{
|
||||
nave.rec.mediatore.recmediatore.surname }} ({{
|
||||
nave.rec.mediatore.recmediatore.username }})
|
||||
</div>
|
||||
</div>
|
||||
<div class="">
|
||||
<div class="intermedio3">{{$t('dashboard.intermedio')}}3:</div>
|
||||
<div v-for="(terra, index) in nave.rec.mediatore.arrterra" :key="index">
|
||||
<div v-if="terra" :class="`cont_donatore ` + getclassSelect(terra)">
|
||||
B{{index + 1}} - {{ terra.name }} {{ terra.surname }} ({{
|
||||
terra.username
|
||||
}})
|
||||
- {{
|
||||
terra.riga}}.{{terra.col}}<br>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="">
|
||||
<div class="intermedio2">{{$t('dashboard.intermedio')}}2:</div>
|
||||
<div v-for="(aria, index) in nave.rec.mediatore.arraria" :key="index">
|
||||
<div v-if="aria" :class="`cont_donatore ` + getclassSelect(aria)">
|
||||
C{{index + 1}} - {{ aria.name }} {{ aria.surname }} ({{
|
||||
aria.username
|
||||
}}) -
|
||||
{{
|
||||
aria.riga}}.{{aria.col}}<br>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="donatore text-uppercase">{{$t('dashboard.donatori')}}:</div>
|
||||
<div v-for="(donatore, index) in nave.rec.mediatore.arrdonatori" :key="index">
|
||||
<div v-if="donatore"
|
||||
:class="`cont_donatore row selezione cursor-pointer ` + getclassSelect(donatore)"
|
||||
@click="clickseluser(donatore)">
|
||||
|
||||
{{ getindex(donatore, index + 1) }} - {{ donatore.name }} {{
|
||||
donatore.surname }}
|
||||
({{ donatore.username }}) - {{ donatore.riga}}.{{donatore.col}}
|
||||
<q-icon v-if="donatore.made_gift" color="green" inverted size="sm"
|
||||
name="fas fa-gift" class="gift"></q-icon>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mancanti dati">{{getDoniMancanti()}}</div>
|
||||
</div>
|
||||
</div>
|
||||
<q-table
|
||||
dense
|
||||
color="primary"
|
||||
:title="$t('dashboard.donatori')"
|
||||
:data="arrdonatori"
|
||||
:columns="coldonatori"
|
||||
:nodataLabel="$t('grid.nodata')"
|
||||
:Pagination.sync="MyPagination"
|
||||
row-key="index">
|
||||
<template v-slot:body="props">
|
||||
<q-tr :props="props">
|
||||
<!--<q-td key="index" :props="props">
|
||||
{{ props.row.index }}
|
||||
</q-td>-->
|
||||
<q-td key="name" :props="props">
|
||||
{{ props.row.name }}
|
||||
</q-td>
|
||||
<q-td key="surname" :props="props">
|
||||
{{ props.row.surname }}
|
||||
</q-td>
|
||||
<q-td key="date_made_gift" :props="props">
|
||||
{{ tools.getstrshortDateTime(props.row.date_made_gift) }}
|
||||
</q-td>
|
||||
<q-td key="made_gift" :props="props">
|
||||
|
||||
<div class="row justify-center">
|
||||
<q-btn v-if="!props.row.made_gift"
|
||||
push
|
||||
rounded
|
||||
color="primary"
|
||||
size="md"
|
||||
:label="$t('dashboard.dono_ricevuto_3', {donatore: props.row.name })"
|
||||
|
||||
@click="HoRicevutoIlDono(props.row)">
|
||||
</q-btn>
|
||||
</div>
|
||||
<div v-if="props.row.made_gift">
|
||||
<q-chip class="glossy"
|
||||
text-color="white"
|
||||
color="positive"
|
||||
icon="fas fa-gift">
|
||||
{{ $t('dashboard.dono_ricevuto_2', {donatore: props.row.name }) }}
|
||||
</q-chip>
|
||||
</div>
|
||||
</q-td>
|
||||
</q-tr>
|
||||
</template>
|
||||
</q-table>
|
||||
</div>
|
||||
</q-tab-panel>
|
||||
</q-tab-panels>
|
||||
|
||||
<div v-if="isDefinitivaMediatore()" class="q-my-md">
|
||||
<div class="text-left" v-html="gettesto()"></div>
|
||||
|
||||
<div>
|
||||
<q-input v-model="link_chat" :label="$t('dashboard.link_chat')"
|
||||
debounce="1000"
|
||||
input-class="myinput-area"
|
||||
@input="change_link_chat">
|
||||
|
||||
</q-input>
|
||||
|
||||
<div class="row justify-center centermydiv q-gutter-sm" style="max-width: 420px;">
|
||||
<q-btn rounded text-color="secondary" icon="fab fa-telegram"
|
||||
:label="$t('dashboard.controlla_donatori')"
|
||||
@click="InviaLinkChatADonatori(false)"></q-btn>
|
||||
|
||||
<q-btn rounded text-color="primary" icon="fab fa-telegram"
|
||||
:disable="!linkchatesiste"
|
||||
:label="$t('dashboard.invia_link_chat')"
|
||||
@click="InviaLinkChatADonatori(true)"></q-btn>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</CTitleBanner>
|
||||
|
||||
<CTitleBanner v-if="nave" class=""
|
||||
:title="$t('dashboard.sognatore')"
|
||||
bgcolor="bg-primary"
|
||||
clcolor="text-white"
|
||||
mystyle="" myclass="myshad" canopen="true" :visible="false">
|
||||
|
||||
<br />
|
||||
<div v-if="sonoSognatore" class="q-ma-sm">
|
||||
<div class="text-evidente bordo_stondato justify-between q-pa-xs-sm">
|
||||
<div class="">
|
||||
<div>
|
||||
{{$t('dashboard.doni_ricevuti')}}:
|
||||
</div>
|
||||
<div class="ricevuti dati">{{getDoniConfermati()}}</div>
|
||||
</div>
|
||||
<div class="">
|
||||
<div class="inviati">
|
||||
{{$t('dashboard.doni_inviati_da_confermare')}}:
|
||||
</div>
|
||||
<div class="inviati dati">{{getDoniAttesaDiConferma()}}</div>
|
||||
</div>
|
||||
<div class="">
|
||||
<div class="">
|
||||
{{$t('dashboard.doni_mancanti')}}:
|
||||
</div>
|
||||
<div class="mancanti dati">{{getDoniMancanti()}}</div>
|
||||
</div>
|
||||
</div>
|
||||
<q-table
|
||||
dense
|
||||
color="primary"
|
||||
:title="$t('dashboard.donatori')"
|
||||
:data="arrdonatori"
|
||||
:columns="coldonatori"
|
||||
:nodataLabel="$t('grid.nodata')"
|
||||
:Pagination.sync="MyPagination"
|
||||
row-key="index">
|
||||
<template v-slot:body="props">
|
||||
<q-tr :props="props">
|
||||
<!--<q-td key="index" :props="props">
|
||||
{{ props.row.index }}
|
||||
</q-td>-->
|
||||
<q-td key="name" :props="props">
|
||||
{{ props.row.name }}
|
||||
</q-td>
|
||||
<q-td key="surname" :props="props">
|
||||
{{ props.row.surname }}
|
||||
</q-td>
|
||||
<q-td key="posizione" :props="props">
|
||||
{{ props.row.riga }}.{{ props.row.col }}
|
||||
</q-td>
|
||||
<q-td key="date_made_gift" :props="props">
|
||||
{{ tools.getstrshortDateTime(props.row.date_made_gift) }}
|
||||
</q-td>
|
||||
<q-td key="tel" :props="props">
|
||||
<q-btn flat rounded color="blue"
|
||||
:label="props.row.profile.cell"
|
||||
@click="clickseluser(props.row)">
|
||||
</q-btn>
|
||||
</q-td>
|
||||
<q-td key="made_gift" :props="props">
|
||||
|
||||
<div class="row justify-center">
|
||||
<q-btn v-if="!props.row.made_gift"
|
||||
push
|
||||
rounded
|
||||
color="primary"
|
||||
size="md"
|
||||
:label="$t('dashboard.dono_ricevuto_3', {donatore: props.row.name })"
|
||||
|
||||
@click="HoRicevutoIlDono(props.row)">
|
||||
</q-btn>
|
||||
</div>
|
||||
<div v-if="props.row.made_gift">
|
||||
<q-chip class="glossy"
|
||||
text-color="white"
|
||||
color="positive"
|
||||
icon="fas fa-gift">
|
||||
{{ $t('dashboard.dono_ricevuto_2', {donatore: props.row.name })
|
||||
}}
|
||||
</q-chip>
|
||||
</div>
|
||||
</q-td>
|
||||
</q-tr>
|
||||
</template>
|
||||
</q-table>
|
||||
</div>
|
||||
</CTitleBanner>
|
||||
|
||||
|
||||
<q-dialog v-model="showmsguser">
|
||||
<q-card v-if="seluser" :style="`min-width: `+ tools.myheight_dialog() + `px;` ">
|
||||
<q-toolbar class="bg-primary text-white" style="min-height: 30px;">
|
||||
<q-toolbar-title>
|
||||
<div v-if="!!seluser">
|
||||
{{ seluser.name }} {{ seluser.surname }}
|
||||
</div>
|
||||
</q-toolbar-title>
|
||||
<q-btn flat round color="white" icon="close" v-close-popup clickable
|
||||
@click="Chiudi"></q-btn>
|
||||
</q-toolbar>
|
||||
<q-card-section class="inset-shadow" style="padding: 4px !important;">
|
||||
<div class="row justify-center q-gutter-md">
|
||||
<div>
|
||||
<div v-if="!!seluser.profile.cell" class="q-ma-sm text-center clBorderWarning">
|
||||
Whatsapp: {{seluser.profile.cell}}
|
||||
<q-btn
|
||||
fab-mini
|
||||
icon="fab fa-whatsapp"
|
||||
color="white" text-color="green" type="a"
|
||||
size="sm"
|
||||
:href="tools.getHttpForWhatsapp(seluser.profile.cell)"
|
||||
target="__blank">
|
||||
</q-btn>
|
||||
</div>
|
||||
<div class="q-ma-sm text-center clBorderSteps">
|
||||
<div>TELEGRAM AYNI BOT {{$t('dialog.sendmsg')}} -> {{seluser.name }} {{
|
||||
seluser.surname }}:
|
||||
</div>
|
||||
<q-input type="textarea"
|
||||
autogrow
|
||||
v-model="msg_tosend_user" :label="$t('cal.msgbooking')"
|
||||
input-class="myinput-area">
|
||||
|
||||
</q-input>
|
||||
|
||||
<div class="row justify-center centermydiv q-gutter-sm"
|
||||
style="max-width: 420px;">
|
||||
<q-btn rounded text-color="secondary" icon="fab fa-telegram"
|
||||
:label="$t('dialog.sendmsg') + ` -> ` + seluser.name + ` ` + seluser.surname"
|
||||
@click="InviaMsgAUser()"></q-btn>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</q-card-section>
|
||||
</q-card>
|
||||
</q-dialog>
|
||||
</div>
|
||||
</CTitleBanner>
|
||||
</div>
|
||||
|
||||
@@ -24,7 +24,7 @@ import { Screen } from 'quasar'
|
||||
name: 'CTitleBanner'
|
||||
})
|
||||
export default class CTitleBanner extends Vue {
|
||||
@Prop({ required: true}) public title: string
|
||||
@Prop({ required: true }) public title: string
|
||||
@Prop({ required: false, default: 'bg-primary' }) public bgcolor: string
|
||||
@Prop({ required: false, default: 'text-white' }) public clcolor: string
|
||||
@Prop({ required: false, default: '' }) public mystyle: string
|
||||
@@ -47,4 +47,10 @@ export default class CTitleBanner extends Vue {
|
||||
else
|
||||
return 'fas fa-chevron-down q-icon q-expansion-item__toggle-icon q-focusable rotate-180'
|
||||
}
|
||||
|
||||
public apri() {
|
||||
this.myvisible = !this.myvisible
|
||||
if (this.myvisible)
|
||||
this.$emit('apri')
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,9 +3,9 @@
|
||||
<q-banner
|
||||
inline-actions
|
||||
rounded dense
|
||||
:class="bgcolor+` q-my-sm `+clcolor+ ` ` + myclass"
|
||||
:class="bgcolor+` cursor-pointer q-my-sm `+clcolor+ ` ` + myclass"
|
||||
style="text-align: center; "
|
||||
@click="myvisible = !myvisible"
|
||||
@click="apri()"
|
||||
>
|
||||
<template v-slot:avatar>
|
||||
<q-icon v-if="canopen && icon" :name="icon" color="white"/>
|
||||
|
||||
@@ -61,6 +61,10 @@ export default class Header extends Vue {
|
||||
return UserStore.state.isManager
|
||||
}
|
||||
|
||||
get isTutor() {
|
||||
return UserStore.state.isTutor
|
||||
}
|
||||
|
||||
get conndata_changed() {
|
||||
return GlobalStore.state.connData
|
||||
}
|
||||
|
||||
@@ -142,7 +142,10 @@
|
||||
dense flat round icon="close" @click="rightDrawerOpen = !rightDrawerOpen">
|
||||
</q-btn>
|
||||
<div v-if="isLogged" class="text-weight-bold text-user">{{ Username }} - {{ myName }} <span
|
||||
v-if="isAdmin"> [Admin]</span><span v-if="isManager"> [Manager]</span></div>
|
||||
v-if="isAdmin"> [Admin]</span>
|
||||
<span v-if="isManager"> [Manager]</span>
|
||||
<span v-if="isTutor"> [Tutor]</span>
|
||||
</div>
|
||||
<div v-else class="text-user text-italic bg-red">
|
||||
{{ $t('user.loggati') }}
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user