- Iscrizione Conacreis
- Ordini - Carrello
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
import moment from 'moment'
|
||||
import 'moment/locale/fr'
|
||||
moment.locale('fr')
|
||||
import 'moment/locale/it'
|
||||
moment.locale('it')
|
||||
|
||||
const monthsStrings = ['Janvier', 'Fevrier', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre']
|
||||
const monthsStrings = ['Gennaio', 'Febbraio', 'Marzo', 'Aprile', 'Maggio', 'Giugno', 'Luglio', 'Agosto', 'Settembre', 'Ottobre', 'Novembre', 'Dicembre']
|
||||
|
||||
export class DateMoving {
|
||||
public date: moment.Moment
|
||||
|
||||
@@ -67,9 +67,9 @@ export const shared_consts = {
|
||||
icon: 'fas fa-user-tie',
|
||||
color: 'fuchsia'
|
||||
},
|
||||
Traduttrici: {
|
||||
Editor: {
|
||||
value: 16,
|
||||
label: 'dashboard.traduttrici',
|
||||
label: 'dashboard.Editor',
|
||||
icon: 'fas fa-user-tie',
|
||||
color: 'orange'
|
||||
},
|
||||
@@ -163,6 +163,14 @@ export const shared_consts = {
|
||||
CANCELED: 10
|
||||
},
|
||||
|
||||
OrderStatusView: [
|
||||
2,
|
||||
3,
|
||||
4,
|
||||
6,
|
||||
10
|
||||
],
|
||||
|
||||
OrderStatusStr: [
|
||||
{
|
||||
label: 'Nessuno',
|
||||
@@ -173,7 +181,7 @@ export const shared_consts = {
|
||||
value: 1
|
||||
},
|
||||
{
|
||||
label: 'Ordine Inviato',
|
||||
label: 'Ordine in Lavorazione',
|
||||
value: 2
|
||||
},
|
||||
{
|
||||
|
||||
@@ -16,6 +16,9 @@ export default class CDate extends Vue {
|
||||
@Prop({ required: false, default: false }) public readonly!: boolean
|
||||
@Prop({ required: false, default: false }) public disable!: boolean
|
||||
@Prop({ required: false, default: '' }) public color!: string
|
||||
@Prop({ required: false, default: false }) public rounded!: boolean
|
||||
@Prop({ required: false, default: false }) public outlined!: boolean
|
||||
@Prop({ required: false, default: true }) public dense!: boolean
|
||||
|
||||
public mystyleicon: string = 'font-size: 1.5rem;'
|
||||
|
||||
@@ -41,7 +44,7 @@ export default class CDate extends Vue {
|
||||
const datavalida = tools.convertstrtoDate(value)
|
||||
if (!!datavalida) {
|
||||
this.valueInternal = datavalida
|
||||
console.log('EMIT: changedate', datavalida)
|
||||
console.log('EMIT: changedate', datavalida.toString())
|
||||
this.$emit('input', this.getDate())
|
||||
} else {
|
||||
console.log(' DATA NON VALIDAAAAAAAAAAAAA ', value, datavalida)
|
||||
@@ -50,7 +53,9 @@ export default class CDate extends Vue {
|
||||
}
|
||||
|
||||
get getdatestring() {
|
||||
return tools.getstrDate(this.valueInternal)
|
||||
const mydate = tools.getstrDate(this.valueInternal)
|
||||
console.log('getdatestring', mydate)
|
||||
return mydate
|
||||
}
|
||||
get getdateyymmddstring() {
|
||||
return tools.getstrYYMMDDDate(this.valueInternal)
|
||||
|
||||
@@ -1,18 +1,22 @@
|
||||
<template>
|
||||
<q-input :class="data_class" :bg-color="color" :readonly="readonly" :disable="disable" debounce="1000" dense :value="getdatestring" stack-label :label="label" @input="changedate">
|
||||
<template v-slot:append>
|
||||
<q-icon name="event" class="cursor-pointer" :style="mystyleicon">
|
||||
<q-popup-proxy v-if="!readonly" ref="datePicker">
|
||||
<q-date :value="getdateyymmddstring" today-btn @input="changedate"></q-date>
|
||||
</q-popup-proxy>
|
||||
</q-icon>
|
||||
</template>
|
||||
</q-input>
|
||||
<q-input :class="data_class" :bg-color="color" :readonly="readonly" :disable="disable" debounce="1000" :dense="dense"
|
||||
:value="getdatestring" stack-label :label="label" @input="changedate" :rounded="rounded"
|
||||
mask="##/##/####"
|
||||
fill-mask
|
||||
:outlined="outlined">
|
||||
<template v-slot:append>
|
||||
<q-icon name="event" class="cursor-pointer" :style="mystyleicon">
|
||||
<q-popup-proxy v-if="!readonly" ref="datePicker">
|
||||
<q-date :value="getdateyymmddstring" today-btn @input="changedate"></q-date>
|
||||
</q-popup-proxy>
|
||||
</q-icon>
|
||||
</template>
|
||||
</q-input>
|
||||
</template>
|
||||
|
||||
<script lang="ts" src="./CDate.ts">
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import './CDate.scss';
|
||||
@import './CDate.scss';
|
||||
</style>
|
||||
|
||||
@@ -76,6 +76,7 @@ export default class CEventsCalendar extends MixinEvents {
|
||||
numpeople: 1,
|
||||
numpeopleLunch: 0,
|
||||
numpeopleDinner: 0,
|
||||
numpeopleDinnerShared: 0,
|
||||
datebooked: tools.getDateNow(),
|
||||
booked: false,
|
||||
modified: false
|
||||
@@ -347,6 +348,7 @@ export default class CEventsCalendar extends MixinEvents {
|
||||
return (this.bookEventpage.bookedevent.numpeople !== this.bookEventForm.numpeople) ||
|
||||
(this.bookEventpage.bookedevent.numpeopleLunch !== this.bookEventForm.numpeopleLunch) ||
|
||||
(this.bookEventpage.bookedevent.numpeopleDinner !== this.bookEventForm.numpeopleDinner) ||
|
||||
(this.bookEventpage.bookedevent.numpeopleDinnerShared !== this.bookEventForm.numpeopleDinnerShared) ||
|
||||
(this.bookEventpage.bookedevent.msgbooking !== this.bookEventForm.msgbooking) ||
|
||||
(this.bookEventpage.bookedevent.booked !== this.bookEventForm.booked)
|
||||
}
|
||||
@@ -470,6 +472,7 @@ export default class CEventsCalendar extends MixinEvents {
|
||||
this.bookEventForm.numpeople = 1
|
||||
this.bookEventForm.numpeopleLunch = 0
|
||||
this.bookEventForm.numpeopleDinner = 0
|
||||
this.bookEventForm.numpeopleDinnerShared = 0
|
||||
this.bookEventForm.booked = true
|
||||
this.bookEventpage.state = EState.Creating
|
||||
|
||||
@@ -696,6 +699,7 @@ export default class CEventsCalendar extends MixinEvents {
|
||||
this.bookEventForm.numpeople = bookedevent.numpeople
|
||||
this.bookEventForm.numpeopleLunch = bookedevent.numpeopleLunch
|
||||
this.bookEventForm.numpeopleDinner = bookedevent.numpeopleDinner
|
||||
this.bookEventForm.numpeopleDinnerShared = bookedevent.numpeopleDinnerShared
|
||||
this.bookEventForm.infoevent = bookedevent.infoevent
|
||||
this.bookEventForm.msgbooking = bookedevent.msgbooking
|
||||
this.bookEventForm.booked = bookedevent.booked
|
||||
@@ -750,6 +754,7 @@ export default class CEventsCalendar extends MixinEvents {
|
||||
numpeople: self.bookEventForm.numpeople,
|
||||
numpeopleLunch: self.bookEventForm.numpeopleLunch,
|
||||
numpeopleDinner: self.bookEventForm.numpeopleDinner,
|
||||
numpeopleDinnerShared: self.bookEventForm.numpeopleDinnerShared,
|
||||
infoevent: tools.gettextevent(self, myevent),
|
||||
msgbooking: self.bookEventForm.msgbooking,
|
||||
booked: self.bookEventForm.booked,
|
||||
@@ -758,6 +763,7 @@ export default class CEventsCalendar extends MixinEvents {
|
||||
}
|
||||
|
||||
this.BookEvent(data).then((ris) => {
|
||||
console.log('ris uscita di BookEvent', ris)
|
||||
if (ris)
|
||||
tools.showPositiveNotif(self.$q, self.$t('cal.booked') + ' ' + self.$t('cal.event') + ' "' + myevent.title + '"')
|
||||
else
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div class="landing">
|
||||
<div v-if="!tools.IsLogged()">
|
||||
<div v-if="!tools.IsLogged() && (!mysingleevent)">
|
||||
<div class="centermydiv">
|
||||
<q-banner class="bg-secondary text-white">
|
||||
Il Calendario sarà visibile solo dopo aver effettuato l'accesso
|
||||
@@ -210,6 +210,8 @@
|
||||
:label="$t('event.lunchAvailable')"></q-checkbox>
|
||||
<q-checkbox class="myflex wrap" dense v-model="eventForm.dinnerAvailable"
|
||||
:label="$t('event.dinnerAvailable')"></q-checkbox>
|
||||
<q-checkbox class="myflex wrap" dense v-model="eventForm.dinnerSharedAvailable"
|
||||
:label="$t('event.dinnerSharedAvailable')"></q-checkbox>
|
||||
<q-checkbox class="myflex wrap" dense v-model="eventForm.news"
|
||||
:label="$t('event.news')"></q-checkbox>
|
||||
<q-checkbox class="myflex wrap" dense v-model="eventForm.nobookable"
|
||||
@@ -297,7 +299,7 @@
|
||||
<q-card-section class="inset-shadow">
|
||||
<q-img :src="getImgEvent(myevent)"
|
||||
class="absolute-top"
|
||||
style="height: 150px;"
|
||||
style="height: 200px;"
|
||||
:alt="myevent.title">
|
||||
</q-img>
|
||||
<div style="margin-top: 150px;">
|
||||
@@ -350,7 +352,7 @@
|
||||
<div v-if="myevent.dinnerAvailable" class="q-px-xs centermydiv" style="display: inline-flex; ">
|
||||
<div style="display: inline-flex; " class="q-px-xs centermydiv">
|
||||
<div class="itemprenota">{{ $t('cal.selnumpeopleDinner') }}</div>
|
||||
<div class="q-gutter-xs " style="min-width: 140px; margin-left: 10px;">
|
||||
<div class="q-gutter-xs " style="min-width: 180px; margin-left: 10px;">
|
||||
<q-select
|
||||
rounded outlined v-model="bookEventForm.numpeopleDinner"
|
||||
:options="tools.SelectListNumPeople"
|
||||
@@ -359,6 +361,18 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="myevent.dinnerSharedAvailable" class="q-px-xs centermydiv" style="display: inline-flex; ">
|
||||
<div style="display: inline-flex; " class="q-px-xs centermydiv">
|
||||
<div class="itemprenota">{{ $t('cal.selnumpeopleDinnerShared') }}</div>
|
||||
<div class="q-gutter-xs " style="min-width: 180px; margin-left: 10px;">
|
||||
<q-select
|
||||
rounded outlined v-model="bookEventForm.numpeopleDinnerShared"
|
||||
:options="tools.SelectListNumPeople"
|
||||
:label="$t('cal.DinnerShared')" emit-value map-options>
|
||||
</q-select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<q-input v-model="bookEventForm.msgbooking" :label="$t('cal.msgbooking')+':'"
|
||||
type="textarea" debounce="500"
|
||||
|
||||
@@ -1,922 +1,11 @@
|
||||
<template>
|
||||
<div>
|
||||
<div v-if="toolsext.isLang('it')">
|
||||
<CTitleBanner title="AYNI GIFT*ECOnomy"></CTitleBanner>
|
||||
<CTitleBanner title=""></CTitleBanner>
|
||||
<CImgText src="">
|
||||
<p class="cltexth3 text-green-8 q-ma-sm"><span
|
||||
class="boldhigh">Movimento di ECOnomia Solidale ~ AYNI GIFT*ECOnomy</span></p>
|
||||
<p>
|
||||
<strong>Ayni</strong> è un movimento di economia solidale. Si basa sulla pratica del
|
||||
<strong>regalo</strong>,
|
||||
del <strong>donare come risorsa e come ricchezza! Dare e donare mi apre al ricevere, crea relazioni
|
||||
basate
|
||||
sull’aiuto e la gratitudine</strong>, non
|
||||
sul profitto.</p>
|
||||
<p>
|
||||
<strong>Ayni</strong> è pensata e creata per permettere alle persone di aiutarsi e sostenersi fra di
|
||||
loro, in
|
||||
modo da realizzare i propri sogni e i propri progetti di vita. È un progetto serio che richiede, a
|
||||
chi ne vuol
|
||||
far parte, di
|
||||
comprendere che questo non è un sistema per guadagnare o un classico fondo di investimento, ma un
|
||||
modo per
|
||||
recuperare quel fattore umano di aiuto reciproco attraverso il continuo sostegno e accompagnamento
|
||||
dei nuovi
|
||||
membri supportati da chi ha già fatto esperienza in questo e in altri movimenti di Economia
|
||||
Solidale,
|
||||
attraverso
|
||||
il fare Rete, creando così <strong>relazioni e esperienze di Valore, generando Ricchezza
|
||||
Reale</strong>.</p>
|
||||
<p class="text-center"><strong>Strumenti necessari per far parte di AYNI</strong></p>
|
||||
<ul class="lista text-center">
|
||||
<li>Cellulare e/o computer</li>
|
||||
<li>App Telegram</li>
|
||||
</ul>
|
||||
<p class="cltexth3 text-red q-ma-lg">Cosa devi fare per poter entrare in <strong>Ayni</strong>?</p>
|
||||
<p class="cltexth3 text-blue q-ma-lg">Fase 1: Accoglienza</p>
|
||||
<ul class="lista">
|
||||
<li>Qualcuno ti ha invitato e ti ha dato il link di accesso al sito <strong>AYNI
|
||||
GIFT*ECOnomy.</strong> e ti
|
||||
sei iscritto.
|
||||
</li>
|
||||
<li>Entri nella chat Telegram <strong>Ayni EMPOWER</strong>, luogo dove ci incontriamo, accogliamo i
|
||||
nuovi
|
||||
invitati,
|
||||
e ci aiutiamo a sostenere e ad espandere la nostra visione e il movimento.
|
||||
</li>
|
||||
<li>
|
||||
Entri nel Canale Telegram <strong>AYNI BIBLIO</strong> che è un canale di informazioni in cui
|
||||
vengono
|
||||
postati
|
||||
comunicati, notizie e novità sul movimento.
|
||||
</li>
|
||||
<li>
|
||||
Infine abbiamo Telegram <strong>AYNI HELP</strong> dove puoi entrare ogni volta che dovessero
|
||||
sorgerti
|
||||
domande
|
||||
o dubbi, trovando un aiuto pratico a tua disposizione.
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<p class="cltexth3 text-blue q-ma-lg">Fase 2: Completamento dei requisiti richiesti</p>
|
||||
<ol class="lista">
|
||||
<li>Leggere ed accettare le nostre Linee Guida e Guardare i Video Introduttivi al Movimento.</li>
|
||||
<li>Attivare almeno <strong>2 metodi di pagamento</strong>.
|
||||
<strong>Revolut, Payeer e Paypal (tramite MoneyBox)</strong> sono quelli maggiormente consigliati.<br>
|
||||
</li>
|
||||
</ol>
|
||||
|
||||
<p class="cltexth3 text-blue q-ma-lg">Fase 3: Lista d'imbarco e partenza della Nave</p>
|
||||
|
||||
<p>In AYNI La sequenza dei passaggi è programmata in anticipo, in modo da:</p>
|
||||
<ul class="lista">
|
||||
<li>garantire che i 3 passi del processo si svolgano nei tempi e nella forma previsti.</li>
|
||||
<li>realizzare e concludere il processo in maniera semplice, godibile e semi-automatizzata.</li>
|
||||
</ul>
|
||||
|
||||
<p>La tua Nave verrà programmata e tu entrerai in una chat coi tuoi compagni di viaggio. Allo stesso
|
||||
tempo,
|
||||
ti verrà comunicata la data in cui la tua Nave salperà, cioè quando potrai donare i 33€ e il
|
||||
nominativo e i
|
||||
dati del Sognatore a cui fare il tuo dono.
|
||||
</p>
|
||||
|
||||
<p class="clBorderImportant" style="border-color: deepskyblue">
|
||||
Le date di programmazione e dei passi sono intese come ‘<em>previsioni di attivazione e di
|
||||
completamento</em>’.
|
||||
Nel caso il flusso di persone e di invitati non consentisse di mantenere e realizzare quanto
|
||||
programmato nei
|
||||
tempi e forma previsti, le date verranno riprogrammate per permettere il completamento di tutti e
|
||||
non lasciare
|
||||
che il
|
||||
viaggio possa interrompersi.
|
||||
</p>
|
||||
|
||||
<p>Nel fare esperienza dei 3 passi incontreremo e transiteremo in 3 personaggi:</p>
|
||||
|
||||
<p style=""><strong>Donatore</strong>: Colui che effettua il Dono di 33€.<br>
|
||||
<strong>Mediatore</strong>: È il ponte, colui che mette in relazione Donatori e Sognatore.<br>
|
||||
<strong>Sognatore</strong>: Colui che manifesta il suo sogno ricevendo i Doni.<br>
|
||||
</p>
|
||||
|
||||
<CTitleBanner title="Visualizza in Anteprima I 3 Passi (clicca qui)" bgcolor="bg-green-5" canopen="true"
|
||||
:visible="false" imgpreview="statics/images/passo_1.jpg">
|
||||
<p>Dal momento in cui conosco il giorno della partenza della mia Nave, i passi da compiere
|
||||
saranno questi:</p>
|
||||
<div class="text-center">
|
||||
<q-img src="statics/images/passo_1.jpg" class="img"></q-img>
|
||||
</div>
|
||||
<p class="grass">Entro nella chat Telegram come Donatore:</p>
|
||||
<p>La chat è formata da 8 donatori e un mediatore.<br>
|
||||
Il mio compito è di regalare 33€ al Sognatore (il mediatore mi guiderà nel processo).<br>
|
||||
Il dono lo farò nella data di attivazione della billetera e del passo 1.</p>
|
||||
<div class="text-center">
|
||||
<q-img src="statics/images/passo_2.jpg" class="img"></q-img>
|
||||
</div>
|
||||
<p class="grass">Apro una chat Telegram e divento Mediatore:</p>
|
||||
<p>La chat è formata da 8 donatori (che aiuterò ad entrare in chat) e da me, il Mediatore.<br>
|
||||
|
||||
Il mio compito è quello di assicurarmi che tutti i Donatori facciano il Dono al Sognatore.
|
||||
Il sistema invierà in automatico le istruzioni per fare il Dono, il Mediatore (io) verificherà e
|
||||
accompagnerà il processo.
|
||||
</p>
|
||||
|
||||
<div class="text-center">
|
||||
<q-img src="statics/images/passo_3.jpg" class="img"></q-img>
|
||||
</div>
|
||||
<p class="grass">Divento Sognatore:</p>
|
||||
<p>La chat dove sono Sognatore è la stessa e con le stesse persone aperta nel passo 2 (dove io ero
|
||||
Mediatore)
|
||||
e anche qui cambiano i ruoli, ovvero ora ci sono 8 mediatori e io, il Sognatore.<br>
|
||||
Il mio compito è quello di aprirmi a ricevere i Doni da ciascun Donatore, completarmi e
|
||||
celebrare
|
||||
l’Abbondanza.<br>
|
||||
<br>
|
||||
</p>
|
||||
|
||||
</CTitleBanner>
|
||||
|
||||
<p class="text-blue-10 q-ma-lg clBorderImportant text-center" style="font-size: 1.15rem;">La Chat
|
||||
Automatica
|
||||
<strong>AYNI BOT</strong> mi invierà tutte le istruzioni che dovrò compiere, al momento opportuno!
|
||||
</p>
|
||||
|
||||
|
||||
<p class="cltexth2 text-green-8 q-ma-lg"><span class="boldhigh">Bene... Ora mettiti comodo, il tuo viaggio è cominciato!</span>
|
||||
</p>
|
||||
class="boldhigh">Movimento </span></p>
|
||||
</CImgText>
|
||||
</div>
|
||||
<div v-else-if="toolsext.isLang('si')">
|
||||
<CTitleBanner title="AYNI DARILO * ECOnomy"></CTitleBanner>
|
||||
<CImgText src="">
|
||||
<p class="cltexth3 text-green-8 q-ma-sm"><span
|
||||
class="boldhigh">Gibanje Solidarna ECOnomia ~ AYNI DARILO * ECOnomy</span></p>
|
||||
<p>
|
||||
Ayni je gibanje solidarnostnega gospodarstva. Temelji na praksi darovanja, dajanja kot viru in
|
||||
obilja! Dajanje me odpira do sprejemanja, ustvarja odnose, ki temeljijo na pomoči in hvaležnosti, ne
|
||||
na dobičku.
|
||||
</p>
|
||||
<p>
|
||||
Ayni je zasnovana in ustvarjena tako, da si ljudje medsebojno pomagajo in se podpirajo, da bi
|
||||
dosegli svoje sanje in življenjske cilje. Gre za resen projekt, ki od tistih, ki želijo biti del
|
||||
tega, zahteva, razumevanje, da ne gre za sistem zaslužka ali klasičen investicijski sklad, ampak
|
||||
način, ki skozi medsebojno pomočjo, nenehno podporo in spremljavo novih članov, ki so podprti z
|
||||
osebami, ki so to izkušnjo že sami doživeli v tem ali podobnem gibanju Solidarne Ekonomije in
|
||||
ustvarili mreženje in ustvarili tako odnose, pridobili vredne izkušnje ter ustvarili resnično
|
||||
obilje.</p>
|
||||
<p class="text-center"><strong>Za vključitev v AYNI potrebujete:</strong></p>
|
||||
<ul class="lista text-center">
|
||||
<li>Mobilni telefon in / ali računalnik</li>
|
||||
<li>Aplikacijo Telegram</li>
|
||||
</ul>
|
||||
<p class="cltexth3 text-red q-ma-lg">Kaj morate storiti, da lahko vstopite v Ayni?</p>
|
||||
<p class="cltexth3 text-blue q-ma-lg">1. Faza: sprejem</p>
|
||||
<ul class="lista">
|
||||
<li>Nekdo vas je povabil in vam posredoval povezavo za dostop do spletnega mesta AYNI GIFT *
|
||||
ECOnomy. in ste se prijavili.
|
||||
</li>
|
||||
<li>Vstopite v klepet Telegram Ayni EMPOWER, kraj, kjer se srečujemo, pozdravljamo nove člane, se
|
||||
medsebojno podpiramo, širimo našo vizijo in gibanje.
|
||||
</li>
|
||||
<li>Vstopite v kanal Telegram AYNI BIBLIO, ki je informacijski kanal, na katerem so objavljena
|
||||
sporočila za javnost, novice in novice o gibanju.
|
||||
</li>
|
||||
<li>
|
||||
Končno imamo na voljo Telegram AYNI HELP, kamor lahko pišete in vprašate karkoli vas zanima ali
|
||||
kakršnikoli dvom in poiščete praktično pomoč.
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<p class="cltexth3 text-blue q-ma-lg">2. Faza: Izpolnitev zahtevanih zahtev
|
||||
</p>
|
||||
<ol class="lista">
|
||||
<li>Preberite in sprejmite naše smernice ter si pogledate uvodne video posnetke gibanja.</li>
|
||||
<li>Aktivirajte vsaj 2 načina plačila.
|
||||
<strong>Revolut, Payeer in Paypal (preko MoneyBoxa)</strong> so najbolj priporočljivi.<br>
|
||||
|
||||
</li>
|
||||
</ol>
|
||||
|
||||
<p class="cltexth3 text-blue q-ma-lg">3. faza: Programiranje in aktiviranje ladjice</p>
|
||||
|
||||
<p>V AYNI Zaporedje korakov je vnaprej programirano, da:</p>
|
||||
<ul class="lista">
|
||||
<li>zagotovite, da se trije koraki postopka odvijajo po načrtih in v pričakovani obliki.</li>
|
||||
<li>Izvedete in zaključite postopek na preprost, prijeten in polavtomatski način.
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
Ko bo vaša ladjica na sporedu, boste v njo vstopili v klepet s sopotniki. Hkrati boste obveščeni
|
||||
o datumu starta ladjice, kjer boste lahko podarili 33 evrov, ter izvedeli ime s podatke Sanjača,
|
||||
ki mu izročite svoje darilo. Izvedeli boste tudi datume vseh treh korakov.
|
||||
</p>
|
||||
<p class="clBorderImportant" style="border-color: deepskyblue">
|
||||
Datumi in koraki programiranja so mišljeni kot „napovedi aktiviranja in zaključka“. V primeru, da
|
||||
pretok ljudi ne dovoli obdržati in izvesti načrtovanega v predvidenem roku in obliki, bodo datumi
|
||||
prestavljeni, da se vsem omogoči dokončanje in se tako ne dovoli prekinitev potovanja.
|
||||
|
||||
</p>
|
||||
|
||||
<p>Pri procesu treh korakov se bomo srečali in prešli skozi 3 imena:</p>
|
||||
|
||||
<p style=""><strong>Donator</strong>: tisti, ki donira 33 €.<br>
|
||||
<strong>Posrednik- Mediator</strong>: Most med tistim, ki povezuje donatorje in sanjača.<br>
|
||||
<strong>Sanjač</strong>: Kdor svoje sanje manifestira s sprejemanjem Daril.<br>
|
||||
</p>
|
||||
|
||||
<CTitleBanner title="Predogled 3 korakov (kliknite tukaj)" bgcolor="bg-green-5" canopen="true"
|
||||
:visible="false" imgpreview="statics/images/passo_1.jpg">
|
||||
<p>Od trenutka, ko bom izvedel dan odhoda svoje ladje, bodo naslednji koraki naslednji:</p>
|
||||
<div class="text-center">
|
||||
<q-img src="statics/images/passo_1.jpg" class="img"></q-img>
|
||||
</div>
|
||||
<p class="grass">V klepet Telegrama vstopim kot donator:</p>
|
||||
<p>Klepet sestavlja 8 donatorjev in mediator-posrednik.<br>
|
||||
Moja naloga je, da sanjaču vplačam 33 evrov (mediator me bo vodil v postopku).
|
||||
Darilo bom izvedel na datum starta moje ladje In 1. koraka.</p>
|
||||
<div class="text-center">
|
||||
<q-img src="statics/images/passo_2.jpg" class="img"></q-img>
|
||||
</div>
|
||||
<p class="grass">Odprem telegramski klepet in postanem posrednik:</p>
|
||||
<p>Klepet sestavlja 8 donatorjev (ki jim bom pomagal vstopiti v klepet) tako jaz, kot posrednik.<br>
|
||||
Moja naloga je, da poskrbim, da bodo vsi donatorji sanjaču vplačali darilo. Sistem bo samodejno
|
||||
poslal navodila za način vplačila, Posrednik (jaz) bo postopek preveril in spremljal.
|
||||
</p>
|
||||
|
||||
<div class="text-center">
|
||||
<q-img src="statics/images/passo_3.jpg" class="img"></q-img>
|
||||
</div>
|
||||
<p class="grass">Postanem sanjač:</p>
|
||||
<p>Klepet, kjer sem sanjač, je enak in z istimi ljudmi odprt v koraku 2 (kjer sem bil Mediator) in
|
||||
tudi tukaj se vloge spreminjajo, torej je zdaj 8 mediatorjev in jaz, sanjač.
|
||||
Moja naloga je, da se odprem, da sprejmem vplačila od vsakega donatorja, se dopolnim in
|
||||
proslavim obilje.
|
||||
</p>
|
||||
|
||||
</CTitleBanner>
|
||||
|
||||
<p class="text-blue-10 q-ma-lg clBorderImportant text-center" style="font-size: 1.15rem;">Samodejni
|
||||
klepet <strong>AYNI BOT</strong> mi bo ob pravem času poslal vsa navodila, ki jih bom moral
|
||||
izpolniti!
|
||||
</p>
|
||||
|
||||
<p class="cltexth2 text-green-8 q-ma-lg"><span class="boldhigh">No ... Zdaj se udobno opremite, vaše potovanje se je začelo!</span>
|
||||
</p>
|
||||
</CImgText>
|
||||
</div>
|
||||
<div v-else-if="toolsext.isLang('es')">
|
||||
<CTitleBanner title="AYNI GIFT*ECOnomy"></CTitleBanner>
|
||||
<CImgText src="">
|
||||
<p class="cltexth3 text-green-8 q-ma-sm"><span
|
||||
class="boldhigh">Economía Solidaria ~ AYNI GIFT*ECOnomía</span></p>.
|
||||
<p>
|
||||
<strong>Ayni</strong> es un movimiento de economía solidaria. Se basa en la práctica del
|
||||
hacer un <strong>regalo</strong>,
|
||||
de <strong> dar como recurso y como riqueza!</strong> Dar me abre a recibir, crea relaciones basadas
|
||||
en la
|
||||
ayuda y la gratitud, no en el beneficio.
|
||||
</p>
|
||||
<p>
|
||||
<strong>Ayni</strong> está diseñado y creado para permitir a las personas ayudarse y apoyarse
|
||||
mutuamente, para que puedan hacer realidad sus sueños y sus planes de vida. Es un proyecto serio que
|
||||
requiere, por parte de aquellos a quienes les gustaría participar, de entender primero que nada, que
|
||||
este no es un sistema para hacer dinero o un fondo de inversión clásico, sino una forma de recuperar
|
||||
ese factor humano de ayuda mutua a través del apoyo y el acompañamiento continuo de los nuevos
|
||||
miembros que vendràn guiados por quienes ya han tenido experiencia en este y otros movimientos de
|
||||
Economía Solidaria, a través de La creación de redes, creando así relaciones y experiencias de
|
||||
Valor, generando Riqueza Real.
|
||||
</p>
|
||||
<p class="text-center"><strong>Herramientas necesarias para formar parte de AYNI</strong></p>.
|
||||
<ul class="text-center lista">
|
||||
<li>Teléfono móvil y/o ordenador</li>
|
||||
<li>Telegram de aplicación</li>
|
||||
</ul>
|
||||
<p class="cltexth3 text-red q-ma-lg">¿Qué tienes que hacer para entrar en <strong>Ayni</strong>?</p>
|
||||
<p class="cltexth3 text-blue q-ma-lg">Paso 1: Recepción</p>
|
||||
<ul class="lista">
|
||||
<li>Alguien te invitó y te dio el enlace de acceso a la página web de AYNI GIFT*ECOnomy.
|
||||
estás inscrito.
|
||||
</li>
|
||||
<li>Entra en el chat Telegram <strong>AYNI-EMPOWER</strong>, lugar donde nos encontramos, damos la
|
||||
bienvenida a los nuevos invitados, y somos ayudados para ampliar nuestra visión del movimiento.
|
||||
</li>
|
||||
<li>
|
||||
Entra en el canal de Telegram <strong>AYNI-BIBLIO</strong> que es un canal de información donde
|
||||
puedes conseguir las publicaciones con comunicados, noticias y novedades sobre el movimiento.
|
||||
</li>
|
||||
<li>
|
||||
Finalmente tenemos el Telegram <strong>AYNI-HELP</strong> donde puedes entrar cuando quieras
|
||||
preguntar o tengas
|
||||
dudas, encontrando ayuda práctica a su disposición.
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<p class="cltexth3 text-blue q-ma-lg">Paso 2: Cumplimiento de los requisitos</p>.
|
||||
<ol class="lista">
|
||||
<li>Lee y acepta nuestras directrices y ve los vídeos de introducción al movimiento.
|
||||
<li>Activar por lo menos <strong>2 métodos de pago</strong>.
|
||||
<strong>Revolut, Payeer y Paypal (a través de MoneyBox)</strong> son los más recomendados.<br>
|
||||
|
||||
</li>
|
||||
</ol>
|
||||
|
||||
<p class="cltexth3 text-blue q-ma-lg">Paso 3: Programación y activación de mi Nave</p>.
|
||||
|
||||
<p>En AYNI La secuencia de pasos está programada de antemano, de modo que:</p>
|
||||
<ul class="lista">
|
||||
<li>Podemos garantizar que los 3 pasos del proceso se lleven a cabo en el tiempo y la forma
|
||||
previstos.
|
||||
</li>
|
||||
<li>Realizamos y terminamos el proceso de una manera simple, agradable y semi-automática.</li>
|
||||
</ul>
|
||||
|
||||
<p>Tu Nave será programada y entrarás en una chat con tus compañeros de viaje. Al mismo tiempo, se te
|
||||
informará de la fecha en la que se activará tu Nave en la que podrás donar los 33 € y el nombre y el
|
||||
los datos del Soñador para darle su regalo.
|
||||
</p>
|
||||
|
||||
<p class="clBorderImportant" style="border-color: deepskyblue">
|
||||
Las fechas de programación y los pasos se entienden como "<em>activación y predicciones de
|
||||
finalización</em>".
|
||||
En caso de que el flujo de personas e invitados no permita mantener y lograr lo que se ha programado
|
||||
en el momento y de la forma esperada, las fechas se re programaran para permitir la finalización de
|
||||
todos y no dejar que el viaje pueda ser interrumpido.
|
||||
</p>
|
||||
|
||||
<p>En la experiencia de los 3 pasos nos encontraremos y pasaremos por 3 caracteres:</p>
|
||||
|
||||
<p style=""><strong>Donante</strong>: El que hace el regalo de 33 €.<br>
|
||||
<strong>Mediador</strong>:Él es el puente, el que conecta a los donantes y al Soñador.<br>
|
||||
<strong>Soñador</strong>: Aquel que manifiesta su sueño recibiendo los Regalos.<br>
|
||||
</p>
|
||||
|
||||
<CTitleBanner title="Previsualización de los 3 pasos (click aquí)" bgcolor="bg-green-5" canopen="true"
|
||||
:visible="false" imgpreview="statics/images/passo_1.jpg">
|
||||
<p>Desde el momento en que sé el día de la salida de mi Nave, los pasos a seguir
|
||||
serán estos:</p>
|
||||
<div class="text-center">
|
||||
<q-img src="statics/images/passo_1.jpg" class="img"></q-img>
|
||||
</div>
|
||||
<p class="grass">Entraré en el chat de Telegram como Donador:</p>
|
||||
<p>El chat está formada por 8 Donantes y un mediador.
|
||||
Mi tarea es dar 33 € al Soñador (el mediador me guiará en el proceso).
|
||||
<br>
|
||||
Daré el regalo en la fecha de activación de la Nave y el paso 1.
|
||||
<div class="text-center">
|
||||
<q-img src="statics/images/passo_2.jpg" class="img"></q-img>
|
||||
</div>
|
||||
<p class="grass">Abro un chat de Telegram y me convierto en Mediador:</p>
|
||||
<p>El chat consiste en 8 donantes (a los que ayudaré a entrar en el chat) y yo.<br>
|
||||
|
||||
Mi trabajo es asegurarme de que todos los donantes le den el regalo al Soñador.
|
||||
El sistema enviará automáticamente instrucciones para hacer el Regalo, el Mediador
|
||||
verificará y acompañará el proceso.
|
||||
|
||||
<div class="text-center">
|
||||
<q-img src="statics/images/passo_3.jpg" class="img"></q-img>
|
||||
</div>
|
||||
<p class="grass">Conviértete en un Soñador:</p>
|
||||
<p>El chat donde soy Soñador es el mismo y con las mismas personas abierto en el paso 2 (donde fui
|
||||
Mediador)
|
||||
e incluso aquí los papeles cambian, es decir, ahora hay 8 Mediadores y yo, el Soñador.
|
||||
Mi tarea es abrirme para recibir los regalos de cada donante, completarme y celebrar
|
||||
la Abundancia.
|
||||
El paso 3 se activa normalmente 4 días después del paso 2.<br><br>.
|
||||
</p>
|
||||
|
||||
</CTitleBanner>
|
||||
|
||||
<p class="text-blue-10 q-ma-lg clBorderImportant text-center" style="font-size: 1.15rem;">El Chat
|
||||
Automático
|
||||
<strong>AYNI BOT</strong> me enviará todas las instrucciones que necesito hacer en el momento
|
||||
adecuado.
|
||||
</p>
|
||||
|
||||
|
||||
<p class="cltexth2 text-green-8 q-ma-lg"><span class="boldhigh">Bueno... Ahora ponte cómodo, ¡tu viaje ha comenzado!</span>
|
||||
</p>
|
||||
|
||||
</CImgText>
|
||||
</div>
|
||||
<div v-else-if="toolsext.isLang('pt')">
|
||||
<CTitleBanner title="AYNI GIFT*ECOnomy"></CTitleBanner>
|
||||
<CImgText src="">
|
||||
<p class="cltexth3 text-green-8 q-ma-sm"><span
|
||||
class="boldhigh">Movimento ECOnomy Solidarity ~ AYNI GIFT*ECOnomy</span></p>.
|
||||
<p>
|
||||
<strong>Ayni</strong> é um movimento de economia solidária. É baseado na prática de
|
||||
<strong>presente</strong>,
|
||||
de <strong>give como um recurso e como riqueza! Dar e dar me abre para receber, cria relacionamentos
|
||||
baseados
|
||||
em
|
||||
sobre ajuda e gratidão</strong>, não
|
||||
sobre o lucro.</p>
|
||||
<p>
|
||||
<strong>Ayni</strong> foi concebido e criado para permitir que as pessoas se ajudem e apoiem umas às
|
||||
outras,
|
||||
em
|
||||
para que possas tornar os teus sonhos e os teus planos de vida realidade. É um projeto sério que
|
||||
requer, para
|
||||
aqueles que o querem
|
||||
pertencer, a
|
||||
entender que este não é um sistema para fazer dinheiro ou um fundo de investimento clássico, mas uma
|
||||
forma de
|
||||
recuperar esse factor humano de ajuda mútua através do contínuo apoio e acompanhamento do novo
|
||||
membros apoiados por aqueles que já tiveram experiência neste e em outros movimentos de Economia
|
||||
Solidária, através de
|
||||
Trabalho em rede, criando assim relações <strong>relacionamentos e experiências de Valor, gerando
|
||||
Riqueza
|
||||
Real</strong>.</p>
|
||||
<p class="text-center"><strong>Ferramentas necessárias para fazer parte do AYNI</strong></p>.
|
||||
<ul class="text-center lista">
|
||||
<li>Móvel telefone e/ou computador</li>
|
||||
<li>Telegrama de aplicação</li>
|
||||
</ul>
|
||||
<p class="cltexth3 text-red q-ma-lg">O que você precisa fazer para entrar em <strong>Ayni</strong>?</p>
|
||||
<p class="cltexth3 text-blue q-ma-lg">Passo 1: Recepção</p>
|
||||
<ul class="lista">
|
||||
<li>Algém o convidou e deu-lhe o link de acesso ao site <strong>AYNI GIFT*ECOnomy.</strong> e você
|
||||
você está inscrito.
|
||||
</li>
|
||||
<li>Vá para o chat Telegrama <strong>Ayni EMPOWER</strong>, lugar onde nos encontramos, acolhemos
|
||||
novas
|
||||
pessoas
|
||||
convidados,
|
||||
e ajudar-nos a apoiar e expandir a nossa visão e movimento.
|
||||
</li>
|
||||
<li>
|
||||
Entre no Canal de Telegrama <strong>BIBLIOTECA AYNI LIBRARY</strong> que é um canal de
|
||||
informação onde você
|
||||
pode obter
|
||||
publicado
|
||||
comunicados, notícias e notícias sobre o movimento.
|
||||
</li>
|
||||
<li>
|
||||
Finalmente temos Telegrama <strong>AYNI HELP</strong> onde você pode entrar quando quiser
|
||||
questões
|
||||
ou dúvidas, encontrando ajuda prática à sua disposição.
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<p class="cltexth3 text-blue q-ma-lg">Passo 2: Conclusão dos requisitos</p>.
|
||||
<ol class="lista">
|
||||
<li>Ler e aceitar nossas Diretrizes e Assistir os Vídeos Introdutórios ao Movimento.
|
||||
<li>Ativar pelo menos <strong>2 formas de pagamento</strong>.
|
||||
<strong>Revolut, Payeer e Paypal (via MoneyBox)</strong> são os mais recomendados.<br>
|
||||
|
||||
</li>
|
||||
</ol>
|
||||
<p class="cltexth3 text-blue q-ma-lg">Passo 3: Programação e ativação do Navio</p>.
|
||||
|
||||
<p>Em AYNI A sequência de passos é programada com antecedência, de modo que:</p>
|
||||
<ul class="lista">
|
||||
<li>garantia de que as 3 etapas do processo ocorrem dentro do prazo e da forma prevista.</li>
|
||||
<li>Fazer e terminar o processo de uma forma simples, agradável e semi-automática.</li>
|
||||
</ul>
|
||||
|
||||
<p>Sua nave será programada e você entrará em uma conversa com seus colegas passageiros. Ao mesmo tempo,
|
||||
você será informado da data em que seu navio navegará, ou seja, quando você poderá doar os 33 euros
|
||||
e o nome e
|
||||
dados do Sonhador para dar o seu presente.
|
||||
</p>
|
||||
|
||||
<p class="clBorderImportant" style="border-color: deepskyblue">
|
||||
As datas de programação e os passos são entendidos como '<em>previsão de ativação e conclusão</em>'.
|
||||
No caso do fluxo de pessoas e convidados não permitir manter e alcançar o que foi programado no
|
||||
tempos e
|
||||
formulário esperado, as datas serão reprogramadas para permitir a conclusão de todos e não deixar o
|
||||
a viagem pode ser interrompida.
|
||||
</p>
|
||||
|
||||
<p>Na experiência dos 3 passos vamos nos encontrar e passar em 3 caracteres:</p>
|
||||
|
||||
<p style=""><strong>Doador</strong>: Aquele que faz o Presente de 33 €.<br>
|
||||
<strong>Mediador</strong>: Ele é a ponte, aquele que liga os Doadores ao Sonhador.<br>
|
||||
<strong>Dreamer</strong>: Aquele que manifesta o seu sonho ao receber os Presentes.<br>
|
||||
</p>
|
||||
|
||||
<CTitleBanner title="Preview The 3 Steps (click here)" bgcolor="bg-green-5" canopen="true"
|
||||
visible="false" imgpreview="statics/images/step_1.jpg">
|
||||
<p>A partir do momento em que sei o dia da partida do meu bilhete, os passos a dar
|
||||
serão estes:</p>
|
||||
<div class="text-center">
|
||||
<q-img src="statics/images/passi_1.jpg" class="img"></q-img>
|
||||
</div>
|
||||
<p class="grass">Entro no chat Telegrama como Doador:</p>
|
||||
<p>A conversa consiste em 8 doadores e um mediador.<br>
|
||||
A minha tarefa é dar 33 € ao Sonhador (o mediador irá guiar-me no processo).<br>
|
||||
O presente será dado na data de ativação do boleto e no passo 1.
|
||||
<div class="text-center">
|
||||
<q-img src="statics/images/passi_2.jpg" class="img"></q-img>
|
||||
</div>
|
||||
<p class="grass">abro uma conversa por telegrama e torno-me Provedor de Justiça:</p>
|
||||
<p>O chat consiste em 8 doadores (que eu ajudarei a entrar no chat) e eu, o Mediador.<br>
|
||||
|
||||
O meu trabalho é garantir que todos os Doadores façam o Presente para o Sonhador.
|
||||
O sistema enviará automaticamente instruções para fazer o Presente, o Mediador (I) irá verificar
|
||||
e
|
||||
irá acompanhar o processo.<br>
|
||||
|
||||
<div class="text-center">
|
||||
<q-img src="statics/images/passi_3.jpg" class="img"></q-img>
|
||||
</div>
|
||||
<p class="grass">Dreamer Become a Dreamer:</p>
|
||||
<p>O chat onde eu sou o Dreamer é o mesmo e com as mesmas pessoas abertas no passo 2 (onde eu fui
|
||||
mediador)
|
||||
e mesmo aqui os papéis mudam, ou seja, agora há 8 mediadores e eu, o Sonhador.<br>
|
||||
Minha tarefa é abrir-me para receber os Presentes de cada Doador, completar-me e celebrar
|
||||
a Abundância.<br>
|
||||
</p>
|
||||
|
||||
</CTitleBanner>
|
||||
|
||||
<p class="text-blue-10 q-ma-lg clBorderImportant text-center" style="font-size: 1.15rem;">O Chat
|
||||
Automático
|
||||
<strong>AYNI BOT</strong> me enviará todas as instruções que preciso de fazer no momento apropriado!
|
||||
|
||||
<p class="cltexth2 text-green-8 q-ma-lg"><span class="boldhigh">Good... Agora fique à vontade, a sua viagem já começou!</span>
|
||||
</p>
|
||||
|
||||
</CImgText>
|
||||
</div>
|
||||
<div v-else-if="toolsext.isLang('fr')">
|
||||
<CTitleBanner title="AYNI GIFT*ECOnomy"></CTitleBanner>
|
||||
.
|
||||
<CImgText src="">
|
||||
<p class="cltexth3 text-green-8 q-ma-sm"><span
|
||||
class="boldhigh">Mouvement d’ĒCOnomie Solidaire ~AYNI GIFT*ECOnomy</span></p>.
|
||||
<p>
|
||||
<strong>Ayni</strong> est un mouvement d'économie solidaire. Il est basé sur la <strong>pratique du
|
||||
don</strong>, de
|
||||
l’acte de donner comme ressource et comme richesse ! Donner et offrir m'ouvre à recevoir, crée des
|
||||
relations basées sur le <strong>soutien et la gratitude</strong>, et non sur le profit.</p>
|
||||
<p>
|
||||
<strong>Ayni</strong> est pensée et créée pour permettre aux personnes de s'aider et de se soutenir
|
||||
mutuellement, pour réaliser les propres rêves et les propres projets de vie. C'est un projet sérieux
|
||||
qui nécessite, pour ceux qui veulent y participer, de comprendre qu'il ne s'agit pas d'un système
|
||||
pour gagner de l'argent ou d'un fond d'investissement classique, mais d'un moyen qui invite à
|
||||
récupérer le facteur humain d'entraide à travers le soutien et l'accompagnement continus des
|
||||
nouveaux participants/es par ceux et celles qui ont déjà eu une expérience dans ce mouvement et dans
|
||||
d'autres mouvements d'Ēconomie Solidaire, par le biais d’une mise en réseau, créant ainsi des
|
||||
relations et des expériences de <strong>Valeur, générant une Véritable Richesse</strong>.</p>
|
||||
<br>
|
||||
<p class="text-center"><strong>Les outils nécessaires pour faire partie de AYNI</strong></p>.
|
||||
<ul class="text-center lista">
|
||||
<li>Téléphone portable et/ou ordinateur</li>
|
||||
<li>App Telegram</li>
|
||||
</ul>
|
||||
<p class="cltexth3 text-red q-ma-lg">Qu'est-ce qu'il faut faire pour entrer dans <strong>Ayni</strong>?
|
||||
</p>
|
||||
<p class="cltexth3 text-blue q-ma-lg">Etape 1: ACCUEIL</p>
|
||||
<ul class="lista">
|
||||
<li>Quelqu'un vous a invité et vous a donné le lien d'accès au site <strong>AYNI
|
||||
GIFT*ECOnomy.</strong> et vous vous êtes inscrit.
|
||||
</li>
|
||||
<li>Entrez dans le chat Télégram <strong>Ayni-EMPOWER</strong>, lieu de rencontre, accueil de
|
||||
nouvelles
|
||||
personnes invitées, et nous aidons à soutenir et à élargir notre vision et notre mouvement.
|
||||
</li>
|
||||
<li>
|
||||
Entrez dans le chat Télégram <strong>AYNI-BIBLIO</strong> qui est un canal d'informations
|
||||
où sont publiés des communiqués, des nouvelles et des informations sur le mouvement.
|
||||
</li>
|
||||
<li>
|
||||
Enfin, nous avons Télégram <strong>AYNI-HELP</strong> où vous pouvez entrer quand vous voulez
|
||||
pour toutes demandes ou doutes, en trouvant une aide pratique à votre disposition-
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<p class="cltexth3 text-blue q-ma-lg">Étape 2: COMPLÉTER LES REQUIS DEMANDĒS</p>.
|
||||
<ol class="lista">
|
||||
<li>Lisez et acceptez nos lignes directrices et regardez les vidéos d'introduction au mouvement.
|
||||
<li>Activer au moins 2 <strong>moyens de paiement</strong>
|
||||
<strong>Revolut, Payeer et Paypal (via MoneyBox)</strong> sont les plus recommandés.<br>
|
||||
</li>
|
||||
</ol>
|
||||
<p class="cltexth3 text-blue q-ma-lg">Etape 3: PROGRAMMATION ET ACTIVATION DE DES NAVIRES</p>.
|
||||
|
||||
<p>Dans AYNI La séquence des étapes est programmée à l'avance, de sorte à:</p>
|
||||
<ul class="lista">
|
||||
<li>garantir que les 3 passages du processus se déroulent dans les délais et sous la forme prévus
|
||||
</li>
|
||||
<li>réaliser et terminer le processus de manière simple, agréable et semi-automatique.</li>
|
||||
</ul>
|
||||
|
||||
<p>Votre Navire sera programmé et vous entrerez en conversation avec vos compagnons de voyage. Dans le
|
||||
même temps, vous serez informé(e) de la date à laquelle le navire sera activé et à laquelle vous
|
||||
pourrez faire le Don des 33€, ainsi que le nom et les données du Rêveur/Rêveuse à qui faire votre
|
||||
Don. Vous connaîtrez également les dates de chacune des 3 étapes.
|
||||
|
||||
</p>
|
||||
|
||||
<p class="clBorderImportant" style="border-color: deepskyblue">
|
||||
Les dates de programmation et les étapes sont comprises comme <em>"prévisions d’activation et de
|
||||
complètement"</em>. Au cas où le flux de personnes et d'invités ne permettrait pas de maintenir et
|
||||
de
|
||||
réaliser ce qui a été programmé dans les délais et forme prévus, les dates seront reprogrammées pour
|
||||
permettre le complètement à toutes et tous et pour éviter que le voyage puisse être interrompu.
|
||||
|
||||
</p>
|
||||
|
||||
<p>Dans l'expérience des 3 étapes nous rencontrerons et interpréterons 3 personnages:</p>
|
||||
|
||||
<p style=""><strong>Donateur</strong>: Celui/celle qui fait le Don de 33€.<br>
|
||||
<strong>Médiateur</strong>: Il/Elle est le pont, celui ou celle qui met en relation le Donateur et
|
||||
le Rêveur.<br>
|
||||
<strong>Rêveur</strong>: Celui/celle qui manifeste son rêve en recevant les Dons.<br>
|
||||
</p>
|
||||
|
||||
<CTitleBanner title="Aperçu des 3 étapes (cliquez ici)" bgcolor="bg-green-5" canopen="true"
|
||||
:visible="false" imgpreview="statics/images/passo_1.jpg">
|
||||
<p>À partir du moment où je connais le jour du départ de mon navire, les étapes à suivre seront les
|
||||
suivantes:</p>
|
||||
<div class="text-center">
|
||||
<q-img src="statics/images/passo_1.jpg" class="img"></q-img>
|
||||
</div>
|
||||
<p class="grass">J'entre dans le chat du télégramme en tant que Donateur/Donatrice:</p>
|
||||
<p>Le chat est formé de 8 donateurs et d'un médiateur.<br>
|
||||
Mon rôle consiste à donner 33 € au Rêveur (le Médiateur me guidera dans le processus).<br>
|
||||
Je ferai le Don à la date de départ de mon navire et à l'étape 1.
|
||||
<div class="text-center">
|
||||
<q-img src="statics/images/passo_2.jpg" class="img"></q-img>
|
||||
</div>
|
||||
<p class="grass">J'ouvre un chat Telegram et deviens Médiateur/Médiatrice:</p>
|
||||
<p>Le chat est formé de 8 Donateurs (que j'aiderai à entrer dans le chat) et moi, le Médiateur. <br>
|
||||
|
||||
Mon rôle consiste à m'assurer que tous les Donateurs fassent le Don au Rêveur. Le système
|
||||
enverra automatiquement les instructions pour faire le Don, le Médiateur (moi) vérifiera et
|
||||
accompagnera le processus.<br>
|
||||
|
||||
|
||||
<div class="text-center">
|
||||
<q-img src="statics/images/passo_3.jpg" class="img"></q-img>
|
||||
</div>
|
||||
<p class="grass">Je deviens Rêveur/Rêveuse:</p>
|
||||
<p>Le chat où je suis Rêveur est le même et avec les mêmes personnes ouvert à l'étape 2 (où j'étais
|
||||
Médiateur) et ici aussi les rôles changent, c'est-à-dire qu'il y a maintenant 8 médiateurs et
|
||||
moi, le Rêveur.<br>
|
||||
Ma tâche est de m'ouvrir pour recevoir les Dons de chaque Donateur, de compléter et de célébrer
|
||||
l'Abondance.<br>
|
||||
</p>
|
||||
|
||||
</CTitleBanner>
|
||||
|
||||
<p class="text-blue-10 q-ma-lg clBorderImportant text-center" style="font-size : 1.15rem ;">La Chat
|
||||
automatique AYNI BOT m'enverra toutes les instructions nécessaires que je devrai réaliser au moment
|
||||
opportun !
|
||||
|
||||
<p class="cltexth2 text-green-8 q-ma-lg"><span class="boldhigh">Bien... Mettez-vous à l'aise, votre voyage a commencé
|
||||
</span>
|
||||
</p>
|
||||
|
||||
</CImgText>
|
||||
</div>
|
||||
<div v-else>
|
||||
<CTitleBanner title="AYNI GIFT*ECOnomy"></CTitleBanner>
|
||||
<CImgText src="">
|
||||
<p class="cltexth3 text-green-8 q-ma-sm"><span
|
||||
class="boldhigh">Movement ECOnomy Solidarity ~ AYNI GIFT*ECOnomy</span></p>.
|
||||
<p>
|
||||
<strong>Ayni</strong> is a solidarity economy movement. It is based on the practice of
|
||||
<strong>gift</strong>,
|
||||
<strong>give as a resource as well as abundance! Giving open me up to receiving, creates
|
||||
relationships based on help and gratitude</strong>, not on profit.</p>
|
||||
<p>
|
||||
<strong>Ayni</strong> is designed and created to allow people to help and support each other, so you
|
||||
can make your dreams and your life plans come true. It is a serious project that gives, for those
|
||||
who want to be part of it, understanding that this is not a system for making money or a classic
|
||||
investment fund, but a way to recover that human factor of mutual aid through the continuous support
|
||||
and accompaniment of the new members supported by those who have already had experience in this and
|
||||
other Solidarity Economy movements through Networking, thus creating <strong>relationships and
|
||||
experiences of Value, generating Real abundance.</strong>.</p>
|
||||
<div class="text-center">
|
||||
<p class="text-center"><strong>Tools needed to be part of AYNI</strong></p>.
|
||||
<ul class="lista center_img">
|
||||
<li>Mobile phone and/or computer</li>
|
||||
<li>App Telegram</li>
|
||||
</ul>
|
||||
</div>
|
||||
<p class="cltexth3 text-red q-ma-lg">What do you have to do to get into <strong>Ayni</strong>?</p>
|
||||
<p class="cltexth3 text-blue q-ma-lg">Step 1: Welcome</p>
|
||||
<ul class="lista">
|
||||
<li>Someone invited you and gave you the login link to <strong>AYNI GIFT*ECOnomy.</strong> and you
|
||||
signed up.
|
||||
</li>
|
||||
<li>Go into the Telegram <strong>Ayni-EMPOWER</strong> chat, where we meet, welcome new guests,
|
||||
and help us to support and expand our vision and movement.
|
||||
</li>
|
||||
<li>
|
||||
Enter the Telegram Channel <strong>AYNI-BIBLIO</strong> which is an information channel in which
|
||||
you post communications, news and news about the movement.
|
||||
</li>
|
||||
<li>
|
||||
Finally we have Telegram <strong>AYNI-HELP</strong> where you can enter whenever questions or
|
||||
doubts arise, finding practical help at your disposal.
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<p class="cltexth3 text-blue q-ma-lg">Step 2: Completion of requirements</p>
|
||||
<ol class="lista">
|
||||
<li>Read and accept our Guidelines and Watch the Introductory Videos to the Movement.
|
||||
<li>Activate at least <strong>2 payment methods</strong> (is recommended).
|
||||
<strong>Revolut, Payeer and Paypal (via MoneyBox)</strong> are the most recommended.<br>
|
||||
</li>
|
||||
</ol>
|
||||
|
||||
<p class="cltexth3 text-blue q-ma-lg">Step 3: Programming and Activation of the Ship</p>
|
||||
|
||||
<p>In AYNI The sequence of steps is programmed in advance, so that:</p>
|
||||
<ul class="lista">
|
||||
<li>guarantee that the 3 steps of the process take place on time and in the form provided.</li>
|
||||
<li>make and finish the process in a simple, enjoyable and semi-automated way.</li>
|
||||
</ul>
|
||||
|
||||
<p>Your Ship will be programmed and you'll enter a chat with your fellow travellers. At the same time,
|
||||
you will be informed of the date at which your ship will be activated and donate
|
||||
the 33 € and the name and the data of the Dreamer to give your gift to.
|
||||
</p>
|
||||
|
||||
<p class="clBorderImportant" style="border-color: deepskyblue">
|
||||
The dates of programming and steps are understood as '<em>activation and completion predictions</em>'.
|
||||
In case the flow of people and guests does not allow to maintain and achieve what has been
|
||||
programmed in the times and form expected, the dates will be rescheduled to allow for completion of
|
||||
all and not let the travel may be interrupted.
|
||||
</p>
|
||||
|
||||
<p>In the experience of the 3 steps we will meet and pass in 3 characters:</p>
|
||||
|
||||
<p style=""><strong>Donor</strong>: He who makes the Gift of 33€.<br>
|
||||
<strong>Mediator</strong>: He is the bridge, the one who connects Donors and Dreamer.<br>
|
||||
<strong>Dreamer</strong>: He who manifests his dream by receiving the Gifts.<br>
|
||||
</p>
|
||||
|
||||
<CTitleBanner title="Preview The 3 Steps (click here)" bgcolor="bg-green-5" canopen="true"
|
||||
:visible="false" imgpreview="statics/images/passo_1.jpg">
|
||||
<p>From the moment I know the starting day, the steps to be taken will be these:</p>
|
||||
<div class="text-center">
|
||||
<q-img src="statics/images/passo_1.jpg" class="img"></q-img>
|
||||
</div>
|
||||
<p class="grass">I enter the Telegram chat as Donor:</p>
|
||||
<p>The chat is formed by 8 donors and a mediator.<br>
|
||||
My task is to give 33 € to the Dreamer (the mediator will guide me in the process).<br>
|
||||
The gift will be given on the date of activation of the Ship and step 1.
|
||||
<div class="text-center">
|
||||
<q-img src="statics/images/passo_2.jpg" class="img"></q-img>
|
||||
</div>
|
||||
<p class="grass">I open a Telegram chat and become Mediator:</p>
|
||||
<p>The chat consists of 8 Donors (which I will help to enter the chat) and me, the Mediator.
|
||||
My job is to make sure that all the Donors give the Gift to the Dreamer. The system will
|
||||
automatically send instructions to make the Gift, the Mediator (me) will verify and will
|
||||
accompany the process.<br>
|
||||
|
||||
<div class="text-center">
|
||||
<q-img src="statics/images/passo_3.jpg" class="img"></q-img>
|
||||
</div>
|
||||
<p class="grass">Dreamer Become a Dreamer:</p>
|
||||
<p>The chat where I am Dreamer is the same and with the same people open in step 2 (where I was
|
||||
Mediator) and here the roles change, there are now 8 mediators and me, the Dreamer.
|
||||
My task is to open myself to receive the Gifts from each Donor, complete myself and celebrate
|
||||
the Abundance.<br>
|
||||
<br><br>.
|
||||
</p>
|
||||
|
||||
</CTitleBanner>
|
||||
|
||||
<p class="text-blue-10 q-ma-lg clBorderImportant text-center" style="font-size: 1.15rem;">The Automatic
|
||||
Chat <strong>AYNI BOT</strong> will send me all the instructions I need to do at the appropriate
|
||||
time!
|
||||
|
||||
|
||||
<p class="cltexth2 text-green-8 q-ma-lg"><span class="boldhigh">Good... Now make yourself comfortable, your journey has begun!
|
||||
</span></p>
|
||||
</CImgText>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<p> </p>
|
||||
<div v-if="toolsext.isLang('it')">
|
||||
<CTitleBanner title="Condizioni da Accettare:" bgcolor="bg-red-5"></CTitleBanner>
|
||||
<ul class="lista-small">
|
||||
<li>dichiaro di aver letto e ben compreso le linee guida del movimento AYNI</li>
|
||||
|
||||
<li>dichiaro di aver ben compreso l'impegno che prendo iscrivendomi a AYNI (facendo un regalo di 33
|
||||
€)
|
||||
e di aver compreso che senza non potrò proseguire il mio viaggio.
|
||||
</li>
|
||||
|
||||
<li>Potrò avvalermi del diritto di recesso, entro 14 giorni dall'invio del dono, qualora non volessi
|
||||
più continuare il mio viaggio.
|
||||
</li>
|
||||
|
||||
<li>dichiaro di aver ben compreso che <strong>non è un fondo di investimento e che il mio regalo,
|
||||
scaduti i 14 giorni del diritto di recesso, è a fondo perduto</strong>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
<div v-else-if="toolsext.isLang('si')">
|
||||
<CTitleBanner title="Pogoji za sprejem:" bgcolor="bg-red-5"></CTitleBanner>
|
||||
<ul class="lista-small">
|
||||
<li>Izjavljam, da sem prebral in razumel smernice gibanja AYNI</li>
|
||||
|
||||
<li>Izjavljam, da sem popolnoma razumel zaveze, ki jih prevzemam z registracijo pri AYNI (z darilom
|
||||
v višini 33 evrov) in da razumem, da brez vplačila ne bom mogel nadaljevati poti.
|
||||
</li>
|
||||
|
||||
<li>Pravico do odstopanja bom lahko uveljavil v 14 dneh po pošiljanju darila, če ne želim več
|
||||
nadaljevati poti
|
||||
</li>
|
||||
|
||||
<li>Izjavljam, da sem dobro razumel, da ne gre za investicijski sklad in da je moje darilo po 14
|
||||
dneh pravice do odstopa izgubljeno
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
<div v-else-if="toolsext.isLang('es')">
|
||||
<CTitleBanner title="Condiciones de aceptación:" bgcolor="bg-red-5"></CTitleBanner>
|
||||
<ul class="lista-small">
|
||||
<li>Declaro que he leído y comprendido bien las directrices del movimiento AYNI.</li>
|
||||
|
||||
<li>Declaro que he entendido bien los compromisos que hago al firmar para AYNI y haber entendido que
|
||||
sin ella no seré incluido en la programación.
|
||||
</li>
|
||||
|
||||
<li>Declaro que he comprendido bien que el <strong>no es un fondo de inversión y que mi regalo, una
|
||||
vez que los 14 días del derecho de retiro hayan expirado, es no reembolsable</strong>.
|
||||
</li>
|
||||
<li>
|
||||
Puedo ejercer mi derecho de retirada dentro de los 14 días siguientes al envío del regalo si no
|
||||
deseo continuar mi viaje.
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
<div v-else-if="toolsext.isLang('pt')">
|
||||
<CTitleBanner title="Condições para Aceitar:" bgcolor="bg-red-5"></CTitleBanner>
|
||||
<ul class="lista-small">
|
||||
<li>Eu declaro que li e compreendi bem as orientações do movimento AYNI</li>
|
||||
<li>Declaro que compreendi bem os compromissos que assumi ao inscrever-me no AYNI (trazer 2 pessoas,
|
||||
presente
|
||||
33 €) e ter entendido que sem isso não serei incluído na programação.
|
||||
</li>
|
||||
|
||||
<li>Eu declaro que compreendi bem que <strong> não é um fundo de investimento e que a minha doação é
|
||||
não
|
||||
reembolsável</strong>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
Posso exercer o meu direito de retirada no prazo de 14 dias após o envio do presente se não
|
||||
quiser mais
|
||||
continuar a minha viagem.
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div v-else-if="toolsext.isLang('fr')">
|
||||
<CTitleBanner title="Conditions d'acceptation:" bgcolor="bg-red-5"></CTitleBanner>
|
||||
.
|
||||
<ul class="lista-small">
|
||||
<li>Je déclare avoir lu et bien compris les directives du mouvement AYNI;</li>
|
||||
<li>Je déclare avoir bien compris les engagements que je prends en m'inscrivant à AYNI (Don de 33 €)
|
||||
et que je comprends que sans cela je ne pourrai pas continuer mon voyage. Je pourrai bénéficier
|
||||
du droit de rétraction, dans les 14 jours qui suivent l’envoie de mon Don si je ne souhaite plus
|
||||
poursuivre mon voyage.
|
||||
</li>
|
||||
|
||||
<li>Je déclare avoir bien compris qu'il ne s'agit pas d'un fonds d'investissement et que mon Don,
|
||||
après 14 jours de la possibilité de rétraction, n’est plus remboursable
|
||||
</li>
|
||||
|
||||
<li>Je peux exercer mon droit de rétractation dans les 14 jours suivant l'envoi du cadeau si je ne
|
||||
souhaite plus poursuivre mon voyage.
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
<div v-else>
|
||||
|
||||
<CTitleBanner title="Conditions to Accept:" bgcolor="bg-red-5"></CTitleBanner>
|
||||
<ul class="lista-small">
|
||||
<li>I declare that I have read and well understood the guidelines of the AYNI movement</li>
|
||||
<li>I declare that I have well understood the commitments I make by enrolling in AYNI and to have
|
||||
understood that without it I will not be included in the programming.
|
||||
</li>
|
||||
|
||||
<li>I declare that I have well understood that <strong>is not an investment fund and that my gift,
|
||||
once the 14 days of the right of withdrawal have expired, is
|
||||
permanent donation</strong>
|
||||
</li>
|
||||
|
||||
<li>I can exercise my right of withdrawal within 14 days of sending the gift if I no longer wish to
|
||||
continue my trip.
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div v-if="showconditions">
|
||||
<q-checkbox
|
||||
class="bg-grey-4"
|
||||
|
||||
@@ -68,7 +68,6 @@ export default class CHours extends MixinBase {
|
||||
if (this.arrfilterand)
|
||||
myarr = [...myarr, ...this.arrfilterand]
|
||||
|
||||
console.log('myarr', myarr)
|
||||
return myarr
|
||||
}
|
||||
|
||||
|
||||
@@ -1,50 +1,49 @@
|
||||
<template>
|
||||
<div>
|
||||
<q-dialog v-model="showeditor">
|
||||
<q-card :style="`min-width: `+ tools.myheight_dialog() + `px;` ">
|
||||
<q-toolbar class="bg-primary text-white" style="min-height: 30px;">
|
||||
<q-toolbar-title>
|
||||
Editor
|
||||
</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;">
|
||||
<q-card :style="`min-width: `+ tools.myheight_dialog() + `px;` ">
|
||||
<q-toolbar class="bg-primary text-white" style="min-height: 30px;">
|
||||
<q-toolbar-title>
|
||||
Editor
|
||||
</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">
|
||||
<CTitleBanner :title="title"></CTitleBanner>
|
||||
<form
|
||||
autocorrect="off"
|
||||
autocapitalize="off"
|
||||
autocomplete="off"
|
||||
spellcheck="false">
|
||||
|
||||
<q-btn rounded size="sm" color="primary">
|
||||
<q-icon name="colorize" class="cursor-pointer">
|
||||
<q-popup-proxy>
|
||||
<q-color v-model="mycolor" @change="setcolor"></q-color>
|
||||
</q-popup-proxy>
|
||||
</q-icon>
|
||||
</q-btn>
|
||||
<q-editor
|
||||
ref="editor_ref"
|
||||
toolbar-text-color="white"
|
||||
toolbar-toggle-color="yellow-8"
|
||||
toolbar-bg="primary"
|
||||
:toolbar="toolbarcomp"
|
||||
debounce="500"
|
||||
:fonts="myfonts"
|
||||
@input="changeval"
|
||||
@paste.native="evt => pasteCapture(evt)"
|
||||
@keyup.enter.stop
|
||||
v-model="myvalue">
|
||||
</q-editor>
|
||||
</form>
|
||||
</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-btn rounded size="sm" color="primary">
|
||||
<q-icon name="colorize" class="cursor-pointer">
|
||||
<q-popup-proxy>
|
||||
<q-color v-model="mycolor" @change="setcolor"></q-color>
|
||||
</q-popup-proxy>
|
||||
</q-icon>
|
||||
</q-btn>
|
||||
<q-editor
|
||||
ref="editor_ref"
|
||||
toolbar-text-color="white"
|
||||
toolbar-toggle-color="yellow-8"
|
||||
toolbar-bg="primary"
|
||||
:toolbar="toolbarcomp"
|
||||
debounce="500"
|
||||
:fonts="myfonts"
|
||||
@input="changeval"
|
||||
@paste.native="evt => pasteCapture(evt)"
|
||||
@keyup.enter.stop
|
||||
v-model="myvalue">
|
||||
</q-editor>
|
||||
</form>
|
||||
</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>
|
||||
|
||||
@@ -52,5 +51,5 @@
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import './CMyEditor.scss';
|
||||
@import './CMyEditor.scss';
|
||||
</style>
|
||||
|
||||
@@ -156,7 +156,7 @@
|
||||
<CMySelect label="Ore" :value.sync="myvalue"
|
||||
optval="_id" optlab="label"
|
||||
:useinput="false"
|
||||
:options="tools.SelectHours">
|
||||
o :options="tools.SelectHours">
|
||||
</CMySelect>
|
||||
</div>
|
||||
<div v-else-if="type === tools.FieldType.binary">
|
||||
|
||||
@@ -4,13 +4,10 @@ import { GlobalStore, UserStore } from '@store'
|
||||
|
||||
import { Footer } from '../../components/Footer'
|
||||
|
||||
// import VueScrollReveal from 'vue-scroll-reveal'
|
||||
import { tools } from '@src/store/Modules/tools'
|
||||
import { toolsext } from '@src/store/Modules/toolsext'
|
||||
import { Screen } from 'quasar'
|
||||
import { CImgTitle } from '../../components/CImgTitle/index'
|
||||
import { CTitle } from '../../components/CTitle/index'
|
||||
import MixinsMetaTags from '../../mixins/mixin-metatags'
|
||||
import { IMyPage } from '@src/model'
|
||||
|
||||
@Component({
|
||||
name: 'CMyPage',
|
||||
@@ -18,7 +15,8 @@ import MixinsMetaTags from '../../mixins/mixin-metatags'
|
||||
components: { Footer, CImgTitle, CTitle }
|
||||
})
|
||||
export default class CMyPage extends Vue {
|
||||
@Prop({ required: true, default: '' }) public title: string
|
||||
@Prop({ required: false, default: '' }) public title: string
|
||||
@Prop({ required: false, default: '' }) public mypath: string
|
||||
@Prop({ required: false, default: '' }) public img: string
|
||||
@Prop({ required: false, default: '' }) public imgbackground: string
|
||||
@Prop({ required: false, default: '' }) public sizes: string
|
||||
@@ -26,6 +24,7 @@ export default class CMyPage extends Vue {
|
||||
@Prop({ required: false, default: false }) public nofooter: boolean
|
||||
public $t
|
||||
public $q
|
||||
public rec: IMyPage = null
|
||||
|
||||
// public metaInfo() {
|
||||
// return {
|
||||
@@ -40,8 +39,10 @@ export default class CMyPage extends Vue {
|
||||
// }
|
||||
// }
|
||||
|
||||
public mounted() {
|
||||
public async mounted() {
|
||||
// console.log('CMYPage title=', this.title)
|
||||
// console.table(this.meta)
|
||||
if (this.mypath !== '')
|
||||
this.rec = await GlobalStore.actions.loadPage(this.mypath)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,21 +1,53 @@
|
||||
<template>
|
||||
<div>
|
||||
<div>
|
||||
<div v-if="mypath && !!rec">
|
||||
<div class="q-ma-sm q-gutter-sm q-pa-xs">
|
||||
<div v-if="!!rec.img1" class="text-center">
|
||||
<q-img :src="`statics/`+ rec.img1" class="img"></q-img>
|
||||
</div>
|
||||
|
||||
<div v-if="!!rec.content" v-html="rec.content"></div>
|
||||
<q-video v-if="!!rec.video1" :src="rec.video1" :ratio="rec.ratio1">
|
||||
</q-video>
|
||||
|
||||
<div v-if="!!rec.img2" class="text-center">
|
||||
<q-img :src="`statics/`+ rec.img2" class="img"></q-img>
|
||||
</div>
|
||||
|
||||
<div v-if="!!rec.content2" v-html="rec.content2"></div>
|
||||
<q-video v-if="!!rec.video2" :src="rec.video2" :ratio="rec.ratio2"></q-video>
|
||||
|
||||
<div v-if="!!rec.img3" class="text-center">
|
||||
<q-img :src="`statics/`+ rec.img2" class="img"></q-img>
|
||||
</div>
|
||||
|
||||
<div v-if="!!rec.content3" v-html="rec.content3"></div>
|
||||
<q-video v-if="!!rec.video3" :src="rec.video3" :ratio="rec.ratio3"></q-video>
|
||||
<div v-if="!!rec.content4" v-html="rec.content4"></div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div v-else>
|
||||
<div v-if="!!title">
|
||||
<CTitle v-if="imgbackground" :imgbackground="imgbackground"
|
||||
:headtitle="title" :sizes="sizes" :styleadd="styleadd"></CTitle>
|
||||
<div v-if="!imgbackground">
|
||||
<CImgTitle v-if="img" :src="img" :title="title">
|
||||
</CImgTitle>
|
||||
<CImgTitle v-if="img" :src="img" :title="title">
|
||||
</CImgTitle>
|
||||
</div>
|
||||
<slot></slot>
|
||||
<div v-if="!nofooter">
|
||||
<Footer></Footer>
|
||||
<Footer></Footer>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
||||
<script lang="ts" src="./CMyPage.ts">
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
@import './CMyPage.scss';
|
||||
@import './CMyPage.scss';
|
||||
</style>
|
||||
|
||||
@@ -34,6 +34,7 @@ export default class CMyPopupEdit extends Vue {
|
||||
public myvalueprec = 'false'
|
||||
public countryname = ''
|
||||
public visueditor: boolean = false
|
||||
public showeditor: boolean = true
|
||||
|
||||
get tools() {
|
||||
return tools
|
||||
|
||||
@@ -236,10 +236,12 @@
|
||||
|
||||
<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">
|
||||
<!--<q-dialog v-model="showeditor">-->
|
||||
<CMyEditor v-if="visueditor" :value.sync="myvalue" :title="col.title" @keyup.enter.stop
|
||||
@showandsave="Savedb" @annulla="visueditor=false">
|
||||
|
||||
</CMyEditor>
|
||||
</CMyEditor>
|
||||
<!--</q-dialog>-->
|
||||
</div>
|
||||
<q-popup-edit
|
||||
v-if="canEdit && col.fieldtype !== tools.FieldType.html"
|
||||
|
||||
@@ -61,11 +61,11 @@ $graytext: #555;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
&__img {
|
||||
&__singleevimg {
|
||||
padding: 0.25rem !important;
|
||||
float: left;
|
||||
width: 150px;
|
||||
height: 150px;
|
||||
width: 250px;
|
||||
height: 250px;
|
||||
border-radius: 1rem;
|
||||
|
||||
@media (max-width: 718px) {
|
||||
@@ -73,6 +73,9 @@ $graytext: #555;
|
||||
float: none;
|
||||
text-align: center;
|
||||
margin: 0 auto;
|
||||
|
||||
width: 200px;
|
||||
height: 200px;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<div class="listaev__align_chips q-ma-md">
|
||||
<img :src="getImgEvent(myevent)"
|
||||
@click="selectEvent(myevent)"
|
||||
class="text-left padding_cell listaev__tdimg listaev__img cursor-pointer"
|
||||
class="text-left padding_cell listaev__tdimg listaev__singleevimg cursor-pointer"
|
||||
:style="getStyleByEvent(myevent, true)"
|
||||
:alt="myevent.title">
|
||||
<q-chip dense v-if="isAlreadyBooked(myevent)" class="cltexth4 chipbooked shadow-5 q-mb-md"
|
||||
|
||||
@@ -110,7 +110,6 @@ export default class CProductCard extends MixinBase {
|
||||
return !this.order.idStorehouse
|
||||
}
|
||||
|
||||
|
||||
@Watch('code')
|
||||
public codechanged(value) {
|
||||
console.log('change code')
|
||||
@@ -124,7 +123,8 @@ export default class CProductCard extends MixinBase {
|
||||
} else {
|
||||
this.myproduct = this.product
|
||||
}
|
||||
// console.log('this.myproduct', this.myproduct)
|
||||
|
||||
console.log('this.myproduct', this.myproduct, 'this.product', this.product)
|
||||
|
||||
if (!!this.myproduct) {
|
||||
if (this.myproduct.storehouses.length === 1) {
|
||||
@@ -141,5 +141,9 @@ export default class CProductCard extends MixinBase {
|
||||
return (this.complete) ? 'my-card-big' : 'my-card'
|
||||
}
|
||||
|
||||
get getclimg() {
|
||||
return (this.complete) ? 'myimgtitle centermydiv' : 'centermydiv'
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<q-card :class="getmycardcl" v-if="!!myproduct">
|
||||
<img :src="`statics/` + myproduct.img" :alt="myproduct.name">
|
||||
<q-img :src="`statics/` + myproduct.img" :alt="myproduct.name" :class="getclimg"></q-img>
|
||||
|
||||
<q-card-section>
|
||||
<q-btn
|
||||
@@ -20,7 +20,7 @@
|
||||
</div>
|
||||
<div v-if="complete" class="row items-center">
|
||||
<div class="text-title text-grey-9">
|
||||
<span class="text-grey-7">{{ myproduct.description }}</span>
|
||||
<span class="text-grey-7" v-html="myproduct.description"></span>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
@@ -43,7 +43,7 @@
|
||||
|
||||
<div class="row q-mb-sm no-wrap items-center centeritems">
|
||||
<div class="text-price no-wrap">
|
||||
€ {{ myproduct.price.toFixed(2) }}
|
||||
<span v-if="!!myproduct.price">€ {{ myproduct.price.toFixed(2) }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row q-mb-sm no-wrap items-center centeritems">
|
||||
@@ -82,8 +82,10 @@
|
||||
<q-btn icon="fas fa-cart-plus" color="primary" :disable="checkifCartDisable" rounded size="md"
|
||||
label="Aggiungi al Carrello" @click="addtoCart">
|
||||
</q-btn>
|
||||
<!--
|
||||
<q-btn :icon="iconWhishlist(myproduct)" flat color="primary" rounded label="Lista Desideri">
|
||||
</q-btn>
|
||||
-->
|
||||
</q-card-actions>
|
||||
</q-card>
|
||||
</template>
|
||||
|
||||
@@ -53,16 +53,19 @@
|
||||
:disable="$v.$error || iswaitingforRes">{{$t('login.enter')}}
|
||||
</q-btn>
|
||||
</div>
|
||||
<div v-if="static_data.functionality.ENABLE_REGISTRATION && showregbutt" align="center" style="margin-top:10px;">
|
||||
<q-btn flat rounded size="md" color="primary" to="/signup" :label="$t('reg.submit')">
|
||||
</q-btn>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
<div class="text-center" style="margin-bottom: 10px;">
|
||||
<a :href="getlinkforgetpwd()" style="color:gray;">{{$t('reg.forgetpassword')}}</a>
|
||||
</div>
|
||||
|
||||
<div v-if="static_data.functionality.ENABLE_REGISTRATION && showregbutt" align="center" style="margin-top:10px;">
|
||||
Se non sei ancora Registrato:<br>
|
||||
<q-btn rounded size="md" color="primary" to="/signup" :label="$t('reg.submit')">
|
||||
</q-btn>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
import { ISignupIscrizioneConacreisOptions } from 'model'
|
||||
import { email, minLength, required, sameAs } from 'vuelidate/lib/validators'
|
||||
|
||||
export interface ISignupConacreis {
|
||||
signup: ISignupIscrizioneConacreisOptions,
|
||||
validationGroup: string[]
|
||||
}
|
||||
|
||||
export const validations = {
|
||||
signup: {
|
||||
name: {
|
||||
required
|
||||
},
|
||||
surname: {
|
||||
required
|
||||
},
|
||||
email: {
|
||||
email,
|
||||
required
|
||||
},
|
||||
fiscalcode: {
|
||||
required,
|
||||
minLength: minLength(16)
|
||||
},
|
||||
residency_address: {
|
||||
required
|
||||
},
|
||||
residency_city: {
|
||||
required
|
||||
},
|
||||
residency_province: {
|
||||
required
|
||||
},
|
||||
residency_zipcode: {
|
||||
required
|
||||
},
|
||||
dateofbirth: {
|
||||
required
|
||||
},
|
||||
cell_phone: {
|
||||
required
|
||||
},
|
||||
terms: {
|
||||
required
|
||||
},
|
||||
}
|
||||
}
|
||||
34
src/components/CSignUpIscrizioneConacreis/CSignUpIscrizioneConacreis.scss
Executable file
34
src/components/CSignUpIscrizioneConacreis/CSignUpIscrizioneConacreis.scss
Executable file
@@ -0,0 +1,34 @@
|
||||
.signup {
|
||||
width: 100%;
|
||||
margin: 0 auto;
|
||||
max-width: 450px;
|
||||
}
|
||||
|
||||
|
||||
.wrapper {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.clCellCode {
|
||||
border-radius: 32px;
|
||||
border-right: #2d2260;
|
||||
height: 50px;
|
||||
font-size: 1rem;
|
||||
padding: 8px;
|
||||
}
|
||||
|
||||
.clCell {
|
||||
border-radius: 32px;
|
||||
border-right: #2d2260;
|
||||
height: 50px;
|
||||
font-size: 1rem;
|
||||
padding: 8px;
|
||||
}
|
||||
|
||||
.vue-country-select{
|
||||
border-radius: 32px;
|
||||
}
|
||||
|
||||
|
||||
189
src/components/CSignUpIscrizioneConacreis/CSignUpIscrizioneConacreis.ts
Executable file
189
src/components/CSignUpIscrizioneConacreis/CSignUpIscrizioneConacreis.ts
Executable file
@@ -0,0 +1,189 @@
|
||||
import Vue from 'vue'
|
||||
import { Component, Prop, Watch } from 'vue-property-decorator'
|
||||
import { UserStore } from '@store'
|
||||
import { tools } from '../../store/Modules/tools'
|
||||
import { toolsext } from '@src/store/Modules/toolsext'
|
||||
|
||||
import { ISignupIscrizioneConacreisOptions } from 'model'
|
||||
import { validations, ISignupConacreis } from './CSignUpIscrizioneConacreis-validate'
|
||||
|
||||
import { validationMixin } from 'vuelidate'
|
||||
|
||||
import { Logo } from '../../components/logo'
|
||||
import { DefaultProfile } from '../../store/Modules/UserStore'
|
||||
|
||||
// import 'vue-country-code/dist/vue-country-code.css'
|
||||
import { serv_constants } from '@src/store/Modules/serv_constants'
|
||||
|
||||
import VueCountryCode from 'vue-country-code'
|
||||
import { registereduser } from '../../validation'
|
||||
import MixinBase from '../../mixins/mixin-base'
|
||||
import { CTitleBanner } from '../CTitleBanner'
|
||||
import { CDate } from '../../components/CDate'
|
||||
import { date } from 'quasar'
|
||||
import { CMyPage } from '@src/components/CMyPage'
|
||||
import MixinUsers from '@src/mixins/mixin-users'
|
||||
|
||||
Vue.use(VueCountryCode)
|
||||
// import {Loading, QSpinnerFacebook, QSpinnerGears} from 'quasar'
|
||||
|
||||
@Component({
|
||||
name: 'CSignUpIscrizioneConacreis',
|
||||
mixins: [validationMixin],
|
||||
validations,
|
||||
components: { Logo, CTitleBanner, CDate, CMyPage }
|
||||
})
|
||||
|
||||
export default class CSignUpIscrizioneConacreis extends MixinUsers {
|
||||
public $v
|
||||
public $q
|
||||
public $t: any
|
||||
public countryname: string = ''
|
||||
public iamadult: boolean = false
|
||||
|
||||
public duplicate_email: boolean = false
|
||||
public duplicate_username: boolean = false
|
||||
|
||||
public signup: ISignupIscrizioneConacreisOptions = {
|
||||
accetta_carta_costituzionale_on: false,
|
||||
newsletter_on: false,
|
||||
terms: false
|
||||
}
|
||||
|
||||
public created() {
|
||||
if (!!this.getMyUsername()) {
|
||||
this.signup.name = UserStore.state.my.name
|
||||
this.signup.surname = this.mySurname.toString()
|
||||
this.signup.email = this.Email
|
||||
this.signup.cell_phone = this.myCell.toString()
|
||||
}
|
||||
this.$v.$reset()
|
||||
}
|
||||
|
||||
get allowSubmit() {
|
||||
|
||||
const error = this.$v.$error || this.$v.$invalid
|
||||
|
||||
// console.log('v', this.$v, 'error', error, 'terms', this.signup.terms, 'carta', this.signup.accetta_carta_costituzionale_on)
|
||||
return !error && this.signup.terms && this.signup.accetta_carta_costituzionale_on
|
||||
}
|
||||
|
||||
public env() {
|
||||
return process.env
|
||||
}
|
||||
|
||||
public setDateOfBirth(param) {
|
||||
console.log('param', param)
|
||||
// this.signup.dateofbirth = tools.convertstrtoDate(arguments[0])
|
||||
this.signup.dateofbirth = new Date(arguments[0])
|
||||
}
|
||||
|
||||
public errorMsg(cosa: string, item: any) {
|
||||
try {
|
||||
if (!item.$error) {
|
||||
return ''
|
||||
}
|
||||
console.log('item', item)
|
||||
// console.log('errorMsg', cosa, item)
|
||||
if (item.$params.email && !item.email) {
|
||||
return this.$t('reg.err.email')
|
||||
}
|
||||
|
||||
// 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 !== undefined) {
|
||||
if (!item.required) {
|
||||
return this.$t('reg.err.required')
|
||||
}
|
||||
}
|
||||
|
||||
// console.log(' ....avanti')
|
||||
if (cosa === 'email') {
|
||||
// console.log("EMAIL " + item.isUnique);
|
||||
// console.log(item);
|
||||
if (!item.isUnique) {
|
||||
return this.$t('reg.err.duplicate_email')
|
||||
}
|
||||
} else if (cosa === 'username') {
|
||||
// console.log(item);
|
||||
console.log('username')
|
||||
console.log(item.$error)
|
||||
if (!item.isUnique) {
|
||||
return this.$t('reg.err.duplicate_username')
|
||||
}
|
||||
} else if ((cosa === 'name') || (cosa === 'surname')) {
|
||||
// console.log(item);
|
||||
}
|
||||
|
||||
return ''
|
||||
} catch (error) {
|
||||
// console.log("ERR : " + error);
|
||||
}
|
||||
}
|
||||
|
||||
public submitOk() {
|
||||
this.$v.signup.$touch()
|
||||
|
||||
this.signup.email = tools.removespaces(this.signup.email)
|
||||
this.signup.email = this.signup.email.toLowerCase()
|
||||
|
||||
this.signup.residency_country = tools.CapitalizeAllWords(this.signup.residency_country)
|
||||
this.signup.residency_address = tools.CapitalizeAllWords(this.signup.residency_address)
|
||||
this.signup.residency_city = tools.CapitalizeAllWords(this.signup.residency_city)
|
||||
this.signup.residency_province = this.signup.residency_province.toUpperCase()
|
||||
|
||||
this.duplicate_email = false
|
||||
this.duplicate_username = false
|
||||
|
||||
if (!this.signup.terms) {
|
||||
tools.showNotif(this.$q, this.$t('reg.err.terms'))
|
||||
return
|
||||
}
|
||||
|
||||
if (!this.signup.accetta_carta_costituzionale_on) {
|
||||
tools.showNotif(this.$q, this.$t('reg.err.accetta_carta_costituzionale_on'))
|
||||
return
|
||||
}
|
||||
|
||||
if (this.$v.signup.$error) {
|
||||
tools.showNotif(this.$q, this.$t('reg.err.errore_generico'))
|
||||
return
|
||||
}
|
||||
|
||||
this.signup.name = tools.CapitalizeAllWords(this.signup.name)
|
||||
this.signup.surname = tools.CapitalizeAllWords(this.signup.surname)
|
||||
this.signup.annoTesseramento = 2021
|
||||
|
||||
this.$q.loading.show({ message: this.$t('reg.iscrizioneincorso') })
|
||||
|
||||
console.log(this.signup)
|
||||
return UserStore.actions.iscrivitiConacreis(tools.clone(this.signup))
|
||||
.then((ris) => {
|
||||
if (tools.SignUpcheckErrors(this, ris.code, ris.msg))
|
||||
this.$q.loading.hide()
|
||||
}).catch((error) => {
|
||||
console.log('ERROR = ' + error)
|
||||
this.$q.loading.hide()
|
||||
})
|
||||
|
||||
}
|
||||
|
||||
public selectcountry({ name, iso2, dialCode }) {
|
||||
// console.log(name, iso2, dialCode)
|
||||
this.signup.residency_country = iso2
|
||||
this.countryname = name
|
||||
}
|
||||
|
||||
}
|
||||
233
src/components/CSignUpIscrizioneConacreis/CSignUpIscrizioneConacreis.vue
Executable file
233
src/components/CSignUpIscrizioneConacreis/CSignUpIscrizioneConacreis.vue
Executable file
@@ -0,0 +1,233 @@
|
||||
<template>
|
||||
<div>
|
||||
<div class="text-center">
|
||||
<logo></logo>
|
||||
<CTitleBanner :title="$t('pages.SignUpIscrizione')" :canopen="true" :visible="false">
|
||||
|
||||
<div class="q-gutter-xs">
|
||||
|
||||
<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"
|
||||
maxlength="30"
|
||||
:error-message="errorMsg('surname', $v.signup.surname)"
|
||||
:label="$t('reg.surname')">
|
||||
|
||||
<template v-slot:prepend>
|
||||
<q-icon name="person"/>
|
||||
</template>
|
||||
|
||||
</q-input>
|
||||
|
||||
<q-input
|
||||
v-model="signup.email"
|
||||
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')">
|
||||
|
||||
<template v-slot:prepend>
|
||||
<q-icon name="person"/>
|
||||
</template>
|
||||
|
||||
</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_address', $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_address', $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="signup.dateofbirth"
|
||||
debounce="1000"
|
||||
@blur="$v.signup.dateofbirth.$touch"
|
||||
:error="$v.signup.dateofbirth.$error"
|
||||
:error-message="errorMsg('dateofbirth', $v.signup.dateofbirth)"
|
||||
stack-label
|
||||
:label="$t('reg.dateofbirth')"
|
||||
rounded
|
||||
type="date"
|
||||
mask="date"
|
||||
fill-mask
|
||||
outlined>
|
||||
</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="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>
|
||||
|
||||
<!--<div v-if="!tools.isMobile()"><br></div>-->
|
||||
|
||||
<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>
|
||||
|
||||
<p class="q-ml-md text-center">
|
||||
Leggi
|
||||
<span class="underline"> <router-link to="/il-nostro-progetto" custom v-slot="{ navigate }">
|
||||
<span class="footer_link" @click="navigate" @keypress.enter="navigate" role="link">Il Nostro Progetto</span>
|
||||
</router-link></span>
|
||||
</p>
|
||||
|
||||
<q-checkbox
|
||||
v-model="signup.accetta_carta_costituzionale_on"
|
||||
color="secondary">
|
||||
<span v-html="$t('reg.accetta_carta_costituzionale_on')"></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)}`"
|
||||
:label="$t('reg.terms')">
|
||||
|
||||
</q-checkbox>
|
||||
|
||||
|
||||
<div class="wrapper">
|
||||
<q-btn rounded size="lg" color="positive" @click="submitOk" :disabled='!allowSubmit'
|
||||
:label="$t('reg.iscriviti')">
|
||||
</q-btn>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
</div>
|
||||
</CTitleBanner>
|
||||
<br>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script lang="ts" src="./CSignUpIscrizioneConacreis.ts">
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
@import './CSignUpIscrizioneConacreis.scss';
|
||||
</style>
|
||||
1
src/components/CSignUpIscrizioneConacreis/index.ts
Executable file
1
src/components/CSignUpIscrizioneConacreis/index.ts
Executable file
@@ -0,0 +1 @@
|
||||
export {default as CSignUpIscrizioneConacreis} from './CSignUpIscrizioneConacreis.vue'
|
||||
@@ -3,7 +3,7 @@
|
||||
<CSignIn :mythis="mythis"
|
||||
@loginOk="loginOk"
|
||||
@loginInCorso="loginInCorso"
|
||||
:showregbutt="false"
|
||||
:showregbutt="showregbutt"
|
||||
@checkErrors="checkErrors"
|
||||
@showNotif="showNotif">
|
||||
</CSignIn>
|
||||
|
||||
@@ -10,27 +10,12 @@
|
||||
myclass="myshad" canopen="true" :visible="true">
|
||||
|
||||
<div v-if="showconditions">
|
||||
<div v-if="toolsext.isLang('fr')">
|
||||
<CVideo myvideokey="GZR0ncSaG8s"></CVideo>
|
||||
</div>
|
||||
<div v-else>
|
||||
<CVideo myvideokey="DWfQzbOCK3s"></CVideo>
|
||||
</div>
|
||||
<CVideo myvideokey="DWfQzbOCK3s"></CVideo>
|
||||
</div>
|
||||
<div v-else>
|
||||
<div v-if="toolsext.isLang('si')">
|
||||
<CVideo myvideokey="5vJ-xSdoUmk"></CVideo>
|
||||
<div v-if="toolsext.isLang('it')">
|
||||
<CVideo myvideokey=""></CVideo>
|
||||
</div>
|
||||
<div v-else-if="toolsext.isLang('it')">
|
||||
<CVideo myvideokey="GU93sIBG6yM"></CVideo>
|
||||
</div>
|
||||
<div v-else-if="toolsext.isLang('hr')">
|
||||
<CVideo myvideokey="zBksb1vdddw"></CVideo>
|
||||
</div>
|
||||
<div v-else>
|
||||
<CVideo myvideokey="16VpLhir7xg"></CVideo>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</CTitleBanner>
|
||||
|
||||
|
||||
@@ -213,9 +213,6 @@ canvas {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
.underline {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.toolbar {
|
||||
min-height: 43px;
|
||||
|
||||
@@ -71,6 +71,9 @@ export default class Header extends Vue {
|
||||
get isSocioResidente() {
|
||||
return UserStore.state.my.profile.socioresidente
|
||||
}
|
||||
get isConsiglio() {
|
||||
return UserStore.state.my.profile.consiglio
|
||||
}
|
||||
|
||||
get getcolormenu() {
|
||||
return this.isSocio ? 'green-7' : 'white'
|
||||
@@ -379,7 +382,7 @@ export default class Header extends Vue {
|
||||
})
|
||||
}
|
||||
|
||||
get static_data(){
|
||||
get static_data() {
|
||||
return static_data
|
||||
}
|
||||
|
||||
@@ -412,8 +415,8 @@ export default class Header extends Vue {
|
||||
}
|
||||
|
||||
get getnumOrdersCart() {
|
||||
// const arrorderscart = Products.state.orders.filter((rec) => rec.status < shared_consts.OrderStatus.RECEIVED)
|
||||
const arrorderscart = Products.state.orders
|
||||
const arrorderscart = Products.state.orders.filter((rec) => rec.status < shared_consts.OrderStatus.RECEIVED)
|
||||
// const arrorderscart = Products.state.orders
|
||||
if (!!arrorderscart) {
|
||||
return arrorderscart.length
|
||||
}
|
||||
|
||||
@@ -183,9 +183,10 @@
|
||||
<div v-if="isLogged && isAdmin" class="text-weight-bold text-user bg-red q-px-xs">Admin</div>
|
||||
<div v-if="isSocio" class="text-weight-bold text-user q-px-xs">Socio</div>
|
||||
<div v-if="isSocioResidente" class="text-weight-bold text-user q-px-xs bg-amber">Residente</div>
|
||||
<div v-if="isConsiglio" class="text-weight-bold text-user q-px-xs bg-deep-orange-10">Consiglio</div>
|
||||
<div v-if="isManager" class="text-weight-bold text-user bg-blue q-px-xs">Segreteria</div>
|
||||
<div v-if="isTutor" class="text-weight-bold text-user q-px-xs">Tutor</div>
|
||||
<div v-if="isTratuttrici" class="text-weight-bold text-user q-px-xs">Traduttrici</div>
|
||||
<div v-if="isTratuttrici" class="text-weight-bold text-user q-px-xs">Editor</div>
|
||||
</div>
|
||||
<div v-if="!isLogged" class="text-user text-italic bg-red">
|
||||
{{ $t('user.loggati') }}
|
||||
@@ -208,8 +209,9 @@
|
||||
</div>
|
||||
<div style="margin-top:120px;"></div>
|
||||
<div v-show="!isLogged">
|
||||
|
||||
<div class="q-ma-md" style="">
|
||||
<CSigninNoreg :showregbutt="static_data.functionality.SHOW_REG_BUTTON">
|
||||
<CSigninNoreg :showregbutt="true">
|
||||
|
||||
</CSigninNoreg>
|
||||
</div>
|
||||
|
||||
@@ -26,6 +26,7 @@ export * from './CSignIn'
|
||||
export * from './CSignUp'
|
||||
export * from './CSignUpNotevole'
|
||||
export * from './CSignUpSIP'
|
||||
export * from './CSignUpIscrizioneConacreis'
|
||||
export * from './CEventsCalendar'
|
||||
export * from './CMySingleEvent'
|
||||
export * from './CDate'
|
||||
|
||||
@@ -2,10 +2,12 @@ import indexdb from './indexdb'
|
||||
import { GlobalStore } from '../store/Modules'
|
||||
|
||||
export default async (context, cmd, table, data = null, id = '') => {
|
||||
const descr = data !== null ? data.descr : ''
|
||||
// const descr = data !== null ? data.descr : ''
|
||||
// console.log('globalroutines', cmd, table, descr, id)
|
||||
return await indexdb(context, cmd, table, data, id)
|
||||
return indexdb(context, cmd, table, data, id)
|
||||
.then((ris) => {
|
||||
console.log('GlobalStore.state.connData', GlobalStore.state.connData)
|
||||
|
||||
setTimeout(() => {
|
||||
GlobalStore.state.connData.uploading_indexeddb = 0
|
||||
GlobalStore.state.connData.downloading_indexeddb = 0
|
||||
|
||||
@@ -89,41 +89,46 @@ function testfunc2() {
|
||||
|
||||
export default async (context, cmd, table, datakey = null, id = '') => {
|
||||
|
||||
// console.log('TABLE', table, 'cmd', cmd)
|
||||
if (cmd === 'loadapp') {
|
||||
// ****** LOAD APP AL CARICAMENTO ! *******
|
||||
return saveConfigIndexDb(context)
|
||||
try {
|
||||
// console.log('TABLE', table, 'cmd', cmd)
|
||||
if (cmd === 'loadapp') {
|
||||
// ****** LOAD APP AL CARICAMENTO ! *******
|
||||
return saveConfigIndexDb(context)
|
||||
|
||||
} else if (cmd === 'write') {
|
||||
if (GlobalStore) {
|
||||
GlobalStore.state.connData.uploading_indexeddb = 1
|
||||
} else if (cmd === 'write') {
|
||||
if (GlobalStore) {
|
||||
GlobalStore.state.connData.uploading_indexeddb = 1
|
||||
}
|
||||
return await storage.setdata(table, datakey)
|
||||
} else if (cmd === 'updatefromIndexedDbToState') {
|
||||
return await readfromIndexDbToState(context, table)
|
||||
} else if (cmd === 'readall') {
|
||||
if (GlobalStore) {
|
||||
GlobalStore.state.connData.downloading_indexeddb = 1
|
||||
console.log('getalldata table', table)
|
||||
}
|
||||
return await storage.getalldata(table)
|
||||
} else if (cmd === 'count') {
|
||||
return await storage.count(table)
|
||||
} else if (cmd === 'read') {
|
||||
if (GlobalStore) {
|
||||
GlobalStore.state.connData.downloading_indexeddb = 1
|
||||
}
|
||||
return await storage.getdata(table, id)
|
||||
} else if (cmd === 'delete') {
|
||||
if (GlobalStore) {
|
||||
GlobalStore.state.connData.uploading_indexeddb = 1
|
||||
}
|
||||
return await storage.deletedata(table, id)
|
||||
} else if (cmd === 'clearalldata') {
|
||||
if (GlobalStore) {
|
||||
GlobalStore.state.connData.uploading_indexeddb = 1
|
||||
}
|
||||
return await storage.clearalldata(table)
|
||||
} else if (cmd === 'log') {
|
||||
consolelogpao(table)
|
||||
}
|
||||
return await storage.setdata(table, datakey)
|
||||
} else if (cmd === 'updatefromIndexedDbToState') {
|
||||
return await readfromIndexDbToState(context, table)
|
||||
} else if (cmd === 'readall') {
|
||||
if (GlobalStore) {
|
||||
GlobalStore.state.connData.downloading_indexeddb = 1
|
||||
}
|
||||
return await storage.getalldata(table)
|
||||
} else if (cmd === 'count') {
|
||||
return await storage.count(table)
|
||||
} else if (cmd === 'read') {
|
||||
if (GlobalStore) {
|
||||
GlobalStore.state.connData.downloading_indexeddb = 1
|
||||
}
|
||||
return await storage.getdata(table, id)
|
||||
} else if (cmd === 'delete') {
|
||||
if (GlobalStore) {
|
||||
GlobalStore.state.connData.uploading_indexeddb = 1
|
||||
}
|
||||
return await storage.deletedata(table, id)
|
||||
} else if (cmd === 'clearalldata') {
|
||||
if (GlobalStore) {
|
||||
GlobalStore.state.connData.uploading_indexeddb = 1
|
||||
}
|
||||
return await storage.clearalldata(table)
|
||||
} else if (cmd === 'log') {
|
||||
consolelogpao(table)
|
||||
} catch (e) {
|
||||
console.error('error INDEXdb', e);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,14 +17,15 @@ export let idbKeyval = (() => {
|
||||
openreq.onupgradeneeded = () => {
|
||||
// First time setup: create an empty object store
|
||||
for (let mytab of ApiTables.MainTables) {
|
||||
openreq.result.createObjectStore(mytab, { keyPath: '_id' });
|
||||
openreq.result.createObjectStore(mytab, { keyPath: 'BOMID', autoIncrement: true });
|
||||
for (let mymeth of ApiTables.allMethod) {
|
||||
const tab = mymeth + mytab
|
||||
openreq.result.createObjectStore(tab, { keyPath: '_id' });
|
||||
openreq.result.createObjectStore(tab, { keyPath: 'BOMID', autoIncrement: true });
|
||||
}
|
||||
}
|
||||
for (let mytab of ApiTables.OtherTables) {
|
||||
openreq.result.createObjectStore(mytab, { keyPath: '_id' });
|
||||
console.log('mytab', mytab);
|
||||
openreq.result.createObjectStore(mytab, { keyPath: 'BOMID', autoIncrement: true });
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -85,12 +85,14 @@ export default class MenuOne extends Vue {
|
||||
menu += ' isManager'
|
||||
if (elem.onlySocioResidente)
|
||||
menu += ' isSocioResidente'
|
||||
if (elem.onlyConsiglio)
|
||||
menu += ' isConsiglio'
|
||||
if (elem.onlyDepartment)
|
||||
menu += ' isDepartment'
|
||||
if (elem.onlyTutor)
|
||||
menu += ' isTutor'
|
||||
if (elem.onlyTraduttrici)
|
||||
menu += ' isTraduttrici'
|
||||
if (elem.onlyEditor)
|
||||
menu += ' isEditor'
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -96,6 +96,10 @@ export default class MixinUsers extends Vue {
|
||||
return UserStore.state.my.surname
|
||||
}
|
||||
|
||||
get myCell() {
|
||||
return UserStore.state.my.profile.cell
|
||||
}
|
||||
|
||||
get Verificato() {
|
||||
return UserStore.state.my.verified_email
|
||||
}
|
||||
|
||||
@@ -26,6 +26,7 @@ export interface IEvents {
|
||||
nobookable?: boolean
|
||||
lunchAvailable?: boolean
|
||||
dinnerAvailable?: boolean
|
||||
dinnerSharedAvailable?: boolean
|
||||
lunchType?: number
|
||||
dinnerType?: number
|
||||
lunchPrice?: number
|
||||
@@ -45,6 +46,7 @@ export interface IBookedEvent {
|
||||
numpeople: number
|
||||
numpeopleLunch?: number
|
||||
numpeopleDinner?: number
|
||||
numpeopleDinnerShared?: number
|
||||
infoevent: string
|
||||
msgbooking: string
|
||||
datebooked?: Date
|
||||
|
||||
@@ -69,18 +69,46 @@ export interface IMyPage {
|
||||
path?: string
|
||||
keywords?: string
|
||||
description?: string
|
||||
img1?: string
|
||||
content?: string
|
||||
video1?: string
|
||||
img2?: string
|
||||
content2?: string
|
||||
video2?: string
|
||||
img3?: string
|
||||
content3?: string
|
||||
video3?: string
|
||||
content4?: string
|
||||
active?: boolean
|
||||
inmenu?: boolean
|
||||
color?: string
|
||||
onlyif_logged?: boolean
|
||||
only_residenti?: boolean
|
||||
only_consiglio?: boolean
|
||||
submenu?: boolean
|
||||
l_par?: number,
|
||||
l_child?: number,
|
||||
infooter?: boolean
|
||||
}
|
||||
|
||||
export interface ISites {
|
||||
_id?: string
|
||||
attiva?: boolean
|
||||
idapp?: string
|
||||
name?: string
|
||||
adminemail?: string
|
||||
manageremail?: string
|
||||
replyTo?: string
|
||||
host?: string
|
||||
portapp?: string
|
||||
dir?: string
|
||||
email_from?: string
|
||||
email_pwd?: string
|
||||
telegram_key?: string
|
||||
telegram_bot_name?: string
|
||||
pathreg_add?: string
|
||||
}
|
||||
|
||||
export interface INewsToSent {
|
||||
_id: string
|
||||
idapp?: string
|
||||
@@ -228,10 +256,12 @@ export interface IListRoutes {
|
||||
onlyif_logged?: boolean
|
||||
onlyManager?: boolean
|
||||
onlySocioResidente?: boolean
|
||||
onlyConsiglio?: boolean
|
||||
onlyNotSoci?: boolean
|
||||
onlyDepartment?: boolean
|
||||
onlyTutor?: boolean
|
||||
color?: string
|
||||
onlyTraduttrici?: boolean
|
||||
onlyEditor?: boolean
|
||||
extraclass?: string
|
||||
meta?: any
|
||||
idelem?: string
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
export interface IProduct {
|
||||
_id?: any
|
||||
active?: boolean
|
||||
idProducer?: string,
|
||||
idStorehouses?: string[],
|
||||
producer?: IProducer,
|
||||
@@ -111,9 +112,11 @@ export interface IOrderCart {
|
||||
totalPrice?: number
|
||||
department?: string
|
||||
items?: IBaseOrder[]
|
||||
nameSurname?: string
|
||||
status?: number
|
||||
note?: string
|
||||
modify_at?: Date
|
||||
completed_at?: Date
|
||||
}
|
||||
|
||||
export interface IShareWithUs {
|
||||
|
||||
@@ -123,7 +123,7 @@ export interface IUserState {
|
||||
isDepartment?: boolean
|
||||
isTutor?: boolean
|
||||
isZoomeri?: boolean
|
||||
isTraduttrici?: boolean
|
||||
isEditor?: boolean
|
||||
isTeacher?: boolean
|
||||
usersList?: IUserFields[]
|
||||
countusers?: number
|
||||
|
||||
@@ -13,3 +13,30 @@ export interface ISignupOptions {
|
||||
profile?: IUserProfile
|
||||
// already_registered: boolean
|
||||
}
|
||||
|
||||
export interface ISignupIscrizioneConacreisOptions {
|
||||
userId?: string
|
||||
name?: string
|
||||
surname?: string
|
||||
email?: string
|
||||
fiscalcode?: string
|
||||
residency_address?: string
|
||||
residency_city?: string
|
||||
residency_province?: string
|
||||
residency_country?: string
|
||||
residency_zipcode?: string
|
||||
dateofbirth?: Date
|
||||
cell_phone?: string
|
||||
newsletter_on?: boolean
|
||||
accetta_carta_costituzionale_on?: boolean
|
||||
iscrizione_compilata?: boolean
|
||||
annoTesseramento?: number
|
||||
motivazioni?: string
|
||||
competenze_professionalita?: string
|
||||
cosa_potrei_offrire?: string
|
||||
cosa_vorrei_ricevere?: string
|
||||
altre_comunicazioni?: string
|
||||
come_ci_hai_conosciuto?: string
|
||||
terms?: boolean
|
||||
note?: string
|
||||
}
|
||||
|
||||
@@ -51,7 +51,7 @@ export default class Eventlist extends Vue {
|
||||
let add = true
|
||||
|
||||
if (!this.showall) {
|
||||
add = CalendarStore.getters.getNumParticipants(myevent, this.showall, 0) > 0
|
||||
add = CalendarStore.getters.getNumParticipants(myevent, this.showall, tools.peopleWhere.participants) > 0
|
||||
}
|
||||
|
||||
if (add) {
|
||||
@@ -78,7 +78,7 @@ export default class Eventlist extends Vue {
|
||||
eventsloc.reverse()
|
||||
}
|
||||
|
||||
return eventsloc
|
||||
return eventsloc.filter((rec) => rec.title !== '')
|
||||
}
|
||||
|
||||
public getNumEvent() {
|
||||
@@ -96,7 +96,7 @@ export default class Eventlist extends Vue {
|
||||
let add = true
|
||||
|
||||
if (!this.showall) {
|
||||
add = CalendarStore.getters.getNumParticipants(myevent, this.showall, 0) > 0
|
||||
add = CalendarStore.getters.getNumParticipants(myevent, this.showall, tools.peopleWhere.participants) > 0
|
||||
}
|
||||
|
||||
if (add) {
|
||||
|
||||
@@ -29,6 +29,9 @@
|
||||
<th v-if="showall">
|
||||
{{ $t('cal.selnumpeopleDinner') }}
|
||||
</th>
|
||||
<th v-if="showall">
|
||||
{{ $t('cal.selnumpeopleDinnerShared') }}
|
||||
</th>
|
||||
<th>{{ $t('cal.peoplebooked') }}</th>
|
||||
</thead>
|
||||
|
||||
@@ -46,16 +49,20 @@
|
||||
</div>
|
||||
</td>
|
||||
<td v-if="showall">
|
||||
<div class="text-center">{{ getNumParticipants(event, showall, '') }}</div>
|
||||
<div class="text-center">{{ getNumParticipants(event, showall, tools.peopleWhere.participants) }}</div>
|
||||
</td>
|
||||
<td v-if="showall">
|
||||
<div class="text-center">{{ getNumParticipants(event, showall, 'lunch') }}</div>
|
||||
<div class="text-center">{{ getNumParticipants(event, showall, tools.peopleWhere.lunch) }}</div>
|
||||
</td>
|
||||
<td v-if="showall">
|
||||
<div class="text-center">{{ getNumParticipants(event, showall, 'dinner') }}</div>
|
||||
<div class="text-center">{{ getNumParticipants(event, showall, tools.peopleWhere.dinner) }}</div>
|
||||
</td>
|
||||
<td v-if="showall">
|
||||
<div class="text-center">{{ getNumParticipants(event, showall, tools.peopleWhere.dinnerShared) }}</div>
|
||||
</td>
|
||||
|
||||
<td class="text-center">
|
||||
<q-btn v-if="getNumParticipants(event, showall) > 0"
|
||||
<q-btn v-if="getNumParticipants(event, showall, tools.peopleWhere.participants) > 0"
|
||||
dense
|
||||
round
|
||||
@click="showpeople = true; eventsel = event"
|
||||
@@ -79,7 +86,7 @@
|
||||
<thead>
|
||||
<th>Data</th>
|
||||
<th>Messaggio</th>
|
||||
<th>Num</th>
|
||||
<th>Partec</th>
|
||||
<th>Azione</th>
|
||||
</thead>
|
||||
|
||||
@@ -96,13 +103,10 @@
|
||||
{{ eventbook.msgbooking }}
|
||||
</td>
|
||||
<td class="text-center">
|
||||
{{ eventbook.numpeople }}
|
||||
</td>
|
||||
<td class="text-center">
|
||||
{{ eventbook.numpeopleLunch }}
|
||||
</td>
|
||||
<td class="text-center">
|
||||
{{ eventbook.numpeopleDinner }}
|
||||
<span v-if="eventbook.numpeople > 0">Partecipanti: {{ eventbook.numpeople }}<br></span>
|
||||
<span v-if="eventbook.numpeopleLunch > 0">Pranzo: {{ eventbook.numpeopleLunch }}<br></span>
|
||||
<span v-if="eventbook.numpeopleDinner > 0">Cena: {{ eventbook.numpeopleDinner }}<br></span>
|
||||
<span v-if="eventbook.numpeopleDinnerShared > 0">Cena Condivisa: {{ eventbook.numpeopleDinnerShared }}<br></span>
|
||||
</td>
|
||||
<td class="text-center">
|
||||
<q-btn flat round color="red" icon="fas fa-trash-alt" size="sm"
|
||||
|
||||
0
src/rootgen/admin/iscritticonacreis/iscritticonacreis.scss
Executable file
0
src/rootgen/admin/iscritticonacreis/iscritticonacreis.scss
Executable file
40
src/rootgen/admin/iscritticonacreis/iscritticonacreis.ts
Executable file
40
src/rootgen/admin/iscritticonacreis/iscritticonacreis.ts
Executable file
@@ -0,0 +1,40 @@
|
||||
import { Component, Prop } from 'vue-property-decorator'
|
||||
|
||||
import { tools } from '../../../store/Modules/tools'
|
||||
import { static_data } from '../../../db/static_data'
|
||||
|
||||
import { colTableIscrittiConacreis } from '@src/store/Modules/fieldsTable'
|
||||
|
||||
import { CImgText } from '../../../components/CImgText/index'
|
||||
import { CCard, CGridTableRec, CMyPage, CTitleBanner } from '@components'
|
||||
import MixinMetaTags from '../../../mixins/mixin-metatags'
|
||||
import MixinBase from '@src/mixins/mixin-base'
|
||||
|
||||
@Component({
|
||||
mixins: [MixinBase],
|
||||
components: { CImgText, CCard, CMyPage, CTitleBanner, CGridTableRec }
|
||||
})
|
||||
export default class SitesPage extends MixinMetaTags {
|
||||
public pagination = {
|
||||
sortBy: 'name',
|
||||
descending: false,
|
||||
page: 2,
|
||||
rowsPerPage: 5
|
||||
// rowsNumber: xx if getting data from a server
|
||||
}
|
||||
|
||||
public selected = []
|
||||
public dataPages = []
|
||||
|
||||
get getcolIscrittiConacreis() {
|
||||
return colTableIscrittiConacreis
|
||||
}
|
||||
|
||||
public meta() {
|
||||
return tools.metafunc(this)
|
||||
}
|
||||
|
||||
get static_data() {
|
||||
return static_data
|
||||
}
|
||||
}
|
||||
28
src/rootgen/admin/iscritticonacreis/iscritticonacreis.vue
Executable file
28
src/rootgen/admin/iscritticonacreis/iscritticonacreis.vue
Executable file
@@ -0,0 +1,28 @@
|
||||
<template>
|
||||
<CMyPage title="Iscritti Conacreis" imgbackground="../../statics/images/iscritti_conacreis.jpg" sizes="max-height: 120px">
|
||||
<span>{{ setmeta({
|
||||
title: 'Iscritti Conacreis',
|
||||
description: "",
|
||||
keywords: '' } ) }}
|
||||
</span>
|
||||
|
||||
|
||||
<div class="q-ma-sm q-gutter-sm q-pa-xs">
|
||||
<CTitleBanner title="Iscritti Conacreis"></CTitleBanner>
|
||||
<CGridTableRec prop_mytable="iscritticonacreis"
|
||||
prop_mytitle="Iscritti Conacreis"
|
||||
:prop_mycolumns="getcolIscrittiConacreis"
|
||||
prop_colkey="name"
|
||||
nodataLabel="Nessun Iscritto Conacreis"
|
||||
noresultLabel="Il filtro selezionato non ha trovato nessun risultato">
|
||||
|
||||
</CGridTableRec>
|
||||
</div>
|
||||
</CMyPage>
|
||||
</template>
|
||||
<script lang="ts" src="./iscritticonacreis.ts">
|
||||
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
@import 'iscritticonacreis.scss';
|
||||
</style>
|
||||
0
src/rootgen/admin/sites/sites.scss
Executable file
0
src/rootgen/admin/sites/sites.scss
Executable file
44
src/rootgen/admin/sites/sites.ts
Executable file
44
src/rootgen/admin/sites/sites.ts
Executable file
@@ -0,0 +1,44 @@
|
||||
import Vue from 'vue'
|
||||
import { Component, Prop } from 'vue-property-decorator'
|
||||
import { GlobalStore, UserStore } from '@store'
|
||||
|
||||
import { tools } from '../../../store/Modules/tools'
|
||||
import { toolsext } from '../../../store/Modules/toolsext'
|
||||
import { static_data } from '../../../db/static_data'
|
||||
import { Screen } from 'quasar'
|
||||
|
||||
import { colTableSites } from '@src/store/Modules/fieldsTable'
|
||||
|
||||
import { CImgText } from '../../../components/CImgText/index'
|
||||
import { CCard, CGridTableRec, CMyPage, CTitleBanner } from '@components'
|
||||
import MixinMetaTags from '../../../mixins/mixin-metatags'
|
||||
import MixinBase from '@src/mixins/mixin-base'
|
||||
|
||||
@Component({
|
||||
mixins: [MixinBase],
|
||||
components: { CImgText, CCard, CMyPage, CTitleBanner, CGridTableRec }
|
||||
})
|
||||
export default class SitesPage extends MixinMetaTags {
|
||||
public pagination = {
|
||||
sortBy: 'name',
|
||||
descending: false,
|
||||
page: 2,
|
||||
rowsPerPage: 5
|
||||
// rowsNumber: xx if getting data from a server
|
||||
}
|
||||
|
||||
public selected = []
|
||||
public dataPages = []
|
||||
|
||||
get getcolSites() {
|
||||
return colTableSites
|
||||
}
|
||||
|
||||
public meta() {
|
||||
return tools.metafunc(this)
|
||||
}
|
||||
|
||||
get static_data() {
|
||||
return static_data
|
||||
}
|
||||
}
|
||||
28
src/rootgen/admin/sites/sites.vue
Executable file
28
src/rootgen/admin/sites/sites.vue
Executable file
@@ -0,0 +1,28 @@
|
||||
<template>
|
||||
<CMyPage title="Siti" imgbackground="../../statics/images/siti.jpg" sizes="max-height: 120px">
|
||||
<span>{{ setmeta({
|
||||
title: 'Siti',
|
||||
description: "",
|
||||
keywords: '' } ) }}
|
||||
</span>
|
||||
|
||||
|
||||
<div class="q-ma-sm q-gutter-sm q-pa-xs">
|
||||
<CTitleBanner title="Siti Web"></CTitleBanner>
|
||||
<CGridTableRec prop_mytable="sites"
|
||||
prop_mytitle="Lista Siti"
|
||||
:prop_mycolumns="getcolSites"
|
||||
prop_colkey="name"
|
||||
nodataLabel="Nessun Sito"
|
||||
noresultLabel="Il filtro selezionato non ha trovato nessun risultato">
|
||||
|
||||
</CGridTableRec>
|
||||
</div>
|
||||
</CMyPage>
|
||||
</template>
|
||||
<script lang="ts" src="./sites.ts">
|
||||
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
@import 'sites.scss';
|
||||
</style>
|
||||
@@ -219,7 +219,7 @@ const msg_es = {
|
||||
nave_in_chiusura: 'Cierre Gift Chat',
|
||||
nave_partita: 'partió en',
|
||||
tutor: 'Tutor',
|
||||
traduttrici: 'Traduttrici',
|
||||
Editor: 'Editor',
|
||||
/*Cuando te conviertes en Mediador vienes contactado por un <strong>TUTOR</strong>, con él debes:<br><ol class="lista">' +
|
||||
'<li>Abrir tu <strong>Gift Chat</strong> (tu como propietario, y el Tutor ' +
|
||||
'como administrador) con este nombre:<br><strong>{nomenave}</strong></li>' +
|
||||
|
||||
@@ -40,6 +40,7 @@ const msg_it = {
|
||||
eventlist: 'Le tue Prenotazioni',
|
||||
usereventlist: 'Prenotazioni Utenti',
|
||||
userlist: 'Lista Utenti',
|
||||
iscritticonacreis: "Iscritti Conacreis",
|
||||
zoomlist: 'Calendario Zoom',
|
||||
extralist: 'Lista Extra',
|
||||
dbop: 'Db Operations',
|
||||
@@ -186,6 +187,7 @@ const msg_it = {
|
||||
login: {
|
||||
facebook: 'Facebook'
|
||||
},
|
||||
iscrizione_ok: 'Iscrizione Avvenuta Correttamente',
|
||||
email_verification: {
|
||||
title: 'Inizia la tua registrazione',
|
||||
introduce_email: 'inserisci la tua email',
|
||||
@@ -247,7 +249,7 @@ const msg_it = {
|
||||
nave_in_chiusura: 'Chiusura Gift Chat',
|
||||
nave_partita: 'Partita il',
|
||||
tutor: 'Tutor',
|
||||
traduttrici: 'Traduttrici',
|
||||
Editor: 'Editor',
|
||||
zoomeri: 'Zoomeri',
|
||||
/* sonomediatore: 'Quando diventi Meditore vieni contattato da un <strong>TUTOR</strong>, con lui devi:<br><ol class="lista">' +
|
||||
'<li>Aprire la tua <strong>Gift Chat</strong> (tu come proprietario e il Tutor ' +
|
||||
@@ -324,6 +326,7 @@ const msg_it = {
|
||||
reg: {
|
||||
socio: 'Socio',
|
||||
socioresidente: 'Residente',
|
||||
consiglio: 'Consiglio',
|
||||
volta: 'volta',
|
||||
volte: 'volte',
|
||||
registered: 'Registrato',
|
||||
@@ -364,10 +367,11 @@ const msg_it = {
|
||||
made_gift: 'Dono',
|
||||
note: 'Note',
|
||||
incorso: 'Registrazione in corso...',
|
||||
iscrizioneincorso: 'Iscrizione in corso...',
|
||||
richiesto: 'Campo Richiesto',
|
||||
email: 'Email',
|
||||
intcode_cell: 'Prefisso Int.',
|
||||
cell: 'Cellulare Telegram',
|
||||
cell: 'Cellulare',
|
||||
cellreg: 'Cellulare con cui ti eri registrato',
|
||||
nationality: 'Nazionalità',
|
||||
email_paypal: 'Email Paypal',
|
||||
@@ -422,6 +426,16 @@ const msg_it = {
|
||||
resp: "Responsabile",
|
||||
viceResp: "Vice Rrsponsabile",
|
||||
userslist: "Lista Persone",
|
||||
fiscalcode: "Codice Fiscale",
|
||||
residency_address: "Indirizzo di Residenza",
|
||||
residency_city: "Città di Residenza",
|
||||
residency_province: "Provincia",
|
||||
residency_zipcode: "CAP",
|
||||
dateofbirth: "Data di Nascita",
|
||||
newsletter_on: "Aggiungimi alla Newsletter",
|
||||
accetta_carta_costituzionale_on: "Ho letto ed Approvo il Progetto",
|
||||
iscriviti: "Iscriviti",
|
||||
|
||||
err: {
|
||||
required: 'è richiesto',
|
||||
email: 'inserire una email valida',
|
||||
@@ -442,6 +456,7 @@ const msg_it = {
|
||||
aportador_regalare_not_exist: 'Inserire l\'Username della persona che si vuole regalare l\'invitato',
|
||||
invitante_username_not_exist: 'Inserire l\'Username della persona che fa da invitante',
|
||||
sameaspassword: 'Le password devono essere identiche',
|
||||
accetta_carta_costituzionale_on: 'Occorre accettare la sintesi della Carta Costituzionale',
|
||||
},
|
||||
tips: {
|
||||
email: 'inserisci la tua email',
|
||||
@@ -470,7 +485,7 @@ const msg_it = {
|
||||
errato: "Username o password errata. Riprovare",
|
||||
subaccount: "Questo account è stato accorpato con il vostro Principale. Eseguire l'accesso utilizzando l'username (o email) del PRIMO account.",
|
||||
completato: 'Login effettuato!',
|
||||
needlogin: 'E\' necessario effettuare il login prima di continuare'
|
||||
needlogin: 'E\' necessario registrarsi al sito ed effettuare l\'Accesso con i propri dati'
|
||||
},
|
||||
reset: {
|
||||
title_reset_pwd: "Reimposta la tua Password",
|
||||
@@ -594,8 +609,10 @@ const msg_it = {
|
||||
selnumpeople: 'Partecipanti',
|
||||
Lunch: 'Pranzo',
|
||||
Dinner: 'Cena',
|
||||
DinnerShared: 'Cena Condivisa',
|
||||
selnumpeopleLunch: 'Persone a Pranzo',
|
||||
selnumpeopleDinner: 'Persone a Cena',
|
||||
selnumpeopleDinnerShared: 'Persone a Cena Condivisa',
|
||||
selnumpeople_short: 'Num',
|
||||
msgbooking: 'Messaggio da inviare',
|
||||
showpdf: 'Vedi PDF',
|
||||
@@ -640,6 +657,7 @@ const msg_it = {
|
||||
internal: 'Evento Interno',
|
||||
lunchAvailable: 'Disponibilità di Pranzare',
|
||||
dinnerAvailable: 'Disponibilità di Cenare',
|
||||
dinnerSharedAvailable: 'Disponibilità di Cenare Condivisa',
|
||||
lunchType: 'Tipo di Pranzo',
|
||||
dinnerType: 'Tipo di Cena',
|
||||
lunchPrezzo: 'Contributo Pranzo',
|
||||
|
||||
@@ -6,7 +6,7 @@ import { serv_constants } from '@src/store/Modules/serv_constants'
|
||||
import { tools } from '@src/store/Modules/tools'
|
||||
import { toolsext } from '@src/store/Modules/toolsext'
|
||||
|
||||
export const OtherTables = ['categories', 'config', 'swmsg']
|
||||
export const OtherTables = ['config', 'swmsg']
|
||||
// export const MainTables = ['todos', 'projects']
|
||||
export const MainTables = []
|
||||
export const allMethod = ['sync_post_', 'sync_patch_', 'delete_', 'hide_']
|
||||
|
||||
@@ -769,6 +769,38 @@ namespace Actions {
|
||||
})
|
||||
}
|
||||
|
||||
async function loadPage(context, path: string) {
|
||||
|
||||
path = path.substring(1)
|
||||
const mypage = GlobalStore.getters.getPage('/' + path)
|
||||
|
||||
// Controlla se l'ho già caricato
|
||||
if (!!mypage && !!mypage.content) {
|
||||
return mypage
|
||||
}
|
||||
|
||||
console.log('loadPage', path)
|
||||
|
||||
return await Api.SendReq('/getpage', 'POST', { path })
|
||||
.then((res) => {
|
||||
// console.table(res)
|
||||
if (res) {
|
||||
const index = GlobalStore.state.mypage.findIndex((rec) => rec.path === path)
|
||||
if (index >= 0) {
|
||||
GlobalStore.state.mypage[index] = res.data.mypage
|
||||
}
|
||||
return res.data.mypage
|
||||
} else {
|
||||
return null
|
||||
}
|
||||
})
|
||||
.catch((error) => {
|
||||
console.log('error loadTable', error)
|
||||
UserStore.mutations.setErrorCatch(error)
|
||||
return null
|
||||
})
|
||||
}
|
||||
|
||||
async function saveTable(context, mydata: object) {
|
||||
// console.log('saveTable', mydata)
|
||||
|
||||
@@ -1228,11 +1260,13 @@ namespace Actions {
|
||||
component: () => import('@/root/mypage/mypage.vue'),
|
||||
inmenu: page.inmenu,
|
||||
onlySocioResidente: page.only_residenti,
|
||||
onlyConsiglio: page.only_consiglio,
|
||||
color: page.color,
|
||||
infooter: page.infooter,
|
||||
onlyif_logged: page.onlyif_logged,
|
||||
level_child: page.l_child,
|
||||
level_parent: page.l_par
|
||||
level_parent: page.l_par,
|
||||
submenu: page.submenu
|
||||
})
|
||||
}
|
||||
}
|
||||
@@ -1316,6 +1350,7 @@ namespace Actions {
|
||||
askFunz: b.dispatch(askFunz),
|
||||
sendPushNotif: b.dispatch(sendPushNotif),
|
||||
loadTable: b.dispatch(loadTable),
|
||||
loadPage: b.dispatch(loadPage),
|
||||
saveTable: b.dispatch(saveTable),
|
||||
DeleteRec: b.dispatch(DeleteRec),
|
||||
DeleteFile: b.dispatch(DeleteFile),
|
||||
|
||||
@@ -73,11 +73,22 @@ namespace Getters {
|
||||
return state.cart
|
||||
}, 'getCart')
|
||||
|
||||
const getOrdersAllCart = b.read((stateparamf: IProductsState) => (): IOrderCart[] => {
|
||||
return state.orders
|
||||
}, 'getOrdersAllCart')
|
||||
|
||||
const getOrdersCart = b.read((stateparamf: IProductsState) => (tipoord: string): IOrderCart[] => {
|
||||
console.log('state.orders', state.orders)
|
||||
if (tipoord === 'incorso')
|
||||
return state.orders.filter((rec) => rec.status <= shared_consts.OrderStatus.CHECKOUT_SENT)
|
||||
else
|
||||
return state.orders.filter((rec) => rec.status < shared_consts.OrderStatus.RECEIVED && rec.status > shared_consts.OrderStatus.CHECKOUT_SENT)
|
||||
else if (tipoord === 'confermati')
|
||||
return state.orders.filter((rec) => rec.status === shared_consts.OrderStatus.ORDER_CONFIRMED)
|
||||
else if (tipoord === 'pagati')
|
||||
return state.orders.filter((rec) => rec.status === shared_consts.OrderStatus.PAYED)
|
||||
else if (tipoord === 'completati')
|
||||
return state.orders.filter((rec) => rec.status === shared_consts.OrderStatus.RECEIVED)
|
||||
else if (tipoord === 'cancellati')
|
||||
return state.orders.filter((rec) => rec.status === shared_consts.OrderStatus.CANCELED)
|
||||
}, 'getOrdersCart')
|
||||
|
||||
const existProductInCart = b.read((stateparamf: IProductsState) => (idproduct): boolean => {
|
||||
@@ -93,6 +104,7 @@ namespace Getters {
|
||||
|
||||
const objproduct: IProduct = {
|
||||
// _id: tools.getDateNow().toISOString(), // Create NEW
|
||||
active: false,
|
||||
idProducer: '',
|
||||
idStorehouses: [],
|
||||
producer: null,
|
||||
@@ -130,6 +142,9 @@ namespace Getters {
|
||||
get getOrdersCart() {
|
||||
return getOrdersCart()
|
||||
},
|
||||
get getOrdersAllCart() {
|
||||
return getOrdersAllCart()
|
||||
},
|
||||
get existProductInCart() {
|
||||
return existProductInCart()
|
||||
},
|
||||
@@ -365,12 +380,35 @@ namespace Actions {
|
||||
return ris
|
||||
}
|
||||
|
||||
async function UpdateOrderStatus(context, { order_id, status }) {
|
||||
|
||||
if (!static_data.functionality.ENABLE_ECOMMERCE)
|
||||
return null
|
||||
|
||||
// console.log('addSubQtyToItem', 'userid=', UserStore.state.my._id, order)
|
||||
|
||||
let ris = null
|
||||
|
||||
ris = await Api.SendReq('/cart/' + UserStore.state.my._id + '/orderstatus', 'POST', { order_id, status })
|
||||
.then((res) => {
|
||||
return res.data.status
|
||||
})
|
||||
.catch((error) => {
|
||||
console.log('error UpdateOrderStatus', error)
|
||||
UserStore.mutations.setErrorCatch(error)
|
||||
return new Types.AxiosError(serv_constants.RIS_CODE_ERR, null, tools.ERR_GENERICO, error)
|
||||
})
|
||||
|
||||
return ris
|
||||
}
|
||||
|
||||
export const actions = {
|
||||
loadProduct: b.dispatch(loadProduct),
|
||||
loadProducts: b.dispatch(loadProducts),
|
||||
addToCart: b.dispatch(addToCart),
|
||||
addSubQtyToItem: b.dispatch(addSubQtyToItem),
|
||||
UpdateStatusCart: b.dispatch(UpdateStatusCart),
|
||||
UpdateOrderStatus: b.dispatch(UpdateOrderStatus),
|
||||
removeFromCart: b.dispatch(removeFromCart),
|
||||
loadOrders: b.dispatch(loadOrders),
|
||||
}
|
||||
|
||||
@@ -54,12 +54,24 @@ namespace Getters {
|
||||
return mystate.bookedevent.find((bookedevent) => (bookedevent.id_bookedevent === myevent._id) && (bookedevent.userId === UserStore.state.my._id) && ((isconfirmed && bookedevent.booked) || (!isconfirmed)))
|
||||
}, 'findEventBooked')
|
||||
|
||||
const getNumParticipants = b.read((mystate: ICalendarState) => (myevent: IEvents, showall, tipo) => {
|
||||
const myarr = mystate.bookedevent.filter((bookedevent) => (bookedevent.id_bookedevent === myevent._id) && (bookedevent.booked) && (showall || (!showall && bookedevent.userId === UserStore.state.my._id) ) && ((tipo === '') || ((tipo === 'lunch' && bookedevent.numpeopleLunch) || (tipo === 'dinner' && bookedevent.numpeopleDinner) )))
|
||||
if (myarr)
|
||||
return myarr.reduce((sum, bookedevent) => sum + bookedevent.numpeople, 0)
|
||||
else
|
||||
const getNumParticipants = b.read((mystate: ICalendarState) => (myevent: IEvents, showall, tipo = 0): number => {
|
||||
const myarr = mystate.bookedevent.filter((bookedevent) => (bookedevent.id_bookedevent === myevent._id) && (bookedevent.booked) && (showall || (!showall && bookedevent.userId === UserStore.state.my._id) ) && ( ((tipo === tools.peopleWhere.participants) && bookedevent.numpeople) || ((tipo === tools.peopleWhere.lunch && bookedevent.numpeopleLunch) || (tipo === tools.peopleWhere.dinner && bookedevent.numpeopleDinner) || (tipo === tools.peopleWhere.dinnerShared && bookedevent.numpeopleDinnerShared) )))
|
||||
if (myarr.length > 0) {
|
||||
let ris = null
|
||||
if (tipo === tools.peopleWhere.participants) {
|
||||
ris = myarr.reduce((sum, bookedevent) => sum + bookedevent.numpeople, 0)
|
||||
}else if (tipo === tools.peopleWhere.lunch) {
|
||||
ris = myarr.reduce((sum, bookedevent) => sum + bookedevent.numpeopleLunch, 0)
|
||||
}else if (tipo === tools.peopleWhere.dinner) {
|
||||
ris = myarr.reduce((sum, bookedevent) => sum + bookedevent.numpeopleDinner, 0)
|
||||
}else if (tipo === tools.peopleWhere.dinnerShared) {
|
||||
ris = myarr.reduce((sum, bookedevent) => sum + bookedevent.numpeopleDinnerShared, 0)
|
||||
}
|
||||
|
||||
return ris
|
||||
} else {
|
||||
return 0
|
||||
}
|
||||
}, 'getNumParticipants')
|
||||
|
||||
const getEventsBookedByIdEvent = b.read((mystate: ICalendarState) => (idevent, showall) => {
|
||||
@@ -67,8 +79,7 @@ namespace Getters {
|
||||
}, 'getEventsBookedByIdEvent')
|
||||
|
||||
const getWhereRec = b.read((mystate: ICalendarState) => (wherecode) => {
|
||||
const whererec = mystate.wheres.find((mywhere) => mywhere.code === wherecode)
|
||||
return (whererec)
|
||||
return mystate.wheres.find((mywhere) => mywhere.code === wherecode)
|
||||
|
||||
}, 'getWhereRec')
|
||||
|
||||
@@ -159,6 +170,7 @@ namespace Actions {
|
||||
numpeople: bookevent.numpeople,
|
||||
numpeopleLunch: bookevent.numpeopleLunch,
|
||||
numpeopleDinner: bookevent.numpeopleDinner,
|
||||
numpeopleDinnerShared: bookevent.numpeopleDinnerShared,
|
||||
msgbooking: bookevent.msgbooking,
|
||||
datebooked: bookevent.datebooked,
|
||||
userId: UserStore.state.my._id,
|
||||
@@ -172,9 +184,10 @@ namespace Actions {
|
||||
|
||||
const param = getparambyevent(bookevent)
|
||||
|
||||
return await Api.SendReq('/booking', 'POST', param)
|
||||
return Api.SendReq('/booking', 'POST', param)
|
||||
.then((res) => {
|
||||
if (res.status === 200) {
|
||||
console.log('datares', res.data);
|
||||
if (res.data.code === serv_constants.RIS_CODE_OK) {
|
||||
bookevent._id = res.data.id
|
||||
if (bookevent.modified) {
|
||||
|
||||
@@ -1,5 +1,13 @@
|
||||
import Api from '@api'
|
||||
import { ISignupOptions, ISigninOptions, IUserState, IUserFields, IUserProfile, ICalcStat } from 'model'
|
||||
import {
|
||||
ISignupOptions,
|
||||
ISigninOptions,
|
||||
IUserState,
|
||||
IUserFields,
|
||||
IUserProfile,
|
||||
ICalcStat,
|
||||
ISignupIscrizioneConacreisOptions
|
||||
} from 'model'
|
||||
import { ILinkReg, IResult, IIdToken, IToken } from 'model/other'
|
||||
import { storeBuilder } from './Store/Store'
|
||||
import router from '@router'
|
||||
@@ -107,7 +115,7 @@ const state: IUserState = {
|
||||
isDepartment: false,
|
||||
isTutor: false,
|
||||
isZoomeri: false,
|
||||
isTraduttrici: false,
|
||||
isEditor: false,
|
||||
usersList: [],
|
||||
countusers: 0,
|
||||
lastparamquery: {}
|
||||
@@ -345,7 +353,7 @@ namespace Mutations {
|
||||
mystate.isZoomeri = tools.isBitActive(mystate.my.perm, shared_consts.Permissions.Zoomeri.value)
|
||||
mystate.isDepartment = tools.isBitActive(mystate.my.perm, shared_consts.Permissions.Department.value)
|
||||
mystate.isTeacher = tools.isBitActive(mystate.my.perm, shared_consts.Permissions.Teacher.value)
|
||||
mystate.isTraduttrici = tools.isBitActive(mystate.my.perm, shared_consts.Permissions.Traduttrici.value)
|
||||
mystate.isEditor = tools.isBitActive(mystate.my.perm, shared_consts.Permissions.Editor.value)
|
||||
|
||||
// console.log('authUser', 'state.isAdmin', mystate.isAdmin)
|
||||
// console.table(mystate)
|
||||
@@ -764,6 +772,30 @@ namespace Actions {
|
||||
})
|
||||
}
|
||||
|
||||
async function iscrivitiConacreis(context, authData: ISignupIscrizioneConacreisOptions) {
|
||||
console.log('iscrivitiConacreis')
|
||||
|
||||
// console.log("PASSW: " + authData.password);
|
||||
|
||||
Mutations.mutations.setServerCode(tools.CALLING)
|
||||
|
||||
authData.userId = UserStore.state.my._id
|
||||
|
||||
return Api.SendReq('/iscritti_conacreis', 'POST', authData)
|
||||
.then((res) => {
|
||||
if (res.status === 200) {
|
||||
return { code: serv_constants.RIS_ISCRIZIONE_OK, msg: '' }
|
||||
} else {
|
||||
return { code: tools.ERR_GENERICO, msg: '' }
|
||||
}
|
||||
}).catch((error) => {
|
||||
console.log('Err', error)
|
||||
UserStore.mutations.setErrorCatch(error)
|
||||
return { code: UserStore.getters.getServerCode, msg: UserStore.getters.getMsg }
|
||||
})
|
||||
|
||||
}
|
||||
|
||||
async function signin(context, authData: ISigninOptions) {
|
||||
// console.log('LOGIN signin')
|
||||
|
||||
@@ -791,7 +823,10 @@ namespace Actions {
|
||||
}
|
||||
|
||||
const options = {
|
||||
title: tools.translate('notification.title_subscribed', [{strin: 'sitename', strout: translate('ws.sitename')}]),
|
||||
title: tools.translate('notification.title_subscribed', [{
|
||||
strin: 'sitename',
|
||||
strout: translate('ws.sitename')
|
||||
}]),
|
||||
content: translate('notification.subscribed'),
|
||||
openUrl: '/'
|
||||
}
|
||||
@@ -1068,6 +1103,7 @@ namespace Actions {
|
||||
resetpwd: b.dispatch(resetpwd),
|
||||
signin: b.dispatch(signin),
|
||||
signup: b.dispatch(signup),
|
||||
iscrivitiConacreis: b.dispatch(iscrivitiConacreis),
|
||||
vreg: b.dispatch(vreg),
|
||||
unsubscribe: b.dispatch(unsubscribe),
|
||||
importemail: b.dispatch(importemail),
|
||||
|
||||
@@ -97,7 +97,19 @@ export const colmsg_templates = [
|
||||
|
||||
export const colmypage = [
|
||||
AddCol({ name: 'title', label_trans: 'pages.title' }),
|
||||
AddCol({ name: 'img1', label_trans: 'pages.img1' }),
|
||||
AddCol({ name: 'content', label_trans: 'pages.contentfield', fieldtype: tools.FieldType.html }),
|
||||
AddCol({ name: 'video1', label_trans: 'pages.video1' }),
|
||||
AddCol({ name: 'ratio1', label_trans: 'pages.ratio1' }),
|
||||
AddCol({ name: 'img2', label_trans: 'pages.img2' }),
|
||||
AddCol({ name: 'content2', label_trans: 'pages.content2', fieldtype: tools.FieldType.html }),
|
||||
AddCol({ name: 'video2', label_trans: 'pages.video2' }),
|
||||
AddCol({ name: 'ratio2', label_trans: 'pages.ratio2' }),
|
||||
AddCol({ name: 'img3', label_trans: 'pages.img3' }),
|
||||
AddCol({ name: 'content3', label_trans: 'pages.content3', fieldtype: tools.FieldType.html }),
|
||||
AddCol({ name: 'video3', label_trans: 'pages.video3' }),
|
||||
AddCol({ name: 'ratio3', label_trans: 'pages.ratio3' }),
|
||||
AddCol({ name: 'content4', label_trans: 'pages.content4', fieldtype: tools.FieldType.html }),
|
||||
AddCol({ name: 'lang', label_trans: 'pages.lang' }),
|
||||
AddCol({ name: 'path', label_trans: 'pages.path' }),
|
||||
AddCol({ name: 'icon', label_trans: 'pages.icon' }),
|
||||
@@ -108,6 +120,7 @@ export const colmypage = [
|
||||
AddCol({ name: 'color', label_trans: 'pages.color', fieldtype: tools.FieldType.string }),
|
||||
AddCol({ name: 'onlyif_logged', label_trans: 'pages.onlyif_logged', fieldtype: tools.FieldType.boolean }),
|
||||
AddCol({ name: 'only_residenti', label_trans: 'pages.only_residenti', fieldtype: tools.FieldType.boolean }),
|
||||
AddCol({ name: 'only_consiglio', label_trans: 'pages.only_consiglio', fieldtype: tools.FieldType.boolean }),
|
||||
AddCol({ name: 'imgback', label_trans: 'pages.imgback', fieldtype: tools.FieldType.string }),
|
||||
AddCol({ name: 'active', label_trans: 'pages.active', fieldtype: tools.FieldType.boolean }),
|
||||
AddCol({ name: 'inmenu', label_trans: 'pages.inmenu', fieldtype: tools.FieldType.boolean }),
|
||||
@@ -205,8 +218,8 @@ export const colTableHours = [
|
||||
// AddCol({ name: 'todoId', label_trans: 'hours.todoId' }),
|
||||
AddCol({ name: 'date', label_trans: 'hours.date', fieldtype: tools.FieldType.onlydate }),
|
||||
AddCol({ name: 'hours', label_trans: 'hours.hours', fieldtype: tools.FieldType.hours }),
|
||||
AddCol({ name: 'time_start', label_trans: 'hours.time_start', fieldtype: tools.FieldType.number }),
|
||||
AddCol({ name: 'time_end', label_trans: 'hours.time_end', fieldtype: tools.FieldType.number }),
|
||||
// AddCol({ name: 'time_start', label_trans: 'hours.time_start', fieldtype: tools.FieldType.number }),
|
||||
// AddCol({ name: 'time_end', label_trans: 'hours.time_end', fieldtype: tools.FieldType.number }),
|
||||
AddCol({ name: 'descr', label_trans: 'hours.note' }),
|
||||
AddCol({ name: 'username', label_trans: 'reg.username_short', notShowInNewRec: true }),
|
||||
AddCol(DeleteRec),
|
||||
@@ -247,10 +260,56 @@ export const colTableStorehouse = [
|
||||
AddCol(DuplicateRec)
|
||||
]
|
||||
|
||||
export const colTableSites = [
|
||||
AddCol({ name: 'active', label_trans: 'sites.active', fieldtype: tools.FieldType.boolean }),
|
||||
AddCol({ name: 'idapp', label_trans: 'sites.idapp', fieldtype: tools.FieldType.string }),
|
||||
AddCol({ name: 'name', label_trans: 'sites.name', fieldtype: tools.FieldType.string }),
|
||||
AddCol({ name: 'adminemail', label_trans: 'sites.adminemail', fieldtype: tools.FieldType.string }),
|
||||
AddCol({ name: 'manageremail', label_trans: 'sites.manageremail', fieldtype: tools.FieldType.string }),
|
||||
AddCol({ name: 'replyTo', label_trans: 'sites.replyTo', fieldtype: tools.FieldType.string }),
|
||||
AddCol({ name: 'host', label_trans: 'sites.host', fieldtype: tools.FieldType.string }),
|
||||
AddCol({ name: 'portapp', label_trans: 'sites.portapp', fieldtype: tools.FieldType.string }),
|
||||
AddCol({ name: 'dir', label_trans: 'sites.dir', fieldtype: tools.FieldType.string }),
|
||||
AddCol({ name: 'email_from', label_trans: 'sites.email_from', fieldtype: tools.FieldType.string }),
|
||||
AddCol({ name: 'email_pwd', label_trans: 'sites.email_pwd', fieldtype: tools.FieldType.string }),
|
||||
AddCol({ name: 'telegram_key', label_trans: 'sites.telegram_key', fieldtype: tools.FieldType.string }),
|
||||
AddCol({ name: 'telegram_bot_name', label_trans: 'sites.telegram_bot_name', fieldtype: tools.FieldType.string }),
|
||||
AddCol({ name: 'pathreg_add', label_trans: 'sites.pathreg_add', fieldtype: tools.FieldType.string }),
|
||||
AddCol(DeleteRec),
|
||||
AddCol(DuplicateRec)
|
||||
]
|
||||
|
||||
export const colTableIscrittiConacreis = [
|
||||
AddCol({ name: 'name', label_trans: 'reg.name', fieldtype: tools.FieldType.string }),
|
||||
AddCol({ name: 'surname', label_trans: 'reg.surname', fieldtype: tools.FieldType.string }),
|
||||
AddCol({ name: 'email', label_trans: 'reg.email', fieldtype: tools.FieldType.string }),
|
||||
AddCol({ name: 'fiscalcode', label_trans: 'reg.fiscalcode', fieldtype: tools.FieldType.string }),
|
||||
AddCol({ name: 'residency_address', label_trans: 'reg.residency_address', fieldtype: tools.FieldType.string }),
|
||||
AddCol({ name: 'residency_city', label_trans: 'reg.residency_city', fieldtype: tools.FieldType.string }),
|
||||
AddCol({ name: 'residency_province', label_trans: 'reg.residency_province', fieldtype: tools.FieldType.string }),
|
||||
AddCol({ name: 'residency_country', label_trans: 'reg.residency_country', fieldtype: tools.FieldType.string }),
|
||||
AddCol({ name: 'residency_zipcode', label_trans: 'reg.residency_zipcode', fieldtype: tools.FieldType.string }),
|
||||
AddCol({ name: 'dateofbirth', label_trans: 'reg.dateofbirth', fieldtype: tools.FieldType.onlydate }),
|
||||
AddCol({ name: 'cell_phone', label_trans: 'reg.cell_phone', fieldtype: tools.FieldType.string }),
|
||||
AddCol({ name: 'newsletter_on', label_trans: 'reg.newsletter_on', fieldtype: tools.FieldType.boolean }),
|
||||
AddCol({ name: 'iscrizione_compilata', label_trans: 'reg.iscrizione_compilata', fieldtype: tools.FieldType.boolean }),
|
||||
AddCol({ name: 'dateofreg', label_trans: 'reg.dateofreg', fieldtype: tools.FieldType.onlydate }),
|
||||
AddCol({ name: 'codiceConacreis', label_trans: 'reg.codiceConacreis', fieldtype: tools.FieldType.string }),
|
||||
AddCol({ name: 'annoTesseramento', label_trans: 'reg.annoTesseramento', fieldtype: tools.FieldType.number }),
|
||||
AddCol({ name: 'motivazioni', label_trans: 'reg.motivazioni', fieldtype: tools.FieldType.string }),
|
||||
AddCol({ name: 'competenze_professionalita', label_trans: 'reg.competenze_professionalita', fieldtype: tools.FieldType.string }),
|
||||
AddCol({ name: 'cosa_potrei_offrire', label_trans: 'reg.cosa_potrei_offrire', fieldtype: tools.FieldType.string }),
|
||||
AddCol({ name: 'cosa_vorrei_ricevere', label_trans: 'reg.cosa_vorrei_ricevere', fieldtype: tools.FieldType.string }),
|
||||
AddCol({ name: 'altre_comunicazioni', label_trans: 'reg.altre_comunicazioni', fieldtype: tools.FieldType.string }),
|
||||
AddCol({ name: 'come_ci_hai_conosciuto', label_trans: 'reg.come_ci_hai_conosciuto', fieldtype: tools.FieldType.string }),
|
||||
AddCol({ name: 'note', label_trans: 'reg.note', fieldtype: tools.FieldType.string })
|
||||
]
|
||||
|
||||
export const colTableProducts = [
|
||||
AddCol({ name: 'active', label_trans: 'products.active', fieldtype: tools.FieldType.boolean }),
|
||||
AddCol({ name: 'code', label_trans: 'products.code' }),
|
||||
AddCol({ name: 'name', label_trans: 'products.name' }),
|
||||
AddCol({ name: 'description', label_trans: 'products.description' }),
|
||||
AddCol({ name: 'description', label_trans: 'products.description', fieldtype: tools.FieldType.html }),
|
||||
AddCol({ name: 'icon', label_trans: 'products.icon' }),
|
||||
AddCol({ name: 'img', label_trans: 'products.img' }),
|
||||
// AddCol({ name: 'idProducer', label_trans: 'products.idProducer' }),
|
||||
@@ -592,7 +651,7 @@ export const fieldsTable = {
|
||||
|
||||
getTableJoinByName(table) {
|
||||
if (table === 'permissions')
|
||||
return [shared_consts.Permissions.Admin, shared_consts.Permissions.Manager, shared_consts.Permissions.Teacher, shared_consts.Permissions.Tutor, shared_consts.Permissions.Traduttrici, shared_consts.Permissions.Zoomeri, shared_consts.Permissions.Department]
|
||||
return [shared_consts.Permissions.Admin, shared_consts.Permissions.Manager, shared_consts.Permissions.Teacher, shared_consts.Permissions.Tutor, shared_consts.Permissions.Editor, shared_consts.Permissions.Zoomeri, shared_consts.Permissions.Department]
|
||||
else if (table === 'accepted')
|
||||
return [shared_consts.Accepted.CHECK_READ_GUIDELINES, shared_consts.Accepted.CHECK_SEE_VIDEO_PRINCIPI]
|
||||
else if (table === 'fieldstype')
|
||||
@@ -841,16 +900,15 @@ export const fieldsTable = {
|
||||
colTableUsersCNM: [
|
||||
// AddCol({ name: '_id', label_trans: 'reg.id' }),
|
||||
AddCol({ name: 'ind_order', label_trans: 'reg.ind_order' }),
|
||||
AddCol({ name: 'sospeso', label_trans: 'reg.sospeso', fieldtype: tools.FieldType.boolean }),
|
||||
AddCol({ name: 'deleted', label_trans: 'reg.deleted', fieldtype: tools.FieldType.boolean }),
|
||||
// AddCol({ name: 'sospeso', label_trans: 'reg.sospeso', fieldtype: tools.FieldType.boolean }),
|
||||
AddCol({ name: 'username', label_trans: 'reg.username_short' }),
|
||||
AddCol({ name: 'name', label_trans: 'reg.name' }),
|
||||
AddCol({ name: 'surname', label_trans: 'reg.surname' }),
|
||||
AddCol({ name: 'email', label_trans: 'reg.email' }),
|
||||
AddCol({ name: 'made_gift', label_trans: 'reg.made_gift', fieldtype: tools.FieldType.boolean }),
|
||||
AddCol({ name: 'verified_email', label_trans: 'reg.verified_email', fieldtype: tools.FieldType.boolean }),
|
||||
// AddCol({ name: 'made_gift', label_trans: 'reg.made_gift', fieldtype: tools.FieldType.boolean }),
|
||||
AddCol({ name: 'note', label_trans: 'reg.note' }),
|
||||
// AddCol({ name: 'aportador_solidario', label_trans: 'reg.aportador_solidario' }),
|
||||
AddCol({ name: 'verified_email', label_trans: 'reg.verified_email', fieldtype: tools.FieldType.boolean }),
|
||||
AddCol({
|
||||
name: 'profile.resplist',
|
||||
field: 'profile',
|
||||
@@ -872,24 +930,9 @@ export const fieldsTable = {
|
||||
label_trans: 'reg.special_req',
|
||||
fieldtype: tools.FieldType.boolean
|
||||
}),
|
||||
AddCol({
|
||||
name: 'profile.saw_and_accepted',
|
||||
field: 'profile',
|
||||
subfield: 'saw_and_accepted',
|
||||
label_trans: 'reg.saw_and_accepted',
|
||||
fieldtype: tools.FieldType.binary,
|
||||
jointable: 'accepted'
|
||||
}),
|
||||
AddCol({ name: 'profile.my_dream', field: 'profile', subfield: 'my_dream', label_trans: 'reg.my_dream' }),
|
||||
AddCol({ name: 'lang', field: 'lang', label_trans: 'reg.lang' }),
|
||||
AddCol({ name: 'profile.nationality', field: 'profile', subfield: 'nationality', label_trans: 'reg.nationality' }),
|
||||
AddCol({
|
||||
name: 'profile.intcode_cell',
|
||||
field: 'profile',
|
||||
subfield: 'intcode_cell',
|
||||
label_trans: 'reg.intcode_cell'
|
||||
}),
|
||||
AddCol({ name: 'profile.iso2_cell', field: 'profile', subfield: 'iso2_cell', label_trans: 'reg.iso2_cell' }),
|
||||
AddCol({ name: 'profile.cell', field: 'profile', subfield: 'cell', label_trans: 'reg.cell' }),
|
||||
AddCol({
|
||||
name: 'profile.email_paypal',
|
||||
@@ -897,7 +940,7 @@ export const fieldsTable = {
|
||||
subfield: 'email_paypal',
|
||||
label_trans: 'reg.email_paypal'
|
||||
}),
|
||||
AddCol({
|
||||
/*AddCol({
|
||||
name: 'profile.payeer_id',
|
||||
field: 'profile',
|
||||
subfield: 'payeer_id',
|
||||
@@ -914,14 +957,9 @@ export const fieldsTable = {
|
||||
field: 'profile',
|
||||
subfield: 'revolut',
|
||||
label_trans: 'revolut'
|
||||
}),
|
||||
}), */
|
||||
AddCol({ name: 'profile.teleg_id', field: 'profile', subfield: 'teleg_id', label_trans: 'reg.teleg_id' }),
|
||||
AddCol({
|
||||
name: 'profile.teleg_id_old',
|
||||
field: 'profile',
|
||||
subfield: 'teleg_id_old',
|
||||
label_trans: 'reg.teleg_id_old'
|
||||
}),
|
||||
|
||||
AddCol({
|
||||
name: 'profile.teleg_checkcode',
|
||||
field: 'profile',
|
||||
@@ -949,13 +987,20 @@ export const fieldsTable = {
|
||||
label_trans: 'reg.socioresidente',
|
||||
fieldtype: tools.FieldType.boolean
|
||||
}),
|
||||
AddCol({ name: 'profile.chisei', field: 'profile', subfield: 'chisei', label_trans: 'reg.chisei' }),
|
||||
AddCol({
|
||||
name: 'profile.iltuoimpegno',
|
||||
name: 'profile.consiglio',
|
||||
field: 'profile',
|
||||
subfield: 'iltuoimpegno',
|
||||
label_trans: 'reg.iltuoimpegno'
|
||||
subfield: 'consiglio',
|
||||
label_trans: 'reg.consiglio',
|
||||
fieldtype: tools.FieldType.boolean
|
||||
}),
|
||||
AddCol({ name: 'profile.chisei', field: 'profile', subfield: 'chisei', label_trans: 'reg.chisei' }),
|
||||
AddCol({ name: 'profile.motivazioni', field: 'profile', subfield: 'motivazioni', label_trans: 'reg.motivazioni' }),
|
||||
AddCol({ name: 'profile.competenze_professionalita', field: 'profile', subfield: 'competenze_professionalita', label_trans: 'reg.competenze_professionalita' }),
|
||||
AddCol({ name: 'profile.cosa_offrire', field: 'profile', subfield: 'cosa_offrire', label_trans: 'reg.cosa_offrire' }),
|
||||
AddCol({ name: 'profile.cosa_ricevere', field: 'profile', subfield: 'cosa_ricevere', label_trans: 'reg.cosa_ricevere' }),
|
||||
AddCol({ name: 'profile.altre_comunicazioni', field: 'profile', subfield: 'altre_comunicazioni', label_trans: 'reg.altre_comunicazioni' }),
|
||||
AddCol({ name: 'profile.come_ci_hai_conosciuto', field: 'profile', subfield: 'come_ci_hai_conosciuto', label_trans: 'reg.come_ci_hai_conosciuto' }),
|
||||
AddCol({
|
||||
name: 'profile.come_aiutare',
|
||||
field: 'profile',
|
||||
@@ -976,6 +1021,7 @@ export const fieldsTable = {
|
||||
// AddCol({ name: 'idapp', label_trans: 'reg.idapp', fieldtype: tools.FieldType.string }),
|
||||
AddCol({ name: 'perm', label_trans: 'reg.perm', fieldtype: tools.FieldType.binary, jointable: 'permissions' }),
|
||||
AddCol({ name: 'ipaddr', label_trans: 'reg.ipaddr' }),
|
||||
AddCol({ name: 'deleted', label_trans: 'reg.deleted', fieldtype: tools.FieldType.boolean }),
|
||||
AddCol(DeleteRec),
|
||||
AddCol(DuplicateRec)
|
||||
],
|
||||
|
||||
@@ -22,6 +22,7 @@ export const serv_constants = {
|
||||
|
||||
RIS_CODE_OK: 1,
|
||||
RIS_CODE_LOGIN_OK: 1,
|
||||
RIS_ISCRIZIONE_OK: 5,
|
||||
RIS_CODE__HTTP_FORBIDDEN_INVALID_TOKEN: 403,
|
||||
|
||||
RIS_CODE_TOKEN_RESETPASSWORD_NOT_FOUND: -23,
|
||||
|
||||
@@ -56,7 +56,7 @@ export const tools = {
|
||||
TABBED_HOME: 't-home',
|
||||
TABBED_NAVE: 't-nave',
|
||||
|
||||
getprefCountries: ['it', 'si', 'us', 'es', 'pt', 'uk', 'fr', 'de', 'ch', 'br', 'sk'],
|
||||
getprefCountries: ['it', 'es', 'us'],
|
||||
|
||||
APORTADOR_NONE: '------',
|
||||
|
||||
@@ -139,6 +139,13 @@ export const tools = {
|
||||
|
||||
languageid: 5,
|
||||
|
||||
peopleWhere: {
|
||||
participants: 1,
|
||||
lunch: 2,
|
||||
dinner: 3,
|
||||
dinnerShared: 4
|
||||
},
|
||||
|
||||
SERVKEY_VERS: 'vers',
|
||||
|
||||
localStorage: {
|
||||
@@ -274,6 +281,26 @@ export const tools = {
|
||||
label: '8',
|
||||
value: 8
|
||||
},
|
||||
{
|
||||
id: 90,
|
||||
label: '9',
|
||||
value: 9
|
||||
},
|
||||
{
|
||||
id: 100,
|
||||
label: '10',
|
||||
value: 10
|
||||
},
|
||||
{
|
||||
id: 110,
|
||||
label: '11',
|
||||
value: 11
|
||||
},
|
||||
{
|
||||
id: 120,
|
||||
label: '12',
|
||||
value: 12
|
||||
},
|
||||
],
|
||||
|
||||
SelectListNumPeople: [
|
||||
@@ -1608,10 +1635,13 @@ export const tools = {
|
||||
visumenu(elem) { // : IListRoutes
|
||||
let visu = ((elem.onlyAdmin && UserStore.state.isAdmin) || (elem.onlyManager && UserStore.state.isManager)
|
||||
|| (elem.onlySocioResidente && UserStore.state.my.profile.socioresidente)
|
||||
|| (elem.onlyTutor && UserStore.state.isTutor) || (elem.onlyTraduttrici && UserStore.state.isTraduttrici)
|
||||
|| (elem.onlyConsiglio && UserStore.state.my.profile.consiglio)
|
||||
|| (elem.onlyNotSoci && !UserStore.state.my.profile.socio)
|
||||
|| (elem.onlyTutor && UserStore.state.isTutor)
|
||||
|| (elem.onlyEditor && UserStore.state.isEditor)
|
||||
|| (elem.onlyDepartment && UserStore.state.isDepartment)
|
||||
|| ((!elem.onlyAdmin) && (!elem.onlyManager) && (!elem.onlyTutor) && (!elem.onlyTraduttrici) && (!elem.onlyDepartment)
|
||||
&& (!elem.onlySocioResidente))) && elem.active
|
||||
|| ((!elem.onlyAdmin) && (!elem.onlyManager) && (!elem.onlyTutor) && (!elem.onlyEditor) && (!elem.onlyDepartment)
|
||||
&& (!elem.onlySocioResidente) && (!elem.onlyConsiglio) && (!elem.onlyNotSoci))) && elem.active
|
||||
|
||||
if (!tools.isLoggedToSystem()) {
|
||||
if (elem.onlyif_logged)
|
||||
@@ -1997,7 +2027,7 @@ export const tools = {
|
||||
},
|
||||
|
||||
showNeutralNotif(q: any, msg) {
|
||||
tools.showNotif(q, msg, { color: 'info', icon: 'notifications' })
|
||||
tools.showNotif(q, msg, { color: 'info', icon: 'notifications' }, 10000)
|
||||
},
|
||||
|
||||
showNotif(q: any, msg, data ?: INotify | null, time?) {
|
||||
@@ -2277,6 +2307,14 @@ export const tools = {
|
||||
return !!UserStore.state.my.profile ? UserStore.state.my.profile.socioresidente : false
|
||||
},
|
||||
|
||||
isConsiglio() {
|
||||
return !!UserStore.state.my.profile ? UserStore.state.my.profile.consiglio : false
|
||||
},
|
||||
|
||||
isSocio() {
|
||||
return !!UserStore.state.my.profile ? UserStore.state.my.profile.socio : false
|
||||
},
|
||||
|
||||
isResp() {
|
||||
return UserStore.state.my.profile.resplist
|
||||
},
|
||||
@@ -2301,8 +2339,8 @@ export const tools = {
|
||||
return UserStore.state.isZoomeri
|
||||
},
|
||||
|
||||
isTraduttrici() {
|
||||
return UserStore.state.isTraduttrici
|
||||
isEditor() {
|
||||
return UserStore.state.isEditor
|
||||
},
|
||||
|
||||
getstrDate(mytimestamp) {
|
||||
@@ -2313,6 +2351,15 @@ export const tools = {
|
||||
return ''
|
||||
},
|
||||
|
||||
getstrDateLong(mytimestamp) {
|
||||
// console.log('getstrDate', mytimestamp)
|
||||
const dayofweek = this.getDayOfWeek(mytimestamp)
|
||||
if (!!mytimestamp)
|
||||
return dayofweek + ' ' + date.formatDate(mytimestamp, 'DD/MM/YYYY')
|
||||
else
|
||||
return ''
|
||||
},
|
||||
|
||||
getstrshortDate(mytimestamp) {
|
||||
// console.log('getstrDate', mytimestamp)
|
||||
if (!!mytimestamp)
|
||||
@@ -2406,18 +2453,18 @@ export const tools = {
|
||||
// is same day?
|
||||
if (tools.getstrDate(myevent.dateTimeStart) === tools.getstrDate(myevent.dateTimeEnd)) {
|
||||
if (withhtml) {
|
||||
mystr += `<span class="cal__where-content">${tools.getstrDate(myevent.dateTimeStart)}</span>
|
||||
mystr += `<span class="cal__where-content">${tools.getstrDateLong(myevent.dateTimeStart)}</span>
|
||||
<span class="cal__hours-content">${mythis.$t('cal.starttime')} ${tools.getstrTime(myevent.dateTimeStart)}
|
||||
${mythis.$t('cal.endtime')} ${tools.getstrTime(myevent.dateTimeEnd)}`
|
||||
} else {
|
||||
mystr = `${tools.getstrDate(myevent.dateTimeStart)}
|
||||
mystr = `${tools.getstrDateLong(myevent.dateTimeStart)}
|
||||
${mythis.$t('cal.starttime')} ${tools.getstrTime(myevent.dateTimeStart)}
|
||||
${mythis.$t('cal.endtime')} ${tools.getstrTime(myevent.dateTimeEnd)}`
|
||||
}
|
||||
} else {
|
||||
mystr = `<span class="cal__where-content">${tools.getstrDate(myevent.dateTimeStart)}</span>
|
||||
mystr = `<span class="cal__where-content">${tools.getstrDateLong(myevent.dateTimeStart)}</span>
|
||||
<span class="cal__hours-content">${mythis.$t('cal.starttime')} ${tools.getstrTime(myevent.dateTimeStart)} </span>
|
||||
${mythis.$t('cal.enddate')} ${tools.getstrDate(myevent.dateTimeEnd)}
|
||||
${mythis.$t('cal.enddate')} ${tools.getstrDateLong(myevent.dateTimeEnd)}
|
||||
<span class="cal__hours-content">${mythis.$t('cal.endtime')} ${tools.getstrTime(myevent.dateTimeEnd)} </span>`
|
||||
}
|
||||
|
||||
@@ -2550,6 +2597,8 @@ export const tools = {
|
||||
return null
|
||||
}
|
||||
|
||||
console.log('mystrdate', mystrdate)
|
||||
|
||||
const pattern = /(\d{2})\/(\d{2})\/(\d{4})/
|
||||
const strdate = mystrdate.replace(pattern, '$3-$2-$1')
|
||||
let mydate = null
|
||||
@@ -2616,10 +2665,10 @@ export const tools = {
|
||||
return false
|
||||
},
|
||||
|
||||
getDayOfWeek(date) {
|
||||
const dayOfWeek = new Date(date).getDay()
|
||||
getDayOfWeek(mydate) {
|
||||
const dayOfWeek = new Date(mydate).getDay()
|
||||
|
||||
let lang = this.getLocale()
|
||||
const mylang = this.getLocale()
|
||||
|
||||
const myday = {
|
||||
it: ['Domenica', 'Lunedì', 'Martedì', 'Mercoledì', 'Giovedì', 'Venerdì', 'Sabato'],
|
||||
@@ -2631,7 +2680,7 @@ export const tools = {
|
||||
si: ['Nedelja', 'Ponedeljek', 'Torek', 'Sreda', 'četrtek', 'Petek', 'Sobota'],
|
||||
}
|
||||
|
||||
return isNaN(dayOfWeek) ? '' : myday[lang][dayOfWeek].substring(0, 3)
|
||||
return isNaN(dayOfWeek) ? '' : myday[mylang][dayOfWeek].substring(0, 3)
|
||||
},
|
||||
|
||||
isSunday(mydate) {
|
||||
@@ -3216,8 +3265,10 @@ export const tools = {
|
||||
try {
|
||||
if (riscode === tools.OK) {
|
||||
tools.showNotif(mythis.$q, mythis.$t('login.completato'), { color: 'positive', icon: 'check' })
|
||||
console.log('mythis.$router.name', mythis.$router.name)
|
||||
if (ispageLogin) {
|
||||
mythis.$router.push('/')
|
||||
if (mythis.$router.name !== '/')
|
||||
mythis.$router.push('/')
|
||||
}
|
||||
} else if (riscode === serv_constants.RIS_CODE_LOGIN_ERR) {
|
||||
|
||||
@@ -3310,6 +3361,12 @@ export const tools = {
|
||||
color: 'green',
|
||||
textColor: 'black'
|
||||
})
|
||||
} else if (riscode === serv_constants.RIS_ISCRIZIONE_OK) {
|
||||
mythis.$router.push('/')
|
||||
tools.showNotif(mythis.$q, mythis.$t('components.authentication.iscrizione_ok', { botname: mythis.$t('ws.botname') }), {
|
||||
color: 'green',
|
||||
textColor: 'black'
|
||||
})
|
||||
} else {
|
||||
tools.showNotif(mythis.$q, 'Errore num ' + riscode)
|
||||
}
|
||||
|
||||
@@ -35,7 +35,7 @@ export const func_tools = {
|
||||
// timeZone: 'UTC'
|
||||
})
|
||||
try {
|
||||
console.log('mydate', mydate, DateFormatter)
|
||||
// console.log('mydate', mydate, DateFormatter)
|
||||
if (DateFormatter) {
|
||||
const date1 = new Date(mydate)
|
||||
return DateFormatter.format(date1)
|
||||
|
||||
@@ -36,6 +36,7 @@ export default class CheckOut extends MixinBase {
|
||||
public mycart: ICart = {}
|
||||
public myrec: any[]
|
||||
public note: string = ''
|
||||
public statusnow: number = shared_consts.OrderStatus.NONE
|
||||
|
||||
public conferma_carrello: boolean = false
|
||||
public conferma_ordine: boolean = false
|
||||
@@ -50,6 +51,14 @@ export default class CheckOut extends MixinBase {
|
||||
return cart.items || null
|
||||
}
|
||||
|
||||
get getNumItems() {
|
||||
const cart = Products.getters.getCart()
|
||||
if (!!cart.items)
|
||||
return cart.items.length || 0
|
||||
else
|
||||
return 0
|
||||
}
|
||||
|
||||
get getCart() {
|
||||
return Products.getters.getCart()
|
||||
}
|
||||
@@ -88,13 +97,20 @@ export default class CheckOut extends MixinBase {
|
||||
}
|
||||
}
|
||||
|
||||
public mounted() {
|
||||
public async mounted() {
|
||||
// Products.actions.loadCart()
|
||||
this.load()
|
||||
}
|
||||
|
||||
public async load() {
|
||||
this.mycart = this.getCart
|
||||
this.myrec = Object.keys(this.mycart)
|
||||
this.note = this.mycart.note
|
||||
|
||||
if (this.mycart)
|
||||
this.statusnow = await Products.actions.UpdateStatusCart({ cart_id: this.mycart._id, status })
|
||||
|
||||
console.log('myrec', this.myrec)
|
||||
// Products.actions.loadCart()
|
||||
}
|
||||
|
||||
public CanBeShipped() {
|
||||
@@ -146,10 +162,13 @@ export default class CheckOut extends MixinBase {
|
||||
title: 'Ordine'
|
||||
}).onOk(async () => {
|
||||
const status = shared_consts.OrderStatus.CHECKOUT_SENT
|
||||
const statusnow = await Products.actions.UpdateStatusCart({ cart_id: this.mycart._id, status })
|
||||
this.statusnow = await Products.actions.UpdateStatusCart({ cart_id: this.mycart._id, status })
|
||||
|
||||
if (statusnow === status) {
|
||||
if (this.statusnow === status) {
|
||||
tools.showPositiveNotif(this.$q, 'Ordine Confermato')
|
||||
setTimeout(() => {
|
||||
this.$router.push('/orderinfo')
|
||||
}, 2000)
|
||||
}
|
||||
// this.change_field('status')
|
||||
// this.change_field('status')
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
class="text-subtitle1 q-mr-sm ">€ {{ myTotalPrice }}</span>
|
||||
</div>
|
||||
|
||||
<q-input v-model="note" style="max-width: 400px;" label="Note aggiuntive:"
|
||||
<q-input v-if="getNumItems > 0" v-model="note" style="max-width: 400px;" label="Scrivi qui per eventuali note o chiarimenti:"
|
||||
filled dense
|
||||
debounce="1000"
|
||||
autogrow
|
||||
@@ -26,7 +26,7 @@
|
||||
</div>
|
||||
|
||||
<q-stepper-navigation>
|
||||
<q-btn rounded icon="fas fa-shopping-cart" color="green" label="Completa l'Ordine" class="q-mb-sm"
|
||||
<q-btn v-if="statusnow < shared_consts.OrderStatus.CHECKOUT_SENT" rounded icon="fas fa-shopping-cart" color="green" label="Completa l'Ordine" class="q-mb-sm"
|
||||
:disabled="myTotalQty < 1"
|
||||
@click="completeOrder"></q-btn>
|
||||
</q-stepper-navigation>
|
||||
|
||||
@@ -3,3 +3,12 @@ $heightBtn: 100%;
|
||||
.card .product-image {
|
||||
height: 300px;
|
||||
}
|
||||
|
||||
.mycol{
|
||||
color:gray;
|
||||
}
|
||||
|
||||
|
||||
.q-item__label--caption{
|
||||
color: blue;
|
||||
}
|
||||
|
||||
@@ -40,6 +40,9 @@ export default class OrderInfo extends MixinBase {
|
||||
public conferma_ordine: boolean = false
|
||||
|
||||
public taborders: string = 'incorso'
|
||||
public filter: string = ''
|
||||
public statusnow: number = 0
|
||||
public arrnumstatus: any = []
|
||||
public columns = [
|
||||
{
|
||||
name: 'numorder',
|
||||
@@ -49,6 +52,14 @@ export default class OrderInfo extends MixinBase {
|
||||
field: 'numorder',
|
||||
sortable: true
|
||||
},
|
||||
{
|
||||
name: 'nameSurname',
|
||||
required: true,
|
||||
align: 'left',
|
||||
label: 'Nome',
|
||||
field: 'nameSurname',
|
||||
sortable: true
|
||||
},
|
||||
{
|
||||
name: 'created_at',
|
||||
required: true,
|
||||
@@ -90,6 +101,10 @@ export default class OrderInfo extends MixinBase {
|
||||
return Products.getters.getOrdersCart(this.taborders)
|
||||
}
|
||||
|
||||
get getAllOrdersCart() {
|
||||
return Products.getters.getOrdersAllCart()
|
||||
}
|
||||
|
||||
public change_field(myorderid, fieldname) {
|
||||
if (this.myarrrec[myorderid][fieldname] !== this[fieldname]) {
|
||||
this.myarrrec[myorderid][fieldname] = this[fieldname]
|
||||
@@ -102,12 +117,42 @@ export default class OrderInfo extends MixinBase {
|
||||
tools.saveFieldToServer(this, 'orderscart', myorderid, mydata, aggiorna)
|
||||
}
|
||||
}
|
||||
|
||||
public mounted() {
|
||||
public updateorders() {
|
||||
this.myorderscart = this.getOrdersCart
|
||||
for (const ordercart of this.myorderscart) {
|
||||
this.myarrrec[ordercart._id] = Object.keys(ordercart)
|
||||
}
|
||||
|
||||
const allorders = this.getAllOrdersCart
|
||||
for (const status of [
|
||||
2,
|
||||
3,
|
||||
4,
|
||||
6,
|
||||
10
|
||||
]) {
|
||||
this.arrnumstatus[status] = allorders.filter((rec) => (rec.status === status)).reduce((sum, item) => sum + 1, 0)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public mounted() {
|
||||
|
||||
this.updateorders()
|
||||
|
||||
console.log('arrnumstatus;')
|
||||
console.log(this.arrnumstatus)
|
||||
|
||||
this.columns = [...this.columns,
|
||||
{
|
||||
name: 'comandi',
|
||||
align: 'center',
|
||||
required: false,
|
||||
label: 'Comandi',
|
||||
field: 'comandi',
|
||||
sortable: false
|
||||
}]
|
||||
|
||||
}
|
||||
|
||||
public CanBeShipped() {
|
||||
@@ -146,4 +191,37 @@ export default class OrderInfo extends MixinBase {
|
||||
return 0
|
||||
}
|
||||
|
||||
public clickFunz(order, status) {
|
||||
|
||||
if (status === shared_consts.OrderStatus.ORDER_CONFIRMED) {
|
||||
// Conferma Ordine
|
||||
}
|
||||
|
||||
const statusStr = shared_consts.getStatusStr(status)
|
||||
|
||||
this.$q.dialog({
|
||||
message: 'Impostare l\'ordine n. ' + order.numorder + ' ' + statusStr + ' ?',
|
||||
ok: {
|
||||
label: this.$t('dialog.yes'),
|
||||
push: true
|
||||
},
|
||||
cancel: {
|
||||
label: this.$t('dialog.cancel')
|
||||
},
|
||||
title: 'Ordine'
|
||||
}).onOk(async () => {
|
||||
|
||||
this.statusnow = await Products.actions.UpdateOrderStatus({ order_id: order._id, status })
|
||||
|
||||
if (this.statusnow === status) {
|
||||
order.status = this.statusnow
|
||||
this.updateorders()
|
||||
tools.showPositiveNotif(this.$q, 'Ordine ' + statusStr)
|
||||
}
|
||||
// this.change_field('status')
|
||||
// this.change_field('status')
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -7,23 +7,70 @@
|
||||
inline-label
|
||||
class="text-blue"
|
||||
>
|
||||
<q-tab name="incorso" icon="fas fa-tasks" label="Ordini in Corso"/>
|
||||
<q-tab name="recenti" icon="fas fa-calendar" label="Ordini Recenti"/>
|
||||
<q-tab class="text-black" v-if="this.arrnumstatus[2] > 0" name="incorso" icon="fas fa-tasks" :label="`(` + this.arrnumstatus[2] +`) in Corso`"/>
|
||||
<q-tab class="text-blue" v-if="this.arrnumstatus[3] > 0" name="confermati" icon="fas fa-calendar" :label="`(` + this.arrnumstatus[3] +`) Confermati`"/>
|
||||
<q-tab class="text-green" v-if="this.arrnumstatus[4] > 0" name="pagati" icon="fas fa-calendar" :label="`(` + this.arrnumstatus[4] +`) Pagati`"/>
|
||||
<q-tab class="text-blue-grey-8" v-if="this.arrnumstatus[6] > 0" name="completati" icon="fas fa-check" :label="`(` + this.arrnumstatus[6] +`) Completati`"/>
|
||||
<q-tab class="text-red" v-if="this.arrnumstatus[10] > 0" name="cancellati" icon="delete" :label="`(` + this.arrnumstatus[10] +`) Cancellati`"/>
|
||||
</q-tabs>
|
||||
|
||||
<div class="q-pa-sm">
|
||||
<q-table
|
||||
:grid="$q.screen.lt.sm"
|
||||
:hide-header="$q.screen.lt.sm"
|
||||
:columns="columns"
|
||||
row-key="numorder"
|
||||
:data="getOrdersCart">
|
||||
|
||||
<template v-slot:body="props">
|
||||
<template v-if="$q.screen.lt.sm" v-slot:item="props">
|
||||
<div class="q-pa-xs col-xs-12 col-sm-6 col-md-4">
|
||||
<q-card class="my-card-shadow yes_shadow">
|
||||
<q-list dense>
|
||||
<q-item v-for="col in props.cols.filter(col => col.name !== 'desc')" :key="col.name">
|
||||
<q-item-section>
|
||||
<q-item-label>{{ col.label }}</q-item-label>
|
||||
</q-item-section>
|
||||
<q-item-section side>
|
||||
<q-item-label v-if="col.name === 'created_at'" caption>{{
|
||||
tools.getstrDateTime(col.value)
|
||||
}}
|
||||
<span v-if="taborders === 'completati'">
|
||||
<br>Completato il: {{ tools.getstrDateTime(props.row.completed_at) }}
|
||||
</span>
|
||||
</q-item-label>
|
||||
<q-item-label v-else-if="col.name === 'items'" caption>
|
||||
<div v-for="item of props.row.items">
|
||||
<div v-if="!!item.order.product">
|
||||
{{ item.order.product.name }} ({{ item.order.quantity }})<br>
|
||||
</div>
|
||||
</div>
|
||||
</q-item-label>
|
||||
<q-item-label v-else-if="col.name === 'totalPrice'" caption>
|
||||
{{ props.row.totalPrice }} €
|
||||
</q-item-label>
|
||||
<q-item-label v-else-if="col.name === 'status'" caption>
|
||||
{{ shared_consts.getStatusStr(props.row.status) }}
|
||||
</q-item-label>
|
||||
<q-item-label v-else caption>{{ col.value }}</q-item-label>
|
||||
</q-item-section>
|
||||
</q-item>
|
||||
</q-list>
|
||||
</q-card>
|
||||
</div>
|
||||
</template>
|
||||
<template v-else v-slot:body="props">
|
||||
<q-tr :props="props">
|
||||
<q-td key="numorder" :props="props">
|
||||
n. {{ props.row.numorder }}
|
||||
</q-td>
|
||||
<q-td key="nameSurname" :props="props">
|
||||
{{ props.row.nameSurname }}
|
||||
</q-td>
|
||||
<q-td key="created_at" :props="props">
|
||||
{{ tools.getstrDateTime(props.row.created_at) }}
|
||||
{{ tools.getstrDateTime(props.row.created_at) }}
|
||||
<span v-if="taborders === 'completati'">
|
||||
<br>Completato il:<br>{{ tools.getstrDateTime(props.row.completed_at) }}
|
||||
</span>
|
||||
</q-td>
|
||||
<q-td key="items" :props="props">
|
||||
<div v-for="item of props.row.items">
|
||||
@@ -37,7 +84,62 @@
|
||||
{{ props.row.totalPrice }} €
|
||||
</q-td>
|
||||
<q-td key="status" :props="props">
|
||||
{{ shared_consts.getStatusStr(props.row.status) }}
|
||||
<span :class="props.row.status">{{ shared_consts.getStatusStr(props.row.status) }}</span>
|
||||
</q-td>
|
||||
<q-td key="comandi" :props="props">
|
||||
<div v-if="tools.isManager()" class="q-pa-sm">
|
||||
|
||||
<q-btn-dropdown rounded dense label="Azioni">
|
||||
<q-list class="text-primary">
|
||||
<q-item clickable v-close-popup
|
||||
@click="clickFunz(props.row, shared_consts.OrderStatus.ORDER_CONFIRMED)">
|
||||
<q-item-section avatar>
|
||||
<q-avatar icon="fas fa-list-ol" color="grey" text-color="white"/>
|
||||
</q-item-section>
|
||||
<q-item-section>
|
||||
<q-item-label>Inviato</q-item-label>
|
||||
</q-item-section>
|
||||
</q-item>
|
||||
<q-item clickable v-close-popup
|
||||
@click="clickFunz(props.row, shared_consts.OrderStatus.ORDER_CONFIRMED)">
|
||||
<q-item-section avatar>
|
||||
<q-avatar icon="fas fa-calendar-check" color="secondary" text-color="white"/>
|
||||
</q-item-section>
|
||||
<q-item-section>
|
||||
<q-item-label>Confermato</q-item-label>
|
||||
</q-item-section>
|
||||
</q-item>
|
||||
<q-item clickable v-close-popup @click="clickFunz(props.row, shared_consts.OrderStatus.PAYED)"
|
||||
color="blue">
|
||||
<q-item-section avatar>
|
||||
<q-avatar icon="money" color="positive" text-color="white"/>
|
||||
</q-item-section>
|
||||
<q-item-section>
|
||||
<q-item-label>Pagato</q-item-label>
|
||||
</q-item-section>
|
||||
</q-item>
|
||||
<q-item clickable v-close-popup @click="clickFunz(props.row, shared_consts.OrderStatus.RECEIVED)"
|
||||
color="blue">
|
||||
<q-item-section avatar>
|
||||
<q-avatar icon="fas fa-check" color="primary" text-color="white"/>
|
||||
</q-item-section>
|
||||
<q-item-section>
|
||||
<q-item-label>Completato</q-item-label>
|
||||
</q-item-section>
|
||||
</q-item>
|
||||
<q-item clickable v-close-popup @click="clickFunz(props.row, shared_consts.OrderStatus.CANCELED)"
|
||||
color="blue">
|
||||
<q-item-section avatar>
|
||||
<q-avatar icon="delete" color="negative" text-color="white"/>
|
||||
</q-item-section>
|
||||
<q-item-section>
|
||||
<q-item-label>Cancellato</q-item-label>
|
||||
</q-item-section>
|
||||
</q-item>
|
||||
|
||||
</q-list>
|
||||
</q-btn-dropdown>
|
||||
</div>
|
||||
</q-td>
|
||||
</q-tr>
|
||||
</template>
|
||||
|
||||
12
src/views/login/iscrizioneconacreis/iscrizioneconacreis.scss
Executable file
12
src/views/login/iscrizioneconacreis/iscrizioneconacreis.scss
Executable file
@@ -0,0 +1,12 @@
|
||||
.signup {
|
||||
width: 100%;
|
||||
margin: 0 auto;
|
||||
max-width: 450px;
|
||||
}
|
||||
|
||||
|
||||
.wrapper {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
28
src/views/login/iscrizioneconacreis/iscrizioneconacreis.ts
Executable file
28
src/views/login/iscrizioneconacreis/iscrizioneconacreis.ts
Executable file
@@ -0,0 +1,28 @@
|
||||
import Vue from 'vue'
|
||||
import { Component, Prop, Watch } from 'vue-property-decorator'
|
||||
import { UserStore } from '@store'
|
||||
import { tools } from '../../../store/Modules/tools'
|
||||
import { toolsext } from '@src/store/Modules/toolsext'
|
||||
import { CSignUpIscrizioneConacreis } from '../../../components/CSignUpIscrizioneConacreis'
|
||||
import { CMyPage } from '../../../components/CMyPage'
|
||||
import { Footer } from '../../../components/Footer'
|
||||
import { CTitleBanner } from '../../../components/CTitleBanner'
|
||||
|
||||
@Component({
|
||||
components: { CSignUpIscrizioneConacreis, CMyPage, Footer, CTitleBanner }
|
||||
})
|
||||
|
||||
export default class Iscrizioneconacreis extends Vue {
|
||||
public $t: any
|
||||
public adult: boolean = false
|
||||
|
||||
public created() {
|
||||
// if (!tools.getCookie(tools.APORTADOR_SOLIDARIO, ''))
|
||||
// tools.setCookie(tools.APORTADOR_SOLIDARIO, this.$route.params.invited)
|
||||
}
|
||||
|
||||
get isSocio() {
|
||||
return UserStore.state.my.profile.socio
|
||||
}
|
||||
|
||||
}
|
||||
26
src/views/login/iscrizioneconacreis/iscrizioneconacreis.vue
Executable file
26
src/views/login/iscrizioneconacreis/iscrizioneconacreis.vue
Executable 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">
|
||||
<CSignUpIscrizioneConacreis>
|
||||
|
||||
</CSignUpIscrizioneConacreis>
|
||||
</div>
|
||||
|
||||
<Footer></Footer>
|
||||
</q-page>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script lang="ts" src="./iscrizioneconacreis.ts">
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
@import './iscrizioneconacreis.scss';
|
||||
</style>
|
||||
@@ -977,7 +977,6 @@ export default class ProjList extends Vue {
|
||||
if (this.arrfilterand)
|
||||
myarr = [...myarr, ...this.arrfilterand]
|
||||
|
||||
console.log('myarr', myarr)
|
||||
return myarr
|
||||
}
|
||||
|
||||
|
||||
@@ -78,76 +78,134 @@
|
||||
</div>
|
||||
|
||||
</CTitleBanner>
|
||||
<CTitleBanner class="q-pa-xs" :title="$t('pages.payment')" bgcolor="bg-primary" clcolor="text-white"
|
||||
myclass="myshad" :canopen="true">
|
||||
<div class="row fa-border justify-center items-center">
|
||||
|
||||
<CMyFieldDb v-if="tools.isselectPayeer()"
|
||||
:title="$t('reg.payeer_id')"
|
||||
table="users"
|
||||
mykey="profile"
|
||||
myimg="statics/images/payeer.jpg"
|
||||
mysubkey="payeer_id"
|
||||
:type="tools.FieldType.string">
|
||||
</CMyFieldDb>
|
||||
<CMyFieldDb v-if="tools.isselectAdvCash()"
|
||||
:title="$t('reg.advcash_id')"
|
||||
table="users"
|
||||
mykey="profile"
|
||||
mysubkey="advcash_id"
|
||||
myimg="statics/images/advcash.jpg"
|
||||
:type="tools.FieldType.string">
|
||||
</CMyFieldDb>
|
||||
<CMyFieldDb v-if="tools.isselectRevolut()"
|
||||
:title="$t('reg.revolut')"
|
||||
table="users"
|
||||
mykey="profile"
|
||||
mysubkey="revolut"
|
||||
myimg="statics/images/revolut.jpg"
|
||||
:type="tools.FieldType.string">
|
||||
</CMyFieldDb>
|
||||
<CTitleBanner class="q-pa-xs" title="Informazioni su di te" bgcolor="bg-primary" clcolor="text-white"
|
||||
myclass="myshad" :canopen="true">
|
||||
|
||||
<CMyFieldDb v-if="tools.isselectPaypal()"
|
||||
:title="$t('reg.email_paypal')"
|
||||
table="users"
|
||||
mykey="profile"
|
||||
mysubkey="email_paypal"
|
||||
myimg="statics/images/paypal.jpg"
|
||||
:type="tools.FieldType.string">
|
||||
</CMyFieldDb>
|
||||
|
||||
<CMyFieldDb v-if="tools.isselectPaypal()"
|
||||
:title="$t('reg.link_payment')"
|
||||
table="users"
|
||||
mykey="profile"
|
||||
mysubkey="link_payment"
|
||||
:type="tools.FieldType.string">
|
||||
</CMyFieldDb>
|
||||
|
||||
<CMyFieldDb :title="$t('reg.country_pay')"
|
||||
table="users"
|
||||
mykey="profile"
|
||||
mysubkey="country_pay"
|
||||
:type="tools.FieldType.nationality">
|
||||
</CMyFieldDb>
|
||||
<CMyFieldDb :title="$t('reg.note_payment')"
|
||||
table="users"
|
||||
mykey="profile"
|
||||
mysubkey="note_payment"
|
||||
:type="tools.FieldType.string">
|
||||
</CMyFieldDb>
|
||||
|
||||
<div class="column">
|
||||
<div class="row">
|
||||
<CMyFieldDb title="Motivazioni"
|
||||
table="users"
|
||||
mykey="profile"
|
||||
mysubkey="motivazioni"
|
||||
:type="tools.FieldType.string">
|
||||
</CMyFieldDb>
|
||||
</div>
|
||||
<div class="row">
|
||||
<CMyFieldDb title="Competenze e Professionalità"
|
||||
table="users"
|
||||
mykey="profile"
|
||||
mysubkey="competenze_professionalita"
|
||||
:type="tools.FieldType.string">
|
||||
</CMyFieldDb>
|
||||
</div>
|
||||
<div class="row">
|
||||
<CMyFieldDb title="Cosa potrei offrire?"
|
||||
table="users"
|
||||
mykey="profile"
|
||||
mysubkey="cosa_offrire"
|
||||
:type="tools.FieldType.string">
|
||||
</CMyFieldDb>
|
||||
</div>
|
||||
<div class="row">
|
||||
<CMyFieldDb title="Cosa vorrei ricevere?"
|
||||
table="users"
|
||||
mykey="profile"
|
||||
mysubkey="cosa_ricevere"
|
||||
:type="tools.FieldType.string">
|
||||
</CMyFieldDb>
|
||||
</div>
|
||||
<div class="row">
|
||||
<CMyFieldDb title="Altre Comunicazioni"
|
||||
table="users"
|
||||
mykey="profile"
|
||||
mysubkey="altre_comunicazioni"
|
||||
:type="tools.FieldType.string">
|
||||
</CMyFieldDb>
|
||||
</div>
|
||||
<div class="row">
|
||||
<CMyFieldDb title="Come ci hai conosciuto?"
|
||||
table="users"
|
||||
mykey="profile"
|
||||
mysubkey="come_ci_hai_conosciuto"
|
||||
:type="tools.FieldType.string">
|
||||
</CMyFieldDb>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<CMyFieldDb :title="$t('reg.paymenttype')"
|
||||
table="users"
|
||||
mykey="profile"
|
||||
mysubkey="paymenttypes"
|
||||
:type="tools.FieldType.multiselect"
|
||||
jointable="paymenttypes">
|
||||
</CMyFieldDb>
|
||||
|
||||
</CTitleBanner>
|
||||
<!--
|
||||
<CTitleBanner class="q-pa-xs" :title="$t('pages.payment')" bgcolor="bg-primary" clcolor="text-white"
|
||||
myclass="myshad" :canopen="true">
|
||||
<div class="row fa-border justify-center items-center">
|
||||
|
||||
<CMyFieldDb v-if="tools.isselectPayeer()"
|
||||
:title="$t('reg.payeer_id')"
|
||||
table="users"
|
||||
mykey="profile"
|
||||
myimg="statics/images/payeer.jpg"
|
||||
mysubkey="payeer_id"
|
||||
:type="tools.FieldType.string">
|
||||
</CMyFieldDb>
|
||||
<CMyFieldDb v-if="tools.isselectAdvCash()"
|
||||
:title="$t('reg.advcash_id')"
|
||||
table="users"
|
||||
mykey="profile"
|
||||
mysubkey="advcash_id"
|
||||
myimg="statics/images/advcash.jpg"
|
||||
:type="tools.FieldType.string">
|
||||
</CMyFieldDb>
|
||||
<CMyFieldDb v-if="tools.isselectRevolut()"
|
||||
:title="$t('reg.revolut')"
|
||||
table="users"
|
||||
mykey="profile"
|
||||
mysubkey="revolut"
|
||||
myimg="statics/images/revolut.jpg"
|
||||
:type="tools.FieldType.string">
|
||||
</CMyFieldDb>
|
||||
|
||||
<CMyFieldDb v-if="tools.isselectPaypal()"
|
||||
:title="$t('reg.email_paypal')"
|
||||
table="users"
|
||||
mykey="profile"
|
||||
mysubkey="email_paypal"
|
||||
myimg="statics/images/paypal.jpg"
|
||||
:type="tools.FieldType.string">
|
||||
</CMyFieldDb>
|
||||
|
||||
<CMyFieldDb v-if="tools.isselectPaypal()"
|
||||
:title="$t('reg.link_payment')"
|
||||
table="users"
|
||||
mykey="profile"
|
||||
mysubkey="link_payment"
|
||||
:type="tools.FieldType.string">
|
||||
</CMyFieldDb>
|
||||
|
||||
<CMyFieldDb :title="$t('reg.country_pay')"
|
||||
table="users"
|
||||
mykey="profile"
|
||||
mysubkey="country_pay"
|
||||
:type="tools.FieldType.nationality">
|
||||
</CMyFieldDb>
|
||||
<CMyFieldDb :title="$t('reg.note_payment')"
|
||||
table="users"
|
||||
mykey="profile"
|
||||
mysubkey="note_payment"
|
||||
:type="tools.FieldType.string">
|
||||
</CMyFieldDb>
|
||||
|
||||
</div>
|
||||
|
||||
<CMyFieldDb :title="$t('reg.paymenttype')"
|
||||
table="users"
|
||||
mykey="profile"
|
||||
mysubkey="paymenttypes"
|
||||
:type="tools.FieldType.multiselect"
|
||||
jointable="paymenttypes">
|
||||
</CMyFieldDb>
|
||||
|
||||
</CTitleBanner>
|
||||
-->
|
||||
|
||||
<br><br>
|
||||
<div class="text-center">
|
||||
|
||||
Reference in New Issue
Block a user