- fix: se salvavo un record 'settable' e non era completo con tutti i campi, andava a troncare gli altri precedentemente inseriti
- ordinamento Circuiti per stato e numiscritti e descr
This commit is contained in:
@@ -1042,6 +1042,7 @@ export default defineComponent({
|
||||
mycities: 1,
|
||||
sector: 1,
|
||||
recCatGrp: 1,
|
||||
|
||||
}
|
||||
},
|
||||
lookup3: {
|
||||
|
||||
@@ -17,8 +17,10 @@ import { useCircuitStore } from '@store/CircuitStore'
|
||||
|
||||
export default defineComponent({
|
||||
name: 'CMyProfileTutorial',
|
||||
components: { CSendCoins, CSaldo, CUserInfoAccount,
|
||||
CMySelectCity, CMyFieldRec, CMySelect },
|
||||
components: {
|
||||
CSendCoins, CSaldo, CUserInfoAccount,
|
||||
CMySelectCity, CMyFieldRec, CMySelect
|
||||
},
|
||||
emits: ['setCmd'],
|
||||
props: {
|
||||
mycontact: {
|
||||
@@ -43,7 +45,7 @@ export default defineComponent({
|
||||
const $route = useRoute()
|
||||
|
||||
const showAccountInfo = ref(false)
|
||||
const slide = ref('1')
|
||||
const slidestep = ref('1')
|
||||
|
||||
const username = ref('')
|
||||
const showsendCoinTo = ref(false)
|
||||
@@ -51,6 +53,25 @@ export default defineComponent({
|
||||
const contact = ref(<IUserFields | null>null)
|
||||
const circuit = ref(<ICircuit | null | undefined>null)
|
||||
|
||||
const arrStep = [
|
||||
{
|
||||
label: t('tutorial.step_residence_title'),
|
||||
checkOk: function () { return contact.value ? !!contact.value.profile.resid_province : false },
|
||||
step: '1',
|
||||
icon: 'house'
|
||||
}
|
||||
]
|
||||
|
||||
const numstep = computed(() => arrStep.length)
|
||||
|
||||
const progressStep = computed(() => {
|
||||
let prStep = 0
|
||||
|
||||
return prStep / numstep.value
|
||||
})
|
||||
|
||||
const progressLabel = computed(() => (progressStep.value * 100).toFixed(2) + '%')
|
||||
|
||||
watch(() => props.mycontact, (newval, oldval) => {
|
||||
console.log('watch: mycontact')
|
||||
mounted()
|
||||
@@ -87,17 +108,21 @@ export default defineComponent({
|
||||
emit('setCmd', $q, cmd, myusername, value, dest)
|
||||
}
|
||||
|
||||
function getLabelByStatusStep(step: string) {
|
||||
let mystr = ''
|
||||
|
||||
return mystr
|
||||
|
||||
}
|
||||
|
||||
const checkifDisabled = computed(() => {
|
||||
let ret = true
|
||||
if (slide.value === '1') {
|
||||
// Invitante + Email
|
||||
} else if (slide.value === '2') {
|
||||
// Username
|
||||
} else if (slide.value === '3') {
|
||||
// Password
|
||||
let mystep = parseInt(slidestep.value)
|
||||
if (mystep > 0) {
|
||||
return !arrStep[mystep - 1].checkOk()
|
||||
} else {
|
||||
return false
|
||||
}
|
||||
|
||||
return ret
|
||||
})
|
||||
|
||||
onMounted(mounted)
|
||||
@@ -114,7 +139,10 @@ export default defineComponent({
|
||||
showsendCoinTo,
|
||||
circuit,
|
||||
showAccountInfo,
|
||||
slide,
|
||||
slidestep,
|
||||
numstep,
|
||||
progressLabel,
|
||||
arrStep,
|
||||
}
|
||||
},
|
||||
})
|
||||
|
||||
@@ -1,22 +1,42 @@
|
||||
<template>
|
||||
<div v-if="contact">
|
||||
<div class="q-gutter-md">
|
||||
<div class="text-center bg-green text-white text-h6">
|
||||
{{ $t('tutorial.title') }} -
|
||||
<span class="text-h7"
|
||||
>({{
|
||||
$t('tutorial.step', { step: slidestep, numstep: numstep })
|
||||
}})</span
|
||||
>
|
||||
</div>
|
||||
<q-linear-progress size="25px" :value="progressStep" color="accent">
|
||||
<div class="absolute-full flex flex-center">
|
||||
<q-badge color="white" text-color="accent" :label="progressLabel1" />
|
||||
</div>
|
||||
</q-linear-progress>
|
||||
|
||||
<div class="q-gutter-sm">
|
||||
<q-carousel
|
||||
v-model="slide"
|
||||
ref="carousel"
|
||||
v-model="slidestep"
|
||||
transition-prev="slide-right"
|
||||
transition-next="slide-left"
|
||||
swipeable
|
||||
animated
|
||||
control-color="white"
|
||||
navigation
|
||||
padding
|
||||
arrows
|
||||
height="200px"
|
||||
class="text-white shadow-1 rounded-borders"
|
||||
height="250px"
|
||||
class="bg-blue text-white shadow-1 rounded-borders"
|
||||
>
|
||||
<q-carousel-slide name="1" class="column no-wrap flex-center">
|
||||
<q-icon name="house" size="56px" />
|
||||
<div class="q-mt-sm text-center">
|
||||
<q-carousel-slide
|
||||
v-for="(recstep, index) in arrStep"
|
||||
:key="index"
|
||||
:name="recstep.step"
|
||||
class="column no-wrap flex-center"
|
||||
>
|
||||
<q-icon :name="recstep.icon" size="36px" />
|
||||
<div class="q-mt-sm text-center"></div>
|
||||
<div v-if="recstep.step === '1'" class="q-mt-sm text-center">
|
||||
<CMySelectCity
|
||||
:label="$t('reg.resid_province')"
|
||||
table="users"
|
||||
@@ -32,18 +52,7 @@
|
||||
</CMySelectCity>
|
||||
</div>
|
||||
</q-carousel-slide>
|
||||
<q-carousel-slide name="2" class="column no-wrap flex-center">
|
||||
<q-icon name="live_tv" size="56px" />
|
||||
<div class="q-mt-md text-center"></div>
|
||||
</q-carousel-slide>
|
||||
<q-carousel-slide name="3" class="column no-wrap flex-center">
|
||||
<q-icon name="layers" size="56px" />
|
||||
<div class="q-mt-md text-center"></div>
|
||||
</q-carousel-slide>
|
||||
<q-carousel-slide name="4" class="column no-wrap flex-center">
|
||||
<q-icon name="terrain" size="56px" />
|
||||
<div class="q-mt-md text-center"></div>
|
||||
</q-carousel-slide>
|
||||
|
||||
<template v-slot:control>
|
||||
<q-carousel-control
|
||||
position="bottom-right"
|
||||
@@ -51,17 +60,15 @@
|
||||
class="q-gutter-xs"
|
||||
>
|
||||
<q-btn
|
||||
v-if="slide !== '1'"
|
||||
v-if="slidestep !== '1'"
|
||||
push
|
||||
text-color="black"
|
||||
icon="arrow_left"
|
||||
:label="$t('dialog.indietro')"
|
||||
@click="$refs.carousel.previous()"
|
||||
/>
|
||||
<q-btn
|
||||
v-if="slide !== '4'"
|
||||
v-if="slidestep !== '4'"
|
||||
push
|
||||
color="primary"
|
||||
icon="arrow_right"
|
||||
:label="$t('dialog.avanti')"
|
||||
:disabled="checkifDisabled"
|
||||
@@ -73,7 +80,7 @@
|
||||
<div class="row justify-center">
|
||||
<q-btn-toggle
|
||||
glossy
|
||||
v-model="slide"
|
||||
v-model="slidestep"
|
||||
:options="[
|
||||
{ label: '1', value: '1' },
|
||||
{ label: 2, value: '2' },
|
||||
|
||||
@@ -24,7 +24,6 @@
|
||||
:input-class="myclass"
|
||||
:options="valori"
|
||||
:option-value="optval"
|
||||
options-selected-class="text-deep-blue"
|
||||
:class="myclass ? myclass : 'combowidth'"
|
||||
style="min-width: 250px !important"
|
||||
>
|
||||
@@ -91,7 +90,6 @@
|
||||
map-options
|
||||
:behavior="$q.platform.is.ios === true ? 'dialog' : 'menu'"
|
||||
@filter="filterFn"
|
||||
options-selected-class="text-deep-blue"
|
||||
v-bind="$attrs"
|
||||
>
|
||||
<template v-if="getIcon()" v-slot:prepend>
|
||||
@@ -133,11 +131,12 @@
|
||||
emit-value
|
||||
stack-label
|
||||
:options="valori"
|
||||
options-selected-class="text-deep-blue"
|
||||
:option-value="optval"
|
||||
:option-label="optlab"
|
||||
:dense="dense">
|
||||
|
||||
<!--options-selected-class="text-deep-blue"-->
|
||||
|
||||
<template v-if="getIcon()" v-slot:prepend>
|
||||
<q-icon :name="getIcon()" />
|
||||
</template>
|
||||
@@ -193,7 +192,6 @@
|
||||
@new-value="newvaluefuncfirst"
|
||||
emit-value
|
||||
input-debounce="0"
|
||||
options-selected-class="text-deep-blue"
|
||||
map-options
|
||||
v-bind="$attrs"
|
||||
:class="myclass ? myclass : 'combowidth'">
|
||||
|
||||
@@ -6,17 +6,12 @@
|
||||
v-model="myvalue"
|
||||
:pickup="false"
|
||||
:addnone="true"
|
||||
:dense="false"
|
||||
:tablesel="table"
|
||||
:myclass="myclass"
|
||||
:optval="fieldsTable.getKeyByTable(jointable)"
|
||||
:optlab="fieldsTable.getLabelByTable(jointable)"
|
||||
:options="
|
||||
globalStore.getTableJoinByName(
|
||||
jointable,
|
||||
false,
|
||||
false,
|
||||
''
|
||||
)"
|
||||
:options="globalStore.getTableJoinByName(jointable, false, false, '')"
|
||||
:useinput="false"
|
||||
@update:value="changevalRec"
|
||||
>
|
||||
|
||||
@@ -4,9 +4,9 @@
|
||||
<p class="text-subtitle1">Privacy Policy di {{url}}</p>
|
||||
<p class="text-subtitle1">Informativa sul trattamento dei dati personali ai sensi dell’art. 13 del
|
||||
Regolamento
|
||||
(UE) n. 2016/679</p>
|
||||
(UE) n. 2003 n.196</p>
|
||||
|
||||
<p>Ai sensi dell’art. 13 del Regolamento (UE) n. 2016/679, anche denominato General Data Protection
|
||||
<p>Ai sensi dell’art. 13 del Regolamento (UE) n. 2003 n.196, anche denominato General Data Protection
|
||||
Regulation
|
||||
(di seguito il “GDPR“), {{SiteName}} La informa che i Suoi dati personali (di seguito i “Dati“),
|
||||
saranno trattati nel rispetto di quanto previsto dal GDPR e di ogni normativa applicabile in riferimento
|
||||
@@ -114,9 +114,9 @@
|
||||
<div v-else-if="toolsext.isLang('fr')">
|
||||
<p class="text-subtitle1">Politique de confidentialité de {{url}}</p>
|
||||
<p class="text-subtitle1">Information sur le traitement des données personnelles conformément à l'article 13 du
|
||||
Code civil italien Règlement (UE) n° 2016/679.</p>
|
||||
Code civil italien Règlement (UE) n° 2003 n.196.</p>
|
||||
|
||||
<p>En vertu de l'article 13 du règlement (UE) n° 2016/679, également appelé protection générale des données
|
||||
<p>En vertu de l'article 13 du règlement (UE) n° 2003 n.196, également appelé protection générale des données
|
||||
Règlement
|
||||
(ci-après le "GDPR"), {{SiteName}}} Nous vous informons que vos données personnelles (ci-après dénommées les
|
||||
"Données"),
|
||||
@@ -224,9 +224,9 @@
|
||||
<div v-else-if="toolsext.isLang('es')">
|
||||
<p class="text-subtitle1">Política de privacidad de {{url}}</p>
|
||||
<p class="text-subtitle1">Información sobre el procesamiento de datos personales de conformidad con el art.
|
||||
13 del Reglamento (UE) n. 2016/679</p>
|
||||
13 del Reglamento (UE) n. 2003 n.196</p>
|
||||
|
||||
<p>Según el art. 13 del Reglamento (UE) n. 2016/679, también llamado Reglamento general de protección de
|
||||
<p>Según el art. 13 del Reglamento (UE) n. 2003 n.196, también llamado Reglamento general de protección de
|
||||
datos (de seguido del "RGPD"), {{SiteName}} le informa que sus datos personales (en adelante, los
|
||||
"Datos"), será tratado de conformidad con las disposiciones del GDPR y cualquier legislación
|
||||
aplicable con referencia a procesamiento de datos personales de acuerdo con la siguiente
|
||||
@@ -353,9 +353,9 @@
|
||||
<p class="text-subtitle1">Privacy Policy {{url}}</p>
|
||||
<p class="text-subtitle1">Information on the processing of personal data in accordance with art. 13 of the
|
||||
Regulation
|
||||
(EU) No 2016/679</p>
|
||||
(EU) No 2003 n.196</p>
|
||||
|
||||
<p>In accordance with art. 13 of Regulation (EU) no. 2016/679, also called General Data Protection
|
||||
<p>In accordance with art. 13 of Regulation (EU) no. 2003 n.196, also called General Data Protection
|
||||
Regulation
|
||||
(hereinafter the "GDPR"), {{SiteName}}} informs you that your personal data (hereinafter the "Data"),
|
||||
will be treated in compliance with the provisions of the GDPR and any applicable legislation in reference to
|
||||
|
||||
@@ -1437,6 +1437,13 @@ const msg_it = {
|
||||
people: 'Inv.',
|
||||
peoplelegend: 'Numero d\'Invitati',
|
||||
},
|
||||
|
||||
tutorial: {
|
||||
title: 'Completa il tuo Profilo',
|
||||
step: 'passo {step} su {numstep}',
|
||||
|
||||
step_residence_title: 'Provincia',
|
||||
},
|
||||
},
|
||||
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user