Aggiornamenti Flotta, Nave, Dashboard, Tabelle, Popupmenu
This commit is contained in:
@@ -145,6 +145,12 @@ export default class CGridTableRec extends Vue {
|
|||||||
this.colsel = col
|
this.colsel = col
|
||||||
this.idsel = row._id
|
this.idsel = row._id
|
||||||
this.SaveValue(newval, valinitial)
|
this.SaveValue(newval, valinitial)
|
||||||
|
|
||||||
|
// this.rowclicksel = null
|
||||||
|
}
|
||||||
|
|
||||||
|
public annulla(val) {
|
||||||
|
// this.rowclicksel = null
|
||||||
}
|
}
|
||||||
|
|
||||||
public SaveValue(newVal, valinitial) {
|
public SaveValue(newVal, valinitial) {
|
||||||
|
|||||||
@@ -185,7 +185,8 @@
|
|||||||
:subfield="mycol.subfield"
|
:subfield="mycol.subfield"
|
||||||
@save="SaveValdb"
|
@save="SaveValdb"
|
||||||
@show="selItem(rowclicksel, mycol)"
|
@show="selItem(rowclicksel, mycol)"
|
||||||
@showandsave="showandsel">
|
@showandsave="showandsel"
|
||||||
|
@annulla="annulla">
|
||||||
|
|
||||||
</CMyPopupEdit>
|
</CMyPopupEdit>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -61,6 +61,7 @@ export default class CMyDashboard extends MixinUsers {
|
|||||||
public ind_order_ingr: number = -1
|
public ind_order_ingr: number = -1
|
||||||
public myrigaattuale: number = 0
|
public myrigaattuale: number = 0
|
||||||
public mycolattuale: number = 0
|
public mycolattuale: number = 0
|
||||||
|
public upgrade_graduatorie: boolean = false
|
||||||
public dashboard: IDashboard = {
|
public dashboard: IDashboard = {
|
||||||
myself: DefaultUser,
|
myself: DefaultUser,
|
||||||
aportador: DefaultUser,
|
aportador: DefaultUser,
|
||||||
@@ -136,6 +137,8 @@ export default class CMyDashboard extends MixinUsers {
|
|||||||
|
|
||||||
this.loading = true
|
this.loading = true
|
||||||
|
|
||||||
|
this.upgrade_graduatorie = tools.getValDb('UPDATE_GRAD', false, false)
|
||||||
|
|
||||||
UserStore.actions.getDashboard({ username: this.myusername })
|
UserStore.actions.getDashboard({ username: this.myusername })
|
||||||
.then((ris) => {
|
.then((ris) => {
|
||||||
this.dashboard = ris
|
this.dashboard = ris
|
||||||
@@ -144,7 +147,7 @@ export default class CMyDashboard extends MixinUsers {
|
|||||||
this.invitante_username = this.dashboard.myself.username
|
this.invitante_username = this.dashboard.myself.username
|
||||||
|
|
||||||
this.myrigaattuale = this.dashboard.lastnave.riga
|
this.myrigaattuale = this.dashboard.lastnave.riga
|
||||||
this.mycolattuale = this.dashboard.lastnave.col
|
this.mycolattuale = this.dashboard.lastnave.col + 8
|
||||||
|
|
||||||
this.loading = false
|
this.loading = false
|
||||||
})
|
})
|
||||||
@@ -250,11 +253,13 @@ export default class CMyDashboard extends MixinUsers {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public colordono(mianave) {
|
public colordono(mianave) {
|
||||||
if (mianave.made_gift) {
|
if (mianave.made_gift)
|
||||||
return 'green'
|
return 'green'
|
||||||
} else {
|
else if (!!mianave.date_made_gift)
|
||||||
|
return 'blue'
|
||||||
|
else
|
||||||
return 'grey'
|
return 'grey'
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public getposizioneattuale(mianave, totali) {
|
public getposizioneattuale(mianave, totali) {
|
||||||
@@ -273,7 +278,7 @@ export default class CMyDashboard extends MixinUsers {
|
|||||||
})
|
})
|
||||||
this.shownuovoviaggio = false
|
this.shownuovoviaggio = false
|
||||||
}
|
}
|
||||||
|
|
||||||
public addNuovoImbarco() {
|
public addNuovoImbarco() {
|
||||||
this.NuovoImbarco(this.dashboard.myself.username, this.invitante_username)
|
this.NuovoImbarco(this.dashboard.myself.username, this.invitante_username)
|
||||||
}
|
}
|
||||||
@@ -288,7 +293,15 @@ export default class CMyDashboard extends MixinUsers {
|
|||||||
|
|
||||||
public getnuminvperc(index, myrec) {
|
public getnuminvperc(index, myrec) {
|
||||||
|
|
||||||
return myrec.invattivi / 2 * 100
|
let val1 = Math.round((myrec.numinvitatiattiviTot - myrec.numNaviEntrato * 2) - (myrec.indimbarco - 1) * 2)
|
||||||
|
if (val1 < 0)
|
||||||
|
val1 = 0
|
||||||
|
|
||||||
|
let valmax = val1;
|
||||||
|
if (valmax < 2)
|
||||||
|
valmax = 2
|
||||||
|
|
||||||
|
return val1 / valmax * 100
|
||||||
}
|
}
|
||||||
|
|
||||||
public getcolorinvitati(index, myrec) {
|
public getcolorinvitati(index, myrec) {
|
||||||
@@ -355,7 +368,14 @@ export default class CMyDashboard extends MixinUsers {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public getvalstrinv(posiz) {
|
public getvalstrinv(posiz) {
|
||||||
return Math.round((posiz.numinvitatiattiviTot - posiz.numNaviEntrato * 2) - (posiz.indimbarco - 1) * 2) + '/' + Math.round((posiz.numinvitatiTot - posiz.numNaviEntrato * 2) - (posiz.indimbarco - 1) * 2)
|
let val1 = Math.round((posiz.numinvitatiattiviTot - posiz.numNaviEntrato * 2) - (posiz.indimbarco - 1) * 2)
|
||||||
|
let val2 = Math.round((posiz.numinvitatiTot - posiz.numNaviEntrato * 2) - (posiz.indimbarco - 1) * 2)
|
||||||
|
if (val1 < 0)
|
||||||
|
val1 = 0
|
||||||
|
if (val2 < 0)
|
||||||
|
val2 = 0
|
||||||
|
|
||||||
|
return val1 + '/' + val2
|
||||||
}
|
}
|
||||||
|
|
||||||
public isprovvisoria(mianave) {
|
public isprovvisoria(mianave) {
|
||||||
@@ -379,6 +399,14 @@ export default class CMyDashboard extends MixinUsers {
|
|||||||
tools.saveFieldToServer(this, 'navi', mianave._id, mydata)
|
tools.saveFieldToServer(this, 'navi', mianave._id, mydata)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public change_mynote_imbarco(mioimbarco) {
|
||||||
|
|
||||||
|
const mydata = {
|
||||||
|
note: mioimbarco.note
|
||||||
|
}
|
||||||
|
tools.saveFieldToServer(this, 'listaingressos', mioimbarco._id, mydata)
|
||||||
|
}
|
||||||
|
|
||||||
public getNaveSognatoreStr(mianave) {
|
public getNaveSognatoreStr(mianave) {
|
||||||
const mynavedest = tools.getfirstnaveSognatore(mianave.riga, mianave.col)
|
const mynavedest = tools.getfirstnaveSognatore(mianave.riga, mianave.col)
|
||||||
const ris = mynavedest.riga + '.' + mynavedest.col
|
const ris = mynavedest.riga + '.' + mynavedest.col
|
||||||
@@ -440,7 +468,19 @@ export default class CMyDashboard extends MixinUsers {
|
|||||||
return val - tools.getRiganave(mianave.riga) + 1
|
return val - tools.getRiganave(mianave.riga) + 1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public getposiz(posiz) {
|
||||||
|
|
||||||
|
if (posiz.posiz === 100000) {
|
||||||
|
return '-----'
|
||||||
|
} else {
|
||||||
|
return posiz.posiz + ' su ' + posiz.totposiz + '°'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public getcolornave(mianave) {
|
public getcolornave(mianave) {
|
||||||
|
if (this.isprovvisoria(mianave)) {
|
||||||
|
return 'grey'
|
||||||
|
}
|
||||||
if (mianave.num_tess % 2 !== 0)
|
if (mianave.num_tess % 2 !== 0)
|
||||||
return 'blue'
|
return 'blue'
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -159,8 +159,15 @@
|
|||||||
<q-spinner-gears size="50px" color="primary"/>
|
<q-spinner-gears size="50px" color="primary"/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div v-if="upgrade_graduatorie">
|
||||||
|
<CRequisiti :statebool="false"
|
||||||
|
msgTrue=""
|
||||||
|
msgFalse="Aggiornamento in Corso - Updating in Progress - Reload Page Please">
|
||||||
|
</CRequisiti>
|
||||||
|
|
||||||
<div v-if="!!dashboard && dashboard.myself && !loading">
|
</div>
|
||||||
|
|
||||||
|
<div v-if="!!dashboard && dashboard.myself && !loading & !upgrade_graduatorie">
|
||||||
<div>
|
<div>
|
||||||
<div v-if="!Completato9Req && !HasNave">
|
<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"
|
||||||
@@ -183,11 +190,14 @@
|
|||||||
clcolor="text-white"
|
clcolor="text-white"
|
||||||
mystyle="" myclass="myshad" canopen="true">
|
mystyle="" myclass="myshad" canopen="true">
|
||||||
<div class="row justify-between items-center" style="text-align: center;">
|
<div class="row justify-between items-center" style="text-align: center;">
|
||||||
<div class="col-3 ">
|
<div class="col-2 ">
|
||||||
{{ $t('dashboard.posizione') }}
|
{{ $t('dashboard.posizione') }}
|
||||||
</div>
|
</div>
|
||||||
|
<div class="col-1 ">
|
||||||
|
<q-icon color="blue" name="fas fa-ship"></q-icon>
|
||||||
|
</div>
|
||||||
<div class="col-2 ">
|
<div class="col-2 ">
|
||||||
{{ $t('dashboard.data') }}
|
{{ $t('dashboard.data_rich') }}
|
||||||
</div>
|
</div>
|
||||||
<div class="col-3 ">
|
<div class="col-3 ">
|
||||||
{{ $t('dashboard.invitante') }}
|
{{ $t('dashboard.invitante') }}
|
||||||
@@ -206,12 +216,13 @@
|
|||||||
<!--<div class="col-2">
|
<!--<div class="col-2">
|
||||||
<div class="posizione_imbarco">{{ index }}</div>
|
<div class="posizione_imbarco">{{ index }}</div>
|
||||||
</div>-->
|
</div>-->
|
||||||
<div class="col-3">
|
|
||||||
<div class="posizione_imbarco">{{ mioimbarco.posiz.posiz }}° su {{
|
|
||||||
mioimbarco.posiz.totposiz }}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-2">
|
<div class="col-2">
|
||||||
|
<div class="posizione_imbarco">{{getposiz(mioimbarco.posiz) }}</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-1 text-center">
|
||||||
|
<div class="boldhigh">{{ mioimbarco.navestr }}</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-2 text-center">
|
||||||
<div>{{ tools.getstrshortDate(mioimbarco.date_added) }}</div>
|
<div>{{ tools.getstrshortDate(mioimbarco.date_added) }}</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-3">
|
<div class="col-3">
|
||||||
@@ -247,6 +258,26 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="full-width">
|
||||||
|
<q-item>
|
||||||
|
<q-item-section avatar>
|
||||||
|
<q-icon size="sm" name="fas fa-heart" color="red"></q-icon>
|
||||||
|
</q-item-section>
|
||||||
|
<q-item-section>
|
||||||
|
<q-item-label>
|
||||||
|
|
||||||
|
<q-input v-model="mioimbarco.note" :label="$t('reg.my_dream')"
|
||||||
|
rounded outlined
|
||||||
|
debounce="1000"
|
||||||
|
autogrow
|
||||||
|
dense
|
||||||
|
style="font-size:0.75rem;"
|
||||||
|
@input="change_mynote_imbarco(mioimbarco)">
|
||||||
|
</q-input>
|
||||||
|
</q-item-label>
|
||||||
|
</q-item-section>
|
||||||
|
</q-item>
|
||||||
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -339,7 +370,8 @@
|
|||||||
icon="fas fa-ship">
|
icon="fas fa-ship">
|
||||||
{{ $t('dashboard.nave_in_partenza') + ' ' + datagiftchat(mianave) }}
|
{{ $t('dashboard.nave_in_partenza') + ' ' + datagiftchat(mianave) }}
|
||||||
</q-chip>
|
</q-chip>
|
||||||
<q-chip v-if="datagiftchat(mianave) !== datanave(mianave)" class="glossy q-mx-md" color="blue" text-color="white"
|
<q-chip v-if="datagiftchat(mianave) !== datanave(mianave)" class="glossy q-mx-md" color="blue"
|
||||||
|
text-color="white"
|
||||||
icon="fas fa-ship">
|
icon="fas fa-ship">
|
||||||
{{ $t('dashboard.nave_in_chiusura') + ' ' + datanave(mianave) }}
|
{{ $t('dashboard.nave_in_chiusura') + ' ' + datanave(mianave) }}
|
||||||
</q-chip>
|
</q-chip>
|
||||||
@@ -417,7 +449,16 @@
|
|||||||
<div v-if="mianave.made_gift">
|
<div v-if="mianave.made_gift">
|
||||||
<q-chip class="glossy"
|
<q-chip class="glossy"
|
||||||
size="md"
|
size="md"
|
||||||
text-color="green"
|
color="green"
|
||||||
|
text-color="white"
|
||||||
|
icon="fas fa-gift">
|
||||||
|
{{ $t('steps.dono') + ' ' + $t('dashboard.dono_ricevuto_2') }} !
|
||||||
|
</q-chip>
|
||||||
|
</div>
|
||||||
|
<div v-else-if="!!mianave.date_made_gift">
|
||||||
|
<q-chip class=""
|
||||||
|
size="md"
|
||||||
|
text-color="blue"
|
||||||
color="white"
|
color="white"
|
||||||
icon="fas fa-gift">
|
icon="fas fa-gift">
|
||||||
{{ $t('dashboard.ho_effettuato_il_dono') }}
|
{{ $t('dashboard.ho_effettuato_il_dono') }}
|
||||||
@@ -426,7 +467,7 @@
|
|||||||
</q-item-label>
|
</q-item-label>
|
||||||
</q-item-section>
|
</q-item-section>
|
||||||
</q-item>
|
</q-item>
|
||||||
<q-item v-if="mianave.num_tess % 2 !== 0">
|
<q-item v-if="(mianave.num_tess % 2 !== 0) && !isprovvisoria(mianave)">
|
||||||
<q-item-section avatar>
|
<q-item-section avatar>
|
||||||
<q-icon size="sm" name="fas fa-heart" color="red"></q-icon>
|
<q-icon size="sm" name="fas fa-heart" color="red"></q-icon>
|
||||||
</q-item-section>
|
</q-item-section>
|
||||||
@@ -546,7 +587,8 @@
|
|||||||
<q-btn flat round color="white" icon="close" v-close-popup></q-btn>
|
<q-btn flat round color="white" icon="close" v-close-popup></q-btn>
|
||||||
</q-toolbar>
|
</q-toolbar>
|
||||||
<q-card-section class="inset-shadow" style="padding: 4px !important;">
|
<q-card-section class="inset-shadow" style="padding: 4px !important;">
|
||||||
<CMyRequirement :id_listaingr="id_listaingr" :myseluser="seluser" :showregalainv="getIfregalareInvitati(seluser, showregalainv)"
|
<CMyRequirement :id_listaingr="id_listaingr" :myseluser="seluser"
|
||||||
|
:showregalainv="getIfregalareInvitati(seluser, showregalainv)"
|
||||||
:mydashboard="dashboard" :mydownline="downline" :notitle="false" @aggiorna="aggiorna"
|
:mydashboard="dashboard" :mydownline="downline" :notitle="false" @aggiorna="aggiorna"
|
||||||
:ind_order_ingr="ind_order_ingr">
|
:ind_order_ingr="ind_order_ingr">
|
||||||
|
|
||||||
|
|||||||
@@ -22,6 +22,8 @@ export default class CMyEditor extends Vue {
|
|||||||
public myvalue = ''
|
public myvalue = ''
|
||||||
public mycolor = ''
|
public mycolor = ''
|
||||||
|
|
||||||
|
public showeditor: boolean = true
|
||||||
|
|
||||||
public myfonts = {
|
public myfonts = {
|
||||||
arial: 'Arial',
|
arial: 'Arial',
|
||||||
arial_black: 'Arial Black',
|
arial_black: 'Arial Black',
|
||||||
@@ -98,6 +100,20 @@ export default class CMyEditor extends Vue {
|
|||||||
this.$emit('update:value', newval)
|
this.$emit('update:value', newval)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public annulla() {
|
||||||
|
this.$emit('annulla', true)
|
||||||
|
}
|
||||||
|
public saveval() {
|
||||||
|
// Converti i <b> in <strong>
|
||||||
|
|
||||||
|
this.myvalue = tools.convertiTagHTMLPerBOT(this.myvalue)
|
||||||
|
|
||||||
|
console.log('saveval', this.myvalue)
|
||||||
|
this.$emit('showandsave', this.myvalue)
|
||||||
|
// this.$emit('update:value', this.myvalue)
|
||||||
|
this.showeditor = false
|
||||||
|
}
|
||||||
|
|
||||||
public mounted() {
|
public mounted() {
|
||||||
this.myvalue = this.value
|
this.myvalue = this.value
|
||||||
this.editor = this.$refs.editor_ref
|
this.editor = this.$refs.editor_ref
|
||||||
|
|||||||
@@ -1,39 +1,56 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<CTitleBanner :title="title"></CTitleBanner>
|
<q-dialog v-model="showeditor">
|
||||||
<form
|
<q-card :style="`min-width: `+ tools.myheight_dialog() + `px;` ">
|
||||||
autocorrect="off"
|
<q-toolbar class="bg-primary text-white" style="min-height: 30px;">
|
||||||
autocapitalize="off"
|
<q-toolbar-title>
|
||||||
autocomplete="off"
|
Editor
|
||||||
spellcheck="false">
|
</q-toolbar-title>
|
||||||
|
<q-btn flat round color="white" icon="close" v-close-popup @click="showeditor=false"></q-btn>
|
||||||
|
</q-toolbar>
|
||||||
|
<q-card-section class="inset-shadow" style="padding: 4px !important;">
|
||||||
|
|
||||||
|
<CTitleBanner :title="title"></CTitleBanner>
|
||||||
|
<form
|
||||||
|
autocorrect="off"
|
||||||
|
autocapitalize="off"
|
||||||
|
autocomplete="off"
|
||||||
|
spellcheck="false">
|
||||||
|
|
||||||
<q-btn rounded size="sm" color="primary">
|
<q-btn rounded size="sm" color="primary">
|
||||||
<q-icon name="colorize" class="cursor-pointer">
|
<q-icon name="colorize" class="cursor-pointer">
|
||||||
<q-popup-proxy>
|
<q-popup-proxy>
|
||||||
<q-color v-model="mycolor" @change="setcolor"></q-color>
|
<q-color v-model="mycolor" @change="setcolor"></q-color>
|
||||||
</q-popup-proxy>
|
</q-popup-proxy>
|
||||||
</q-icon>
|
</q-icon>
|
||||||
</q-btn>
|
</q-btn>
|
||||||
<q-editor
|
<q-editor
|
||||||
ref="editor_ref"
|
ref="editor_ref"
|
||||||
toolbar-text-color="white"
|
toolbar-text-color="white"
|
||||||
toolbar-toggle-color="yellow-8"
|
toolbar-toggle-color="yellow-8"
|
||||||
toolbar-bg="primary"
|
toolbar-bg="primary"
|
||||||
:toolbar="toolbarcomp"
|
:toolbar="toolbarcomp"
|
||||||
debounce="500"
|
debounce="500"
|
||||||
:fonts="myfonts"
|
:fonts="myfonts"
|
||||||
@input="changeval"
|
@input="changeval"
|
||||||
@paste.native="evt => pasteCapture(evt)"
|
@paste.native="evt => pasteCapture(evt)"
|
||||||
@keyup.enter.stop
|
@keyup.enter.stop
|
||||||
v-model="myvalue">
|
v-model="myvalue">
|
||||||
</q-editor>
|
</q-editor>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</q-card-section>
|
||||||
|
<q-card-actions align="center">
|
||||||
|
<q-btn flat :label="$t('dialog.ok')" color="primary" @click="saveval"></q-btn>
|
||||||
|
<q-btn flat :label="$t('dialog.cancel')" color="primary" v-close-popup @click="annulla"></q-btn>
|
||||||
|
</q-card-actions>
|
||||||
|
</q-card>
|
||||||
|
</q-dialog>
|
||||||
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts" src="./CMyEditor.ts">
|
<script lang="ts" src="./CMyEditor.ts">
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import './CMyEditor.scss';
|
@import './CMyEditor.scss';
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
12
src/components/CMyFlotta/CMyFlotta-validate.ts
Executable file
12
src/components/CMyFlotta/CMyFlotta-validate.ts
Executable file
@@ -0,0 +1,12 @@
|
|||||||
|
import { ISignupOptions } from 'model'
|
||||||
|
import { email, minLength, required, sameAs } from 'vuelidate/lib/validators'
|
||||||
|
// import { ValidationRuleset } from 'vuelidate'
|
||||||
|
import { aportadorexist } from '../../validation'
|
||||||
|
|
||||||
|
export const validations = {
|
||||||
|
|
||||||
|
username_sostituire: {
|
||||||
|
aportadorexist,
|
||||||
|
required
|
||||||
|
}
|
||||||
|
}
|
||||||
174
src/components/CMyFlotta/CMyFlotta.scss
Executable file
174
src/components/CMyFlotta/CMyFlotta.scss
Executable file
@@ -0,0 +1,174 @@
|
|||||||
|
|
||||||
|
.title-nave {
|
||||||
|
padding: 2px 4px;
|
||||||
|
margin: 2px 4px;
|
||||||
|
color: white;
|
||||||
|
font-size: 1rem;
|
||||||
|
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{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.selezione:hover {
|
||||||
|
background-color: yellow;
|
||||||
|
}
|
||||||
|
|
||||||
|
.donatore {
|
||||||
|
background-color: red;
|
||||||
|
text-transform: uppercase;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mediatore {
|
||||||
|
background-color: green;
|
||||||
|
text-transform: uppercase;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sognatore {
|
||||||
|
background-color: purple;
|
||||||
|
text-transform: uppercase;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.cont_donatore, .cont_sognatore, .cont_mediatore, .cont_tragitto, .cont_pos, .cont_intestaz, .cont_pos_intest, .cont_intestaz_small {
|
||||||
|
border: solid 2px #4198ef;
|
||||||
|
padding: 2px 8px;
|
||||||
|
margin: 2px 4px;
|
||||||
|
font-size: 1rem;
|
||||||
|
border-radius: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cont_donatore {
|
||||||
|
justify-content: space-between;
|
||||||
|
}
|
||||||
|
|
||||||
|
.you {
|
||||||
|
background-color: yellow;
|
||||||
|
}
|
||||||
|
.issognatore {
|
||||||
|
background-color: orangered;
|
||||||
|
color: white;
|
||||||
|
font-size: 1.10rem;
|
||||||
|
border-radius: 64px;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cont_tragitto{
|
||||||
|
color: blue;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cont_pos, .cont_pos_intest{
|
||||||
|
padding-left: 12px;
|
||||||
|
padding-right: 12px;
|
||||||
|
border-radius: 64px !important;
|
||||||
|
color: red;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cont_pos_intest {
|
||||||
|
width: 37px;
|
||||||
|
font-size: 0.75rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.extra{
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.passo{
|
||||||
|
font-weight: bold;
|
||||||
|
width: 110px;
|
||||||
|
}
|
||||||
|
.passoint{
|
||||||
|
width: 100px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gift{
|
||||||
|
margin: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cont_intestaz, .cont_intestaz_small{
|
||||||
|
font-size: 0.75rem;
|
||||||
|
margin: 4px;
|
||||||
|
border-radius: 16px !important;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.cont_intestaz_small{
|
||||||
|
margin: 0;
|
||||||
|
margin-top: 4px;
|
||||||
|
margin-bottom: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.title-nave {
|
||||||
|
color: blue;
|
||||||
|
}
|
||||||
|
|
||||||
|
.titlenave{
|
||||||
|
width: 75px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.datanave{
|
||||||
|
width: 80px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.datanave_int{
|
||||||
|
width: 60px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dati {
|
||||||
|
color: blue;
|
||||||
|
font-size: 1.25rem;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mancanti {
|
||||||
|
color: red;
|
||||||
|
|
||||||
|
}
|
||||||
|
.inviati {
|
||||||
|
color: blue;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pan_sognatore {
|
||||||
|
padding: 0px 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ricevuti{
|
||||||
|
color: green;
|
||||||
|
}
|
||||||
|
|
||||||
|
.title-nave {
|
||||||
|
font-size: 1.25rem;
|
||||||
|
color: blue;
|
||||||
|
}
|
||||||
166
src/components/CMyFlotta/CMyFlotta.ts
Executable file
166
src/components/CMyFlotta/CMyFlotta.ts
Executable file
@@ -0,0 +1,166 @@
|
|||||||
|
import Vue from 'vue'
|
||||||
|
import { Component, Prop, Watch } from 'vue-property-decorator'
|
||||||
|
|
||||||
|
import { tools } from '../../store/Modules/tools'
|
||||||
|
import { toolsext } from '@src/store/Modules/toolsext'
|
||||||
|
import MixinBase from '@src/mixins/mixin-base'
|
||||||
|
import MixinNave from '../../mixins/mixin-nave'
|
||||||
|
import { CTitleBanner } from '../CTitleBanner'
|
||||||
|
import { GlobalStore, UserStore } from '../../store/Modules'
|
||||||
|
import { lists } from '../../store/Modules/lists'
|
||||||
|
import translate from '../../globalroutines/util'
|
||||||
|
import { CMyChipList } from '../CMyChipList'
|
||||||
|
import { CVideo } from '../CVideo'
|
||||||
|
import { validations } from './CMyFlotta-validate'
|
||||||
|
import { validationMixin } from 'vuelidate'
|
||||||
|
|
||||||
|
@Component({
|
||||||
|
mixins: [validationMixin],
|
||||||
|
validations,
|
||||||
|
components: { CTitleBanner, CMyChipList, CVideo }
|
||||||
|
})
|
||||||
|
|
||||||
|
export default class CMyFlotta extends MixinNave {
|
||||||
|
@Prop({ required: false, default: null }) public flottaprop
|
||||||
|
public $t
|
||||||
|
public $v
|
||||||
|
public flotta: any = null
|
||||||
|
public flotta_completa: any = null
|
||||||
|
public arrdonatori: any[] = []
|
||||||
|
public loading: boolean = false
|
||||||
|
public seluser = null
|
||||||
|
public showmsguser: boolean = false
|
||||||
|
public username_sostituire: string = ''
|
||||||
|
public userfreestr: string = ''
|
||||||
|
public MyPagination: {
|
||||||
|
sortBy: string,
|
||||||
|
descending: boolean,
|
||||||
|
page: number,
|
||||||
|
rowsNumber: number, // specifying this determines pagination is server-side
|
||||||
|
rowsPerPage: number
|
||||||
|
} = { sortBy: 'index', descending: false, page: 1, rowsNumber: 10, rowsPerPage: 10 }
|
||||||
|
public colflotte: any[] = [
|
||||||
|
{
|
||||||
|
name: 'index',
|
||||||
|
required: true,
|
||||||
|
label: 'Num',
|
||||||
|
align: 'left',
|
||||||
|
field: '',
|
||||||
|
sortable: true
|
||||||
|
},
|
||||||
|
{ name: 'flotta', align: 'center', label: 'Flotta', field: 'flotta', sortable: true }, // da 8.1 a 8.8
|
||||||
|
{
|
||||||
|
name: 'date_gift_chat_open', align: 'center',
|
||||||
|
label: '⏰ Gift Chat', field: 'date_gift_chat_open', sortable: true
|
||||||
|
},
|
||||||
|
{ name: 'date_start', align: 'center', label: '⏰ Chiusura', field: 'date_start', sortable: true }, // 4/6/2020
|
||||||
|
{ name: 'sognatore', align: 'center', label: 'Sognatore', field: 'sognatore_nomecognome', sortable: true }, // Username Sognatore
|
||||||
|
{ name: 'provvisoria', align: 'center', label: 'Temp.', field: 'provvisoria', sortable: true }, // Flotta Provvisoria
|
||||||
|
// { name: 'tutor', align: 'left', label: 'Tutor', field: 'tutor', sortable: true },
|
||||||
|
// { name: 'mediatore', align: 'center', label: '🌀 Mediatore', field: '', sortable: true },
|
||||||
|
{ name: 'DoniConfermati', align: 'center', label: '🎁 OK', field: 'DoniConfermati', sortable: true },
|
||||||
|
{ name: 'DoniAttesaDiConferma', align: 'center', label: '🎁 Wait', field: 'DoniAttesaDiConferma', sortable: true },
|
||||||
|
{ name: 'DoniMancanti', align: 'center', label: '🎁 Miss', field: 'DoniMancanti', sortable: true },
|
||||||
|
{ name: 'msg_inviato', align: 'center', label: 'Msg Sent', field: 'msg_inviato', sortable: true },
|
||||||
|
]
|
||||||
|
|
||||||
|
public coldonatori: any[] = [
|
||||||
|
{
|
||||||
|
name: 'index',
|
||||||
|
required: true,
|
||||||
|
label: 'Num',
|
||||||
|
align: 'left',
|
||||||
|
field: 'index',
|
||||||
|
sortable: true
|
||||||
|
},
|
||||||
|
{ name: 'rigacol', align: 'center', label: 'Posizione', field: '', sortable: true },
|
||||||
|
{ name: 'name', align: 'center', label: 'Nome', field: 'name', sortable: true },
|
||||||
|
{ name: 'num_tess', align: 'center', label: 'Tessitura', field: 'num_tess', sortable: true },
|
||||||
|
{ name: 'date_made_gift', align: 'center', label: 'Inviato', field: 'date_made_gift', sortable: true },
|
||||||
|
{ name: 'made_gift', align: 'center', label: 'Dono', field: 'made_gift', sortable: true },
|
||||||
|
]
|
||||||
|
|
||||||
|
get getcol() {
|
||||||
|
// if (tools.isMobile())
|
||||||
|
// return this.coldonatori_cell
|
||||||
|
// else
|
||||||
|
return this.coldonatori
|
||||||
|
}
|
||||||
|
|
||||||
|
public mounted() {
|
||||||
|
this.flotta = this.flottaprop
|
||||||
|
this.aggiorna()
|
||||||
|
}
|
||||||
|
|
||||||
|
public aggiorna() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public getflottastr() {
|
||||||
|
if (!!this.flotta)
|
||||||
|
return 'Da ' + this.flotta.riga + '.' + this.flotta.col_prima + ' a ' + this.flotta.riga + '.' + this.flotta.col_ultima
|
||||||
|
else
|
||||||
|
return ''
|
||||||
|
}
|
||||||
|
|
||||||
|
public gettitoloflotta() {
|
||||||
|
return 'Flotta ' + this.getflottastr()
|
||||||
|
}
|
||||||
|
|
||||||
|
public getcolorflotta() {
|
||||||
|
return 'bg-blue'
|
||||||
|
}
|
||||||
|
|
||||||
|
public async apriflotta() {
|
||||||
|
|
||||||
|
console.log('apriflotta')
|
||||||
|
|
||||||
|
this.loading = true
|
||||||
|
this.arrdonatori = await GlobalStore.actions.GetFlotta({ riga: this.flotta.riga, col_prima: this.flotta.col_prima, col_ultima: this.flotta.col_ultima })
|
||||||
|
|
||||||
|
this.aggiorna()
|
||||||
|
this.loading = false
|
||||||
|
}
|
||||||
|
|
||||||
|
public getnavestr(row) {
|
||||||
|
return tools.getRiganave(row.riga) + '.' + tools.getColnave(row.col)
|
||||||
|
}
|
||||||
|
|
||||||
|
public getlinkchat(row) {
|
||||||
|
return row.link_superchat
|
||||||
|
}
|
||||||
|
|
||||||
|
public clickseluser(rec) {
|
||||||
|
this.seluser = rec
|
||||||
|
this.showmsguser = true
|
||||||
|
this.username_sostituire = ''
|
||||||
|
this.userfreestr = ''
|
||||||
|
}
|
||||||
|
get allowSubmit() {
|
||||||
|
let error = this.$v.$error || this.$v.$invalid
|
||||||
|
|
||||||
|
error = error || (this.username_sostituire === this.seluser.username_sostituire)
|
||||||
|
|
||||||
|
return !error
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public async InviaMsgAFlotta(inviareale) {
|
||||||
|
|
||||||
|
const msgtitle = translate('dialog.sendmsg')
|
||||||
|
|
||||||
|
let msg = 'TEST msg alla Flotta ?';
|
||||||
|
|
||||||
|
if (inviareale) {
|
||||||
|
msg = 'Inviare a Tutta la Flotta il messaggio ?'
|
||||||
|
}
|
||||||
|
|
||||||
|
tools.askConfirm(this.$q, msgtitle, msg , translate('dialog.yes'), translate('dialog.no'), this, '', lists.MenuAction.INVIA_MSG_A_FLOTTA, 0, {
|
||||||
|
param1: this.flotta,
|
||||||
|
param2: inviareale,
|
||||||
|
param3: tools.TipoMsg.SEND_MSG_EFFETTUA_IL_DONO
|
||||||
|
})
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
213
src/components/CMyFlotta/CMyFlotta.vue
Executable file
213
src/components/CMyFlotta/CMyFlotta.vue
Executable file
@@ -0,0 +1,213 @@
|
|||||||
|
<template>
|
||||||
|
<div class="text-center">
|
||||||
|
<CTitleBanner class=""
|
||||||
|
:title="gettitoloflotta()"
|
||||||
|
:bgcolor="getcolorflotta()"
|
||||||
|
clcolor="text-white"
|
||||||
|
:visible="false" mystyle="" myclass="myshad" canopen="true" @apri="apriflotta">
|
||||||
|
|
||||||
|
<div>
|
||||||
|
|
||||||
|
<div class="row q-pa-sm q-ma-sm">
|
||||||
|
<div>TEST messaggio Flotta:
|
||||||
|
<q-btn rounded text-color="secondary" icon="fab fa-telegram"
|
||||||
|
label="TEST MESSAGGIO"
|
||||||
|
@click="InviaMsgAFlotta(false)"></q-btn>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
Invia messaggio a TUTTA la Flotta:
|
||||||
|
<q-btn rounded text-color="secondary" icon="fab fa-telegram"
|
||||||
|
:label="$t('dialog.sendmsg')"
|
||||||
|
@click="InviaMsgAFlotta(true)"></q-btn>
|
||||||
|
</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>
|
||||||
|
|
||||||
|
<q-dialog v-model="showmsguser">
|
||||||
|
<q-card v-if="seluser" :style="`min-width: `+ tools.myheight_dialog() + `px;` ">
|
||||||
|
<q-toolbar class="bg-primary text-white" style="min-height: 30px;">
|
||||||
|
<q-toolbar-title>
|
||||||
|
<div v-if="!!seluser">
|
||||||
|
{{ seluser.name }} {{ seluser.surname }}
|
||||||
|
</div>
|
||||||
|
</q-toolbar-title>
|
||||||
|
<q-btn flat round color="white" icon="close" v-close-popup clickable
|
||||||
|
@click="Chiudi"></q-btn>
|
||||||
|
</q-toolbar>
|
||||||
|
<q-card-section class="inset-shadow" style="padding: 4px !important;">
|
||||||
|
<div class="row justify-center q-gutter-md">
|
||||||
|
<div>
|
||||||
|
<div v-if="!!seluser.profile">
|
||||||
|
<div v-if="!!seluser.profile.cell" class="q-ma-sm text-center clBorderWarning">
|
||||||
|
Whatsapp: {{seluser.profile.cell}}
|
||||||
|
<q-btn
|
||||||
|
|
||||||
|
fab-mini
|
||||||
|
icon="fab fa-whatsapp"
|
||||||
|
color="white" text-color="green" type="a"
|
||||||
|
size="sm"
|
||||||
|
:href="tools.getHttpForWhatsapp(seluser.profile.cell)"
|
||||||
|
target="__blank">
|
||||||
|
</q-btn>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="q-ma-sm text-center clBorderSteps">
|
||||||
|
<div>TELEGRAM {{$t('ws.sitename')}} BOT {{$t('dialog.sendmsg')}} ->
|
||||||
|
{{seluser.name }} {{ seluser.surname }}:
|
||||||
|
</div>
|
||||||
|
<q-input type="textarea"
|
||||||
|
autogrow
|
||||||
|
v-model="msg_tosend_user" :label="$t('cal.msgbooking')"
|
||||||
|
input-class="myinput-area">
|
||||||
|
|
||||||
|
</q-input>
|
||||||
|
|
||||||
|
<div class="row justify-center centermydiv q-gutter-sm"
|
||||||
|
style="max-width: 420px;">
|
||||||
|
<q-btn rounded text-color="secondary" icon="fab fa-telegram"
|
||||||
|
:label="$t('dialog.sendmsg') + ` -> ` + seluser.name + ` ` + seluser.surname"
|
||||||
|
@click="InviaMsgAUser()"></q-btn>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div v-if="isManager || isTutor">
|
||||||
|
<CTitleBanner class="shadow-2 rounded-borders" title="Sostituisci"
|
||||||
|
bgcolor="bg-positive"
|
||||||
|
clcolor="text-white"
|
||||||
|
:visible="false"
|
||||||
|
mystyle=" " myclass="myshad" :canopen="true">
|
||||||
|
|
||||||
|
<div class="column q-gutter-sm justify-center text-center">
|
||||||
|
<q-input
|
||||||
|
bg-color="lightblue"
|
||||||
|
v-model="username_sostituire"
|
||||||
|
rounded outlined
|
||||||
|
@blur="$v.username_sostituire.$touch"
|
||||||
|
:error="$v.username_sostituire.$error"
|
||||||
|
@keydown.space="(event) => event.preventDefault()"
|
||||||
|
maxlength="20"
|
||||||
|
debounce="1000"
|
||||||
|
|
||||||
|
label="Username Nuova Persona:">
|
||||||
|
|
||||||
|
<template v-slot:prepend>
|
||||||
|
<q-icon name="person"/>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
</q-input>
|
||||||
|
|
||||||
|
<q-btn rounded color="warning" icon="fab fa-find"
|
||||||
|
text-color="black"
|
||||||
|
label="Cerca il primo Disponibile"
|
||||||
|
@click="TrovaUserFree()"></q-btn>
|
||||||
|
<div v-if="!!userfreestr">
|
||||||
|
<q-field
|
||||||
|
stack-label
|
||||||
|
dense
|
||||||
|
>
|
||||||
|
<template v-slot:control>
|
||||||
|
<div class="text-center" tabindex="0">{{userfreestr}}</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
</q-field>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<q-toggle v-model="deleteUser"
|
||||||
|
:label="'Elimina ' + seluser.name + ' ' + seluser.surname"></q-toggle>
|
||||||
|
<q-toggle v-model="AddImbarco"
|
||||||
|
label="Aggiungi Destinatario (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"
|
||||||
|
icon="fas fa-gift"
|
||||||
|
label="Sostituisci"
|
||||||
|
:disabled='!allowSubmit'
|
||||||
|
@click="SostituisciUtente(seluser, username_sostituire, getnotifBotTxt)"></q-btn>
|
||||||
|
</div>
|
||||||
|
</CTitleBanner>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</q-card-section>
|
||||||
|
</q-card>
|
||||||
|
</q-dialog>
|
||||||
|
|
||||||
|
</CTitleBanner>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script lang="ts" src="./CMyFlotta.ts">
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
@import './CMyFlotta.scss';
|
||||||
|
</style>
|
||||||
1
src/components/CMyFlotta/index.ts
Executable file
1
src/components/CMyFlotta/index.ts
Executable file
@@ -0,0 +1 @@
|
|||||||
|
export {default as CMyFlotta} from './CMyFlotta.vue'
|
||||||
@@ -198,6 +198,14 @@ export default class CMyNave extends MixinNave {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (this.sonoDonatore()) {
|
||||||
|
this.tabnave = 'donatore'
|
||||||
|
} else if (this.sonoMediatore()) {
|
||||||
|
this.tabnave = 'mediatore'
|
||||||
|
} else if (this.sonoSognatore()) {
|
||||||
|
this.tabnave = 'sognatore'
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public getListaDonatoriDaConfermare() {
|
public getListaDonatoriDaConfermare() {
|
||||||
@@ -676,7 +684,8 @@ export default class CMyNave extends MixinNave {
|
|||||||
const navemediatore = {
|
const navemediatore = {
|
||||||
id: this.mediatore._id,
|
id: this.mediatore._id,
|
||||||
riga: this.mediatore.riga,
|
riga: this.mediatore.riga,
|
||||||
col: this.mediatore.col
|
col: this.mediatore.col,
|
||||||
|
username: this.mediatore.username
|
||||||
}
|
}
|
||||||
|
|
||||||
this.InviaMsgANave(msgobj, navemediatore)
|
this.InviaMsgANave(msgobj, navemediatore)
|
||||||
@@ -1076,5 +1085,8 @@ export default class CMyNave extends MixinNave {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
get rendivisibile() {
|
||||||
|
return !this.FattoDono && !this.sonoSecondaTessituraDonatore() && !this.listanavi
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,10 +1,11 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="text-center">
|
<div v-if="!!nave" class="text-center">
|
||||||
|
|
||||||
<CTitleBanner v-if="!!getpartenza()" class=""
|
<CTitleBanner v-if="!!getpartenza()" class=""
|
||||||
:title="gettitolonave"
|
:title="gettitolonave"
|
||||||
:bgcolor="getcolortitle()"
|
:bgcolor="getcolortitle()"
|
||||||
clcolor="text-white"
|
clcolor="text-white"
|
||||||
:visible="!!nave && !FattoDono && !sonoSecondaTessituraDonatore() && !listanavi"
|
:visible="rendivisibile"
|
||||||
mystyle="" myclass="myshad" canopen="true" @apri="apri">
|
mystyle="" myclass="myshad" canopen="true" @apri="apri">
|
||||||
<div class="">
|
<div class="">
|
||||||
<q-chip class="glossy q-ma-sm" color="orange" text-color="white" icon="star">
|
<q-chip class="glossy q-ma-sm" color="orange" text-color="white" icon="star">
|
||||||
@@ -123,6 +124,20 @@
|
|||||||
<CVideo myvideokey="5rp_XEV6Mzg">
|
<CVideo myvideokey="5rp_XEV6Mzg">
|
||||||
|
|
||||||
</CVideo>
|
</CVideo>
|
||||||
|
|
||||||
|
</CTitleBanner>
|
||||||
|
|
||||||
|
<CTitleBanner class="q-pa-xs"
|
||||||
|
:title="$t('dashboard.come_inviare_regalo_con_paypal') + '.me'"
|
||||||
|
bgcolor="bg-primary"
|
||||||
|
clcolor="text-white"
|
||||||
|
myclass="myshad" canopen="true" :visible="false">
|
||||||
|
|
||||||
|
<CVideo myvideokey="VzCy4BxQKhM">
|
||||||
|
|
||||||
|
</CVideo>
|
||||||
|
|
||||||
|
https://youtu.be/VzCy4BxQKhM
|
||||||
</CTitleBanner>
|
</CTitleBanner>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
@@ -151,8 +166,8 @@
|
|||||||
<div v-else>
|
<div v-else>
|
||||||
<div class="row justify-center q-ma-sm">
|
<div class="row justify-center q-ma-sm">
|
||||||
<q-chip class="glossy"
|
<q-chip class="glossy"
|
||||||
text-color="white"
|
text-color="green"
|
||||||
color="positive"
|
color="white"
|
||||||
icon="fas fa-gift">
|
icon="fas fa-gift">
|
||||||
{{ $t('dashboard.ho_effettuato_il_dono') }}
|
{{ $t('dashboard.ho_effettuato_il_dono') }}
|
||||||
</q-chip>
|
</q-chip>
|
||||||
@@ -274,6 +289,7 @@
|
|||||||
<div v-if="isDefinitivaMediatore()" class="q-my-md">
|
<div v-if="isDefinitivaMediatore()" class="q-my-md">
|
||||||
<div class="text-left" v-html="gettesto()"></div>
|
<div class="text-left" v-html="gettesto()"></div>
|
||||||
|
|
||||||
|
<!--
|
||||||
<div>
|
<div>
|
||||||
<q-input v-model="link_chat" :label="$t('dashboard.link_chat')"
|
<q-input v-model="link_chat" :label="$t('dashboard.link_chat')"
|
||||||
debounce="1000"
|
debounce="1000"
|
||||||
@@ -293,7 +309,7 @@
|
|||||||
@click="InviaLinkChatADonatori(true)"></q-btn>
|
@click="InviaLinkChatADonatori(true)"></q-btn>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>-->
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -31,6 +31,7 @@ export default class CMyPopupEdit extends Vue {
|
|||||||
public myvalue = ''
|
public myvalue = ''
|
||||||
public myvalueprec = 'false'
|
public myvalueprec = 'false'
|
||||||
public countryname = ''
|
public countryname = ''
|
||||||
|
public visueditor : boolean = false
|
||||||
|
|
||||||
get tools() {
|
get tools() {
|
||||||
return tools
|
return tools
|
||||||
@@ -45,6 +46,7 @@ export default class CMyPopupEdit extends Vue {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public changeval(newval) {
|
public changeval(newval) {
|
||||||
|
console.log('changeval update:row', newval)
|
||||||
this.$emit('update:row', newval)
|
this.$emit('update:row', newval)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -117,6 +119,10 @@ export default class CMyPopupEdit extends Vue {
|
|||||||
this.$emit('save', newVal, valinitial)
|
this.$emit('save', newVal, valinitial)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public annulla(val) {
|
||||||
|
this.$emit('annulla', true)
|
||||||
|
}
|
||||||
|
|
||||||
public Savedb(newVal, valinitial) {
|
public Savedb(newVal, valinitial) {
|
||||||
|
|
||||||
if (this.col.fieldtype === tools.FieldType.boolean) {
|
if (this.col.fieldtype === tools.FieldType.boolean) {
|
||||||
@@ -132,6 +138,7 @@ export default class CMyPopupEdit extends Vue {
|
|||||||
// console.log('Savedb', newVal)
|
// console.log('Savedb', newVal)
|
||||||
|
|
||||||
this.$emit('showandsave', this.row, this.col, newVal, valinitial)
|
this.$emit('showandsave', this.row, this.col, newVal, valinitial)
|
||||||
|
this.visueditor = false
|
||||||
}
|
}
|
||||||
|
|
||||||
public visuValByType(val, col: IColGridTable, row) {
|
public visuValByType(val, col: IColGridTable, row) {
|
||||||
|
|||||||
@@ -1,219 +1,219 @@
|
|||||||
<template>
|
<template>
|
||||||
<div :class="getclassCol(col)">
|
<div :class="getclassCol(col)">
|
||||||
<div v-if="col.fieldtype === tools.FieldType.listimages">
|
<div v-if="col.fieldtype === tools.FieldType.listimages">
|
||||||
<CGallery :gall="row" :listimages="myvalue" :edit="isviewfield"
|
<CGallery :gall="row" :listimages="myvalue" :edit="isviewfield"
|
||||||
@showandsave="Savedb">
|
@showandsave="Savedb">
|
||||||
|
|
||||||
</CGallery>
|
</CGallery>
|
||||||
</div>
|
</div>
|
||||||
<div v-else-if="col.fieldtype === tools.FieldType.image">
|
<div v-else-if="col.fieldtype === tools.FieldType.image">
|
||||||
<CGallery :gall="row" :listimages="myvalue" :edit="isviewfield"
|
<CGallery :gall="row" :listimages="myvalue" :edit="isviewfield"
|
||||||
@showandsave="Savedb">
|
@showandsave="Savedb">
|
||||||
|
|
||||||
</CGallery>
|
</CGallery>
|
||||||
</div>
|
</div>
|
||||||
<div v-else-if="col.fieldtype === tools.FieldType.nationality">
|
<div v-else-if="col.fieldtype === tools.FieldType.nationality">
|
||||||
<div>
|
<div>
|
||||||
{{myvalue}}
|
{{myvalue}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div v-else-if="col.fieldtype === tools.FieldType.intcode">
|
<div v-else-if="col.fieldtype === tools.FieldType.intcode">
|
||||||
<div>
|
<div>
|
||||||
{{myvalue}}
|
{{myvalue}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div v-else>
|
<div v-else>
|
||||||
<!-- Edit Value -->
|
<!-- Edit Value -->
|
||||||
<span v-if="col.fieldtype === tools.FieldType.date">
|
<span v-if="col.fieldtype === tools.FieldType.date">
|
||||||
<CDateTime
|
<CDateTime
|
||||||
:label="col.label"
|
:label="col.label"
|
||||||
class="cursor-pointer"
|
class="cursor-pointer"
|
||||||
:valueDate="myvalue"
|
:valueDate="myvalue"
|
||||||
:readonly="false"
|
:readonly="false"
|
||||||
:minuteinterval="minuteinterval"
|
:minuteinterval="minuteinterval"
|
||||||
:dense="true"
|
:dense="true"
|
||||||
:canEdit="canEdit"
|
:canEdit="canEdit"
|
||||||
@savetoclose="SaveValueInt"
|
@savetoclose="SaveValueInt"
|
||||||
@show="OpenEdit">
|
@show="OpenEdit">
|
||||||
</CDateTime>
|
</CDateTime>
|
||||||
</span>
|
</span>
|
||||||
<div v-if="col.fieldtype !== tools.FieldType.date">
|
<div v-if="col.fieldtype !== tools.FieldType.date">
|
||||||
<div>
|
<div>
|
||||||
<div v-if="col.fieldtype === tools.FieldType.binary">
|
<div v-if="col.fieldtype === tools.FieldType.binary">
|
||||||
<CMyChipList
|
<CMyChipList
|
||||||
:type="tools.FieldType.binary"
|
:type="tools.FieldType.binary"
|
||||||
:value="myvalue"
|
:value="myvalue"
|
||||||
:options="db_fieldsTable.getTableJoinByName(col.jointable)"
|
:options="db_fieldsTable.getTableJoinByName(col.jointable)"
|
||||||
:optval="db_fieldsTable.getKeyByTable(col.jointable)"
|
:optval="db_fieldsTable.getKeyByTable(col.jointable)"
|
||||||
:optlab="db_fieldsTable.getLabelByTable(col.jointable)"
|
:optlab="db_fieldsTable.getLabelByTable(col.jointable)"
|
||||||
:opticon="db_fieldsTable.getIconByTable(col.jointable)"></CMyChipList>
|
:opticon="db_fieldsTable.getIconByTable(col.jointable)"></CMyChipList>
|
||||||
</div>
|
</div>
|
||||||
<!-- Show Value -->
|
<!-- Show Value -->
|
||||||
<div v-else-if="col.fieldtype === tools.FieldType.multiselect">
|
<div v-else-if="col.fieldtype === tools.FieldType.multiselect">
|
||||||
<CMyChipList
|
<CMyChipList
|
||||||
:type="tools.FieldType.multiselect"
|
:type="tools.FieldType.multiselect"
|
||||||
:value="myvalue"
|
:value="myvalue"
|
||||||
:options="db_fieldsTable.getTableJoinByName(col.jointable)"
|
:options="db_fieldsTable.getTableJoinByName(col.jointable)"
|
||||||
:optval="db_fieldsTable.getKeyByTable(col.jointable)"
|
:optval="db_fieldsTable.getKeyByTable(col.jointable)"
|
||||||
:optlab="db_fieldsTable.getLabelByTable(col.jointable)"
|
:optlab="db_fieldsTable.getLabelByTable(col.jointable)"
|
||||||
:opticon="db_fieldsTable.getIconByTable(col.jointable)"></CMyChipList>
|
:opticon="db_fieldsTable.getIconByTable(col.jointable)"></CMyChipList>
|
||||||
</div>
|
</div>
|
||||||
<div v-else-if="col.fieldtype === tools.FieldType.select">
|
<div v-else-if="col.fieldtype === tools.FieldType.select">
|
||||||
<CMyChipList
|
<CMyChipList
|
||||||
myclass="text-center"
|
myclass="text-center"
|
||||||
:type="tools.FieldType.select"
|
:type="tools.FieldType.select"
|
||||||
:value="myvalue"
|
:value="myvalue"
|
||||||
:options="db_fieldsTable.getTableJoinByName(col.jointable)"
|
:options="db_fieldsTable.getTableJoinByName(col.jointable)"
|
||||||
:optval="db_fieldsTable.getKeyByTable(col.jointable)"
|
:optval="db_fieldsTable.getKeyByTable(col.jointable)"
|
||||||
:optlab="db_fieldsTable.getLabelByTable(col.jointable)"
|
:optlab="db_fieldsTable.getLabelByTable(col.jointable)"
|
||||||
:opticon="db_fieldsTable.getIconByTable(col.jointable)"></CMyChipList>
|
:opticon="db_fieldsTable.getIconByTable(col.jointable)"></CMyChipList>
|
||||||
</div>
|
</div>
|
||||||
<div v-else-if="col.fieldtype === tools.FieldType.boolean">
|
<div v-else-if="col.fieldtype === tools.FieldType.boolean">
|
||||||
<q-toggle dark color="green" v-model="myvalue" :label="col.title" :disable="disable && col.name !== 'profile.saw_zoom_presentation'"
|
<q-toggle dark color="green" v-model="myvalue" :label="col.title"
|
||||||
@input="Savedb"></q-toggle>
|
:disable="disable && col.name !== 'profile.saw_zoom_presentation'"
|
||||||
</div>
|
@input="Savedb"></q-toggle>
|
||||||
<div v-else-if="col.fieldtype === tools.FieldType.html">
|
</div>
|
||||||
<div v-html="visuValByType(myvalue, col, row)">
|
<div v-else-if="col.fieldtype === tools.FieldType.html">
|
||||||
|
<div v-html="visuValByType(myvalue, col, row)" @click="visueditor = true">
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div v-else>
|
|
||||||
{{ visuValByType(myvalue, col, row) }}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<q-popup-edit
|
|
||||||
v-if="canEdit"
|
|
||||||
v-model="myvalue"
|
|
||||||
:disable="col.disable"
|
|
||||||
:title="col.title"
|
|
||||||
buttons
|
|
||||||
persistent
|
|
||||||
@save="SaveValueInt"
|
|
||||||
@show="OpenEdit">
|
|
||||||
|
|
||||||
<div v-if="col.fieldtype === tools.FieldType.boolean">
|
|
||||||
<q-checkbox v-model="myvalue" :label="col.title">
|
|
||||||
</q-checkbox>
|
|
||||||
{{ visuValByType(myvalue, col, row) }}
|
|
||||||
</div>
|
|
||||||
<div v-else-if="col.fieldtype === tools.FieldType.string">
|
|
||||||
<q-input v-model="myvalue"
|
|
||||||
autogrow
|
|
||||||
@keyup.enter.stop
|
|
||||||
autofocus>
|
|
||||||
|
|
||||||
</q-input>
|
|
||||||
</div>
|
|
||||||
<div v-else-if="col.fieldtype === tools.FieldType.password">
|
|
||||||
<q-input v-model="myvalue"
|
|
||||||
type="password"
|
|
||||||
@keyup.enter.stop
|
|
||||||
autofocus>
|
|
||||||
|
|
||||||
</q-input>
|
|
||||||
</div>
|
|
||||||
<div v-else-if="col.fieldtype === tools.FieldType.number">
|
|
||||||
<q-input v-model="myvalue" type="number"
|
|
||||||
autofocus>
|
|
||||||
|
|
||||||
</q-input>
|
|
||||||
</div>
|
|
||||||
<div v-else-if="col.fieldtype === tools.FieldType.binary">
|
|
||||||
<CMyToggleList :label="col.title"
|
|
||||||
:options="db_fieldsTable.getTableJoinByName(col.jointable)"
|
|
||||||
:value.sync="myvalue"
|
|
||||||
:optval="db_fieldsTable.getKeyByTable(col.jointable)"
|
|
||||||
:optlab="db_fieldsTable.getLabelByTable(col.jointable)">
|
|
||||||
</CMyToggleList>
|
|
||||||
</div>
|
|
||||||
<div v-else-if="col.fieldtype === tools.FieldType.html">
|
|
||||||
<CMyEditor :value.sync="myvalue" :title="col.title" @keyup.enter.stop>
|
|
||||||
|
|
||||||
</CMyEditor>
|
|
||||||
<!--<q-input v-model="myvalue"-->
|
|
||||||
<!--autofocus-->
|
|
||||||
<!--@keyup.enter.stop-->
|
|
||||||
<!--type="textarea"></q-input>-->
|
|
||||||
</div>
|
|
||||||
<div v-else-if="col.fieldtype === tools.FieldType.select">
|
|
||||||
<CMySelect :label="col.title"
|
|
||||||
:value.sync="myvalue"
|
|
||||||
:optval="db_fieldsTable.getKeyByTable(col.jointable)"
|
|
||||||
:optlab="db_fieldsTable.getLabelByTable(col.jointable)"
|
|
||||||
:options="db_fieldsTable.getTableJoinByName(col.jointable)"
|
|
||||||
:useinput="false">
|
|
||||||
</CMySelect>
|
|
||||||
</div>
|
|
||||||
<div v-else-if="col.fieldtype === tools.FieldType.nationality">
|
|
||||||
<div class="justify-center q-gutter-sm clgutter q-mt-sm">
|
|
||||||
<q-input
|
|
||||||
v-model="countryname"
|
|
||||||
:readonly="true"
|
|
||||||
rounded dense
|
|
||||||
debounce="1000"
|
|
||||||
>
|
|
||||||
|
|
||||||
<template v-slot:prepend>
|
|
||||||
<div style="font-size: 1rem;">
|
|
||||||
<vue-country-code
|
|
||||||
:defaultCountry="myvalue"
|
|
||||||
:disabledFetchingCountry="true"
|
|
||||||
@onSelect="selectcountry"
|
|
||||||
:preferredCountries="tools.getprefCountries"
|
|
||||||
:dropdownOptions="{ disabledDialCode: true }">
|
|
||||||
|
|
||||||
</vue-country-code>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
</q-input>
|
|
||||||
<div style="height: 180px;">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div v-else-if="col.fieldtype === tools.FieldType.intcode">
|
|
||||||
|
|
||||||
<vue-tel-input
|
|
||||||
@country-changed="intcode_change"
|
|
||||||
v-model="myvalue"
|
|
||||||
:placeholder="$t('reg.cell')"
|
|
||||||
:enabledCountryCode="true"
|
|
||||||
inputClasses="clCell"
|
|
||||||
wrapperClasses="clCellCode">
|
|
||||||
</vue-tel-input>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<div v-else-if="col.fieldtype === tools.FieldType.multiselect">
|
|
||||||
<div>join: {{col.jointable}}</div>
|
|
||||||
|
|
||||||
<q-select
|
|
||||||
v-model="myvalue"
|
|
||||||
rounded
|
|
||||||
outlined
|
|
||||||
multiple
|
|
||||||
dense
|
|
||||||
options-dense
|
|
||||||
:display-value="db_fieldsTable.getTitleByTable(col.jointable)"
|
|
||||||
emit-value
|
|
||||||
map-options
|
|
||||||
:options="db_fieldsTable.getTableJoinByName(col.jointable)"
|
|
||||||
:option-label="db_fieldsTable.getLabelByTable(col.jointable)"
|
|
||||||
:option-value="db_fieldsTable.getKeyByTable(col.jointable)"
|
|
||||||
style="min-width: 150px"
|
|
||||||
@input="changeCol">
|
|
||||||
|
|
||||||
</q-select>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</q-popup-edit>
|
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
<div v-else>
|
||||||
|
{{ visuValByType(myvalue, col, row) }}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div v-if="col.fieldtype === tools.FieldType.html">
|
||||||
|
|
||||||
|
<CMyEditor v-if="visueditor" :value.sync="myvalue" :title="col.title" @keyup.enter.stop
|
||||||
|
@showandsave="Savedb" @annulla="visueditor=false">
|
||||||
|
|
||||||
|
</CMyEditor>
|
||||||
|
</div>
|
||||||
|
<q-popup-edit
|
||||||
|
v-if="canEdit && col.fieldtype !== tools.FieldType.html"
|
||||||
|
v-model="myvalue"
|
||||||
|
:disable="col.disable"
|
||||||
|
:title="col.title"
|
||||||
|
buttons
|
||||||
|
persistent
|
||||||
|
@save="SaveValueInt"
|
||||||
|
@show="OpenEdit">
|
||||||
|
|
||||||
|
<div v-if="col.fieldtype === tools.FieldType.boolean">
|
||||||
|
<q-checkbox v-model="myvalue" :label="col.title">
|
||||||
|
</q-checkbox>
|
||||||
|
{{ visuValByType(myvalue, col, row) }}
|
||||||
|
</div>
|
||||||
|
<div v-else-if="col.fieldtype === tools.FieldType.string">
|
||||||
|
<q-input v-model="myvalue"
|
||||||
|
autogrow
|
||||||
|
@keyup.enter.stop
|
||||||
|
autofocus>
|
||||||
|
|
||||||
|
</q-input>
|
||||||
|
</div>
|
||||||
|
<div v-else-if="col.fieldtype === tools.FieldType.password">
|
||||||
|
<q-input v-model="myvalue"
|
||||||
|
type="password"
|
||||||
|
@keyup.enter.stop
|
||||||
|
autofocus>
|
||||||
|
|
||||||
|
</q-input>
|
||||||
|
</div>
|
||||||
|
<div v-else-if="col.fieldtype === tools.FieldType.number">
|
||||||
|
<q-input v-model="myvalue" type="number"
|
||||||
|
autofocus>
|
||||||
|
|
||||||
|
</q-input>
|
||||||
|
</div>
|
||||||
|
<div v-else-if="col.fieldtype === tools.FieldType.binary">
|
||||||
|
<CMyToggleList :label="col.title"
|
||||||
|
:options="db_fieldsTable.getTableJoinByName(col.jointable)"
|
||||||
|
:value.sync="myvalue"
|
||||||
|
:optval="db_fieldsTable.getKeyByTable(col.jointable)"
|
||||||
|
:optlab="db_fieldsTable.getLabelByTable(col.jointable)">
|
||||||
|
</CMyToggleList>
|
||||||
|
</div>
|
||||||
|
<div v-else-if="col.fieldtype === tools.FieldType.select">
|
||||||
|
<CMySelect :label="col.title"
|
||||||
|
:value.sync="myvalue"
|
||||||
|
:optval="db_fieldsTable.getKeyByTable(col.jointable)"
|
||||||
|
:optlab="db_fieldsTable.getLabelByTable(col.jointable)"
|
||||||
|
:options="db_fieldsTable.getTableJoinByName(col.jointable)"
|
||||||
|
:useinput="false">
|
||||||
|
</CMySelect>
|
||||||
|
</div>
|
||||||
|
<div v-else-if="col.fieldtype === tools.FieldType.nationality">
|
||||||
|
<div class="justify-center q-gutter-sm clgutter q-mt-sm">
|
||||||
|
<q-input
|
||||||
|
v-model="countryname"
|
||||||
|
:readonly="true"
|
||||||
|
rounded dense
|
||||||
|
debounce="1000"
|
||||||
|
>
|
||||||
|
|
||||||
|
<template v-slot:prepend>
|
||||||
|
<div style="font-size: 1rem;">
|
||||||
|
<vue-country-code
|
||||||
|
:defaultCountry="myvalue"
|
||||||
|
:disabledFetchingCountry="true"
|
||||||
|
@onSelect="selectcountry"
|
||||||
|
:preferredCountries="tools.getprefCountries"
|
||||||
|
:dropdownOptions="{ disabledDialCode: true }">
|
||||||
|
|
||||||
|
</vue-country-code>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</q-input>
|
||||||
|
<div style="height: 180px;">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div v-else-if="col.fieldtype === tools.FieldType.intcode">
|
||||||
|
|
||||||
|
<vue-tel-input
|
||||||
|
@country-changed="intcode_change"
|
||||||
|
v-model="myvalue"
|
||||||
|
:placeholder="$t('reg.cell')"
|
||||||
|
:enabledCountryCode="true"
|
||||||
|
inputClasses="clCell"
|
||||||
|
wrapperClasses="clCellCode">
|
||||||
|
</vue-tel-input>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div v-else-if="col.fieldtype === tools.FieldType.multiselect">
|
||||||
|
<div>join: {{col.jointable}}</div>
|
||||||
|
|
||||||
|
<q-select
|
||||||
|
v-model="myvalue"
|
||||||
|
rounded
|
||||||
|
outlined
|
||||||
|
multiple
|
||||||
|
dense
|
||||||
|
options-dense
|
||||||
|
:display-value="db_fieldsTable.getTitleByTable(col.jointable)"
|
||||||
|
emit-value
|
||||||
|
map-options
|
||||||
|
:options="db_fieldsTable.getTableJoinByName(col.jointable)"
|
||||||
|
:option-label="db_fieldsTable.getLabelByTable(col.jointable)"
|
||||||
|
:option-value="db_fieldsTable.getKeyByTable(col.jointable)"
|
||||||
|
style="min-width: 150px"
|
||||||
|
@input="changeCol">
|
||||||
|
|
||||||
|
</q-select>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</q-popup-edit>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts" src="./CMyPopupEdit.ts">
|
<script lang="ts" src="./CMyPopupEdit.ts">
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import './CMyPopupEdit.scss';
|
@import './CMyPopupEdit.scss';
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import { CSignIn } from '../../components/CSignIn'
|
|||||||
import { tools } from '../../store/Modules/tools'
|
import { tools } from '../../store/Modules/tools'
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
|
name: 'CSigninNoreg',
|
||||||
components: { CSignIn }
|
components: { CSignIn }
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
@@ -165,6 +165,20 @@
|
|||||||
:type="tools.FieldType.string">
|
:type="tools.FieldType.string">
|
||||||
</CMyFieldDb>
|
</CMyFieldDb>
|
||||||
|
|
||||||
|
<CMyFieldDb :title="$t('reg.link_payment')"
|
||||||
|
table="users"
|
||||||
|
mykey="profile"
|
||||||
|
mysubkey="link_payment"
|
||||||
|
:type="tools.FieldType.string">
|
||||||
|
</CMyFieldDb>
|
||||||
|
|
||||||
|
<CMyFieldDb :title="$t('reg.note_payment')"
|
||||||
|
table="users"
|
||||||
|
mykey="profile"
|
||||||
|
mysubkey="note_payment"
|
||||||
|
:type="tools.FieldType.string">
|
||||||
|
</CMyFieldDb>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -59,3 +59,4 @@ export * from './CVideoPromo'
|
|||||||
export * from './CMyRequirement'
|
export * from './CMyRequirement'
|
||||||
export * from './CSigninNoreg'
|
export * from './CSigninNoreg'
|
||||||
export * from './CMyNave'
|
export * from './CMyNave'
|
||||||
|
export * from './CMyFlotta'
|
||||||
|
|||||||
Reference in New Issue
Block a user