- aggiunto il Comune di Residenza alla REgistrazione e al Tutorial
This commit is contained in:
@@ -236,6 +236,7 @@ export const shared_consts = {
|
|||||||
FILTER_SENZA_NOTE: 1073741824,
|
FILTER_SENZA_NOTE: 1073741824,
|
||||||
FILTER_DA_CONTATTARE: 2147483648,
|
FILTER_DA_CONTATTARE: 2147483648,
|
||||||
FILTER_FACILITATORE: 4294967296,
|
FILTER_FACILITATORE: 4294967296,
|
||||||
|
FILTER_USER_COMUNE: 8589934592,
|
||||||
|
|
||||||
OPTIONS_SEARCH_ONLY_FULL_WORDS: 1,
|
OPTIONS_SEARCH_ONLY_FULL_WORDS: 1,
|
||||||
OPTIONS_SEARCH_USER_ONLY_FULL_WORDS: 2,
|
OPTIONS_SEARCH_USER_ONLY_FULL_WORDS: 2,
|
||||||
|
|||||||
@@ -1163,6 +1163,10 @@ export default defineComponent({
|
|||||||
filtercustom.push({
|
filtercustom.push({
|
||||||
'profile.resid_province': { $exists: true, $ne: '' },
|
'profile.resid_province': { $exists: true, $ne: '' },
|
||||||
});
|
});
|
||||||
|
} else if (myitemsingle === shared_consts.FILTER_USER_COMUNE) {
|
||||||
|
filtercustom.push({
|
||||||
|
'profile.resid_str_comune': { $exists: true, $ne: '' },
|
||||||
|
});
|
||||||
} else if (myitemsingle === shared_consts.FILTER_USER_TELEGRAM_BLOCKED) {
|
} else if (myitemsingle === shared_consts.FILTER_USER_TELEGRAM_BLOCKED) {
|
||||||
filtercustom.push({ 'profile.teleg_id_old': { $gt: 1 } });
|
filtercustom.push({ 'profile.teleg_id_old': { $gt: 1 } });
|
||||||
} else if (myitemsingle === shared_consts.FILTER_NOTE) {
|
} else if (myitemsingle === shared_consts.FILTER_NOTE) {
|
||||||
|
|||||||
@@ -629,6 +629,7 @@
|
|||||||
v-else
|
v-else
|
||||||
:table="tablesel"
|
:table="tablesel"
|
||||||
:prop_myrec="row"
|
:prop_myrec="row"
|
||||||
|
:index-row="indexrow"
|
||||||
@cmdext="cmdExt"
|
@cmdext="cmdExt"
|
||||||
:editOn="editOn"
|
:editOn="editOn"
|
||||||
:margin_right="margin_right"
|
:margin_right="margin_right"
|
||||||
|
|||||||
@@ -563,12 +563,10 @@ $gradient-hover: linear-gradient(135deg, rgba(102, 126, 234, 0.05) 0%, rgba(118,
|
|||||||
}
|
}
|
||||||
|
|
||||||
.q-btn {
|
.q-btn {
|
||||||
background: rgba(0, 0, 0, 0.5);
|
|
||||||
backdrop-filter: blur(8px);
|
backdrop-filter: blur(8px);
|
||||||
transition: all $transition-speed ease;
|
transition: all $transition-speed ease;
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
background: rgba(0, 0, 0, 0.7);
|
|
||||||
transform: scale(1.1) rotate(90deg);
|
transform: scale(1.1) rotate(90deg);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -707,6 +705,14 @@ $gradient-hover: linear-gradient(135deg, rgba(102, 126, 234, 0.05) 0%, rgba(118,
|
|||||||
transform: translateY(-2px);
|
transform: translateY(-2px);
|
||||||
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
|
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Mantieni i colori Quasar per i chip colorati
|
||||||
|
&.text-white,
|
||||||
|
&.q-chip--colored {
|
||||||
|
:deep(.q-chip__content) {
|
||||||
|
color: inherit;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// ========================================
|
// ========================================
|
||||||
|
|||||||
@@ -445,21 +445,21 @@
|
|||||||
/>
|
/>
|
||||||
</q-item-section>
|
</q-item-section>
|
||||||
|
|
||||||
<q-item-section>
|
<q-item-section>
|
||||||
<q-item-label>
|
<q-item-label>
|
||||||
<span
|
<span
|
||||||
v-for="(recstatus, index) in myrec.idStatusSkill"
|
v-for="(recstatus, index) in myrec.idStatusSkill"
|
||||||
:key="index"
|
:key="index"
|
||||||
>
|
|
||||||
<q-chip
|
|
||||||
dense
|
|
||||||
:color="globalStore.getColByStatusSkills(recstatus)"
|
|
||||||
text-color="white"
|
|
||||||
>
|
>
|
||||||
{{ globalStore.getStatusSkillById(recstatus) }}
|
<q-chip
|
||||||
</q-chip>
|
dense
|
||||||
</span>
|
:color="globalStore.getColByStatusSkills(recstatus)"
|
||||||
</q-item-label>
|
text-color="white"
|
||||||
|
>
|
||||||
|
{{ globalStore.getStatusSkillById(recstatus) }}
|
||||||
|
</q-chip>
|
||||||
|
</span>
|
||||||
|
</q-item-label>
|
||||||
</q-item-section>
|
</q-item-section>
|
||||||
</q-item>
|
</q-item>
|
||||||
<div v-if="!isSmall">
|
<div v-if="!isSmall">
|
||||||
@@ -511,7 +511,7 @@
|
|||||||
text-color="white"
|
text-color="white"
|
||||||
dense
|
dense
|
||||||
>
|
>
|
||||||
<span class="cal__quota-content">{{
|
<span>{{
|
||||||
getSectorByRec(myrec)[0].descr
|
getSectorByRec(myrec)[0].descr
|
||||||
}}</span>
|
}}</span>
|
||||||
</q-chip>
|
</q-chip>
|
||||||
@@ -526,7 +526,7 @@
|
|||||||
color="blue"
|
color="blue"
|
||||||
text-color="white"
|
text-color="white"
|
||||||
>
|
>
|
||||||
<span class="cal__quota-content">{{
|
<span>{{
|
||||||
getRecGoodSkillByRec(myrec)[0].descr
|
getRecGoodSkillByRec(myrec)[0].descr
|
||||||
}}</span>
|
}}</span>
|
||||||
</q-chip>
|
</q-chip>
|
||||||
|
|||||||
@@ -2,9 +2,12 @@
|
|||||||
// MODERN FIELD DB - COMPACT & PROFESSIONAL
|
// MODERN FIELD DB - COMPACT & PROFESSIONAL
|
||||||
// ========================================
|
// ========================================
|
||||||
|
|
||||||
|
.modern-field-container-con-flex {
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
|
||||||
// Container principale
|
// Container principale
|
||||||
.modern-field-container {
|
.modern-field-container {
|
||||||
display: flex;
|
|
||||||
align-items: stretch;
|
align-items: stretch;
|
||||||
gap: 12px;
|
gap: 12px;
|
||||||
padding: 8px 12px;
|
padding: 8px 12px;
|
||||||
@@ -111,10 +114,13 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Valore campo (chip/display)
|
.con-flex {
|
||||||
.modern-field-value {
|
|
||||||
flex: 1;
|
flex: 1;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Valore campo (chip/display)
|
||||||
|
.modern-field-value {
|
||||||
align-items: center;
|
align-items: center;
|
||||||
padding: 8px 12px;
|
padding: 8px 12px;
|
||||||
min-height: 48px;
|
min-height: 48px;
|
||||||
@@ -221,6 +227,7 @@
|
|||||||
0% {
|
0% {
|
||||||
transform: translateX(-100%) rotate(45deg);
|
transform: translateX(-100%) rotate(45deg);
|
||||||
}
|
}
|
||||||
|
|
||||||
100% {
|
100% {
|
||||||
transform: translateX(100%) rotate(45deg);
|
transform: translateX(100%) rotate(45deg);
|
||||||
}
|
}
|
||||||
@@ -280,4 +287,4 @@
|
|||||||
display: flex;
|
display: flex;
|
||||||
flex-grow: 1;
|
flex-grow: 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -18,7 +18,8 @@ export default defineComponent({
|
|||||||
props: {
|
props: {
|
||||||
title: {
|
title: {
|
||||||
type: String,
|
type: String,
|
||||||
required: true,
|
required: false,
|
||||||
|
default: '',
|
||||||
},
|
},
|
||||||
hint: {
|
hint: {
|
||||||
type: String,
|
type: String,
|
||||||
@@ -125,6 +126,11 @@ export default defineComponent({
|
|||||||
required: false,
|
required: false,
|
||||||
default: '',
|
default: '',
|
||||||
},
|
},
|
||||||
|
myclass: {
|
||||||
|
type: String,
|
||||||
|
required: false,
|
||||||
|
default: '',
|
||||||
|
},
|
||||||
idmain: {
|
idmain: {
|
||||||
type: String,
|
type: String,
|
||||||
required: false,
|
required: false,
|
||||||
@@ -140,6 +146,16 @@ export default defineComponent({
|
|||||||
required: false,
|
required: false,
|
||||||
default: false,
|
default: false,
|
||||||
},
|
},
|
||||||
|
isInModif: {
|
||||||
|
type: Boolean,
|
||||||
|
required: false,
|
||||||
|
default: false,
|
||||||
|
},
|
||||||
|
nosaveToDb: {
|
||||||
|
type: Boolean,
|
||||||
|
required: false,
|
||||||
|
default: false,
|
||||||
|
},
|
||||||
notAllowAtChar: { // @
|
notAllowAtChar: { // @
|
||||||
type: Boolean,
|
type: Boolean,
|
||||||
required: false,
|
required: false,
|
||||||
@@ -163,7 +179,8 @@ export default defineComponent({
|
|||||||
console.log('showandsave CMyFieldDb:', newval)
|
console.log('showandsave CMyFieldDb:', newval)
|
||||||
console.log('subkey', props.mysubkey, 'sskey', props.mysubsubkey)
|
console.log('subkey', props.mysubkey, 'sskey', props.mysubsubkey)
|
||||||
|
|
||||||
await tools.saveInDBForTypes($q, props.mykey, newval, props.type, props.serv, props.table, props.mysubkey, props.id, props.indrec, props.mysubsubkey, props.specialField);
|
if (!props.nosaveToDb)
|
||||||
|
await tools.saveInDBForTypes($q, props.mykey, newval, props.type, props.serv, props.table, props.mysubkey, props.id, props.indrec, props.mysubsubkey, props.specialField);
|
||||||
|
|
||||||
emit('savedInDb')
|
emit('savedInDb')
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,9 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="modern-field-container" :class="{ disabled: disable, readonly: !canModify && !canEdit }">
|
<div class="modern-field-container" :class="{
|
||||||
|
disabled: disable,
|
||||||
|
readonly: !canModify,
|
||||||
|
'modern-field-container-con-flex': !!title
|
||||||
|
}">
|
||||||
<!-- Label/Titolo -->
|
<!-- Label/Titolo -->
|
||||||
<div v-if="title" class="modern-field-label">
|
<div v-if="title" class="modern-field-label">
|
||||||
<div class="label-content">
|
<div class="label-content">
|
||||||
@@ -9,7 +13,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Valore/Edit -->
|
<!-- Valore/Edit -->
|
||||||
<div class="modern-field-value modern-popup-wrapper">
|
<div class="modern-field-value modern-popup-wrapper" :class="{ 'con-flex': !!title }">
|
||||||
<CMyPopupEdit
|
<CMyPopupEdit
|
||||||
debounce="1000"
|
debounce="1000"
|
||||||
:fielddb="true"
|
:fielddb="true"
|
||||||
@@ -18,7 +22,9 @@
|
|||||||
:isrec="!!rec"
|
:isrec="!!rec"
|
||||||
:table="table"
|
:table="table"
|
||||||
:hint="hint"
|
:hint="hint"
|
||||||
|
:isInModif="isInModif"
|
||||||
:title="title"
|
:title="title"
|
||||||
|
:myclass="myclass"
|
||||||
:field="mykey"
|
:field="mykey"
|
||||||
:filter="filter"
|
:filter="filter"
|
||||||
:subfield="mysubkey"
|
:subfield="mysubkey"
|
||||||
@@ -41,6 +47,7 @@
|
|||||||
:pickup="pickup"
|
:pickup="pickup"
|
||||||
v-model:row="row"
|
v-model:row="row"
|
||||||
minuteinterval="1"
|
minuteinterval="1"
|
||||||
|
:nosaveToDb="nosaveToDb"
|
||||||
@showandsave="showandsave"
|
@showandsave="showandsave"
|
||||||
@save="save"
|
@save="save"
|
||||||
:notAllowAtChar="notAllowAtChar"
|
:notAllowAtChar="notAllowAtChar"
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ import MixinBase from '@src/mixins/mixin-base'
|
|||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
name: 'CMyFieldRec',
|
name: 'CMyFieldRec',
|
||||||
emits: ['save', 'update:rec', 'update_col'],
|
emits: ['save', 'update:rec', 'update_col', 'savedInDb'],
|
||||||
props: {
|
props: {
|
||||||
table: {
|
table: {
|
||||||
type: String,
|
type: String,
|
||||||
@@ -59,6 +59,16 @@ export default defineComponent({
|
|||||||
required: false,
|
required: false,
|
||||||
default: false,
|
default: false,
|
||||||
},
|
},
|
||||||
|
mysubkey_tosee: {
|
||||||
|
type: String,
|
||||||
|
required: false,
|
||||||
|
default: '',
|
||||||
|
},
|
||||||
|
fieldsel_tosee: {
|
||||||
|
type: String,
|
||||||
|
required: false,
|
||||||
|
default: '',
|
||||||
|
},
|
||||||
disable: {
|
disable: {
|
||||||
type: Boolean,
|
type: Boolean,
|
||||||
required: false,
|
required: false,
|
||||||
@@ -180,7 +190,7 @@ export default defineComponent({
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function showandsave(row: any, col: any, newval: any, valinitial: any) {
|
async function showandsave(row: any, col: any, newval: any, valinitial: any) {
|
||||||
console.log('showandsave CMyFieldrec', row, col, newval)
|
console.log('showandsave CMyFieldrec', row, col, newval)
|
||||||
emit('save', props.rec, newval, col)
|
emit('save', props.rec, newval, col)
|
||||||
|
|
||||||
@@ -189,12 +199,14 @@ export default defineComponent({
|
|||||||
|
|
||||||
if (newval !== valinitial) {
|
if (newval !== valinitial) {
|
||||||
if (props.id) {
|
if (props.id) {
|
||||||
tools.saveInDBForTypes($q, mykey.value, newval, props.fieldtype || col.fieldtype, false, props.table, mysubkey.value, props.id, props.indrec, mysubsubkey.value, props.specialField, row)
|
await tools.saveInDBForTypes($q, mykey.value, newval, props.fieldtype || col.fieldtype, false, props.table, mysubkey.value, props.id, props.indrec, mysubsubkey.value, props.specialField, row)
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
emit('savedInDb')
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function withBorder() {
|
function withBorder() {
|
||||||
|
|||||||
@@ -50,6 +50,8 @@
|
|||||||
:mysubsubkey="mysubsubkey"
|
:mysubsubkey="mysubsubkey"
|
||||||
:type="fieldtype || col.fieldtype"
|
:type="fieldtype || col.fieldtype"
|
||||||
:serv="false"
|
:serv="false"
|
||||||
|
:subfield_to_see="mysubkey_tosee"
|
||||||
|
:fieldsel_tosee="fieldsel_tosee"
|
||||||
:disable="disable"
|
:disable="disable"
|
||||||
:jointable="jointable"
|
:jointable="jointable"
|
||||||
:myimg="myimg"
|
:myimg="myimg"
|
||||||
|
|||||||
@@ -446,4 +446,11 @@
|
|||||||
.modern-chip {
|
.modern-chip {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.class_select.q-select {
|
||||||
|
@media (max-width: 599px) {
|
||||||
|
width: 100% !important;
|
||||||
|
max-width: 100% !important;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -111,6 +111,11 @@ export default defineComponent({
|
|||||||
required: false,
|
required: false,
|
||||||
default: '',
|
default: '',
|
||||||
},
|
},
|
||||||
|
myclass: {
|
||||||
|
type: String,
|
||||||
|
required: false,
|
||||||
|
default: '',
|
||||||
|
},
|
||||||
field2: {
|
field2: {
|
||||||
type: String,
|
type: String,
|
||||||
required: false,
|
required: false,
|
||||||
@@ -824,7 +829,7 @@ export default defineComponent({
|
|||||||
}
|
}
|
||||||
|
|
||||||
async function savefield(value: any, initialval: any, myq: any) {
|
async function savefield(value: any, initialval: any, myq: any) {
|
||||||
if (!props.insertMode) {
|
if (!props.insertMode && !props.nosaveToDb) {
|
||||||
let ret = null;
|
let ret = null;
|
||||||
myvalue.value = value;
|
myvalue.value = value;
|
||||||
return tools.saveInDBForTypes(
|
return tools.saveInDBForTypes(
|
||||||
@@ -843,7 +848,7 @@ export default defineComponent({
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
async function savefield2(value: any, initialval: any, myq: any) {
|
async function savefield2(value: any, initialval: any, myq: any) {
|
||||||
if (!props.insertMode) {
|
if (!props.insertMode && !props.nosaveToDb) {
|
||||||
let ret = null;
|
let ret = null;
|
||||||
myvalue2.value = value;
|
myvalue2.value = value;
|
||||||
return tools.saveInDBForTypes(
|
return tools.saveInDBForTypes(
|
||||||
@@ -861,49 +866,11 @@ export default defineComponent({
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
async function savefieldtosee(value: any, initialval: any, myq: any) {
|
|
||||||
if (!props.insertMode) {
|
|
||||||
let ret = null;
|
|
||||||
myvalue2.value = value;
|
|
||||||
return tools.saveInDBForTypes(
|
|
||||||
myq,
|
|
||||||
props.field2,
|
|
||||||
myvalue2.value,
|
|
||||||
props.type,
|
|
||||||
props.serv,
|
|
||||||
props.table,
|
|
||||||
props.fieldsel_tosee,
|
|
||||||
props.id,
|
|
||||||
props.indrec,
|
|
||||||
props.mysubsubkey,
|
|
||||||
props.specialField
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function annulla(val: any) {
|
function annulla(val: any) {
|
||||||
emit('annulla', true);
|
emit('annulla', true);
|
||||||
}
|
}
|
||||||
|
|
||||||
function savefieldboolean(value: any) {
|
|
||||||
if (myvalue.value === undefined) myvalue.value = 'true';
|
|
||||||
else myvalue.value = value;
|
|
||||||
|
|
||||||
tools.saveInDBForTypes(
|
|
||||||
$q,
|
|
||||||
props.field,
|
|
||||||
myvalue,
|
|
||||||
props.type,
|
|
||||||
props.serv,
|
|
||||||
props.table,
|
|
||||||
props.subfield,
|
|
||||||
props.id,
|
|
||||||
props.indrec,
|
|
||||||
props.mysubsubkey,
|
|
||||||
props.specialField
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
function Savedb(newVal: any, valinitial: any) {
|
function Savedb(newVal: any, valinitial: any) {
|
||||||
// console.log('Savedb', newVal)
|
// console.log('Savedb', newVal)
|
||||||
|
|
||||||
@@ -950,7 +917,7 @@ export default defineComponent({
|
|||||||
|
|
||||||
// console.log('Savedb', newVal)
|
// console.log('Savedb', newVal)
|
||||||
|
|
||||||
emit('showandsave', props.row, props.mycol, newVal, valinitial);
|
emit('showandsave', props.row, props.mycol, newVal, valinitial, myvaltosee.value);
|
||||||
visueditor.value = false;
|
visueditor.value = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1265,6 +1265,7 @@
|
|||||||
:addnone="col?.addnone"
|
:addnone="col?.addnone"
|
||||||
:filter_field="col?.filter_field"
|
:filter_field="col?.filter_field"
|
||||||
:value_extra="value_extra"
|
:value_extra="value_extra"
|
||||||
|
:myclass="myclass"
|
||||||
:optval="fieldsTable.getKeyByTable(col.jointable)"
|
:optval="fieldsTable.getKeyByTable(col.jointable)"
|
||||||
:optlab="fieldsTable.getLabelByTable(col.jointable)"
|
:optlab="fieldsTable.getLabelByTable(col.jointable)"
|
||||||
:options="
|
:options="
|
||||||
@@ -1763,6 +1764,7 @@
|
|||||||
col.fieldtype === costanti.FieldType.select_by_server
|
col.fieldtype === costanti.FieldType.select_by_server
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
|
|
||||||
<CMySelect
|
<CMySelect
|
||||||
:type_out="col.field_outtype"
|
:type_out="col.field_outtype"
|
||||||
:col="col"
|
:col="col"
|
||||||
@@ -1794,6 +1796,7 @@
|
|||||||
col.filter
|
col.filter
|
||||||
)
|
)
|
||||||
"
|
"
|
||||||
|
:class="myclass"
|
||||||
:useinput="col.allowNewValue"
|
:useinput="col.allowNewValue"
|
||||||
:addstrrequired="addstrrequired"
|
:addstrrequired="addstrrequired"
|
||||||
:dense="dense"
|
:dense="dense"
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ $shadow-md: 0 2px 8px rgba(0, 0, 0, 0.1);
|
|||||||
$mobile-breakpoint: 768px;
|
$mobile-breakpoint: 768px;
|
||||||
|
|
||||||
// ========================================
|
// ========================================
|
||||||
// WRAPPER CARD
|
// WRAPPER CARD - ALTERNATING COLORS
|
||||||
// ========================================
|
// ========================================
|
||||||
.rec-card-wrapper {
|
.rec-card-wrapper {
|
||||||
margin: 4px auto;
|
margin: 4px auto;
|
||||||
@@ -26,6 +26,22 @@ $mobile-breakpoint: 768px;
|
|||||||
@media (max-width: $mobile-breakpoint) {
|
@media (max-width: $mobile-breakpoint) {
|
||||||
margin: 2px auto;
|
margin: 2px auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
&.is-even {
|
||||||
|
.modern-rec-card {
|
||||||
|
background: linear-gradient(135deg, rgba(49, 154, 239, 0.227) 0%, rgba(25, 118, 210, 0.05) 100%);
|
||||||
|
border-color: rgba(66, 165, 245, 0.15);
|
||||||
|
// ... resto degli stili blu
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&.is-odd {
|
||||||
|
.modern-rec-card {
|
||||||
|
background: linear-gradient(135deg, rgba(38, 197, 218, 0.159) 0%, rgba(0, 150, 136, 0.05) 100%);
|
||||||
|
border-color: rgba(38, 198, 218, 0.15);
|
||||||
|
// ... resto degli stili teal
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// ========================================
|
// ========================================
|
||||||
@@ -163,15 +179,11 @@ $mobile-breakpoint: 768px;
|
|||||||
padding: 8px;
|
padding: 8px;
|
||||||
transition: all $transition-speed ease;
|
transition: all $transition-speed ease;
|
||||||
margin-bottom: 4px;
|
margin-bottom: 4px;
|
||||||
|
position: relative;
|
||||||
|
overflow: hidden;
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
box-shadow: $shadow-md;
|
box-shadow: $shadow-md;
|
||||||
border-color: rgba(25, 118, 210, 0.2);
|
|
||||||
}
|
|
||||||
|
|
||||||
&.is-attending {
|
|
||||||
border-left: 3px solid $positive-color;
|
|
||||||
background: linear-gradient(to right, rgba(33, 186, 69, 0.05), white);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (max-width: $mobile-breakpoint) {
|
@media (max-width: $mobile-breakpoint) {
|
||||||
@@ -224,7 +236,7 @@ $mobile-breakpoint: 768px;
|
|||||||
}
|
}
|
||||||
|
|
||||||
// ========================================
|
// ========================================
|
||||||
// CONTENT SECTION
|
// CONTENT SECTION - ALTERNATING COLORS
|
||||||
// ========================================
|
// ========================================
|
||||||
.content-section {
|
.content-section {
|
||||||
padding: 0 8px 0 0 !important;
|
padding: 0 8px 0 0 !important;
|
||||||
|
|||||||
@@ -1,19 +1,19 @@
|
|||||||
import type { PropType} from 'vue';
|
import type { PropType } from 'vue';
|
||||||
import { defineComponent, onMounted, ref, watch, computed } from 'vue'
|
import { defineComponent, onMounted, ref, watch, computed } from 'vue';
|
||||||
import { useUserStore } from '@store/UserStore'
|
import { useUserStore } from '@store/UserStore';
|
||||||
import type { IUserFields} from 'model';
|
import type { IUserFields } from 'model';
|
||||||
import { IImgGallery, IUserProfile } from 'model'
|
import { IImgGallery, IUserProfile } from 'model';
|
||||||
import { costanti } from '@costanti'
|
import { costanti } from '@costanti';
|
||||||
import { shared_consts } from '@src/common/shared_vuejs'
|
import { shared_consts } from '@src/common/shared_vuejs';
|
||||||
import { fieldsTable } from '@store/Modules/fieldsTable'
|
import { fieldsTable } from '@store/Modules/fieldsTable';
|
||||||
import { tools } from '@tools'
|
import { tools } from '@tools';
|
||||||
import { toolsext } from '@store/Modules/toolsext'
|
import { toolsext } from '@store/Modules/toolsext';
|
||||||
import { useQuasar } from 'quasar'
|
import { useQuasar } from 'quasar';
|
||||||
import { useI18n } from 'vue-i18n'
|
import { useI18n } from 'vue-i18n';
|
||||||
import { CMyCardPopup } from '@src/components/CMyCardPopup'
|
import { CMyCardPopup } from '@src/components/CMyCardPopup';
|
||||||
import { useRouter } from 'vue-router'
|
import { useRouter } from 'vue-router';
|
||||||
import { useCalendarStore } from '@src/store/CalendarStore'
|
import { useCalendarStore } from '@src/store/CalendarStore';
|
||||||
import { useGlobalStore } from '@src/store/globalStore'
|
import { useGlobalStore } from '@src/store/globalStore';
|
||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
name: 'CMyRecCard',
|
name: 'CMyRecCard',
|
||||||
@@ -29,6 +29,11 @@ export default defineComponent({
|
|||||||
required: false,
|
required: false,
|
||||||
default: null,
|
default: null,
|
||||||
},
|
},
|
||||||
|
indexRow: {
|
||||||
|
type: Number,
|
||||||
|
required: false,
|
||||||
|
default: 0,
|
||||||
|
},
|
||||||
editOn: {
|
editOn: {
|
||||||
type: Boolean,
|
type: Boolean,
|
||||||
required: false,
|
required: false,
|
||||||
@@ -38,77 +43,84 @@ export default defineComponent({
|
|||||||
type: Number,
|
type: Number,
|
||||||
required: false,
|
required: false,
|
||||||
default: 0,
|
default: 0,
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
setup(props, { emit }) {
|
setup(props, { emit }) {
|
||||||
|
const userStore = useUserStore();
|
||||||
|
const calendarStore = useCalendarStore();
|
||||||
|
const globalStore = useGlobalStore();
|
||||||
|
const $q = useQuasar();
|
||||||
|
const { t } = useI18n();
|
||||||
|
const $router = useRouter();
|
||||||
|
|
||||||
const userStore = useUserStore()
|
const myrec = ref(<any>null);
|
||||||
const calendarStore = useCalendarStore()
|
|
||||||
const globalStore = useGlobalStore()
|
|
||||||
const $q = useQuasar()
|
|
||||||
const { t } = useI18n()
|
|
||||||
const $router = useRouter()
|
|
||||||
|
|
||||||
const myrec = ref(<any>null)
|
const visupage = ref(false);
|
||||||
|
|
||||||
const visupage = ref(false)
|
|
||||||
const disabilita = computed(() => {
|
const disabilita = computed(() => {
|
||||||
return props.table === shared_consts.TABLES_MYBACHECAS
|
return props.table === shared_consts.TABLES_MYBACHECAS;
|
||||||
})
|
});
|
||||||
|
|
||||||
watch(() => props.prop_myrec, (newval, oldval) => {
|
|
||||||
|
|
||||||
mounted()
|
|
||||||
})
|
|
||||||
|
|
||||||
|
watch(
|
||||||
|
() => props.prop_myrec,
|
||||||
|
(newval, oldval) => {
|
||||||
|
mounted();
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
function mounted() {
|
function mounted() {
|
||||||
if (props.prop_myrec) {
|
if (props.prop_myrec) {
|
||||||
myrec.value = props.prop_myrec
|
myrec.value = props.prop_myrec;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function showBadge() {
|
function showBadge() {
|
||||||
if (shared_consts.TABLES_SHOW_ADTYPE.includes(props.table)) {
|
if (shared_consts.TABLES_SHOW_ADTYPE.includes(props.table)) {
|
||||||
return true
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
return false
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
function getImgUser(profile: IUserFields) {
|
function getImgUser(profile: IUserFields) {
|
||||||
return userStore.getImgByProfile(profile)
|
return userStore.getImgByProfile(profile);
|
||||||
}
|
}
|
||||||
|
|
||||||
function naviga(path: string) {
|
function naviga(path: string) {
|
||||||
$router.push(path)
|
$router.push(path);
|
||||||
}
|
}
|
||||||
|
|
||||||
function setCmd($q: any, cmd: number, myusername: string, value: any, groupname: string) {
|
function setCmd(
|
||||||
emit('setCmd', $q, cmd, myusername, value, groupname)
|
$q: any,
|
||||||
|
cmd: number,
|
||||||
|
myusername: string,
|
||||||
|
value: any,
|
||||||
|
groupname: string
|
||||||
|
) {
|
||||||
|
emit('setCmd', $q, cmd, myusername, value, groupname);
|
||||||
}
|
}
|
||||||
|
|
||||||
function cmdExt(cmd: any, val1: any, val2: any) {
|
function cmdExt(cmd: any, val1: any, val2: any) {
|
||||||
emit('cmdext', cmd, val1, val2)
|
emit('cmdext', cmd, val1, val2);
|
||||||
}
|
}
|
||||||
|
|
||||||
function navigaExt(obj: any) {
|
function navigaExt(obj: any) {
|
||||||
cmdExt(costanti.CMD_SHOW_PAGE, null, obj)
|
cmdExt(costanti.CMD_SHOW_PAGE, null, obj);
|
||||||
//let link = shared_consts.getDirectoryByTable(props.table) + '/' + obj._id
|
//let link = shared_consts.getDirectoryByTable(props.table) + '/' + obj._id
|
||||||
//console.log('link', link)
|
//console.log('link', link)
|
||||||
//$router.push(link)
|
//$router.push(link)
|
||||||
}
|
}
|
||||||
|
|
||||||
function getNameToShow(user: IUserFields, col = null) {
|
function getNameToShow(user: IUserFields, col = null) {
|
||||||
if (myrec.value.groupname)
|
if (myrec.value.groupname) return myrec.value.groupname;
|
||||||
return myrec.value.groupname
|
else return userStore.getNameToShow(user, col);
|
||||||
else
|
|
||||||
return userStore.getNameToShow(user, col)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function isPartecipero() {
|
function isPartecipero() {
|
||||||
return (props.table === shared_consts.TABLES_MYBACHECAS && calendarStore.isPartecipero(myrec.value._id, props.table))
|
return (
|
||||||
|
props.table === shared_consts.TABLES_MYBACHECAS &&
|
||||||
|
calendarStore.isPartecipero(myrec.value._id, props.table)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
function computedWidth() {
|
function computedWidth() {
|
||||||
@@ -116,7 +128,7 @@ export default defineComponent({
|
|||||||
return `${Math.min(width, 600)}px`; // Limita la larghezza massima a 600px
|
return `${Math.min(width, 600)}px`; // Limita la larghezza massima a 600px
|
||||||
}
|
}
|
||||||
|
|
||||||
onMounted(mounted)
|
onMounted(mounted);
|
||||||
|
|
||||||
return {
|
return {
|
||||||
t,
|
t,
|
||||||
@@ -140,6 +152,6 @@ export default defineComponent({
|
|||||||
disabilita,
|
disabilita,
|
||||||
globalStore,
|
globalStore,
|
||||||
computedWidth,
|
computedWidth,
|
||||||
}
|
};
|
||||||
},
|
},
|
||||||
})
|
});
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div
|
<div
|
||||||
class="rec-card-wrapper"
|
class="rec-card-wrapper"
|
||||||
|
:class="{ 'is-even': indexRow % 2 === 0, 'is-odd': indexRow % 2 !== 0 }"
|
||||||
:style="{ maxWidth: computedWidth() }"
|
:style="{ maxWidth: computedWidth() }"
|
||||||
>
|
>
|
||||||
<!-- Evento Calendar con data grande -->
|
<!-- Evento Calendar con data grande -->
|
||||||
|
|||||||
@@ -106,6 +106,7 @@
|
|||||||
:label="addstrrequired + label"
|
:label="addstrrequired + label"
|
||||||
input-debounce="300"
|
input-debounce="300"
|
||||||
:input-class="myclass"
|
:input-class="myclass"
|
||||||
|
:class="myclass"
|
||||||
:options="valori"
|
:options="valori"
|
||||||
:option-value="optval"
|
:option-value="optval"
|
||||||
:option-label="(opt) => getOptionLabel(opt)"
|
:option-label="(opt) => getOptionLabel(opt)"
|
||||||
|
|||||||
@@ -76,11 +76,11 @@
|
|||||||
<span
|
<span
|
||||||
v-if="contact.profile && contact.profile.resid_str_comune"
|
v-if="contact.profile && contact.profile.resid_str_comune"
|
||||||
class="show_comune_title"
|
class="show_comune_title"
|
||||||
>Comune:
|
>
|
||||||
<span class="show_comune">{{ contact.profile.resid_str_comune }}</span>
|
<span class="show_comune">{{ contact.profile.resid_str_comune }} ({{ contact.profile.resid_province }})</span>
|
||||||
</span>
|
</span>
|
||||||
<span
|
<span
|
||||||
v-if="contact.profile && contact.profile.resid_province"
|
v-if="contact.profile && contact.profile.resid_province && !contact.profile.resid_str_comune"
|
||||||
class="show_province_title"
|
class="show_province_title"
|
||||||
><span class="show_province">({{ contact.profile.resid_province }})</span>
|
><span class="show_province">({{ contact.profile.resid_province }})</span>
|
||||||
</span>
|
</span>
|
||||||
|
|||||||
@@ -233,14 +233,14 @@ $mobile-footer-height: 80px;
|
|||||||
}
|
}
|
||||||
|
|
||||||
.step-line {
|
.step-line {
|
||||||
width: 60px;
|
width: 50px;
|
||||||
height: 3px;
|
height: 3px;
|
||||||
background: linear-gradient(to right, #e0e0e0, #bdbdbd);
|
background: linear-gradient(to right, #e0e0e0, #bdbdbd);
|
||||||
margin: 0 4px;
|
margin: 0 4px;
|
||||||
transition: all $transition-speed ease;
|
transition: all $transition-speed ease;
|
||||||
|
|
||||||
@media (max-width: $mobile-breakpoint) {
|
@media (max-width: $mobile-breakpoint) {
|
||||||
width: 40px;
|
width: 30px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.completed + & {
|
.completed + & {
|
||||||
@@ -288,8 +288,8 @@ $mobile-footer-height: 80px;
|
|||||||
animation: fadeIn 0.4s ease;
|
animation: fadeIn 0.4s ease;
|
||||||
|
|
||||||
@media (max-width: $mobile-breakpoint) {
|
@media (max-width: $mobile-breakpoint) {
|
||||||
padding: 0px 16px 16px;
|
padding: 0px 8px 8px;
|
||||||
gap: 12px;
|
gap: 2px;
|
||||||
min-height: calc(100vh - 280px);
|
min-height: calc(100vh - 280px);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -306,7 +306,7 @@ $mobile-footer-height: 80px;
|
|||||||
border-bottom: 2px solid rgba(0, 0, 0, 0.05);
|
border-bottom: 2px solid rgba(0, 0, 0, 0.05);
|
||||||
|
|
||||||
@media (max-width: $mobile-breakpoint) {
|
@media (max-width: $mobile-breakpoint) {
|
||||||
padding-bottom: 12px;
|
padding-bottom: 0px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.q-icon {
|
.q-icon {
|
||||||
|
|||||||
@@ -21,6 +21,8 @@ import {
|
|||||||
watch,
|
watch,
|
||||||
} from 'vue';
|
} from 'vue';
|
||||||
import { CSignIn } from '@src/components/CSignIn';
|
import { CSignIn } from '@src/components/CSignIn';
|
||||||
|
import { CMyFieldDb } from '@src/components/CMyFieldDb';
|
||||||
|
import { CMyFieldRec } from '@src/components/CMyFieldRec';
|
||||||
import { useQuasar } from 'quasar';
|
import { useQuasar } from 'quasar';
|
||||||
import { useI18n } from 'vue-i18n';
|
import { useI18n } from 'vue-i18n';
|
||||||
import { DefaultProfile, useUserStore } from '@store/UserStore';
|
import { DefaultProfile, useUserStore } from '@store/UserStore';
|
||||||
@@ -28,6 +30,7 @@ import useValidate from '@vuelidate/core';
|
|||||||
import useVuelidate from '@vuelidate/core';
|
import useVuelidate from '@vuelidate/core';
|
||||||
|
|
||||||
import { shared_consts } from '@src/common/shared_vuejs';
|
import { shared_consts } from '@src/common/shared_vuejs';
|
||||||
|
import { costanti } from '@costanti';
|
||||||
|
|
||||||
import { minLength, required, sameAs } from '@vuelidate/validators';
|
import { minLength, required, sameAs } from '@vuelidate/validators';
|
||||||
|
|
||||||
@@ -49,7 +52,15 @@ import { useInvitaAmicoStore } from 'app/src/stores/useInvitaAmicoStore';
|
|||||||
|
|
||||||
export default defineComponent({
|
export default defineComponent({
|
||||||
name: 'CSignUp',
|
name: 'CSignUp',
|
||||||
components: { Logo, CTitleBanner, PagePolicy, CCopyBtn, CRegistration },
|
components: {
|
||||||
|
Logo,
|
||||||
|
CTitleBanner,
|
||||||
|
PagePolicy,
|
||||||
|
CCopyBtn,
|
||||||
|
CRegistration,
|
||||||
|
CMyFieldDb,
|
||||||
|
CMyFieldRec,
|
||||||
|
},
|
||||||
props: {
|
props: {
|
||||||
showadultcheck: {
|
showadultcheck: {
|
||||||
type: Boolean,
|
type: Boolean,
|
||||||
@@ -131,9 +142,12 @@ export default defineComponent({
|
|||||||
const inputSurname = ref(<any>null);
|
const inputSurname = ref(<any>null);
|
||||||
const inputPassword = ref(<any>null);
|
const inputPassword = ref(<any>null);
|
||||||
const inputPassword2 = ref(<any>null);
|
const inputPassword2 = ref(<any>null);
|
||||||
|
const inputComune = ref(<any>null);
|
||||||
const noinvito = ref(false);
|
const noinvito = ref(false);
|
||||||
|
const numStepTotali = ref('5');
|
||||||
|
const reccomune = ref(<any>{profile: {resid_str_comune: '', resid_comune: ''}});
|
||||||
|
|
||||||
const submitBtn = ref(<any>null); // AGGIUNGI QUESTA RIGA
|
const submitBtn = ref(<any>null); // AGGIUNGI QUESTA RIGA
|
||||||
|
|
||||||
// Responsive detection
|
// Responsive detection
|
||||||
const isMobile = ref(false);
|
const isMobile = ref(false);
|
||||||
@@ -171,6 +185,8 @@ export default defineComponent({
|
|||||||
(inputPassword.value && inputPassword.value.hasError) ||
|
(inputPassword.value && inputPassword.value.hasError) ||
|
||||||
!inputPassword2.value ||
|
!inputPassword2.value ||
|
||||||
(inputPassword2.value && inputPassword2.value.hasError);
|
(inputPassword2.value && inputPassword2.value.hasError);
|
||||||
|
} else if (slide.value === '4') {
|
||||||
|
ret = !signup.profile.resid_str_comune || !signup.profile.resid_comune;
|
||||||
}
|
}
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
@@ -200,9 +216,13 @@ export default defineComponent({
|
|||||||
inputPassword.value.focus();
|
inputPassword.value.focus();
|
||||||
}
|
}
|
||||||
} else if (newSlide === '4') {
|
} else if (newSlide === '4') {
|
||||||
|
if (inputComune.value) {
|
||||||
|
inputComune.value.focus();
|
||||||
|
}
|
||||||
|
} else if (newSlide === '5') {
|
||||||
if (submitBtn.value) {
|
if (submitBtn.value) {
|
||||||
submitBtn.value.$el.focus();
|
submitBtn.value.$el.focus();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
@@ -243,6 +263,7 @@ export default defineComponent({
|
|||||||
complexityUser,
|
complexityUser,
|
||||||
registereduser,
|
registereduser,
|
||||||
},
|
},
|
||||||
|
comune: {},
|
||||||
name: {
|
name: {
|
||||||
required:
|
required:
|
||||||
props.collettivo ||
|
props.collettivo ||
|
||||||
@@ -501,6 +522,20 @@ export default defineComponent({
|
|||||||
onMounted(async () => {
|
onMounted(async () => {
|
||||||
const token = props.token;
|
const token = props.token;
|
||||||
|
|
||||||
|
let dev = tools.isDevelop();
|
||||||
|
|
||||||
|
// dev = false;
|
||||||
|
|
||||||
|
if (dev) {
|
||||||
|
signup.email = 'test123@prova.com';
|
||||||
|
signup.username = 'test123';
|
||||||
|
signup.name = 'Nome';
|
||||||
|
signup.surname = 'Cognome';
|
||||||
|
signup.password = 'A12345678';
|
||||||
|
signup.repeatPassword = 'A12345678';
|
||||||
|
signup.aportador_solidario = 'surya1977';
|
||||||
|
}
|
||||||
|
|
||||||
// Check mobile on mount
|
// Check mobile on mount
|
||||||
checkMobile();
|
checkMobile();
|
||||||
window.addEventListener('resize', checkMobile);
|
window.addEventListener('resize', checkMobile);
|
||||||
@@ -518,6 +553,19 @@ export default defineComponent({
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
function updateComune(row: any, col: any, newval: any, valinit: any, valtosee: any) {
|
||||||
|
// console.log('updateComune', reccomune.value.profile.resid_comune)
|
||||||
|
if (!!row.profile.recCity) {
|
||||||
|
signup.profile.resid_comune = row.profile.recCity._id
|
||||||
|
signup.profile.resid_str_comune = row.profile.recCity.comune_solo
|
||||||
|
signup.profile.resid_province = row.profile.recCity.prov
|
||||||
|
} else {
|
||||||
|
signup.profile.resid_comune = ''
|
||||||
|
signup.profile.resid_str_comune = ''
|
||||||
|
signup.profile.resid_province = ''
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
onUnmounted(() => {
|
onUnmounted(() => {
|
||||||
window.removeEventListener('resize', checkMobile);
|
window.removeEventListener('resize', checkMobile);
|
||||||
});
|
});
|
||||||
@@ -557,10 +605,15 @@ export default defineComponent({
|
|||||||
inputSurname,
|
inputSurname,
|
||||||
inputPassword,
|
inputPassword,
|
||||||
inputPassword2,
|
inputPassword2,
|
||||||
|
inputComune,
|
||||||
shared_consts,
|
shared_consts,
|
||||||
isMobile,
|
isMobile,
|
||||||
submitBtn,
|
submitBtn,
|
||||||
noinvito,
|
noinvito,
|
||||||
|
costanti,
|
||||||
|
updateComune,
|
||||||
|
numStepTotali,
|
||||||
|
reccomune,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -122,7 +122,7 @@
|
|||||||
<!-- Progress Stepper -->
|
<!-- Progress Stepper -->
|
||||||
<div class="progress-stepper">
|
<div class="progress-stepper">
|
||||||
<div
|
<div
|
||||||
v-for="step in 4"
|
v-for="step in parseInt(numStepTotali)"
|
||||||
:key="step"
|
:key="step"
|
||||||
class="step-item"
|
class="step-item"
|
||||||
:class="{
|
:class="{
|
||||||
@@ -139,7 +139,7 @@
|
|||||||
<span v-else>{{ step }}</span>
|
<span v-else>{{ step }}</span>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
v-if="step < 4"
|
v-if="step < parseInt(numStepTotali)"
|
||||||
class="step-line"
|
class="step-line"
|
||||||
></div>
|
></div>
|
||||||
</div>
|
</div>
|
||||||
@@ -481,10 +481,66 @@
|
|||||||
</div>
|
</div>
|
||||||
</q-carousel-slide>
|
</q-carousel-slide>
|
||||||
|
|
||||||
<!-- Slide 4: Conferma e Policy -->
|
<!-- Slide 4: Comune -->
|
||||||
<q-carousel-slide
|
<q-carousel-slide
|
||||||
name="4"
|
name="4"
|
||||||
class="carousel-slide"
|
class="carousel-slide"
|
||||||
|
>
|
||||||
|
<div class="slide-content">
|
||||||
|
<div class="slide-header">
|
||||||
|
<q-icon
|
||||||
|
name="lock_outline"
|
||||||
|
size="40px"
|
||||||
|
color="primary"
|
||||||
|
/>
|
||||||
|
<h2 class="slide-title">Comune di Residenza</h2>
|
||||||
|
<p class="slide-subtitle">
|
||||||
|
Seleziona il tuo comune di residenza, o dove vivi abitualmente, per
|
||||||
|
connetterti con la Community Locale.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="form-fields">
|
||||||
|
<!--<CMyFieldRec
|
||||||
|
:nosaveToDb="true"
|
||||||
|
table="users"
|
||||||
|
tablesel="cities"
|
||||||
|
jointable="cities"
|
||||||
|
:pickup="true"
|
||||||
|
:type="costanti.FieldType.select_by_server"
|
||||||
|
:rec="signup"
|
||||||
|
field="profile.resid_comune"
|
||||||
|
mysubkey_tosee="resid_str_comune"
|
||||||
|
fieldsel_tosee="comune"
|
||||||
|
:canEdit="true"
|
||||||
|
:canModify="true"
|
||||||
|
@savedInDb="updateComune"
|
||||||
|
></CMyFieldRec>-->
|
||||||
|
|
||||||
|
<CMyFieldDb
|
||||||
|
:nosaveToDb="true"
|
||||||
|
table="users"
|
||||||
|
tablesel="cities"
|
||||||
|
mykey="profile"
|
||||||
|
mysubkey="recCity"
|
||||||
|
label_trans="reg.resid_str_comune"
|
||||||
|
:useinput="false"
|
||||||
|
jointable="cities"
|
||||||
|
:pickup="true"
|
||||||
|
myclass="class_select"
|
||||||
|
:isInModif="true"
|
||||||
|
:type="costanti.FieldType.select_by_server"
|
||||||
|
:rec="reccomune"
|
||||||
|
@showandsave="updateComune"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</q-carousel-slide>
|
||||||
|
|
||||||
|
<!-- Slide numStepTotali: Conferma e Policy -->
|
||||||
|
<q-carousel-slide
|
||||||
|
:name="numStepTotali"
|
||||||
|
class="carousel-slide"
|
||||||
>
|
>
|
||||||
<div class="slide-content final-slide">
|
<div class="slide-content final-slide">
|
||||||
<div class="slide-header">
|
<div class="slide-header">
|
||||||
@@ -527,6 +583,16 @@
|
|||||||
/>
|
/>
|
||||||
<span>{{ signup.name }} {{ signup.surname }}</span>
|
<span>{{ signup.name }} {{ signup.surname }}</span>
|
||||||
</div>
|
</div>
|
||||||
|
<div
|
||||||
|
v-if="signup.profile.resid_str_comune"
|
||||||
|
class="summary-item"
|
||||||
|
>
|
||||||
|
<q-icon
|
||||||
|
name="home"
|
||||||
|
color="primary"
|
||||||
|
/>
|
||||||
|
<span>{{ signup.profile.resid_str_comune }} ({{ signup.profile.resid_province }})</span>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="policy-section">
|
<div class="policy-section">
|
||||||
@@ -571,7 +637,7 @@
|
|||||||
class="nav-btn back-btn"
|
class="nav-btn back-btn"
|
||||||
/>
|
/>
|
||||||
<q-btn
|
<q-btn
|
||||||
v-if="slide !== '4'"
|
v-if="slide !== numStepTotali"
|
||||||
unelevated
|
unelevated
|
||||||
color="primary"
|
color="primary"
|
||||||
icon-right="arrow_forward"
|
icon-right="arrow_forward"
|
||||||
@@ -581,7 +647,7 @@
|
|||||||
class="nav-btn next-btn"
|
class="nav-btn next-btn"
|
||||||
/>
|
/>
|
||||||
<q-btn
|
<q-btn
|
||||||
v-if="slide === '4'"
|
v-if="slide === numStepTotali"
|
||||||
ref="submitBtn"
|
ref="submitBtn"
|
||||||
unelevated
|
unelevated
|
||||||
color="positive"
|
color="positive"
|
||||||
@@ -608,6 +674,7 @@
|
|||||||
{ label: '2', value: '2' },
|
{ label: '2', value: '2' },
|
||||||
{ label: '3', value: '3' },
|
{ label: '3', value: '3' },
|
||||||
{ label: '4', value: '4' },
|
{ label: '4', value: '4' },
|
||||||
|
{ label: '5', value: '5' },
|
||||||
]"
|
]"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
@@ -689,16 +756,18 @@
|
|||||||
color="primary"
|
color="primary"
|
||||||
/>
|
/>
|
||||||
<div>
|
<div>
|
||||||
<p class="text-weight-medium q-mb-sm">Per accedere a RISO hai bisogno di un invito</p>
|
<p class="text-weight-medium q-mb-sm">
|
||||||
<p class="text-body2">
|
Per accedere a RISO hai bisogno di un invito
|
||||||
L'invito può essere di due tipi:
|
|
||||||
</p>
|
</p>
|
||||||
|
<p class="text-body2">L'invito può essere di due tipi:</p>
|
||||||
<ul class="invitation-types">
|
<ul class="invitation-types">
|
||||||
<li>
|
<li>
|
||||||
<strong>Username dell'invitante:</strong> inserisci lo username di chi ti ha parlato di RISO
|
<strong>Username dell'invitante:</strong> inserisci lo username di chi
|
||||||
|
ti ha parlato di RISO
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<strong>Link di registrazione:</strong> usa il link personale che ti è stato inviato via email o messaggio
|
<strong>Link di registrazione:</strong> usa il link personale che ti è
|
||||||
|
stato inviato via email o messaggio
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
@@ -714,8 +783,9 @@
|
|||||||
<div>
|
<div>
|
||||||
<p class="text-weight-medium q-mb-sm">Non conosci nessuno di RISO?</p>
|
<p class="text-weight-medium q-mb-sm">Non conosci nessuno di RISO?</p>
|
||||||
<p class="text-body2">
|
<p class="text-body2">
|
||||||
Nessun problema! Puoi unirti alla comunità attraverso i nostri gruppi territoriali su Telegram
|
Nessun problema! Puoi unirti alla comunità attraverso i nostri gruppi
|
||||||
oppure contattarci direttamente via email. Saremo felici di darti il benvenuto! 🌱
|
territoriali su Telegram oppure contattarci direttamente via email. Saremo
|
||||||
|
felici di darti il benvenuto! 🌱
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -728,7 +798,11 @@
|
|||||||
color="primary"
|
color="primary"
|
||||||
icon="telegram"
|
icon="telegram"
|
||||||
label="Gruppi Telegram Territoriali"
|
label="Gruppi Telegram Territoriali"
|
||||||
:href="tools.getLinkGruppiTerritorialiTelegram() ? tools.getLinkGruppiTerritorialiTelegram() : ''"
|
:href="
|
||||||
|
tools.getLinkGruppiTerritorialiTelegram()
|
||||||
|
? tools.getLinkGruppiTerritorialiTelegram()
|
||||||
|
: ''
|
||||||
|
"
|
||||||
target="_blank"
|
target="_blank"
|
||||||
class="action-btn full-width q-mb-sm"
|
class="action-btn full-width q-mb-sm"
|
||||||
no-caps
|
no-caps
|
||||||
|
|||||||
@@ -62,6 +62,10 @@ export default defineComponent({
|
|||||||
label: 'Telegram BOT Rimosso',
|
label: 'Telegram BOT Rimosso',
|
||||||
value: shared_consts.FILTER_USER_TELEGRAM_BLOCKED
|
value: shared_consts.FILTER_USER_TELEGRAM_BLOCKED
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
label: 'Comune',
|
||||||
|
value: shared_consts.FILTER_USER_COMUNE
|
||||||
|
},
|
||||||
{
|
{
|
||||||
label: 'Provincia',
|
label: 'Provincia',
|
||||||
value: shared_consts.FILTER_USER_PROVINCE
|
value: shared_consts.FILTER_USER_PROVINCE
|
||||||
|
|||||||
@@ -337,9 +337,7 @@
|
|||||||
<q-btn
|
<q-btn
|
||||||
label="Replace Username"
|
label="Replace Username"
|
||||||
color="primary"
|
color="primary"
|
||||||
@click="
|
@click="EseguiFunz('ReplaceUsername', search_username, replace_username)"
|
||||||
EseguiFunz('ReplaceUsername', search_username, replace_username)
|
|
||||||
"
|
|
||||||
></q-btn>
|
></q-btn>
|
||||||
<q-btn
|
<q-btn
|
||||||
label="Esci da tutti i Circuiti a saldo Zero"
|
label="Esci da tutti i Circuiti a saldo Zero"
|
||||||
@@ -350,19 +348,13 @@
|
|||||||
label="Replace AportadorSolidario"
|
label="Replace AportadorSolidario"
|
||||||
color="primary"
|
color="primary"
|
||||||
@click="
|
@click="
|
||||||
EseguiFunz(
|
EseguiFunz('replaceAportadorSolidario', search_username, replace_username)
|
||||||
'replaceAportadorSolidario',
|
|
||||||
search_username,
|
|
||||||
replace_username
|
|
||||||
)
|
|
||||||
"
|
"
|
||||||
></q-btn>
|
></q-btn>
|
||||||
<q-btn
|
<q-btn
|
||||||
label="Replace Circuit"
|
label="Replace Circuit"
|
||||||
color="primary"
|
color="primary"
|
||||||
@click="
|
@click="EseguiFunz('ReplaceCircuitName', search_username, replace_username)"
|
||||||
EseguiFunz('ReplaceCircuitName', search_username, replace_username)
|
|
||||||
"
|
|
||||||
></q-btn>
|
></q-btn>
|
||||||
<br />
|
<br />
|
||||||
</div>
|
</div>
|
||||||
@@ -383,9 +375,7 @@
|
|||||||
<q-btn
|
<q-btn
|
||||||
label="Create Account Circuits"
|
label="Create Account Circuits"
|
||||||
color="primary"
|
color="primary"
|
||||||
@click="
|
@click="EseguiFunz('CreateAccountCircuits', search_username, replace_username)"
|
||||||
EseguiFunz('CreateAccountCircuits', search_username, replace_username)
|
|
||||||
"
|
|
||||||
></q-btn>
|
></q-btn>
|
||||||
<br />
|
<br />
|
||||||
</div>
|
</div>
|
||||||
@@ -411,7 +401,11 @@
|
|||||||
label="Fiducia Concessa"
|
label="Fiducia Concessa"
|
||||||
style="width: 300px"
|
style="width: 300px"
|
||||||
></q-input>
|
></q-input>
|
||||||
<q-input v-model="valmax" label="Max Qta" style="width: 300px"></q-input>
|
<q-input
|
||||||
|
v-model="valmax"
|
||||||
|
label="Max Qta"
|
||||||
|
style="width: 300px"
|
||||||
|
></q-input>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<q-btn
|
<q-btn
|
||||||
@@ -435,14 +429,7 @@
|
|||||||
label="Imposta Min e Max per TUTTI i Conti Personali di un Circuito"
|
label="Imposta Min e Max per TUTTI i Conti Personali di un Circuito"
|
||||||
color="primary"
|
color="primary"
|
||||||
@click="
|
@click="
|
||||||
EseguiFunz(
|
EseguiFunz('ImpostaMinMaxPersonaliCircuito', '', '', valmin, valmax, circuitId)
|
||||||
'ImpostaMinMaxPersonaliCircuito',
|
|
||||||
'',
|
|
||||||
'',
|
|
||||||
valmin,
|
|
||||||
valmax,
|
|
||||||
circuitId
|
|
||||||
)
|
|
||||||
"
|
"
|
||||||
></q-btn>
|
></q-btn>
|
||||||
</div>
|
</div>
|
||||||
@@ -526,14 +513,7 @@
|
|||||||
label="Imposta Min e Max per i Circuiti Collettivi di DEFAULT"
|
label="Imposta Min e Max per i Circuiti Collettivi di DEFAULT"
|
||||||
color="primary"
|
color="primary"
|
||||||
@click="
|
@click="
|
||||||
EseguiFunz(
|
EseguiFunz('ImpostaDefMinMaxCollettivi', '', '', defmin, defmax, circuitId)
|
||||||
'ImpostaDefMinMaxCollettivi',
|
|
||||||
'',
|
|
||||||
'',
|
|
||||||
defmin,
|
|
||||||
defmax,
|
|
||||||
circuitId
|
|
||||||
)
|
|
||||||
"
|
"
|
||||||
></q-btn>
|
></q-btn>
|
||||||
<br />
|
<br />
|
||||||
@@ -599,11 +579,22 @@
|
|||||||
<br />
|
<br />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<q-spinner v-if="incaricamento" color="primary" size="3em" :thickness="2" />
|
<q-spinner
|
||||||
|
v-if="incaricamento"
|
||||||
|
color="primary"
|
||||||
|
size="3em"
|
||||||
|
:thickness="2"
|
||||||
|
/>
|
||||||
|
|
||||||
<q-field stack-label dense>
|
<q-field
|
||||||
|
stack-label
|
||||||
|
dense
|
||||||
|
>
|
||||||
<template v-slot:control>
|
<template v-slot:control>
|
||||||
<div class="self-center full-width no-outline text-center" tabindex="0">
|
<div
|
||||||
|
class="self-center full-width no-outline text-center"
|
||||||
|
tabindex="0"
|
||||||
|
>
|
||||||
{{ ris }}
|
{{ ris }}
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@@ -781,6 +772,14 @@
|
|||||||
color="negative"
|
color="negative"
|
||||||
@click="EseguiFunz('convertProductInfos')"
|
@click="EseguiFunz('convertProductInfos')"
|
||||||
></q-btn>
|
></q-btn>
|
||||||
|
<div class="row">
|
||||||
|
<q-btn
|
||||||
|
label="Rimuovi i dati inutili nella Tabella MySkills"
|
||||||
|
color="negative"
|
||||||
|
@click="EseguiFunz('RemoveDatiInutiliMySkill')"
|
||||||
|
></q-btn>
|
||||||
|
<br />
|
||||||
|
</div>
|
||||||
<q-btn
|
<q-btn
|
||||||
label="getGM_Lista_Argomenti"
|
label="getGM_Lista_Argomenti"
|
||||||
color="positive"
|
color="positive"
|
||||||
@@ -805,16 +804,23 @@
|
|||||||
<div class="results-content">
|
<div class="results-content">
|
||||||
{{ risultato }}
|
{{ risultato }}
|
||||||
</div>
|
</div>
|
||||||
<h2 v-if="!!risultatoHTML" class="results-title">Risultati HTML:</h2>
|
<h2
|
||||||
<div v-if="!!risultatoHTML" v-html="risultatoHTML"></div>
|
v-if="!!risultatoHTML"
|
||||||
|
class="results-title"
|
||||||
|
>
|
||||||
|
Risultati HTML:
|
||||||
|
</h2>
|
||||||
|
<div
|
||||||
|
v-if="!!risultatoHTML"
|
||||||
|
v-html="risultatoHTML"
|
||||||
|
></div>
|
||||||
</div>
|
</div>
|
||||||
<br />
|
<br />
|
||||||
<br />
|
<br />
|
||||||
<br />
|
<br />
|
||||||
</template>
|
</template>
|
||||||
<script lang="ts" src="./dbop.ts">
|
<script lang="ts" src="./dbop.ts"></script>
|
||||||
</script>
|
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@import "./dbop";
|
@import './dbop';
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -112,6 +112,7 @@ export default defineComponent({
|
|||||||
'profile.qualifica': 1,
|
'profile.qualifica': 1,
|
||||||
'profile.note': 1,
|
'profile.note': 1,
|
||||||
'profile.da_contattare': 1,
|
'profile.da_contattare': 1,
|
||||||
|
'profile.resid_str_comune': 1,
|
||||||
'profile.resid_province': 1,
|
'profile.resid_province': 1,
|
||||||
'mycities.reg': 1,
|
'mycities.reg': 1,
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -713,12 +713,12 @@
|
|||||||
v-bind="$attrs"
|
v-bind="$attrs"
|
||||||
:copy="false"
|
:copy="false"
|
||||||
:value="
|
:value="
|
||||||
userStore.userprofile.profile.resid_str_comune
|
userStore.userprofile.profile.resid_str_comune + (userStore.userprofile.profile.resid_province ? ' (' + userStore.userprofile.profile.resid_province + ')' : '')
|
||||||
"
|
"
|
||||||
label="Comune"
|
label="Comune"
|
||||||
/>
|
/>
|
||||||
<CLabel
|
<CLabel
|
||||||
v-if="!!userStore.userprofile.profile.resid_province"
|
v-if="!!userStore.userprofile.profile.resid_province && !userStore.userprofile.profile.resid_str_comune"
|
||||||
v-bind="$attrs"
|
v-bind="$attrs"
|
||||||
:copy="false"
|
:copy="false"
|
||||||
:value="
|
:value="
|
||||||
|
|||||||
Reference in New Issue
Block a user