Iscrizione Conacreis e Arcadei

This commit is contained in:
paoloar77
2022-10-29 12:37:30 +02:00
parent 2399124a33
commit 392c8bb6af
20 changed files with 668 additions and 380 deletions

View File

@@ -606,11 +606,11 @@ export const shared_consts = {
Cat_Interesse_Arcadei: [
{
value: 1,
label: 'Agricoltura sostenibile e naturale, agro biodiversità, sviluppo delle filiere locali finalizzate all\'autonomia alimentare (orto, g.a.s.)',
label: 'Agricoltura sostenibile e naturale, autonomia alimentare locale (orto, g.a.s.)',
},
{
value: 2,
label: 'Creazione ed Integrazione ecologica di nuove strutture abitative, rimboschimento, conservazione del territorio, del paesaggio e di tutti gli equilibri naturali.',
label: 'Creazione ed Integrazione ecologica di nuove strutture Abitative, rimboschimento, conservazione del territorio.',
},
{
value: 4,
@@ -622,7 +622,7 @@ export const shared_consts = {
},
{
value: 16,
label: 'Risveglio del potenziale umano e ricerca spirituale',
label: 'Risveglio del potenziale umano e ricerca spirituale.',
},
{
value: 32,
@@ -634,7 +634,7 @@ export const shared_consts = {
},
{
value: 128,
label: 'Convivialità, arte e cultura. Tutela, conservazione e promozione delle tradizioni e culture locali.',
label: 'Convivialità, Arte e Cultura. Tutela, conservazione e promozione delle tradizioni e culture locali.',
},
],

View File

@@ -243,7 +243,7 @@ export default defineComponent({
const globalStore = useGlobalStore()
const isfinishLoading = computed(() => globalStore.finishLoading)
const pagination = ref(<IPagination>{ sortBy: 'desc', descending: false, page: 1, rowsNumber: 10, rowsPerPage: 10 })
const pagination = ref({ sortBy: 'desc', descending: false, page: 1, rowsNumber: 10, rowsPerPage: 10 } as IPagination)
const addRow = ref('Aggiungi')
@@ -277,29 +277,29 @@ export default defineComponent({
const numRecLoaded = ref(0)
const spinner_visible = ref(false)
const changetable = ref(false)
const searchList = ref(<ISearchList[]>[])
const searchList = ref([] as ISearchList[])
let actual = ''
const actual = ''
let idsel = ''
let colsel = ref(<IColGridTable | null>{ name: '', field: '', sortable: false })
const colsel = ref({ name: '', field: '', sortable: false } as IColGridTable | null)
let valPrec = ''
const separator = 'horizontal'
const myfilter = ref('')
const myfilterand: any = ref([])
let rowsel: any = {}
let dark = true
const dark = true
const canEdit = ref(false)
let returnedData: any = ref([])
const returnedData: any = ref([])
let returnedCount = 0
const colVisib: any = ref([])
const colNotVisib: any = ref([])
const colExtra: any = ref([])
const actualDate: any = ref(<any>null)
const actualDate: any = ref(null as any)
const rowclicksel = ref(<any>null)
const rowclicksel = ref(null as any)
const colclicksel = ref(null)
const selected: any = ref([])
@@ -341,7 +341,7 @@ export default defineComponent({
watch(() => props.prop_mycolumns, (to: any, from: any) => {
// console.log('watch searchlist', to)
if (myvertical.value != props.vertical) {
if (myvertical.value !== props.vertical) {
myvertical.value = props.vertical
refresh()
}
@@ -361,7 +361,7 @@ export default defineComponent({
watch(() => props.extraparams, (to: any, from: any) => {
// console.log('filtercustom', to)
if (to != from) {
if (to !== from) {
refresh()
}
})
@@ -483,7 +483,7 @@ export default defineComponent({
// emulate 'SELECT count(*) FROM ...WHERE...'
function getRowsNumberCount(myfilter?: any) {
function getRowsNumberCount() {
// if (!myfilter) {
// return original.length
@@ -515,12 +515,12 @@ export default defineComponent({
// console.log('sortBy', sortBy)
let filtersearch: any[] = []
let filtersearch2: any[] = []
let filtersearch3or: any[] = []
let filtersearch3and: any[] = []
let filtercustom: any[] = [...props.filtercustom]
let filter_gte: any[] = []
const filtersearch: any[] = []
const filtersearch2: any[] = []
const filtersearch3or: any[] = []
const filtersearch3and: any[] = []
const filtercustom: any[] = [...props.filtercustom]
const filter_gte: any[] = []
let recSector = null
let recSectorGood = null
@@ -560,8 +560,8 @@ export default defineComponent({
}
let arrfilter_cities: any = []
let arrfilter_provices: any = []
const arrfilter_cities: any = []
const arrfilter_provices: any = []
// console.table(searchList.value)
@@ -570,13 +570,13 @@ export default defineComponent({
// searchList.value.forEach((item: ISearchList) => {
if (!item.notinsearch) {
let objitem: any = {}
const objitem: any = {}
// console.log(' item ', item)
let obj: any = {}
const obj: any = {}
if (item.table === 'regions') {
let myfield = tools.getFieldSearchByTable(mytable.value, item.table, 'mycities.reg')
const myfield = tools.getFieldSearchByTable(mytable.value, item.table, 'mycities.reg')
obj[myfield] = item.value
if (myfield) {
obj['mycities.reg'] = item.value
@@ -591,7 +591,7 @@ export default defineComponent({
} else if (item.table === 'provinces') {
let myfield = tools.getFieldSearchByTable(mytable.value, item.table, 'mycities.prov')
const myfield = tools.getFieldSearchByTable(mytable.value, item.table, 'mycities.prov')
obj[myfield] = item.value
if (myfield) {
if (item.value !== '' && item.value !== costanti.FILTER_TUTTI) {
@@ -606,7 +606,7 @@ export default defineComponent({
} else if (item.table === 'cities') {
if (item.value && item.value.hasOwnProperty('_id')) {
let myfield = tools.getFieldSearchByTable(mytable.value, item.table, 'idCity')
const myfield = tools.getFieldSearchByTable(mytable.value, item.table, 'idCity')
if (myfield) {
obj[myfield] = item.value._id
if (item.value && item.value !== '' && item.value._id !== costanti.FILTER_TUTTI) {
@@ -649,16 +649,16 @@ export default defineComponent({
return true
})
let arr2: any = []
const arr2: any = []
if (item.table !== 'provinces') {
myarr.forEach((myval: any) => {
let objitem2: any = {}
const objitem2: any = {}
objitem2[item.key] = myval
arr2.push(objitem2)
})
let obj2: any = {
const obj2: any = {
$or: arr2
}
if (arr2.length > 0) {
@@ -668,28 +668,28 @@ export default defineComponent({
} else {
if ((item.table === toolsext.TABSKILLS) && item.value === costanti.FILTER_TUTTI) {
let obj2: any = {}
const obj2: any = {}
if (idSector > 0) {
// idSector
// obj2['sector._id'] = idSector
obj2['idSector'] = idSector
obj2.idSector = idSector
filtersearch2.push(obj2)
}
if (idSkill > 0) {
// idSector
obj2['idSkill'] = idSkill
obj2.idSkill = idSkill
filtersearch2.push(obj2)
}
} else if ((item.table === 'goods') && item.value === costanti.FILTER_TUTTI) {
let obj2: any = {}
const obj2: any = {}
if (idSectorGood > 0) {
// idSectorGood
obj2['sectorGood._id'] = idSectorGood
filtersearch2.push(obj2)
}
} else if ((item.table === 'subskills') && item.value === costanti.FILTER_TUTTI) {
let obj2: any = {}
const obj2: any = {}
// idSector
if (idSkill > 0) {
obj2['myskill._id'] = idSkill
@@ -703,7 +703,7 @@ export default defineComponent({
}
if (arrfilter_cities.length > 0 && recCities) {
let myobjfilt: any = {}
const myobjfilt: any = {}
for (const myrec of arrfilter_cities) {
myobjfilt[myrec.key] = myrec.value
}
@@ -711,7 +711,7 @@ export default defineComponent({
}
if (arrfilter_provices.length > 0 && recProvince) {
let myobjfilt: any = {}
const myobjfilt: any = {}
for (const myrec of arrfilter_provices) {
myobjfilt[myrec.key] = myrec.value
}
@@ -755,13 +755,13 @@ export default defineComponent({
filter: param_myfilter,
filterand: param_myfilterand,
// @ts-ignore
filtersearch: filtersearch,
filtersearch,
// @ts-ignore
filtersearch2: filtersearch2,
filtersearch3or: filtersearch3or,
filtersearch3and: filtersearch3and,
filtersearch2,
filtersearch3or,
filtersearch3and,
// @ts-ignore
filtercustom: filtercustom,
filtercustom,
// @ts-ignore
filter_gte,
sortBy: myobj,
@@ -834,7 +834,7 @@ export default defineComponent({
// fetch data from "server"
return fetchFromServer(startRow, endRow, myfilternow, myfilterandnow, sortBy, descending).then((ris: any) => {
pagination.value.rowsNumber = getRowsNumberCount(myfilter)
pagination.value.rowsNumber = getRowsNumberCount()
// clear out existing data and add new
if (!returnedData.value || returnedData.value.length === 0) {
@@ -899,16 +899,16 @@ export default defineComponent({
// fetch data from "server"
return fetchFromServer(startRow, endRow, myfilternow, myfilterandnow, sortBy, descending).then((ris: any) => {
pagination.value.rowsNumber = getRowsNumberCount(myfilter)
pagination.value.rowsNumber = getRowsNumberCount()
// console.log(' ...rowsNumber', pagination.value.rowsNumber)
if (returnedData.value === []) {
if (!returnedData.value || returnedData.value.length === 0) {
// no more data
} else {
try {
numRecLoaded.value = numRecLoaded.value + (returnedData.value ? returnedData.value.length : 0)
// console.log(' ...numRecLoaded.value', numRecLoaded.value)
let toadd = []
const toadd = []
for (const elem of returnedData.value) {
if (serverData.value.findIndex((rec: any) => rec._id === elem._id) < 0) {
toadd.push(elem)
@@ -1008,7 +1008,7 @@ export default defineComponent({
myinfscroll.value.stop()
}
refresh_infscroll(function () { return true })
refresh_infscroll(() => true)
} else {
refresh_table()
}
@@ -1063,22 +1063,19 @@ export default defineComponent({
function selItem(item: any, col: IColGridTable, inmodif?: boolean) {
// console.log('selItem', item, col)
if (inmodif) {
}
if (col.jointable === toolsext.TABSECTORS) {
// Sbianca la select della Categoria
if (item && item.hasOwnProperty('idSkill')) {
item['idSkill'] = costanti.FILTER_NESSUNO
newRecord.value['idSkill'] = item['idSkill']
item.idSkill = costanti.FILTER_NESSUNO
newRecord.value.idSkill = item.idSkill
}
} else if (col.jointable === toolsext.TABSECTORGOODS) {
// Sbianca la select della Categoria Beni
if (item && item.hasOwnProperty('idGood')) {
item['idGood'] = costanti.FILTER_NESSUNO
newRecord.value['idGood'] = item['idGood']
item.idGood = costanti.FILTER_NESSUNO
newRecord.value.idGood = item.idGood
console.log('newRecord', newRecord)
}
}
@@ -1164,11 +1161,11 @@ export default defineComponent({
}
}
const mydata = <any>{
const mydata = {
id: idsel,
table: mytable.value,
fieldsvalue: {}
}
} as any
if (colsel.value) {
@@ -1244,8 +1241,8 @@ export default defineComponent({
if (!newRecord.value) {
newRecord.value = {}
}
newRecord.value['userId'] = userStore.my._id
newRecord.value['idapp'] = process.env.APP_ID
newRecord.value.userId = userStore.my._id
newRecord.value.idapp = process.env.APP_ID
// globalStore.saveTable(mydata).then(ris => console.log('RISULT', ris))
newRecordBool.value = true
@@ -1398,7 +1395,7 @@ export default defineComponent({
if (action === lists.MenuAction.DELETE_RECTABLE) {
if ((serverData.value.length > 0) && item) {
console.log('item', item)
let indelim = serverData.value.findIndex((rec: any) => rec._id === item._id)
const indelim = serverData.value.findIndex((rec: any) => rec._id === item._id)
console.log('indexof', indelim)
if (indelim >= 0)
serverData.value.splice(indelim, 1)
@@ -1437,7 +1434,7 @@ export default defineComponent({
}
function checkIfColShow(field: string | undefined) {
let vis = true
const vis = true
/*if (shared_consts.TABLES_NOT_SHOW_IF_USERNAME.includes(props.prop_mytable) && !props.prop_search) {
if (field === 'username') {
vis = false
@@ -1449,11 +1446,11 @@ export default defineComponent({
function changeCol(newval: any) {
// console.log('changecol', mytable.value)
if (!!mytable.value) {
let arrcol = []
const arrcol = []
let col: IColGridTable = { name: '', sortable: false }
for (col of mycolumns.value) {
if (col.field !== costanti.NOFIELD) {
let obj = {
const obj = {
n: col.field + (col.subfield ? col.subfield : ''),
v: 0
}
@@ -1547,9 +1544,9 @@ export default defineComponent({
for (const col of arrselcol) {
const arrv = col.split(',')
if (arrv.length > 1) {
let field = arrv[0]
let visib = arrv[1]
const rec = mycolumns.value.find((rec: any) => (rec.field + rec.subfield) === field)
const field = arrv[0]
const visib = arrv[1]
const rec = mycolumns.value.find((myrec: any) => (myrec.field + myrec.subfield) === field)
if (rec) {
@@ -1560,7 +1557,7 @@ export default defineComponent({
} else if (visib === '0') {
// Se da togliere, lo togli
if (colVisib.value.includes(field))
colVisib.value = colVisib.value.filter((rec: any) => rec !== field)
colVisib.value = colVisib.value.filter((myrec: any) => myrec !== field)
}
}
}
@@ -1635,7 +1632,7 @@ export default defineComponent({
function enableSaveNewRec(newrec: boolean) {
let ok = true
const ok = true
const showmsg = true
@@ -1865,7 +1862,7 @@ export default defineComponent({
function getLabelFooterByRow(row: any) {
if (props.col_footer) {
let mycol = fieldsTable.getColByTable(tablesel.value, props.col_footer)
const mycol = fieldsTable.getColByTable(tablesel.value, props.col_footer)
if (mycol) {
return tools.getValueByRemoteField(mycol, row, row[props.col_footer], props.col_tabfooter)
}
@@ -1955,7 +1952,7 @@ export default defineComponent({
if (col) {
if (col.label_trans === t('movement.accountFromId')) {
// ..
}
}

View File

@@ -1,9 +1,10 @@
import { ISignupIscrizioneConacreisOptions } from 'model'
import { ISignupIscrizioneArcadeiOptions, ISignupIscrizioneConacreisOptions } from 'model'
import { tools } from '@store/Modules/tools'
import { Logo } from '@/components/logo'
import { CDate } from '@/components/CDate'
import { CMyPage } from '@/components/CMyPage'
import { CMySelect } from '@/components/CMySelect'
import { CTitleBanner } from '../CTitleBanner'
import { computed, defineComponent, reactive, ref, watch } from 'vue'
@@ -14,13 +15,15 @@ import { useGlobalStore } from '@store/globalStore'
import { useI18n } from '@/boot/i18n'
import MixinUsers from '@/mixins/mixin-users'
import useVuelidate from '@vuelidate/core'
import { email, minLength, required } from 'vuelidate/lib/validators'
import { email, minLength, required } from '@vuelidate/validators'
import { shared_consts } from '@src/common/shared_vuejs'
// import {Loading, QSpinnerFacebook, QSpinnerGears} from 'quasar'
export default defineComponent({
name: 'CSignUpIscrizioneArcadei',
components: { Logo, CTitleBanner, CDate, CMyPage },
components: { Logo, CTitleBanner, CDate, CMyPage, CMySelect },
setup() {
const $q = useQuasar()
@@ -29,29 +32,8 @@ export default defineComponent({
const globalStore = useGlobalStore()
const { t } = useI18n()
// @ts-ignore
const v$ = useVuelidate(validations, signup)
const countryname = ref('')
const countryborn = ref('')
const iamadult = ref(false)
const duplicate_email = ref(false)
const duplicate_username = ref(false)
const { mySurname, Email, myCell } = MixinUsers()
const { getMyUsername } = MixinUsers()
const signup = ref({
accetta_carta_costituzionale_on: false,
newsletter_on: false,
terms: false
} as ISignupIscrizioneConacreisOptions)
const validations: any = computed(() => {
const valid: any = {
signup: {
let valid: any = {
name: {
required
},
@@ -62,9 +44,13 @@ export default defineComponent({
email,
required
},
fiscalcode: {
required,
minLength: minLength(16)
cell_phone: {
required
},
cell_phone2: {
},
doctype: {
required
},
residency_address: {
required
@@ -96,28 +82,54 @@ export default defineComponent({
terms: {
required
},
}
quota_versata: {
required
},
}
return valid
})
function created() {
const countryname = ref('')
const countryborn = ref('')
const iamadult = ref(false)
const duplicate_email = ref(false)
const duplicate_username = ref(false)
const { mySurname, Email, myCell } = MixinUsers()
const { getMyUsername } = MixinUsers()
const signup = reactive({
accetta_carta_costituzionale_on: false,
newsletter_on: false,
terms: false
} as ISignupIscrizioneArcadeiOptions)
// @ts-ignore
const v$ = useVuelidate(validations, signup)
const pagetesti_iscriz = ref(null)
async function created() {
if (!!getMyUsername() && (!userStore.my.profile.socio)) {
signup.value.name = userStore.my.name
signup.value.surname = mySurname.toString()
signup.value.email = Email.toString()
signup.value.cell_phone = myCell.toString()
signup.name = userStore.my.name
signup.surname = mySurname()
signup.email = Email()
signup.cell_phone = myCell()
}
signup.categorie_interesse = []
v$.value.$reset()
pagetesti_iscriz.value = await globalStore.loadPage('/testi_iscriz')
}
function allowSubmit() {
const error = v$.value.$error || v$.value.$invalid
// console.log('v', v$, 'error', error, 'terms', signup.value.terms, 'carta', signup.value.accetta_carta_costituzionale_on)
return !error && signup.value.terms && signup.value.accetta_carta_costituzionale_on
// console.log('v', v$, 'error', error, 'terms', signup.terms, 'carta', signup.accetta_carta_costituzionale_on)
return !error && signup.terms && signup.accetta_carta_costituzionale_on
}
function errorMsg(cosa: string, item: any) {
@@ -176,44 +188,44 @@ export default defineComponent({
}
function submitOk() {
v$.value.signup.value.touch()
v$.value.$touch()
if (signup.value) {
signup.value.email = tools.removespaces(signup.value.email!)
signup.value.email = signup.value.email.toLowerCase()
if (signup) {
signup.email = tools.removespaces(signup.email!)
signup.email = signup.email.toLowerCase()
signup.value.residency_country = tools.CapitalizeAllWords(signup.value.residency_country)
signup.value.residency_address = tools.CapitalizeAllWords(signup.value.residency_address)
signup.value.residency_city = tools.CapitalizeAllWords(signup.value.residency_city)
signup.value.residency_province = signup.value.residency_province!.toUpperCase()
signup.value.born_province = signup.value.born_province!.toUpperCase()
signup.residency_country = tools.CapitalizeAllWords(signup.residency_country)
signup.residency_address = tools.CapitalizeAllWords(signup.residency_address)
signup.residency_city = tools.CapitalizeAllWords(signup.residency_city)
signup.residency_province = signup.residency_province!.toUpperCase()
signup.born_province = signup.born_province!.toUpperCase()
duplicate_email.value = false
duplicate_username.value = false
if (!signup.value.terms) {
if (!signup.terms) {
tools.showNotif($q, t('reg.err.terms'))
return
}
if (!signup.value.accetta_carta_costituzionale_on) {
if (!signup.accetta_carta_costituzionale_on) {
tools.showNotif($q, t('reg.err.accetta_carta_costituzionale_on'))
return
}
if (v$.value.signup.value.$error) {
if (v$.value.$error) {
tools.showNotif($q, t('reg.err.errore_generico'))
return
}
signup.value.name = tools.CapitalizeAllWords(signup.value.name)
signup.value.surname = tools.CapitalizeAllWords(signup.value.surname)
signup.value.annoTesseramento = 2023
signup.name = tools.CapitalizeAllWords(signup.name)
signup.surname = tools.CapitalizeAllWords(signup.surname)
signup.annoTesseramento = 2023
$q.loading.show({ message: t('reg.iscrizioneincorso') })
console.log(signup)
return userStore.iscrivitiConacreis(tools.clone(signup))
return userStore.iscrivitiArcadei(tools.clone(signup))
.then((ris) => {
if (tools.SignUpcheckErrors($q, $router, ris.code, ris.msg))
$q.loading.hide()
@@ -227,13 +239,13 @@ export default defineComponent({
function selectcountry({ name, iso2, dialCode }: {name: string, iso2: string, dialCode: string}) {
// console.log(name, iso2, dialCode)
signup.value.residency_country = name
signup.residency_country = name
countryname.value = name
}
function selectcountryborn({ name, iso2, dialCode }: {name: string, iso2: string, dialCode: string}) {
// console.log(name, iso2, dialCode)
signup.value.born_country = name
signup.born_country = name
countryborn.value = name
}
@@ -246,7 +258,10 @@ export default defineComponent({
submitOk,
errorMsg,
allowSubmit,
signup,
v$,
pagetesti_iscriz,
shared_consts,
}
}

View File

@@ -2,9 +2,9 @@
<div>
<div class="text-center">
<logo></logo>
<CTitleBanner :title="$t('pages.SignUpIscrizione')" :canopen="true" :visible="false">
<CTitleBanner :title="$t('pages.SignUpArcadei')" :canopen="true" :visible="false">
<div class="q-gutter-xs">
<div class="q-gutter-xs" v-if="signup">
<p class="q-ml-md text-center">
Leggi
@@ -13,29 +13,13 @@
</router-link></span>
</p>
<q-input
v-model="signup.name"
rounded outlined
@blur="v$.signup.name.$touch"
:error="v$.signup.name.$error"
maxlength="30"
:error-message="errorMsg('name', v$.signup.name)"
:label="$t('reg.name')">
<template v-slot:prepend>
<q-icon name="person"/>
</template>
</q-input>
<q-input
v-model="signup.surname"
rounded outlined
@blur="v$.signup.surname.$touch"
:error="v$.signup.surname.$error"
@blur="v$.surname.$touch"
:error="v$.surname.$error"
maxlength="30"
:error-message="errorMsg('surname', v$.signup.surname)"
:error-message="errorMsg('surname', v$.surname)"
:label="$t('reg.surname')">
<template v-slot:prepend>
@@ -45,31 +29,13 @@
</q-input>
<q-input
v-model="signup.email"
v-model="signup.name"
rounded outlined
@blur="v$.signup.email.$touch"
:error="v$.signup.email.$error"
:error-message="errorMsg('email', v$.signup.email)"
maxlength="50"
debounce="1000"
:label="$t('reg.email')">
<template v-slot:prepend>
<q-icon name="email"/>
</template>
</q-input>
<q-input
v-model="signup.fiscalcode"
rounded outlined
@blur="v$.signup.fiscalcode.$touch"
:error="v$.signup.fiscalcode.$error"
maxlength="20"
mask="AAAAAA##A##A###A"
debounce="1000"
:error-message="errorMsg('fiscalcode', v$.signup.fiscalcode)"
:label="$t('reg.fiscalcode')">
@blur="v$.name.$touch"
:error="v$.name.$error"
maxlength="30"
:error-message="errorMsg('name', v$.name)"
:label="$t('reg.name')">
<template v-slot:prepend>
<q-icon name="person"/>
@@ -77,110 +43,12 @@
</q-input>
<q-input
v-model="signup.residency_address"
rounded outlined
@blur="v$.signup.residency_address.$touch"
:error="v$.signup.residency_address.$error"
maxlength="60"
debounce="1000"
:error-message="errorMsg('residency_address', v$.signup.residency_address)"
:label="$t('reg.residency_address')">
<template v-slot:prepend>
<q-icon name="person"/>
</template>
</q-input>
<q-input
v-model="signup.residency_city"
rounded outlined
@blur="v$.signup.residency_city.$touch"
:error="v$.signup.residency_city.$error"
maxlength="60"
debounce="1000"
:error-message="errorMsg('residency_city', v$.signup.residency_city)"
:label="$t('reg.residency_city')">
<template v-slot:prepend>
<q-icon name="person"/>
</template>
</q-input>
<q-input
v-model="signup.residency_province"
rounded outlined
@blur="v$.signup.residency_province.$touch"
:error="v$.signup.residency_province.$error"
maxlength="3"
debounce="1000"
:error-message="errorMsg('residency_province', v$.signup.residency_province)"
:label="$t('reg.residency_province')">
<template v-slot:prepend>
<q-icon name="person"/>
</template>
</q-input>
<q-input
v-model="signup.residency_zipcode"
rounded outlined
@blur="v$.signup.residency_zipcode.$touch"
:error="v$.signup.residency_zipcode.$error"
maxlength="10"
debounce="1000"
:error-message="errorMsg('residency_zipcode', v$.signup.residency_zipcode)"
:label="$t('reg.residency_zipcode')">
<template v-slot:prepend>
<q-icon name="person"/>
</template>
</q-input>
<q-input
v-model="countryname"
:readonly="true"
rounded outlined
debounce="1000"
:label="$t('reg.nationality')">
<template v-slot:prepend>
<vue-country-code
@onSelect="selectcountry"
:preferredCountries="tools.getprefCountries"
:dropdownOptions="{ disabledDialCode: true }"
>
</vue-country-code>
</template>
</q-input>
<br>
<vue-tel-input
v-model="signup.cell_phone"
:placeholder="$t('reg.cell')"
maxlength="20"
debounce="1000"
:enabledCountryCode="true"
inputClasses="clCell"
wrapperClasses="clCellCode">
</vue-tel-input>
<br>
<q-input
v-model="signup.dateofbirth"
debounce="1000"
@blur="v$.signup.dateofbirth.$touch"
:error="v$.signup.dateofbirth.$error"
:error-message="errorMsg('dateofbirth', v$.signup.dateofbirth)"
@blur="v$.dateofbirth.$touch"
:error="v$.dateofbirth.$error"
:error-message="errorMsg('dateofbirth', v$.dateofbirth)"
stack-label
:label="$t('reg.dateofbirth')"
rounded
@@ -190,14 +58,31 @@
outlined>
</q-input>
<q-input
v-model="signup.born_country"
rounded outlined
@blur="v$.born_country.$touch"
:error="v$.born_country.$error"
maxlength="3"
debounce="1000"
:error-message="errorMsg('born_country', v$.born_country)"
:label="$t('reg.born_country')">
<template v-slot:prepend>
<q-icon name="person"/>
</template>
</q-input>
<q-input
v-model="signup.born_city"
rounded outlined
@blur="v$.signup.born_city.$touch"
:error="v$.signup.born_city.$error"
@blur="v$.born_city.$touch"
:error="v$.born_city.$error"
maxlength="60"
debounce="1000"
:error-message="errorMsg('born_city', v$.signup.born_city)"
:error-message="errorMsg('born_city', v$.born_city)"
:label="$t('reg.born_city')">
<template v-slot:prepend>
@@ -209,11 +94,11 @@
<q-input
v-model="signup.born_province"
rounded outlined
@blur="v$.signup.born_province.$touch"
:error="v$.signup.born_province.$error"
@blur="v$.born_province.$touch"
:error="v$.born_province.$error"
maxlength="3"
debounce="1000"
:error-message="errorMsg('born_province', v$.signup.born_province)"
:error-message="errorMsg('born_province', v$.born_province)"
:label="$t('reg.born_province')">
<template v-slot:prepend>
@@ -222,56 +107,257 @@
</q-input>
<!--<CDate :mydate="signup.dateofbirth" @input="setDateOfBirth(arguments[0])"
:rounded="true" :outlined="true"
:dense="false"
:label="$t('reg.dateofbirth')">
</CDate>-->
<q-input
v-model="countryborn"
:readonly="true"
<!--<q-input
v-model="signup.fiscalcode"
rounded outlined
@blur="v$.fiscalcode.$touch"
:error="v$.fiscalcode.$error"
maxlength="20"
mask="AAAAAA##A##A###A"
debounce="1000"
:label="$t('reg.nationality_born')">
:error-message="errorMsg('fiscalcode', v$.fiscalcode)"
:label="$t('reg.fiscalcode')">
<template v-slot:prepend>
<vue-country-code
@onSelect="selectcountryborn"
:preferredCountries="tools.getprefCountries"
:dropdownOptions="{ disabledDialCode: true }"
>
<q-icon name="person"/>
</template>
</vue-country-code>
</q-input>-->
<q-input
v-model="signup.residency_address"
rounded outlined
@blur="v$.residency_address.$touch"
:error="v$.residency_address.$error"
maxlength="60"
debounce="1000"
:error-message="errorMsg('residency_address', v$.residency_address)"
:label="$t('reg.residency_address')">
<template v-slot:prepend>
<q-icon name="person"/>
</template>
</q-input>
<q-input
v-model="signup.residency_city"
rounded outlined
@blur="v$.residency_city.$touch"
:error="v$.residency_city.$error"
maxlength="60"
debounce="1000"
:error-message="errorMsg('residency_city', v$.residency_city)"
:label="$t('reg.residency_city')">
<template v-slot:prepend>
<q-icon name="person"/>
</template>
</q-input>
<q-input
v-model="signup.residency_province"
rounded outlined
@blur="v$.residency_province.$touch"
:error="v$.residency_province.$error"
maxlength="3"
debounce="1000"
:error-message="errorMsg('residency_province', v$.residency_province)"
:label="$t('reg.residency_province')">
<template v-slot:prepend>
<q-icon name="person"/>
</template>
</q-input>
<q-input
v-model="signup.residency_zipcode"
rounded outlined
@blur="v$.residency_zipcode.$touch"
:error="v$.residency_zipcode.$error"
maxlength="10"
debounce="1000"
:error-message="errorMsg('residency_zipcode', v$.residency_zipcode)"
:label="$t('reg.residency_zipcode')">
<template v-slot:prepend>
<q-icon name="person"/>
</template>
</q-input>
<q-input
v-model="signup.cell_phone"
@blur="v$.cell_phone.$touch"
:error="v$.cell_phone.$error"
:error-message="errorMsg('cell_phone', v$.cell_phone)"
rounded outlined
maxlength="20"
debounce="1000"
:label="$t('reg.phone')">
<template v-slot:prepend>
<q-icon name="fas fa-phone"/>
</template>
</q-input>
<q-input
v-model="signup.cell_phone2"
@blur="v$.cell_phone2.$touch"
:error="v$.cell_phone2.$error"
:error-message="errorMsg('cell_phone2', v$.cell_phone2)"
rounded outlined
maxlength="20"
debounce="1000"
:label="$t('reg.phone2')">
<template v-slot:prepend>
<q-icon name="fas fa-phone"/>
</template>
</q-input>
<q-input
v-model="signup.email"
rounded outlined
@blur="v$.email.$touch"
:error="v$.email.$error"
:error-message="errorMsg('email', v$.email)"
maxlength="50"
debounce="1000"
:label="$t('reg.email')">
<template v-slot:prepend>
<q-icon name="email"/>
</template>
</q-input>
<q-input
v-model="signup.email2"
rounded outlined
:error-message="errorMsg('email', v$.email2)"
maxlength="50"
debounce="1000"
:label="$t('reg.email2')">
<template v-slot:prepend>
<q-icon name="email"/>
</template>
</q-input>
<q-select
rounded outlined v-model="signup.doctype"
@blur="v$.doctype.$touch"
:error="v$.doctype.$error"
:error-message="errorMsg('doctype', v$.doctype)"
:options="tools.SelectDocType"
:label="$t('reg.doctype')" emit-value map-options>
</q-select>
<q-input
v-model="signup.documentnumber"
rounded outlined
maxlength="50"
debounce="1000"
:label="$t('reg.documentnumber')">
<template v-slot:prepend>
<q-icon name="fas fa-id-card"/>
</template>
</q-input>
<br>
<div v-html="pagetesti_iscriz.content1"></div>
<br>
<q-select
rounded outlined v-model="signup.quota_versata"
@blur="v$.quota_versata.$touch"
:error="v$.quota_versata.$error"
:error-message="errorMsg('quota_versata', v$.quota_versata)"
:options="tools.SelectQuotaVersata"
:label="$t('reg.quota_versata')" emit-value map-options>
</q-select>
<br>
<div v-html="pagetesti_iscriz.content2"></div>
<!--<CDate :mydate="signup.dateofbirth" @input="setDateOfBirth(arguments[0])"
:rounded="true" :outlined="true"
:dense="false"
:label="$t('reg.dateofbirth')">
</CDate>-->
<br>
<!--<div v-if="!tools.isMobile()"><br></div>-->
<q-select
rounded outlined v-model="signup.metodo_pagamento"
@blur="v$.metodo_pagamento.$touch"
:error="v$.metodo_pagamento.$error"
:error-message="errorMsg('metodo_pagamento', v$.metodo_pagamento)"
:options="tools.SelectMetodiPagamento"
:label="$t('reg.metodopagamento')" emit-value map-options>
</q-select>
<div class="text-weight-bold">
I campi d'Intervento che risuonano maggiormente con le mie passioni e competenze sono i seguenti:
</div>
<br>
<!--
<CMySelect
myclass="myflex" :label="$t('reg.cat_interesse')"
v-model:value="signup.categorie_interesse"
style="min-width: 300px;"
:multiple="true"
optval="value" optlab="label"
:options="shared_consts.Cat_Interesse_Arcadei" :useinput="false">
</CMySelect>-->
<q-option-group
:options="shared_consts.Cat_Interesse_Arcadei"
type="checkbox"
v-model="signup.categorie_interesse"
/>
<br>
<q-input
v-model="signup.altre_comunicazioni"
autofocus
filled
bordered
color="blue-12"
@keyup.enter.stop
type="textarea"
:label="$t('reg.riflessioni')"
>
</q-input>
<q-checkbox
v-model="signup.accetta_carta_costituzionale_on"
color="secondary">
<span v-html="$t('reg.accetta_carta_costituzionale_on')"></span>
<span v-html="$t('reg.acconsento')"></span>
</q-checkbox>
<q-checkbox
v-model="signup.terms"
color="secondary"
@blur="v$.signup.terms.$touch"
:error="v$.signup.terms.$error"
:error-message="`${errorMsg('terms', v$.signup.terms)}`"
@blur="v$.terms.$touch"
:error="v$.terms.$error"
:error-message="`${errorMsg('terms', v$.terms)}`"
:label="$t('reg.terms')">
</q-checkbox>

View File

@@ -14,7 +14,7 @@ import { useGlobalStore } from '@store/globalStore'
import { useI18n } from '@/boot/i18n'
import MixinUsers from '@/mixins/mixin-users'
import useVuelidate from '@vuelidate/core'
import { email, minLength, required } from 'vuelidate/lib/validators'
import { email, minLength, required } from '@vuelidate/validators'
// import {Loading, QSpinnerFacebook, QSpinnerGears} from 'quasar'
@@ -29,9 +29,6 @@ export default defineComponent({
const globalStore = useGlobalStore()
const { t } = useI18n()
// @ts-ignore
const v$ = useVuelidate(validations, signup)
const countryname = ref('')
const countryborn = ref('')
const iamadult = ref(false)
@@ -43,7 +40,7 @@ export default defineComponent({
const { getMyUsername } = MixinUsers()
const signup = ref({
const signup = reactive({
accetta_carta_costituzionale_on: false,
newsletter_on: false,
terms: false
@@ -102,12 +99,15 @@ export default defineComponent({
return valid
})
// @ts-ignore
const v$ = useVuelidate(validations, signup)
function created() {
if (!!getMyUsername() && (!userStore.my.profile.socio)) {
signup.value.name = userStore.my.name
signup.value.surname = mySurname.toString()
signup.value.email = Email.toString()
signup.value.cell_phone = myCell.toString()
signup.name = userStore.my.name
signup.surname = mySurname.toString()
signup.email = Email.toString()
signup.cell_phone = myCell.toString()
}
v$.value.$reset()
}
@@ -116,8 +116,8 @@ export default defineComponent({
const error = v$.value.$error || v$.value.$invalid
// console.log('v', v$, 'error', error, 'terms', signup.value.terms, 'carta', signup.value.accetta_carta_costituzionale_on)
return !error && signup.value.terms && signup.value.accetta_carta_costituzionale_on
// console.log('v', v$, 'error', error, 'terms', signup.terms, 'carta', signup.accetta_carta_costituzionale_on)
return !error && signup.terms && signup.accetta_carta_costituzionale_on
}
function errorMsg(cosa: string, item: any) {
@@ -176,39 +176,39 @@ export default defineComponent({
}
function submitOk() {
v$.value.signup.value.touch()
v$.value.signup.touch()
if (signup.value) {
signup.value.email = tools.removespaces(signup.value.email!)
signup.value.email = signup.value.email.toLowerCase()
if (signup) {
signup.email = tools.removespaces(signup.email!)
signup.email = signup.email.toLowerCase()
signup.value.residency_country = tools.CapitalizeAllWords(signup.value.residency_country)
signup.value.residency_address = tools.CapitalizeAllWords(signup.value.residency_address)
signup.value.residency_city = tools.CapitalizeAllWords(signup.value.residency_city)
signup.value.residency_province = signup.value.residency_province!.toUpperCase()
signup.value.born_province = signup.value.born_province!.toUpperCase()
signup.residency_country = tools.CapitalizeAllWords(signup.residency_country)
signup.residency_address = tools.CapitalizeAllWords(signup.residency_address)
signup.residency_city = tools.CapitalizeAllWords(signup.residency_city)
signup.residency_province = signup.residency_province!.toUpperCase()
signup.born_province = signup.born_province!.toUpperCase()
duplicate_email.value = false
duplicate_username.value = false
if (!signup.value.terms) {
if (!signup.terms) {
tools.showNotif($q, t('reg.err.terms'))
return
}
if (!signup.value.accetta_carta_costituzionale_on) {
if (!signup.accetta_carta_costituzionale_on) {
tools.showNotif($q, t('reg.err.accetta_carta_costituzionale_on'))
return
}
if (v$.value.signup.value.$error) {
if (v$.value.signup.$error) {
tools.showNotif($q, t('reg.err.errore_generico'))
return
}
signup.value.name = tools.CapitalizeAllWords(signup.value.name)
signup.value.surname = tools.CapitalizeAllWords(signup.value.surname)
signup.value.annoTesseramento = 2023
signup.name = tools.CapitalizeAllWords(signup.name)
signup.surname = tools.CapitalizeAllWords(signup.surname)
signup.annoTesseramento = 2023
$q.loading.show({ message: t('reg.iscrizioneincorso') })
@@ -227,13 +227,13 @@ export default defineComponent({
function selectcountry({ name, iso2, dialCode }: {name: string, iso2: string, dialCode: string}) {
// console.log(name, iso2, dialCode)
signup.value.residency_country = name
signup.residency_country = name
countryname.value = name
}
function selectcountryborn({ name, iso2, dialCode }: {name: string, iso2: string, dialCode: string}) {
// console.log(name, iso2, dialCode)
signup.value.born_country = name
signup.born_country = name
countryborn.value = name
}
@@ -246,7 +246,8 @@ export default defineComponent({
submitOk,
errorMsg,
allowSubmit,
signup,
v$,
}
}

View File

@@ -150,13 +150,6 @@
:label="$t('reg.nationality')">
<template v-slot:prepend>
<vue-country-code
@onSelect="selectcountry"
:preferredCountries="tools.getprefCountries"
:dropdownOptions="{ disabledDialCode: true }"
>
</vue-country-code>
</template>
</q-input>
@@ -238,13 +231,7 @@
:label="$t('reg.nationality_born')">
<template v-slot:prepend>
<vue-country-code
@onSelect="selectcountryborn"
:preferredCountries="tools.getprefCountries"
:dropdownOptions="{ disabledDialCode: true }"
>
</vue-country-code>
</template>
</q-input>

View File

@@ -54,6 +54,7 @@ const msg_website_it = {
need_Telegram: 'Per poter utilizzare la Piattaforma occorre avere <a href="https://play.google.com/store/apps/details?id=org.telegram.messenger" target="_blank">Telegram</a> installato<br>',
Registrazione_Con_Bot: '1) Copia questo username cliccandoci sopra:',
SignUpIscrizione: 'Diventa Socio CNM',
SignUpArcadei: 'Aderisci ad Arcadei',
SignUp_alreadylista: 'Registrazione per quelli che erano già nella lista di Notevole (del 2019) !',
SignUp2: 'Registrazione',
SignUpBot: 'Registrati',

View File

@@ -823,6 +823,18 @@ const baseroutes: IListRoutes[] = [
inmenu: true,
infooter: true
},
{
active: true,
order: 55,
path: '/iscrizione',
materialIcon: 'how_to_reg',
name: 'pages.SignUpArcadei',
component: () => import('@/views/login/iscrizionearcadei/iscrizionearcadei.vue'),
inmenu: true,
infooter: true,
separator: false,
onlyNotSoci: false,
},
{
active: true,
order: 1000,

View File

@@ -71,6 +71,16 @@ export interface IContribtype {
showprice: boolean
}
export interface ILabelValue {
_id: any
label: string
value: number
}
export interface IValue {
value: number
}
export enum EState {
None, Creating, Modifying,
}

View File

@@ -1,4 +1,6 @@
import { IUserProfile } from '@src/model/UserStore'
import { ILabelValue } from '@model/Calendar'
import { IValue } from '@model/Calendar'
export interface ISignupOptions {
email?: string
@@ -56,6 +58,7 @@ export interface ISignupIscrizioneArcadeiOptions {
name?: string
surname?: string
email?: string
email2?: string
fiscalcode?: string
residency_address?: string
residency_city?: string
@@ -69,7 +72,11 @@ export interface ISignupIscrizioneArcadeiOptions {
born_province?: string
born_country?: string
cell_phone?: string
newsletter_on?: boolean
cell_phone2?: string
doctype?: string
documentnumber?: string
categorie_interesse?: any[]
quota_versata?: boolean
accetta_carta_costituzionale_on?: boolean
metodo_pagamento?: number
iscrizione_compilata?: boolean
@@ -79,9 +86,6 @@ export interface ISignupIscrizioneArcadeiOptions {
numTesseraInterna?: number
biografia?: string
motivazioni?: string
competenze_professionalita?: string
cosa_potrei_offrire?: string
cosa_vorrei_ricevere?: string
altre_comunicazioni?: string
come_ci_hai_conosciuto?: string
terms?: boolean

View File

@@ -14,13 +14,20 @@ import MixinBase from '@src/mixins/mixin-base'
import { IParamsQuery, ISignupIscrizioneArcadeiOptions, ISignupIscrizioneConacreisOptions } from '@src/model'
import { shared_consts } from '@src/common/shared_vuejs'
import { tools } from '@store/Modules/tools'
import { useGlobalStore } from '@store/globalStore'
import { useQuasar } from 'quasar'
import { useI18n } from '@/boot/i18n'
export default defineComponent({
name: 'Iscrittiarcadei',
components: { CImgText, CCard, CMyPage, CTitleBanner, CGridTableRec },
setup(props) {
const userStore = useUserStore()
const globalStore = useGlobalStore()
const $q = useQuasar()
const { t } = useI18n()
const arrfilterand: any = ref([])
const myrec: any = ref([])
@@ -34,8 +41,7 @@ export default defineComponent({
const myfilter = ref('')
function mounted()
{
function mounted() {
arrfilterand.value = [
{
label: 'Manca il pagamento',
@@ -53,13 +59,7 @@ export default defineComponent({
}
function getcolIscrittiArcadei()
{
return colTableIscrittiArcadei
}
function loadrec(): ISignupIscrizioneArcadeiOptions[]
{
function loadrec(): any {
const sortBy = 'numshared'
const descending = 1
const myobj: any = {}
@@ -86,10 +86,8 @@ export default defineComponent({
})
}
async function exportLista()
{
myrec = await loadrec()
async function exportLista() {
const myrecload = await loadrec()
const sep = ';'
@@ -100,7 +98,7 @@ export default defineComponent({
+ 'localita' + sep + 'Prov' + sep + 'cap' + sep + 'nazione_nascita' + sep + 'data_nascita' + sep
+ 'luogo_nascita' + sep + 'provincia_nascita' + sep + 'email' + sep + 'telefono' + sep + 'quota_versata' + '\n'
let index = 1
for (const rec of myrec) {
for (const rec of myrecload) {
mystr += rec.annoTesseramento + sep
mystr += (!!rec.numTesseraInterna ? rec.numTesseraInterna : ' ') + sep
mystr += (!!rec.codiceConacreis ? rec.codiceConacreis + sep : ' ') + sep
@@ -128,13 +126,21 @@ export default defineComponent({
index++
}
tools.copyStringToClipboard(this, mystr, false)
tools.copyStringToClipboard($q, mystr, false)
}
savefilter(filter: any)
function savefilter(filter: any)
{
console.log('filter', filter)
myfilter.value = filter
}
onMounted(mounted)
return {
savefilter,
exportLista,
colTableIscrittiArcadei,
}
}
})

View File

@@ -1,15 +1,6 @@
<template>
<CMyPage title="Iscritti Arcadei" imgbackground="../../statics/images/iscritti_conacreis.jpg"
sizes="max-height: 120px">
<span>{{
setmeta({
title: 'Iscritti Arcadei',
description: "",
keywords: ''
})
}}
</span>
<div class="q-ma-sm q-gutter-sm q-pa-xs">
<CTitleBanner title="Iscritti Arcadei"></CTitleBanner>
@@ -27,7 +18,7 @@
<CGridTableRec prop_mytable="iscrittiarcadei"
prop_mytitle="Iscritti Arcadei"
:prop_mycolumns="getcolIscrittiArcadei"
:prop_mycolumns="colTableIscrittiArcadei"
prop_colkey="name"
nodataLabel="Nessun Iscritto Arcadei"
noresultLabel="Il filtro selezionato non ha trovato nessun risultato"

View File

@@ -454,11 +454,15 @@ const msg_it = {
iscrizioneincorso: 'Iscrizione in corso...',
richiesto: 'Campo Richiesto',
email: 'Email',
email2: 'Altra Email (eventuale)',
email_reg: 'la tua Email',
website: 'Sito Web',
link_maplocation: 'Link posizione su mappa',
intcode_cell: 'Prefisso Int.',
cell: 'Cellulare',
cell2: 'Altro telefono',
phone: 'Telefono',
phone2: 'Altro telefono (eventuale)',
cellreg: 'Cellulare con cui ti eri registrato',
nationality: 'Paese di Nascita',
email_paypal: 'Email Paypal',
@@ -511,6 +515,8 @@ const msg_it = {
repeatPassword: 'Ripeti password',
terms: 'Accetto i termini della privacy',
metodopagamento: 'Metodo di Pagamento',
doctype: 'In quale documento ti identifichi?',
documentnumber: 'Numero / Rif / Prot del Documento (Opzionale)',
onlyadult: 'Confermo di essere Maggiorenne',
submit: 'Registrati',
title_verif_reg: 'Verifica Registrazione',
@@ -543,9 +549,12 @@ const msg_it = {
nationality_born: 'Paese di Nascita',
iscrizione_compilata: 'Iscritto',
metodo_pagamento: 'Pagam',
quota_versata: 'Scegli la quota da versare',
ha_pagato: 'Quota Versata',
newsletter_on: 'Aggiungimi alla Newsletter',
accetta_carta_costituzionale_on: 'Ho letto ed Approvo il Progetto',
acconsento: 'Acconsento affinchè il Comitato conservi con diligente cura questi miei dati personali',
cat_interesse: 'Categorie di tuo interesse',
iscriviti: 'Iscriviti',
motivazioni: 'Motivazioni sul perchè intendi iscriverti alla CNM:',
biografia: 'Biografia',
@@ -553,6 +562,7 @@ const msg_it = {
cosa_potrei_offrire: 'Cosa potresti offrire?',
cosa_vorrei_ricevere: 'Cosa vorresti ricevere? (cosa ti aspetti?)',
altre_comunicazioni: 'Scrivi altre eventuali informazioni o comunicazioni:',
riflessioni: 'Mie riflessioni, consigli e proposte:',
come_ci_hai_conosciuto: 'Come ci hai conosciuto?',
photo: 'Foto',
images: 'Immagini',

View File

@@ -282,9 +282,86 @@ export const tools = {
},
{
id: 3,
label: 'In Contanti alla CNM',
label: 'In Contanti',
value: 3,
},
{
id: 4,
label: 'Altro',
value: 4,
},
],
SelectQuotaVersata: [
{
id: 1,
label: '21 €',
value: 21,
},
{
id: 2,
label: '34 €',
value: 34,
},
{
id: 3,
label: '55 €',
value: 55,
},
{
id: 4,
label: '89 €',
value: 114,
},
{
id: 5,
label: '144 €',
value: 144,
},
{
id: 6,
label: '233 €',
value: 233,
},
{
id: 7,
label: '377 €',
value: 377,
},
],
SelectDocType: [
{
id: 0,
label: 'Nessuno',
value: 0,
},
{
id: 1,
label: 'L.R.',
value: 1,
},
{
id: 2,
label: 'C.I.',
value: 2,
},
{
id: 3,
label: 'Passaporto',
value: 3,
},
{
id: 4,
label: 'Patente',
value: 4,
},
{
id: 5,
label: 'Autodichiarazione',
value: 5,
},
],
SelectListNumPeople: [

View File

@@ -1,10 +1,20 @@
import { defineStore } from 'pinia'
import {
ICircuit, IMyCircuit,
IFriends, IMsgGlobParam,
ICircuit,
IMyCircuit,
IFriends,
IMsgGlobParam,
ISigninOptions,
ISignupOptions, IUserFields, IUserNotifType, IUserProfile, IUserState, IAccount, IColGridTable, ISignupIscrizioneConacreisOptions,
ISignupOptions,
IUserFields,
IUserNotifType,
IUserProfile,
IUserState,
IAccount,
IColGridTable,
ISignupIscrizioneConacreisOptions,
ISignupIscrizioneArcadeiOptions,
} from '@src/model'
import { tools } from '@store/Modules/tools'
import translate from '@src/globalroutines/util'

View File

@@ -0,0 +1,12 @@
.signup {
width: 100%;
margin: 0 auto;
max-width: 450px;
}
.wrapper {
display: flex;
align-items: center;
justify-content: center;
}

View File

@@ -0,0 +1,43 @@
import { defineComponent, ref, computed } from 'vue'
import { useI18n } from '@src/boot/i18n'
import { useUserStore } from '@store/UserStore'
import { useGlobalStore } from '@store/globalStore'
import { useQuasar } from 'quasar'
import { CMyPage } from '../../../components/CMyPage'
import { LandingFooter } from '../../../components/LandingFooter'
import { CTitleBanner } from '../../../components/CTitleBanner'
import { CSignUpIscrizioneArcadei } from '@/components/CSignUpIscrizioneArcadei'
export default defineComponent({
name: 'Iscrizionearcadei',
props: {
mystr: {
type: String,
required: true,
default: '',
},
myval: {
type: Number,
required: true,
default: 0,
},
mybool: {
type: Boolean,
required: true,
default: false,
},
},
components: { CSignUpIscrizioneArcadei, CMyPage, LandingFooter, CTitleBanner },
setup(props, { emit }) {
const userStore = useUserStore()
function isSocio() {
return userStore.my.profile.socio
}
return {
isSocio,
}
}
})

View File

@@ -0,0 +1,26 @@
<template>
<div>
<CMyPage mypath="/diventa_socio">
</CMyPage>
<CTitleBanner v-if="isSocio()" title="Nota: Ci risulta che sei già Socio Iscritto !"
bgcolor="bg-positive"
clcolor="text-white"></CTitleBanner>
<q-page padding>
<div class="signup">
<CSignUpIscrizioneArcadei>
</CSignUpIscrizioneArcadei>
</div>
<LandingFooter></LandingFooter>
</q-page>
</div>
</template>
<script lang="ts" src="./iscrizionearcadei.ts">
</script>
<style lang="scss" scoped>
@import './iscrizionearcadei.scss';
</style>

View File

@@ -7,7 +7,7 @@ import { useQuasar } from 'quasar'
import { CMyPage } from '../../../components/CMyPage'
import { LandingFooter } from '../../../components/LandingFooter'
import { CTitleBanner } from '../../../components/CTitleBanner'
import { CSignUpIscrizioneConacreis } from '@/components/CSignUpIscrizioneConacreis'
export default defineComponent({
name: 'Iscrizioneconacreis',