Lista Doni Navi
This commit is contained in:
57
src/components/CMyNave/CMyNave.scss
Normal file → Executable file
57
src/components/CMyNave/CMyNave.scss
Normal file → Executable file
@@ -1,27 +1,36 @@
|
||||
.donatore, .mediatore, .sognatore {
|
||||
padding: 4px;
|
||||
margin: 4px;
|
||||
.donatore, .mediatore, .sognatore, .title-nave, .intermedio2, .intermedio3 {
|
||||
padding: 2px 4px;
|
||||
margin: 2px 4px;
|
||||
color: white;
|
||||
font-size: 1.25rem;
|
||||
font-size: 1rem;
|
||||
border-radius: 16px;
|
||||
}
|
||||
|
||||
.donatore {
|
||||
background-color: #2ba0fd;
|
||||
}
|
||||
|
||||
.mediatore {
|
||||
background-color: red;
|
||||
}
|
||||
|
||||
.sognatore {
|
||||
.mediatore {
|
||||
background-color: green;
|
||||
}
|
||||
|
||||
.sognatore {
|
||||
background-color: purple;
|
||||
}
|
||||
|
||||
.intermedio2{
|
||||
background-color: orange;
|
||||
}
|
||||
|
||||
.intermedio3{
|
||||
background-color: yellow;
|
||||
color: black;
|
||||
}
|
||||
|
||||
.cont_donatore, .cont_sognatore, .cont_mediatore, .cont_tragitto, .cont_pos, .cont_intestaz, .cont_pos_intest, .cont_intestaz_small {
|
||||
border: solid 2px #4198ef;
|
||||
padding: 4px;
|
||||
margin: 4px;
|
||||
padding: 2px 8px;
|
||||
margin: 2px 4px;
|
||||
font-size: 1rem;
|
||||
border-radius: 16px;
|
||||
}
|
||||
@@ -71,3 +80,29 @@
|
||||
margin-top: 4px;
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
|
||||
.title-nave {
|
||||
color: blue;
|
||||
}
|
||||
|
||||
.dati {
|
||||
color: blue;
|
||||
font-size: 1.25rem;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.mancanti {
|
||||
color: red;
|
||||
|
||||
}
|
||||
.inviati {
|
||||
color: blue;
|
||||
}
|
||||
|
||||
.pan_sognatore {
|
||||
padding: 0px 0px;
|
||||
}
|
||||
|
||||
.ricevuti{
|
||||
color: green;
|
||||
}
|
||||
|
||||
320
src/components/CMyNave/CMyNave.ts
Normal file → Executable file
320
src/components/CMyNave/CMyNave.ts
Normal file → Executable file
@@ -9,9 +9,11 @@ import { CTitleBanner } from '../CTitleBanner'
|
||||
import { 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 },
|
||||
components: { CTitleBanner, CMyChipList, CVideo },
|
||||
})
|
||||
|
||||
export default class CMyNave extends MixinNave {
|
||||
@@ -21,6 +23,7 @@ export default class CMyNave extends MixinNave {
|
||||
public $t
|
||||
public link_chat: string = ''
|
||||
public cosa: string = 'tragitto'
|
||||
public cosa2: string = 'donatore'
|
||||
public nave: any = null
|
||||
public numpercorso = 7
|
||||
public riga: number = 1
|
||||
@@ -28,6 +31,33 @@ export default class CMyNave extends MixinNave {
|
||||
public rigadoni: number = 1
|
||||
public coldoni: number = 1
|
||||
public mediatore: any = {}
|
||||
public donatore: any = {}
|
||||
public iodonatore: any = {}
|
||||
public iosognatore: any = {}
|
||||
public donoinviato: boolean = false
|
||||
public arrdonatori: any[] = []
|
||||
public recsel = null
|
||||
public MyPagination: {
|
||||
sortBy: string,
|
||||
descending: boolean,
|
||||
page: number,
|
||||
rowsNumber: number, // specifying this determines pagination is server-side
|
||||
rowsPerPage: number
|
||||
} = { sortBy: 'index', descending: false, page: 1, rowsNumber: 10, rowsPerPage: 10 }
|
||||
public coldonatori: any[] = [
|
||||
/*{
|
||||
name: 'index',
|
||||
required: true,
|
||||
label: 'Num',
|
||||
align: 'left',
|
||||
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: 'date_made_gift', align: 'center', label: 'Inviato', field: 'date_made_gift', sortable: true },
|
||||
{ name: 'made_gift', align: 'center', label: 'Confermato', field: 'made_gift', sortable: true },
|
||||
]
|
||||
|
||||
public tragitto = [
|
||||
{
|
||||
@@ -84,15 +114,53 @@ export default class CMyNave extends MixinNave {
|
||||
this.coldoni = tools.getValDb('coldoni', false, 1)
|
||||
|
||||
this.mediatore = this.getmediatore()
|
||||
this.donatore = this.getdonatore()
|
||||
this.iodonatore = this.getIoDonatore()
|
||||
this.iosognatore = this.getIoSognatore()
|
||||
this.donoinviato = this.getDonoInviato
|
||||
|
||||
// console.log('this.mediatore', this.mediatore)
|
||||
// console.log('this.donatore', this.donatore)
|
||||
|
||||
if (!!this.mediatore) {
|
||||
this.link_chat = this.mediatore.link_chat
|
||||
}
|
||||
|
||||
this.arrdonatori = this.creaarrDonatori()
|
||||
}
|
||||
|
||||
public getListaDonatoriDaConfermare() {
|
||||
let mystr = ''
|
||||
|
||||
if (!!this.nave.listadonatoridelsognatore) {
|
||||
if (this.nave.listadonatoridelsognatore.length > 0) {
|
||||
for (const rec of this.nave.listadonatoridelsognatore) {
|
||||
mystr += rec.name + ' ' + rec.surname + ' [' + rec.riga + '.' + rec.col + ']<br>'
|
||||
}
|
||||
}
|
||||
}
|
||||
return mystr
|
||||
}
|
||||
|
||||
public creaarrDonatori() {
|
||||
const arr = []
|
||||
if (!!this.nave.listadonatoridelsognatore) {
|
||||
if (this.nave.listadonatoridelsognatore.length > 0) {
|
||||
let index = 0
|
||||
for (const rec of this.nave.listadonatoridelsognatore) {
|
||||
|
||||
index++
|
||||
arr.push({ index, ...rec})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return arr
|
||||
}
|
||||
|
||||
public getNavePartByInd(ind) {
|
||||
if (!!this.navi_partenza[ind])
|
||||
return this.navi_partenza[ind].date_start
|
||||
return tools.getstrshortDate(this.navi_partenza[ind].date_start)
|
||||
else
|
||||
return ' --/--/-- '
|
||||
}
|
||||
@@ -105,7 +173,7 @@ export default class CMyNave extends MixinNave {
|
||||
}
|
||||
|
||||
public getColnave(col) {
|
||||
let ris = Math.floor(col / (2 * 4))
|
||||
let ris = Math.ceil(col / (2 * 4))
|
||||
if (ris <= 1)
|
||||
ris = 1
|
||||
return ris
|
||||
@@ -113,10 +181,10 @@ export default class CMyNave extends MixinNave {
|
||||
|
||||
public sonoMediatore() {
|
||||
if (!!this.nave) {
|
||||
if (!!this.nave.rec.donatore.recmediatore)
|
||||
if (!!this.nave.rec.donatore)
|
||||
return this.nave.rec.donatore.recmediatore.ind_order === this.nave.ind_order
|
||||
else {
|
||||
if (!!this.nave.rec.mediatore.recmediatore)
|
||||
if (!!this.nave.rec.mediatore)
|
||||
return this.nave.rec.mediatore.recmediatore.ind_order === this.nave.ind_order
|
||||
}
|
||||
}
|
||||
@@ -124,40 +192,194 @@ export default class CMyNave extends MixinNave {
|
||||
return false
|
||||
}
|
||||
|
||||
public sonoDonatore() {
|
||||
public partenza_primo_donatore() {
|
||||
if (!!this.nave) {
|
||||
for (const rec of this.nave.rec.donatore.arrdonatori) {
|
||||
if (!!rec) {
|
||||
if (rec.ind_order === this.nave.ind_order)
|
||||
return true
|
||||
if (!!this.nave.rec.mediatore) {
|
||||
for (const rec of this.nave.rec.mediatore.arrdonatori) {
|
||||
if (!!rec)
|
||||
return rec.date_start
|
||||
}
|
||||
}
|
||||
}
|
||||
return ''
|
||||
}
|
||||
|
||||
public getGiornoDelDono() {
|
||||
if (!!this.nave) {
|
||||
return tools.getstrDate(this.nave.date_start)
|
||||
}
|
||||
}
|
||||
|
||||
get GiornoDelDonoArrivato() {
|
||||
if (!!this.nave) {
|
||||
return tools.isDateArrived(this.nave.date_start)
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
get FattoDono() {
|
||||
if (!!this.iodonatore) {
|
||||
return this.iodonatore.made_gift
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
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
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return null
|
||||
}
|
||||
|
||||
public getIoSognatore() {
|
||||
const sognatore = this.sognatoredelDono()
|
||||
if (!!sognatore) {
|
||||
return sognatore.ind_order === this.nave.ind_order
|
||||
}
|
||||
return null
|
||||
}
|
||||
|
||||
public sognatoredelDono() {
|
||||
if (!!this.nave) {
|
||||
if (!!this.nave.rec.donatore.recsognatori)
|
||||
return this.nave.rec.donatore.recsognatori[0]
|
||||
}
|
||||
return null
|
||||
}
|
||||
|
||||
public HoRicevutoIlDono(rec) {
|
||||
this.recsel = rec
|
||||
const msgtitle = this.$t('dashboard.dono_ricevuto_2')
|
||||
const msginvia = this.$t('dashboard.confermi_dono_ricevuto', {
|
||||
donatore: rec.name + ' ' + rec.surname
|
||||
})
|
||||
|
||||
const mymsg = this.$t('dashboard.confermi_dono_ricevuto_msg', {
|
||||
sognatore: this.sognatoredelDono().name + ' ' + this.sognatoredelDono().surname,
|
||||
donatore: rec.name + ' ' + rec.surname
|
||||
})
|
||||
|
||||
tools.askConfirm(this.$q, msgtitle, msginvia + ' ' + '?', translate('dialog.yes'), translate('dialog.no'), this, '', lists.MenuAction.DONO_RICEVUTO, 0, {
|
||||
param1: {
|
||||
_id: rec._id,
|
||||
made_gift: true
|
||||
},
|
||||
param2: rec.username,
|
||||
param3: mymsg
|
||||
})
|
||||
|
||||
}
|
||||
|
||||
public HoEffettuatoIlDono() {
|
||||
const msgtitle = translate('dashboard.confermi_dono')
|
||||
const msginvia = msgtitle
|
||||
|
||||
const mymsg = this.$t('dashboard.msg_bot_conferma', {
|
||||
donatore: this.iodonatore.name + ' ' + this.iodonatore.surname,
|
||||
sognatore: this.sognatoredelDono().name + ' ' + this.sognatoredelDono().surname
|
||||
})
|
||||
|
||||
tools.askConfirm(this.$q, msgtitle, msginvia + ' ' + '?', translate('dialog.yes'), translate('dialog.no'), this, '', lists.MenuAction.DONO_INVIATO, 0, {
|
||||
param1: {
|
||||
_id: this.iodonatore._id,
|
||||
date_made_gift: tools.getDateNow()
|
||||
},
|
||||
param2: this.sognatoredelDono().username,
|
||||
param3: mymsg
|
||||
})
|
||||
|
||||
}
|
||||
|
||||
public ActionAfterYes(action, item, data) {
|
||||
console.log('ActionAfterYes...')
|
||||
if (action === lists.MenuAction.DONO_INVIATO) {
|
||||
|
||||
if (!!this.iodonatore) {
|
||||
this.iodonatore.date_made_gift = tools.getDateNow()
|
||||
|
||||
this.donoinviato = true
|
||||
|
||||
console.log('date_made_gift', this.iodonatore.date_made_gift)
|
||||
}
|
||||
// this.refresh()
|
||||
} else if (action === lists.MenuAction.DONO_RICEVUTO) {
|
||||
if (!!this.recsel) {
|
||||
this.recsel.made_gift = true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public getMetodoPagamentoSognatore() {
|
||||
const rec = this.sognatoredelDono()
|
||||
if (!!rec) {
|
||||
try {
|
||||
return rec.profile.paymenttypes
|
||||
} catch (e) {
|
||||
return ''
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public getemailPagamentoSognatore() {
|
||||
const rec = this.sognatoredelDono()
|
||||
if (!!rec) {
|
||||
if (!!rec.profile)
|
||||
return rec.profile.email_paypal
|
||||
}
|
||||
return ''
|
||||
}
|
||||
|
||||
get getDonoInviato() {
|
||||
if (!!this.iodonatore) {
|
||||
return !!this.iodonatore.date_made_gift
|
||||
}
|
||||
|
||||
return false
|
||||
}
|
||||
|
||||
public sonoDonatore() {
|
||||
return !!this.iodonatore
|
||||
}
|
||||
|
||||
public sonoSognatore() {
|
||||
return !!this.iosognatore
|
||||
}
|
||||
|
||||
public getmediatore() {
|
||||
return this.nave.rec.donatore.recmediatore
|
||||
if (!!this.nave.rec.mediatore)
|
||||
return this.nave.rec.mediatore.recmediatore
|
||||
return null
|
||||
}
|
||||
|
||||
public getdonatore() {
|
||||
if (!!this.nave.rec.donatore)
|
||||
return this.nave.rec.donatore.recmediatore
|
||||
return null
|
||||
}
|
||||
|
||||
public change_link_chat() {
|
||||
const recmed = this.getmediatore()
|
||||
if (recmed.link_chat !== this.link_chat) {
|
||||
recmed.link_chat = this.link_chat
|
||||
if (!!recmed) {
|
||||
if (recmed.link_chat !== this.link_chat) {
|
||||
recmed.link_chat = this.link_chat
|
||||
|
||||
const mydata = {
|
||||
link_chat: recmed.link_chat
|
||||
const mydata = {
|
||||
link_chat: recmed.link_chat
|
||||
}
|
||||
tools.saveFieldToServer(this, 'navi', recmed._id, mydata)
|
||||
}
|
||||
tools.saveFieldToServer(this, 'navi', recmed._id, mydata)
|
||||
}
|
||||
}
|
||||
|
||||
get linkchatopen() {
|
||||
return this.link_chat
|
||||
}
|
||||
|
||||
public sonoSognatore() {
|
||||
return this.nave.rec.donatore.recsognatore.ind_order === this.nave.ind_order
|
||||
return this.donatore.link_chat
|
||||
}
|
||||
|
||||
public getclassSelect(rec) {
|
||||
@@ -204,7 +426,8 @@ export default class CMyNave extends MixinNave {
|
||||
}
|
||||
|
||||
public geticon(rec) {
|
||||
|
||||
if (!rec.ind)
|
||||
return ''
|
||||
if (this.rigadoni >= this.getrigaNaveByInd(rec.ind)) {
|
||||
return 'fas fa-gift'
|
||||
}
|
||||
@@ -213,18 +436,20 @@ export default class CMyNave extends MixinNave {
|
||||
public async InviaMsgANave(msgobj, navemediatore) {
|
||||
|
||||
let msgtitle = translate('dashboard.controlla_donatori')
|
||||
let msginvia = msgtitle
|
||||
if (msgobj.inviareale) {
|
||||
msgtitle = translate('dashboard.invia_link_chat')
|
||||
msginvia = translate('dashboard.inviare_msg_donatori')
|
||||
}
|
||||
|
||||
await tools.askConfirm(this.$q, msgtitle, translate('dashboard.inviare_msg_donatori') + ' ' + '?', translate('dialog.yes'), translate('dialog.no'), this, '', lists.MenuAction.INVIA_MSG_A_DONATORI, 0, {
|
||||
tools.askConfirm(this.$q, msgtitle, msginvia + ' ' + '?', translate('dialog.yes'), translate('dialog.no'), this, '', lists.MenuAction.INVIA_MSG_A_DONATORI, 0, {
|
||||
param1: msgobj,
|
||||
param2: navemediatore
|
||||
})
|
||||
|
||||
}
|
||||
|
||||
public async InviaMsgADonatori(msgobj) {
|
||||
public InviaMsgADonatori(msgobj) {
|
||||
|
||||
const navemediatore = {
|
||||
id: this.mediatore._id,
|
||||
@@ -236,8 +461,8 @@ export default class CMyNave extends MixinNave {
|
||||
}
|
||||
|
||||
get linkchatesiste() {
|
||||
if (!!this.linkchatopen)
|
||||
return this.linkchatopen.length > 10
|
||||
if (!!this.link_chat)
|
||||
return this.link_chat.length > 10
|
||||
return false
|
||||
}
|
||||
|
||||
@@ -245,11 +470,52 @@ export default class CMyNave extends MixinNave {
|
||||
|
||||
const msgobj = {
|
||||
tipomsg: tools.TipoMsg.SEND_LINK_CHAT_DONATORI,
|
||||
msgpar1: this.linkchatopen,
|
||||
msgpar1: this.link_chat,
|
||||
inviareale,
|
||||
}
|
||||
|
||||
this.InviaMsgADonatori(msgobj)
|
||||
}
|
||||
|
||||
public getdatastr(mydata) {
|
||||
return tools.getstrshortDate(mydata)
|
||||
}
|
||||
|
||||
public gettitlemediatore() {
|
||||
return this.getdatastr(this.partenza_primo_donatore()) + ' ' + 'NAVE' + ' ' + this.mediatore.riga + '.' + this.mediatore.col + ' ' + '🎁' + 'AYNI'
|
||||
}
|
||||
|
||||
public gettitledonatore() {
|
||||
return this.getdatastr(this.donatore.date_start) + ' ' + 'NAVE' + ' ' + this.donatore.riga + '.' + this.donatore.col + ' ' + '🎁' + 'AYNI'
|
||||
}
|
||||
|
||||
public gettesto() {
|
||||
return this.$t('dashboard.sonomediatore', { nomenave: this.gettitlemediatore() })
|
||||
}
|
||||
|
||||
public getisProvvisoriaStr() {
|
||||
if (!!this.iodonatore) {
|
||||
if (this.iodonatore.provvisoria) {
|
||||
return ' Temporanea '
|
||||
}
|
||||
}
|
||||
return ''
|
||||
}
|
||||
|
||||
public getposizione() {
|
||||
return this.$t('dashboard.posizione') + ' ' + this.getisProvvisoriaStr() + this.nave.riga + '.' + this.nave.col
|
||||
}
|
||||
|
||||
public getDoniAttesaDiConferma() {
|
||||
return this.arrdonatori.filter((rec) => (!!rec.date_made_gift && !rec.made_gift)).reduce((sum, item) => sum + 1, 0)
|
||||
}
|
||||
|
||||
public getDoniConfermati() {
|
||||
return this.arrdonatori.filter((rec) => rec.made_gift).reduce((sum, item) => sum + 1, 0)
|
||||
}
|
||||
|
||||
public getDoniMancanti() {
|
||||
return this.arrdonatori.filter((rec) => (!rec.made_gift && !rec.date_made_gift)).reduce((sum, item) => sum + 1, 0)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
547
src/components/CMyNave/CMyNave.vue
Normal file → Executable file
547
src/components/CMyNave/CMyNave.vue
Normal file → Executable file
@@ -1,177 +1,396 @@
|
||||
<template>
|
||||
<div>
|
||||
<CTitleBanner v-if="nave" class="q-pa-xs"
|
||||
:title="$t('pages.nave') + ` ` + getRiganave(nave.riga) + `.`+getColnave(nave.col) + ` ` + $t('dashboard.nave_in_partenza') + ` ` + tools.getstrDate(nave.date_start)"
|
||||
bgcolor="bg-primary"
|
||||
clcolor="text-white"
|
||||
mystyle="" myclass="myshad" canopen="true">
|
||||
<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.date_start)"
|
||||
bgcolor="bg-primary"
|
||||
clcolor="text-white"
|
||||
mystyle="" myclass="myshad" canopen="true">
|
||||
|
||||
|
||||
<div v-if="nave" 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="Tragitto"></q-tab>
|
||||
<q-tab name="donatore" label="Donatore"></q-tab>
|
||||
<q-tab name="mediatore" label="Mediatore"></q-tab>
|
||||
<q-tab name="spiegazione" label="Spiegazione"></q-tab>
|
||||
</q-tabs>
|
||||
|
||||
|
||||
<q-tab-panels v-model="cosa" animated>
|
||||
<q-tab-panel name="spiegazione">
|
||||
|
||||
<div v-if="sonoMediatore()">
|
||||
<div class="text-left" v-html="$t('dashboard.sonomediatore')"></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="">
|
||||
<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 v-else-if="sonoDonatore()">
|
||||
<div v-html="$t('dashboard.sonosognatore')">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</q-tab-panel>
|
||||
<q-tab-panel name="tragitto">
|
||||
<div class="row justify-between">
|
||||
<div class="cont_pos_intest">N</div>
|
||||
|
||||
<div class="cont_intestaz q-mx-sm"> Nome<br>dei Passaggi</div>
|
||||
|
||||
<div class="cont_intestaz">Nave</div>
|
||||
<div class="cont_intestaz">Data<br>Partenza</div>
|
||||
<div class="cont_intestaz_small">Doni<br>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 v-if="nave" class="flex flex-center column justify-center">
|
||||
<div class="">
|
||||
<q-chip class="glossy" :color="rec.color" text-color="white">
|
||||
{{ gettitlenave(rec.ind) }}
|
||||
</q-chip>
|
||||
<!--IndPrimario: {{ nave.indprimario }} - IndOrder: {{ nave.ind_order }} -->
|
||||
</div>
|
||||
<div class="">
|
||||
<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>
|
||||
|
||||
<q-tabs
|
||||
v-model="cosa"
|
||||
dense
|
||||
class="text-blue"
|
||||
active-color="primary"
|
||||
indicator-color="primary"
|
||||
align="justify"
|
||||
narrow-indicator
|
||||
>
|
||||
<q-tab name="tragitto" label="Tragitto"></q-tab>
|
||||
<q-tab name="mediatore" label="Mediatore"></q-tab>
|
||||
</q-tabs>
|
||||
|
||||
|
||||
<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">
|
||||
<div class="cont_pos_intest">N</div>
|
||||
|
||||
<div class="cont_intestaz q-mx-sm"> Nome<br>dei Passaggi</div>
|
||||
|
||||
<div class="cont_intestaz">Nave</div>
|
||||
<div class="cont_intestaz">Data<br>Partenza</div>
|
||||
<div class="cont_intestaz_small">Doni<br>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="">
|
||||
<q-chip class="glossy" :color="rec.color" text-color="white">
|
||||
{{ gettitlenave(rec.ind) }}
|
||||
</q-chip>
|
||||
</div>
|
||||
<div class="">
|
||||
<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>
|
||||
|
||||
</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">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">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">INTERMEDIO3:</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">INTERMEDIO2:</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">DONATORI:</div>
|
||||
<div v-for="(donatore, index) in nave.rec.mediatore.arrdonatori" :key="index">
|
||||
<div v-if="donatore" :class="`cont_donatore ` + getclassSelect(donatore)">
|
||||
D{{index + 1}} - {{ donatore.name }} {{ donatore.surname }} ({{
|
||||
donatore.username }}) - {{
|
||||
donatore.riga}}.{{donatore.col}}<br>
|
||||
</div>
|
||||
<q-icon v-if="donatore.made_gift" color="green" inverted size="sm"
|
||||
:name="geticon(rec)" class="gift"></q-icon>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="q-my-md">
|
||||
<div class="text-left" v-html="gettesto()"></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>
|
||||
|
||||
</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="Donatore"></q-tab>
|
||||
<q-tab name="sognatore" label="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">SOGNATORI:</div>
|
||||
<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">MEDIATORE:</div>
|
||||
<div :class="`cont_mediatore ` + getclassSelect(nave.rec.donatore.recmediatore)">
|
||||
{{ nave.rec.donatore.recmediatore.name }} {{
|
||||
nave.rec.donatore.recmediatore.surname }} ({{
|
||||
nave.rec.donatore.recmediatore.username }})
|
||||
</div>
|
||||
</div>
|
||||
<div class="">
|
||||
<div class="intermedio3">INTERMEDIO3:</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
|
||||
}}) - {{
|
||||
terra.riga}}.{{terra.col}}<br>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="">
|
||||
<div class="intermedio2">INTERMEDIO2:</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
|
||||
}}) - {{
|
||||
aria.riga}}.{{aria.col}}<br>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="donatore">DONATORI:</div>
|
||||
<div v-for="(donatore, index) in nave.rec.donatore.arrdonatori" :key="index">
|
||||
<div v-if="donatore" :class="`cont_donatore ` + getclassSelect(donatore)">
|
||||
D{{index + 1}} - {{ donatore.name }} {{ donatore.surname }} ({{
|
||||
donatore.username }}) - {{
|
||||
donatore.riga}}.{{donatore.col}}<br>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="q-ma-md q-butter-sm" v-if="!!linkchatopen">
|
||||
Per entrare nella Gift Chat, clicca qui:<br>
|
||||
<div class="q-ma-md">
|
||||
<q-btn rounded color="primary" icon="fab fa-telegram"
|
||||
:label="$t('dashboard.entra_in_gift_chat')"
|
||||
type="a"
|
||||
:href="linkchatopen" target="_blank"></q-btn>
|
||||
<br>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div v-if="sonoDonatore()">
|
||||
<div v-html="$t('dashboard.sonosognatore')">
|
||||
</div>
|
||||
|
||||
<div v-if="!FattoDono" class="text-evidente bordo_stondato">
|
||||
|
||||
<div>Quando effettuare il Regalo: <strong>{{ getGiornoDelDono() }}</strong><br></div>
|
||||
<div>
|
||||
Metodi Disponibili:
|
||||
|
||||
<CMyChipList
|
||||
:type="tools.FieldType.multiselect"
|
||||
:value="getMetodoPagamentoSognatore()"
|
||||
:options="db_fieldsTable.getTableJoinByName('paymenttypes')"
|
||||
:optval="db_fieldsTable.getKeyByTable('paymenttypes')"
|
||||
:optlab="db_fieldsTable.getLabelByTable('paymenttypes')"
|
||||
:opticon="db_fieldsTable.getIconByTable('paymenttypes')"></CMyChipList>
|
||||
|
||||
</div>
|
||||
<div>
|
||||
Importo: <strong>33€</strong>
|
||||
</div>
|
||||
<br>
|
||||
</div>
|
||||
<div class="text-evidente bordo_stondato_blu">
|
||||
<div v-if="GiornoDelDonoArrivato">
|
||||
|
||||
<div v-if="!FattoDono">
|
||||
|
||||
E' arrivato il momento di Effettuare il proprio Dono!<br>
|
||||
Inviare tramite PayPal a: <strong>{{ getemailPagamentoSognatore()
|
||||
}}</strong><br>
|
||||
(Scegliere l'opzione "Invia ad Amici")<br>
|
||||
|
||||
<CTitleBanner class="q-pa-xs"
|
||||
:title="$t('dashboard.come_inviare_regalo_con_paypal')"
|
||||
bgcolor="bg-primary"
|
||||
clcolor="text-white"
|
||||
myclass="myshad" canopen="true" :visible="false">
|
||||
|
||||
<CVideo myvideokey="5rp_XEV6Mzg">
|
||||
|
||||
</CVideo>
|
||||
</CTitleBanner>
|
||||
|
||||
<div v-if="!donoinviato">
|
||||
{{$t('dashboard.clicca_conferma_dono')}}:<br>
|
||||
|
||||
<div class="row justify-center q-ma-sm">
|
||||
<q-btn push
|
||||
rounded
|
||||
color="positive"
|
||||
size="md"
|
||||
:label="$t('dashboard.ho_effettuato_il_dono')"
|
||||
icon="fas fa-gift"
|
||||
@click="HoEffettuatoIlDono">
|
||||
</q-btn>
|
||||
</div>
|
||||
</div>
|
||||
<div v-else>
|
||||
<div class="row justify-center q-ma-sm">
|
||||
<q-chip class="glossy"
|
||||
text-color="white"
|
||||
color="positive"
|
||||
icon="fas fa-gift">
|
||||
{{ $t('dashboard.ho_effettuato_il_dono') }}
|
||||
</q-chip>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="FattoDono">
|
||||
<q-chip class="glossy"
|
||||
color="positive"
|
||||
text-color="white"
|
||||
icon="fas fa-gift">
|
||||
{{ $t('dashboard.dono_ricevuto') }}
|
||||
</q-chip>
|
||||
</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>
|
||||
Doni Ricevuti:
|
||||
</div>
|
||||
<div class="ricevuti dati">{{getDoniConfermati()}}</div>
|
||||
</div>
|
||||
<div class="">
|
||||
<div class="inviati">
|
||||
Doni Inviati (da confermare):
|
||||
</div>
|
||||
<div class="inviati dati">{{getDoniAttesaDiConferma()}}</div>
|
||||
</div>
|
||||
<div class="">
|
||||
<div class="">
|
||||
Doni Mancanti:
|
||||
</div>
|
||||
<div class="mancanti dati">{{getDoniMancanti()}}</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<q-table
|
||||
dense
|
||||
color="primary"
|
||||
title="Donatori"
|
||||
:data="arrdonatori"
|
||||
:columns="coldonatori"
|
||||
: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>
|
||||
|
||||
<div class="q-ma-md q-butter-sm" v-if="!!linkchatopen">
|
||||
Per entrare nella Gift Chat, clicca qui:<br>
|
||||
<div class="q-ma-md">
|
||||
<q-btn rounded color="primary" icon="fab fa-telegram" :label="$t('dashboard.entra_in_gift_chat')"
|
||||
type="a"
|
||||
:href="linkchatopen" target="_blank"></q-btn>
|
||||
<br>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</q-tab-panel>
|
||||
<q-tab-panel name="donatore">
|
||||
|
||||
<div v-if="nave.rec.donatore.recsognatori">
|
||||
<div class="sognatore">SOGNATORI:</div>
|
||||
<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">MEDIATORE:</div>
|
||||
<div :class="`cont_mediatore ` + getclassSelect(nave.rec.donatore.recmediatore)">
|
||||
{{ nave.rec.donatore.recmediatore.name }} {{ nave.rec.donatore.recmediatore.surname }} ({{
|
||||
nave.rec.donatore.recmediatore.username }})
|
||||
</div>
|
||||
</div>
|
||||
<div class="donatore">DONATORI:</div>
|
||||
<div v-for="(donatore, index) in nave.rec.donatore.arrdonatori" :key="index">
|
||||
<div v-if="donatore" :class="`cont_donatore ` + getclassSelect(donatore)">
|
||||
D{{index + 1}} - {{ donatore.name }} {{ donatore.surname }} ({{ donatore.username }}) {{
|
||||
donatore.riga}}.{{donatore.col}}<br>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</q-tab-panel>
|
||||
<q-tab-panel name="mediatore">
|
||||
|
||||
<div v-if="nave.rec.mediatore.recsognatori">
|
||||
<div class="sognatore">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">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="donatore">DONATORI:</div>
|
||||
<div v-for="(donatore, index) in nave.rec.mediatore.arrdonatori" :key="index">
|
||||
<div v-if="donatore" :class="`cont_donatore ` + getclassSelect(donatore)">
|
||||
D{{index + 1}} - {{ donatore.name }} {{ donatore.surname }} ({{ donatore.username }}) {{
|
||||
donatore.riga}}.{{donatore.col}}<br>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</q-tab-panel>
|
||||
</q-tab-panels>
|
||||
</div>
|
||||
</CTitleBanner>
|
||||
</div>
|
||||
</CTitleBanner>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script lang="ts" src="./CMyNave.ts">
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import './CMyNave.scss';
|
||||
@import './CMyNave.scss';
|
||||
</style>
|
||||
|
||||
0
src/components/CMyNave/index.ts
Normal file → Executable file
0
src/components/CMyNave/index.ts
Normal file → Executable file
Reference in New Issue
Block a user