- Iscrizione Conacreis

- Calendario
- Prodotti
This commit is contained in:
Paolo Arena
2021-06-04 17:28:05 +02:00
parent 7c8c970a9e
commit 4f524f790f
30 changed files with 534 additions and 328 deletions

View File

@@ -38,6 +38,9 @@ export const shared_consts = {
FILTER_ASK_ZOOM_VISTO: 32768,
FILTER_HOURS_MYLIST: 65536,
FILTER_HOURS_ALL: 131072,
FILTER_MISSING_PAYMENT: 262144,
FILTER_TO_MAKE_MEMBERSHIP_CARD: 524288,
FILTER_MEMBERSHIP_CARD_OK: 1048576,
REPORT_FILT_RESP: 1,
REPORT_FILT_ATTIVITA: 2,

View File

@@ -59,6 +59,7 @@ export default class CEventsCalendar extends MixinEvents {
public calendarView = 'month'
public selectedDate = ''
public tabeditor: string = 'details'
public showPrev: boolean = false
public formDefault: IEvents = {
title: '',
details: '',
@@ -136,6 +137,10 @@ export default class CEventsCalendar extends MixinEvents {
return this
}
get lists() {
return lists
}
set mythis(aa) {
}
@@ -895,6 +900,10 @@ export default class CEventsCalendar extends MixinEvents {
return CalendarStore.state.operators
}
get getInternalPagesArr() {
return CalendarStore.state.internalpages
}
get getWhereArr() {
return CalendarStore.state.wheres
}

View File

@@ -1,14 +1,14 @@
<template>
<div class="landing">
<div v-if="!tools.IsLogged() && (!mysingleevent)">
<!-- <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
</q-banner>
</div>
</div>
<div v-else>
</div>-->
<div>
<!-- display an myevent -->
<q-dialog v-model="displayEvent">
<q-card v-if="myevent" :style="`min-width: ` + tools.myheight_dialog() + `px;`">
@@ -65,6 +65,8 @@
<!--<span class="cal__teacher-content">{{myevent.teacher}}</span>-->
<CMyTeacher :username="myevent.teacher"></CMyTeacher>
<CMyTeacher :username="myevent.teacher2"></CMyTeacher>
<CMyTeacher :username="myevent.teacher3"></CMyTeacher>
<CMyTeacher :username="myevent.teacher4"></CMyTeacher>
</div>
<div v-if="myevent.wherecode" class="cal__where">
<!--<span v-if="tools.isMobile()"><br/></span>-->
@@ -110,7 +112,7 @@
</q-dialog>
<!-- id_bookedeventadd/edit an myevent -->
<q-dialog v-model="addEvent" no-backdrop-dismiss>
<q-dialog v-model="addEvent" no-backdrop-dismiss persistent>
<q-card v-if="addEvent" :style="`min-width: `+ tools.myheight_dialog() + `px;`">
<q-toolbar class="bg-primary text-white">
<q-toolbar-title>
@@ -129,15 +131,20 @@
:options="getDisciplines" :useinput="false">
</CMySelect>
<q-input color="grey-1" v-model="eventForm.short_tit" autofocus
:input-style="`background-color: ${eventForm.bgcolor} !important; color: white !important; font-weight: bold; `"
borderless rounded dense :label="$t('event.short_tit')"
></q-input>
<div>
<q-input color="grey-1" v-model="eventForm.short_tit" autofocus
debounce="1000"
:input-style="`background-color: ${eventForm.bgcolor} !important; color: white !important; font-weight: bold; `"
borderless rounded dense :label="$t('event.short_tit')"
></q-input>
<q-input color="grey-1" v-model="eventForm.title" autofocus
:input-style="`background-color: ${eventForm.bgcolor} !important; color: white !important; font-weight: bold; `"
borderless rounded dense :label="$t('event.title')"
:rules="[v => v && v.length > 0 || $t('event.notempty')]"></q-input>
<q-input color="grey-1" v-model="eventForm.title" autofocus
debounce="1000"
:input-style="`background-color: ${eventForm.bgcolor} !important; color: white !important; font-weight: bold; `"
borderless rounded dense :label="$t('event.title')"
:rules="[v => v && v.length > 0 || $t('event.notempty')]"></q-input>
</div>
<q-tabs
@@ -149,135 +156,158 @@
align="justify"
narrow-indicator
>
<q-tab name="details" label="Descrizione"/>
<q-tab name="container" label="Contenuto"/>
<q-tab name="details" label="Descrizione Breve" icon="fas fa-pencil-alt"/>
<q-tab name="container" label="Dettaglio Pagina" icon="fas fa-book"/>
<q-tab name="settings" label="Impostazioni" icon="fas fa-calendar-day"/>
</q-tabs>
<q-tab-panels v-model="tabeditor" animated>
<q-tab-panel name="details">
<CMyEditor :value.sync="eventForm.details">
<div class="q-gutter-sm myflex">
<q-input class="myflex" dense v-model="eventForm.img"
:label="$t('event.img')"></q-input>
<q-input class="myflex" dense v-model="eventForm.img_small"
:label="$t('event.img_small')"></q-input>
</div>
<div class="q-gutter-sm myflex">
<q-input
class="myflex"
:style="`background-color: ${eventForm.bgcolor} !important; color: white !important;`"
filled
color="white"
dense
:label="$t('event.bgcolor')"
v-model="eventForm.bgcolor">
<template #append>
<q-icon name="colorize" class="cursor-pointer" color="white">
<q-popup-proxy>
<q-color format-model="hex" v-model="eventForm.bgcolor"></q-color>
</q-popup-proxy>
</q-icon>
</template>
</q-input>
<q-input class="myflex" dense v-model="eventForm.icon"
:label="$t('event.icon')"></q-input>
</div>
<CMyEditor :value.sync="eventForm.details" :showButtons="false">
</CMyEditor>
</q-tab-panel>
<q-tab-panel name="container">
<CMyEditor :value.sync="eventForm.bodytext">
<CMyEditor :value.sync="eventForm.bodytext" :showButtons="false">
</CMyEditor>
</q-tab-panel>
<q-tab-panel name="settings" class="q-gutter-sm">
<!--<q-checkbox v-model="eventForm.allday" :label="$t('cal.alldayevent')"></q-checkbox>-->
<div class="q-gutter-sm row myflex">
<CDateTime
:value.sync="eventForm.dateTimeStart"
:label="$t('cal.eventstartdatetime')"
:readonly="false">
</CDateTime>
<CDateTime
:value.sync="eventForm.dateTimeEnd"
:label="$t('cal.enterEndDateTime')"
:readonly="false">
</CDateTime>
<q-input dense v-model="eventForm.infoextra" :label="$t('cal.infoextra')"></q-input>
</div>
<div class="q-gutter-sm myflex">
<CMySelect myclass="myflex" :label="$t('cal.teacher') + ' 1°'"
:value.sync="eventForm.teacher"
optval="username" :optlab="(item) => item.name + ' ' + item.surname"
:options="getTeachersArr" :useinput="false">
</CMySelect>
<CMySelect myclass="myflex" :label="$t('cal.teacher') + ' 2°'"
:value.sync="eventForm.teacher2"
optval="username" :optlab="(item) => item.name + ' ' + item.surname"
:options="getTeachersArr" :useinput="false">
</CMySelect>
<CMySelect myclass="myflex" :label="$t('cal.teacher') + ' 3°'"
:value.sync="eventForm.teacher3"
optval="username" :optlab="(item) => item.name + ' ' + item.surname"
:options="getTeachersArr" :useinput="false">
</CMySelect>
<CMySelect myclass="myflex" :label="$t('cal.teacher') + ' 4°'"
:value.sync="eventForm.teacher4"
optval="username" :optlab="(item) => item.name + ' ' + item.surname"
:options="getTeachersArr" :useinput="false">
</CMySelect>
<CMySelect :label="$t('cal.where')" :value.sync="eventForm.wherecode" optval="code"
optlab="placename"
:options="getWhereArr" :useinput="false">
</CMySelect>
</div>
<div class="q-gutter-sm myflex wrap">
<q-checkbox class="myflex wrap" dense v-model="eventForm.internal"
:label="$t('event.internal')"></q-checkbox>
<q-checkbox class="myflex wrap" dense v-model="eventForm.lunchAvailable"
: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"
:label="$t('event.nobookable')"></q-checkbox>
<q-checkbox class="myflex wrap" dense v-model="eventForm.canceled"
:label="$t('event.canceled')"></q-checkbox>
</div>
<div class="q-gutter-sm row items-start">
</div>
<div class="q-gutter-sm myflex">
<CMySelect :label="$t('event.contribtype')" :value.sync="eventForm.contribtype"
optval="_id" optlab="label"
:useinput="false"
:newvaluefunc="createContribType" :options="getContribTypeArr">
</CMySelect>
<div v-if="isShowPrice(eventForm)">
<q-input dense type="number" v-model="eventForm.price"
:label="$t('event.price')"></q-input>
<q-input dense v-model="eventForm.infoafterprice"
:label="$t('event.infoafterprice')"></q-input>
</div>
</div>
<div class="q-gutter-sm myflex">
<CMySelect myclass="myflex" :label="$t('event.pagefooter') + ' 1°'"
:value.sync="eventForm.pagefooter"
style="min-width: 300px;"
:multiple="true"
optval="path" optlab="title"
:options="getInternalPagesArr" :useinput="false">
</CMySelect>
<br>
<q-input class="myflex" dense v-model="eventForm.linkpage"
:label="$t('event.linkpage')"></q-input>
<q-input class="myflex" dense v-model="eventForm.linkpdf"
:label="$t('event.linkpdf')"></q-input>
<q-input class="myflex" dense v-model="eventForm.facebook"
:label="$t('event.facebook')"></q-input>
</div>
</q-tab-panel>
</q-tab-panels>
<!--<q-checkbox v-model="eventForm.allday" :label="$t('cal.alldayevent')"></q-checkbox>-->
<div class="q-gutter-sm row myflex">
<CDateTime
:value.sync="eventForm.dateTimeStart"
:label="$t('cal.eventstartdatetime')"
:readonly="false">
</CDateTime>
<CDateTime
:value.sync="eventForm.dateTimeEnd"
:label="$t('cal.enterEndDateTime')"
:readonly="false">
</CDateTime>
<q-input dense v-model="eventForm.infoextra" :label="$t('cal.infoextra')"></q-input>
</div>
<div class="q-gutter-sm myflex">
<CMySelect myclass="myflex" :label="$t('cal.teacher') + ' 1°'"
:value.sync="eventForm.teacher"
optval="username" :optlab="(item) => item.name + ' ' + item.surname"
:options="getTeachersArr" :useinput="false">
</CMySelect>
<CMySelect myclass="myflex" :label="$t('cal.teacher') + ' 2°'"
:value.sync="eventForm.teacher2"
optval="username" :optlab="(item) => item.name + ' ' + item.surname"
:options="getTeachersArr" :useinput="false">
</CMySelect>
</div>
<div class="q-gutter-sm myflex wrap">
<CMySelect :label="$t('cal.where')" :value.sync="eventForm.wherecode" optval="code"
optlab="placename"
:options="getWhereArr" :useinput="false">
</CMySelect>
<q-checkbox class="myflex wrap" dense v-model="eventForm.internal"
:label="$t('event.internal')"></q-checkbox>
<q-checkbox class="myflex wrap" dense v-model="eventForm.lunchAvailable"
: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"
:label="$t('event.nobookable')"></q-checkbox>
<q-checkbox class="myflex wrap" dense v-model="eventForm.canceled"
:label="$t('event.canceled')"></q-checkbox>
</div>
<div class="q-gutter-sm row items-start">
</div>
<div class="q-gutter-sm myflex">
<q-input class="myflex" dense v-model="eventForm.img"
:label="$t('event.img')"></q-input>
<q-input class="myflex" dense v-model="eventForm.img_small"
:label="$t('event.img_small')"></q-input>
</div>
<div class="q-gutter-sm myflex">
<q-input
class="myflex"
:style="`background-color: ${eventForm.bgcolor} !important; color: white !important;`"
filled
color="white"
dense
:label="$t('event.bgcolor')"
v-model="eventForm.bgcolor">
<template #append>
<q-icon name="colorize" class="cursor-pointer" color="white">
<q-popup-proxy>
<q-color format-model="hex" v-model="eventForm.bgcolor"></q-color>
</q-popup-proxy>
</q-icon>
</template>
</q-input>
<q-input class="myflex" dense v-model="eventForm.icon"
:label="$t('event.icon')"></q-input>
</div>
<div class="q-gutter-sm myflex">
<CMySelect :label="$t('event.contribtype')" :value.sync="eventForm.contribtype"
optval="_id" optlab="label"
:useinput="false"
:newvaluefunc="createContribType" :options="getContribTypeArr">
</CMySelect>
<div v-if="isShowPrice(eventForm)">
<q-input dense type="number" v-model="eventForm.price"
:label="$t('event.price')"></q-input>
<q-input dense v-model="eventForm.infoafterprice"
:label="$t('event.infoafterprice')"></q-input>
</div>
</div>
<div class="q-gutter-sm myflex">
<q-input class="myflex" dense v-model="eventForm.linkpage"
:label="$t('event.linkpage')"></q-input>
<q-input class="myflex" dense v-model="eventForm.linkpdf"
:label="$t('event.linkpdf')"></q-input>
</div>
</q-form>
</q-card-section>
<q-card-actions align="right">
@@ -361,7 +391,8 @@
</div>
</div>
</div>
<div v-if="myevent.dinnerSharedAvailable" class="q-px-xs centermydiv" style="display: inline-flex; ">
<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;">
@@ -374,7 +405,7 @@
</div>
</div>
<q-input v-model="bookEventForm.msgbooking" :label="$t('cal.msgbooking')+':'"
<q-input v-model="bookEventForm.msgbooking" :label="$t('cal.writemsg')+':'"
type="textarea" debounce="500"
input-class="myinput-area"
>
@@ -398,7 +429,7 @@
@click="tools.CancelBookingEvent(mythis, myevent, bookEventForm._id, true)"></q-btn>
<q-btn v-if="checkseinviaMsg" flat :label="$t('dialog.sendonlymsg')" color="primary"
@click="sendMsg(myevent)"></q-btn>
<q-btn v-else flat :label="getTitleBtnBooking" color="primary" @click="saveBookEvent(myevent)"
<q-btn v-else :label="getTitleBtnBooking" color="primary" @click="saveBookEvent(myevent)"
:disable="!(bookEventpage.state === EState.Creating || hasModifiedBooking)"></q-btn>
@@ -438,7 +469,7 @@
<div class="q-pa-xs">
<q-card class="text-white windowcol">
<q-card-section>
<q-input v-model="askInfoForm.message" :label="$t('cal.msgbooking')+':'"
<q-input v-model="askInfoForm.message" :label="$t('cal.writemsg')+':'"
autofocus debounce="500" type="textarea"
input-class="myinput-area">
</q-input>
@@ -637,6 +668,10 @@
<p class="text-subtitle1 text-red bg-amber text-center ">LISTA PROSSIMI <span
v-if="showfirstN > 0">{{ showfirstN }}</span>
EVENTI:</p>
<q-toggle v-model="showPrev" :val="lists.MenuAction.SHOW_PREV_REC"
:label="$t('grid.showprevedit')"></q-toggle>
<q-markup-table wrap-cells bordered separator="horizontal" class="listaev__table">
<tbody>
<tr v-for="(event, index) in getEventList()" class="listaev listaev__table">
@@ -688,7 +723,7 @@
</div>
<div class="listaev__date listaev__align_center_mobile">
<div class="listaev__date listaev__align_center_mobile text-center">
<span v-html="tools.getstrDateTimeEvent(mythis, event, true)"></span>
</div>
@@ -696,15 +731,20 @@
<div style="margin: 10px;"></div>
<div class="">
<div v-if="event.internal">
<q-chip color="blue" text-color="white">Evento Interno:</q-chip>
</div>
<div class="text-center">
<!-- Se c'è un link, allora -->
<q-btn size="md" type="a"
class="text-center boldhigh"
:to="`/event/${event.typol}/${event._id}`"
target="_blank"
:style="`background-color: ${event.bgcolor} !important; color: white !important;`"
ripple
rounded
:label="getTitleEv(event)" :icon="event.icon"
:label="getTitleEv(event)"
:color="event.bgcolor" text-color="white" glossy>
</q-btn>
@@ -729,6 +769,8 @@
<CMyTeacher :username="event.teacher"></CMyTeacher>
<CMyTeacher :username="event.teacher2"></CMyTeacher>
<CMyTeacher :username="event.teacher3"></CMyTeacher>
<CMyTeacher :username="event.teacher4"></CMyTeacher>
<span v-if="event.wherecode" class="">
<span v-if="tools.isMobile()"><br/></span>
@@ -764,7 +806,7 @@
</div>
<div class="row justify-end">
<div class="row centeritems">
<q-btn v-if="event.linkpdf" size="md" type="a"
:href="`../../statics/` + event.linkpdf"
target="_blank" rounded color="primary" icon="info"
@@ -772,21 +814,21 @@
:label="$t('cal.showpdf')">
</q-btn>
<q-btn v-if="event.bodytext" rounded outline
<q-btn rounded
class="q-ma-sm"
color="primary"
:to="`/event/${event.typol}/${event._id}`"
:label="$t('event.showpage')">
:label="$t('event.openpage')">
</q-btn>
<q-btn rounded outline class="q-ma-sm"
color="primary" @click="askForInfoEventMenu(event)"
:label="$t('event.askinfo')">
</q-btn>
<q-btn rounded outline class="q-ma-sm"
<!--<q-btn rounded outline class="q-ma-sm"
v-if="!event.nobookable && !isAlreadyBooked(event) && static_data.functionality.BOOKING_EVENTS"
color="primary" @click="addBookEventMenu(event)"
:label="$t('cal.booking')" :disable="!isEventEnabled(event)">
</q-btn>
</q-btn>-->
<q-btn rounded outline class="q-ma-sm"
v-if="!event.nobookable && isAlreadyBooked(event) && static_data.functionality.BOOKING_EVENTS"
text-color="red"

View File

@@ -258,6 +258,8 @@ export default class CGridTableRec extends Vue {
const myfilter = this.myfilter
const myfilterand = this.myfilterand
this.savefilter()
if (!this.mytable)
return
@@ -720,4 +722,9 @@ export default class CGridTableRec extends Vue {
return this.labelBtnAddRow !== this.addRow
}
public savefilter() {
// console.log('Close')
this.$emit('savefilter', this.myfilterand)
}
}

View File

@@ -18,6 +18,7 @@ export default class CMyEditor extends Vue {
@Prop({ required: false, default: '' }) public title
@Prop({ required: true }) public value
@Prop({ required: false, default: '' }) public myclass
@Prop({ required: false, default: true }) public showButtons
public myvalue = ''
public mycolor = ''

View File

@@ -38,7 +38,7 @@
</q-editor>
</form>
</q-card-section>
<q-card-actions align="center">
<q-card-actions v-if="showButtons" 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>

View File

@@ -211,7 +211,7 @@ export default class CMyPopupEdit extends Vue {
else
return fieldsTable.getMultiValueByTable(col, val)
} else {
if (val === undefined)
if (val === undefined || val === null)
return '[]'
else if (val === '') {
return '[]'

View File

@@ -232,6 +232,7 @@
</div>
<div v-else>
{{ visuValByType(myvalue, col, row) }}
</div>
<div v-if="col.fieldtype === tools.FieldType.html">

View File

@@ -16,6 +16,7 @@ export default class CMySelect extends Vue {
@Prop({ required: true, default: '' }) public optval
@Prop({ required: false, default: true }) public useinput: boolean
@Prop({ required: false, default: true }) public dense: boolean
@Prop({ required: false, default: false }) public multiple: boolean
@Prop({
required: false, default: function mydef(): object {
return {}

View File

@@ -2,6 +2,7 @@
<div class="text-center">
<div v-if="useinput">
<q-select
:multiple="multiple"
rounded
outlined
:input-class="myclass"
@@ -21,6 +22,7 @@
</div>
<div v-else>
<q-select
:multiple="multiple"
rounded
outlined
:dense="dense"

View File

@@ -1,173 +1,187 @@
<template>
<div>
<CMyPage v-if="myevent" :imgbackground="myevent.img" :title="myevent.title" keywords="" description="" nofooter="true">
<div>
<CMyPage v-if="myevent" :imgbackground="myevent.img" :title="myevent.title" keywords="" description=""
nofooter="true">
<div class="q-mx-md">
<div class="listaev__align_chips q-ma-md">
<img :src="getImgEvent(myevent)"
@click="selectEvent(myevent)"
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"
color="green" text-color="white"
icon="event_available">{{$t('cal.booked')}}
</q-chip>
<div v-if="selected">
<q-chip v-if="editable" class="text-center shadow-5 glossy bg-blue chipmodif">
<div class="q-mx-md">
<div class="listaev__align_chips q-ma-md">
<img :src="getImgEvent(myevent)"
@click="selectEvent(myevent)"
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"
color="green" text-color="white"
icon="event_available">{{ $t('cal.booked') }}
</q-chip>
<div v-if="selected">
<q-chip v-if="editable" class="text-center shadow-5 glossy bg-blue chipmodif">
<q-btn v-if="editable" flat round color="white" icon="fas fa-copy">
<q-menu
transition-show="flip-right"
transition-hide="flip-left">
<q-list style="min-width: 100px">
<q-item clickable @click="duplicateEvent(myevent, 7)">
<q-item-section>Tra 1 Settimana</q-item-section>
</q-item>
<q-item clickable @click="duplicateEvent(myevent, 14)">
<q-item-section>Tra 2 Settimane</q-item-section>
</q-item>
<q-item clickable @click="duplicateEvent(myevent, 7, 4)">
<q-item-section>4 Eventi ogni Settimana</q-item-section>
</q-item>
</q-list>
</q-menu>
</q-btn>
<q-btn v-if="editable" flat round color="white" icon="delete" v-close-popup
@click="deleteEvent(myevent)"></q-btn>
<q-btn v-if="editable" flat round color="white" icon="edit" v-close-popup
@click="editEvent(myevent)"></q-btn>
<q-btn v-if="editable" flat round color="white" icon="cancel"
@click="selectEvent(null)"></q-btn>
</q-chip>
</div>
<q-chip v-if="myevent.news" class="cltexth4 chipnews shadow-5 glossy text-right" color="red"
text-color="white" icon-right="star" icon="star" dense
style="">
{{$t('event.news')}}
</q-chip>
<q-btn v-if="editable" flat round color="white" icon="fas fa-copy">
<q-menu
transition-show="flip-right"
transition-hide="flip-left">
<q-list style="min-width: 100px">
<q-item clickable @click="duplicateEvent(myevent, 7)">
<q-item-section>Tra 1 Settimana</q-item-section>
</q-item>
<q-item clickable @click="duplicateEvent(myevent, 14)">
<q-item-section>Tra 2 Settimane</q-item-section>
</q-item>
<q-item clickable @click="duplicateEvent(myevent, 7, 4)">
<q-item-section>4 Eventi ogni Settimana</q-item-section>
</q-item>
</q-list>
</q-menu>
</q-btn>
<q-btn v-if="editable" flat round color="white" icon="delete" v-close-popup
@click="deleteEvent(myevent)"></q-btn>
<q-btn v-if="editable" flat round color="white" icon="edit" v-close-popup
@click="editEvent(myevent)"></q-btn>
<q-btn v-if="editable" flat round color="white" icon="cancel"
@click="selectEvent(null)"></q-btn>
</q-chip>
</div>
<q-chip v-if="myevent.news" class="cltexth4 chipnews shadow-5 glossy text-right" color="red"
text-color="white" icon-right="star" icon="star" dense
style="">
{{ $t('event.news') }}
</q-chip>
</div>
</div>
<div class="listaev__date listaev__align_center_mobile">
<span v-html="tools.getstrDateTimeEvent(mythis, myevent, true)"></span>
</div>
<div class="listaev__date listaev__align_center_mobile">
<span v-html="tools.getstrDateTimeEvent(mythis, myevent, true)"></span>
</div>
<div class="listaev__align_center_mobile">
<div class="listaev__align_center_mobile">
<div style="margin: 10px;"></div>
<div style="margin: 10px;"></div>
<div class="">
<!-- Se c'è un link, allora -->
<q-btn v-if="myevent.linkpdf" size="md" type="a"
:href="`../../statics/` + myevent.linkpdf"
target="_blank"
ripple rounded :label="myevent.title" :icon="myevent.icon"
:color="myevent.bgcolor" text-color="white" glossy>
<div class="q-pa-sm q-gutter-md text-center">
<!-- Se c'è un link, allora -->
<q-btn class="text-center boldhigh" v-if="myevent.linkpdf" size="md" type="a"
:href="`../../statics/` + myevent.linkpdf"
target="_blank"
ripple rounded :label="myevent.title"
:color="myevent.bgcolor" text-color="white" glossy>
</q-btn>
<!-- altrimenti mostra solo Chip -->
<div v-else>
<div v-if="tools.isMobile()" class="cltexth3 text-center"
:style="`background-color: ${myevent.bgcolor} !important; color: white !important;`">
{{myevent.title}}
</div>
<q-chip v-else class="cltexth3 text-center"
:style="`background-color: ${myevent.bgcolor} !important; color: white !important;`"
text-color="white"
:icon="myevent.icon"
dense>{{myevent.title}}
</q-chip>
</div>
</div>
</q-btn>
<!-- altrimenti mostra solo Chip -->
<div v-else-if="tools.isMobile()" class="cltexth3 text-center boldhigh"
:style="`background-color: ${myevent.bgcolor} !important; color: white !important;`">
{{ myevent.title }}
</div>
<q-chip v-else class="cltexth3 text-center boldhigh"
icon="bookmark"
:style="`background-color: ${myevent.bgcolor} !important; color: white !important;`"
text-color="white"
dense>{{ myevent.title }}
</q-chip>
</div>
<div style="margin: 10px;"></div>
<div style="margin: 10px;"></div>
<p v-if="myevent.bodytext" class="listaev__details text-left q-mb-md" v-html="myevent.bodytext"></p>
<p v-else class="listaev__details" v-html="myevent.details"></p>
<p v-if="myevent.bodytext" class="listaev__details text-left q-mb-md" v-html="myevent.bodytext"></p>
<p v-else class="listaev__details" v-html="myevent.details"></p>
<div v-if="myevent.teacher" class="">
<span class="cal__teacher-title">{{$t('cal.teacher')}}: <span
class="margin_with"></span></span>
<CMyTeacher :username="myevent.teacher"></CMyTeacher>
<CMyTeacher :username="myevent.teacher2"></CMyTeacher>
<div v-for="(mypage, index) in myevent.pagefooter" :key="index">
<CMyPage v-if="!!mypage" :mypath="`/`+ mypage">
</CMyPage>
</div>
<span v-if="myevent.wherecode" class="q-ma-md">
<div v-if="myevent.teacher" class="">
<span class="cal__teacher-title">{{ $t('cal.teacher') }}: <span
class="margin_with"></span></span>
<CMyTeacher :username="myevent.teacher"></CMyTeacher>
<CMyTeacher :username="myevent.teacher2"></CMyTeacher>
<CMyTeacher :username="myevent.teacher3"></CMyTeacher>
<CMyTeacher :username="myevent.teacher4"></CMyTeacher>
<span v-if="myevent.wherecode" class="q-ma-md">
<span v-if="tools.isMobile()"><br/></span>
<span class="cal__where-title">{{$t('cal.where')}}: </span>
<span class="cal__where-title">{{ $t('cal.where') }}: </span>
<q-chip>
<q-avatar v-if="getWhereIcon(myevent.wherecode)">
<img :src="`../../statics/images/avatar/` + getWhereIcon(myevent.wherecode)" alt="località">
<img
:src="`../../statics/images/avatar/` + getWhereIcon(myevent.wherecode)"
alt="località">
</q-avatar>
<q-avatar v-else color="blue" font-size="20px" text-color="white"
icon="home">
</q-avatar>
<span class="cal__teacher-content">{{getWhereName(myevent.wherecode)}}</span>
<span
class="cal__teacher-content">{{ getWhereName(myevent.wherecode) }}</span>
</q-chip>
</span>
</div>
<div v-if="myevent.contribtype" class="q-ma-sm">
<span class="cal__quota-title">{{$t('event.price')}}:<span
class="margin_with"></span></span>
<span v-if="!isShowPrice(myevent)" class="">
</div>
<div v-if="myevent.contribtype" class="q-ma-sm">
<span class="cal__quota-title">{{ $t('event.price') }}:<span
class="margin_with"></span></span>
<span v-if="!isShowPrice(myevent)" class="">
<q-chip class="glossy" color="orange" text-color="white">
<span class="cal__quota-content">{{getContribtypeById(myevent.contribtype)}}</span>
<span
class="cal__quota-content">{{
getContribtypeById(myevent.contribtype)
}}</span>
</q-chip>
</span>
<q-chip v-if="myevent.price && isShowPrice(myevent)" class="glossy" color="orange"
text-color="white" icon-right="star">
<span class="cal__quota-content">{{getPrice(myevent)}}</span>
</q-chip>
</div>
<q-chip v-if="myevent.price && isShowPrice(myevent)" class="glossy" color="orange"
text-color="white" icon-right="star">
<span class="cal__quota-content">{{ getPrice(myevent) }}</span>
</q-chip>
</div>
<div class="row justify-start q-ma-md">
<q-btn v-if="myevent.linkpdf"
size="md" type="a" :href="`../../statics/` + myevent.linkpdf"
target="_blank" rounded outline
color="primary" icon="info"
:label="$t('cal.showpdf')">
<div class="row justify-start q-ma-md">
<q-btn v-if="myevent.linkpdf"
size="md" type="a" :href="`../../statics/` + myevent.linkpdf"
target="_blank" rounded outline
color="primary" icon="info"
:label="$t('cal.showpdf')">
</q-btn>
<q-btn v-if="myevent.bodytext" rounded outline class="q-mx-sm"
color="primary"
:to="`/event/${myevent.typol}/${myevent._id}`"
:label="$t('event.showpage')">
</q-btn>
</div>
<div class="row justify-end q-mb-lg">
<q-btn rounded outline class="q-mx-sm"
color="primary" @click="askForInfoEventMenu(myevent)"
:label="$t('event.askinfo')">
</q-btn>
<q-btn rounded class="q-mx-sm"
v-if="!myevent.nobookable && !isAlreadyBooked(myevent) && static_data.functionality.BOOKING_EVENTS"
color="primary" @click="addBookEventMenu(myevent)"
:label="$t('cal.booking')" :disable="!isEventEnabled(myevent)">
</q-btn>
<q-btn rounded outline class="q-mx-sm"
v-if="!myevent.nobookable && isAlreadyBooked(myevent) && static_data.functionality.BOOKING_EVENTS"
text-color="red"
@click="EditBookEvent(myevent)"
:label="$t('cal.modifybooking')">
</q-btn>
<!--
<q-btn push rounded v-if="!myevent.nobookable && isAlreadyBooked(myevent)" color="positive" @click="BookEvent(myevent)"
:label="$t('cal.booked')">
</q-btn>
-->
</q-btn>
<!--<q-btn v-if="myevent.bodytext" rounded outline class="q-mx-sm"
color="primary"
:to="`/event/${myevent.typol}/${myevent._id}`"
:label="$t('event.showpage')">
</q-btn>-->
</div>
<div class="row text-center">
<q-btn rounded outline class="q-mx-sm"
color="primary" @click="askForInfoEventMenu(myevent)"
:label="$t('event.askinfo')">
</q-btn>
<q-btn rounded class="q-mx-sm"
v-if="!myevent.nobookable && !isAlreadyBooked(myevent) && static_data.functionality.BOOKING_EVENTS"
color="primary" @click="addBookEventMenu(myevent)"
:label="$t('cal.booking')" :disable="!isEventEnabled(myevent)">
</q-btn>
<q-btn rounded outline class="q-mx-sm"
v-if="!myevent.nobookable && isAlreadyBooked(myevent) && static_data.functionality.BOOKING_EVENTS"
text-color="red"
@click="EditBookEvent(myevent)"
:label="$t('cal.modifybooking')">
</q-btn>
<br>
<!--
<q-btn push rounded v-if="!myevent.nobookable && isAlreadyBooked(myevent)" color="positive" @click="BookEvent(myevent)"
:label="$t('cal.booked')">
</q-btn>
-->
</div>
</div>
</div>
</CMyPage>
</div>
</div>
</div>
</div>
</CMyPage>
</div>
</template>
<script lang="ts" src="./CMySingleEvent.ts">
</script>
<style lang="scss" scoped>
@import './CMySingleEvent.scss';
@import './CMySingleEvent.scss';
</style>

View File

@@ -44,6 +44,7 @@
<div class="row q-mb-sm no-wrap items-center centeritems">
<div class="text-price no-wrap">
<span v-if="!!myproduct.price"> {{ myproduct.price.toFixed(2) }}</span>
<span v-if="!!myproduct.after_price">{{ myproduct.after_price }}</span>
</div>
</div>
<div class="row q-mb-sm no-wrap items-center centeritems">

View File

@@ -144,6 +144,7 @@ export default class CSignUpIscrizioneConacreis extends MixinUsers {
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.signup.born_province = this.signup.born_province.toUpperCase()
this.duplicate_email = false
this.duplicate_username = false
@@ -183,13 +184,13 @@ export default class CSignUpIscrizioneConacreis extends MixinUsers {
public selectcountry({ name, iso2, dialCode }) {
// console.log(name, iso2, dialCode)
this.signup.residency_country = iso2
this.signup.residency_country = name
this.countryname = name
}
public selectcountryborn({ name, iso2, dialCode }) {
// console.log(name, iso2, dialCode)
this.signup.born_country = iso2
this.signup.born_country = name
this.countryborn = name
}

View File

@@ -1,4 +1,4 @@
import { IOperators } from '@src/model/GlobalStore'
import { IInternalPage, IMyPage, IOperators } from '@src/model/GlobalStore'
export interface IEvents {
_id?: any
@@ -20,8 +20,11 @@ export interface IEvents {
infoafterprice?: string
teacher?: string
teacher2?: string
teacher3?: string
teacher4?: string
infoextra?: string
linkpage?: string
pagefooter?: IInternalPage[]
linkpdf?: string
nobookable?: boolean
lunchAvailable?: boolean
@@ -34,6 +37,7 @@ export interface IEvents {
internal?: boolean
note?: string
news?: boolean
facebook?: string
canceled?: boolean
deleted?: boolean
dupId?: any
@@ -82,6 +86,7 @@ export interface ICalendarState {
eventlist: IEvents[]
bookedevent: IBookedEvent[]
operators: IOperators[]
internalpages: IMyPage[]
wheres: IWheres[]
contribtype: IContribtype[]
// ---------------

View File

@@ -52,6 +52,10 @@ export interface ITeachUname {
username?: string
}
export interface IInternalPage {
path?: string
}
export interface IResp {
_id?: string
username?: string
@@ -89,6 +93,7 @@ export interface IMyPage {
l_par?: number,
l_child?: number,
infooter?: boolean
internalpage?: boolean
}
export interface ISites {

View File

@@ -11,6 +11,7 @@ export interface IProduct {
department?: string,
category?: string,
price?: number,
after_price?: string,
color?: string,
size?: string,
quantityAvailable?: number,
@@ -36,6 +37,7 @@ export interface IOrder {
idProducer?: string
idStorehouse?: string
price?: number
after_price?: string
color?: string
size?: string
quantity?: number

View File

@@ -36,8 +36,10 @@ export interface ISignupIscrizioneConacreisOptions {
accetta_carta_costituzionale_on?: boolean
metodo_pagamento?: number
iscrizione_compilata?: boolean
ha_pagato?: boolean
codiceConacreis?: string
annoTesseramento?: number
numTesseraInterna?: number
motivazioni?: string
competenze_professionalita?: string
cosa_potrei_offrire?: string

View File

@@ -46,6 +46,8 @@
<td v-if="!tools.isMobile()">
<div class="text-center">{{ getTeacherByUsername(event.teacher) }}
<span v-if="isValidUsername(event.teacher2)"> - {{ getTeacherByUsername(event.teacher2) }}</span>
<span v-if="isValidUsername(event.teacher3)"> - {{ getTeacherByUsername(event.teacher3) }}</span>
<span v-if="isValidUsername(event.teacher4)"> - {{ getTeacherByUsername(event.teacher4) }}</span>
</div>
</td>
<td v-if="showall">

View File

@@ -12,12 +12,15 @@ import MixinBase from '@src/mixins/mixin-base'
import { IParamsQuery, ISignupIscrizioneConacreisOptions } from '@src/model'
import { GlobalStore, UserStore } from '@store'
import { ISignupConacreis } from '@src/components/CSignUpIscrizioneConacreis/CSignUpIscrizioneConacreis-validate'
import { shared_consts } from '@src/common/shared_vuejs'
@Component({
mixins: [MixinBase],
components: { CImgText, CCard, CMyPage, CTitleBanner, CGridTableRec }
})
export default class SitesPage extends MixinMetaTags {
export default class IscrittiConacreis extends MixinMetaTags {
public arrfilterand = []
public myrec: ISignupIscrizioneConacreisOptions[]
public pagination = {
sortBy: 'name',
descending: false,
@@ -29,6 +32,26 @@ export default class SitesPage extends MixinMetaTags {
public selected = []
public dataPages = []
public myfilter = ''
public mounted() {
this.arrfilterand = [
{
label: 'Manca il pagamento',
value: shared_consts.FILTER_MISSING_PAYMENT
},
{
label: 'Da Tesserare',
value: shared_consts.FILTER_TO_MAKE_MEMBERSHIP_CARD
},
{
label: 'Tesserati',
value: shared_consts.FILTER_MEMBERSHIP_CARD_OK
},
]
}
get getcolIscrittiConacreis() {
return colTableIscrittiConacreis
}
@@ -55,7 +78,7 @@ export default class SitesPage extends MixinMetaTags {
startRow: 0,
endRow: 10000,
filter: '',
filterand: '',
filterand: this.myfilter,
sortBy: myobj,
descending,
userId: UserStore.state.my._id
@@ -70,34 +93,39 @@ export default class SitesPage extends MixinMetaTags {
public async exportLista() {
const myrec = await this.loadrec()
this.myrec = await this.loadrec()
const sep = ';'
let mystr = ''
mystr += 'anno' + sep + 'Num' + sep + 'Conacreis' + sep + 'data_richiesta_iscrizione' + sep + 'data_approvazione_iscrizione' + sep + 'nome' + sep + 'cognome' + sep + 'codice_fiscale' + sep + 'nazione' + sep + 'indirizzo' + sep + 'localita' + sep + 'Prov' + sep + 'cap' + sep + 'data_nascita' + sep + 'nazione_nascita' + sep + 'luogo_nascita' + sep + 'provincia_nascita' + sep + 'email' + sep + 'telefono' + sep + 'quota_versata' + '\n';
mystr += 'anno' + sep + 'numero_tessera' + sep + 'Conacreis' + sep + 'data_richiesta_iscrizione' + sep + 'data_approvazione_iscrizione' + sep
+ 'nome' + sep + 'cognome' + sep + 'codice_fiscale' + sep + 'partita_iva' + sep + 'nazione' + sep + 'indirizzo' + sep
+ 'localita' + sep + 'Prov' + sep + 'cap' + sep + 'nazione_nascita' + sep + 'data_nascita' + sep
+ 'luogo_nascita' + sep + 'provincia_nascita' + sep + 'email' + sep + 'telefono' + sep + 'quota_versata' + '\n'
let index = 1
for (const rec of myrec) {
for (const rec of this.myrec) {
mystr += rec.annoTesseramento + sep
mystr += index + sep
mystr += rec.codiceConacreis + sep
mystr += (!!rec.numTesseraInterna ? rec.numTesseraInterna : ' ') + sep
mystr += (!!rec.codiceConacreis ? rec.codiceConacreis + sep : ' ') + sep
mystr += tools.getstrDate(rec.dateofreg) + sep
mystr += tools.getstrDate(rec.dateofapproved) + sep
mystr += rec.name + sep
mystr += rec.surname + sep
mystr += rec.fiscalcode + sep
mystr += tools.getNationsByNationality(rec.residency_country) + sep
mystr += ' ' + sep // partita_iva
mystr += rec.residency_country + sep
mystr += rec.residency_address + sep
mystr += rec.residency_city + sep
mystr += rec.residency_province + sep
mystr += rec.residency_zipcode + sep
mystr += rec.born_country + sep
mystr += tools.getstrDate(rec.dateofbirth) + sep
mystr += tools.getNationsByNationality(rec.born_country) + sep
mystr += rec.born_city + sep
mystr += rec.born_province + sep
mystr += rec.email + sep
mystr += rec.cell_phone + sep
mystr += (rec.ha_pagato ? 'si' : 'no') + sep
// mystr += 'si' + sep
// mystr += 'si' + sep
mystr += '\n'
@@ -107,4 +135,8 @@ export default class SitesPage extends MixinMetaTags {
tools.copyStringToClipboard(this, mystr, false)
}
public savefilter(filter) {
console.log('filter', filter)
this.myfilter = filter
}
}

View File

@@ -1,40 +1,48 @@
<template>
<CMyPage title="Iscritti Conacreis" imgbackground="../../statics/images/iscritti_conacreis.jpg" sizes="max-height: 120px">
<span>{{ setmeta({
title: 'Iscritti Conacreis',
description: "",
keywords: '' } ) }}
<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>
<div class="q-ma-sm q-gutter-sm q-pa-xs">
<CTitleBanner title="Iscritti Conacreis"></CTitleBanner>
<q-btn
rounded
dense
color="primary"
size="md"
label="Copia questa Lista negli appunti"
<q-btn
rounded
dense
color="primary"
size="md"
label="Copia questa Lista negli appunti"
@click="exportLista()">
</q-btn>
@click="exportLista()">
</q-btn>
<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 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"
:arrfilters="arrfilterand"
@savefilter="savefilter"
>
</CGridTableRec>
</div>
</CMyPage>
</CGridTableRec>
</div>
</CMyPage>
</template>
<script lang="ts" src="./iscritticonacreis.ts">
</script>
<style lang="scss" scoped>
@import 'iscritticonacreis.scss';
@import 'iscritticonacreis.scss';
</style>

View File

@@ -16,7 +16,7 @@ export default class UsersList extends Vue {
public arrfilterand = []
public mounted() {
if (tools.appid() === '7')
if (tools.appid() === tools.IDAPP_AYNI) {
this.arrfilterand = [
{
label: 'Attivi',
@@ -64,6 +64,7 @@ export default class UsersList extends Vue {
}
]
}
}
get db_fieldsTable() {

View File

@@ -428,14 +428,25 @@ const msg_it = {
viceResp: "Vice Rrsponsabile",
userslist: "Lista Persone",
fiscalcode: "Codice Fiscale",
annoTesseramento: "Anno",
numTesseraInterna: "Tess",
codiceConacreis: "Conacreis",
residency_address: "Indirizzo di Residenza",
residency_city: "Città di Residenza",
residency_province: "Provincia",
residency_zipcode: "CAP",
residency_country: "Paese",
born_country: "Paese Nascita",
cell_phone: "Telefono",
dateofreg: "Registrato",
dateofapproved: "Approvato",
dateofbirth: "Data di Nascita",
born_city: "Città di Nascita",
born_province: "Provincia di Nascita",
nationality_born: "Paese di Nascita",
iscrizione_compilata: "Iscritto",
metodo_pagamento: "Pagam",
ha_pagato: "Quota Versata",
newsletter_on: "Aggiungimi alla Newsletter",
accetta_carta_costituzionale_on: "Ho letto ed Approvo il Progetto",
iscriviti: "Iscriviti",
@@ -615,11 +626,12 @@ const msg_it = {
Lunch: 'Pranzo',
Dinner: 'Cena',
DinnerShared: 'Cena Condivisa',
selnumpeopleLunch: 'A Pranzo',
selnumpeopleDinner: 'A Cena',
selnumpeopleDinnerShared: 'Cena Condiv.',
selnumpeopleLunch: 'Prenotati per il Pranzo',
selnumpeopleDinner: 'Prenotati per la Cena',
selnumpeopleDinnerShared: 'Cena Condivisa',
selnumpeople_short: 'Num',
msgbooking: 'Messaggio da inviare',
writemsg: 'Scrivi qui se vuoi lasciare un messaggio',
showpdf: 'Vedi PDF',
bookingtextdefault: 'Prenoto per',
bookingtextdefault_of: 'di',
@@ -651,12 +663,19 @@ const msg_it = {
contribtype: 'Tipo Contributo',
price: 'Contributo',
askinfo: 'Chiedi Info',
openpage: 'Apri Pagina',
showpage: 'Vedi Pagina',
infoafterprice: 'Note dopo la Quota',
teacher: 'Insegnante', // teacherid
teacher2: 'Insegnante2', // teacherid2
teacher2: 'Insegnante 2', // teacherid2
teacher3: 'Insegnante 3', // teacherid2
teacher4: 'Insegnante 4', // teacherid2
infoextra: 'InfoExtra',
linkpage: 'WebSite',
facebook: 'Facebook',
pagefooter: 'Pagina di Footer',
pagefooter2: 'Pagina di Footer 2',
pagefooter3: 'Pagina di Footer 3',
linkpdf: 'Link ad un PDF',
nobookable: 'Non Prenotabile',
internal: 'Evento Interno',

View File

@@ -574,6 +574,7 @@ const msg_pt = {
contribtype: 'Tipo Contributo',
price: 'Contributo',
askinfo: 'Chiedi Info',
openpage: 'Apri Pagina',
showpage: 'Vedi Pagina',
infoafterprice: 'Note dopo la Quota',
teacher: 'Insegnante', // teacherid

View File

@@ -190,6 +190,8 @@ namespace Getters {
return CalendarStore.state.eventlist
else if (table === 'operators')
return CalendarStore.state.operators
else if (table === 'internalpages')
return CalendarStore.state.internalpages
else if (table === 'wheres')
return CalendarStore.state.wheres
else if (table === 'contribtype')
@@ -1144,13 +1146,14 @@ namespace Actions {
CalendarStore.state.editable = false
return await Api.SendReq('/loadsite/' + myuserid + '/' + process.env.APP_ID, 'GET', null)
return await Api.SendReq('/loadsite/' + myuserid + '/' + process.env.APP_ID + '/' + process.env.APP_VERSION, 'GET', null)
.then((res) => {
// console.log('____________________________ res', res)
if (res.status === 200) {
CalendarStore.state.bookedevent = (res.data.bookedevent) ? res.data.bookedevent : []
CalendarStore.state.eventlist = (res.data.eventlist) ? res.data.eventlist : []
CalendarStore.state.operators = (res.data.operators) ? res.data.operators : []
CalendarStore.state.internalpages = (res.data.internalpages) ? res.data.internalpages : []
CalendarStore.state.wheres = (res.data.wheres) ? res.data.wheres : []
CalendarStore.state.contribtype = (res.data.contribtype) ? res.data.contribtype : []
GlobalStore.state.settings = (res.data.settings) ? [...res.data.settings] : []

View File

@@ -40,6 +40,7 @@ function createOrderByProduct(product: IProduct, order: IOrder): IOrder {
idProducer: product.idProducer,
status: shared_consts.OrderStatus.IN_CART,
price: product.price,
after_price: product.after_price,
color: product.color,
size: product.size,
weight: product.weight,

View File

@@ -19,6 +19,7 @@ const state: ICalendarState = {
eventlist: [],
bookedevent: [],
operators: [],
internalpages: [],
wheres: [],
contribtype: [],
// ---------------

View File

@@ -97,6 +97,7 @@ export const colmsg_templates = [
export const colmypage = [
AddCol({ name: 'title', label_trans: 'pages.title' }),
AddCol({ name: 'path', label_trans: 'pages.path' }),
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' }),
@@ -111,7 +112,6 @@ export const colmypage = [
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' }),
AddCol({ name: 'order', label_trans: 'pages.order', fieldtype: tools.FieldType.number }),
AddCol({ name: 'keywords', label_trans: 'pages.keywords' }),
@@ -128,6 +128,7 @@ export const colmypage = [
AddCol({ name: 'l_par', label_trans: 'pages.l_par', fieldtype: tools.FieldType.number }),
AddCol({ name: 'l_child', label_trans: 'pages.l_child', fieldtype: tools.FieldType.number }),
AddCol({ name: 'infooter', label_trans: 'pages.infooter', fieldtype: tools.FieldType.boolean }),
AddCol({ name: 'internalpage', label_trans: 'pages.internalpage', fieldtype: tools.FieldType.boolean }),
AddCol(DeleteRec),
AddCol(DuplicateRec)
]
@@ -280,8 +281,15 @@ export const colTableSites = [
]
export const colTableIscrittiConacreis = [
AddCol({ name: 'annoTesseramento', label_trans: 'reg.annoTesseramento', fieldtype: tools.FieldType.number }),
AddCol({ name: 'numTesseraInterna', label_trans: 'reg.numTesseraInterna', fieldtype: tools.FieldType.number }),
AddCol({ name: 'codiceConacreis', label_trans: 'reg.codiceConacreis', fieldtype: tools.FieldType.string }),
AddCol({ name: 'metodo_pagamento', label_trans: 'reg.metodo_pagamento', fieldtype: tools.FieldType.select, jointable: 'metodo_pagamento' }),
AddCol({ name: 'ha_pagato', label_trans: 'reg.ha_pagato', fieldtype: tools.FieldType.boolean }),
AddCol({ name: 'name', label_trans: 'reg.name', fieldtype: tools.FieldType.string }),
AddCol({ name: 'surname', label_trans: 'reg.surname', fieldtype: tools.FieldType.string }),
AddCol({ name: 'dateofreg', label_trans: 'reg.dateofreg', fieldtype: tools.FieldType.onlydate }),
AddCol({ name: 'dateofapproved', label_trans: 'reg.dateofapproved', fieldtype: tools.FieldType.onlydate }),
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 }),
@@ -294,14 +302,9 @@ export const colTableIscrittiConacreis = [
AddCol({ name: 'born_province', label_trans: 'reg.born_province', fieldtype: tools.FieldType.string }),
AddCol({ name: 'born_country', label_trans: 'reg.born_country', fieldtype: tools.FieldType.string }),
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: 'metodo_pagamento', label_trans: 'reg.metodo_pagamento', fieldtype: tools.FieldType.number }),
AddCol({ name: 'dateofreg', label_trans: 'reg.dateofreg', fieldtype: tools.FieldType.onlydate }),
AddCol({ name: 'dateofapproved', label_trans: 'reg.dateofapproved', 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: 'newsletter_on', label_trans: 'reg.newsletter_on', fieldtype: tools.FieldType.boolean }),
AddCol({
name: 'competenze_professionalita',
label_trans: 'reg.competenze_professionalita',
@@ -349,6 +352,7 @@ export const colTableProducts = [
// AddCol({ name: 'department', label_trans: 'products.department' }),
AddCol({ name: 'category', label_trans: 'products.category' }),
AddCol({ name: 'price', label_trans: 'products.price', fieldtype: tools.FieldType.number }),
AddCol({ name: 'after_price', label_trans: 'products.after_price' }),
AddCol({ name: 'color', label_trans: 'products.color' }),
AddCol({ name: 'size', label_trans: 'products.size' }),
AddCol({ name: 'quantityAvailable', label_trans: 'products.quantityAvailable', fieldtype: tools.FieldType.number }),
@@ -555,12 +559,33 @@ const colTableEvents = [
fieldtype: tools.FieldType.select,
jointable: 'operators'
}),
AddCol({
name: 'teacher3',
label_trans: 'event.teacher3',
fieldtype: tools.FieldType.select,
jointable: 'operators'
}),
AddCol({
name: 'teacher4',
label_trans: 'event.teacher4',
fieldtype: tools.FieldType.select,
jointable: 'operators'
}),
AddCol({ name: 'infoextra', label_trans: 'event.infoextra' }),
AddCol({ name: 'linkpage', label_trans: 'event.linkpage' }),
AddCol({ name: 'facebook', label_trans: 'event.facebook' }),
AddCol({ name: 'linkpdf', label_trans: 'event.linkpdf' }),
AddCol({ name: 'note', label_trans: 'event.note' }),
AddCol({ name: 'nobookable', label_trans: 'event.nobookable', fieldtype: tools.FieldType.boolean }),
AddCol({ name: 'internal', label_trans: 'event.internal', fieldtype: tools.FieldType.boolean }),
AddCol({
name: 'pagefooter',
label_trans: 'event.pagefooter',
fieldtype: tools.FieldType.multiselect,
jointable: 'internalpage'
}),
AddCol({ name: 'news', label_trans: 'event.news', fieldtype: tools.FieldType.boolean }),
AddCol({ name: 'canceled', label_trans: 'event.canceled', fieldtype: tools.FieldType.boolean }),
AddCol({ name: 'deleted', label_trans: 'event.deleted', fieldtype: tools.FieldType.boolean }),
@@ -672,6 +697,8 @@ export const fieldsTable = {
return [shared_consts.Accepted.CHECK_READ_GUIDELINES, shared_consts.Accepted.CHECK_SEE_VIDEO_PRINCIPI]
else if (table === 'fieldstype')
return tools.FieldTypeArr
else if (table === 'metodo_pagamento')
return tools.SelectMetodiPagamento
else
return GlobalStore.getters.getListByTable(table)
@@ -1121,6 +1148,13 @@ export const fieldsTable = {
colkey: 'username',
collabel: (rec) => rec.name + ' ' + rec.surname
},
{
value: 'internalpages',
label: 'Pagine Interne',
columns: colmypage,
colkey: 'path',
collabel: 'title'
},
{
value: 'products',
label: 'Prodotti',
@@ -1294,6 +1328,13 @@ export const fieldsTable = {
collabel: 'label',
noshow: true,
},
{
value: 'metodo_pagamento',
label: 'Metodi di Pagamento',
colkey: 'value',
collabel: 'label',
noshow: true,
},
{
value: 'settings',
label: 'Impostazioni',

View File

@@ -2732,7 +2732,7 @@ export const tools = {
},
getDateNowEvent() {
return tools.addDays(tools.getDateNow(), -1)
return tools.addMinutes(tools.getDateNow(), -60 * 4)
},
getDateNull() {
return new Date(0)

View File

@@ -87,6 +87,7 @@
<span :class="props.row.status">{{ shared_consts.getStatusStr(props.row.status) }}</span>
</q-td>
<q-td key="comandi" :props="props">
Bottone:
<div v-if="tools.isManager()" class="q-pa-sm">
<q-btn-dropdown rounded dense label="Azioni">

View File

@@ -1,6 +1,6 @@
<template>
<q-page padding class="signup">
<CSignUp>
<CSignUp :showcell="true">
</CSignUp>
</q-page>