Grosse Modifiche Completate !

This commit is contained in:
Paolo Arena
2020-05-11 22:43:54 +02:00
parent 33cc721ceb
commit e4570fc393
19 changed files with 1342 additions and 1020 deletions

View File

@@ -58,6 +58,8 @@ export default class CMyDashboard extends MixinUsers {
public showregalainv: boolean = false public showregalainv: boolean = false
public id_listaingr: number = -1 public id_listaingr: number = -1
public ind_order_ingr: number = -1 public ind_order_ingr: number = -1
public myrigaattuale: number = 0
public mycolattuale: number = 0
public dashboard: IDashboard = { public dashboard: IDashboard = {
myself: DefaultUser, myself: DefaultUser,
aportador: DefaultUser, aportador: DefaultUser,
@@ -76,10 +78,10 @@ export default class CMyDashboard extends MixinUsers {
@Watch('UserStore.state.my.dashboard') @Watch('UserStore.state.my.dashboard')
public changedash() { public changedash() {
console.log('changedash') // console.log('changedash')
this.dashboard = UserStore.state.my.dashboard this.dashboard = UserStore.state.my.dashboard
if (!!this.dashboard) if (!!this.dashboard)
this.invitante_username = this.dashboard.myself.aportador_solidario this.invitante_username = this.dashboard.myself.username
} }
@@ -96,7 +98,7 @@ export default class CMyDashboard extends MixinUsers {
public changetab(val) { public changetab(val) {
tools.setCookie(tools.TABBED_DASHBOARD, val) tools.setCookie(tools.TABBED_DASHBOARD, val)
console.log('setcook', val) // console.log('setcook', val)
} }
@Watch('this.username') @Watch('this.username')
@@ -112,7 +114,7 @@ export default class CMyDashboard extends MixinUsers {
} }
public async update_username() { public async update_username() {
console.log('update_username') // console.log('update_username')
this.loading = true this.loading = true
if (this.username === '') if (this.username === '')
this.myusername = this.getMyUsername() this.myusername = this.getMyUsername()
@@ -125,9 +127,12 @@ export default class CMyDashboard extends MixinUsers {
this.dashboard = ris this.dashboard = ris
if (!!this.dashboard) if (!!this.dashboard)
this.invitante_username = this.dashboard.myself.aportador_solidario this.invitante_username = this.dashboard.myself.username
console.log('this.invitante_username', this.invitante_username) this.myrigaattuale = this.dashboard.lastnave.riga
this.mycolattuale = this.dashboard.lastnave.col
// console.log('this.invitante_username', this.invitante_username)
this.loading = false this.loading = false
}) })
@@ -184,8 +189,8 @@ export default class CMyDashboard extends MixinUsers {
public datanave(mianave) { public datanave(mianave) {
// const mynavepart = this.getnavePartenzaByRigaCol(tools.getRiganave(mianave.riga), tools.getColnave(mianave.col)) // const mynavepart = this.getnavePartenzaByRigaCol(tools.getRiganave(mianave.riga), tools.getColnave(mianave.col))
if (!!mianave.nave_partenza) { if (!!mianave.nave_partenza) {
if (!!mianave.nave_partenza.date_start) if (!!mianave.nave_partenza.date_gift_chat_open)
return tools.getstrshortDate(mianave.nave_partenza.date_start) return tools.getstrshortDate(mianave.nave_partenza.date_gift_chat_open)
} }
return ' --/-- ' return ' --/-- '
} }
@@ -340,7 +345,7 @@ export default class CMyDashboard extends MixinUsers {
get allowSubmit() { get allowSubmit() {
let error = this.$v.$error || this.$v.$invalid let error = this.$v.$error || this.$v.$invalid
error = error || (this.invitante_username === this.dashboard.myself.username) // error = error || (this.invitante_username === this.dashboard.myself.username)
return !error return !error
@@ -370,9 +375,11 @@ export default class CMyDashboard extends MixinUsers {
tools.saveFieldToServer(this, 'navi', mianave._id, mydata) tools.saveFieldToServer(this, 'navi', mianave._id, mydata)
} }
public getNaveSognatoreStr(mianave, index) { public getNaveSognatoreStr(mianave) {
const mynavedest = tools.getfirstnaveSognatore(mianave.riga, mianave.col) const mynavedest = tools.getfirstnaveSognatore(mianave.riga, mianave.col)
return mynavedest.riga + '.' + parseInt(mynavedest.col, 10) + index const ris = mynavedest.riga + '.' + mynavedest.col
// console.log('ris', ris)
return ris
} }
public getNaveMediatoreStr(mianave) { public getNaveMediatoreStr(mianave) {

View File

@@ -16,6 +16,10 @@
</q-tabs> </q-tabs>
<div v-if="loading" class="q-ma-md text-center" style="height: 100px;">
<q-spinner-gears size="50px" color="primary"/>
</div>
<q-tab-panels v-model="tab" animated> <q-tab-panels v-model="tab" animated>
<q-tab-panel name="requisiti"> <q-tab-panel name="requisiti">
<div v-if="!!dashboard.myself.name"> <div v-if="!!dashboard.myself.name">
@@ -141,10 +145,112 @@
</q-tab-panel> </q-tab-panel>
<q-tab-panel name="navi"> <q-tab-panel name="navi">
<div>
<div v-if="!Completato9Req && !HasNave">
<CTitleBanner icon="person" :canopen="true" class="q-pa-xs text-center"
:title="$t('pages.posizione_in_programmazione')" bgcolor="bg-blue"
clcolor="text-white" mystyle=" " myclass="myshad">
<CRequisiti :statebool="Completato7Req"
:msgTrue="$t('steps.enter_prog_requisiti_ok') + $t('steps.enter_prog_requisiti_ok')"
:msgFalse="$t('steps.enter_prog_completa_requisiti')">
</CRequisiti>
</CTitleBanner>
</div>
</div>
<div v-if="dashboard.myself.qualified"> <div v-if="dashboard.myself.qualified">
<CTitleBanner icon="fas fa-gift" :canopen="true" class="q-pa-xs text-center"
:title="$t('pages.posizione_in_nave')" bgcolor="bg-green" <CTitleBanner class=""
clcolor="text-white" mystyle=" " myclass="myshad"> v-if="imbarchipresenti()"
:title="$t('pages.posizione_in_programmazione')"
bgcolor="bg-primary"
clcolor="text-white"
mystyle="" myclass="myshad" canopen="true">
<div class="row justify-center items-center ">
<div class="col-2">
{{ $t('dashboard.num_tessitura') }}
</div>
<div class="col-3 ">
{{ $t('dashboard.posizione') }}
</div>
<div class="col-4 ">
{{ $t('dashboard.invitante') }}
</div>
<div class="col-2 ">
{{ $t('dashboard.downline') }}
</div>
<!--<div class="col-2">
{{ $t('dashboard.dono_da_effettuare') }}
</div>-->
<div class="col-1">
{{ $t('reg.elimina') }}
</div>
</div>
<div v-for="(mioimbarco, index) in dashboard.arrimbarchi" :key="index">
<div v-if="!mioimbarco.added" class="row justify-center items-center ">
<div class="col-2">
<div class="posizione_imbarco">{{ index }}</div>
</div>
<div class="col-3">
<div class="posizione_imbarco">{{ mioimbarco.posiz.posiz }} / {{
mioimbarco.posiz.totposiz }}
</div>
</div>
<div class="col-4">
<div class="posizione_imbarco">
<CUserBadge :yourinvite="false" :showsteps="false" :showregalainv="true"
:user="dashboard.arrusers[mioimbarco.invitante_username]" mycolor="orange"
:ind_order_ingr="mioimbarco.ind_order"
:id_listaingr="mioimbarco._id"
:index="index"
:numpeople="0"
@myclick="selectclick">
</CUserBadge>
</div>
</div>
<div class="col-2">
<div class="posizione_imbarco">
<CCardState :mytext="$t('pages.statusreg.people')"
:myval="getnuminvattivi(index, dashboard.myself, mioimbarco.posiz)+'/'+getnuminv(index, dashboard.myself, mioimbarco.posiz)"
:myperc="getnuminvperc(index, dashboard.myself, mioimbarco.posiz)" size="50px"
size_mob="40px"
fontsize="0.75rem" myclass="my-card-small-stat"
:mycolor="getcolorinvitati(index, dashboard.myself, mioimbarco.posiz)"></CCardState>
</div>
</div>
<!--<div class="col-2">
<div class="posizione_imbarco">33 </div>
</div>-->
<div class="col-1">
<div class="posizione_imbarco">
<q-btn flat round color="red" icon="fas fa-trash-alt" size="sm"
@click="cancellaImbarco(mioimbarco)"></q-btn>
</div>
</div>
</div>
</div>
<CRequisiti :statebool="true"
:msgTrue="$t('steps.enter_prog_msg') + '<br><strong>' + $t('steps.enter_prog_msg_2') + '</strong>'"
msgFalse="">
</CRequisiti>
</CTitleBanner>
<div class="text-center">
<q-btn class="q-ma-md" rounded size="md"
icon="fas fa-info"
color="primary" @click="shownuovoviaggio=true"
:label="$t('steps.nuovo_imbarco')">
</q-btn>
</div>
<div class="q-pa-xs text-center">
<div v-if="!!dashboard.myself.name"> <div v-if="!!dashboard.myself.name">
<div v-if="!HasNave"> <div v-if="!HasNave">
@@ -154,21 +260,6 @@
</CRequisiti> </CRequisiti>
</div> </div>
<div v-if="loading" class="text-center" style="height: 50px;">
<q-spinner-gears size="50px" color="primary"/>
</div>
<div class="row justify-center no-wrap">
<div class="col-1 cont_pos_intest">Num</div>
<div class="col-3 cont_intestaz ">{{$t('dashboard.nave')}}</div>
<div class="col-3 cont_intestaz " v-html="$t('dashboard.data_partenza')"></div>
<div class="col-3 cont_intestaz_small" v-html="$t('dashboard.doni_inviati')"></div>
<div class="col-2 cont_intestaz_small" v-html="$t('reg.note')"></div>
<!--<div class="col-3 cont_intestaz " v-html="$t('dashboard.tragitto')"></div>-->
<!--<div class="col-1 cont_intestaz ">Tot:</div>-->
</div>
<div v-for="(mianave, index) in dashboard.arrposizioni" :key="index" <div v-for="(mianave, index) in dashboard.arrposizioni" :key="index"
class="q-pa-sm row items-start q-gutter-sm"> class="q-pa-sm row items-start q-gutter-sm">
<q-card class="my-card-shadow yes_shadow"> <q-card class="my-card-shadow yes_shadow">
@@ -191,13 +282,14 @@
</q-chip> </q-chip>
</div> </div>
<div class="row items-center justify-center q-ma-xs"> <div class="row items-center justify-between q-ma-xs" style="width: 100%;">
<div class="row items-center justify-around q-ma-xs no-wrap" style="width: 100%; font-weight: bold; font-size: 1rem"> <div class="row items-center justify-between q-ma-xs no-wrap"
style="width: 100%; font-weight: bold; font-size: 1rem">
<div>{{$t('dashboard.donatore')}}</div> <div>{{$t('dashboard.donatore')}}</div>
<div>{{$t('dashboard.mediatore')}}</div> <div>{{$t('dashboard.mediatore')}}</div>
<div>{{$t('dashboard.sognatore')}}</div> <div>{{$t('dashboard.sognatore')}}</div>
</div> </div>
<div class="row items-center justify-around q-ma-xs no-wrap" style="width: 100%;"> <div class="row items-center justify-between q-ma-xs no-wrap" style="width: 100%;">
<q-chip class="glossy q-ma-sm" color="red" text-color="white" <q-chip class="glossy q-ma-sm" color="red" text-color="white"
icon="fas fa-ship"> icon="fas fa-ship">
{{ tools.getrigacolstr(mianave) }} {{ tools.getrigacolstr(mianave) }}
@@ -208,16 +300,36 @@
</q-chip> </q-chip>
<q-chip class="glossy q-ma-sm" color="purple" text-color="white" <q-chip class="glossy q-ma-sm" color="purple" text-color="white"
icon="fas fa-ship"> icon="fas fa-ship">
{{ getNaveSognatoreStr(mianave, 0)}} {{ getNaveSognatoreStr(mianave)}}
</q-chip> </q-chip>
<!--<span v-for="index of 8">{{ getNaveSognatoreStr(mianave, index)}} - </span>--> <!--<span v-for="index of 8">{{ getNaveSognatoreStr(mianave, index)}} - </span>-->
</div> </div>
</div> </div>
<div class="row items-center justify-center q-ma-xs" style="width: 100%;"> <div class="q-pa-md" style="width: 100%;">
<q-list> <!--<q-badge color="primary">
{{$t('dashboard.nave')}} {{ myrigaattuale }}.{{ mycolattuale }}
</q-badge>-->
<q-list dense>
<q-item>
<q-item-section avatar>
<q-icon color="blue" name="fas fa-ship"></q-icon>
</q-item-section>
<q-item-section>
<q-slider
v-model="myrigaattuale"
markers
label
:label-value="tools.getlastnavestr(dashboard.lastnave)"
label-always
readonly
:min="tools.getRiganave(mianave.riga)"
:max="tools.getRiganave(mianave.riga)+6">
<q-item clickable> </q-slider>
</q-item-section>
</q-item>
<q-item>
<q-item-section avatar> <q-item-section avatar>
<q-icon :color="colordono(mianave)" inverted size="sm" name="fas fa-gift" <q-icon :color="colordono(mianave)" inverted size="sm" name="fas fa-gift"
class="gift"></q-icon> class="gift"></q-icon>
@@ -225,7 +337,15 @@
<q-item-section> <q-item-section>
<q-item-label> <q-item-label>
<div v-if="mianave.made_gift">{{ $t('dashboard.ho_effettuato_il_dono') }}</div> <div v-if="mianave.made_gift">
<q-chip class="glossy"
size="md"
text-color="green"
color="white"
icon="fas fa-gift">
{{ $t('dashboard.ho_effettuato_il_dono') }}
</q-chip>
</div>
</q-item-label> </q-item-label>
</q-item-section> </q-item-section>
</q-item> </q-item>
@@ -234,15 +354,18 @@
</div> </div>
<div class="row items-center justify-around q-ma-xs"> <div class="row items-center justify-around q-ma-xs">
<q-input v-model="mianave.note" :label="$t('reg.note')" <q-input v-model="mianave.note" :label="$t('reg.note')"
rounded outlined
debounce="1000" debounce="1000"
style="width: 100%;" style="width: 100%;"
@input="change_mynote(mianave)"> @input="change_mynote(mianave)">
<template v-slot:prepend>
<q-icon name="edit"/>
</template>
</q-input> </q-input>
</div> </div>
<div> <div>
<CMyNave :posizprop="mianave" :key="index" <CMyNave :posizprop="mianave" :key="index"
:navi_partenzaprop="dashboard.navi_partenza" :listanavi="false"> :navi_partenzaprop="dashboard.navi_partenza" :listanavi="false" :dashboard="dashboard">
</CMyNave> </CMyNave>
</div> </div>
@@ -265,105 +388,11 @@
</div>--> </div>-->
</div> </div>
<CTitleBanner class=""
v-if="imbarchipresenti()"
:title="$t('pages.posizione_in_programmazione')"
bgcolor="bg-primary"
clcolor="text-white"
mystyle="" myclass="myshad" canopen="true">
<div class="row justify-center items-center ">
<div class="col-2">
{{ $t('dashboard.num_tessitura') }}
</div>
<div class="col-3 ">
{{ $t('dashboard.posizione') }}
</div>
<div class="col-4 ">
{{ $t('dashboard.invitante') }}
</div>
<div class="col-2 ">
{{ $t('dashboard.downline') }}
</div>
<!--<div class="col-2">
{{ $t('dashboard.dono_da_effettuare') }}
</div>-->
<div class="col-1">
{{ $t('reg.elimina') }}
</div>
</div>
<div v-for="(mioimbarco, index) in dashboard.arrimbarchi" :key="index">
<div v-if="!mioimbarco.added" class="row justify-center items-center ">
<div class="col-2">
<div class="posizione_imbarco">{{ index }}</div>
</div>
<div class="col-3">
<div class="posizione_imbarco">{{ mioimbarco.posiz.posiz }} / {{
mioimbarco.posiz.totposiz }}
</div>
</div>
<div class="col-4">
<div class="posizione_imbarco">
<CUserBadge :yourinvite="false" :showsteps="false" :showregalainv="true"
:user="dashboard.arrusers[mioimbarco.invitante_username]" mycolor="orange"
:ind_order_ingr="mioimbarco.ind_order"
:id_listaingr="mioimbarco._id"
:index="index"
:numpeople="0"
@myclick="selectclick">
</CUserBadge>
</div>
</div>
<div class="col-2">
<div class="posizione_imbarco">
<CCardState :mytext="$t('pages.statusreg.people')"
:myval="getnuminvattivi(index, dashboard.myself, mioimbarco.posiz)+'/'+getnuminv(index, dashboard.myself, mioimbarco.posiz)"
:myperc="getnuminvperc(index, dashboard.myself, mioimbarco.posiz)" size="50px"
size_mob="40px"
fontsize="0.75rem" myclass="my-card-small-stat"
:mycolor="getcolorinvitati(index, dashboard.myself, mioimbarco.posiz)"></CCardState>
</div>
</div>
<!--<div class="col-2">
<div class="posizione_imbarco">33 </div>
</div>-->
<div class="col-1">
<div class="posizione_imbarco">
<q-btn flat round color="red" icon="fas fa-trash-alt" size="sm"
@click="cancellaImbarco(mioimbarco)"></q-btn>
</div>
</div>
</div>
</div>
<q-btn class="q-ma-md" rounded size="md"
icon="fas fa-info"
color="primary" @click="shownuovoviaggio=true"
:label="$t('steps.nuovo_imbarco')">
</q-btn>
<CRequisiti :statebool="true"
:msgTrue="$t('steps.enter_prog_msg') + '<br><strong>' + $t('steps.enter_prog_msg_2') + '</strong>'"
msgFalse="">
</CRequisiti>
</CTitleBanner>
<!--<div>
<CMyNave v-for="(mianave, index) in dashboard.arrposizioni" :posizprop="mianave"
:key="index"
:navi_partenzaprop="dashboard.navi_partenza" :listanavi="false">
</CMyNave>
</div>-->
</div> </div>
</CTitleBanner> </div>
</div> </div>
@@ -372,21 +401,6 @@
</div> </div>
<div> <div>
<div>
<div v-if="!Completato9Req && !HasNave">
<CTitleBanner icon="person" :canopen="true" class="q-pa-xs text-center"
:title="$t('pages.posizione_in_programmazione')" bgcolor="bg-blue"
clcolor="text-white" mystyle=" " myclass="myshad">
<CRequisiti :statebool="Completato7Req"
:msgTrue="$t('steps.enter_prog_requisiti_ok') + $t('steps.enter_prog_requisiti_ok')"
:msgFalse="$t('steps.enter_prog_completa_requisiti')">
</CRequisiti>
</CTitleBanner>
</div>
</div>
<div v-if="!!dashboard.myself.name"> <div v-if="!!dashboard.myself.name">
<div v-if="dashboard.myself.deleted"> <div v-if="dashboard.myself.deleted">
<span style="color: red;"> <h2><strong>UTENTE CANCELLATO (Nascosto: true) !</strong></h2></span> <span style="color: red;"> <h2><strong>UTENTE CANCELLATO (Nascosto: true) !</strong></h2></span>
@@ -398,10 +412,6 @@
</div> </div>
<div v-if="loading" class="text-center" style="height: 50px;">
<q-spinner-gears size="50px" color="primary"/>
</div>
</div> </div>
@@ -424,10 +434,6 @@
</CTitleBanner> </CTitleBanner>
--> -->
<CCopyBtn :title="$t('reg.reflink')" :texttocopy="getRefLink">
</CCopyBtn>
<br> <br>
<q-dialog v-model="showuserinfo"> <q-dialog v-model="showuserinfo">
@@ -457,10 +463,7 @@
</q-toolbar> </q-toolbar>
<q-card-section class="inset-shadow" style="padding: 4px !important;"> <q-card-section class="inset-shadow" style="padding: 4px !important;">
<CTitleBanner class="q-pa-xs text-center" :title="$t('steps.nuovo_imbarco')" bgcolor="bg-blue" <div class="q-pa-sm">
clcolor="text-white"
mystyle=" " myclass="myshad">
<div v-html="$t('steps.vuoi_entrare_nuova_nave')"> <div v-html="$t('steps.vuoi_entrare_nuova_nave')">
</div> </div>
@@ -491,7 +494,7 @@
</q-input> </q-input>
<q-toggle v-model="notifBot" :label="$t('dashboard.sendnotification')"/> <!--<q-toggle v-model="notifBot" :label="$t('dashboard.sendnotification')"/>-->
<q-btn class="q-ma-md" rounded size="md" <q-btn class="q-ma-md" rounded size="md"
icon="fas fa-ship" icon="fas fa-ship"
@@ -500,10 +503,7 @@
:label="$t('steps.nuovo_imbarco')"> :label="$t('steps.nuovo_imbarco')">
</q-btn> </q-btn>
</div> </div>
</div>
</CTitleBanner>
</q-card-section> </q-card-section>
</q-card> </q-card>
</q-dialog> </q-dialog>

View File

@@ -1,4 +1,5 @@
.donatore, .mediatore, .sognatore, .title-nave, .intermedio2, .intermedio3 {
.title-nave {
padding: 2px 4px; padding: 2px 4px;
margin: 2px 4px; margin: 2px 4px;
color: white; color: white;
@@ -6,6 +7,33 @@
border-radius: 16px; border-radius: 16px;
} }
.donatore, .mediatore, .sognatore, .intermedio1, .intermedio2, .intermedio4, .intermedio5{
color: white;
background-color: lightblue;
padding: 1px 2px;
margin: 1px 2px;
font-size: 0.8rem;
border-radius: 32px;
font-weight: bold;
text-transform: uppercase;
max-width: 200px;
margin-left: auto;
margin-right: auto;
}
.intermedio1{
background-color: indigo;
}
.intermedio2{
background-color: blue;
}
.intermedio4{
background-color: yellow;
color: black;
}
.intermedio5{
background-color: orange;
}
.tutor{ .tutor{
@@ -17,24 +45,19 @@
.donatore { .donatore {
background-color: red; background-color: red;
text-transform: uppercase;
} }
.mediatore { .mediatore {
background-color: green; background-color: green;
text-transform: uppercase;
} }
.sognatore { .sognatore {
background-color: purple; background-color: purple;
text-transform: uppercase;
} }
.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 { .cont_donatore, .cont_sognatore, .cont_mediatore, .cont_tragitto, .cont_pos, .cont_intestaz, .cont_pos_intest, .cont_intestaz_small {
border: solid 2px #4198ef; border: solid 2px #4198ef;
@@ -51,6 +74,13 @@
.you { .you {
background-color: yellow; background-color: yellow;
} }
.issognatore {
background-color: orangered;
color: white;
font-size: 1.10rem;
border-radius: 64px;
font-weight: bold;
}
.cont_tragitto{ .cont_tragitto{
color: blue; color: blue;
@@ -102,7 +132,7 @@
} }
.titlenave{ .titlenave{
width: 55px; width: 75px;
text-align: center; text-align: center;
} }

View File

@@ -25,10 +25,12 @@ export default class CMyNave extends MixinNave {
@Prop({ required: false, default: null }) public posizprop @Prop({ required: false, default: null }) public posizprop
@Prop({ required: true }) public navi_partenzaprop: any[] @Prop({ required: true }) public navi_partenzaprop: any[]
@Prop({ required: true }) public listanavi: boolean @Prop({ required: true }) public listanavi: boolean
@Prop({ required: false, default: null }) public dashboard: any
public navi_partenza: any[] public navi_partenza: any[]
public $t public $t
public $v public $v
public link_chat: string = '' public link_chat: string = ''
public tabnave: string = 'donatore'
public cosa: string = 'tragitto' public cosa: string = 'tragitto'
public cosa2: string = 'donatore' public cosa2: string = 'donatore'
public nave: any = null public nave: any = null
@@ -50,6 +52,11 @@ export default class CMyNave extends MixinNave {
public loading: boolean = false public loading: boolean = false
public showmsguser: boolean = false public showmsguser: boolean = false
public seluser = null public seluser = null
public showtesto: boolean = false
public notifBot: boolean = true
public deleteUser: boolean = true
public AddImbarco: boolean = true
public seltesto: string = ''
public msg_tosend_user: string = '' public msg_tosend_user: string = ''
public username_sostituire: string = '' public username_sostituire: string = ''
public MyPagination: { public MyPagination: {
@@ -59,7 +66,7 @@ export default class CMyNave extends MixinNave {
rowsNumber: number, // specifying this determines pagination is server-side rowsNumber: number, // specifying this determines pagination is server-side
rowsPerPage: number rowsPerPage: number
} = { sortBy: 'index', descending: false, page: 1, rowsNumber: 10, rowsPerPage: 10 } } = { sortBy: 'index', descending: false, page: 1, rowsNumber: 10, rowsPerPage: 10 }
public coldonatori: any[] = [ public coldonatori_cell: any[] = [
/*{ /*{
name: 'index', name: 'index',
required: true, required: true,
@@ -70,6 +77,23 @@ export default class CMyNave extends MixinNave {
},*/ },*/
{ name: 'name', align: 'center', label: translate('reg.name'), field: 'name', 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: 'surname', align: 'center', label: translate('reg.surname'), field: 'surname', 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: 'Conferm.', field: 'made_gift', sortable: true },
]
public coldonatori: any[] = [
{
name: 'index',
required: true,
label: 'Num',
align: 'left',
field: 'index',
sortable: true
},
{ name: 'nave', align: 'center', label: 'Gift Chat', field: 'nave', sortable: true },
{ name: 'name', align: 'center', label: 'Nome Cognome', field: 'name', sortable: true },
{ name: 'posizione', align: 'center', label: 'Posizione', field: 'posizione', sortable: true },
{ name: 'date_made_gift', align: 'center', label: 'Inviato', field: 'date_made_gift', 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: 'tel', align: 'center', label: 'Tel', field: 'tel', sortable: true },
{ name: 'made_gift', align: 'center', label: 'Conferm.', field: 'made_gift', sortable: true }, { name: 'made_gift', align: 'center', label: 'Conferm.', field: 'made_gift', sortable: true },
@@ -130,6 +154,17 @@ export default class CMyNave extends MixinNave {
this.aggiorna() this.aggiorna()
} }
public created() {
if (!!tools.getCookie(tools.TABBED_NAVE)) {
this.tabnave = tools.getCookie(tools.TABBED_NAVE)
}
}
public changetab(val) {
tools.setCookie(tools.TABBED_NAVE, val)
// console.log('setcook', val)
}
public aggiorna() { public aggiorna() {
this.riga = tools.getValDb('riga', false, 1) this.riga = tools.getValDb('riga', false, 1)
@@ -232,6 +267,12 @@ export default class CMyNave extends MixinNave {
} }
public sonoMediatore() { public sonoMediatore() {
if (!this.nave)
return false
if (!this.nave.rec.donatore.recmediatore)
return false
if (!!this.nave) { if (!!this.nave) {
if (!!this.nave.rec.donatore) if (!!this.nave.rec.donatore)
return this.nave.rec.donatore.recmediatore.ind_order === this.myindorder return this.nave.rec.donatore.recmediatore.ind_order === this.myindorder
@@ -245,6 +286,15 @@ export default class CMyNave extends MixinNave {
} }
public partenza_primo_donatore() { public partenza_primo_donatore() {
if (!!this.nave) {
if (!!this.mediatore_navepers) {
return this.mediatore_navepers.date_gift_chat_open
}
}
return ''
}
public fine_doni() {
if (!!this.nave) { if (!!this.nave) {
if (!!this.mediatore_navepers) { if (!!this.mediatore_navepers) {
return this.mediatore_navepers.date_start return this.mediatore_navepers.date_start
@@ -255,13 +305,13 @@ export default class CMyNave extends MixinNave {
public getGiornoDelDono() { public getGiornoDelDono() {
if (!!this.nave) { if (!!this.nave) {
return tools.getstrDate(this.donatore_navepers.date_start) return tools.getstrDate(this.donatore_navepers.date_gift_chat_open)
} }
} }
get GiornoDelDonoArrivato() { get GiornoDelDonoArrivato() {
if (!!this.nave) { if (!!this.nave) {
return tools.isDateArrived(this.donatore_navepers.date_start) return tools.isDateArrived(this.donatore_navepers.date_gift_chat_open)
} }
return false return false
} }
@@ -408,12 +458,18 @@ export default class CMyNave extends MixinNave {
} }
public sonoSecondaTessituraDonatore() { public sonoSecondaTessituraDonatore() {
const mediatore = this.getmediatore() if (!!this.nave) {
for (const rec of this.nave.rec.donatore.arrdonatori) { const mediatore = this.getmediatore()
if (!!rec) { if (!!this.nave.rec.donatore && !!mediatore) {
if (mediatore) { if (!!this.nave.rec.donatore.arrdonatori) {
if ((mediatore.ind_order === rec.ind_order) && (rec.num_tess % 2) === 0) for (const rec of this.nave.rec.donatore.arrdonatori) {
return true if (!!rec) {
if (mediatore) {
if ((mediatore.ind_order === rec.ind_order) && (rec.num_tess % 2) === 0)
return true
}
}
}
} }
} }
} }
@@ -426,8 +482,10 @@ export default class CMyNave extends MixinNave {
} }
public getmediatore() { public getmediatore() {
if (!!this.nave.rec.mediatore) if (!!this.nave) {
return this.nave.rec.mediatore.recmediatore if (!!this.nave.rec.mediatore)
return this.nave.rec.mediatore.recmediatore
}
return null return null
} }
@@ -455,7 +513,10 @@ export default class CMyNave extends MixinNave {
return this.donatore_navepers.link_chat return this.donatore_navepers.link_chat
} }
public getclassSelect(rec) { public getclassSelect(rec, sognatore, index) {
if (sognatore && index === 0) {
return ' issognatore'
}
if (rec.ind_order === this.myindorder) if (rec.ind_order === this.myindorder)
return ' you' return ' you'
} }
@@ -467,24 +528,24 @@ export default class CMyNave extends MixinNave {
else { else {
ris = (this.getrigaNaveByInd(ind)) + '.' + this.getcolNaveByInd(ind) ris = (this.getrigaNaveByInd(ind)) + '.' + this.getcolNaveByInd(ind)
} }
let add = ''
// for (let index = 0; index < (4 - ris.length); index++) {
// add += '&nbsp;'
// }
ris = add + ris
return ris return ris
} }
public getdatanave(rec) { public getdatanave(rec) {
if (!this.nave)
return ''
if (this.sonoDonatore()) { if (this.sonoDonatore()) {
if (rec.ind === 1) { if (rec.ind === 1) {
return tools.getstrshortDate(this.nave.date_start) // Donatore return tools.getstrshortDate(this.nave.date_gift_chat_open) // Donatore
} }
} }
if (this.sonoMediatore()) { if (this.sonoMediatore()) {
if (!rec)
return false
if (rec.ind === 4) { if (rec.ind === 4) {
return tools.getstrshortDate(this.nave.date_start) // Mediatore return tools.getstrshortDate(this.nave.date_gift_chat_open) // Mediatore
} }
} }
@@ -492,13 +553,24 @@ export default class CMyNave extends MixinNave {
const col = this.getcolNaveByInd(rec.ind) const col = this.getcolNaveByInd(rec.ind)
const mynavepart = this.getnavePartenzaByRigaCol(riga, col) const mynavepart = this.getnavePartenzaByRigaCol(riga, col)
if (!!mynavepart) { if (!!mynavepart) {
if (!!mynavepart.date_start) if (!!mynavepart.date_gift_chat_open)
return tools.getstrshortDate(mynavepart.date_start) return tools.getstrshortDate(mynavepart.date_gift_chat_open)
} }
return ' --/-- ' return ' --/-- '
// return this.getNavePartByInd(rec.ind) // return this.getNavePartByInd(rec.ind)
} }
public getlinkchat(row) {
const riga = tools.getRiganave(row.riga)
const col = tools.getColnave(row.col)
const mynavepart = this.getnavePartenzaByRigaCol(riga, col)
if (!!mynavepart) {
if (!!mynavepart.link_chat)
return mynavepart.link_chat
}
}
public getTutor(rec) { public getTutor(rec) {
const mynavepart = this.getnavePartenzaByRigaCol(rec.riga, rec.col) const mynavepart = this.getnavePartenzaByRigaCol(rec.riga, rec.col)
if (!!mynavepart) if (!!mynavepart)
@@ -551,10 +623,12 @@ export default class CMyNave extends MixinNave {
} }
public getclpos(rec) { public getclpos(rec) {
if (this.NaveeseguitabyInd(this.getrigaNaveByInd(rec.ind))) { if (!!this.dashboard) {
return 'you' if (this.dashboard.lastnave.riga >= this.getrigaNaveByInd(rec.ind)) {
} else { return 'you'
return '' } else {
return ''
}
} }
} }
@@ -634,16 +708,27 @@ export default class CMyNave extends MixinNave {
return tools.getstrshortDate(mydata) return tools.getstrshortDate(mydata)
} }
public gettitlemediatore() { public datefromto() {
return this.getdatastr(this.partenza_primo_donatore()) + ' ' + this.$t('dashboard.nave') + ' ' + this.getisProvvisoriaMediatoreStr() + this.mediatore.riga + '.' + this.mediatore.col + ' ' + '🎁' + this.$t('ws.sitename') if (this.partenza_primo_donatore() !== this.fine_doni())
// return this.$t('words.da') + ' ' + this.getdatastr(this.partenza_primo_donatore()) + ' ' + this.$t('words.a') + ' ' + this.getdatastr(this.fine_doni())
return this.getdatastr(this.partenza_primo_donatore()) + ' - ' + this.getdatastr(this.fine_doni())
else
return this.getdatastr(this.fine_doni())
}
public gettitlemediatore(acapo) {
let add = ' - '
if (acapo)
add = ' '
return this.datefromto() + add + this.$t('dashboard.nave') + ' ' + this.getisProvvisoriaMediatoreStr() + this.mediatore.riga + '.' + this.mediatore.col + ' ' + '🎁' + this.$t('ws.sitename')
} }
public gettitledonatore() { public gettitledonatore() {
return this.getdatastr(this.donatore_navepers.date_start) + ' ' + this.$t('dashboard.nave') + ' ' + this.getisProvvisoriaStr() + this.donatore_navepers.riga + '.' + this.donatore_navepers.col + ' ' + '🎁' + this.$t('ws.sitename') return this.getdatastr(this.donatore_navepers.date_gift_chat_open) + ' ' + this.$t('dashboard.nave') + ' ' + this.getisProvvisoriaStr() + this.donatore_navepers.riga + '.' + this.donatore_navepers.col + ' ' + '🎁' + this.$t('ws.sitename')
} }
public gettesto() { public gettesto() {
return this.$t('dashboard.sonomediatore', { nomenave: this.gettitlemediatore() }) return this.$t('dashboard.sonomediatore', { nomenave: this.gettitlemediatore(false) })
} }
public getisProvvisoriaStr() { public getisProvvisoriaStr() {
@@ -761,16 +846,17 @@ export default class CMyNave extends MixinNave {
public getpartenza() { public getpartenza() {
let myrec = null let myrec = null
if (this.listanavi) if (this.listanavi) {
myrec = this.nave.rec if (!!this.nave)
else { myrec = this.nave.rec
} else {
if (!!this.posiz) if (!!this.posiz)
myrec = this.posiz.rec myrec = this.posiz.rec
} }
if (!!myrec) if (!!myrec)
if (!!myrec.donatore.navepersistente) if (!!myrec.donatore.navepersistente)
return tools.getstrDate(myrec.donatore.navepersistente.date_start) return tools.getstrDate(myrec.donatore.navepersistente.date_gift_chat_open)
return '' return ''
} }
@@ -826,6 +912,7 @@ export default class CMyNave extends MixinNave {
public Chiudi() { public Chiudi() {
this.showmsguser = false this.showmsguser = false
this.showtesto = false
} }
public InviaMsgAUser() { public InviaMsgAUser() {
@@ -885,7 +972,15 @@ export default class CMyNave extends MixinNave {
await tools.askConfirm(this.$q, 'Sostituisci', notifBottxt + ' ?', translate('dialog.yes'), translate('dialog.no'), this, '', lists.MenuAction.SOSTITUISCI, 0, { await tools.askConfirm(this.$q, 'Sostituisci', notifBottxt + ' ?', translate('dialog.yes'), translate('dialog.no'), this, '', lists.MenuAction.SOSTITUISCI, 0, {
param1: user, param1: user,
param2: { username: usernamesost, riga: user.riga, col: user.col }, param2: {
username: usernamesost,
username_da_sostituire: user.username,
riga: user.riga,
col: user.col,
notifBot: this.notifBot,
deleteUser: this.deleteUser,
AddImbarco: this.AddImbarco,
},
param3: notifBottxt param3: notifBottxt
}) })
} }
@@ -894,4 +989,55 @@ export default class CMyNave extends MixinNave {
return tools.getRiganave(row.riga) + '.' + tools.getColnave(row.col) return tools.getRiganave(row.riga) + '.' + tools.getColnave(row.col)
} }
get gettitolonave() {
if (this.listanavi)
return this.titolonave()
else
return this.$t('dashboard.tragitto')
}
get getcol() {
if (tools.isMobile())
return this.coldonatori_cell
else
return this.coldonatori
}
public getlivellostr(index) {
let str = ''
str += (7 - index) + '° - '
if (index === 0)
str += this.$t('dashboard.sognatore')
else if ((index === 1) || (index === 2) || (index === 4) || (index === 5))
str += this.$t('dashboard.intermedio')
else if (index === 3)
str += this.$t('dashboard.mediatore')
else if (index === 6)
str += this.$t('dashboard.donatori')
return str
}
public getclasselivello(index) {
if (index === 0)
return 'sognatore'
else if (index === 3)
return 'mediatore'
else if (index === 6)
return 'donatore'
else
return 'intermedio' + index
}
public async Mostraplacca(riga, col) {
const data = {
riga,
col
}
this.showtesto = true
this.seltesto = await GlobalStore.actions.GetData({ data })
}
} }

View File

@@ -1,438 +1,479 @@
<template> <template>
<div> <div class="text-center">
<CTitleBanner v-if="!!getpartenza()" class="" <CTitleBanner v-if="!!getpartenza()" class=""
:title="titolonave()" :title="gettitolonave"
:bgcolor="getcolortitle()" :bgcolor="getcolortitle()"
clcolor="text-white" clcolor="text-white"
mystyle="" myclass="myshad" canopen="true" :visible="false" @apri="apri"> :visible="!!nave && !FattoDono && !sonoSecondaTessituraDonatore() && !listanavi"
mystyle="" myclass="myshad" canopen="true" @apri="apri">
<div class="">
<q-chip class="glossy q-ma-sm" color="orange" text-color="white" icon="star">
{{getposizione()}}
</q-chip>
<div class="row items-center justify-evenly 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>
<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 justify-evenly ` + 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">
<q-chip class="glossy text-small" :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>
<br>
<div style="margin-bottom: 8px;"></div>
</div>
<q-tabs
v-model="tabnave"
dense
class="bg-blue text-white shadow-2"
indicator-color="white"
align="center"
narrow-indicator
@input="changetab">
<q-tab name="donatore" icon="fas fa-gift" :label="$t('dashboard.donatore')"></q-tab>
<q-tab name="mediatore" icon="fas fa-comments" :label="$t('dashboard.mediatore')"></q-tab>
<q-tab name="sognatore" icon="fas fa-gifts" :label="$t('dashboard.sognatore')"></q-tab>
</q-tabs>
<q-tab-panels v-model="tabnave" animated>
<q-tab-panel name="donatore">
<div v-if="mediatore" class="">
<div class="q-my-sm">
<div class="q-ma-md q-butter-sm" v-if="!!linkchatopen">
{{$t('dashboard.gift_chat')}}:<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-if="sonoSecondaTessituraDonatore()"
v-html="$t('dashboard.sonodonatore_seconda_tessitura')">
</div>
<div v-else>
<div v-if="!FattoDono" v-html="$t('dashboard.sonodonatore')">
</div>
<div v-if="!FattoDono && !donatore_navepers.provvisoria" class="text-evidente bordo_stondato">
<div>{{$t('dashboard.quando_eff_il_tuo_dono')}}: <strong>{{ getGiornoDelDono()
}}</strong><br>
</div>
<div>
{{$t('dashboard.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>
{{$t('dashboard.importo')}}: <strong>33</strong>
</div>
<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>
<div class="text-evidente2 bordo_stondato_blu2">
<div v-if="GiornoDelDonoArrivato && !donatore_navepers.provvisoria">
<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>
<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=""
color="white"
text-color="green"
icon="fas fa-gift">
{{ $t('dashboard.dono_ricevuto') }}
</q-chip>
</div>
</div>
<div v-else v-html="$t('dashboard.qui_compariranno_le_info')">
</div>
</div>
</div>
</div>
<br>
<div class="column justify-center items-center q-gutter-md tutor">
<q-btn rounded color="blue"
class="title-nave"
:label="gettitledonatore(true)"
@click="Mostraplacca(donatore.riga, donatore.col)">
</q-btn>
<!--<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>
<div class="">
<div class="row justify-center q-gutter-md">
<div v-if="nave.rec.donatore.recsognatori">
<div v-for="(sognatore, index) in nave.rec.donatore.recsognatori"
:key="10+index">
<div :class="getclasselivello(index)">{{ getlivellostr(index, false)}}:</div>
<div v-if="sognatore"
:class="`cont_sognatore ` + getclassSelect(sognatore, true, index)">
A{{3 - index}} - {{ sognatore.name }} {{ sognatore.surname }}
({{sognatore.username }})
</div>
</div>
<div class="">
<div :class="getclasselivello(3)">{{ getlivellostr(3, false)}}:</div>
<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 }})
</div>
</div>
<div class="">
<div :class="getclasselivello(4)">{{ getlivellostr(4, true)}}:</div>
<div v-for="(terra, index) in nave.rec.donatore.arrterra" :key="index">
<div v-if="terra" :class="`cont_donatore text-small ` + getclassSelect(terra)">
B{{index + 1}} - {{ terra.name }} {{ terra.surname }} ({{
terra.username
}}) - {{
terra.riga}}.{{terra.col}}<br>
</div>
</div>
</div>
<div class="">
<div :class="getclasselivello(5)">{{ getlivellostr(5, false)}}:</div>
<div v-for="(aria, index) in nave.rec.donatore.arraria" :key="index">
<div v-if="aria" :class="`cont_donatore text-small ` + getclassSelect(aria)">
C{{index + 1}} - {{ aria.name }} {{ aria.surname }} ({{
aria.username
}}) - {{
aria.riga}}.{{aria.col}}<br>
</div>
</div>
</div>
<div :class="getclasselivello(6)">{{ getlivellostr(6)}}:</div>
<div v-for="(donatore, index) in nave.rec.donatore.arrdonatori" :key="index">
<div v-if="donatore"
:class="`cont_donatore text-small row ` + getclassSelect(donatore)"
@click="clickseluser(donatore)">
<div>
{{ getindex(donatore, index + 1) }} - {{ donatore.name }} {{
donatore.surname }} ({{
donatore.username }}) - {{
donatore.riga}}.{{donatore.col}}<br>
</div>
<div>
<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>
</div>
</div>
</div>
</q-tab-panel>
<q-tab-panel name="mediatore">
<div v-if="mediatore" class="">
<div class="q-ma-sm">
<div class="column justify-center items-center q-gutter-md tutor">
<q-btn rounded color="blue"
class="title-nave"
:label="gettitlemediatore(true)"
@click="Mostraplacca(donatore.riga, donatore.col)">
</q-btn>
<!--<div class="title-nave clBorderSteps" v-html="gettitlemediatore(true)"></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 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 class="">
<div class="row justify-center q-gutter-md">
<div v-if="nave.rec.mediatore.recsognatori">
<div v-for="(sognatore, index) in nave.rec.mediatore.recsognatori"
:key="10+index">
<div :class="getclasselivello(index)">{{ getlivellostr(index, false)}}:</div>
<div v-if="sognatore"
:class="`cont_sognatore ` + getclassSelect(sognatore, true, index)">
A{{3 - index}} - {{ sognatore.name }} {{ sognatore.surname }}
({{sognatore.username }})
</div>
</div>
<div class="">
<div :class="getclasselivello(3)">{{ getlivellostr(3, false)}}:</div>
<div
:class="`cont_mediatore cursor-pointer selezione ` + getclassSelect(nave.rec.mediatore.recmediatore)"
@click="clickseluser(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="getclasselivello(4)">{{ getlivellostr(4, true)}}:</div>
<div v-for="(terra, index) in nave.rec.mediatore.arrterra" :key="index">
<div v-if="terra" :class="`cont_donatore text-small ` + getclassSelect(terra)">
B{{index + 1}} - {{ terra.name }} {{ terra.surname }} ({{
terra.username
}}) - {{
terra.riga}}.{{terra.col}}<br>
</div>
</div>
</div>
<div class="">
<div :class="getclasselivello(5)">{{ getlivellostr(5, false)}}:</div>
<div v-for="(aria, index) in nave.rec.mediatore.arraria" :key="index">
<div v-if="aria" :class="`cont_donatore text-small ` + getclassSelect(aria)">
C{{index + 1}} - {{ aria.name }} {{ aria.surname }} ({{
aria.username
}}) - {{
aria.riga}}.{{aria.col}}<br>
</div>
</div>
</div>
<div :class="getclasselivello(6)">{{ getlivellostr(6)}}:</div>
<div v-for="(donatore, index) in nave.rec.mediatore.arrdonatori" :key="index">
<div v-if="donatore"
:class="`cont_donatore text-small row ` + getclassSelect(donatore)"
@click="clickseluser(donatore)">
<div>
{{ getindex(donatore, index + 1) }} - {{ donatore.name }} {{
donatore.surname }} ({{
donatore.username }}) - {{
donatore.riga}}.{{donatore.col}}<br>
</div>
<div>
<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>
</div>
</div>
</div>
</q-tab-panel>
<q-tab-panel name="sognatore">
<div v-if="mediatore" class="">
<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"
dense
flat
table-style="padding: 0px;"
:title="$t('dashboard.donatori')"
:data="arrdonatori"
:columns="getcol"
:nodataLabel="$t('grid.nodata')"
:Pagination.sync="MyPagination"
row-key="index">
<template v-slot:body="props">
<q-tr :props="props">
<q-td v-if="!tools.isMobile()" key="index" :props="props">
{{ props.row.index }}
</q-td>
<q-td v-if="!tools.isMobile()" key="nave" :props="props">
<div style="font-size:1rem;"><a :href="getlinkchat(props.row)" target="_blank">{{ getnavestr(props.row)}}</a></div>
</q-td>
<q-td key="name" :props="props">
<q-btn v-if="!!props.row.profile" flat rounded color="blue"
:size="tools.getsize()"
:label="props.row.name + ' ' + props.row.surname"
@click="clickseluser(props.row)">
</q-btn>
<div v-if="tools.isMobile()">
<br>
{{'(' + getnavestr(props.row) + ')'}} - {{ tools.getstrshortDateTime(props.row.date_made_gift) }}
</div>
</q-td>
<q-td v-if="!tools.isMobile()" key="posizione" :props="props">
{{ props.row.riga }}.{{ props.row.col }}
</q-td>
<q-td v-if="!tools.isMobile()" 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('dialog.ok')
}}
</q-chip>
</div>
</q-td>
</q-tr>
</template>
</q-table>
</div>
</div>
</q-tab-panel>
</q-tab-panels>
<!--<CTitleBanner v-if="!!getpartenza()" class=""
:title="titolonave()"
:bgcolor="getcolortitle()"
clcolor="text-white"
mystyle="" myclass="myshad" canopen="true" :visible="false" @apri="apri">-->
<div v-if="mediatore" class="flex flex-center column justify-center"> <div v-if="mediatore" class="flex flex-center column justify-center">
<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 items-center 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>
<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">
<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>
<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)">
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 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 }})
</div>
</div>
<div class="">
<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
}}) - {{
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.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 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)"
@click="clickseluser(donatore)">
<div>
{{ getindex(donatore, index + 1) }} - {{ donatore.name }} {{
donatore.surname }} ({{
donatore.username }}) - {{
donatore.riga}}.{{donatore.col}}<br>
</div>
<div>
<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>
</div>
<div class="q-ma-md q-butter-sm" v-if="!!linkchatopen">
{{$t('dashboard.gift_chat')}}:<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-if="sonoSecondaTessituraDonatore()"
v-html="$t('dashboard.sonodonatore_seconda_tessitura')">
</div>
<div v-else>
<div v-if="!FattoDono" v-html="$t('dashboard.sonodonatore')">
</div>
<div v-if="!FattoDono && !donatore_navepers.provvisoria" class="text-evidente bordo_stondato">
<div>{{$t('dashboard.quando_eff_il_tuo_dono')}}: <strong>{{ getGiornoDelDono()
}}</strong><br>
</div>
<div>
{{$t('dashboard.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>
{{$t('dashboard.importo')}}: <strong>33</strong>
</div>
<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>
<div class="text-evidente bordo_stondato_blu">
<div v-if="GiornoDelDonoArrivato && !donatore_navepers.provvisoria">
<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>
<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 v-else v-html="$t('dashboard.qui_compariranno_le_info')">
</div>
</div>
</div>
</div>
</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="">
<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>
</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>
</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">
<q-btn v-if="!!props.row.profile" flat rounded color="blue"
size="1rem"
:label="props.row.name + ' ' + props.row.surname + ' (' + getnavestr(props.row) + ')"
@click="clickseluser(props.row)">
</q-btn>
</q-td>
<q-td key="date_made_gift" :props="props">
{{ tools.getstrshortDayDateTime(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('dialog.ok') }}
</q-chip>
</div>
</q-td>
</q-tr>
</template>
</q-table>
</div>
</CTitleBanner>
<q-dialog v-model="showmsguser"> <q-dialog v-model="showmsguser">
<q-card v-if="seluser" :style="`min-width: `+ tools.myheight_dialog() + `px;` "> <q-card v-if="seluser" :style="`min-width: `+ tools.myheight_dialog() + `px;` ">
@@ -452,6 +493,7 @@
<div v-if="!!seluser.profile.cell" class="q-ma-sm text-center clBorderWarning"> <div v-if="!!seluser.profile.cell" class="q-ma-sm text-center clBorderWarning">
Whatsapp: {{seluser.profile.cell}} Whatsapp: {{seluser.profile.cell}}
<q-btn <q-btn
fab-mini fab-mini
icon="fab fa-whatsapp" icon="fab fa-whatsapp"
color="white" text-color="green" type="a" color="white" text-color="green" type="a"
@@ -508,6 +550,10 @@
</q-input> </q-input>
<q-toggle v-model="deleteUser" label="Elimina Utente sostituito"></q-toggle>
<q-toggle v-model="AddImbarco" label="Aggiungi (senza spostarlo da altre Navi)"></q-toggle>
<q-toggle v-model="notifBot" :label="$t('dashboard.sendnotification')"></q-toggle>
<q-btn class="q-ma-sm" rounded color="positive" text-color="white" <q-btn class="q-ma-sm" rounded color="positive" text-color="white"
icon="fas fa-gift" icon="fas fa-gift"
label="Sostituisci" label="Sostituisci"
@@ -521,6 +567,24 @@
</q-card-section> </q-card-section>
</q-card> </q-card>
</q-dialog> </q-dialog>
<q-dialog v-model="showtesto">
<q-card v-if="seltesto" :style="`min-width: `+ tools.myheight_dialog() + `px;` ">
<q-toolbar class="bg-primary text-white" style="min-height: 30px;">
<q-toolbar-title>
Testo:
</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="">
<div>
<pre>{{ seltesto }}</pre>
</div>
</div>
</q-card-section>
</q-card>
</q-dialog>
</div> </div>
</CTitleBanner> </CTitleBanner>
</div> </div>

View File

@@ -1,3 +1,9 @@
.myshad { .myshad {
text-shadow: .125rem .125rem .125rem darkgray; text-shadow: .125rem .125rem .125rem darkgray;
} }
.nonvisibile{
border-radius: 16px;
border: red solid 3px;
padding: 4px;
}

View File

@@ -53,4 +53,11 @@ export default class CTitleBanner extends Vue {
if (this.myvisible) if (this.myvisible)
this.$emit('apri') this.$emit('apri')
} }
get getclass(){
if (this.myvisible)
return 'isvisibile'
else
return 'nonvisibile glossy'
}
} }

View File

@@ -3,7 +3,7 @@
<q-banner <q-banner
inline-actions inline-actions
rounded dense rounded dense
:class="bgcolor+` cursor-pointer q-my-sm `+clcolor+ ` ` + myclass" :class="bgcolor+` cursor-pointer q-my-sm `+clcolor+ ` ` + myclass + ' ' + getclass"
style="text-align: center; " style="text-align: center; "
@click="apri()" @click="apri()"
> >

View File

@@ -34,6 +34,7 @@ export default class Listadoninavi extends MixinBase {
public msg_tosend: string = '' public msg_tosend: string = ''
public msg_tosend_user: string = '' public msg_tosend_user: string = ''
public showtesto: boolean = false public showtesto: boolean = false
public showall: boolean = false
public seltesto: string = '' public seltesto: string = ''
public pagination = { public pagination = {
sortBy: 'desc', sortBy: 'desc',
@@ -69,10 +70,10 @@ export default class Listadoninavi extends MixinBase {
sortable: true sortable: true
}, },
{ name: 'date_start', align: 'center', label: '⏰ Partenza', field: 'date_start', sortable: true }, { name: 'date_start', align: 'center', label: '⏰ Partenza', field: 'date_start', sortable: true },
{ name: 'sognatore', align: 'center', label: 'Sognatore', field: '', sortable: true },
{ name: 'provvisoria', align: 'center', label: 'Temp.', field: 'provvisoria', sortable: true }, { name: 'provvisoria', align: 'center', label: 'Temp.', field: 'provvisoria', sortable: true },
{ name: 'tutor', align: 'left', label: 'Tutor', field: 'tutor', sortable: true }, { name: 'tutor', align: 'left', label: 'Tutor', field: 'tutor', sortable: true },
{ name: 'mediatore', align: 'center', label: '🌀 Mediatore', field: '', sortable: true }, { name: 'mediatore', align: 'center', label: '🌀 Mediatore', field: '', sortable: true },
{ name: 'sognatore', align: 'center', label: 'Sognatore', field: '', sortable: true },
{ name: 'donatori', align: 'center', label: 'Donatori', field: '', sortable: true }, { name: 'donatori', align: 'center', label: 'Donatori', field: '', sortable: true },
{ name: 'DoniConfermati', align: 'center', label: '🎁 OK', field: 'DoniConfermati', sortable: true }, { name: 'DoniConfermati', align: 'center', label: '🎁 OK', field: 'DoniConfermati', sortable: true },
{ name: 'DoniAttesaDiConferma', align: 'center', label: '🎁 Wait', field: 'DoniAttesaDiConferma', sortable: true }, { name: 'DoniAttesaDiConferma', align: 'center', label: '🎁 Wait', field: 'DoniAttesaDiConferma', sortable: true },
@@ -106,7 +107,7 @@ export default class Listadoninavi extends MixinBase {
this.loading = true this.loading = true
// this.$q.loading.show({ message: this.$t('otherpages.update') }) // this.$q.loading.show({ message: this.$t('otherpages.update') })
const ris = await GlobalStore.actions.GetArrDoniNavi({ ricalcola }) const ris = await GlobalStore.actions.GetArrDoniNavi({ ricalcola, showall: this.showall })
console.log('ris', ris) console.log('ris', ris)
this.arrdoninavi = ris.arrnavi this.arrdoninavi = ris.arrnavi

View File

@@ -1,357 +1,365 @@
<template> <template>
<div> <div>
<div class="q-my-xs q-gutter-xs q-py-xs text-center"> <div class="q-my-xs q-gutter-xs q-py-xs text-center">
<CTitleBanner class="q-pa-xs" <CTitleBanner class="q-pa-xs"
title="Navi" title="Navi"
bgcolor="bg-primary" bgcolor="bg-primary"
clcolor="text-white" clcolor="text-white"
mystyle="" myclass="myshad" canopen="true"> mystyle="" myclass="myshad" canopen="true">
<q-btn rounded color="primary" <q-btn rounded color="primary"
label="Ricalcola" label="Ricalcola"
@click="Ricalcola(true)"></q-btn> @click="Ricalcola(true)"></q-btn>
<br> <br>
<q-toggle v-model="showall"
label="Mostra Tutte le Navi" @input="Ricalcola(false)">
</q-toggle>
<q-table
class="my-sticky-header-table"
dense
color="primary"
title="Doni Navi"
:data="arrdoninavi"
:columns="coldoninavi"
:loading="loading"
:Pagination.sync="pagination"
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="rigacol" :props="props">
<q-btn flat
rounded color="blue"
:label="props.row.riga + `.` + props.row.col"
@click="Mostraplacca(props.row.riga, props.row.col)">
</q-btn>
</q-td>
<q-td key="date_gift_chat_open" :props="props">
<div v-if="!!props.row.rec">
<div v-if="!!props.row.rec.donatore">
<div class="text-center cursor-pointer">
<a v-if="!!props.row.rec.donatore.navepersistente.link_chat"
:href="props.row.rec.donatore.navepersistente.link_chat"
target="_blank">Link</a>
<q-popup-edit v-model="props.row.rec.donatore.navepersistente.link_chat"
title="Link della Chat Telegram" buttons
@save="SaveField(props.row.rec.donatore.navepersistente, 'navepersistente', 'link_chat')">
<q-field>
<q-input
v-model="props.row.rec.donatore.navepersistente.link_chat"/>
</q-field>
</q-popup-edit>
<div v-if="!props.row.rec.donatore.navepersistente.link_chat">---</div>
</div>
<div v-if="!!props.row.rec.donatore.navepersistente">
{{
tools.getstrshortDate(props.row.rec.donatore.navepersistente.date_gift_chat_open)
}}
</div>
</div>
<div v-if="!!props.row.rec.donatore.recmediatore">
<div v-if="props.row.rec.donatore.recmediatore.sent_msg_howto_make_gift">(Link
Inviato)
</div>
</div>
</div>
</q-td>
<q-td key="date_start" :props="props">
<div v-if="!!props.row.rec">
<div v-if="!!props.row.rec.donatore.navepersistente">
DA {{ tools.getstrshortDate(props.row.rec.donatore.navepersistente.date_gift_chat_open) }} - A {{
tools.getstrshortDate(props.row.rec.donatore.navepersistente.date_start) }}
</div>
</div>
</q-td>
<q-td key="sognatore" :props="props">
<div v-if="props.row.rec.donatore.recsognatori">
<q-btn v-if="!!props.row.rec.donatore.recsognatori[0]" flat rounded color="blue"
:label="props.row.rec.donatore.recsognatori[0].name + ` ` + props.row.rec.donatore.recsognatori[0].surname"
@click="clickseluser(props.row.rec.donatore.recsognatori[0])">
</q-btn>
</div>
</q-td>
<q-td key="provvisoria" :props="props">
<div v-if="!!props.row.rec">
<div v-if="!!props.row.rec.donatore.navepersistente">
<q-toggle dark color="green"
v-model="props.row.rec.donatore.navepersistente.provvisoria"
@input="SaveField(props.row.rec.donatore.navepersistente, 'navepersistente', 'provvisoria')"></q-toggle>
</div>
</div>
</q-td>
<q-td key="tutor" :props="props">
<div v-if="!!props.row.rec">
<div class="text-center">
<div class="text-center cursor-pointer">
{{ props.row.tutor }}
<q-popup-edit v-model="props.row.rec.donatore.navepersistente.tutor"
title="Username del Tutor" buttons
@save="SaveField(props.row.rec.donatore.navepersistente, 'navepersistente', 'tutor')">
<q-field>
<q-input v-model="props.row.rec.donatore.navepersistente.tutor"/>
</q-field>
</q-popup-edit>
<div v-if="!props.row.tutor">---</div>
</div>
<div v-if="props.row.rec.donatore.navepersistente.tutor_namesurname">
<q-btn v-if="!!props.row.rec.donatore.navepersistente.tutor_namesurname"
flat
rounded color="blue"
:label="props.row.rec.donatore.navepersistente.tutor_namesurname"
@click="clickseluser({ username: props.row.rec.donatore.navepersistente.tutor, name: props.row.rec.donatore.navepersistente.tutor_namesurname })">
</q-btn>
</div>
</div>
</div>
</q-td>
<q-td key="mediatore" :props="props">
<div v-if="props.row.rec">
<q-btn v-if="!!props.row.rec.donatore.recmediatore" flat rounded color="blue"
:label="props.row.rec.donatore.recmediatore.name + ` ` + props.row.rec.donatore.recmediatore.surname"
@click="clickseluser(props.row.rec.donatore.recmediatore)">
</q-btn>
</div>
</q-td>
<q-td key="donatori" :props="props">
<div v-if="props.row.rec">
<q-btn v-if="EsistonoDonatori(props.row.rec)" flat rounded color="blue"
:label="$t('dashboard.donatori')"
@click="clickdonatori(props.row.rec)">
</q-btn>
</div>
</q-td>
<q-td key="DoniConfermati" :props="props">
<div v-if="props.row.DoniConfermati > 0" class="DoniConfermati">
{{props.row.DoniConfermati }}
({{props.row.DoniTotali }})
</div>
</q-td>
<q-td key="DoniAttesaDiConferma" :props="props">
<div v-if="props.row.DoniAttesaDiConferma > 0" class="DoniAttesaDiConferma">{{
props.row.DoniAttesaDiConferma }}
</div>
</q-td>
<q-td key="DoniMancanti" :props="props">
<div v-if="props.row.DoniMancanti > 0" class="DoniMancanti">{{
props.row.DoniMancanti
}}
</div>
</q-td>
<q-td key="note_bot" :props="props">
<div v-if="!!props.row.rec.donatore" class="Note cursor-pointer">
<div v-if="props.row.rec.donatore.navepersistente.note_bot">{{
props.row.rec.donatore.navepersistente.note_bot }}
</div>
<div v-else>---</div>
<q-popup-edit v-model="props.row.rec.donatore.navepersistente.note_bot"
title="Note che compariranno sulla Placca dell'Utente" buttons
@save="SaveField(props.row.rec.donatore.navepersistente, 'navepersistente', 'note_bot')">
<q-field>
<q-input type="textarea" autogrow
v-model="props.row.rec.donatore.navepersistente.note_bot">
</q-input>
</q-field>
</q-popup-edit>
</div>
</q-td>
<q-td key="note_interne" :props="props">
<div v-if="!!props.row.rec.donatore" class="Note cursor-pointer">
<div v-if="props.row.rec.donatore.navepersistente.note_interne">{{
props.row.rec.donatore.navepersistente.note_interne }}
</div>
<div v-else>---</div>
<q-popup-edit v-model="props.row.rec.donatore.navepersistente.note_interne"
title="Note uso interno Staff"
buttons
@save="SaveField(props.row.rec.donatore.navepersistente, 'navepersistente', 'note_interne')">
<q-field>
<q-input type="textarea"
autogrow
v-model="props.row.rec.donatore.navepersistente.note_interne">
</q-input>
</q-field>
</q-popup-edit>
</div>
</q-td>
</q-tr>
</template>
</q-table>
</CTitleBanner>
<q-dialog v-model="showdonatori">
<q-card v-if="selrec" :style="`min-width: `+ tools.myheight_dialog() + `px;` ">
<q-toolbar class="bg-primary text-white" style="min-height: 30px;">
<q-toolbar-title>
{{$t('dashboard.donatori')}}
</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 v-if="!!selrec.donatore">
<q-table <q-table
class="my-sticky-header-table" class="my-sticky-header-table"
dense dense
color="primary" color="primary"
title="Doni Navi" title="Donatori"
:data="arrdoninavi" :data="selrec.donatore.arrdonatori"
:columns="coldoninavi" :columns="coldonatori"
:loading="loading" :Pagination="pagination2"
:Pagination.sync="pagination" :nodataLabel="$t('grid.nodata')"
row-key="index"> row-key="index">
<template v-slot:body="props"> <template v-slot:body="props">
<q-tr :props="props"> <q-tr :props="props">
<q-td key="index" :props="props">
D{{ props.row.index }}
</q-td>
<q-td key="rigacol" :props="props">
{{ props.row.riga }}.{{ props.row.col }}
</q-td>
<q-td key="name" :props="props">
<q-btn flat rounded color="blue"
:label="props.row.name + ` ` + props.row.surname"
@click="clickseluser(props.row)">
</q-btn>
</q-td>
<q-td key="num_tess" :props="props">
{{ props.row.num_tess }}
</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">
<q-td key="index" :props="props"> <div v-if="deveDonare(props.row)">
{{ props.row.index }} <div class="row justify-center">
</q-td> <q-btn v-if="!props.row.made_gift"
<q-td key="rigacol" :props="props"> push
rounded
color="primary"
size="md"
:label="$t('dashboard.dono_ricevuto_3', {donatore: props.row.name })"
<q-btn flat @click="HoRicevutoIlDono(props.row)">
rounded color="blue" </q-btn>
:label="props.row.riga + `.` + props.row.col" </div>
@click="Mostraplacca(props.row.riga, props.row.col)"> <q-icon v-if="props.row.made_gift" color="green" inverted size="sm"
</q-btn> name="fas fa-gift" class="gift"></q-icon>
</div>
<div v-else>
--------
</div>
</q-td>
</q-td> </q-tr>
<q-td key="date_gift_chat_open" :props="props"> </template>
<div v-if="!!props.row.rec">
<div v-if="!!props.row.rec.donatore">
<div class="text-center cursor-pointer">
<a v-if="!!props.row.rec.donatore.navepersistente.link_chat"
:href="props.row.rec.donatore.navepersistente.link_chat"
target="_blank">Link</a>
<q-popup-edit v-model="props.row.rec.donatore.navepersistente.link_chat"
title="Link della Chat Telegram" buttons
@save="SaveField(props.row.rec.donatore.navepersistente, 'navepersistente', 'link_chat')">
<q-field>
<q-input
v-model="props.row.rec.donatore.navepersistente.link_chat"/>
</q-field>
</q-popup-edit>
<div v-if="!props.row.rec.donatore.navepersistente.link_chat">---</div>
</div>
<div v-if="!!props.row.rec.donatore.navepersistente">
{{
tools.getstrshortDate(props.row.rec.donatore.navepersistente.date_gift_chat_open)
}}
</div>
</div>
<div v-if="!!props.row.rec.donatore.recmediatore">
<div v-if="props.row.rec.donatore.recmediatore.sent_msg_howto_make_gift">(Link
Inviato)
</div>
</div>
</div>
</q-td>
<q-td key="date_start" :props="props">
<div v-if="!!props.row.rec">
<div v-if="!!props.row.rec.donatore.navepersistente">
{{ tools.getstrshortDate(props.row.rec.donatore.navepersistente.date_start) }}
</div>
</div>
</q-td>
<q-td key="provvisoria" :props="props">
<div v-if="!!props.row.rec">
<div v-if="!!props.row.rec.donatore.navepersistente">
<q-toggle dark color="green"
v-model="props.row.rec.donatore.navepersistente.provvisoria"
@input="SaveField(props.row.rec.donatore.navepersistente, 'navepersistente', 'provvisoria')"></q-toggle>
</div>
</div>
</q-td>
<q-td key="tutor" :props="props">
<div v-if="!!props.row.rec">
<div class="text-center">
<div class="text-center cursor-pointer">
{{ props.row.tutor }}
<q-popup-edit v-model="props.row.rec.donatore.navepersistente.tutor"
title="Username del Tutor" buttons
@save="SaveField(props.row.rec.donatore.navepersistente, 'navepersistente', 'tutor')">
<q-field>
<q-input v-model="props.row.rec.donatore.navepersistente.tutor"/>
</q-field>
</q-popup-edit>
<div v-if="!props.row.tutor">---</div>
</div>
<div v-if="props.row.rec.donatore.navepersistente.tutor_namesurname">
<q-btn v-if="!!props.row.rec.donatore.navepersistente.tutor_namesurname"
flat
rounded color="blue"
:label="props.row.rec.donatore.navepersistente.tutor_namesurname"
@click="clickseluser({ username: props.row.rec.donatore.navepersistente.tutor, name: props.row.rec.donatore.navepersistente.tutor_namesurname })">
</q-btn>
</div>
</div>
</div>
</q-td>
<q-td key="mediatore" :props="props">
<div v-if="props.row.rec">
<q-btn v-if="!!props.row.rec.donatore.recmediatore" flat rounded color="blue"
:label="props.row.rec.donatore.recmediatore.name + ` ` + props.row.rec.donatore.recmediatore.surname"
@click="clickseluser(props.row.rec.donatore.recmediatore)">
</q-btn>
</div>
</q-td>
<q-td key="sognatore" :props="props">
<div v-if="props.row.rec.donatore.recsognatori">
<q-btn v-if="!!props.row.rec.donatore.recsognatori[0]" flat rounded color="blue"
:label="props.row.rec.donatore.recsognatori[0].name + ` ` + props.row.rec.donatore.recsognatori[0].surname"
@click="clickseluser(props.row.rec.donatore.recsognatori[0])">
</q-btn>
</div>
</q-td>
<q-td key="donatori" :props="props">
<div v-if="props.row.rec">
<q-btn v-if="EsistonoDonatori(props.row.rec)" flat rounded color="blue"
:label="$t('dashboard.donatori')"
@click="clickdonatori(props.row.rec)">
</q-btn>
</div>
</q-td>
<q-td key="DoniConfermati" :props="props">
<div v-if="props.row.DoniConfermati > 0" class="DoniConfermati">
{{props.row.DoniConfermati }}
({{props.row.DoniTotali }})
</div>
</q-td>
<q-td key="DoniAttesaDiConferma" :props="props">
<div v-if="props.row.DoniAttesaDiConferma > 0" class="DoniAttesaDiConferma">{{
props.row.DoniAttesaDiConferma }}
</div>
</q-td>
<q-td key="DoniMancanti" :props="props">
<div v-if="props.row.DoniMancanti > 0" class="DoniMancanti">{{
props.row.DoniMancanti
}}
</div>
</q-td>
<q-td key="note_bot" :props="props">
<div v-if="!!props.row.rec.donatore" class="Note cursor-pointer">
<div v-if="props.row.rec.donatore.navepersistente.note_bot">{{
props.row.rec.donatore.navepersistente.note_bot }}
</div>
<div v-else>---</div>
<q-popup-edit v-model="props.row.rec.donatore.navepersistente.note_bot"
title="Note che compariranno sulla Placca dell'Utente" buttons
@save="SaveField(props.row.rec.donatore.navepersistente, 'navepersistente', 'note_bot')">
<q-field>
<q-input type="textarea" autogrow
v-model="props.row.rec.donatore.navepersistente.note_bot">
</q-input>
</q-field>
</q-popup-edit>
</div>
</q-td>
<q-td key="note_interne" :props="props">
<div v-if="!!props.row.rec.donatore" class="Note cursor-pointer">
<div v-if="props.row.rec.donatore.navepersistente.note_interne">{{
props.row.rec.donatore.navepersistente.note_interne }}
</div>
<div v-else>---</div>
<q-popup-edit v-model="props.row.rec.donatore.navepersistente.note_interne"
title="Note uso interno Staff"
buttons
@save="SaveField(props.row.rec.donatore.navepersistente, 'navepersistente', 'note_interne')">
<q-field>
<q-input type="textarea"
autogrow
v-model="props.row.rec.donatore.navepersistente.note_interne">
</q-input>
</q-field>
</q-popup-edit>
</div>
</q-td>
</q-tr>
</template>
</q-table> </q-table>
</CTitleBanner> <div class="q-ma-sm text-center">
<div>Invia un Messaggio a tutti questi Donatori:</div>
<q-input type="textarea"
autogrow
v-model="msg_tosend" :label="$t('cal.msgbooking')"
input-class="myinput-area">
<q-dialog v-model="showdonatori"> </q-input>
<q-card v-if="selrec" :style="`min-width: `+ tools.myheight_dialog() + `px;` ">
<q-toolbar class="bg-primary text-white" style="min-height: 30px;">
<q-toolbar-title>
{{$t('dashboard.donatori')}}
</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 v-if="!!selrec.donatore">
<q-table
class="my-sticky-header-table"
dense
color="primary"
title="Donatori"
:data="selrec.donatore.arrdonatori"
:columns="coldonatori"
:Pagination="pagination2"
:nodataLabel="$t('grid.nodata')"
row-key="index">
<template v-slot:body="props">
<q-tr :props="props">
<q-td key="index" :props="props">
D{{ props.row.index }}
</q-td>
<q-td key="rigacol" :props="props">
{{ props.row.riga }}.{{ props.row.col }}
</q-td>
<q-td key="name" :props="props">
<q-btn flat rounded color="blue"
:label="props.row.name + ` ` + props.row.surname"
@click="clickseluser(props.row)">
</q-btn>
</q-td>
<q-td key="num_tess" :props="props">
{{ props.row.num_tess }}
</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 v-if="deveDonare(props.row)"> <div class="row justify-center centermydiv q-gutter-sm" style="max-width: 420px;">
<div class="row justify-center"> <q-btn rounded text-color="secondary" icon="fab fa-telegram"
<q-btn v-if="!props.row.made_gift" :label="$t('dialog.sendmsg')"
push @click="InviaMsgADonatori()"></q-btn>
rounded
color="primary"
size="md"
:label="$t('dashboard.dono_ricevuto_3', {donatore: props.row.name })"
@click="HoRicevutoIlDono(props.row)"> </div>
</q-btn> </div>
</div> </div>
<q-icon v-if="props.row.made_gift" color="green" inverted size="sm" </div>
name="fas fa-gift" class="gift"></q-icon> </q-card-section>
</div> </q-card>
<div v-else> </q-dialog>
-------- <q-dialog v-model="showmsguser">
</div> <q-card v-if="seluser" :style="`min-width: `+ tools.myheight_dialog() + `px;` ">
</q-td> <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>
<q-btn
v-if="!!seluser.profile.cell"
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">
<div>{{$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-tr> </q-input>
</template>
</q-table>
<div class="q-ma-sm text-center"> <div class="row justify-center centermydiv q-gutter-sm" style="max-width: 420px;">
<div>Invia un Messaggio a tutti questi Donatori:</div> <q-btn rounded text-color="secondary" icon="fab fa-telegram"
<q-input type="textarea" :label="$t('dialog.sendmsg') + ` -> ` + seluser.name + ` ` + seluser.surname"
autogrow @click="InviaMsgAUser()"></q-btn>
v-model="msg_tosend" :label="$t('cal.msgbooking')"
input-class="myinput-area">
</q-input> </div>
</div>
</div>
</div>
</q-card-section>
</q-card>
</q-dialog>
<q-dialog v-model="showtesto">
<q-card v-if="seltesto" :style="`min-width: `+ tools.myheight_dialog() + `px;` ">
<q-toolbar class="bg-primary text-white" style="min-height: 30px;">
<q-toolbar-title>
Testo:
</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="">
<div>
<pre>{{ seltesto }}</pre>
</div>
</div>
</q-card-section>
</q-card>
</q-dialog>
<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')"
@click="InviaMsgADonatori()"></q-btn>
</div>
</div>
</div>
</div>
</q-card-section>
</q-card>
</q-dialog>
<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>
<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">
<div>{{$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>
<q-dialog v-model="showtesto">
<q-card v-if="seltesto" :style="`min-width: `+ tools.myheight_dialog() + `px;` ">
<q-toolbar class="bg-primary text-white" style="min-height: 30px;">
<q-toolbar-title>
Testo:
</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="">
<div>
<pre>{{ seltesto }}</pre>
</div>
</div>
</q-card-section>
</q-card>
</q-dialog>
</div>
</div> </div>
</div>
</template> </template>
<script lang="ts" src="./listadoninavi.ts"> <script lang="ts" src="./listadoninavi.ts">
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
@import './listadoninavi.scss'; @import './listadoninavi.scss';
</style> </style>

View File

@@ -1,5 +1,9 @@
const msg_de = { const msg_de = {
de: { de: {
words:{
da: 'from',
a: 'to',
},
home: { home: {
guida_passopasso: 'Step By Step Guide' guida_passopasso: 'Step By Step Guide'
}, },

View File

@@ -1,5 +1,9 @@
const msg_enUs = { const msg_enUs = {
enUs: { enUs: {
words:{
da: 'from',
a: 'to',
},
home: { home: {
guida_passopasso: 'Step By Step Guide' guida_passopasso: 'Step By Step Guide'
}, },
@@ -53,8 +57,8 @@ const msg_enUs = {
}, },
steps: { steps: {
nuovo_imbarco: 'Book another Trip', nuovo_imbarco: 'Book another Trip',
vuoi_entrare_nuova_nave: 'If you confirm, when your ship is ready to sail, you will make a New Gift to repeat another Trip.<br>' + vuoi_entrare_nuova_nave: 'Do you wish to help the Movement to advance and intend to enter another Ship?<br>By making a New Gift of 33€, you will be able to travel another journey and have another opportunity to become a Dreamer!<br>' +
'In this way you will help all ships to advance and grow the movement.', 'If you confirm, you\'ll be added to the waiting list for the next boarding.',
vuoi_cancellare_imbarco: 'Are you sure you want to cancel this boarding on the AYNI ship?', vuoi_cancellare_imbarco: 'Are you sure you want to cancel this boarding on the AYNI ship?',
completed: 'Completed', completed: 'Completed',
passi_su: '{passo} steps out of {totpassi}', passi_su: '{passo} steps out of {totpassi}',
@@ -200,9 +204,16 @@ const msg_enUs = {
nave_in_partenza: 'on Departure on', nave_in_partenza: 'on Departure on',
nave_partita: 'departed on', nave_partita: 'departed on',
tutor: 'Tutor', tutor: 'Tutor',
sonomediatore: '', sonomediatore: 'When you become a Medalist you are contacted by a <strong>TUTOR</strong>, with him you must:<br><ol class="list">' +
sonodonatore: '', '<li>Open your <strong>Gift Chat</strong> (you as owner and the Tutor as administrator) with this name:<br><strong>{nomenave}</strong></li>' +
sonodonatore_seconda_tessitura: '', '<li>Click on the chat name at the top -> Edit -> Administrators -> "Add Administrator", select the Tutor in the list.</li>' +
'<li>You have to configure the chat so that whoever enters also sees the previous posts (click on the chat name at the top, click on edit,' +
'change "new members\' history" from hidden to visible.</li>' +
'<li>To find the <strong>link to the newly created Chat</strong>: Click on the Chat name at the top, click on the Pencil -> "Group Type" -> "invite to group via link", click on "copy link" and paste it in the <strong>"Link Gift Chat"</strong></li>" + box below.' +
'<li>Send the Gift Chat Link to all Donors by clicking on the button below.</li></ol>.',
sonodonatore: '<ol class="list"><li>When you are in this position, you will be invited to enter a <strong>Gift Chat</strong> (Telegram) and here you will also find the other 7 Donors, the Mediator, the Dreamer and a Staff representative.' +
'<li>You will make your gift <strong>EXACTLY on the days indicated</strong> and in the payment method that you will find written here.<br></ol>.',
sonodonatore_seconda_tessitura: '<ol class="lista"><li>Here you are Mediator and also Donor, but being the second Weaving, you won\'t need to make your gift again.<br></ol>',
controlla_donatori: 'Check Donor List', controlla_donatori: 'Check Donor List',
link_chat: 'Gift Chat Telegram links', link_chat: 'Gift Chat Telegram links',
tragitto: 'Route', tragitto: 'Route',
@@ -229,7 +240,7 @@ const msg_enUs = {
metodi_disponibili: 'Available Methods', metodi_disponibili: 'Available Methods',
importo: 'Amount', importo: 'Amount',
effettua_il_dono: 'It\'s time to make your Gift!<br>' + effettua_il_dono: 'It\'s time to make your Gift!<br>' +
'Send via PayPal to: <strong>{email}</strong><br>' + 'Send via <a href="https://www.paypal.com" target="_blank">PayPal</a> to: <strong>{email}</strong><br>' +
'(Choose the option "SEND TO SOMEONE YOU TRUST")<br>', '(Choose the option "SEND TO SOMEONE YOU TRUST")<br>',
qui_compariranno_le_info: 'On the day of departure of the Ship, the information of the Dreamer will appear', qui_compariranno_le_info: 'On the day of departure of the Ship, the information of the Dreamer will appear',
posizione: 'Position', posizione: 'Position',
@@ -238,7 +249,7 @@ const msg_enUs = {
clicca_conferma_dono: 'Click here to confirm that you have made your gift', clicca_conferma_dono: 'Click here to confirm that you have made your gift',
fatto_dono: 'You have confirmed that the gift has been sent', fatto_dono: 'You have confirmed that the gift has been sent',
confermi_dono: 'Confirm that you have sent your 33€ Gift', confermi_dono: 'Confirm that you have sent your 33€ Gift',
dono_ricevuto: 'Your Gift has been Received Correctly', dono_ricevuto: 'Your Gift has been Received!',
dono_ricevuto_2: 'Received', dono_ricevuto_2: 'Received',
dono_ricevuto_3: 'Arrived!', dono_ricevuto_3: 'Arrived!',
confermi_dono_ricevuto: 'Confirm that you have received the 33€ Gift from {donatore}', confermi_dono_ricevuto: 'Confirm that you have received the 33€ Gift from {donatore}',

View File

@@ -1,5 +1,9 @@
const msg_es = { const msg_es = {
es: { es: {
words:{
da: 'del',
a: 'al',
},
home: { home: {
guida_passopasso: 'Guía paso a paso' guida_passopasso: 'Guía paso a paso'
}, },
@@ -54,8 +58,8 @@ const msg_es = {
}, },
steps: { steps: {
nuovo_imbarco: 'Reserva otro viaje', nuovo_imbarco: 'Reserva otro viaje',
vuoi_entrare_nuova_nave: 'Si confirma, cuando su barco esté listo para zarpar, hará un nuevo regalo para repetir otro viaje..<br>' + vuoi_entrare_nuova_nave: '¿Desea ayudar al Movimiento a avanzar y tiene la intención de entrar en otra nave?<br>Haciendo un nuevo regalo de 33 euros, podrá hacer otro viaje y tener otra oportunidad de convertirse en un Soñador!<br>' +
'De esta manera ayudas a todas las naves a avanzar y hacer crecer el movimiento.', 'Si lo confirma, se le añadirá a la lista de espera para el próximo embarque.',
vuoi_cancellare_imbarco: '¿Está seguro de que quiere cancelar el embarque en el barco de AYNI?', vuoi_cancellare_imbarco: '¿Está seguro de que quiere cancelar el embarque en el barco de AYNI?',
completed: 'Completado', completed: 'Completado',
passi_su: '{passo} pasos de cada {totpassi}', passi_su: '{passo} pasos de cada {totpassi}',
@@ -203,7 +207,7 @@ const msg_es = {
traduttrici: 'Traduttrici', traduttrici: 'Traduttrici',
sonomediatore: 'Cuando te conviertes en Mediador vienes contactado por un <strong>TUTOR</strong>, con él debes:<br><ol class="lista">' + sonomediatore: 'Cuando te conviertes en Mediador vienes contactado por un <strong>TUTOR</strong>, con él debes:<br><ol class="lista">' +
'<li>Abrir tu <strong>Gift Chat</strong> (tu como propietario, y el Tutor ' + '<li>Abrir tu <strong>Gift Chat</strong> (tu como propietario, y el Tutor ' +
'como administrador) con este nombre: <strong>{nomenave}</strong></li>' + 'como administrador) con este nombre:<br><strong>{nomenave}</strong></li>' +
'<li>Haz clic en tu nombre en la chat en la parte de arriba-> Modifica -> Administradores -> "Agregar Administrador", selecciona el Tutor en el elenco.</li>' + '<li>Haz clic en tu nombre en la chat en la parte de arriba-> Modifica -> Administradores -> "Agregar Administrador", selecciona el Tutor en el elenco.</li>' +
'<li>Debes configurar la chat en modo que quien entre vea también los post precedentes (haz clic en el nombre en la chat arriba, haz clic en modificar, ' + '<li>Debes configurar la chat en modo que quien entre vea también los post precedentes (haz clic en el nombre en la chat arriba, haz clic en modificar, ' +
'cambia la "cronología para los nuevos miembros" de oculto a visible.</li>' + 'cambia la "cronología para los nuevos miembros" de oculto a visible.</li>' +
@@ -238,7 +242,7 @@ const msg_es = {
metodi_disponibili: 'Métodos disponibles', metodi_disponibili: 'Métodos disponibles',
importo: 'Cantidad', importo: 'Cantidad',
effettua_il_dono: 'Es hora de hacer tu regalo!<br>' + effettua_il_dono: 'Es hora de hacer tu regalo!<br>' +
'Enviar por medio de PayPal a: <strong>{email}</strong><br>' + 'Enviar por medio de <a href="https://www.paypal.com" target="_blank">PayPal</a> a: <strong>{email}</strong><br>' +
'(Elija la opción "ENVIAR A ALGUIEN DE CONFIANZA")<br>', '(Elija la opción "ENVIAR A ALGUIEN DE CONFIANZA")<br>',
qui_compariranno_le_info: 'El día de la salida de la nave, la información del Soñador aparecerá', qui_compariranno_le_info: 'El día de la salida de la nave, la información del Soñador aparecerá',
posizione: 'Position', posizione: 'Position',
@@ -247,7 +251,7 @@ const msg_es = {
clicca_conferma_dono: 'Haz clic aquí para confirmar que has hecho tu regalo', clicca_conferma_dono: 'Haz clic aquí para confirmar que has hecho tu regalo',
fatto_dono: 'Ha confirmado que el regalo ha sido enviado', fatto_dono: 'Ha confirmado que el regalo ha sido enviado',
confermi_dono: 'Confirme que ha enviado su regalo de 33 €', confermi_dono: 'Confirme que ha enviado su regalo de 33 €',
dono_ricevuto: 'Tu regalo ha sido recibido correctamente', dono_ricevuto: 'Tu regalo ha sido recibido!',
dono_ricevuto_2: 'Recibido', dono_ricevuto_2: 'Recibido',
dono_ricevuto_3: 'Ha llegado!', dono_ricevuto_3: 'Ha llegado!',
confermi_dono_ricevuto: 'Confirme que ha recibido el regalo de 33 € de {donatore}', confermi_dono_ricevuto: 'Confirme que ha recibido el regalo de 33 € de {donatore}',

View File

@@ -1,5 +1,9 @@
const msg_fr = { const msg_fr = {
fr: { fr: {
words: {
da: 'du',
a: 'au',
},
home: { home: {
guida_passopasso: 'Guide pas-à-pas' guida_passopasso: 'Guide pas-à-pas'
}, },
@@ -54,8 +58,8 @@ const msg_fr = {
}, },
steps: { steps: {
nuovo_imbarco: 'Réserver un autre voyage', nuovo_imbarco: 'Réserver un autre voyage',
vuoi_entrare_nuova_nave: 'Si vous confirmez, lorsque votre navire est prêt à naviguer, vous ferez un Nouveau Cadeau pour répéter un autre voyage.<br>' + vuoi_entrare_nuova_nave: 'Vous souhaitez aider le Mouvement à avancer et avez l\'intention d\'entrer dans un autre navire ?<br>En faisant un nouveau don de 33€, vous pourrez faire un autre voyage et avoir une autre opportunité de devenir un Rêveur !<br>' +
'De cette façon, vous aiderez tous les navires à aller de l\'avant et à développer le mouvement.', 'Si vous confirmez, vous serez ajouté à la liste d\'attente pour le prochain embarquement.',
vuoi_cancellare_imbarco: 'Êtes-vous sûr de vouloir annuler cet embarquement sur le navire AYNI ?', vuoi_cancellare_imbarco: 'Êtes-vous sûr de vouloir annuler cet embarquement sur le navire AYNI ?',
completed: 'Complétée', completed: 'Complétée',
passi_su: '{passo} étapes sur {totpassi}', passi_su: '{passo} étapes sur {totpassi}',
@@ -201,7 +205,7 @@ const msg_fr = {
tutor: 'Tuteur', tutor: 'Tuteur',
sonomediatore: 'Quand vous devenez Médiateur vous êtes contacté par un <strong>TUTEUR</strong>, avec lui vous devez:<br><ol class="lista">' + sonomediatore: 'Quand vous devenez Médiateur vous êtes contacté par un <strong>TUTEUR</strong>, avec lui vous devez:<br><ol class="lista">' +
'<li>Ouvrir votre <strong>Gift Chat</strong> (vous comme propriétaire et le Tuteur ' + '<li>Ouvrir votre <strong>Gift Chat</strong> (vous comme propriétaire et le Tuteur ' +
'comme administrateur) avec ce nom: <strong>{nomenave}</strong></li>' + 'comme administrateur) avec ce nom:<br><strong>{nomenave}</strong></li>' +
'<li>Cliquez sur le nom du chat en haut -> Modifiez -> Administrateurs -> "Ajoutez Administrateur", sélectionner le Tuteur dans la liste.</li>' + '<li>Cliquez sur le nom du chat en haut -> Modifiez -> Administrateurs -> "Ajoutez Administrateur", sélectionner le Tuteur dans la liste.</li>' +
'<li>Vous devez configurer le chat de façon que la personne qui entre puisse également voir les post précédents (cliquez sur le nom du chat en haut, cliquez sur modifiez, ' + '<li>Vous devez configurer le chat de façon que la personne qui entre puisse également voir les post précédents (cliquez sur le nom du chat en haut, cliquez sur modifiez, ' +
'changez la "chronologie pour les nouveaux membres" de cachée à visibile.</li>' + 'changez la "chronologie pour les nouveaux membres" de cachée à visibile.</li>' +
@@ -236,7 +240,7 @@ const msg_fr = {
metodi_disponibili: 'Méthodes disponibles', metodi_disponibili: 'Méthodes disponibles',
importo: 'Montant', importo: 'Montant',
effettua_il_dono: 'Il est temps de faire votre propre regalo ! ' + effettua_il_dono: 'Il est temps de faire votre propre regalo ! ' +
'Envoyez via PayPal à : <strong>{email}</strong><br>' + 'Envoyez via <a href="https://www.paypal.com" target="_blank">PayPal</a> à : <strong>{email}</strong><br>' +
'(Choisissez l\'option "ENVOYER À UNE PERSONNE DE CONFIANCE")<br>', '(Choisissez l\'option "ENVOYER À UNE PERSONNE DE CONFIANCE")<br>',
qui_compariranno_le_info: 'Le jour du départ du navire, les informations du Dreamer apparaîtront', qui_compariranno_le_info: 'Le jour du départ du navire, les informations du Dreamer apparaîtront',
posizione: 'Localisation', posizione: 'Localisation',
@@ -245,7 +249,7 @@ const msg_fr = {
clicca_conferma_dono: 'Cliquez ici pour confirmer que vous avez fait votre regalo', clicca_conferma_dono: 'Cliquez ici pour confirmer que vous avez fait votre regalo',
fatto_dono: 'Vous avez confirmé que le Regalo a été envoyé', fatto_dono: 'Vous avez confirmé que le Regalo a été envoyé',
confermi_dono: 'Confirmez que vous avez envoyé votre Regalo de 33€', confermi_dono: 'Confirmez que vous avez envoyé votre Regalo de 33€',
dono_ricevuto: 'Votre regalo a été reçu correctement', dono_ricevuto: 'Votre regalo a été reçu!',
dono_ricevuto_2: 'Reçu', dono_ricevuto_2: 'Reçu',
dono_ricevuto_3: 'Arrivé!', dono_ricevuto_3: 'Arrivé!',
confermi_dono_ricevuto: 'Confirmez que vous avez reçu le regalo de 33 $ de {donatore}', confermi_dono_ricevuto: 'Confirmez que vous avez reçu le regalo de 33 $ de {donatore}',

View File

@@ -1,5 +1,9 @@
const msg_it = { const msg_it = {
it: { it: {
words:{
da: 'dal',
a: 'al',
},
home: { home: {
guida_passopasso: 'Guida Passo Passo' guida_passopasso: 'Guida Passo Passo'
}, },
@@ -75,8 +79,8 @@ const msg_it = {
}, },
steps: { steps: {
nuovo_imbarco: 'Prenota un altro Viaggio', nuovo_imbarco: 'Prenota un altro Viaggio',
vuoi_entrare_nuova_nave: 'Se confermi, quando la tua Nave sarà pronta a salpare, farai un Nuovo Dono per ripetere un altro viaggio.<br>' + vuoi_entrare_nuova_nave: 'Desideri aiutare il Movimento ad avanzare e intendi entrare in un\'altra Nave?<br>Effettuando un Nuovo Dono di 33€, potrai percorrere un altro viaggio ed avere un\'altra opportunità di diventare Sognatore!<br>' +
'In questo modo aiuterai tutte le Navi ad avanzare e a far crescere il movimento.', 'Se confermi verrai aggiunto alla lista d\'attesa per i prossimi imbarchi.',
inserisci_invitante: 'Inserisci qui sotto l\'username della persona che vuoi aiutare, donandoti come suo Invitato:', inserisci_invitante: 'Inserisci qui sotto l\'username della persona che vuoi aiutare, donandoti come suo Invitato:',
vuoi_cancellare_imbarco: 'Sicuro di voler cancellare questo imbarco in Nave AYNI?', vuoi_cancellare_imbarco: 'Sicuro di voler cancellare questo imbarco in Nave AYNI?',
sei_stato_aggiunto: 'Sei stato aggiunto alla lista d\'imbarco! Nei prossimi giorni verrai aggiunto ad una Nuova Nave in partenza!', sei_stato_aggiunto: 'Sei stato aggiunto alla lista d\'imbarco! Nei prossimi giorni verrai aggiunto ad una Nuova Nave in partenza!',
@@ -231,7 +235,7 @@ const msg_it = {
traduttrici: 'Traduttrici', traduttrici: 'Traduttrici',
sonomediatore: 'Quando diventi Meditore vieni contattato da un <strong>TUTOR</strong>, con lui devi:<br><ol class="lista">' + sonomediatore: 'Quando diventi Meditore vieni contattato da un <strong>TUTOR</strong>, con lui devi:<br><ol class="lista">' +
'<li>Aprire la tua <strong>Gift Chat</strong> (tu come proprietario e il Tutor ' + '<li>Aprire la tua <strong>Gift Chat</strong> (tu come proprietario e il Tutor ' +
'come amministratore) con questo nome: <strong>{nomenave}</strong></li>' + 'come amministratore) con questo nome:<br><strong>{nomenave}</strong></li>' +
'<li>Clicca sul nome della chat in alto -> Modifica -> Amministratori -> "Aggiungi Amministratore", seleziona il Tutor nellelenco.</li>' + '<li>Clicca sul nome della chat in alto -> Modifica -> Amministratori -> "Aggiungi Amministratore", seleziona il Tutor nellelenco.</li>' +
'<li>Devi configurare la chat in modo che chi entra vede anche i post precedenti (clicca sul nome della chat in alto, clicca su modifica, ' + '<li>Devi configurare la chat in modo che chi entra vede anche i post precedenti (clicca sul nome della chat in alto, clicca su modifica, ' +
'cambia la "cronologia per i nuovi membri" da nascosta a visibile.</li>' + 'cambia la "cronologia per i nuovi membri" da nascosta a visibile.</li>' +
@@ -245,7 +249,7 @@ const msg_it = {
tragitto: 'Tragitto', tragitto: 'Tragitto',
nave: 'Nave', nave: 'Nave',
data_partenza: 'Data<br>Partenza', data_partenza: 'Data<br>Partenza',
doni_inviati: 'Doni<br>Inviati', doni_inviati: 'Doni',
nome_dei_passaggi:'Nome<br>dei Passaggi', nome_dei_passaggi:'Nome<br>dei Passaggi',
donatori:'Donatori', donatori:'Donatori',
donatore:'Donatore', donatore:'Donatore',
@@ -266,7 +270,7 @@ const msg_it = {
metodi_disponibili: 'Metodi Disponibili', metodi_disponibili: 'Metodi Disponibili',
importo: 'Importo', importo: 'Importo',
effettua_il_dono: 'E\' arrivato il momento di Effettuare il proprio Dono!<br>' + effettua_il_dono: 'E\' arrivato il momento di Effettuare il proprio Dono!<br>' +
'Inviare tramite PayPal a: <strong>{email}</strong><br>' + 'Inviare tramite <a href="https://www.paypal.com" target="_blank">PayPal</a> a: <strong>{email}</strong><br>' +
'(Scegliere l\'opzione "INVIA A UNA PERSONA DI FIDUCIA")<br>', '(Scegliere l\'opzione "INVIA A UNA PERSONA DI FIDUCIA")<br>',
qui_compariranno_le_info: 'Nel giorno della partenza della Nave, compariranno le informazioni del Sognatore', qui_compariranno_le_info: 'Nel giorno della partenza della Nave, compariranno le informazioni del Sognatore',
posizione: 'Posizione', posizione: 'Posizione',
@@ -275,7 +279,7 @@ const msg_it = {
clicca_conferma_dono: 'Clicca qui per confermare che hai effettuato il tuo dono', clicca_conferma_dono: 'Clicca qui per confermare che hai effettuato il tuo dono',
fatto_dono: 'Hai confermato che il dono è stato Inviato', fatto_dono: 'Hai confermato che il dono è stato Inviato',
confermi_dono: 'Confermi che hai inviato il tuo Dono di 33€', confermi_dono: 'Confermi che hai inviato il tuo Dono di 33€',
dono_ricevuto: 'Il tuo Dono è stato Ricevuto Correttamente', dono_ricevuto: 'Il tuo Dono è stato Ricevuto!',
dono_ricevuto_2: 'Ricevuto', dono_ricevuto_2: 'Ricevuto',
dono_ricevuto_3: 'Arrivato!', dono_ricevuto_3: 'Arrivato!',
confermi_dono_ricevuto: 'Confermi di aver ricevuto il Dono di 33€ da parte di {donatore}', confermi_dono_ricevuto: 'Confermi di aver ricevuto il Dono di 33€ da parte di {donatore}',

View File

@@ -1,5 +1,9 @@
const msg_pt = { const msg_pt = {
pt: { pt: {
words:{
da: 'od',
a: 'do',
},
home: { home: {
guida_passopasso: 'Guia Passo a Passo' guida_passopasso: 'Guia Passo a Passo'
}, },
@@ -64,8 +68,8 @@ const msg_pt = {
}, },
steps: { steps: {
nuovo_imbarco: 'Reservar outra Viagem', nuovo_imbarco: 'Reservar outra Viagem',
vuoi_entrare_nuova_nave: 'Se confirmar, quando o seu navio estiver pronto para navegar, fará um Novo Presente para repetir outra viagem..<br>' + vuoi_entrare_nuova_nave: 'Deseja ajudar o Movimento a avançar e pretende entrar noutro Navio?<br>Ao fazer um Novo Presente de 33 euros, poderá viajar outra viagem e ter outra oportunidade de se tornar um Sonhador!<br>' +
'Desta forma, ajudará todos os navios a avançar e a fazer crescer o movimento.', 'Se confirmar, será acrescentado à lista de espera para o próximo embarque.',
vuoi_cancellare_imbarco: 'Tem a certeza de que quer cancelar este embarque no navio AYNI?', vuoi_cancellare_imbarco: 'Tem a certeza de que quer cancelar este embarque no navio AYNI?',
completed: 'Completado', completed: 'Completado',
passi_su: '{passo} passos em {totpassi}', passi_su: '{passo} passos em {totpassi}',
@@ -212,7 +216,7 @@ const msg_pt = {
tutor: 'Tutor', tutor: 'Tutor',
sonomediatore: 'Quando diventi Meditore vieni contattato da un <strong>TUTOR</strong>, con lui devi:<br><ol class="lista">' + sonomediatore: 'Quando diventi Meditore vieni contattato da un <strong>TUTOR</strong>, con lui devi:<br><ol class="lista">' +
'<li>Aprire la tua <strong>Gift Chat</strong> (tu come proprietario e il Tutor ' + '<li>Aprire la tua <strong>Gift Chat</strong> (tu come proprietario e il Tutor ' +
'come amministratore) con questo nome: <strong>{nomenave}</strong></li>' + 'come amministratore) con questo nome:<br><strong>{nomenave}</strong></li>' +
'<li>Clicca sul nome della chat in alto -> Modifica -> Amministratori -> "Aggiungi Amministratore", seleziona il Tutor nellelenco.</li>' + '<li>Clicca sul nome della chat in alto -> Modifica -> Amministratori -> "Aggiungi Amministratore", seleziona il Tutor nellelenco.</li>' +
'<li>Devi configurare la chat in modo che chi entra vede anche i post precedenti (clicca sul nome della chat in alto, clicca su modifica, ' + '<li>Devi configurare la chat in modo che chi entra vede anche i post precedenti (clicca sul nome della chat in alto, clicca su modifica, ' +
'cambia la "cronologia per i nuovi membri" da nascosta a visibile.</li>' + 'cambia la "cronologia per i nuovi membri" da nascosta a visibile.</li>' +
@@ -247,7 +251,7 @@ const msg_pt = {
metodi_disponibili: 'Métodos disponíveis', metodi_disponibili: 'Métodos disponíveis',
importo: 'Importo', importo: 'Importo',
effettua_il_dono: 'Chegou o momento de fazer o seu Presente!<br>' + effettua_il_dono: 'Chegou o momento de fazer o seu Presente!<br>' +
'Enviar via PayPal para: <strong>{email}</strong><br>' + 'Enviar via <a href="https://www.paypal.com" target="_blank">PayPal</a> para: <strong>{email}</strong><br>' +
'(Escolha a opção "ENVIAR A ALGUÉM DA SUA CONFIANÇA".)<br>', '(Escolha a opção "ENVIAR A ALGUÉM DA SUA CONFIANÇA".)<br>',
qui_compariranno_le_info: 'No dia da partida do Navio, a informação do Sonhador aparecerá', qui_compariranno_le_info: 'No dia da partida do Navio, a informação do Sonhador aparecerá',
posizione: 'Localização', posizione: 'Localização',
@@ -256,7 +260,7 @@ const msg_pt = {
clicca_conferma_dono: 'Clique aqui para confirmar que você fez o seu presente', clicca_conferma_dono: 'Clique aqui para confirmar que você fez o seu presente',
fatto_dono: 'Você confirmou que o presente foi enviado', fatto_dono: 'Você confirmou que o presente foi enviado',
confermi_dono: 'Confirme que você enviou o seu Presente de 33€', confermi_dono: 'Confirme que você enviou o seu Presente de 33€',
dono_ricevuto: 'O seu Presente foi Recebido Correctamente', dono_ricevuto: 'O seu Presente foi Recebido!',
dono_ricevuto_2: 'Recebido', dono_ricevuto_2: 'Recebido',
dono_ricevuto_3: 'Chegou!', dono_ricevuto_3: 'Chegou!',
confermi_dono_ricevuto: 'Por favor, confirme que você recebeu o presente de 33€ de {donatore}', confermi_dono_ricevuto: 'Por favor, confirme que você recebeu o presente de 33€ de {donatore}',

View File

@@ -1,5 +1,9 @@
const msg_si = { const msg_si = {
si: { si: {
words:{
da: 'da',
a: 'a',
},
home: { home: {
guida_passopasso: 'Vodnik po korakih' guida_passopasso: 'Vodnik po korakih'
}, },
@@ -67,8 +71,8 @@ const msg_si = {
}, },
steps: { steps: {
nuovo_imbarco: 'Rezerviraj še eno potovanje', nuovo_imbarco: 'Rezerviraj še eno potovanje',
vuoi_entrare_nuova_nave: 'Če potrdiš, ko bo tvoja Ladja pripravljena za izplutje, boš Ponovno Doniral in ponovil novo potovanje.<br>' + vuoi_entrare_nuova_nave: 'Želis pomagati Gibanju, napredovati in vstopiti v še eno\novo Ladjico?<br>Z novim vplačilom 33€, lahko pričneš novo potovanje in tako dobiš\še eno priložnost, da postaneš Sanjač!<br>' +
'Na ta način boste pomagali vsem ladjam pri napredovanju in rasti gibanja', 'Če potrdiš boš dodan na seznam \čakajočih za vkrcavanje.',
vuoi_cancellare_imbarco: 'Ali ste prepričani, da želite izbrisati vaš vstop v Ladjo Ayni?', vuoi_cancellare_imbarco: 'Ali ste prepričani, da želite izbrisati vaš vstop v Ladjo Ayni?',
completed: 'zaključen', completed: 'zaključen',
passi_su: '{passo} od {totpassi} koraki', passi_su: '{passo} od {totpassi} koraki',
@@ -209,7 +213,7 @@ const msg_si = {
tutor: 'Tutor', tutor: 'Tutor',
sonomediatore: 'Ko postaneš Mediator te kontaktira en <strong>TUTOR</strong>, z njim moraš:<br><ol class="lista">' + sonomediatore: 'Ko postaneš Mediator te kontaktira en <strong>TUTOR</strong>, z njim moraš:<br><ol class="lista">' +
'<li>Odpret svoj <strong>Gift- Darilni klepet</strong> (ti kot lastnik in Tutor ' + '<li>Odpret svoj <strong>Gift- Darilni klepet</strong> (ti kot lastnik in Tutor ' +
'kot administrator) s tem imenom: <strong>{nomenave}</strong></li>' + 'kot administrator) s tem imenom:<br><strong>{nomenave}</strong></li>' +
'<li>Klikni na ime klepeta na vrhu-> Popravi -> Administratorji -> "Dodaj Administratorja", izberi Tutorja v imeniku.</li>' + '<li>Klikni na ime klepeta na vrhu-> Popravi -> Administratorji -> "Dodaj Administratorja", izberi Tutorja v imeniku.</li>' +
'<li>Moraš nastaviti klepet na način, da vsak, ki vstopi vidi predhodne objave(klikni na ime klepeta na vrhu, klikni na popravi, ' + '<li>Moraš nastaviti klepet na način, da vsak, ki vstopi vidi predhodne objave(klikni na ime klepeta na vrhu, klikni na popravi, ' +
'spremeni "zgodovina za nove člane" iz skrite v vidno.</li>' + 'spremeni "zgodovina za nove člane" iz skrite v vidno.</li>' +
@@ -244,7 +248,7 @@ const msg_si = {
metodi_disponibili: 'Načini na Voljo', metodi_disponibili: 'Načini na Voljo',
importo: 'Uvoz', importo: 'Uvoz',
effettua_il_dono: 'Je\' prišel trenutek da Vplačaš svoje darilo!<br>' + effettua_il_dono: 'Je\' prišel trenutek da Vplačaš svoje darilo!<br>' +
'Vplačaj preko PayPal a: <strong>{email}</strong><br>' + 'Vplačaj preko <a href="https://www.paypal.com" target="_blank">PayPal</a> a: <strong>{email}</strong><br>' +
'(Izberi možnost "Pošlji osebi, ki ji zaupaš")<br>', '(Izberi možnost "Pošlji osebi, ki ji zaupaš")<br>',
qui_compariranno_le_info: 'Na dan odhoda Ladje, prejmete vse potrebne informacije s strani Sanjača', qui_compariranno_le_info: 'Na dan odhoda Ladje, prejmete vse potrebne informacije s strani Sanjača',
posizione: 'Pozicija', posizione: 'Pozicija',
@@ -253,7 +257,7 @@ const msg_si = {
clicca_conferma_dono: 'Klikni tu, da potrdiš izvedeno vplačilo', clicca_conferma_dono: 'Klikni tu, da potrdiš izvedeno vplačilo',
fatto_dono: 'Potrdil si, da je vplačilo bilo izvedeno', fatto_dono: 'Potrdil si, da je vplačilo bilo izvedeno',
confermi_dono: 'Potrdi da si vplačal 33€', confermi_dono: 'Potrdi da si vplačal 33€',
dono_ricevuto: 'Tvoje vplačilo je prejeto', dono_ricevuto: 'Tvoje vplačilo je prejeto!',
dono_ricevuto_2: 'Sprejeto', dono_ricevuto_2: 'Sprejeto',
dono_ricevuto_3: 'Prispelo!', dono_ricevuto_3: 'Prispelo!',
confermi_dono_ricevuto: 'Potrjujem, da sem sprejel darilo v znesku 33€ z strani {donatore}', confermi_dono_ricevuto: 'Potrjujem, da sem sprejel darilo v znesku 33€ z strani {donatore}',

View File

@@ -920,12 +920,13 @@ namespace Actions {
}) })
} }
async function GetArrDoniNavi(context, { ricalcola }) { async function GetArrDoniNavi(context, { ricalcola, showall }) {
console.log('GetArrDoniNavi') console.log('GetArrDoniNavi')
const mydata = { const mydata = {
idapp: process.env.APP_ID, idapp: process.env.APP_ID,
ricalcola ricalcola,
showall
} }
return await Api.SendReq('/dashboard/getdoninavi', 'POST', mydata) return await Api.SendReq('/dashboard/getdoninavi', 'POST', mydata)

View File

@@ -53,6 +53,7 @@ export interface INotify {
export const tools = { export const tools = {
CAN_EDIT: 'q-ce', CAN_EDIT: 'q-ce',
TABBED_DASHBOARD: 't-db', TABBED_DASHBOARD: 't-db',
TABBED_NAVE: 't-nave',
getprefCountries: ['it', 'si', 'us', 'es', 'pt', 'uk', 'fr', 'de', 'ch', 'br', 'sk'], getprefCountries: ['it', 'si', 'us', 'es', 'pt', 'uk', 'fr', 'de', 'ch', 'br', 'sk'],
@@ -1573,10 +1574,12 @@ export const tools = {
ind_order: par.param1.ind_order, ind_order: par.param1.ind_order,
myfunc: func, myfunc: func,
data: par.param2, data: par.param2,
username: par.param2.username,
notifBot: null notifBot: null
} }
mydatatosave.notifBot = { un: par.param2, txt: par.param3 } if (par.param2.notifBot)
mydatatosave.notifBot = { un: par.param2, txt: par.param3 }
GlobalStore.actions.callFunz({ mydata: mydatatosave }).then((ris) => { GlobalStore.actions.callFunz({ mydata: mydatatosave }).then((ris) => {
if (ris) { if (ris) {
@@ -2546,11 +2549,13 @@ export const tools = {
if (Screen.width < 410) { if (Screen.width < 410) {
return '337' return '337'
} else if (Screen.width < 600) { } else if (Screen.width < 600) {
return '400' return '450'
} else if (Screen.width < 900) { } else if (Screen.width < 800) {
return '500' return '500'
} else { } else if (Screen.width < 900) {
return '600' return '600'
} else {
return '700'
} }
}, },
@@ -3618,6 +3623,10 @@ export const tools = {
return this.getRiganave(mianave.riga) + '.' + this.getColnave(mianave.col) return this.getRiganave(mianave.riga) + '.' + this.getColnave(mianave.col)
}, },
getlastnavestr(lastnave) {
return lastnave.riga + '.' + lastnave.col
},
getmaxcol(riga) { getmaxcol(riga) {
return Math.pow(2, riga - 1) return Math.pow(2, riga - 1)
@@ -3632,17 +3641,17 @@ export const tools = {
}, },
getcolNaveByPosiz(col) { getcolNaveByPosiz(col) {
let ris = Math.ceil(col * Math.pow(2, 3) / (2 * 4)) let ris = Math.ceil(col * Math.pow(2, 3))
if (ris <= 1) if (ris <= 1)
ris = 1 ris = 1
return ris return ris
}, },
getfirstnaveSognatore(riga, col) { getfirstnaveSognatore(riga, col) {
const myriga = this.getrigaNaveByPosiz(riga) const myriga = this.getrigaNaveByPosiz(riga)
const mycol = this.getcolNaveByPosiz(col) const mycol = this.getcolNaveByPosiz(col)
// console.log(`${riga}.${col} => ${myriga}.${mycol}`)
return { riga: myriga, col: mycol } return { riga: myriga, col: mycol }
}, },
@@ -3686,9 +3695,9 @@ export const tools = {
if (perc > 100) if (perc > 100)
perc = 100 perc = 100
console.log('naveorig', naveorig.riga, '.', naveorig.col, 'dest', navedest.riga, ',', navedest.col) // console.log('naveorig', naveorig.riga, '.', naveorig.col, 'dest', navedest.riga, ',', navedest.col)
console.log('lastnave', lastnave.riga, '.', lastnave.col) // console.log('lastnave', lastnave.riga, '.', lastnave.col)
console.log('contaattuale', contaattuale, 'contatot', contatot, 'perc', perc) // console.log('contaattuale', contaattuale, 'contatot', contatot, 'perc', perc)
return { perc, totale: contatot, contaattuale } return { perc, totale: contatot, contaattuale }
}, },
@@ -3700,6 +3709,14 @@ export const tools = {
ris = UserStore.state.isAdmin && !pertutti ? true : online ris = UserStore.state.isAdmin && !pertutti ? true : online
// console.log('isadmin', UserStore.state.isAdmin) // console.log('isadmin', UserStore.state.isAdmin)
return ris return ris
},
getsize() {
if (this.isMobile()) {
return '0.85rem'
} else {
return '1rem'
}
} }