- DashBoard, Profile, Order Menu

This commit is contained in:
Paolo Arena
2019-12-31 00:44:43 +01:00
parent 9e5bd85328
commit 4a20dca54a
20 changed files with 347 additions and 212 deletions

View File

@@ -1,39 +1,43 @@
import { ISignupOptions } from 'model'
import { email, minLength, required, sameAs } from 'vuelidate/lib/validators'
// import { ValidationRuleset } from 'vuelidate'
import { complexity, registeredemail, registereduser } from '../../validation'
import { complexity, registeredemail, registereduser, aportadorexist } from '../../validation'
export interface TSignup { signup: ISignupOptions, validationGroup: string[] }
export const validations = {
signup: {
repeatPassword: {
required,
sameAsPassword: sameAs('password')
},
password: {
complexity,
required,
minLength: minLength(8)
},
username: {
registereduser,
required,
minLength: minLength(6)
},
name: {
required
},
surname: {
required
},
email: {
email,
registeredemail,
required
},
terms: {
required
}
signup: {
repeatPassword: {
required,
sameAsPassword: sameAs('password')
},
password: {
required,
minLength: minLength(8),
complexity
},
username: {
required,
minLength: minLength(6),
registereduser
},
name: {
required
},
surname: {
required
},
email: {
email,
registeredemail,
required
},
terms: {
required
},
aportador_solidario: {
aportadorexist,
required
}
}
}

View File

@@ -31,12 +31,4 @@
border-radius: 32px;
}
.clAportador{
background-color: lightblue;
border-radius: 32px;
}
.q-field--readonly {
border: 1px solid rgba(0,0,0,0.2);
border-radius: 32px;
}

View File

@@ -17,6 +17,8 @@ import { serv_constants } from '@src/store/Modules/serv_constants'
import VueCountryCode from 'vue-country-code'
import { CTitleBanner } from '../CTitleBanner'
import { registereduser } from '../../validation'
import MixinBase from '../../mixins/mixin-base'
Vue.use(VueCountryCode)
// import {Loading, QSpinnerFacebook, QSpinnerGears} from 'quasar'
@@ -28,7 +30,7 @@ Vue.use(VueCountryCode)
components: { Logo, CTitleBanner }
})
export default class CSignUp extends Vue {
export default class CSignUp extends MixinBase {
@Prop({ required: false, default: false }) public showadultcheck: boolean
@Prop({ required: false, default: false }) public showcell: boolean
public $v
@@ -48,17 +50,21 @@ export default class CSignUp extends Vue {
password: process.env.TEST_PASSWORD || '',
repeatPassword: process.env.TEST_PASSWORD || '',
terms: !process.env.PROD,
profile: DefaultProfile
profile: DefaultProfile,
aportador_solidario: ''
}
public created() {
this.$v.$reset()
this.signup.aportador_solidario = tools.getCookie(tools.APORTADOR_SOLIDARIO, this.$route.params.invited || process.env.TEST_APORTADOR)
this.signup.aportador_solidario = this.$route.params.invited || process.env.TEST_APORTADOR
this.$v.signup.aportador_solidario.$touch()
}
@Watch('$route.params.invited')
public changeaportador() {
console.log('changeaportador', this.$route.params.invited)
if (!this.signup.aportador_solidario)
this.signup.aportador_solidario = this.$route.params.invited
}
@@ -129,11 +135,27 @@ export default class CSignUp extends Vue {
}
}
if (!item.minLength) { return this.$t('reg.err.atleast') + ` ${item.$params.minLength.min} ` + this.$t('reg.err.char') }
if (!item.complexity) { return this.$t('reg.err.complexity') }
console.log('item', item)
if (item.minLength !== undefined) {
if (!item.minLength) {
return this.$t('reg.err.atleast') + ` ${item.$params.minLength.min} ` + this.$t('reg.err.char')
}
}
if (item.complexity !== undefined) {
if (!item.complexity) {
return this.$t('reg.err.complexity')
}
}
// if (!item.maxLength) { return this.$t('reg.err.notmore') + ` ${item.$params.maxLength.max} ` + this.$t('reg.err.char') }
if (!item.required) { return this.$t('reg.err.required') }
if (item.required !== undefined) {
if (!item.required) {
return this.$t('reg.err.required')
}
}
console.log(' ....avanti')
if (cosa === 'email') {
// console.log("EMAIL " + item.isUnique);
// console.log(item);
@@ -141,11 +163,16 @@ export default class CSignUp extends Vue {
} else if (cosa === 'username') {
// console.log(item);
if (!item.isUnique) { return this.$t('reg.err.duplicate_username') }
} else if (cosa === 'aportador_solidario') {
// console.log(item);
if (!item.aportadorexist) {
console.log('!item.aportadorexist !')
return this.$t('reg.err.aportador_not_exist')
}
} else if ((cosa === 'name') || (cosa === 'surname')) {
// console.log(item);
}
return ''
} catch (error) {
// console.log("ERR : " + error);
@@ -188,6 +215,9 @@ export default class CSignUp extends Vue {
return
}
this.signup.name = tools.CapitalizeAllWords(this.signup.name)
this.signup.surname = tools.CapitalizeAllWords(this.signup.surname)
this.$q.loading.show({ message: this.$t('reg.incorso') })
console.log(this.signup)
@@ -214,4 +244,8 @@ export default class CSignUp extends Vue {
this.countryname = name
}
public inputUsername(value){
this.signup.username = value.trim()
}
}

View File

@@ -8,13 +8,18 @@
<!--Prova URL : {{env('PROVA_PAOLO')}}-->
<div class="q-gutter-xs">
<div class="q-gutter-sm">
<q-input
class="clAportador"
bg-color="lightblue"
:readonly="true"
v-model="signup.aportador_solidario"
rounded outlined dense
rounded outlined
@blur="$v.signup.aportador_solidario.$touch"
:error="$v.signup.aportador_solidario.$error"
:error-message="errorMsg('aportador_solidario', $v.signup.aportador_solidario)"
debounce="1000"
:label="$t('reg.aportador_solidario')">
@@ -45,6 +50,7 @@
rounded outlined
@blur="$v.signup.username.$touch"
:error="$v.signup.username.$error"
@keydown.space="(event) => event.preventDefault()"
debounce="1000"
:error-message="errorMsg('username', $v.signup.username)"
@@ -142,7 +148,7 @@
</q-input>
<br>
<div v-if="!tools.isMobile()"><br></div>
<vue-tel-input
v-if="showcell"