- Nave
- Requirements - Send Msg to Passeggeri
This commit is contained in:
@@ -108,5 +108,4 @@ export default class CMyDashboard extends MixinUsers {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
mystyle=" " myclass="myshad">
|
mystyle=" " myclass="myshad">
|
||||||
<div v-if="!!dashboard.myself.name">
|
<div v-if="!!dashboard.myself.name">
|
||||||
|
|
||||||
<div v-if="!Completato9Req">
|
<div v-if="!Completato9Req && !HasNave">
|
||||||
<CTitleBanner icon="person" :canopen="true" class="q-pa-xs text-center"
|
<CTitleBanner icon="person" :canopen="true" class="q-pa-xs text-center"
|
||||||
:title="$t('pages.posizione_in_programmazione')" bgcolor="bg-blue"
|
:title="$t('pages.posizione_in_programmazione')" bgcolor="bg-blue"
|
||||||
clcolor="text-white" mystyle=" " myclass="myshad">
|
clcolor="text-white" mystyle=" " myclass="myshad">
|
||||||
|
|||||||
@@ -1,27 +1,36 @@
|
|||||||
.donatore, .mediatore, .sognatore {
|
.donatore, .mediatore, .sognatore, .title-nave, .intermedio2, .intermedio3 {
|
||||||
padding: 4px;
|
padding: 2px 4px;
|
||||||
margin: 4px;
|
margin: 2px 4px;
|
||||||
color: white;
|
color: white;
|
||||||
font-size: 1.25rem;
|
font-size: 1rem;
|
||||||
border-radius: 16px;
|
border-radius: 16px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.donatore {
|
.donatore {
|
||||||
background-color: #2ba0fd;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mediatore {
|
|
||||||
background-color: red;
|
background-color: red;
|
||||||
}
|
}
|
||||||
|
|
||||||
.sognatore {
|
.mediatore {
|
||||||
background-color: green;
|
background-color: green;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.sognatore {
|
||||||
|
background-color: purple;
|
||||||
|
}
|
||||||
|
|
||||||
|
.intermedio2{
|
||||||
|
background-color: orange;
|
||||||
|
}
|
||||||
|
|
||||||
|
.intermedio3{
|
||||||
|
background-color: yellow;
|
||||||
|
color: black;
|
||||||
|
}
|
||||||
|
|
||||||
.cont_donatore, .cont_sognatore, .cont_mediatore, .cont_tragitto, .cont_pos, .cont_intestaz, .cont_pos_intest, .cont_intestaz_small {
|
.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;
|
||||||
padding: 4px;
|
padding: 2px 8px;
|
||||||
margin: 4px;
|
margin: 2px 4px;
|
||||||
font-size: 1rem;
|
font-size: 1rem;
|
||||||
border-radius: 16px;
|
border-radius: 16px;
|
||||||
}
|
}
|
||||||
@@ -71,3 +80,7 @@
|
|||||||
margin-top: 4px;
|
margin-top: 4px;
|
||||||
margin-bottom: 4px;
|
margin-bottom: 4px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.title-nave {
|
||||||
|
color: blue;
|
||||||
|
}
|
||||||
|
|||||||
@@ -28,6 +28,7 @@ export default class CMyNave extends MixinNave {
|
|||||||
public rigadoni: number = 1
|
public rigadoni: number = 1
|
||||||
public coldoni: number = 1
|
public coldoni: number = 1
|
||||||
public mediatore: any = {}
|
public mediatore: any = {}
|
||||||
|
public donatore: any = {}
|
||||||
|
|
||||||
public tragitto = [
|
public tragitto = [
|
||||||
{
|
{
|
||||||
@@ -84,6 +85,10 @@ export default class CMyNave extends MixinNave {
|
|||||||
this.coldoni = tools.getValDb('coldoni', false, 1)
|
this.coldoni = tools.getValDb('coldoni', false, 1)
|
||||||
|
|
||||||
this.mediatore = this.getmediatore()
|
this.mediatore = this.getmediatore()
|
||||||
|
this.donatore = this.getdonatore()
|
||||||
|
|
||||||
|
// console.log('this.mediatore', this.mediatore)
|
||||||
|
// console.log('this.donatore', this.donatore)
|
||||||
|
|
||||||
if (!!this.mediatore) {
|
if (!!this.mediatore) {
|
||||||
this.link_chat = this.mediatore.link_chat
|
this.link_chat = this.mediatore.link_chat
|
||||||
@@ -105,7 +110,7 @@ export default class CMyNave extends MixinNave {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public getColnave(col) {
|
public getColnave(col) {
|
||||||
let ris = Math.floor(col / (2 * 4))
|
let ris = Math.ceil(col / (2 * 4))
|
||||||
if (ris <= 1)
|
if (ris <= 1)
|
||||||
ris = 1
|
ris = 1
|
||||||
return ris
|
return ris
|
||||||
@@ -113,10 +118,10 @@ export default class CMyNave extends MixinNave {
|
|||||||
|
|
||||||
public sonoMediatore() {
|
public sonoMediatore() {
|
||||||
if (!!this.nave) {
|
if (!!this.nave) {
|
||||||
if (!!this.nave.rec.donatore.recmediatore)
|
if (!!this.nave.rec.donatore)
|
||||||
return this.nave.rec.donatore.recmediatore.ind_order === this.nave.ind_order
|
return this.nave.rec.donatore.recmediatore.ind_order === this.nave.ind_order
|
||||||
else {
|
else {
|
||||||
if (!!this.nave.rec.mediatore.recmediatore)
|
if (!!this.nave.rec.mediatore)
|
||||||
return this.nave.rec.mediatore.recmediatore.ind_order === this.nave.ind_order
|
return this.nave.rec.mediatore.recmediatore.ind_order === this.nave.ind_order
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -124,12 +129,88 @@ export default class CMyNave extends MixinNave {
|
|||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public partenza_primo_donatore() {
|
||||||
|
if (!!this.nave) {
|
||||||
|
if (!!this.nave.rec.mediatore) {
|
||||||
|
for (const rec of this.nave.rec.mediatore.arrdonatori) {
|
||||||
|
if (!!rec)
|
||||||
|
return rec.date_start
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return ''
|
||||||
|
}
|
||||||
|
|
||||||
|
public getGiornoDelDono() {
|
||||||
|
if (!!this.nave) {
|
||||||
|
return tools.getstrDate(this.nave.date_start)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public GiornoDelDonoArrivato() {
|
||||||
|
if (!!this.nave) {
|
||||||
|
return tools.isDateArrived(this.nave.date_start)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public FattoDono() {
|
||||||
|
if (!!this.nave) {
|
||||||
|
if (!!this.nave.rec.donatore) {
|
||||||
|
for (const rec of this.nave.rec.donatore.arrdonatori) {
|
||||||
|
if (!!rec) {
|
||||||
|
if (rec.ind_order === this.nave.ind_order)
|
||||||
|
return rec.made_gift
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
public sognatoredelDono() {
|
||||||
|
if (!!this.nave) {
|
||||||
|
if (!!this.nave.rec.recsognatori)
|
||||||
|
return this.nave.rec.recsognatori[0]
|
||||||
|
}
|
||||||
|
return null
|
||||||
|
}
|
||||||
|
|
||||||
|
public getMetodoPagamentoSognatore() {
|
||||||
|
const rec = this.sognatoredelDono()
|
||||||
|
if (!!rec) {
|
||||||
|
return rec.profile.paymenttypes
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public getemailPagamentoSognatore() {
|
||||||
|
const rec = this.sognatoredelDono()
|
||||||
|
if (!!rec) {
|
||||||
|
return rec.profile.email_paypal
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public DonoInviato() {
|
||||||
|
if (!!this.nave) {
|
||||||
|
if (!!this.nave.rec.donatore) {
|
||||||
|
for (const rec of this.nave.rec.donatore.arrdonatori) {
|
||||||
|
if (!!rec) {
|
||||||
|
if (rec.ind_order === this.nave.ind_order)
|
||||||
|
return !!rec.date_made_gift
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return null
|
||||||
|
}
|
||||||
|
|
||||||
public sonoDonatore() {
|
public sonoDonatore() {
|
||||||
if (!!this.nave) {
|
if (!!this.nave) {
|
||||||
for (const rec of this.nave.rec.donatore.arrdonatori) {
|
if (!!this.nave.rec.donatore) {
|
||||||
if (!!rec) {
|
for (const rec of this.nave.rec.donatore.arrdonatori) {
|
||||||
if (rec.ind_order === this.nave.ind_order)
|
if (!!rec) {
|
||||||
return true
|
if (rec.ind_order === this.nave.ind_order)
|
||||||
|
return true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -137,27 +218,37 @@ export default class CMyNave extends MixinNave {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public getmediatore() {
|
public getmediatore() {
|
||||||
return this.nave.rec.donatore.recmediatore
|
if (!!this.nave.rec.mediatore)
|
||||||
|
return this.nave.rec.mediatore.recmediatore
|
||||||
|
return null
|
||||||
|
}
|
||||||
|
|
||||||
|
public getdonatore() {
|
||||||
|
if (!!this.nave.rec.donatore)
|
||||||
|
return this.nave.rec.donatore.recmediatore
|
||||||
|
return null
|
||||||
}
|
}
|
||||||
|
|
||||||
public change_link_chat() {
|
public change_link_chat() {
|
||||||
const recmed = this.getmediatore()
|
const recmed = this.getmediatore()
|
||||||
if (recmed.link_chat !== this.link_chat) {
|
if (!!recmed) {
|
||||||
recmed.link_chat = this.link_chat
|
if (recmed.link_chat !== this.link_chat) {
|
||||||
|
recmed.link_chat = this.link_chat
|
||||||
|
|
||||||
const mydata = {
|
const mydata = {
|
||||||
link_chat: recmed.link_chat
|
link_chat: recmed.link_chat
|
||||||
|
}
|
||||||
|
tools.saveFieldToServer(this, 'navi', recmed._id, mydata)
|
||||||
}
|
}
|
||||||
tools.saveFieldToServer(this, 'navi', recmed._id, mydata)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
get linkchatopen() {
|
get linkchatopen() {
|
||||||
return this.link_chat
|
return this.donatore.link_chat
|
||||||
}
|
}
|
||||||
|
|
||||||
public sonoSognatore() {
|
public sonoSognatore() {
|
||||||
return this.nave.rec.donatore.recsognatore.ind_order === this.nave.ind_order
|
// return this.nave.rec.donatore.recsognatore.ind_order === this.nave.ind_order
|
||||||
}
|
}
|
||||||
|
|
||||||
public getclassSelect(rec) {
|
public getclassSelect(rec) {
|
||||||
@@ -213,18 +304,20 @@ export default class CMyNave extends MixinNave {
|
|||||||
public async InviaMsgANave(msgobj, navemediatore) {
|
public async InviaMsgANave(msgobj, navemediatore) {
|
||||||
|
|
||||||
let msgtitle = translate('dashboard.controlla_donatori')
|
let msgtitle = translate('dashboard.controlla_donatori')
|
||||||
|
let msginvia = msgtitle
|
||||||
if (msgobj.inviareale) {
|
if (msgobj.inviareale) {
|
||||||
msgtitle = translate('dashboard.invia_link_chat')
|
msgtitle = translate('dashboard.invia_link_chat')
|
||||||
|
msginvia = translate('dashboard.inviare_msg_donatori')
|
||||||
}
|
}
|
||||||
|
|
||||||
await tools.askConfirm(this.$q, msgtitle, translate('dashboard.inviare_msg_donatori') + ' ' + '?', translate('dialog.yes'), translate('dialog.no'), this, '', lists.MenuAction.INVIA_MSG_A_DONATORI, 0, {
|
tools.askConfirm(this.$q, msgtitle, msginvia + ' ' + '?', translate('dialog.yes'), translate('dialog.no'), this, '', lists.MenuAction.INVIA_MSG_A_DONATORI, 0, {
|
||||||
param1: msgobj,
|
param1: msgobj,
|
||||||
param2: navemediatore
|
param2: navemediatore
|
||||||
})
|
})
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public async InviaMsgADonatori(msgobj) {
|
public InviaMsgADonatori(msgobj) {
|
||||||
|
|
||||||
const navemediatore = {
|
const navemediatore = {
|
||||||
id: this.mediatore._id,
|
id: this.mediatore._id,
|
||||||
@@ -236,8 +329,8 @@ export default class CMyNave extends MixinNave {
|
|||||||
}
|
}
|
||||||
|
|
||||||
get linkchatesiste() {
|
get linkchatesiste() {
|
||||||
if (!!this.linkchatopen)
|
if (!!this.link_chat)
|
||||||
return this.linkchatopen.length > 10
|
return this.link_chat.length > 10
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -245,11 +338,31 @@ export default class CMyNave extends MixinNave {
|
|||||||
|
|
||||||
const msgobj = {
|
const msgobj = {
|
||||||
tipomsg: tools.TipoMsg.SEND_LINK_CHAT_DONATORI,
|
tipomsg: tools.TipoMsg.SEND_LINK_CHAT_DONATORI,
|
||||||
msgpar1: this.linkchatopen,
|
msgpar1: this.link_chat,
|
||||||
inviareale,
|
inviareale,
|
||||||
}
|
}
|
||||||
|
|
||||||
this.InviaMsgADonatori(msgobj)
|
this.InviaMsgADonatori(msgobj)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public getdatastr(mydata) {
|
||||||
|
return tools.getstrshortDate(mydata)
|
||||||
|
}
|
||||||
|
|
||||||
|
public gettitlemediatore() {
|
||||||
|
return this.getdatastr(this.partenza_primo_donatore()) + ' ' + 'NAVE' + ' ' + this.mediatore.riga + '.' + this.mediatore.col + ' ' + '🎁' + 'AYNI'
|
||||||
|
}
|
||||||
|
|
||||||
|
public gettitledonatore() {
|
||||||
|
return this.getdatastr(this.donatore.date_start) + ' ' + 'NAVE' + ' ' + this.donatore.riga + '.' + this.donatore.col + ' ' + '🎁' + 'AYNI'
|
||||||
|
}
|
||||||
|
|
||||||
|
public gettesto() {
|
||||||
|
return this.$t('dashboard.sonomediatore', { nomenave: this.gettitlemediatore() })
|
||||||
|
}
|
||||||
|
|
||||||
|
public getposizione() {
|
||||||
|
return this.$t('dashboard.posizione') + ' ' + this.nave.riga + '.' + this.nave.col
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,45 +24,12 @@
|
|||||||
<q-tab name="tragitto" label="Tragitto"></q-tab>
|
<q-tab name="tragitto" label="Tragitto"></q-tab>
|
||||||
<q-tab name="donatore" label="Donatore"></q-tab>
|
<q-tab name="donatore" label="Donatore"></q-tab>
|
||||||
<q-tab name="mediatore" label="Mediatore"></q-tab>
|
<q-tab name="mediatore" label="Mediatore"></q-tab>
|
||||||
<q-tab name="spiegazione" label="Spiegazione"></q-tab>
|
|
||||||
</q-tabs>
|
</q-tabs>
|
||||||
|
|
||||||
|
|
||||||
<q-tab-panels v-model="cosa" animated>
|
<q-tab-panels v-model="cosa" animated>
|
||||||
<q-tab-panel name="spiegazione">
|
|
||||||
|
|
||||||
<div v-if="sonoMediatore()">
|
|
||||||
<div class="text-left" v-html="$t('dashboard.sonomediatore')"></div>
|
|
||||||
|
|
||||||
<q-input v-model="link_chat" :label="$t('dashboard.link_chat')"
|
|
||||||
debounce="1000"
|
|
||||||
input-class="myinput-area"
|
|
||||||
@input="change_link_chat">
|
|
||||||
|
|
||||||
</q-input>
|
|
||||||
|
|
||||||
<div class="">
|
|
||||||
<div class="row justify-center centermydiv q-gutter-sm" style="max-width: 420px;">
|
|
||||||
<q-btn rounded text-color="secondary" icon="fab fa-telegram"
|
|
||||||
:label="$t('dashboard.controlla_donatori')"
|
|
||||||
@click="InviaLinkChatADonatori(false)"></q-btn>
|
|
||||||
|
|
||||||
<q-btn rounded text-color="primary" icon="fab fa-telegram"
|
|
||||||
:disable="!linkchatesiste"
|
|
||||||
:label="$t('dashboard.invia_link_chat')"
|
|
||||||
@click="InviaLinkChatADonatori(true)"></q-btn>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<div v-else-if="sonoDonatore()">
|
|
||||||
<div v-html="$t('dashboard.sonosognatore')">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</q-tab-panel>
|
|
||||||
<q-tab-panel name="tragitto">
|
<q-tab-panel name="tragitto">
|
||||||
|
<q-chip class="glossy q-ma-sm" color="orange" text-color="white" icon="star">{{getposizione()}}</q-chip>
|
||||||
<div class="row justify-between">
|
<div class="row justify-between">
|
||||||
<div class="cont_pos_intest">N</div>
|
<div class="cont_pos_intest">N</div>
|
||||||
|
|
||||||
@@ -99,6 +66,56 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
</q-tab-panel>
|
||||||
|
<q-tab-panel name="donatore">
|
||||||
|
|
||||||
|
<div class="title-nave">{{gettitledonatore()}}</div>
|
||||||
|
|
||||||
|
<div class="">
|
||||||
|
<div class="row justify-center q-gutter-md">
|
||||||
|
<div v-if="nave.rec.donatore.recsognatori">
|
||||||
|
<div class="sognatore">SOGNATORI:</div>
|
||||||
|
<div v-for="(sognatore, index) in nave.rec.donatore.recsognatori" :key="10+index">
|
||||||
|
<div v-if="sognatore" :class="`cont_sognatore ` + getclassSelect(sognatore)">
|
||||||
|
A{{3 - index}} - {{ sognatore.name }} {{ sognatore.surname }} ({{sognatore.username }})
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="">
|
||||||
|
<div class="mediatore">MEDIATORE:</div>
|
||||||
|
<div :class="`cont_mediatore ` + getclassSelect(nave.rec.donatore.recmediatore)">
|
||||||
|
{{ nave.rec.donatore.recmediatore.name }} {{ nave.rec.donatore.recmediatore.surname }} ({{
|
||||||
|
nave.rec.donatore.recmediatore.username }})
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="">
|
||||||
|
<div class="intermedio3">INTERMEDIO3:</div>
|
||||||
|
<div v-for="(terra, index) in nave.rec.donatore.arrterra" :key="index">
|
||||||
|
<div v-if="terra" :class="`cont_donatore ` + getclassSelect(terra)">
|
||||||
|
B{{index + 1}} - {{ terra.name }} {{ terra.surname }} ({{ terra.username }}) - {{
|
||||||
|
terra.riga}}.{{terra.col}}<br>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="">
|
||||||
|
<div class="intermedio2">INTERMEDIO2:</div>
|
||||||
|
<div v-for="(aria, index) in nave.rec.donatore.arraria" :key="index">
|
||||||
|
<div v-if="aria" :class="`cont_donatore ` + getclassSelect(aria)">
|
||||||
|
C{{index + 1}} - {{ aria.name }} {{ aria.surname }} ({{ aria.username }}) - {{
|
||||||
|
aria.riga}}.{{aria.col}}<br>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="donatore">DONATORI:</div>
|
||||||
|
<div v-for="(donatore, index) in nave.rec.donatore.arrdonatori" :key="index">
|
||||||
|
<div v-if="donatore" :class="`cont_donatore ` + getclassSelect(donatore)">
|
||||||
|
D{{index + 1}} - {{ donatore.name }} {{ donatore.surname }} ({{ donatore.username }}) - {{
|
||||||
|
donatore.riga}}.{{donatore.col}}<br>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="q-ma-md q-butter-sm" v-if="!!linkchatopen">
|
<div class="q-ma-md q-butter-sm" v-if="!!linkchatopen">
|
||||||
Per entrare nella Gift Chat, clicca qui:<br>
|
Per entrare nella Gift Chat, clicca qui:<br>
|
||||||
<div class="q-ma-md">
|
<div class="q-ma-md">
|
||||||
@@ -110,28 +127,25 @@
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</q-tab-panel>
|
<div v-if="sonoDonatore()">
|
||||||
<q-tab-panel name="donatore">
|
<div v-html="$t('dashboard.sonosognatore')">
|
||||||
|
</div>
|
||||||
|
|
||||||
<div v-if="nave.rec.donatore.recsognatori">
|
{{ sognatoredelDono() }}
|
||||||
<div class="sognatore">SOGNATORI:</div>
|
|
||||||
<div v-for="(sognatore, index) in nave.rec.donatore.recsognatori" :key="10+index">
|
Quando effettuare il Regalo: {{ getGiornoDelDono() }}<br>
|
||||||
<div v-if="sognatore" :class="`cont_sognatore ` + getclassSelect(sognatore)">
|
Metodo Utilizzato: {{ getMetodoPagamentoSognatore() }}<br>
|
||||||
A{{3 - index}} - {{ sognatore.name }} {{ sognatore.surname }} ({{sognatore.username }})
|
|
||||||
|
<div v-if="GiornoDelDonoArrivato">
|
||||||
|
<div v-if="!FattoDono">
|
||||||
|
E' arrivato il momento di Effettuare il proprio Dono di 33€:<br>
|
||||||
|
tramite {{ getMetodoPagamentoSognatore() }}<br>
|
||||||
|
Inviarlo a: {{ getemailPagamentoSognatore() }}
|
||||||
|
|
||||||
|
<!--Clicca qui per confermare che hai effettuato il tuo dono.-->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<div v-else>
|
||||||
<div class="">
|
Il tuo Dono è stato Ricevuto Correttamente.
|
||||||
<div class="mediatore">MEDIATORE:</div>
|
|
||||||
<div :class="`cont_mediatore ` + getclassSelect(nave.rec.donatore.recmediatore)">
|
|
||||||
{{ nave.rec.donatore.recmediatore.name }} {{ nave.rec.donatore.recmediatore.surname }} ({{
|
|
||||||
nave.rec.donatore.recmediatore.username }})
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="donatore">DONATORI:</div>
|
|
||||||
<div v-for="(donatore, index) in nave.rec.donatore.arrdonatori" :key="index">
|
|
||||||
<div v-if="donatore" :class="`cont_donatore ` + getclassSelect(donatore)">
|
|
||||||
D{{index + 1}} - {{ donatore.name }} {{ donatore.surname }} ({{ donatore.username }}) {{
|
|
||||||
donatore.riga}}.{{donatore.col}}<br>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -139,26 +153,71 @@
|
|||||||
</q-tab-panel>
|
</q-tab-panel>
|
||||||
<q-tab-panel name="mediatore">
|
<q-tab-panel name="mediatore">
|
||||||
|
|
||||||
<div v-if="nave.rec.mediatore.recsognatori">
|
<div class="title-nave">{{gettitlemediatore()}}</div>
|
||||||
<div class="sognatore">SOGNATORI:</div>
|
|
||||||
<div v-for="(sognatore, index) in nave.rec.mediatore.recsognatori" :key="10+index">
|
<div class="row justify-center q-gutter-md">
|
||||||
<div v-if="sognatore" :class="`cont_sognatore ` + getclassSelect(sognatore)">
|
<div v-if="nave.rec.mediatore.recsognatori">
|
||||||
A{{3 - index}} - {{ sognatore.name }} {{ sognatore.surname }} ({{sognatore.username }})
|
<div class="sognatore">SOGNATORI:</div>
|
||||||
|
<div v-for="(sognatore, index) in nave.rec.mediatore.recsognatori" :key="10+index">
|
||||||
|
<div v-if="sognatore" :class="`cont_sognatore ` + getclassSelect(sognatore)">
|
||||||
|
A{{3 - index}} - {{ sognatore.name }} {{ sognatore.surname }} ({{sognatore.username }})
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="">
|
||||||
|
<div class="mediatore">MEDIATORE:</div>
|
||||||
|
<div :class="`cont_mediatore ` + getclassSelect(nave.rec.mediatore.recmediatore)">
|
||||||
|
{{ nave.rec.mediatore.recmediatore.name }} {{ nave.rec.mediatore.recmediatore.surname }} ({{
|
||||||
|
nave.rec.mediatore.recmediatore.username }})
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="">
|
||||||
|
<div class="intermedio3">INTERMEDIO3:</div>
|
||||||
|
<div v-for="(terra, index) in nave.rec.mediatore.arrterra" :key="index">
|
||||||
|
<div v-if="terra" :class="`cont_donatore ` + getclassSelect(terra)">
|
||||||
|
B{{index + 1}} - {{ terra.name }} {{ terra.surname }} ({{ terra.username }}) - {{
|
||||||
|
terra.riga}}.{{terra.col}}<br>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="">
|
||||||
|
<div class="intermedio2">INTERMEDIO2:</div>
|
||||||
|
<div v-for="(aria, index) in nave.rec.mediatore.arraria" :key="index">
|
||||||
|
<div v-if="aria" :class="`cont_donatore ` + getclassSelect(aria)">
|
||||||
|
C{{index + 1}} - {{ aria.name }} {{ aria.surname }} ({{ aria.username }}) - {{
|
||||||
|
aria.riga}}.{{aria.col}}<br>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="donatore">DONATORI:</div>
|
||||||
|
<div v-for="(donatore, index) in nave.rec.mediatore.arrdonatori" :key="index">
|
||||||
|
<div v-if="donatore" :class="`cont_donatore ` + getclassSelect(donatore)">
|
||||||
|
D{{index + 1}} - {{ donatore.name }} {{ donatore.surname }} ({{ donatore.username }}) - {{
|
||||||
|
donatore.riga}}.{{donatore.col}}<br>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="">
|
</div>
|
||||||
<div class="mediatore">MEDIATORE:</div>
|
|
||||||
<div :class="`cont_mediatore ` + getclassSelect(nave.rec.mediatore.recmediatore)">
|
<div class="q-my-md">
|
||||||
{{ nave.rec.mediatore.recmediatore.name }} {{ nave.rec.mediatore.recmediatore.surname }} ({{
|
<div class="text-left" v-html="gettesto()"></div>
|
||||||
nave.rec.mediatore.recmediatore.username }})
|
|
||||||
</div>
|
<q-input v-model="link_chat" :label="$t('dashboard.link_chat')"
|
||||||
</div>
|
debounce="1000"
|
||||||
<div class="donatore">DONATORI:</div>
|
input-class="myinput-area"
|
||||||
<div v-for="(donatore, index) in nave.rec.mediatore.arrdonatori" :key="index">
|
@input="change_link_chat">
|
||||||
<div v-if="donatore" :class="`cont_donatore ` + getclassSelect(donatore)">
|
|
||||||
D{{index + 1}} - {{ donatore.name }} {{ donatore.surname }} ({{ donatore.username }}) {{
|
</q-input>
|
||||||
donatore.riga}}.{{donatore.col}}<br>
|
|
||||||
</div>
|
<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>
|
||||||
|
|
||||||
|
|||||||
0
src/rootgen/admin/allnavi/allnavi.scss
Normal file
0
src/rootgen/admin/allnavi/allnavi.scss
Normal file
32
src/rootgen/admin/allnavi/allnavi.ts
Normal file
32
src/rootgen/admin/allnavi/allnavi.ts
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
import Vue from 'vue'
|
||||||
|
import { Component, Watch } from 'vue-property-decorator'
|
||||||
|
import { tools } from '@src/store/Modules/tools'
|
||||||
|
import { func_tools } from 'store/Modules/toolsext'
|
||||||
|
import { CalendarStore, GlobalStore, UserStore } from '@store'
|
||||||
|
import { CGridTableRec, CMyFieldDb, CTitleBanner } from '@components'
|
||||||
|
import { colnewstosent, coltemplemail, colopzemail, colmailinglist } from '@src/store/Modules/fieldsTable'
|
||||||
|
import { DefaultNewsState, INewsState } from '@src/model/index'
|
||||||
|
import translate from '../../../globalroutines/util'
|
||||||
|
import { getCookie } from 'utils/auth'
|
||||||
|
import { CTitle } from '../../../components/CTitle'
|
||||||
|
import { CMyPage } from '../../../components/CMyPage'
|
||||||
|
import MixinBase from '../../../mixins/mixin-base'
|
||||||
|
import { CMyNave } from '../../../components/CMyNave'
|
||||||
|
|
||||||
|
const namespace = 'CalendarModule'
|
||||||
|
|
||||||
|
@Component({
|
||||||
|
components: { CTitle, CTitleBanner, CMyNave },
|
||||||
|
mixins: []
|
||||||
|
})
|
||||||
|
export default class Allnavi extends MixinBase {
|
||||||
|
public $t: any
|
||||||
|
public $q
|
||||||
|
public myloadingload: boolean = false
|
||||||
|
public ris = {}
|
||||||
|
|
||||||
|
public async mounted() {
|
||||||
|
this.ris = await GlobalStore.actions.GetArrNavi()
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
24
src/rootgen/admin/allnavi/allnavi.vue
Normal file
24
src/rootgen/admin/allnavi/allnavi.vue
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<div class="q-my-xs q-gutter-xs q-py-xs text-center">
|
||||||
|
<CTitleBanner class="q-pa-xs"
|
||||||
|
title="Navi"
|
||||||
|
bgcolor="bg-primary"
|
||||||
|
clcolor="text-white"
|
||||||
|
mystyle="" myclass="myshad" canopen="true">
|
||||||
|
|
||||||
|
<CMyNave v-for="(mianave, index) in ris.arrnavi" :naveprop="mianave" :key="index"
|
||||||
|
:navi_partenzaprop="ris.navi_partenza">
|
||||||
|
|
||||||
|
</CMyNave>
|
||||||
|
|
||||||
|
|
||||||
|
</CTitleBanner>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script lang="ts" src="./allnavi.ts">
|
||||||
|
</script>
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
@import './allnavi.scss';
|
||||||
|
</style>
|
||||||
@@ -48,3 +48,4 @@ const messages = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
export default messages;
|
export default messages;
|
||||||
|
|
||||||
|
|||||||
@@ -30,6 +30,7 @@ const msg_it = {
|
|||||||
extralist: 'Lista Extra',
|
extralist: 'Lista Extra',
|
||||||
dbop: 'Db Operations',
|
dbop: 'Db Operations',
|
||||||
tableslist: 'Lista Tabelle',
|
tableslist: 'Lista Tabelle',
|
||||||
|
navi: 'Navi',
|
||||||
newsletter: 'Newsletter',
|
newsletter: 'Newsletter',
|
||||||
pages: 'Pagine',
|
pages: 'Pagine',
|
||||||
media: 'Media',
|
media: 'Media',
|
||||||
@@ -207,10 +208,10 @@ const msg_it = {
|
|||||||
nave_in_partenza: 'in Partenza il',
|
nave_in_partenza: 'in Partenza il',
|
||||||
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>gg/mm - NAVE numero.numero 🎁AYNI</strong><br>(Esempio: <strong>10/03 - NAVE 2.1 🎁 AYNI</strong>)</li>' +
|
'come amministratore) con questo nome: <strong>{nomenave}</strong></li>' +
|
||||||
'<li>Clicca sul nome della chat in alto -> Modifica -> Amministratori -> "Aggiungi Amministratore", seleziona il Tutor nell’elenco.</li>' +
|
'<li>Clicca sul nome della chat in alto -> Modifica -> Amministratori -> "Aggiungi Amministratore", seleziona il Tutor nell’elenco.</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>' +
|
||||||
'<li>Per trovare il <strong>link della Chat appena creata</strong>: clicca sul nome della chat in alto, clicca sulla Matita -> "Tipo di Gruppo" -> "invita nel gruppo tramite link", clicca su "copia link" e incollalo qui sotto, sulla casella <strong>"Link Gift Chat"</strong></li>' +
|
'<li>Per trovare il <strong>link della Chat appena creata</strong>: clicca sul nome della chat in alto, clicca sulla Matita -> "Tipo di Gruppo" -> "invita nel gruppo tramite link", clicca su "copia link" e incollalo qui sotto, sulla casella <strong>"Link Gift Chat"</strong></li>' +
|
||||||
'<li>Invia il Link della Gift Chat a tutti i Donatori, cliccando sul bottone qui sotto.</li></ol>',
|
'<li>Invia il Link della Gift Chat a tutti i Donatori, cliccando sul bottone qui sotto.</li></ol>',
|
||||||
sonosognatore: '<ol class="lista"><li>Quando sei in questa posizione, verrai invitato ad entrare in una <strong>Gift Chat</strong> (Telegram) e qui troverai anche gli altri 7 Donatori, il Mediatore, il Sognatore e un rappresentante dello Staff.</li>' +
|
sonosognatore: '<ol class="lista"><li>Quando sei in questa posizione, verrai invitato ad entrare in una <strong>Gift Chat</strong> (Telegram) e qui troverai anche gli altri 7 Donatori, il Mediatore, il Sognatore e un rappresentante dello Staff.</li>' +
|
||||||
@@ -229,6 +230,7 @@ const msg_it = {
|
|||||||
invia_link_chat: 'Invia il Link della Gift Chat ai Donatori',
|
invia_link_chat: 'Invia il Link della Gift Chat ai Donatori',
|
||||||
inviare_msg_donatori: '5) Inviare messaggio ai Donatori',
|
inviare_msg_donatori: '5) Inviare messaggio ai Donatori',
|
||||||
msg_donatori_ok: 'Inviato messaggio ai Donatori',
|
msg_donatori_ok: 'Inviato messaggio ai Donatori',
|
||||||
|
posizione: 'Posizione',
|
||||||
},
|
},
|
||||||
reg: {
|
reg: {
|
||||||
registered: 'Registrato',
|
registered: 'Registrato',
|
||||||
|
|||||||
@@ -808,6 +808,27 @@ namespace Actions {
|
|||||||
return null
|
return null
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
async function GetArrNavi(context) {
|
||||||
|
console.log('GetArrNavi')
|
||||||
|
|
||||||
|
const mydata = {
|
||||||
|
idapp: process.env.APP_ID
|
||||||
|
}
|
||||||
|
|
||||||
|
return await Api.SendReq('/dashboard/getnavi', 'POST', mydata)
|
||||||
|
.then((res) => {
|
||||||
|
if (res.status === 200) {
|
||||||
|
if (res.data.code === serv_constants.RIS_CODE_OK) {
|
||||||
|
return res.data.ris
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null
|
||||||
|
})
|
||||||
|
.catch((error) => {
|
||||||
|
console.error(error)
|
||||||
|
return null
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
async function loadSite(context) {
|
async function loadSite(context) {
|
||||||
// console.log('CalendarStore: loadAfterLogin')
|
// console.log('CalendarStore: loadAfterLogin')
|
||||||
@@ -958,6 +979,7 @@ namespace Actions {
|
|||||||
sendEmailTest: b.dispatch(sendEmailTest),
|
sendEmailTest: b.dispatch(sendEmailTest),
|
||||||
DuplicateRec: b.dispatch(DuplicateRec),
|
DuplicateRec: b.dispatch(DuplicateRec),
|
||||||
InviaMsgADonatori: b.dispatch(InviaMsgADonatori),
|
InviaMsgADonatori: b.dispatch(InviaMsgADonatori),
|
||||||
|
GetArrNavi: b.dispatch(GetArrNavi),
|
||||||
addDynamicPages: b.dispatch(addDynamicPages)
|
addDynamicPages: b.dispatch(addDynamicPages)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1502,7 +1502,8 @@ export const tools = {
|
|||||||
// console.log('param1', par.param1)
|
// console.log('param1', par.param1)
|
||||||
GlobalStore.actions.InviaMsgADonatori({ msgobj: par.param1, navemediatore: par.param2 }).then((ris) => {
|
GlobalStore.actions.InviaMsgADonatori({ msgobj: par.param1, navemediatore: par.param2 }).then((ris) => {
|
||||||
if (ris) {
|
if (ris) {
|
||||||
tools.showPositiveNotif(myself.$q, myself.$t('dashboard.msg_donatori_ok'))
|
if (par.param1.inviareale)
|
||||||
|
tools.showPositiveNotif(myself.$q, myself.$t('dashboard.msg_donatori_ok'))
|
||||||
tools.askConfirm(myself.$q, '', ris.strout, translate('dialog.yes'), translate('dialog.no'), this, '', 0, 0, {})
|
tools.askConfirm(myself.$q, '', ris.strout, translate('dialog.yes'), translate('dialog.no'), this, '', 0, 0, {})
|
||||||
} else
|
} else
|
||||||
tools.showNegativeNotif(myself.$q, myself.$t('db.recfailed'))
|
tools.showNegativeNotif(myself.$q, myself.$t('db.recfailed'))
|
||||||
@@ -2091,14 +2092,21 @@ export const tools = {
|
|||||||
} catch (e) {
|
} catch (e) {
|
||||||
return value
|
return value
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
,
|
|
||||||
|
|
||||||
getDateNow() {
|
getDateNow() {
|
||||||
const mydate = new Date()
|
const mydate = new Date()
|
||||||
return mydate
|
return mydate
|
||||||
},
|
},
|
||||||
|
|
||||||
|
isDateArrived(mydate) {
|
||||||
|
const datenow = tools.getDateNow()
|
||||||
|
if (date.getDateDiff(mydate, datenow) >= 0) {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
},
|
||||||
|
|
||||||
getDayOfWeek(date) {
|
getDayOfWeek(date) {
|
||||||
const dayOfWeek = new Date(date).getDay()
|
const dayOfWeek = new Date(date).getDay()
|
||||||
|
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ export default class Dbop extends Vue {
|
|||||||
|
|
||||||
if (miafunz === 'visuPlacca') {
|
if (miafunz === 'visuPlacca') {
|
||||||
this.placca = ris.placca
|
this.placca = ris.placca
|
||||||
} else if (miafunz === 'visuListaIngresso' || miafunz === 'visuListaNave' || miafunz === 'visuNave' || miafunz === 'creaNave') {
|
} else if (miafunz === 'visuListaIngresso' || miafunz === 'visuListaIngressoNew' || miafunz === 'visuListaNave' || miafunz === 'visuNave' || miafunz === 'creaNave') {
|
||||||
this.placca = ris.mystr
|
this.placca = ris.mystr
|
||||||
} else {
|
} else {
|
||||||
this.ris = ris
|
this.ris = ris
|
||||||
|
|||||||
@@ -23,12 +23,17 @@
|
|||||||
<q-btn label="Inizializza ListaIngresso" color="negative" @click="EseguiFunz('initListaIngresso')"></q-btn><br>
|
<q-btn label="Inizializza ListaIngresso" color="negative" @click="EseguiFunz('initListaIngresso')"></q-btn><br>
|
||||||
<q-btn label="Crea ListaIngresso" color="negative" @click="EseguiFunz('creaLista')"></q-btn>
|
<q-btn label="Crea ListaIngresso" color="negative" @click="EseguiFunz('creaLista')"></q-btn>
|
||||||
</div>
|
</div>
|
||||||
|
<!--
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<q-btn label="Elimina Navi" color="negative" @click="EseguiFunz('delNavi')"></q-btn><br>
|
<q-btn label="Elimina Navi" color="negative" @click="EseguiFunz('delNavi')"></q-btn><br>
|
||||||
</div>
|
</div>
|
||||||
|
-->
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<q-btn label="Elimina Navi non Partite" color="negative" @click="EseguiFunz('delNaviNoStarted')"></q-btn><br>
|
<q-btn label="Elimina Navi non Partite" color="negative" @click="EseguiFunz('delNaviNoStarted')"></q-btn><br>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<q-btn label="Controlla Utenti inesistenti in Navi" color="primary" @click="EseguiFunz('checkUtentiInesistentiInNavi')"></q-btn><br>
|
||||||
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<CDateTime
|
<CDateTime
|
||||||
:value.sync="date_start"
|
:value.sync="date_start"
|
||||||
@@ -71,12 +76,18 @@
|
|||||||
</CMyFieldDb>
|
</CMyFieldDb>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<q-btn label="Pulisci chi non è presente in Nave" color="primary" @click="EseguiFunz('pulisciNonPresenzeInNave')"></q-btn><br>
|
||||||
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<q-btn label="Visualizza Lista Nave" color="primary" @click="EseguiFunz('visuListaNave')"></q-btn><br>
|
<q-btn label="Visualizza Lista Nave" color="primary" @click="EseguiFunz('visuListaNave')"></q-btn><br>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<q-btn label="Visualizza ListaIngresso" color="primary" @click="EseguiFunz('visuListaIngresso')"></q-btn><br>
|
<q-btn label="Visualizza ListaIngresso" color="primary" @click="EseguiFunz('visuListaIngresso')"></q-btn><br>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<q-btn label="Visualizza ListaIngresso NUOVI" color="primary" @click="EseguiFunz('visuListaIngressoNew')"></q-btn><br>
|
||||||
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<q-btn label="CHECK SE INSERIRE UTENTI IN Nave" color="primary" @click="EseguiFunz('checkInserimentiUtentiInNave')"></q-btn><br>
|
<q-btn label="CHECK SE INSERIRE UTENTI IN Nave" color="primary" @click="EseguiFunz('checkInserimentiUtentiInNave')"></q-btn><br>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user