- Downline User

- Not registered if already exists.
- Forgot Password
This commit is contained in:
Paolo Arena
2020-01-30 01:20:23 +01:00
parent 3653b8309c
commit 1956e53d07
24 changed files with 325 additions and 408 deletions

View File

@@ -1,7 +1,7 @@
<template>
<div class="column q-pa-sm cursor-pointer" @click="copytoclip">
<div class="q-ma-sm column cursor-pointer" @click="copytoclip">
<q-field outlined bottom-slots :label="title" stack-label class="text-center">
<template v-slot:prepend>
<template v-slot:prepend v-if="!tools.isMobile()">
<q-btn round dense flat icon="far fa-copy" />
</template>

View File

@@ -52,7 +52,7 @@ export default class CGeoChart extends Vue {
for (const rec of this.mydata) {
alldata = []
alldata.push(tools.getNationsByNationality(rec._id))
alldata.push(tools.getNationsByNationality(rec._id, true))
alldata.push(rec.count)
this.mydatafixed.push(alldata)

View File

@@ -13,9 +13,10 @@ import { IParamsQuery } from '../../model/GlobalStore'
import { fieldsTable } from '../../store/Modules/fieldsTable'
import { CMyPopupEdit } from '../CMyPopupEdit'
import { CTitleBanner } from '../CTitleBanner'
import { CMyDashboard } from '../CMyDashboard'
@Component({
components: { CMyPopupEdit, CTitleBanner }
components: { CMyPopupEdit, CTitleBanner, CMyDashboard }
})
export default class CGridTableRec extends Vue {
@Prop({ required: true }) public prop_mytitle: string
@@ -384,6 +385,8 @@ export default class CGridTableRec extends Vue {
public refresh() {
this.serverData = []
this.search = this.search.trim()
// console.log('refresh')
// console.log('this.search', this.search)
if (!!this.search && this.search !== '')
@@ -552,4 +555,14 @@ export default class CGridTableRec extends Vue {
console.log('this.rowclicksel', this.rowclicksel)
}
get getusernamesel() {
try {
if (this.rowclicksel) {
return this.rowclicksel.username
}
} catch (e) {
return ''
}
}
}

View File

@@ -143,6 +143,13 @@
</q-table>
<div v-if="rowclicksel">
<div v-if="(prop_mytable === 'users') && tools.appid() === '7'">
<CMyDashboard :username="getusernamesel">
</CMyDashboard>
</div>
<CTitleBanner title="Record:"></CTitleBanner>
<div class="q-ma-xs q-pa-xs text-center rounded-borders q-list--bordered"
@@ -179,6 +186,6 @@
<script lang="ts" src="./CGridTableRec.ts">
</script>
<style lang="scss" >
<style lang="scss">
@import './CGridTableRec.scss';
</style>

View File

@@ -21,6 +21,10 @@ export default class CLineChart extends Vue {
return tools
}
get mythis() {
return this
}
public mounted() {
this.mydatafixed = {}

View File

@@ -1,6 +1,6 @@
<template>
<div class="q-pa-sm">
<line-chart :title="title" :data="getmydata" :round="0" :colors="mycolors"></line-chart>
<div>
<line-chart :width="tools.getwidthscale(mythis, 350, 400)+`px`" :title="title" :data="getmydata" :round="0" :colors="mycolors"></line-chart>
</div>
</template>

View File

@@ -18,7 +18,7 @@
</q-item-section>
<q-item-section>
<q-item-label>{{ tools.getNationsByNationality(nat._id) }}</q-item-label>
<q-item-label>{{ tools.getNationsByNationality(nat._id, false) }}</q-item-label>
</q-item-section>
<q-item-section side>

View File

@@ -201,8 +201,8 @@ export default class CSignUp extends MixinBase {
console.log(this.signup)
return UserStore.actions.signup(tools.clone(this.signup))
.then((riscode) => {
if (tools.SignUpcheckErrors(this, riscode))
.then((ris) => {
if (tools.SignUpcheckErrors(this, ris.code, ris.msg))
this.$q.loading.hide()
}).catch((error) => {
console.log('ERROR = ' + error)

View File

@@ -238,8 +238,8 @@ export default class CSignUpNotevole extends MixinBase {
console.log(this.signup)
return UserStore.actions.signup(tools.clone(this.signup))
.then((riscode) => {
if (tools.SignUpcheckErrors(this, riscode))
.then((ris) => {
if (tools.SignUpcheckErrors(this, ris.code, ris.msg))
this.$q.loading.hide()
}).catch((error) => {
console.log('ERROR = ' + error)

View File

@@ -10,10 +10,13 @@ import { CMyInnerPage } from '../CMyInnerPage'
import { tools } from '../../store/Modules/tools'
import { CVerifyTelegram } from '../CVerifyEmail'
import { CVerifyEmail } from '../CVerifyTelegram'
import { CCopyBtn } from '../CCopyBtn'
import { CVideo } from '../CVideo'
import { CRequisiti } from '../CRequisiti'
@Component({
components: { CTitleBanner, CMyFieldDb, CMyInnerPage, CVerifyTelegram, CVerifyEmail }
components: { CTitleBanner, CMyFieldDb, CMyInnerPage, CVerifyTelegram, CVerifyEmail, CCopyBtn, CVideo, CRequisiti }
})
export default class CStatus extends MixinBase {
@@ -47,7 +50,7 @@ export default class CStatus extends MixinBase {
descr: 'steps.zoom_long',
page: '/zoom',
funccheck(index) {
return UserStore.state.my.profile.saw_zoom_presentation
return UserStore.getters.VistoZoom
},
funccheck_error(index) {
return true
@@ -68,18 +71,6 @@ export default class CStatus extends MixinBase {
return true
},
},
{
title: 'steps.sharemovement',
descr: 'steps.sharemovement_long',
page: '/sharemovement',
funccheck(index) {
if (UserStore.state.my.calcstat)
return UserStore.state.my.calcstat.numinvitati_attivi >= 2
},
funccheck_error(index) {
return true
},
},
{
title: 'steps.paymenttype',
descr: 'steps.paymenttype_long',
@@ -102,6 +93,18 @@ export default class CStatus extends MixinBase {
return true
},
},
{
title: 'steps.sharemovement',
descr: 'steps.sharemovement_long',
page: '/sharemovement',
funccheck(index) {
if (UserStore.state.my.calcstat)
return UserStore.state.my.calcstat.numinvitati_attivi >= 2
},
funccheck_error(index) {
return true
},
},
{
title: 'steps.enter_prog',
descr: 'steps.enter_prog_long',
@@ -238,6 +241,7 @@ export default class CStatus extends MixinBase {
public getnuminvitati_attivi() {
if (UserStore.state.my)
if (UserStore.state.my.calcstat)
console.log('numinvitati', UserStore.state.my.calcstat)
return UserStore.state.my.calcstat.numinvitati_attivi
return 0
@@ -256,7 +260,7 @@ export default class CStatus extends MixinBase {
}
get getRefLink() {
return UserStore.getters.getRefLink()
return UserStore.getters.getRefLink('')
}
public copylink() {
@@ -317,4 +321,35 @@ export default class CStatus extends MixinBase {
return UserStore.state.my.profile.teleg_checkcode
}
get VistoZoom() {
return UserStore.getters.VistoZoom
}
get getLinkBotTelegram() {
const link = this.getValDb('TELEG_BOT_LINK', false)
// console.log('link', link)
return link
}
get CompletatoRequisiti() {
return this.VistoZoom && this.getnuminvitati_attivi() >= 2 && this.RequisitoPayment
}
get RequisitoPayment() {
let ispaypal = false
if (UserStore.state.my.profile.paymenttypes) {
if (UserStore.state.my.profile.paymenttypes.includes('paypal')) {
if (UserStore.state.my.profile.email_paypal)
ispaypal = true
}
if (UserStore.state.my.profile)
if (UserStore.state.my.profile.paymenttypes)
return (UserStore.state.my.profile.paymenttypes.length >= 2) && ispaypal
}
return false
}
}

View File

@@ -49,6 +49,13 @@
<CVerifyTelegram v-if="TelegCode || !TelegVerificato">
</CVerifyTelegram>
<div v-else>
<br>
<q-btn color="primary" icon="fab fa-telegram" :label="$t('components.authentication.telegram.openbot')"
type="a"
:href="getLinkBotTelegram" target="_blank"></q-btn>
<br>
</div>
<q-stepper-navigation>
@@ -71,6 +78,33 @@
<div v-if="mystep.descr">
<div v-html="$t(mystep.descr)"></div>
</div>
<CTitleBanner class="q-pa-xs" :title="$t('steps.paymenttype_paypal')" bgcolor="bg-primary"
clcolor="text-white"
myclass="myshad" canopen="true" :visible="false">
<CVideo myvideokey="RqsWDlpnN3k">
</CVideo>
<q-btn class="q-ma-md" size="md" type="a" href="https://www.paypal.com/"
target="_blank" rounded color="primary" icon="info" :label="$t('steps.paymenttype_paypal_link')">
</q-btn>
</CTitleBanner>
<CTitleBanner class="q-pa-xs" :title="$t('steps.paymenttype_revolut')" bgcolor="bg-primary"
clcolor="text-white"
myclass="myshad" canopen="true" :visible="false">
<CVideo myvideokey="">
</CVideo>
<q-btn class="q-ma-md" size="md" type="a" href="https://www.revolut.com/"
target="_blank" rounded color="primary" icon="info"
:label="$t('steps.paymenttype_revolut_link')">
</q-btn>
</CTitleBanner>
<div>
<CMyFieldDb :title="$t('reg.paymenttype')"
@@ -103,7 +137,7 @@
>
</CMyFieldDb>
</div>
<div v-else-if="mystep.title === 'steps.chat_biblio'" >
<div v-else-if="mystep.title === 'steps.chat_biblio'">
<div v-if="mystep.descr">
<div v-html="$t(mystep.descr)"></div>
</div>
@@ -116,10 +150,15 @@
</div>
<div v-else-if="mystep.title === 'steps.zoom'">
<CRequisiti :statebool="VistoZoom" :msgTrue="$t('steps.zoom_si_partecipato')"
:msgFalse="$t('steps.zoom_no_partecipato')">
</CRequisiti>
<div v-if="mystep.descr">
<div v-html="$t(mystep.descr)"></div>
</div>
<CTitleBanner class="q-pa-xs" title="Che cos'è Zoom e come funziona?" bgcolor="bg-primary"
<CTitleBanner class="q-pa-xs" :title="$t('steps.zoom_what')" bgcolor="bg-primary"
clcolor="text-white"
myclass="myshad" canopen="true" :visible="false">
<div>
@@ -156,10 +195,42 @@
</div>
<div v-else-if="mystep.title === 'steps.sharemovement'">
<CRequisiti :statebool="getnuminvitati() >= 2" :msgTrue="$t('steps.sharemovement_hai_invitato')"
:msgFalse="$t('steps.sharemovement_devi_invitare_almeno_2')">
</CRequisiti>
<CRequisiti v-if="getnuminvitati() > 0" :statebool="getnuminvitati_attivi() >= 2"
:msgTrue="$t('steps.sharemovement_invitati_attivi_si')"
:msgFalse="$t('steps.sharemovement_invitati_attivi_no')">
</CRequisiti>
<div v-if="mystep.descr">
<div v-html="$t(mystep.descr)"></div>
</div>
{{ $t('reg.reflink') + ' ' + getRefLink }}
<CCopyBtn :title="$t('reg.reflink')" :texttocopy="getRefLink">
</CCopyBtn>
<q-btn class="q-mb-md" rounded size="md" color="primary" to="/dashboard"
:label="$t('pages.dashboard')"></q-btn>
</div>
<div v-else-if="mystep.title === 'steps.enter_prog'">
<div v-if="mystep.descr">
<div v-html="$t(mystep.descr)"></div>
</div>
<CRequisiti :statebool="CompletatoRequisiti" :msgTrue="$t('steps.enter_prog_requisiti_ok')"
:msgFalse="$t('steps.enter_prog_completa_requisiti')">
</CRequisiti>
<CRequisiti :statebool="CompletatoRequisiti" :msgTrue="$t('steps.enter_prog_status')"
:msgFalse="$t('steps.enter_prog_status')">
</CRequisiti>
</div>
<div v-else>
<div v-if="mystep.page">
@@ -195,7 +266,6 @@
</CTitleBanner>
</div>
</template>

View File

@@ -19,7 +19,7 @@
</q-banner>
<q-slide-transition>
<div v-show="myvisible">
<div v-show="myvisible" class="rounded-borders">
<slot></slot>
</div>
</q-slide-transition>

View File

@@ -49,3 +49,5 @@ export * from './CCopyBtn'
export * from './CVerifyTelegram'
export * from './CVerifyEmail'
export * from './CLineChart'
export * from './CUserBadge'
export * from './CMyDashboard'