Aggiornamento APP RISO:
✅ Inviando i RIS, deve comparire prima il Circuito della Provincia, e poi quello Nazionale ✅ Risolto problema per vecchie registrazioni, la provincia compariva "undefined".
This commit is contained in:
@@ -138,6 +138,7 @@ export const shared_consts = {
|
||||
MAINVIEW: 130,
|
||||
CHECKAPPRUNNING: 135,
|
||||
DASHBOARD: 140,
|
||||
DASHGROUP: 145,
|
||||
CSENDRISTO: 150,
|
||||
STATUSREG: 160,
|
||||
CHECKIFISLOGGED: 170,
|
||||
@@ -281,19 +282,23 @@ export const shared_consts = {
|
||||
TABLES_MYEVENTS: 'myevents',
|
||||
TABLES_CIRCUITS: 'circuits',
|
||||
TABLES_MYGROUPS: 'mygroups',
|
||||
TABLES_ATTIVITAS: 'attivitas',
|
||||
|
||||
MYTABS: [{ id: 0, table: 'none' },
|
||||
{ id: 1, table: 'myskills' },
|
||||
{ id: 2, table: 'mybachecas' },
|
||||
{ id: 3, table: 'myhosps' },
|
||||
{ id: 4, table: 'mygoods' },
|
||||
{ id: 5, table: 'myevents' }
|
||||
],
|
||||
{ id: 5, table: 'myevents' },
|
||||
{ id: 6, table: 'attivitas' }],
|
||||
|
||||
TABLES_ENABLE_GETREC_BYID: ['mybachecas', 'myhosps'],
|
||||
// Condivise
|
||||
TABLES_FAVORITE_BOOKMARK: ['myskills', 'mygoods', 'mybachecas', 'myhosps', 'attivitas'],
|
||||
|
||||
// Solo per VUE.JS
|
||||
|
||||
|
||||
|
||||
TABLES_USER_INCLUDE_MY: ['mygroups'],
|
||||
TABLES_GETCOMPLETEREC: ['myskills', 'mybachecas', 'myhosps', 'mygoods'],
|
||||
TABLES_INSERT_ALMOST_ONE_TO_ENABLE_CIRCUIT: ['myskills', 'myhosps', 'mygoods'],
|
||||
TABLES_WITH_FILTER_FIELD: ['caldate'],
|
||||
TABLES_WITH_SPECIAL_FILTER: ['pub_to_share'],
|
||||
@@ -302,7 +307,6 @@ export const shared_consts = {
|
||||
TABLES_WITH_DATE: ['mybachecas', 'myhosps'], // 'mybachecas'
|
||||
TABLES_WITH_SORTING: ['mybachecas', 'myhosps'],
|
||||
TABLES_REC_ID: ['skills', 'goods', 'subskills', 'myskills', 'mybachecas', 'myhosps', 'mygoods'],
|
||||
TABLES_FAVORITE_BOOKMARK: ['myskills', 'mygoods', 'mybachecas', 'myhosps'],
|
||||
|
||||
// costanti.VISUTABLE_SCHEDA_USER, VISUTABLE_SCHEDA_GROUP, VISUTABLE_USER_TABGROUP, VISUTABLE_USER_TABCIRCUIT, VISUTABLE_GROUP_CIRCUIT
|
||||
VERTIC_SHOW_GRID: [-1, 2, -3, -4, -5, -6],
|
||||
@@ -446,6 +450,38 @@ export const shared_consts = {
|
||||
}
|
||||
],
|
||||
|
||||
TipoDiAttivita: [
|
||||
{
|
||||
value: 0,
|
||||
label: '[Nessuna]',
|
||||
note: '',
|
||||
},
|
||||
{
|
||||
value: 1,
|
||||
label: 'Individuo',
|
||||
note: 'Artigiano, professionista, insegnante, consulente',
|
||||
},
|
||||
{
|
||||
value: 2,
|
||||
label: 'Non Profit',
|
||||
note: 'Associazione, comitato, fondazione, cooperativa',
|
||||
},
|
||||
{
|
||||
value: 3,
|
||||
label: 'Profit',
|
||||
note: 'Azienda, société comerciale, banca, ...',
|
||||
},
|
||||
{
|
||||
value: 4,
|
||||
label: 'Pubblico',
|
||||
note: 'Comune, regione, ministero, ...',
|
||||
},
|
||||
{
|
||||
value: 5,
|
||||
label: 'Altro',
|
||||
},
|
||||
],
|
||||
|
||||
TypeAccom: [
|
||||
{
|
||||
value: 1,
|
||||
@@ -1606,6 +1642,10 @@ export const shared_consts = {
|
||||
value: 140,
|
||||
label: 'Dashboard',
|
||||
},
|
||||
{
|
||||
value: 145,
|
||||
label: 'DashGroup',
|
||||
},
|
||||
{
|
||||
value: 150,
|
||||
label: 'SendCoinTo',
|
||||
@@ -1974,6 +2014,31 @@ export const shared_consts = {
|
||||
groupname: 1,
|
||||
}
|
||||
|
||||
} else if (table === this.TABLES_ATTIVITAS) {
|
||||
proj = {
|
||||
recSkill: 1,
|
||||
sector: 1,
|
||||
idSector: 1,
|
||||
idSkill: 1,
|
||||
idCity: 1,
|
||||
logo: 1,
|
||||
photos: 1,
|
||||
note: 1,
|
||||
descr: 1,
|
||||
website: 1,
|
||||
date_created: 1,
|
||||
date_updated: 1,
|
||||
tipodiAttivita: 1,
|
||||
nome_attivita: 1,
|
||||
coordinate_gps: 1,
|
||||
email: 1,
|
||||
telegram_username: 1,
|
||||
cell_phone: 1,
|
||||
whatsapp: 1,
|
||||
createdBy: 1,
|
||||
//**ADDFIELD_ATTIVITA
|
||||
};
|
||||
|
||||
} else if (table === this.TABLES_MYBACHECAS) {
|
||||
proj = {
|
||||
recSkill: 1,
|
||||
|
||||
@@ -151,7 +151,7 @@ export default defineComponent({
|
||||
})
|
||||
|
||||
watch(() => globalStore.myselector.data, (newval, oldval) => {
|
||||
const rec = searchList.value.find((myrec) => myrec.table === toolsext.TABCITIES) // check if exist
|
||||
const rec = searchList.value.find((myrec) => myrec.table === shared_consts.TAB_CITIES) // check if exist
|
||||
if (rec) {
|
||||
rec.value = globalStore.myselector.data
|
||||
}
|
||||
@@ -201,9 +201,9 @@ export default defineComponent({
|
||||
item.value = costanti.FILTER_TUTTI
|
||||
}
|
||||
}
|
||||
} else if (item.table === toolsext.TABCITIES) {
|
||||
} else if (item.table === shared_consts.TAB_CITIES) {
|
||||
const valsaved = tools.getCookie(tools.COOK_SEARCH + costanti.FILTER_SEP + item.table + costanti.FILTER_SEP + newval, costanti.FILTER_TUTTI)
|
||||
const rec = searchList.value.find((myrec) => myrec.table === toolsext.TABCITIES) // check if exist
|
||||
const rec = searchList.value.find((myrec) => myrec.table === shared_consts.TAB_CITIES) // check if exist
|
||||
let trovato = false
|
||||
let arrvalues = []
|
||||
if (rec) {
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
:class="$q.screen.lt.sm ? `` : `q-pa-xs`"
|
||||
v-if="isfinishLoading && mycolumns"
|
||||
>
|
||||
|
||||
<div :class="`shadow-2 rounded-borders`">
|
||||
<div>
|
||||
<div v-if="prop_search || canEdit" class="q-my-xs text-right">
|
||||
@@ -16,7 +15,9 @@
|
||||
></q-btn>
|
||||
</div>
|
||||
<q-slide-transition>
|
||||
<div class="row no-wrap shadow-1" style="height: 40px;">
|
||||
<div
|
||||
class="row no-wrap shadow-1"
|
||||
style="height: 40px">
|
||||
<div v-if="$q.screen.gt.xs" class="col-1">
|
||||
<q-avatar @click="toHome" class="imglink">
|
||||
<img
|
||||
@@ -84,7 +85,9 @@
|
||||
: labelcombo(item)
|
||||
"
|
||||
v-model:value="item.value"
|
||||
@update:value="searchval(item.value, item.table, tablesel)"
|
||||
@update:value="
|
||||
searchval(item.value, item.table, tablesel)
|
||||
"
|
||||
:addall="item.addall"
|
||||
:addnone="item.addnone"
|
||||
:addlast="true"
|
||||
@@ -127,7 +130,9 @@
|
||||
:multiselect_by_server="true"
|
||||
:label="labelcombo(item)"
|
||||
v-model:arrvalue="item.arrvalue"
|
||||
@update:arrvalue="searchval(item.arrvalue, item.table, tablesel)"
|
||||
@update:arrvalue="
|
||||
searchval(item.arrvalue, item.table, tablesel)
|
||||
"
|
||||
:addall="item.addall"
|
||||
:addnone="item.addnone"
|
||||
dark
|
||||
@@ -153,7 +158,9 @@
|
||||
v-model="item.arrvalue"
|
||||
label-color="primary"
|
||||
:label="labelcombo(item)"
|
||||
@update:model-value="searchval(item.arrvalue, item.table, tablesel)"
|
||||
@update:model-value="
|
||||
searchval(item.arrvalue, item.table, tablesel)
|
||||
"
|
||||
rounded
|
||||
dark
|
||||
dense
|
||||
|
||||
@@ -25,16 +25,16 @@
|
||||
<br />
|
||||
</q-banner>
|
||||
|
||||
<div class="text-center">
|
||||
<div class="text-center" v-if="to_user">
|
||||
<q-btn
|
||||
glossy
|
||||
size="md"
|
||||
:label="$t('circuit.invia_msg_dest', {name: to_user.username})"
|
||||
:label="$t('circuit.invia_msg_dest', {name: to_user ? to_user.username : ''})"
|
||||
icon="fas fa-paper-plane"
|
||||
color="blue"
|
||||
text-color="white"
|
||||
rounded
|
||||
@click="tools.SendMsgRisItalia($q, to_user.username)"
|
||||
@click="tools.SendMsgRisItalia($q, to_user ? to_user.username : '')"
|
||||
></q-btn>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -57,7 +57,7 @@
|
||||
<q-btn
|
||||
outline
|
||||
icon="fas fa-envelope"
|
||||
:color="$q.dark.isActive ? `shite` : `black`"
|
||||
:color="$q.dark.isActive ? `white` : `black`"
|
||||
:type="tools.isUserOk() ? 'a' : 'btn'"
|
||||
size="md"
|
||||
:label="$t('msgs.send_email')"
|
||||
|
||||
90
src/components/CDashGroup/CDashGroup.scss
Executable file
90
src/components/CDashGroup/CDashGroup.scss
Executable file
@@ -0,0 +1,90 @@
|
||||
.box_1 {
|
||||
color: #0dceec;
|
||||
}
|
||||
|
||||
.box_2 {
|
||||
color: #fe434f;
|
||||
}
|
||||
|
||||
.box_3 {
|
||||
color: #15ca20;
|
||||
}
|
||||
|
||||
.box_4 {
|
||||
color: #ff9700;
|
||||
}
|
||||
|
||||
.shadow {
|
||||
-webkit-box-shadow: 0 0 10px #bfbfbf !important;
|
||||
box-shadow: 0 0 10px #bfbfbf !important;
|
||||
}
|
||||
|
||||
.progress-base {
|
||||
height: 5px;
|
||||
border-radius: 3px;
|
||||
background-color: #e9ecef;
|
||||
}
|
||||
|
||||
.progress-bar-1 {
|
||||
height: 8px;
|
||||
border-radius: 3px;
|
||||
background: #17ead9;
|
||||
background: -webkit-linear-gradient(45deg, #17ead9, #6078ea) !important;
|
||||
background: linear-gradient(45deg, #17ead9, #6078ea) !important;
|
||||
}
|
||||
|
||||
.progress-bar-2 {
|
||||
height: 8px;
|
||||
border-radius: 3px;
|
||||
background: #f54ea2;
|
||||
background: -webkit-linear-gradient(45deg, #f54ea2, #ff7676) !important;
|
||||
background: linear-gradient(45deg, #f54ea2, #ff7676) !important;
|
||||
}
|
||||
|
||||
.progress-bar-3 {
|
||||
height: 8px;
|
||||
border-radius: 3px;
|
||||
background: #42e695;
|
||||
background: -webkit-linear-gradient(45deg, #42e695, #3bb2b8) !important;
|
||||
background: linear-gradient(45deg, #42e695, #3bb2b8) !important;
|
||||
}
|
||||
|
||||
.progress-bar-4 {
|
||||
height: 8px;
|
||||
border-radius: 3px;
|
||||
background: #ffdf40;
|
||||
background: -webkit-linear-gradient(45deg, #ffdf40, #ff8359) !important;
|
||||
background: linear-gradient(45deg, #ffdf40, #ff8359) !important;
|
||||
}
|
||||
|
||||
.progress-bar-5 {
|
||||
height: 8px;
|
||||
border-radius: 3px;
|
||||
background: #ffdf40;
|
||||
background: -webkit-linear-gradient(45deg, #ffdf40, #ff8359) !important;
|
||||
background: linear-gradient(45deg, #ffdf40, #ff8359) !important;
|
||||
}
|
||||
|
||||
.progress-bar-6 {
|
||||
height: 8px;
|
||||
border-radius: 3px;
|
||||
background: #ffdf40;
|
||||
background: -webkit-linear-gradient(45deg, #ffdf40, #ff8359) !important;
|
||||
background: linear-gradient(45deg, #ffdf40, #ff8359) !important;
|
||||
}
|
||||
|
||||
.border-top {
|
||||
border-top: 1px solid #efefef;
|
||||
}
|
||||
|
||||
.chip_pending {
|
||||
background: #ffdf40;
|
||||
background: -webkit-linear-gradient(45deg, #ffdf40, #ff8359) !important;
|
||||
background: linear-gradient(45deg, #ffdf40, #ff8359) !important;
|
||||
}
|
||||
|
||||
.chip_completed {
|
||||
background: #42e695;
|
||||
background: -webkit-linear-gradient(45deg, #42e695, #3bb2b8) !important;
|
||||
background: linear-gradient(45deg, #42e695, #3bb2b8) !important;
|
||||
}
|
||||
48
src/components/CDashGroup/CDashGroup.ts
Executable file
48
src/components/CDashGroup/CDashGroup.ts
Executable file
@@ -0,0 +1,48 @@
|
||||
import { computed, defineComponent, PropType, ref } from 'vue'
|
||||
|
||||
import { ICalcStat, IOperators } from '../../model'
|
||||
import { useUserStore } from '../../store/UserStore'
|
||||
import { useRouter } from 'vue-router'
|
||||
import { useGlobalStore } from '../../store/globalStore'
|
||||
import { useI18n } from '../../boot/i18n'
|
||||
|
||||
import { shared_consts } from '@src/common/shared_vuejs'
|
||||
import { costanti, IMainCard } from '@store/Modules/costanti'
|
||||
|
||||
import { tools } from '@store/Modules/tools'
|
||||
|
||||
export default defineComponent({
|
||||
name: 'CDashGroup',
|
||||
props: {},
|
||||
setup(props) {
|
||||
|
||||
const userStore = useUserStore()
|
||||
const $router = useRouter()
|
||||
const globalStore = useGlobalStore()
|
||||
const { t } = useI18n()
|
||||
|
||||
const calcstat = computed(() => userStore.my.calcstat ? userStore.my.calcstat : {
|
||||
numUsersReg: 0,
|
||||
numByTab: {},
|
||||
})
|
||||
|
||||
const visustat = computed(() => {
|
||||
// @ts-ignore
|
||||
return costanti.GROUPCARDS.filter((rec: IMainCard) => rec.visuonstat)
|
||||
})
|
||||
|
||||
const visulinks = computed(() => {
|
||||
// @ts-ignore
|
||||
return costanti.GROUPCARDS.filter((rec: IMainCard) => rec.link)
|
||||
})
|
||||
|
||||
return {
|
||||
userStore,
|
||||
tools,
|
||||
calcstat,
|
||||
shared_consts,
|
||||
visustat,
|
||||
visulinks,
|
||||
}
|
||||
},
|
||||
})
|
||||
161
src/components/CDashGroup/CDashGroup.vue
Executable file
161
src/components/CDashGroup/CDashGroup.vue
Executable file
@@ -0,0 +1,161 @@
|
||||
<template>
|
||||
<div class="q-ma-xs">
|
||||
<div
|
||||
v-if="tools.visualizzaHomeApp()"
|
||||
class="row q-my-xs shadow"
|
||||
style="border-radius: 4px; border: 1px solid rgba(0, 0, 0, 0.12)"
|
||||
>
|
||||
<!--<div class="col-md-3 col-lg-3 col-sm-12 col-xs-12 box_4" style="border-left: 1px solid #efefef;"
|
||||
v-bind:class="{'border-top': $q.platform.is.mobile}">
|
||||
<q-card class="no-shadow q-pa-sm">
|
||||
<q-item class="q-pb-none q-pt-xs">
|
||||
<q-item-section>
|
||||
<q-item-label class="text-h4" style="font-weight: 500;letter-spacing: 3px;">{{
|
||||
calcstat.numUsersReg
|
||||
}}
|
||||
</q-item-label>
|
||||
<q-item-label :class="!$q.dark.isActive? 'text-grey-7':'text-white'" style="letter-spacing: 1px;">Persone Iscritte
|
||||
</q-item-label>
|
||||
</q-item-section>
|
||||
|
||||
<q-item-section side>
|
||||
<q-icon name="o_people" class="box_4" size="60px"></q-icon>
|
||||
</q-item-section>
|
||||
</q-item>
|
||||
<q-item class="q-py-xs" style="min-height: unset">
|
||||
<q-item-section>
|
||||
<div class="progress-base q-my-sm">
|
||||
<div class="progress-bar-4" style="width:100%"></div>
|
||||
</div>
|
||||
</q-item-section>
|
||||
</q-item>
|
||||
</q-card>
|
||||
</div>-->
|
||||
|
||||
<div
|
||||
v-for="(rec, index) of visustat"
|
||||
:class="`col-md-3 col-lg-3 col-sm-6 col-xs-6 text-` + rec.color"
|
||||
style="border-left: 1px solid #efefef"
|
||||
:key="index"
|
||||
>
|
||||
<q-card class="no-shadow q-pa-xs">
|
||||
<q-item
|
||||
class="q-pb-none q-pt-xs cursor-pointer"
|
||||
:to="tools.updateLink(rec.to)"
|
||||
>
|
||||
<q-item-section>
|
||||
<q-item-label
|
||||
:class="
|
||||
(!$q.dark.isActive ? 'text-grey-9' : 'text-white') +
|
||||
` title_view_shadow`
|
||||
"
|
||||
style="letter-spacing: 1px"
|
||||
>
|
||||
{{ rec.title }}
|
||||
</q-item-label>
|
||||
<q-item-label
|
||||
lines="3"
|
||||
no-wrap
|
||||
v-if="rec.subtitle"
|
||||
:class="
|
||||
(!$q.dark.isActive ? 'text-grey-8' : 'text-white') +
|
||||
` title_view_subtitle`
|
||||
"
|
||||
>
|
||||
<span v-html="rec.subtitle"></span>
|
||||
</q-item-label>
|
||||
</q-item-section>
|
||||
|
||||
<q-item-section
|
||||
side
|
||||
class="small_side"
|
||||
style="right: 4px; position: absolute"
|
||||
>
|
||||
<q-img
|
||||
v-if="rec.image"
|
||||
:src="rec.image"
|
||||
style="width: 27px"
|
||||
></q-img>
|
||||
<q-icon
|
||||
v-else
|
||||
:name="rec.icon"
|
||||
:class="`text-` + rec.color"
|
||||
size="27px"
|
||||
></q-icon>
|
||||
</q-item-section>
|
||||
</q-item>
|
||||
<q-item class="q-py-xs" style="min-height: unset">
|
||||
<q-item-section>
|
||||
<div class="progress-base q-my-sm">
|
||||
<div
|
||||
class="progress-base"
|
||||
:style="tools.getbackgroundGradient(rec.color, 45)"
|
||||
></div>
|
||||
</div>
|
||||
</q-item-section>
|
||||
</q-item>
|
||||
</q-card>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row shadow">
|
||||
<div
|
||||
v-for="(rec, index) of visulinks"
|
||||
:class="`col-md-3 col-lg-3 col-sm-6 col-xs-6 text-` + rec.color"
|
||||
style="border-left: 1px solid #efefef"
|
||||
:key="index"
|
||||
>
|
||||
<q-card class="no-shadow q-pa-xxs">
|
||||
<q-item
|
||||
class="q-pb-none q-pt-xs cursor-pointer"
|
||||
:to="tools.updateLink(rec.to)"
|
||||
>
|
||||
<q-item-section>
|
||||
<q-item-label
|
||||
lines="3"
|
||||
:class="
|
||||
(!$q.dark.isActive ? 'text-grey-9' : 'text-white') +
|
||||
` title_view_small_shadow`
|
||||
"
|
||||
style="letter-spacing: 0.5px"
|
||||
>
|
||||
{{ rec.title }}
|
||||
</q-item-label>
|
||||
<q-item-label
|
||||
v-if="rec.subtitle"
|
||||
:class="
|
||||
(!$q.dark.isActive ? 'text-grey-8' : 'text-white') +
|
||||
` title_view_subtitle`
|
||||
"
|
||||
style="letter-spacing: 0.2px"
|
||||
>
|
||||
<span v-html="rec.subtitle"></span>
|
||||
</q-item-label>
|
||||
</q-item-section>
|
||||
|
||||
<q-item-section side>
|
||||
<q-img
|
||||
v-if="rec.image"
|
||||
:src="rec.image"
|
||||
style="width: 35px"
|
||||
></q-img>
|
||||
<q-icon
|
||||
v-else
|
||||
:name="rec.icon"
|
||||
:class="`text-` + rec.color"
|
||||
size="20px"
|
||||
></q-icon>
|
||||
</q-item-section>
|
||||
</q-item>
|
||||
</q-card>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script lang="ts" src="./CDashGroup.ts">
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import './CDashGroup.scss';
|
||||
</style>
|
||||
1
src/components/CDashGroup/index.ts
Executable file
1
src/components/CDashGroup/index.ts
Executable file
@@ -0,0 +1 @@
|
||||
export {default as CDashGroup} from './CDashGroup.vue'
|
||||
@@ -68,6 +68,7 @@ export default defineComponent({
|
||||
const searchList_MyCircuits = ref(<ISearchList[]>[])
|
||||
const searchList_Events = ref(<ISearchList[]>[])
|
||||
const searchList_Hosp = ref(<ISearchList[]>[])
|
||||
const searchList_Attivita = ref(<ISearchList[]>[])
|
||||
|
||||
const search = ref('')
|
||||
const myrecfiltertoggle = ref(tools.FILTER_ALL)
|
||||
@@ -101,13 +102,13 @@ export default defineComponent({
|
||||
|
||||
function updatefilter(value: any) {
|
||||
if (value === tools.FILTER_MYREC) {
|
||||
if (props.table === toolsext.TABMYGROUPS) {
|
||||
if (props.table === shared_consts.TABLES_MYGROUPS) {
|
||||
filtercustom.value = [{
|
||||
'admins': {
|
||||
$elemMatch: { username: { $eq: userStore.my.username } }
|
||||
},
|
||||
}]
|
||||
} else if (props.table === toolsext.TABCIRCUITS) {
|
||||
} else if (props.table === shared_consts.TABLES_CIRCUITS) {
|
||||
filtercustom.value = [{
|
||||
'admins': {
|
||||
$elemMatch: { username: { $eq: userStore.my.username } }
|
||||
@@ -119,7 +120,7 @@ export default defineComponent({
|
||||
}
|
||||
|
||||
} else if (value === tools.FILTER_MYFOLLOW) {
|
||||
if (props.table === toolsext.TABMYGROUPS) {
|
||||
if (props.table === shared_consts.TABLES_MYGROUPS) {
|
||||
|
||||
}
|
||||
} else {
|
||||
@@ -140,13 +141,13 @@ export default defineComponent({
|
||||
)
|
||||
|
||||
const mypagination = computed(() => {
|
||||
if (props.table === toolsext.TABMYBACHECAS)
|
||||
if (props.table === shared_consts.TABLES_MYBACHECAS)
|
||||
return { sortBy: 'dateTimeStart', descending: false, page: 1, rowsNumber: 0, rowsPerPage: 10 }
|
||||
else if (props.table === toolsext.TABMYGROUPS)
|
||||
else if (props.table === shared_consts.TABLES_MYGROUPS)
|
||||
return { sortBy: 'date_created', descending: true, page: 1, rowsNumber: 0, rowsPerPage: 10 }
|
||||
else if (props.table === toolsext.TABMOVEMENTS)
|
||||
return { sortBy: 'transactionDate', descending: true, page: 1, rowsNumber: 0, rowsPerPage: 20 }
|
||||
else if (props.table === toolsext.TABCIRCUITS)
|
||||
else if (props.table === shared_consts.TABLES_CIRCUITS)
|
||||
return { sortBy: 'numMembers', descending: true, page: 1, rowsNumber: 0, rowsPerPage: 20 }
|
||||
else if (props.table === toolsext.TABUSER)
|
||||
return userStore.getMypaginationMembers()
|
||||
@@ -159,78 +160,75 @@ export default defineComponent({
|
||||
})
|
||||
|
||||
const searchList = computed(() => {
|
||||
if (props.table === toolsext.TABMYGOODS)
|
||||
if (props.table === shared_consts.TABLES_MYGOODS)
|
||||
return searchList_Beni.value
|
||||
else if (props.table === toolsext.TABMYSKILLS)
|
||||
else if (props.table === shared_consts.TABLES_MYSKILLS)
|
||||
return searchList_Servizi.value
|
||||
else if (props.table === toolsext.TABMYGROUPS)
|
||||
else if (props.table === shared_consts.TABLES_MYGROUPS)
|
||||
return searchList_MyGroups.value
|
||||
else if (props.table === toolsext.TABCIRCUITS)
|
||||
else if (props.table === shared_consts.TABLES_CIRCUITS)
|
||||
return searchList_MyCircuits.value
|
||||
else if (props.table === toolsext.TABMYBACHECAS)
|
||||
else if (props.table === shared_consts.TABLES_MYBACHECAS)
|
||||
return searchList_Events.value
|
||||
else if (props.table === toolsext.TABMYHOSPS)
|
||||
else if (props.table === shared_consts.TABLES_MYHOSPS)
|
||||
return searchList_Hosp.value
|
||||
else if (props.table === shared_consts.TABLES_ATTIVITAS)
|
||||
return searchList_Attivita.value
|
||||
|
||||
return searchList_Servizi.value
|
||||
})
|
||||
|
||||
const showType = computed(() => {
|
||||
if (props.table === toolsext.TABMYGOODS)
|
||||
return costanti.SHOW_MYCARD
|
||||
else if (props.table === toolsext.TABMYSKILLS)
|
||||
return costanti.SHOW_MYCARD
|
||||
else if (props.table === toolsext.TABMYGROUPS)
|
||||
return costanti.SHOW_MYCARD
|
||||
else if (props.table === toolsext.TABCIRCUITS)
|
||||
return costanti.SHOW_MYCARD
|
||||
|
||||
return costanti.SHOW_MYCARD
|
||||
})
|
||||
|
||||
const hint = computed(() => {
|
||||
if (props.table === toolsext.TABMYGOODS)
|
||||
if (props.table === shared_consts.TABLES_MYGOODS)
|
||||
return 'digita il nome del Bene o del settore'
|
||||
else if (props.table === toolsext.TABMYSKILLS)
|
||||
else if (props.table === shared_consts.TABLES_MYSKILLS)
|
||||
return 'digita il nome del Servizio o del settore'
|
||||
else if (props.table === toolsext.TABMYGROUPS)
|
||||
else if (props.table === shared_consts.TABLES_MYGROUPS)
|
||||
return 'digita il nome del Gruppo'
|
||||
else if (props.table === toolsext.TABCIRCUITS)
|
||||
else if (props.table === shared_consts.TABLES_CIRCUITS)
|
||||
return 'digita il nome della provincia'
|
||||
else if (props.table === toolsext.TABMYBACHECAS)
|
||||
else if (props.table === shared_consts.TABLES_MYBACHECAS)
|
||||
return 'digita il nome dell\'Evento'
|
||||
else if (props.table === toolsext.TABMYHOSPS)
|
||||
else if (props.table === shared_consts.TABLES_MYHOSPS)
|
||||
return 'digita delle parole da cercare nella descrizione dell\'Ospitalità'
|
||||
else if (props.table === shared_consts.TABLES_ATTIVITAS)
|
||||
return 'digita un\'attività da cercare nella descrizione dell\'Ospitalità'
|
||||
|
||||
return 'digita una parola da cercare'
|
||||
})
|
||||
|
||||
const visuType = computed(() => {
|
||||
if (props.table === toolsext.TABMYGOODS)
|
||||
if (props.table === shared_consts.TABLES_MYGOODS)
|
||||
return false
|
||||
else if (props.table === toolsext.TABMYSKILLS)
|
||||
else if (props.table === shared_consts.TABLES_MYSKILLS)
|
||||
return false
|
||||
else if (props.table === toolsext.TABMYGROUPS)
|
||||
else if (props.table === shared_consts.TABLES_MYGROUPS)
|
||||
return false
|
||||
else if (props.table === toolsext.TABMYBACHECAS)
|
||||
else if (props.table === shared_consts.TABLES_MYBACHECAS)
|
||||
return false
|
||||
|
||||
return false // $q.screen.gt.xs
|
||||
})
|
||||
|
||||
const noMsgRecord = computed(() => {
|
||||
if (props.table === toolsext.TABMYGOODS)
|
||||
if (props.table === shared_consts.TABLES_MYGOODS)
|
||||
return 'Nessun Bene trovato con i filtri selezionati'
|
||||
else if (props.table === toolsext.TABMYSKILLS)
|
||||
else if (props.table === shared_consts.TABLES_MYSKILLS)
|
||||
return 'Nessun Servizio trovato con i filtri selezionati'
|
||||
else if (props.table === toolsext.TABMYGROUPS)
|
||||
else if (props.table === shared_consts.TABLES_MYGROUPS)
|
||||
return 'Nessun Gruppo trovato con i filtri selezionati'
|
||||
else if (props.table === toolsext.TABCIRCUITS)
|
||||
else if (props.table === shared_consts.TABLES_CIRCUITS)
|
||||
return 'Nessun Circuito trovato con i filtri selezionati'
|
||||
else if (props.table === toolsext.TABMYBACHECAS)
|
||||
else if (props.table === shared_consts.TABLES_MYBACHECAS)
|
||||
return 'Nessun Evento trovato con i filtri selezionati'
|
||||
else if (props.table === toolsext.TABMYHOSPS)
|
||||
else if (props.table === shared_consts.TABLES_MYHOSPS)
|
||||
return 'Nessuna Ospitalità trovata con i filtri selezionati'
|
||||
else if (props.table === shared_consts.TABLES_ATTIVITAS)
|
||||
return 'Nessuna Attività trovata con i filtri selezionati'
|
||||
|
||||
return 'Nessun dato trovato con i filtri selezionati'
|
||||
})
|
||||
@@ -251,14 +249,14 @@ export default defineComponent({
|
||||
col_footer.value = obj.col_footer
|
||||
col_tabfooter.value = obj.col_tabfooter
|
||||
|
||||
if (props.table === toolsext.TABMYGROUPS) {
|
||||
if (props.table === shared_consts.TABLES_MYGROUPS) {
|
||||
myoptions.value = [
|
||||
{ label: '🌎 Tutti', value: tools.FILTER_ALL },
|
||||
{ label: '👤 Gruppi che Gestisci', value: tools.FILTER_MYREC },
|
||||
// {label: 'Seguo', value: tools.FILTER_MYFOLLOW},
|
||||
]
|
||||
|
||||
} else if (props.table === toolsext.TABCIRCUITS) {
|
||||
} else if (props.table === shared_consts.TABLES_CIRCUITS) {
|
||||
myoptions.value = [
|
||||
{ label: '🌎 Tutti', value: tools.FILTER_ALL },
|
||||
{ label: '👤 Circuiti che Gestisci', value: tools.FILTER_MYREC },
|
||||
@@ -913,6 +911,47 @@ export default defineComponent({
|
||||
},
|
||||
]
|
||||
|
||||
searchList_Attivita.value = [
|
||||
{
|
||||
label: 'Regione',
|
||||
table: 'regions',
|
||||
key: 'idReg',
|
||||
type: costanti.FieldType.select,
|
||||
value: tools.getCookie(tools.COOK_SEARCH + costanti.FILTER_SEP + props.table + costanti.FILTER_SEP + 'regions', costanti.FILTER_TUTTI),
|
||||
addall: true,
|
||||
arrvalue: [],
|
||||
filter: null,
|
||||
useinput: false,
|
||||
icon: 'fas fa-globe-europe'
|
||||
},
|
||||
{
|
||||
label: 'Provincia',
|
||||
table: 'provinces',
|
||||
key: 'idProvince',
|
||||
type: costanti.FieldType.select,
|
||||
value: tools.getCookie(tools.COOK_SEARCH + costanti.FILTER_SEP + props.table + costanti.FILTER_SEP + 'provinces', costanti.FILTER_TUTTI),
|
||||
addall: true,
|
||||
arrvalue: [],
|
||||
filter: getFilterProvinceByRegion,
|
||||
useinput: true,
|
||||
icon: 'flag',
|
||||
},
|
||||
{
|
||||
label: 'Comune',
|
||||
table: 'cities',
|
||||
key: 'idCity',
|
||||
type: costanti.FieldType.select_by_server,
|
||||
value: tools.getCookie(tools.COOK_SEARCH + costanti.FILTER_SEP + props.table + costanti.FILTER_SEP + 'cities', costanti.FILTER_TUTTI),
|
||||
addall: true,
|
||||
arrvalue: [],
|
||||
useinput: true,
|
||||
filter: null,
|
||||
// filter: getFilterCitiesByProvince,
|
||||
// param1: shared_consts.PARAM_SHOW_PROVINCE,
|
||||
tablesel: 'cities',
|
||||
},
|
||||
]
|
||||
|
||||
searchList_MyGroups.value = [
|
||||
{
|
||||
label: 'Regione',
|
||||
|
||||
@@ -154,7 +154,7 @@
|
||||
<q-tooltip v-if="!maximizedToggle" :class="($q.dark.isActive ? `bg-black` : `bg-white`) + ` text-primary`">Maximize</q-tooltip>
|
||||
</q-btn>
|
||||
<q-btn dense flat icon="close" v-close-popup>
|
||||
<q-tooltip :class="($q.dark.isActive ? `bg-black` : `bg-white`) + ` text-primary`">Close</q-tooltip>
|
||||
<q-tooltip :class="($q.dark.isActive ? `bg-black` : `bg-white`) + ` text-primary`">{{t('dialog.close')}}</q-tooltip>
|
||||
</q-btn>
|
||||
</q-bar>
|
||||
|
||||
|
||||
@@ -560,9 +560,9 @@ export default defineComponent({
|
||||
item.value = costanti.FILTER_TUTTI
|
||||
}
|
||||
}
|
||||
} else if (item.table === toolsext.TABCITIES) {
|
||||
} else if (item.table === shared_consts.TAB_CITIES) {
|
||||
const valsaved = tools.getCookie(tools.COOK_SEARCH + costanti.FILTER_SEP + mytable.value + costanti.FILTER_SEP + item.table + costanti.FILTER_SEP + newval, costanti.FILTER_TUTTI)
|
||||
const rec = searchList.value.find((myrec) => myrec.table === toolsext.TABCITIES) // check if exist
|
||||
const rec = searchList.value.find((myrec) => myrec.table === shared_consts.TAB_CITIES) // check if exist
|
||||
let trovato = false
|
||||
let arrvalues = []
|
||||
if (rec) {
|
||||
@@ -595,13 +595,13 @@ export default defineComponent({
|
||||
keycookie += myrecfilt.keycookie
|
||||
tools.setCookie(keycookie, newval)
|
||||
|
||||
if (table === toolsext.TABSKILLS) {
|
||||
if (table === shared_consts.TABLES_MYSKILLS) {
|
||||
const recSector = searchList.value.find((rec) => rec.table === 'sectors')
|
||||
if (recSector) {
|
||||
tools.setCookie(tools.COOK_SEARCH + costanti.FILTER_SEP + mytable.value + costanti.FILTER_SEP + recSector.value, newval)
|
||||
}
|
||||
} else if (table === toolsext.TABSECTORS) {
|
||||
setCategBySector(toolsext.TABSKILLS, table, newval)
|
||||
setCategBySector(shared_consts.TABLES_MYSKILLS, table, newval)
|
||||
} else if (table === toolsext.TABSECTORGOODS) {
|
||||
setCategBySector(toolsext.TABGOODS, table, newval)
|
||||
} else if (table === toolsext.TABREGIONS) {
|
||||
@@ -612,8 +612,8 @@ export default defineComponent({
|
||||
tools.setCookie(tools.COOK_SEARCH + costanti.FILTER_SEP + mytable.value + costanti.FILTER_SEP + table + costanti.FILTER_SEP + recSector.value, newval)
|
||||
}
|
||||
// setCategBySector('sectorgoods', table, newval)
|
||||
} else if (table === toolsext.TABCITIES) {
|
||||
const rec = searchList.value.find((myrec) => myrec.table === toolsext.TABCITIES) // check if exist
|
||||
} else if (table === shared_consts.TAB_CITIES) {
|
||||
const rec = searchList.value.find((myrec) => myrec.table === shared_consts.TAB_CITIES) // check if exist
|
||||
if (rec) {
|
||||
if (rec.value === costanti.FILTER_TUTTI) {
|
||||
globalStore.myselector.data = { _id: 0, comune: '' }
|
||||
@@ -763,7 +763,7 @@ export default defineComponent({
|
||||
}
|
||||
|
||||
if (searchList.value) {
|
||||
recSkill = searchList.value.find((item: ISearchList) => item.table === toolsext.TABSKILLS)
|
||||
recSkill = searchList.value.find((item: ISearchList) => item.table === shared_consts.TABLES_MYSKILLS)
|
||||
idSkill = recSkill ? recSkill.value : 0
|
||||
// console.log('recSkill', idSkill)
|
||||
}
|
||||
@@ -891,7 +891,7 @@ export default defineComponent({
|
||||
}
|
||||
|
||||
} else {
|
||||
if ((item.table === toolsext.TABSKILLS) && item.value === costanti.FILTER_TUTTI) {
|
||||
if ((item.table === shared_consts.TABLES_MYSKILLS) && item.value === costanti.FILTER_TUTTI) {
|
||||
const obj2: any = {}
|
||||
|
||||
if (idSector > 0) {
|
||||
@@ -1919,7 +1919,7 @@ export default defineComponent({
|
||||
if (col.showonlyif_dipersona) {
|
||||
const valori = myrec['idStatusSkill']
|
||||
|
||||
if (valori.length === 1 && valori.includes(shared_consts.STATUSSKILL_ONLINE)) {
|
||||
if (valori && (valori.length === 1) && valori.includes(shared_consts.STATUSSKILL_ONLINE)) {
|
||||
col.required = false
|
||||
} else {
|
||||
col.required = true
|
||||
|
||||
@@ -348,7 +348,7 @@
|
||||
<!--<q-radio v-if="mytable === toolsext.TAB" v-model="myvertical" :val="costanti.VISUTABLE_SCHEDA_GROUP"
|
||||
label="Scheda"
|
||||
@update:model-value="tools.setCookie('myv_' + prop_mytable, myvertical) "/>
|
||||
<q-radio v-else-if="mytable !== toolsext.TABMYGROUPS && !finder" v-model="myvertical"
|
||||
<q-radio v-else-if="mytable !== shared_consts.TABLES_MYGROUPS && !finder" v-model="myvertical"
|
||||
:val="costanti.VISUTABLE_SCHEDA_USER" slabel="Scheda"
|
||||
@update:model-value="tools.setCookie('myv_' + prop_mytable, myvertical) "/>-->
|
||||
<q-radio
|
||||
@@ -409,14 +409,14 @@
|
||||
</div>
|
||||
|
||||
<CMyRecGrpCard
|
||||
v-if="tablesel === toolsext.TABMYGROUPS"
|
||||
v-if="tablesel === shared_consts.TABLES_MYGROUPS"
|
||||
:table="tablesel"
|
||||
:prop_myrec="row"
|
||||
@cmdext="cmdExt"
|
||||
>
|
||||
</CMyRecGrpCard>
|
||||
<CMyRecCircuitCard
|
||||
v-else-if="tablesel === toolsext.TABCIRCUITS"
|
||||
v-else-if="tablesel === shared_consts.TABLES_CIRCUITS"
|
||||
:table="tablesel"
|
||||
:prop_myrec="row"
|
||||
@cmdext="cmdExt"
|
||||
@@ -894,7 +894,7 @@
|
||||
<!--<q-radio v-if="mytable === toolsext.TAB" v-model="myvertical" :val="costanti.VISUTABLE_SCHEDA_GROUP"
|
||||
label="Scheda"
|
||||
@update:model-value="tools.setCookie('myv_' + prop_mytable, myvertical) "/>
|
||||
<q-radio v-else-if="mytable !== toolsext.TABMYGROUPS && !finder" v-model="myvertical"
|
||||
<q-radio v-else-if="mytable !== shared_consts.TABLES_MYGROUPS && !finder" v-model="myvertical"
|
||||
:val="costanti.VISUTABLE_SCHEDA_USER" slabel="Scheda"
|
||||
@update:model-value="tools.setCookie('myv_' + prop_mytable, myvertical) "/>-->
|
||||
<q-radio
|
||||
@@ -1120,13 +1120,13 @@
|
||||
class="dialog_annunci"
|
||||
>
|
||||
<CMyCardGrpPopup
|
||||
v-if="mytable === toolsext.TABMYGROUPS"
|
||||
v-if="mytable === shared_consts.TABLES_MYGROUPS"
|
||||
:table="mytable"
|
||||
:prop_myrec="myrecdialog"
|
||||
>
|
||||
</CMyCardGrpPopup>
|
||||
<CMyCardCircuitPopup
|
||||
v-else-if="mytable === toolsext.TABCIRCUITS"
|
||||
v-else-if="mytable === shared_consts.TABLES_CIRCUITS"
|
||||
:table="mytable"
|
||||
:prop_myrec="myrecdialog"
|
||||
>
|
||||
|
||||
@@ -540,9 +540,9 @@ export default defineComponent({
|
||||
item.value = costanti.FILTER_TUTTI
|
||||
}
|
||||
}
|
||||
} else if (item.table === toolsext.TABCITIES) {
|
||||
} else if (item.table === shared_consts.TAB_CITIES) {
|
||||
const valsaved = tools.getCookie(tools.COOK_SEARCH + costanti.FILTER_SEP + item.table + costanti.FILTER_SEP + newval, costanti.FILTER_TUTTI)
|
||||
const rec = searchList.value.find((myrec) => myrec.table === toolsext.TABCITIES) // check if exist
|
||||
const rec = searchList.value.find((myrec) => myrec.table === shared_consts.TAB_CITIES) // check if exist
|
||||
let trovato = false
|
||||
let arrvalues = []
|
||||
if (rec) {
|
||||
@@ -575,13 +575,13 @@ export default defineComponent({
|
||||
keycookie += myrecfilt.keycookie
|
||||
tools.setCookie(keycookie, newval)
|
||||
|
||||
if (table === toolsext.TABSKILLS) {
|
||||
if (table === shared_consts.TABLES_MYSKILLS) {
|
||||
const recSector = searchList.value.find((rec) => rec.table === 'sectors')
|
||||
if (recSector) {
|
||||
tools.setCookie(tools.COOK_SEARCH + costanti.FILTER_SEP + mytable.value + costanti.FILTER_SEP + table + costanti.FILTER_SEP + recSector.value, newval)
|
||||
}
|
||||
} else if (table === toolsext.TABSECTORS) {
|
||||
setCategBySector(toolsext.TABSKILLS, table, newval)
|
||||
setCategBySector(shared_consts.TABLES_MYSKILLS, table, newval)
|
||||
} else if (table === toolsext.TABSECTORGOODS) {
|
||||
setCategBySector(toolsext.TABGOODS, table, newval)
|
||||
} else if (table === toolsext.TABREGIONS) {
|
||||
@@ -592,8 +592,8 @@ export default defineComponent({
|
||||
tools.setCookie(tools.COOK_SEARCH + costanti.FILTER_SEP + mytable.value + costanti.FILTER_SEP + table + costanti.FILTER_SEP + recSector.value, newval)
|
||||
}
|
||||
// setCategBySector('sectorgoods', table, newval)
|
||||
} else if (table === toolsext.TABCITIES) {
|
||||
const rec = searchList.value.find((myrec) => myrec.table === toolsext.TABCITIES) // check if exist
|
||||
} else if (table === shared_consts.TAB_CITIES) {
|
||||
const rec = searchList.value.find((myrec) => myrec.table === shared_consts.TAB_CITIES) // check if exist
|
||||
if (rec) {
|
||||
if (rec.value === costanti.FILTER_TUTTI) {
|
||||
globalStore.myselector.data = { _id: 0, comune: '' }
|
||||
@@ -743,7 +743,7 @@ export default defineComponent({
|
||||
}
|
||||
|
||||
if (searchList.value) {
|
||||
recSkill = searchList.value.find((item: ISearchList) => item.table === toolsext.TABSKILLS)
|
||||
recSkill = searchList.value.find((item: ISearchList) => item.table === shared_consts.TABLES_MYSKILLS)
|
||||
idSkill = recSkill ? recSkill.value : 0
|
||||
// console.log('recSkill', idSkill)
|
||||
}
|
||||
@@ -856,7 +856,7 @@ export default defineComponent({
|
||||
}
|
||||
|
||||
} else {
|
||||
if ((item.table === toolsext.TABSKILLS) && item.value === costanti.FILTER_TUTTI) {
|
||||
if ((item.table === shared_consts.TABLES_MYSKILLS) && item.value === costanti.FILTER_TUTTI) {
|
||||
const obj2: any = {}
|
||||
|
||||
if (idSector > 0) {
|
||||
|
||||
@@ -74,7 +74,7 @@
|
||||
</div>
|
||||
|
||||
<CMyRecGrpCard
|
||||
v-if="tablesel === toolsext.TABMYGROUPS"
|
||||
v-if="tablesel === shared_consts.TABLES_MYGROUPS"
|
||||
:table="tablesel"
|
||||
:prop_myrec="row"
|
||||
@cmdext="cmdExt"
|
||||
|
||||
@@ -52,7 +52,7 @@ export default defineComponent({
|
||||
|
||||
const circuitStore = useCircuitStore()
|
||||
|
||||
const table = ref(toolsext.TABMYGROUPS)
|
||||
const table = ref(shared_consts.TABLES_MYGROUPS)
|
||||
const loadSaldo = ref(false)
|
||||
|
||||
const circuit = ref(<ICircuit | null | undefined>null)
|
||||
|
||||
@@ -315,6 +315,17 @@ export default defineComponent({
|
||||
return obj
|
||||
}
|
||||
|
||||
function getTipodiAttivita() {
|
||||
let obj = null
|
||||
if (myrec.value.tipodiAttivita) {
|
||||
obj = globalStore.getRecordByTableSingle(toolsext.TABTIPODIATTIVITA, myrec.value.tipodiAttivita)
|
||||
if (obj)
|
||||
return obj.label
|
||||
}
|
||||
|
||||
return obj
|
||||
}
|
||||
|
||||
function hasModifiedBooking() {
|
||||
return (bookEventpage.value.bookedevent.numpeople !== bookEventForm.value.numpeople) ||
|
||||
(bookEventpage.value.bookedevent.numpeopleLunch !== bookEventForm.value.numpeopleLunch) ||
|
||||
@@ -645,6 +656,7 @@ export default defineComponent({
|
||||
filter,
|
||||
extraparams,
|
||||
condividi,
|
||||
getTipodiAttivita,
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
@click.stop="tools.copyToClip($q, getlinkpage(), true)"
|
||||
>
|
||||
<q-item-section avatar>
|
||||
<q-icon color="blue" name="fas fa-share" />
|
||||
<q-icon color="blue" name="fas fa-share" />
|
||||
</q-item-section>
|
||||
<q-item-section>
|
||||
{{ $t('reaction.condividi') }}
|
||||
@@ -193,13 +193,7 @@
|
||||
@click.stop="tools.copyToClip($q, getlinkpage(), true)"
|
||||
>
|
||||
</q-btn>
|
||||
<q-btn
|
||||
flat
|
||||
round
|
||||
color="blue"
|
||||
icon="far fa-eye"
|
||||
style="z-index: 1"
|
||||
>
|
||||
<q-btn flat round color="blue" icon="far fa-eye" style="z-index: 1">
|
||||
<q-badge
|
||||
v-if="myrec"
|
||||
text-color="primary"
|
||||
@@ -292,7 +286,19 @@
|
||||
<q-separator />
|
||||
|
||||
<q-list style="z-index: 5">
|
||||
<q-item>
|
||||
<q-item v-if="myrec.tipodiAttivita">
|
||||
<q-item-section avatar>
|
||||
<q-icon color="blue" name="fas fa-balance-scale" />
|
||||
</q-item-section>
|
||||
<q-item-section>
|
||||
<q-item-label class="text-bold text-h7">
|
||||
<q-chip dense color="green" text-color="white"
|
||||
>{{ getTipodiAttivita() }}
|
||||
</q-chip>
|
||||
</q-item-label>
|
||||
</q-item-section>
|
||||
</q-item>
|
||||
<q-item v-if="myrec.adType">
|
||||
<q-item-section avatar>
|
||||
<div v-if="showBadge()" class="text-center">
|
||||
<q-chip
|
||||
@@ -305,17 +311,29 @@
|
||||
</q-chip>
|
||||
</div>
|
||||
</q-item-section>
|
||||
|
||||
</q-item>
|
||||
<q-item v-if="myrec.typeHosp">
|
||||
<q-item-section avatar>
|
||||
<q-icon color="blue" name="fas fa-balance-scale" />
|
||||
</q-item-section>
|
||||
<q-item-section>
|
||||
<q-item-label v-if="myrec.typeHosp" class="text-bold text-h7">
|
||||
<q-item-label class="text-bold text-h7">
|
||||
<q-chip dense color="green" text-color="white"
|
||||
>{{ getTypeHosps() }}
|
||||
</q-chip>
|
||||
</q-item-label>
|
||||
|
||||
<q-item-label class="text-bold text-h7">{{
|
||||
myrec.descr
|
||||
}}</q-item-label>
|
||||
</q-item-section>
|
||||
</q-item>
|
||||
<q-item v-if="myrec.nome_attivita">
|
||||
<q-item-section>
|
||||
<q-item-label class="text-bold text-h7">
|
||||
{{ myrec.nome_attivita }}
|
||||
</q-item-label>
|
||||
</q-item-section>
|
||||
</q-item>
|
||||
<q-item v-if="myrec.descr">
|
||||
<q-item-section>
|
||||
<q-item-label class="text-h7">{{ myrec.descr }}</q-item-label>
|
||||
</q-item-section>
|
||||
</q-item>
|
||||
<q-item
|
||||
@@ -489,7 +507,9 @@
|
||||
class="my-card clBorderUser"
|
||||
bordered
|
||||
@click="
|
||||
naviga(tools.getPathByGroup(myrec.mygrp, toolsext.TABMYGROUPS))
|
||||
naviga(
|
||||
tools.getPathByGroup(myrec.mygrp, shared_consts.TABLES_MYGROUPS)
|
||||
)
|
||||
"
|
||||
>
|
||||
<CMyGroup
|
||||
@@ -500,7 +520,10 @@
|
||||
</CMyGroup>
|
||||
</q-card>
|
||||
<q-card
|
||||
v-else-if="!myrec.organisedBy"
|
||||
v-else-if="
|
||||
!myrec.organisedBy &&
|
||||
shared_consts.TABLES_VISU_LISTA_USER.includes(table)
|
||||
"
|
||||
class="my-card clBorderUser"
|
||||
bordered
|
||||
>
|
||||
@@ -548,7 +571,13 @@
|
||||
</q-item-label>
|
||||
</q-item-section>
|
||||
</q-item>
|
||||
<q-item v-if="myrec.mycities && myrec.mycities.length > 0 && myrec.mycities[0].comune">
|
||||
<q-item
|
||||
v-if="
|
||||
myrec.mycities &&
|
||||
myrec.mycities.length > 0 &&
|
||||
myrec.mycities[0].comune
|
||||
"
|
||||
>
|
||||
<q-item-section avatar>
|
||||
<q-icon color="amber" name="fas fa-map-marker-alt" />
|
||||
</q-item-section>
|
||||
@@ -591,11 +620,61 @@
|
||||
<q-item-label lines="1">
|
||||
<span
|
||||
v-html="
|
||||
tools.getlinkhref(myrec.website, 'Visita il Sito Web')
|
||||
tools.getlinkhref(
|
||||
myrec.website,
|
||||
t('services.visit_website')
|
||||
)
|
||||
"
|
||||
/></q-item-label>
|
||||
</q-item-section>
|
||||
</q-item>
|
||||
<q-item clickable v-if="myrec.email">
|
||||
<q-item-section avatar>
|
||||
<q-icon color="blue-grey-6" name="fas fa-envelope" />
|
||||
</q-item-section>
|
||||
|
||||
<q-item-section>
|
||||
<q-item-label lines="1">
|
||||
<span
|
||||
v-html="tools.getlinkEmail(myrec.email, t('services.email'))"
|
||||
/></q-item-label>
|
||||
</q-item-section>
|
||||
</q-item>
|
||||
<q-item v-if="myrec.telegram_username" clickable>
|
||||
<q-item-section avatar>
|
||||
<q-icon color="blue" name="telegram" />
|
||||
</q-item-section>
|
||||
<q-item-section>
|
||||
<a
|
||||
v-if="myrec.telegram_username"
|
||||
:href="tools.getHttpForTelegram(myrec.telegram_username)"
|
||||
target="_blank"
|
||||
>@{{ myrec.telegram_username }}</a
|
||||
>
|
||||
</q-item-section>
|
||||
</q-item>
|
||||
<q-item clickable v-if="myrec.whatsapp">
|
||||
<q-item-section avatar>
|
||||
<q-icon color="green" name="fab fa-whatsapp" />
|
||||
</q-item-section>
|
||||
|
||||
<q-item-section>
|
||||
<q-item-label lines="1">
|
||||
{{ myrec.whatsapp }}
|
||||
</q-item-label>
|
||||
</q-item-section>
|
||||
</q-item>
|
||||
<q-item clickable v-if="myrec.cell_phone">
|
||||
<q-item-section avatar>
|
||||
<q-icon color="green" name="fas fa-mobile-alt" />
|
||||
</q-item-section>
|
||||
|
||||
<q-item-section>
|
||||
<q-item-label lines="1">
|
||||
<span> {{ myrec.cell_phone }}: </span>
|
||||
</q-item-label>
|
||||
</q-item-section>
|
||||
</q-item>
|
||||
<q-item
|
||||
clickable
|
||||
v-if="
|
||||
@@ -715,6 +794,12 @@
|
||||
}}</a></span
|
||||
></span
|
||||
>
|
||||
<span v-if="myrec.createdBy"
|
||||
><br />{{ $t('services.createdBy') }}
|
||||
<span class="text-bold"
|
||||
><a :href="'my/' + createdBy">{{ createdBy }}</a></span
|
||||
></span
|
||||
>
|
||||
</q-item-label>
|
||||
</q-item-section>
|
||||
</q-item>
|
||||
|
||||
@@ -69,7 +69,7 @@ export default defineComponent({
|
||||
const saldo_pend = computed(() => account.value ? account.value.saldo_pend : 0)
|
||||
const saldo = computed(() => account.value ? account.value.saldo : 0)
|
||||
|
||||
const table = ref(toolsext.TABCIRCUITS)
|
||||
const table = ref(shared_consts.TABLES_CIRCUITS)
|
||||
|
||||
const showingtooltip = ref(false)
|
||||
const showrules = ref(false)
|
||||
|
||||
@@ -31,6 +31,7 @@ import { CMainView } from '@src/components/CMainView'
|
||||
import { CMyProfileTutorial } from '@src/components/CMyProfileTutorial'
|
||||
import { CSendRISTo } from '@src/components/CSendRISTo'
|
||||
import { CDashboard } from '@src/components/CDashboard'
|
||||
import { CDashGroup } from '@src/components/CDashGroup'
|
||||
import { CCheckAppRunning } from '@src/components/CCheckAppRunning'
|
||||
import { CStatusReg } from '@src/components/CStatusReg'
|
||||
import { CTitleBanner } from '@src/components/CTitleBanner'
|
||||
@@ -60,7 +61,7 @@ export default defineComponent({
|
||||
CMyProfileTutorial, CSendRISTo,
|
||||
CTitleBanner, CShareSocial, CCheckAppRunning, CRegistration,
|
||||
CVisuVideoPromoAndPDF, CECommerce, CCatalogo, CAITools,
|
||||
CMapComuni, CMapUsers,
|
||||
CMapComuni, CMapUsers, CDashGroup,
|
||||
// , //CMapMarker,
|
||||
},
|
||||
emits: ['selElemClick'],
|
||||
|
||||
@@ -464,6 +464,10 @@
|
||||
<div v-if="editOn" class="elemEdit">CDashboard</div>
|
||||
<CDashboard></CDashboard>
|
||||
</div>
|
||||
<div v-else-if="myel.type === shared_consts.ELEMTYPE.DASHGROUP">
|
||||
<div v-if="editOn" class="elemEdit">CDashGroup</div>
|
||||
<CDashGroup></CDashGroup>
|
||||
</div>
|
||||
<div v-else-if="myel.type === shared_consts.ELEMTYPE.CSENDRISTO">
|
||||
<div v-if="editOn" class="elemEdit">CSendRISTo</div>
|
||||
<CSendRISTo></CSendRISTo>
|
||||
|
||||
@@ -63,7 +63,7 @@ export default defineComponent({
|
||||
|
||||
const grp = ref(<IMyGroup | null>null)
|
||||
|
||||
const table = ref(toolsext.TABMYGROUPS)
|
||||
const table = ref(shared_consts.TABLES_MYGROUPS)
|
||||
|
||||
const circuit = ref(<ICircuit | null | undefined>null)
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
<template>
|
||||
<div v-if="tools.isUserOk()">
|
||||
|
||||
<div v-if="grp">
|
||||
<q-item class="q-my-sm" clickable>
|
||||
<q-item-section
|
||||
|
||||
@@ -62,7 +62,7 @@ export default defineComponent({
|
||||
|
||||
const grp = ref(<IMyGroup | null>null)
|
||||
|
||||
const table = ref(toolsext.TABMYGROUPS)
|
||||
const table = ref(shared_consts.TABLES_MYGROUPS)
|
||||
|
||||
const circuit = ref(<ICircuit | null | undefined>null)
|
||||
|
||||
|
||||
@@ -399,7 +399,8 @@
|
||||
>
|
||||
</CAccomodation>
|
||||
</div>
|
||||
<div v-else-if="col.fieldtype === costanti.FieldType.image">
|
||||
<div v-else-if="col.fieldtype === costanti.FieldType.image"
|
||||
style="text-align: center">
|
||||
<div v-if="canEdit">
|
||||
{{ $t('reg.photo') }}
|
||||
<CGallery
|
||||
|
||||
@@ -131,9 +131,9 @@ export default defineComponent({
|
||||
indstep: 0,
|
||||
step: STEP_CITY,
|
||||
title: t('tutorial.step_residence_title'),
|
||||
extratitle: function () { return ': ' + contact.value!.profile.resid_province },
|
||||
extratitle: function () { return ': ' + (contact.value!.profile.resid_province ? contact.value!.profile.resid_province : '') },
|
||||
label: t('tutorial.step_residence'),
|
||||
checkOk: function (): boolean { return contact.value ? contact.value.profile.resid_province !== '' && contact.value.profile.resid_province !== '0' : false },
|
||||
checkOk: function (): boolean { return contact.value ? !!contact.value!.profile.resid_province && contact.value.profile.resid_province !== '' && contact.value.profile.resid_province !== '0' : false },
|
||||
checkOkReal: function (): boolean { return this.checkOk() },
|
||||
icon: 'house',
|
||||
required: true,
|
||||
@@ -158,7 +158,7 @@ export default defineComponent({
|
||||
checkOk: function () {
|
||||
if (mycircuit.value) {
|
||||
return ((userStore.IsMyCircuitByName(mycircuit.value.name) ||
|
||||
userStore.IsAskedCircuitByName(mycircuit.value.name))) || userStore.my.profile.noCircuit
|
||||
userStore.IsAskedCircuitByName(mycircuit.value.name))) || (userStore.my.profile.noCircuit)
|
||||
}
|
||||
return false
|
||||
},
|
||||
@@ -199,6 +199,7 @@ export default defineComponent({
|
||||
])
|
||||
|
||||
const numindstep = computed(() => arrStep.value.length)
|
||||
|
||||
|
||||
watch(() => indstep.value, (newval: number, oldval: number) => {
|
||||
if (indstep.value >= 0)
|
||||
@@ -356,6 +357,8 @@ export default defineComponent({
|
||||
if (indstep.value > numindstep.value)
|
||||
indstep.value = numindstep.value
|
||||
|
||||
console.log('indstep.value', indstep.value)
|
||||
|
||||
// circuit.value = circuitStore.getCircuitByName(props.circuitname)
|
||||
|
||||
if (!userStore.my.profile.stepTutorial || userStore.my.profile.stepTutorial === 0) {
|
||||
|
||||
@@ -460,7 +460,7 @@ export default defineComponent({
|
||||
let myarr: any = []
|
||||
|
||||
// console.log(props.col.jointable, props.filter)
|
||||
if (props.col.jointable) {
|
||||
if (props && props.col && props.col.jointable) {
|
||||
optionsreal.value = globalStore.getTableJoinByName(props.col.jointable, props.col.addall, props.col.addnone, props.filter)
|
||||
// console.log('optionsreal.value', optionsreal.value)
|
||||
} else {
|
||||
@@ -547,8 +547,8 @@ export default defineComponent({
|
||||
function filterFn(val: any, update: any, abort: any) {
|
||||
update(
|
||||
async () => {
|
||||
// console.log('Filter val', val, val.length)
|
||||
// console.log('props.filter_extra', props.filter_extra)
|
||||
console.log('Filter val', val, val.length)
|
||||
console.log('props.filter_extra', props.filter_extra)
|
||||
|
||||
|
||||
let myarr: any = []
|
||||
|
||||
@@ -81,7 +81,7 @@
|
||||
table="users"
|
||||
mykey="profile"
|
||||
mysubkey="notif_cities"
|
||||
:jointable="toolsext.TABCITIES"
|
||||
:jointable="shared_consts.TAB_CITIES"
|
||||
:type="costanti.FieldType.multiselect_by_server">
|
||||
</CMyFieldDb>-->
|
||||
|
||||
|
||||
@@ -53,6 +53,15 @@
|
||||
font-size: 0.75rem;
|
||||
color: gray;
|
||||
}
|
||||
.subcat {
|
||||
font-size: 1rem;
|
||||
@media (max-width: 718px) {
|
||||
font-size: 0.85rem;
|
||||
}
|
||||
}
|
||||
.subcat_color {
|
||||
color: green;
|
||||
}
|
||||
|
||||
.label-qta{
|
||||
font-size: 1.15rem;
|
||||
|
||||
@@ -424,6 +424,15 @@ export default defineComponent({
|
||||
$router.push(path)
|
||||
}
|
||||
|
||||
function hasImage(): boolean {
|
||||
if (!myproduct.value || !myproduct.value.productInfo) {
|
||||
return false;
|
||||
}
|
||||
|
||||
const { img, image_link } = myproduct.value.productInfo;
|
||||
return ((!!img && img !== '') || (!!image_link && image_link !== ''))
|
||||
}
|
||||
|
||||
onMounted(mounted)
|
||||
onBeforeUnmount(beforeDestroy)
|
||||
|
||||
@@ -474,6 +483,7 @@ export default defineComponent({
|
||||
isOrdineChiuso,
|
||||
ricarica,
|
||||
apriSchedaPDF,
|
||||
hasImage,
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
@@ -25,8 +25,8 @@
|
||||
t('ecomm.not_active')
|
||||
}}</span>
|
||||
</div>
|
||||
<q-card-section horizontal class="image-section">
|
||||
<div class="image-container">
|
||||
<q-card-section horizontal :class="'image-section'">
|
||||
<div v-if="hasImage()" :class="hasImage() ? 'image-container' : ''">
|
||||
<q-img
|
||||
:src="myproduct.productInfo.img ? `` + myproduct.productInfo.img : myproduct.productInfo.image_link"
|
||||
:alt="myproduct.productInfo.name"
|
||||
@@ -217,6 +217,9 @@
|
||||
<div class="product_code">
|
||||
{{ t('ecomm.codice') }}: {{ myproduct.productInfo.code }}
|
||||
</div>
|
||||
<div v-if="myproduct.productInfo.subcatprods && myproduct.productInfo.subcatprods.length > 0" class="subcat">
|
||||
<span style="color: #333333;">{{ t('ecomm.subcat') }}:</span> <span class="subcat_color">{{ myproduct.productInfo.subcatprods[0].name }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</q-card-section>
|
||||
<q-card-section v-if="complete && myproduct.productInfo.description">
|
||||
|
||||
@@ -150,7 +150,7 @@
|
||||
<q-tooltip v-if="!maximizedToggle" :class="($q.dark.isActive ? `bg-black` : `bg-white`) + ` text-primary`">Maximize</q-tooltip>
|
||||
</q-btn>
|
||||
<q-btn dense flat icon="close" v-close-popup>
|
||||
<q-tooltip :class="($q.dark.isActive ? `bg-black` : `bg-white`) + ` text-primary`">Close</q-tooltip>
|
||||
<q-tooltip :class="($q.dark.isActive ? `bg-black` : `bg-white`) + ` text-primary`">{{t('dialog.close')}}</q-tooltip>
|
||||
</q-btn>
|
||||
</q-bar>
|
||||
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
>
|
||||
</CCheckCircuitsEnabled>
|
||||
|
||||
|
||||
<q-select
|
||||
v-if="!circuitname"
|
||||
:behavior="$q.platform.is.ios === true ? 'dialog' : 'menu'"
|
||||
|
||||
@@ -64,7 +64,7 @@ export default defineComponent({
|
||||
const globalStore = useGlobalStore()
|
||||
const userStore = useUserStore()
|
||||
|
||||
const table = ref(toolsext.TABMYSKILLS)
|
||||
const table = ref(shared_consts.TABLES_MYSKILLS)
|
||||
|
||||
const col = ref(<IColGridTable>{})
|
||||
|
||||
|
||||
@@ -62,7 +62,7 @@ export default defineComponent({
|
||||
|
||||
const circuitStore = useCircuitStore()
|
||||
|
||||
const table = ref(toolsext.TABMYGROUPS)
|
||||
const table = ref(shared_consts.TABLES_MYGROUPS)
|
||||
|
||||
const circuitsnational = ref(<any[]>[])
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
img-class="imgprofile"
|
||||
height="30px"
|
||||
@click="
|
||||
naviga(tools.getPathByTableAndRec(toolsext.TABCIRCUITS, circuit))
|
||||
naviga(tools.getPathByTableAndRec(shared_consts.TABLES_CIRCUITS, circuit))
|
||||
"
|
||||
/>
|
||||
</q-avatar>
|
||||
@@ -22,7 +22,7 @@
|
||||
color="primary"
|
||||
rounded
|
||||
size="sm"
|
||||
@click="naviga(tools.getPathByTableAndRec(toolsext.TABCIRCUITS, circuit))"
|
||||
@click="naviga(tools.getPathByTableAndRec(shared_consts.TABLES_CIRCUITS, circuit))"
|
||||
>
|
||||
{{ circuit.name }}
|
||||
</q-btn>
|
||||
@@ -50,7 +50,7 @@
|
||||
img-class="imgprofile"
|
||||
height="30px"
|
||||
@click="
|
||||
naviga(tools.getPathByTableAndRec(toolsext.TABCIRCUITS, circnaz))
|
||||
naviga(tools.getPathByTableAndRec(shared_consts.TABLES_CIRCUITS, circnaz))
|
||||
"
|
||||
/>
|
||||
</q-avatar>
|
||||
@@ -60,7 +60,7 @@
|
||||
rounded
|
||||
size="sm"
|
||||
@click="
|
||||
naviga(tools.getPathByTableAndRec(toolsext.TABCIRCUITS, circnaz))
|
||||
naviga(tools.getPathByTableAndRec(shared_consts.TABLES_CIRCUITS, circnaz))
|
||||
"
|
||||
>
|
||||
{{ circnaz.name }}
|
||||
|
||||
@@ -89,6 +89,17 @@ function getDynamicPages(site: ISites): IListRoutes[] {
|
||||
inmenu: true,
|
||||
infooter: true,
|
||||
},
|
||||
{
|
||||
active: true,
|
||||
order: 15,
|
||||
path: '/activities',
|
||||
materialIcon: 'fas fa-house-user',
|
||||
name: 'mypages.activities',
|
||||
component: () => import('@/root/activities/activities.vue'),
|
||||
meta: { requiresAuth: true },
|
||||
inmenu: false,
|
||||
infooter: false,
|
||||
},
|
||||
{
|
||||
active: true,
|
||||
order: 15,
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
<meta name="description" content="<%= productDescription %>">
|
||||
<meta name="format-detection" content="telephone=no">
|
||||
<meta name="msapplication-tap-highlight" content="no">
|
||||
<meta name="version" content="1.0.47">
|
||||
<meta name="version" content="1.0.48">
|
||||
<meta name="viewport"
|
||||
content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width<% if (ctx.mode.cordova || ctx.mode.capacitor) { %>, viewport-fit=cover<% } %>">
|
||||
|
||||
|
||||
@@ -46,8 +46,8 @@
|
||||
>
|
||||
|
||||
<CFinder
|
||||
:ind="tools.getIndMainCardsByTable(toolsext.TABMYBACHECAS)"
|
||||
:table="toolsext.TABCIRCUITS"
|
||||
:ind="tools.getIndMainCardsByTable(shared_consts.TABLES_MYBACHECAS)"
|
||||
:table="shared_consts.TABLES_CIRCUITS"
|
||||
:noButtAdd="true"
|
||||
:showFilterPersonal="false"
|
||||
:showBarSelection="false"
|
||||
|
||||
@@ -1227,4 +1227,42 @@ export interface IAnim {
|
||||
export interface ICoordinates {
|
||||
lat: any
|
||||
long: any
|
||||
}
|
||||
|
||||
export interface ITipoDiAttivita {
|
||||
_id: string
|
||||
label: string
|
||||
note: string
|
||||
}
|
||||
|
||||
export interface IAttivita {
|
||||
_id: string
|
||||
|
||||
// INFORMAZIONI:
|
||||
tipodiAttivita: ITipoDiAttivita
|
||||
nome_attivita: string
|
||||
descr: string
|
||||
idSector: number[]
|
||||
|
||||
idCity: number[]
|
||||
coordinate_gps: string
|
||||
|
||||
// FOTO
|
||||
logo: IGallery
|
||||
photos: IGallery[]
|
||||
|
||||
// Contatto (Opzionale)
|
||||
email: string
|
||||
telegram_username: string
|
||||
cell_phone: string
|
||||
whatsapp: string
|
||||
website: string
|
||||
|
||||
//++Todo: Aggiungere ORARI
|
||||
|
||||
// Altri CAMPI:
|
||||
|
||||
date_updated?: Date
|
||||
|
||||
createdBy?: string // Username del creatore (proponente)
|
||||
}
|
||||
0
src/root/activities/activities.scss
Executable file
0
src/root/activities/activities.scss
Executable file
39
src/root/activities/activities.ts
Executable file
39
src/root/activities/activities.ts
Executable file
@@ -0,0 +1,39 @@
|
||||
import {
|
||||
defineComponent, ref, computed,
|
||||
} from 'vue'
|
||||
|
||||
import { tools } from '@src/store/Modules/tools'
|
||||
import { toolsext } from '@src/store/Modules/toolsext'
|
||||
import { CSkill } from '@/components/CSkill'
|
||||
import { CFinder } from '@/components/CFinder'
|
||||
import { CDashboard } from '@/components/CDashboard'
|
||||
import { CTitlePage } from '@/components/CTitlePage'
|
||||
import { CChartMap } from '@src/components/CChartMap'
|
||||
import { CUserNonVerif } from '@/components/CUserNonVerif'
|
||||
import { CNotifAtTop } from '@src/components/CNotifAtTop'
|
||||
// import { CMapsEsempio } from '@src/components/CMapsEsempio'
|
||||
import { CVerifyEmail } from '@src/components/CVerifyEmail'
|
||||
import { CVerifyTelegram } from '@src/components/CVerifyTelegram'
|
||||
import { LandingFooter } from '@/components/LandingFooter'
|
||||
import { useGlobalStore } from '@store/globalStore'
|
||||
import { useUserStore } from '@store/UserStore'
|
||||
import { static_data } from '@/db/static_data'
|
||||
import MixinBase from '@/mixins/mixin-base'
|
||||
import MixinUsers from '@/mixins/mixin-users'
|
||||
import { costanti } from '@costanti'
|
||||
import { CCheckIfIsLogged } from '@components'
|
||||
|
||||
import { shared_consts } from '@/common/shared_vuejs'
|
||||
|
||||
export default defineComponent({
|
||||
name: 'Activities',
|
||||
components: { CSkill, CChartMap, CNotifAtTop, CFinder, CVerifyEmail, CVerifyTelegram, CDashboard, CUserNonVerif, CTitlePage, LandingFooter, CCheckIfIsLogged },
|
||||
setup() {
|
||||
return {
|
||||
tools,
|
||||
toolsext,
|
||||
static_data,
|
||||
shared_consts,
|
||||
}
|
||||
},
|
||||
})
|
||||
30
src/root/activities/activities.vue
Executable file
30
src/root/activities/activities.vue
Executable file
@@ -0,0 +1,30 @@
|
||||
<template>
|
||||
<q-page class="">
|
||||
<div v-if="tools.isLogged()">
|
||||
|
||||
<CNotifAtTop />
|
||||
<div v-if="tools.isUserOk()">
|
||||
|
||||
<CFinder
|
||||
:ind="tools.getIndMainCardsByTable(shared_consts.TABLES_ATTIVITAS)"
|
||||
:table="shared_consts.TABLES_ATTIVITAS"
|
||||
/>
|
||||
|
||||
</div>
|
||||
<div v-else>
|
||||
<CUserNonVerif></CUserNonVerif>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div v-else>
|
||||
<CCheckIfIsLogged></CCheckIfIsLogged>
|
||||
</div>
|
||||
|
||||
</q-page>
|
||||
|
||||
</template>
|
||||
<script lang="ts" src="./activities.ts">
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
@import './activities.scss';
|
||||
</style>
|
||||
@@ -19,6 +19,7 @@ import { useUserStore } from '@store/UserStore'
|
||||
import { static_data } from '@/db/static_data'
|
||||
import MixinBase from '@/mixins/mixin-base'
|
||||
import MixinUsers from '@/mixins/mixin-users'
|
||||
import { shared_consts } from '@/common/shared_vuejs'
|
||||
|
||||
import { colmyBachecas } from '@store/Modules/fieldsTable'
|
||||
|
||||
@@ -33,6 +34,7 @@ export default defineComponent({
|
||||
tools,
|
||||
toolsext,
|
||||
static_data,
|
||||
shared_consts,
|
||||
}
|
||||
},
|
||||
})
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
|
||||
<div v-if="tools.isUserOk()">
|
||||
<CFinder
|
||||
:ind="tools.getIndMainCardsByTable(toolsext.TABMYBACHECAS)"
|
||||
:table="toolsext.TABMYBACHECAS">
|
||||
:ind="tools.getIndMainCardsByTable(shared_consts.TABLES_MYBACHECAS)"
|
||||
:table="shared_consts.TABLES_MYBACHECAS">
|
||||
|
||||
</CFinder>
|
||||
|
||||
|
||||
@@ -23,6 +23,8 @@ import { static_data } from '@/db/static_data'
|
||||
import MixinBase from '@/mixins/mixin-base'
|
||||
import MixinUsers from '@/mixins/mixin-users'
|
||||
|
||||
import { shared_consts } from '@/common/shared_vuejs'
|
||||
|
||||
export default defineComponent({
|
||||
name: 'Goods',
|
||||
components: { CSkill, CChartMap, CFinder,
|
||||
@@ -33,6 +35,7 @@ export default defineComponent({
|
||||
tools,
|
||||
toolsext,
|
||||
static_data,
|
||||
shared_consts,
|
||||
}
|
||||
},
|
||||
})
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
|
||||
<div v-if="tools.isUserOk()">
|
||||
<CFinder
|
||||
:ind="tools.getIndMainCardsByTable(toolsext.TABMYGOODS)"
|
||||
:table="toolsext.TABMYGOODS"
|
||||
:ind="tools.getIndMainCardsByTable(shared_consts.TABLES_MYGOODS)"
|
||||
:table="shared_consts.TABLES_MYGOODS"
|
||||
/>
|
||||
</div>
|
||||
<div v-else>
|
||||
|
||||
@@ -24,6 +24,8 @@ import MixinUsers from '@/mixins/mixin-users'
|
||||
|
||||
import { colmyHosp } from '@store/Modules/fieldsTable'
|
||||
|
||||
import { shared_consts } from '@/common/shared_vuejs'
|
||||
|
||||
export default defineComponent({
|
||||
name: 'hosp',
|
||||
components: { CSkill, CChartMap, CMapsEsempio, CNotifAtTop, CFinder, CVerifyEmail, CVerifyTelegram, CDashboard, CUserNonVerif, CTitlePage, LandingFooter },
|
||||
@@ -33,6 +35,7 @@ export default defineComponent({
|
||||
tools,
|
||||
toolsext,
|
||||
static_data,
|
||||
shared_consts,
|
||||
}
|
||||
},
|
||||
})
|
||||
|
||||
@@ -7,8 +7,8 @@
|
||||
<div v-if="tools.isUserOk()">
|
||||
|
||||
<CFinder
|
||||
:ind="tools.getIndMainCardsByTable(toolsext.TABMYHOSPS)"
|
||||
:table="toolsext.TABMYHOSPS">
|
||||
:ind="tools.getIndMainCardsByTable(shared_consts.TABLES_MYHOSPS)"
|
||||
:table="shared_consts.TABLES_MYHOSPS">
|
||||
|
||||
</CFinder>
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
<CFinder
|
||||
:ind="1"
|
||||
:table="toolsext.TABMYSKILLS"
|
||||
:table="shared_consts.TABLES_MYSKILLS"
|
||||
/>
|
||||
|
||||
Prova Pao:<br>
|
||||
|
||||
@@ -4,7 +4,6 @@ import {
|
||||
|
||||
import { tools } from '@src/store/Modules/tools'
|
||||
import { toolsext } from '@src/store/Modules/toolsext'
|
||||
import { CSkill } from '@/components/CSkill'
|
||||
import { CFinder } from '@/components/CFinder'
|
||||
import { CDashboard } from '@/components/CDashboard'
|
||||
import { CTitlePage } from '@/components/CTitlePage'
|
||||
@@ -23,14 +22,17 @@ import MixinUsers from '@/mixins/mixin-users'
|
||||
import { costanti } from '@costanti'
|
||||
import { CCheckIfIsLogged } from '@components'
|
||||
|
||||
import { shared_consts } from '@/common/shared_vuejs'
|
||||
|
||||
export default defineComponent({
|
||||
name: 'Services',
|
||||
components: { CSkill, CChartMap, CNotifAtTop, CFinder, CVerifyEmail, CVerifyTelegram, CDashboard, CUserNonVerif, CTitlePage, LandingFooter, CCheckIfIsLogged },
|
||||
components: { CChartMap, CNotifAtTop, CFinder, CVerifyEmail, CVerifyTelegram, CDashboard, CUserNonVerif, CTitlePage, LandingFooter, CCheckIfIsLogged },
|
||||
setup() {
|
||||
return {
|
||||
tools,
|
||||
toolsext,
|
||||
static_data,
|
||||
shared_consts,
|
||||
}
|
||||
},
|
||||
})
|
||||
|
||||
@@ -6,8 +6,8 @@
|
||||
<div v-if="tools.isUserOk()">
|
||||
|
||||
<CFinder
|
||||
:ind="tools.getIndMainCardsByTable(toolsext.TABMYSKILLS)"
|
||||
:table="toolsext.TABMYSKILLS"
|
||||
:ind="tools.getIndMainCardsByTable(shared_consts.TABLES_MYSKILLS)"
|
||||
:table="shared_consts.TABLES_MYSKILLS"
|
||||
/>
|
||||
|
||||
<!--<CDashboard></CDashboard>-->
|
||||
|
||||
@@ -373,7 +373,7 @@ export default defineComponent({
|
||||
if (opt.iseuro) {
|
||||
valstr = tools.convertPriceEurToValue(valstr)
|
||||
}
|
||||
valstr = tools.removeescape(valstr)
|
||||
valstr = tools.removeescape_e_acapo(valstr)
|
||||
// valstr = tools.addslashes(valstr)
|
||||
if (!opt.primo)
|
||||
risultato += ', '
|
||||
@@ -520,11 +520,11 @@ export default defineComponent({
|
||||
}
|
||||
|
||||
if (cmd === shared_consts.Cmd.CITIES_SERVER) {
|
||||
userStore.importToServerCmd($q, t, cmd, null)
|
||||
userStore.importToServerCmd($q, t, cmd, null, true)
|
||||
} else if ((cmd === shared_consts.Cmd.PRODUCTS) || (cmd === shared_consts.Cmd.PRODUCTS_V2)) {
|
||||
let options = { aggiornaStockQty: checkAggiornaQta.value }
|
||||
if (importasulserver.value)
|
||||
userStore.importToServerCmd($q, t, cmd, { arrdata: JSON.stringify(strris, null, 2), options })
|
||||
userStore.importToServerCmd($q, t, cmd, { arrdata: JSON.stringify(strris, null, 2), options }, true)
|
||||
}
|
||||
risultato = strris
|
||||
|
||||
@@ -569,20 +569,20 @@ export default defineComponent({
|
||||
|
||||
function eseguiCmdProduct() {
|
||||
let options = { aggiornaStockQty: checkAggiornaQta.value }
|
||||
userStore.importToServerCmd($q, t, cosafare.value, { arrdata: risultato.value, options })
|
||||
userStore.importToServerCmd($q, t, cosafare.value, { arrdata: risultato.value, options }, true)
|
||||
risultato.value = ''
|
||||
}
|
||||
|
||||
function eseguiCmdInventario() {
|
||||
let options = { aggiornaStockQty: checkAggiornaQta.value }
|
||||
userStore.importToServerCmd($q, t, cosafare.value, { arrdata: risultato.value, options })
|
||||
userStore.importToServerCmd($q, t, cosafare.value, { arrdata: risultato.value, options }, true)
|
||||
risultato.value = ''
|
||||
}
|
||||
|
||||
function eseguiCmdCatalogoJson() {
|
||||
let options = { aggiornaStockQty: checkAggiornaQta.value }
|
||||
|
||||
userStore.importToServerCmd($q, t, cosafare.value, { arrdata: risultato.value, options })
|
||||
userStore.importToServerCmd($q, t, cosafare.value, { arrdata: risultato.value, options }, true)
|
||||
risultato.value = ''
|
||||
}
|
||||
|
||||
|
||||
@@ -1152,6 +1152,13 @@ const msg_it = {
|
||||
sector_goods: 'Settori dei Beni',
|
||||
sector_goods_select: 'Scegli i Settori Preferiti dei Beni',
|
||||
},
|
||||
services: {
|
||||
visit_website: 'Visita il Sito Web',
|
||||
email: 'Email:',
|
||||
whatsapp: 'Whatsapp',
|
||||
createdBy: 'Creato da',
|
||||
cell_phone: 'Telefono',
|
||||
},
|
||||
catgrps: {
|
||||
name: 'Categoria',
|
||||
},
|
||||
@@ -1181,6 +1188,7 @@ const msg_it = {
|
||||
iscritti: 'Iscritti',
|
||||
bacheca: 'Bacheca',
|
||||
services: 'Servizi',
|
||||
activities: 'Attività',
|
||||
catalogo: 'Catalogo',
|
||||
handshake: 'Rapporti di Fiducia',
|
||||
hosp: 'Ospitalità',
|
||||
@@ -1717,6 +1725,7 @@ const msg_it = {
|
||||
qta_in_attesa: '(Ordinati In attesa {qty})',
|
||||
sconto_applicato: 'Risparmi {risparmio} € !',
|
||||
codice: 'Codice',
|
||||
subcat: 'Cat',
|
||||
code_o_text_search: 'Inserisci il codice o il testo da cercare',
|
||||
code_add_to_cart: 'Aggiungi un codice al carrello',
|
||||
qta_prenotate_in_attesa: '(Preordinate In attesa {qty})',
|
||||
@@ -1792,6 +1801,19 @@ const msg_it = {
|
||||
tipiace: 'Ti piace',
|
||||
condividi: 'Condividi',
|
||||
},
|
||||
attivita: {
|
||||
tipodiattivita: 'Tipologia',
|
||||
name: 'Nome Attività',
|
||||
email: 'Email',
|
||||
cell_phone: 'Telefono',
|
||||
whatsapp: 'Whatsapp',
|
||||
telegram_username: 'Username Telegram',
|
||||
website: 'Sito Web',
|
||||
coordinate_gps: 'Coordinate GPS',
|
||||
logo: 'Logo',
|
||||
foto: 'Foto',
|
||||
|
||||
},
|
||||
|
||||
},
|
||||
};
|
||||
|
||||
@@ -87,7 +87,7 @@ export const useCircuitStore = defineStore('CircuitStore', {
|
||||
|
||||
const circNazionali: any = this.listcircuits.filter((circ: any) => circ.showAlways)
|
||||
|
||||
if (user.profile.mycircuits && user.profile.mycircuits.length > 0) {
|
||||
if (user && user.profile && user.profile.mycircuits && user.profile.mycircuits.length > 0) {
|
||||
for (const circ of circNazionali) {
|
||||
const trovato = user.profile.mycircuits.findIndex((mycirc: any) => mycirc.circuitname === circ.name) >= 0
|
||||
if (trovato) {
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
import { GROUPSCMD } from "@src/common/shared_nodejs"
|
||||
|
||||
export interface IMainCard {
|
||||
visible: boolean
|
||||
strsingolo?: string
|
||||
@@ -260,8 +262,39 @@ export const costanti = {
|
||||
small: true,
|
||||
table: '',
|
||||
},
|
||||
{
|
||||
visible: false,
|
||||
title: ' Attività ',
|
||||
subtitle: 'Artigiani, Aziende, Società, Negozi',
|
||||
strsingolo: 'Attivita',
|
||||
to: '/activities',
|
||||
icon: 'fas fa-tshirt',
|
||||
color: 'indigo-6',
|
||||
hint: '',
|
||||
table: 'attivitas',
|
||||
visuonstat: true,
|
||||
small: false,
|
||||
showfavorite: true,
|
||||
},
|
||||
],
|
||||
|
||||
GROUPCARDS: [
|
||||
{
|
||||
visible: true,
|
||||
title: ' Attività ',
|
||||
subtitle: 'Artigiani, Aziende, Società, Negozi',
|
||||
strsingolo: 'Attivita',
|
||||
to: '/activities',
|
||||
icon: 'fas fa-tshirt',
|
||||
color: 'indigo-6',
|
||||
hint: '',
|
||||
table: 'attivitas',
|
||||
visuonstat: true,
|
||||
small: false,
|
||||
showfavorite: true,
|
||||
},
|
||||
|
||||
],
|
||||
|
||||
|
||||
BINARY_CHECK: 1,
|
||||
|
||||
@@ -5,6 +5,7 @@ import { costanti } from './costanti'
|
||||
import { useGlobalStore } from '@store/globalStore'
|
||||
import { toolsext } from '@store/Modules/toolsext'
|
||||
import { static_data } from '@/db/static_data'
|
||||
import { shared_consts } from '@src/common/shared_vuejs'
|
||||
|
||||
const DeleteRec = {
|
||||
name: 'deleterec',
|
||||
@@ -1198,6 +1199,158 @@ export const colmyGoods = [
|
||||
AddCol(DeleteRec),
|
||||
]
|
||||
|
||||
export const colAttivita = [
|
||||
AddCol({
|
||||
name: 'tipodiAttivita',
|
||||
label_trans: 'attivita.tipodiattivita',
|
||||
fieldtype: costanti.FieldType.select,
|
||||
required: true,
|
||||
jointable: toolsext.TABTIPODIATTIVITA,
|
||||
icon: 'fas fa-balance-scale',
|
||||
// noshowlabel: true,
|
||||
// numpag_carousel: 1,
|
||||
// inline: true,
|
||||
// typeobj: 'radio',
|
||||
}),
|
||||
AddCol({
|
||||
name: 'nome_attivita',
|
||||
label_trans: 'attivita.nome_attivita',
|
||||
fieldtype: costanti.FieldType.string,
|
||||
maxlength: 100,
|
||||
required: true,
|
||||
}),
|
||||
AddCol({
|
||||
name: 'descr',
|
||||
label_trans: 'proj.shortdescr',
|
||||
fieldtype: costanti.FieldType.string,
|
||||
maxlength: 300,
|
||||
required: true,
|
||||
}),
|
||||
AddCol({
|
||||
name: 'idSector',
|
||||
label_trans: 'sectors.name',
|
||||
fieldtype: costanti.FieldType.select,
|
||||
required: true,
|
||||
jointable: toolsext.TABSECTORS,
|
||||
showWhen: costanti.showWhen.NewRec + costanti.showWhen.InEdit + costanti.showWhen.InView_OnlyifExist,
|
||||
visible: true,
|
||||
icon: 'category',
|
||||
numpag_carousel: 4,
|
||||
}),
|
||||
AddCol({
|
||||
name: 'idSkill',
|
||||
label_trans: 'skill.name',
|
||||
fieldtype: costanti.FieldType.select,
|
||||
jointable: 'skills',
|
||||
addnone: true,
|
||||
filter_table: toolsext.TABSECTORS,
|
||||
filter_field: 'idSector',
|
||||
noshowlabel: true,
|
||||
icon: 'engineering',
|
||||
showWhen: costanti.showWhen.NewRec + costanti.showWhen.InPage + costanti.showWhen.InEdit + costanti.showWhen.InView,
|
||||
allowNewValue: false,
|
||||
required: false,
|
||||
sortable: false,
|
||||
}),
|
||||
|
||||
AddCol({
|
||||
name: 'note', label_trans: 'proj.descrapprof', fieldtype: costanti.FieldType.html,
|
||||
showWhen: costanti.showWhen.NewRec + costanti.showWhen.InEdit + costanti.showWhen.InView_OnlyifExist,
|
||||
titlepopupedit: 'Dettagli', field_extra1: 'username', subfield_extra1: '',
|
||||
required: false,
|
||||
isadvanced_field: true,
|
||||
numpag_carousel: 3,
|
||||
}),
|
||||
AddCol({
|
||||
name: 'idCity',
|
||||
label_trans: 'skill.city',
|
||||
fieldtype: costanti.FieldType.multiselect_by_server,
|
||||
jointable: 'cities',
|
||||
tablesel: 'cities',
|
||||
noshowlabel: true,
|
||||
icon: 'fas fa-map-marker-alt',
|
||||
showWhen: costanti.showWhen.NewRec + costanti.showWhen.InPage + costanti.showWhen.InEdit + costanti.showWhen.InView_OnlyifExist,
|
||||
remote_table: 'mycities',
|
||||
remote_key: '_id',
|
||||
remote_field: 'comune',
|
||||
required: true,
|
||||
showonlyif_dipersona: true,
|
||||
numpag_carousel: 2,
|
||||
}),
|
||||
AddCol({
|
||||
name: 'date_updated', label_trans: 'reg.pub_updated', fieldtype: costanti.FieldType.date,
|
||||
required: false,
|
||||
visible: false,
|
||||
sortable: true,
|
||||
showWhen: 0
|
||||
}),
|
||||
|
||||
AddCol({
|
||||
name: 'createdBy',
|
||||
label_trans: 'reg.username',
|
||||
foredit: false,
|
||||
tipovisu: costanti.TipoVisu.LINK,
|
||||
fieldtype: costanti.FieldType.username_chip,
|
||||
link: '',
|
||||
noshowlabel: true,
|
||||
showWhen: costanti.showWhen.NewRec + costanti.showWhen.InPage + costanti.showWhen.InEdit + costanti.showWhen.InView,
|
||||
}),
|
||||
AddCol({
|
||||
name: 'date_publishing', label_trans: 'products.date_publishing',
|
||||
fieldtype: costanti.FieldType.onlydate,
|
||||
foredit: false,
|
||||
noshowlabel: true,
|
||||
}),
|
||||
AddCol({ name: 'email', label_trans: 'attivita.email', fieldtype: costanti.FieldType.string }),
|
||||
AddCol({ name: 'cell_phone', label_trans: 'attivita.cell_phone', fieldtype: costanti.FieldType.string }),
|
||||
AddCol({
|
||||
name: 'whatsapp',
|
||||
label_trans: 'attivita.whatsapp',
|
||||
}),
|
||||
AddCol({
|
||||
name: 'telegram_username',
|
||||
label_trans: 'attivita.telegram_username',
|
||||
fieldtype: costanti.FieldType.string,
|
||||
}),
|
||||
AddCol({ name: 'website', label_trans: 'attivita.website' }),
|
||||
|
||||
AddCol({ name: 'coordinate_gps', label_trans: 'attivita.coordinate_gps', fieldtype: costanti.FieldType.string }),
|
||||
|
||||
AddCol({
|
||||
name: 'logo',
|
||||
label_trans: 'attivita.logo',
|
||||
fieldtype: costanti.FieldType.image,
|
||||
jointable: '',
|
||||
showWhen: costanti.showWhen.NewRec + costanti.showWhen.InPage + costanti.showWhen.InEdit,
|
||||
isadvanced_field: false,
|
||||
}),
|
||||
AddCol({
|
||||
name: 'photos',
|
||||
label_trans: 'attivita.foto',
|
||||
fieldtype: costanti.FieldType.listimages,
|
||||
jointable: '',
|
||||
showWhen: costanti.showWhen.NewRec + costanti.showWhen.InPage + costanti.showWhen.InEdit,
|
||||
isadvanced_field: false,
|
||||
}),
|
||||
|
||||
|
||||
AddCol({
|
||||
name: 'date_updated', label_trans: 'reg.pub_updated', fieldtype: costanti.FieldType.date,
|
||||
required: false,
|
||||
visible: false,
|
||||
sortable: true,
|
||||
showWhen: 0
|
||||
}),
|
||||
AddCol(DuplicateRec),
|
||||
AddCol(ModifRec),
|
||||
AddCol(DeleteRec),
|
||||
|
||||
//++Todo: Aggiungere ORARI di Servizio
|
||||
|
||||
|
||||
]
|
||||
|
||||
|
||||
export const colmySkills = [
|
||||
AddCol({
|
||||
name: 'adType',
|
||||
@@ -2043,7 +2196,7 @@ export const colTableProductInfos = [
|
||||
AddCol({ name: 'name', label_trans: 'products.name' }),
|
||||
AddCol({ name: 'description', label_trans: 'products.description', fieldtype: costanti.FieldType.html }),
|
||||
AddCol({ name: 'icon', label_trans: 'products.icon' }),
|
||||
AddCol({ name: 'img', label_trans: 'products.img', fieldtype: costanti.FieldType.image_and_filename, path: 'upload/products/' }),
|
||||
AddCol({ name: 'img', label_trans: 'products.img', fieldtype: costanti.FieldType.image_and_filename, path: 'upload/products/' }),
|
||||
AddCol({
|
||||
name: 'department',
|
||||
label_trans: 'products.department',
|
||||
@@ -2093,8 +2246,8 @@ export const colTableOrdersCart = [
|
||||
AddCol({ name: 'totalPrice', label_trans: 'orderscart.totalPrice', fieldtype: costanti.FieldType.number }),
|
||||
AddCol({ name: 'totalPriceCalc', label_trans: 'orderscart.totalPriceCalc', fieldtype: costanti.FieldType.number }),
|
||||
AddCol({ name: 'status', label_trans: 'orderscart.status', fieldtype: costanti.FieldType.number }),
|
||||
]
|
||||
|
||||
]
|
||||
|
||||
export const colTableProducts = [
|
||||
AddCol({ name: 'active', label_trans: 'products.active', fieldtype: costanti.FieldType.boolean }),
|
||||
AddCol({ name: 'isbn', label_trans: 'products.isbn' }),
|
||||
@@ -2136,8 +2289,8 @@ export const colTableProducts = [
|
||||
jointable: 'scontisticas',
|
||||
}),
|
||||
AddCol({ name: 'price', label_trans: 'products.price', fieldtype: costanti.FieldType.number, required: true }),
|
||||
|
||||
|
||||
|
||||
|
||||
// arrvariazioni
|
||||
/* AddCol({ name: 'sale_price', label_trans: 'products.sale_price', fieldtype: costanti.FieldType.number, required: false }),
|
||||
AddCol({
|
||||
@@ -2368,6 +2521,13 @@ const colTablePermission = [
|
||||
AddCol(DeleteRec),
|
||||
AddCol(DuplicateRec),
|
||||
]
|
||||
const colTableTipoDiAttivita = [
|
||||
AddCol({ name: '_id', label_trans: 'others.value' }),
|
||||
AddCol({ name: 'label', label_trans: 'proj.longdescr' }),
|
||||
AddCol({ name: 'note', label_trans: 'proj.longdescr' }),
|
||||
AddCol(DeleteRec),
|
||||
AddCol(DuplicateRec),
|
||||
]
|
||||
|
||||
const colCalDate = [
|
||||
AddCol({ name: '_id', label_trans: 'rec.date', fieldtype: costanti.FieldType.number }),
|
||||
@@ -3527,7 +3687,7 @@ export const colmyUserCircuit = [
|
||||
AddCol({ name: 'deperibile', label_trans: 'account.deperibile', fieldtype: costanti.FieldType.boolean }),
|
||||
AddCol({ name: 'fidoConcesso', label_trans: 'account.fidoConcesso', fieldtype: costanti.FieldType.number }),
|
||||
AddCol({ name: 'qta_maxConcessa', label_trans: 'account.qta_maxConcessa', fieldtype: costanti.FieldType.number }),
|
||||
|
||||
|
||||
AddCol({ name: 'totCircolante', label_trans: 'circuit.totCircolante', fieldtype: costanti.FieldType.number }),
|
||||
AddCol({ name: 'totTransato', label_trans: 'circuit.totTransato', fieldtype: costanti.FieldType.number }),
|
||||
AddCol({ name: 'numtransactions', label_trans: 'circuit.numtransactions', fieldtype: costanti.FieldType.number }),
|
||||
@@ -4151,6 +4311,15 @@ export const fieldsTable = {
|
||||
colicon: 'icon',
|
||||
noshow: true,
|
||||
},
|
||||
{
|
||||
value: toolsext.TABTIPODIATTIVITA,
|
||||
label: 'Tipo di Attivita',
|
||||
columns: colTableTipoDiAttivita,
|
||||
colkey: 'value',
|
||||
collabel: 'label',
|
||||
colicon: 'icon',
|
||||
noshow: true,
|
||||
},
|
||||
{
|
||||
value: 'accepted',
|
||||
label: 'Condizioni',
|
||||
@@ -4180,14 +4349,14 @@ export const fieldsTable = {
|
||||
collabel: 'key',
|
||||
},
|
||||
{
|
||||
value: toolsext.TABMYSKILLS,
|
||||
value: shared_consts.TABLES_MYSKILLS,
|
||||
label: 'Mie Competenze',
|
||||
columns: colmySkills,
|
||||
colkey: '_id',
|
||||
collabel: (rec: any) => `${rec.descr}`,
|
||||
},
|
||||
{
|
||||
value: toolsext.TABMYBACHECAS,
|
||||
value: shared_consts.TABLES_MYBACHECAS,
|
||||
label: 'Bacheca',
|
||||
columns: colmyBachecas,
|
||||
colkey: '_id',
|
||||
@@ -4201,12 +4370,26 @@ export const fieldsTable = {
|
||||
collabel: (rec: any) => `${rec.descr}`,
|
||||
},
|
||||
{
|
||||
value: toolsext.TABMYGOODS,
|
||||
value: shared_consts.TABLES_MYGOODS,
|
||||
label: 'Beni',
|
||||
columns: colmyGoods,
|
||||
colkey: '_id',
|
||||
collabel: (rec: any) => `${rec.descr}`,
|
||||
},
|
||||
{
|
||||
value: shared_consts.TABLES_ATTIVITAS,
|
||||
label: 'Attività',
|
||||
columns: colAttivita,
|
||||
colkey: '_id',
|
||||
collabel: (rec: any) => `${rec.name}`,
|
||||
},
|
||||
{
|
||||
value: toolsext.TABATTIVITA,
|
||||
label: 'Attivita',
|
||||
columns: colAttivita,
|
||||
colkey: '_id',
|
||||
collabel: (rec: any) => `${rec.descr} - ${rec.note}`,
|
||||
},
|
||||
{
|
||||
value: 'skills',
|
||||
label: 'Competenze',
|
||||
|
||||
@@ -4671,6 +4671,15 @@ export const tools = {
|
||||
return ''
|
||||
}
|
||||
|
||||
},
|
||||
getlinkEmail(myemail: string) {
|
||||
if (myemail) {
|
||||
|
||||
return `<a href="${myemail}" >${myemail}</a>`
|
||||
} else {
|
||||
return ''
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
getNationsByNationality(nat: string) {
|
||||
@@ -8407,6 +8416,15 @@ export const tools = {
|
||||
return inputString.replace('\\', '').replace(/"/g, '')
|
||||
},
|
||||
|
||||
removeTrailingBr(str: string) {
|
||||
// Usa una regex per cercare il tag <br> alla fine della stringa e rimuoverlo
|
||||
return str.replace(/<br>$/, '');
|
||||
},
|
||||
|
||||
removeescape_e_acapo(inputString: string): string {
|
||||
return this.removeTrailingBr(inputString.replace('\\', '').replace(/"/g, '').replace(/\r\n/g, '<br>').replace(/\r/g, '<br>'))
|
||||
},
|
||||
|
||||
isObjectEmpty(obj: any) {
|
||||
return Object.keys(obj).length === 0;
|
||||
},
|
||||
|
||||
@@ -71,6 +71,8 @@ export const toolsext = {
|
||||
TABPROVINCE: 'provinces',
|
||||
TABMYSKILLS: 'myskills',
|
||||
TABMYGOODS: 'mygoods',
|
||||
TABATTIVITA: 'attivita',
|
||||
TABTIPODIATTIVITA: 'tipodiattivitas',
|
||||
TABMYBACHECAS: 'mybachecas',
|
||||
TABMYHOSPS: 'myhosps',
|
||||
TABCALDATE: 'caldate',
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { IBaseOrder, ICart, IOrder, IOrderCart, IProduct, IProductsState, IProductInfo, ICatProd, IUserShort, IGasordine, IAuthor } from 'model'
|
||||
import { IBaseOrder, ICart, IOrder, IOrderCart, IProduct, IProductsState, IProductInfo, ICatProd, IUserShort, IGasordine, IAuthor, ISubCatProd } from 'model'
|
||||
|
||||
import { Api } from '@api'
|
||||
import { serv_constants } from '@src/store/Modules/serv_constants'
|
||||
@@ -13,6 +13,7 @@ import { useGlobalStore } from './globalStore'
|
||||
import { ref } from 'vue'
|
||||
|
||||
import translate from '@src/globalroutines/util'
|
||||
import products from '@src/rootgen/admin/products/products'
|
||||
|
||||
function getRecordOrdersCartEmpty(): IOrderCart {
|
||||
return {
|
||||
@@ -124,6 +125,54 @@ export const useProducts = defineStore('Products', {
|
||||
|
||||
},
|
||||
|
||||
getCatProdsByGas: (state: IProductsState) => (idGasOrdine: string): ICatProd[] => {
|
||||
let arrcat = state.catprods_gas
|
||||
|
||||
// Ottieni le categorie solo per i "products" che hanno come idGasOrdine il valore passato
|
||||
if (idGasOrdine) {
|
||||
arrcat = state.catprods_gas.filter((rec: ICatProd) => {
|
||||
const arrprod = state.products.filter((prod: IProduct) => {
|
||||
if (prod.idGasordine === idGasOrdine && prod.productInfo.idCatProds?.includes(rec._id)) {
|
||||
return true
|
||||
}
|
||||
|
||||
})
|
||||
return arrprod.length > 0 ? true : false
|
||||
})
|
||||
|
||||
} else {
|
||||
return []
|
||||
}
|
||||
|
||||
|
||||
return arrcat
|
||||
},
|
||||
|
||||
|
||||
getSubCatProdsByGas: (state: IProductsState) => (idGasOrdine: string, idCatProd: string): ISubCatProd[] => {
|
||||
let arrcat = state.subcatprods
|
||||
|
||||
// Ottieni le categorie solo per i "products" che hanno come idGasOrdine il valore passato
|
||||
if (idGasOrdine) {
|
||||
arrcat = state.subcatprods.filter((rec: ISubCatProd) => {
|
||||
const arrprod = state.products.filter((prod: IProduct) => {
|
||||
if (prod.idGasordine === idGasOrdine
|
||||
&& prod.productInfo.idSubCatProds?.includes(rec._id)
|
||||
&& prod.productInfo.idCatProds?.includes(idCatProd)
|
||||
) {
|
||||
return true
|
||||
}
|
||||
|
||||
})
|
||||
return arrprod.length > 0 ? true : false
|
||||
})
|
||||
|
||||
} else {
|
||||
return []
|
||||
}
|
||||
return arrcat
|
||||
},
|
||||
|
||||
getAuthors: (state: IProductsState) => (): any[] => {
|
||||
// Get the list of authors, for the q-select component using state.authors array
|
||||
// [{name: xxx, value: _id }]
|
||||
|
||||
@@ -472,7 +472,7 @@ export const useUserStore = defineStore('UserStore', {
|
||||
|
||||
|
||||
IsAskedCircuitByName(name: string): boolean {
|
||||
if (this.my.profile.asked_circuits)
|
||||
if (this.my.profile.asked_circuits && this.my.profile.asked_circuits.length > 0)
|
||||
return this.my.profile.asked_circuits.findIndex((rec: ICircuit) => rec.name === name) >= 0
|
||||
else
|
||||
return false
|
||||
@@ -482,7 +482,7 @@ export const useUserStore = defineStore('UserStore', {
|
||||
|
||||
IsMyCircuitByName(circuitname: string): boolean {
|
||||
|
||||
if (this.my.profile.mycircuits)
|
||||
if (this.my.profile.mycircuits && this.my.profile.mycircuits.length > 0)
|
||||
return this.my.profile.mycircuits.findIndex((rec: IMyCircuit) => rec.circuitname === circuitname) >= 0
|
||||
else
|
||||
return false
|
||||
@@ -515,10 +515,20 @@ export const useUserStore = defineStore('UserStore', {
|
||||
else
|
||||
arrout = tools.getCommon([...this.my.profile.mycircuits], [...user.profile.mycircuits], 'circuitname')
|
||||
|
||||
// controlla che il circuito sia Abilitato!
|
||||
|
||||
|
||||
// controlla che il circuito sia Abilitato e Territoriale !
|
||||
for (const circuitname of arrout) {
|
||||
const circuit = circuitStore.getCircuitByName(circuitname)
|
||||
if (circuit && circuit.transactionsEnabled) {
|
||||
if (circuit && circuit.transactionsEnabled && !circuit.showAlways) {
|
||||
arrfinale.push(circuitname)
|
||||
}
|
||||
}
|
||||
|
||||
// Poi aggiungi i Circuiti ITALIA
|
||||
for (const circuitname of arrout) {
|
||||
const circuit = circuitStore.getCircuitByName(circuitname)
|
||||
if (circuit && circuit.transactionsEnabled && circuit.showAlways) {
|
||||
arrfinale.push(circuitname)
|
||||
}
|
||||
}
|
||||
@@ -1840,7 +1850,7 @@ export const useUserStore = defineStore('UserStore', {
|
||||
})
|
||||
},
|
||||
|
||||
async importToServerCmd($q: any, t: any, cmd: number, data: any) {
|
||||
async importToServerCmd($q: any, t: any, cmd: number, data: any, recorddaimportare: boolean = false) {
|
||||
return Api.SendReq('/admin/import', 'POST', { cmd, data })
|
||||
.then((res: any) => {
|
||||
if (res) {
|
||||
@@ -1856,9 +1866,17 @@ export const useUserStore = defineStore('UserStore', {
|
||||
msg += ' ' + t('db.records_updated', { num: res.data.updated })
|
||||
}
|
||||
if (!msg) {
|
||||
msg = t('db.recupdated')
|
||||
if (recorddaimportare) {
|
||||
msg += ' ' + t('db.records_imported', { num: 0 })
|
||||
tools.showNegativeNotif($q, msg)
|
||||
} else {
|
||||
msg = t('db.recupdated')
|
||||
tools.showPositiveNotif($q, msg)
|
||||
}
|
||||
} else {
|
||||
tools.showPositiveNotif($q, msg)
|
||||
}
|
||||
tools.showPositiveNotif($q, msg)
|
||||
|
||||
}
|
||||
}).catch((error) => {
|
||||
tools.showNegativeNotif($q, t('db.recfailed'))
|
||||
|
||||
@@ -338,6 +338,7 @@ export const useGlobalStore = defineStore('GlobalStore', {
|
||||
else if (table === 'departments') ris = state.departments
|
||||
else if (table === 'categorys') ris = state.categories
|
||||
else if (table === 'catprods') ris = Products.catprods
|
||||
else if (table === 'subcatprods') ris = Products.subcatprods
|
||||
else if (table === 'catprods_gas') ris = Products.catprods_gas
|
||||
else if (table === 'authors') ris = Products.authors
|
||||
else if (table === 'catais') ris = state.catAI
|
||||
@@ -1573,6 +1574,7 @@ export const useGlobalStore = defineStore('GlobalStore', {
|
||||
this.providers = (res.data.providers) ? [...res.data.providers] : []
|
||||
|
||||
Products.catprods = (res.data.catprods) ? [...res.data.catprods] : []
|
||||
Products.subcatprods = (res.data.subcatprods) ? [...res.data.subcatprods] : []
|
||||
Products.catprods_gas = (res.data.catprods_gas) ? [...res.data.catprods_gas] : []
|
||||
Products.authors = (res.data.authors) ? [...res.data.authors] : []
|
||||
|
||||
@@ -1907,6 +1909,7 @@ export const useGlobalStore = defineStore('GlobalStore', {
|
||||
else if (table === toolsext.TABTYPECASH) myarr = shared_consts.TypeCashStr
|
||||
else if (table === 'usernotifs') myarr = shared_consts.UsersNotif_Adv_List
|
||||
else if (table === 'typenotifs') myarr = shared_consts.TypeNotifs_Arr
|
||||
else if (table === toolsext.TABTIPODIATTIVITA) myarr = shared_consts.TipoDiAttivita
|
||||
else myarr = this.getListByTable(table, value2)
|
||||
|
||||
if (costanti.TABLES_ARRAY.includes(table)) {
|
||||
@@ -1935,9 +1938,9 @@ export const useGlobalStore = defineStore('GlobalStore', {
|
||||
obj[mykey] = costanti.FILTER_NESSUNO
|
||||
obj[collab] = '[Nessuno]'
|
||||
|
||||
if (table === toolsext.TABMYGOODS) {
|
||||
if (table === shared_consts.TABLES_MYGOODS) {
|
||||
obj.idSectorGood = []
|
||||
} else if ((table === toolsext.TABMYSKILLS)) {
|
||||
} else if ((table === shared_consts.TABLES_MYSKILLS)) {
|
||||
obj.idSector = []
|
||||
}
|
||||
|
||||
|
||||
@@ -546,6 +546,11 @@
|
||||
color="primary"
|
||||
@click="EseguiFunz('createAllCircuits', '', '')"
|
||||
></q-btn>
|
||||
<br /><q-btn
|
||||
label="Correggi i Circuiti (togli i null)"
|
||||
color="primary"
|
||||
@click="EseguiFunz('correggiCircuitiANull', '', '')"
|
||||
></q-btn>
|
||||
<br />
|
||||
</div>
|
||||
<div class="row">
|
||||
|
||||
@@ -67,6 +67,12 @@ export default defineComponent({
|
||||
return lab
|
||||
})
|
||||
|
||||
const getlist = computed(() => {
|
||||
const mylist = searchList.value.find((rec: any) => rec.table === 'products')
|
||||
|
||||
return mylist
|
||||
})
|
||||
|
||||
|
||||
const arrLoaded = computed(() => {
|
||||
if (arrProducts.value && numRecLoaded.value)
|
||||
@@ -88,6 +94,12 @@ export default defineComponent({
|
||||
};
|
||||
|
||||
watch(() => cat.value, (newval, oldval) => {
|
||||
|
||||
if (cat.value) {
|
||||
filter.value.author = '' // disattivo il filtro autore
|
||||
search.value = '' // disattivo anche la ricerca per testo
|
||||
}
|
||||
|
||||
calcArrProducts()
|
||||
})
|
||||
|
||||
@@ -103,6 +115,12 @@ export default defineComponent({
|
||||
})
|
||||
watch(() => filter.value.author, (newval, oldval) => {
|
||||
|
||||
// Se filtroAuthor attivato, allora evito il filtro per Categoria
|
||||
if (filter.value.author) {
|
||||
cat.value = '' // disattivo il filtro categoria
|
||||
search.value = '' // disattivo anche la ricerca per testo
|
||||
}
|
||||
|
||||
calcArrProducts()
|
||||
if (tools.scrollTop() > 300) {
|
||||
tools.scrollToTopValue(300)
|
||||
@@ -121,8 +139,10 @@ export default defineComponent({
|
||||
|
||||
refreshpage.value = true
|
||||
let arrprod = productStore.getProducts(cosa.value) || [];
|
||||
let catstr = cat.value || '';
|
||||
let filtroAuthor = filter.value.author || '';
|
||||
|
||||
let catstr = cat.value || '';
|
||||
|
||||
let gasselstr = ''
|
||||
if (cosa.value === shared_consts.PROD.GAS) {
|
||||
gasselstr = idGasSel.value || '';
|
||||
@@ -281,8 +301,8 @@ export default defineComponent({
|
||||
console.log('REFRR searchval', newval, table, 'tablesel', tablesel)
|
||||
if (newval === '') {
|
||||
search.value = ''
|
||||
} else {
|
||||
search.value = newval.name
|
||||
} else {
|
||||
search.value = newval.name
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -30,6 +30,7 @@ export default defineComponent({
|
||||
|
||||
const cosa = ref(0)
|
||||
const cat = ref('')
|
||||
const subcat = ref('')
|
||||
const idGasSel = ref('')
|
||||
const loadpage = ref(false)
|
||||
const refreshpage = ref(false)
|
||||
@@ -68,6 +69,10 @@ export default defineComponent({
|
||||
calcArrProducts()
|
||||
})
|
||||
|
||||
watch(() => subcat.value, (newval, oldval) => {
|
||||
calcArrProducts()
|
||||
})
|
||||
|
||||
watch(() => idGasSel.value, (newval, oldval) => {
|
||||
calcArrProducts()
|
||||
})
|
||||
@@ -81,8 +86,11 @@ export default defineComponent({
|
||||
|
||||
watch(() => cosa.value, (newval, oldval) => {
|
||||
tools.setCookie(tools.COOK_COSA_PRODOTTI, cosa.value.toString())
|
||||
if (cosa.value !== shared_consts.PROD.TUTTI)
|
||||
if (cosa.value !== shared_consts.PROD.TUTTI) {
|
||||
cat.value = ''
|
||||
subcat.value = ''
|
||||
}
|
||||
|
||||
calcArrProducts()
|
||||
})
|
||||
|
||||
@@ -92,19 +100,21 @@ export default defineComponent({
|
||||
refreshpage.value = true
|
||||
let arrprod = productStore.getProducts(cosa.value)
|
||||
let catstr = cat.value;
|
||||
let subcatstr = subcat.value;
|
||||
let gasselstr = ''
|
||||
if (cosa.value === shared_consts.PROD.GAS) {
|
||||
gasselstr = idGasSel.value
|
||||
}
|
||||
let lowerSearchText = search.value.toLowerCase().trim();
|
||||
if ((!lowerSearchText || (lowerSearchText && lowerSearchText.length < 2)) && !catstr && (!gasselstr && (cosa.value !== shared_consts.PROD.GAS))) {
|
||||
if ((!lowerSearchText || (lowerSearchText && lowerSearchText.length < 2)) && !catstr && !subcatstr && (!gasselstr && (cosa.value !== shared_consts.PROD.GAS))) {
|
||||
|
||||
} else {
|
||||
|
||||
arrprod = arrprod.filter((product: IProduct) => {
|
||||
if (product && product.productInfo) {
|
||||
if (product && product.productInfo && !!product.productInfo.name) {
|
||||
let lowerName = product.productInfo.name!.toLowerCase();
|
||||
let hasCategoria = !catstr || (catstr && product.productInfo.idCatProds?.includes(catstr));
|
||||
let hasSubCategoria = !subcatstr || (subcatstr && product.productInfo.idSubCatProds?.includes(subcatstr));
|
||||
|
||||
let productgassel = true
|
||||
if (gasselstr || (cosa.value === shared_consts.PROD.GAS)) {
|
||||
@@ -118,7 +128,7 @@ export default defineComponent({
|
||||
// Check if any word in lowerName starts with lowerSearchText
|
||||
let anyWordStartsWithSearch = lowerName.split(/\s+/).some(word => nameMatch.test(word));
|
||||
|
||||
return (codeMatch.test(product.productInfo.code!) || anyWordStartsWithSearch) && hasCategoria && productgassel;
|
||||
return (codeMatch.test(product.productInfo.code!) || anyWordStartsWithSearch) && hasCategoria && hasSubCategoria && productgassel;
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -171,9 +181,36 @@ export default defineComponent({
|
||||
|
||||
function getCatProds() {
|
||||
let arrcat = productStore.getCatProds(cosa.value)
|
||||
let riscat: any = [{ label: 'Tutti', value: '', icon: undefined, color: undefined }]
|
||||
for (const rec of arrcat) {
|
||||
riscat.push({ label: rec.name, value: rec._id, icon: rec.icon, color: rec.color })
|
||||
let riscat: any = []
|
||||
if (arrcat && arrcat.length > 0) {
|
||||
riscat = [{ label: 'Tutti', value: '', icon: undefined, color: undefined }]
|
||||
for (const rec of arrcat) {
|
||||
riscat.push({ label: rec.name, value: rec._id, icon: rec.icon, color: rec.color })
|
||||
}
|
||||
}
|
||||
|
||||
return riscat
|
||||
}
|
||||
function getCatProdsByGas(idGasOrdine: string): any {
|
||||
let arrcat = productStore.getCatProdsByGas(idGasOrdine)
|
||||
let riscat: any = []
|
||||
if (arrcat && arrcat.length > 0) {
|
||||
riscat = [{ label: 'Tutti', value: '', icon: undefined, color: undefined }]
|
||||
for (const rec of arrcat) {
|
||||
riscat.push({ label: rec.name, value: rec._id, icon: rec.icon, color: rec.color })
|
||||
}
|
||||
}
|
||||
|
||||
return riscat
|
||||
}
|
||||
function getSubCatProdsByGas(idGasOrdine: string, idCatProd: string): any {
|
||||
let arrcat = productStore.getSubCatProdsByGas(idGasOrdine, idCatProd)
|
||||
let riscat: any = []
|
||||
if (arrcat && arrcat.length > 0) {
|
||||
riscat = [{ label: 'Tutti', value: '', icon: undefined, color: undefined }]
|
||||
for (const rec of arrcat) {
|
||||
riscat.push({ label: rec.name, value: rec._id, icon: rec.icon, color: rec.color })
|
||||
}
|
||||
}
|
||||
|
||||
return riscat
|
||||
@@ -210,7 +247,9 @@ export default defineComponent({
|
||||
cosa,
|
||||
shared_consts,
|
||||
getCatProds,
|
||||
getCatProdsByGas,
|
||||
cat,
|
||||
subcat,
|
||||
idGasSel,
|
||||
productStore,
|
||||
t,
|
||||
@@ -223,6 +262,7 @@ export default defineComponent({
|
||||
onLoadScroll,
|
||||
numRecLoaded,
|
||||
arrLoaded,
|
||||
getSubCatProdsByGas,
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
@@ -96,19 +96,65 @@
|
||||
<div class="text-center text-h6 text-red">Ordini Attivi:</div>
|
||||
</div>
|
||||
<div class="row q-gutter-xs justify-center q-mx-auto">
|
||||
<div v-for="(recgas, index) in productStore.getGasordinesActives()" :key="index">
|
||||
<div
|
||||
v-for="(recgas, index) in productStore.getGasordinesActives()"
|
||||
:key="index"
|
||||
>
|
||||
<q-btn
|
||||
push
|
||||
dense
|
||||
:size="tools.isMobile() ? '0.9rem' : '1.05rem'"
|
||||
:color="idGasSel === recgas._id ? 'primary' : undefined"
|
||||
:text-color="idGasSel === recgas._id ? 'white' : 'black'"
|
||||
:text-color="idGasSel === recgas._id ? 'white' : 'black'"
|
||||
:label="recgas.name"
|
||||
@click="idGasSel = recgas._id"
|
||||
>
|
||||
</q-btn>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row q-gutter-xs justify-center q-mx-auto">
|
||||
<div
|
||||
v-for="(reccat, index) in getCatProdsByGas(idGasSel)"
|
||||
:key="index"
|
||||
>
|
||||
<q-btn
|
||||
:push="cat === reccat.value"
|
||||
dense
|
||||
:size="tools.isMobile() ? '0.70rem' : '0.85rem'"
|
||||
:icon="reccat.icon ? reccat.icon : undefined"
|
||||
:color="cat === reccat.value ? 'primary' : undefined"
|
||||
:text-color="cat === reccat.value ? 'white' : 'black'"
|
||||
rounded
|
||||
:label="reccat.label"
|
||||
@click="cat = reccat.value"
|
||||
>
|
||||
</q-btn>
|
||||
</div>
|
||||
</div>
|
||||
<q-separator class="q-ma-md"> </q-separator>
|
||||
<div
|
||||
v-if="getSubCatProdsByGas(idGasSel, cat)"
|
||||
class="row q-gutter-xs justify-center q-mx-auto"
|
||||
>
|
||||
<div
|
||||
v-for="(recsubcat, index) in getSubCatProdsByGas(idGasSel, cat)"
|
||||
:key="index"
|
||||
>
|
||||
<q-btn
|
||||
:push="subcat === recsubcat.value"
|
||||
dense
|
||||
:size="tools.isMobile() ? '0.70rem' : '0.85rem'"
|
||||
:icon="recsubcat.icon ? recsubcat.icon : undefined"
|
||||
:color="subcat === recsubcat.value ? 'positive' : undefined"
|
||||
:text-color="subcat === recsubcat.value ? 'white' : 'blue'"
|
||||
rounded
|
||||
:label="recsubcat.label"
|
||||
@click="subcat = recsubcat.value"
|
||||
>
|
||||
</q-btn>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="text-center q-py-sm prod_trov">
|
||||
<span
|
||||
v-show="productStore.getNumProdTot() !== arrProducts.length"
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
<CNotifAtTop />
|
||||
<CMyCircuits v-model="filter" :finder="true" :showfinder="true" :showBarSelection="true">
|
||||
<CFinder
|
||||
:ind="tools.getIndMainCardsByTable(toolsext.TABCIRCUITS)"
|
||||
:table="toolsext.TABCIRCUITS"
|
||||
:ind="tools.getIndMainCardsByTable(shared_consts.TABLES_CIRCUITS)"
|
||||
:table="shared_consts.TABLES_CIRCUITS"
|
||||
:noButtAdd="!tools.isManager()"
|
||||
:showFilterPersonal="true"
|
||||
:showBarSelection="true"
|
||||
|
||||
@@ -9,6 +9,7 @@ import { CMyFieldRec } from '@/components/CMyFieldRec'
|
||||
import { CSkill } from '@/components/CSkill'
|
||||
import { CDateTime } from '@/components/CDateTime'
|
||||
import { CInfoAccount } from '@/components/CInfoAccount'
|
||||
import { CSendCoins } from '@/components/CSendCoins'
|
||||
import { tools } from '@store/Modules/tools'
|
||||
import { computed, defineComponent, onMounted, ref, watch } from 'vue'
|
||||
import { useUserStore } from '@store/UserStore'
|
||||
@@ -29,7 +30,8 @@ export default defineComponent({
|
||||
name: 'mygroup',
|
||||
components: {
|
||||
CProfile, CTitleBanner, CMyFieldRec,
|
||||
CInfoAccount, CSkill, CDateTime, CMyFriends, CGridTableRec, CMyUser, CCheckIfIsLogged, CNotifAtTop
|
||||
CInfoAccount, CSkill, CDateTime, CMyFriends, CGridTableRec, CMyUser, CCheckIfIsLogged,
|
||||
CNotifAtTop, CSendCoins
|
||||
},
|
||||
props: {},
|
||||
setup() {
|
||||
@@ -48,6 +50,8 @@ export default defineComponent({
|
||||
const filtroutente = ref(<any[]>[])
|
||||
const showPic = ref(false)
|
||||
|
||||
const showsendCoinTo = ref(false)
|
||||
|
||||
const tabcircuit = ref('info')
|
||||
|
||||
const mygrp = ref(<IMyGroup | null>{})
|
||||
@@ -268,6 +272,7 @@ export default defineComponent({
|
||||
circuitslistOpt,
|
||||
filtroeventsgroup,
|
||||
getlinkpage,
|
||||
showsendCoinTo,
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
@@ -36,7 +36,9 @@
|
||||
<div
|
||||
v-if="mygrp.title !== mygrp.groupname"
|
||||
class="col-12 text-h7 text-blue text-shadow-2"
|
||||
>{{ mygrp.groupname }}</div>
|
||||
>
|
||||
{{ mygrp.groupname }}
|
||||
</div>
|
||||
|
||||
<q-banner
|
||||
v-if="userStore.IsRefusedGroupByGroupname(mygrp.groupname)"
|
||||
@@ -48,6 +50,18 @@
|
||||
<br />
|
||||
</q-banner>
|
||||
|
||||
<q-btn
|
||||
v-if="circuitslistOpt.length > 0"
|
||||
icon="fas fa-coins"
|
||||
color="green"
|
||||
size="md"
|
||||
:label="t('circuit.sendcoins')"
|
||||
dense
|
||||
rounded
|
||||
@click="showsendCoinTo = true"
|
||||
>
|
||||
</q-btn>
|
||||
|
||||
<div>
|
||||
<q-btn
|
||||
v-if="
|
||||
@@ -93,9 +107,7 @@
|
||||
<q-icon color="negative" name="fas fa-user-minus" />
|
||||
</q-item-section>
|
||||
<q-item-section>
|
||||
{{
|
||||
$t('groups.exit_group')
|
||||
}}
|
||||
{{ $t('groups.exit_group') }}
|
||||
</q-item-section>
|
||||
</q-item>
|
||||
|
||||
@@ -123,9 +135,7 @@
|
||||
<q-icon color="negative" name="fas fa-trash-alt" />
|
||||
</q-item-section>
|
||||
<q-item-section>
|
||||
{{
|
||||
$t('groups.delete_group')
|
||||
}}
|
||||
{{ $t('groups.delete_group') }}
|
||||
</q-item-section>
|
||||
</q-item>
|
||||
</q-list>
|
||||
@@ -165,7 +175,10 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div v-if="mygrp.descr" class="no-wrap justify-evenly items-center content-start">
|
||||
<div
|
||||
v-if="mygrp.descr"
|
||||
class="no-wrap justify-evenly items-center content-start"
|
||||
>
|
||||
<!--
|
||||
<q-btn
|
||||
v-if="tools.iAmAdminGroup(groupname)" icon="fas fa-pencil-alt"
|
||||
@@ -177,7 +190,11 @@
|
||||
-->
|
||||
|
||||
<q-tabs v-model="tabgrp" class="text-blue">
|
||||
<q-tab :label="t('shared.info1')" name="info" icon="fas fa-info"></q-tab>
|
||||
<q-tab
|
||||
:label="t('shared.info1')"
|
||||
name="info"
|
||||
icon="fas fa-info"
|
||||
></q-tab>
|
||||
<q-tab
|
||||
v-if="
|
||||
tools.iCanShowGroupsMember(mygrp) ||
|
||||
@@ -196,7 +213,11 @@
|
||||
name="circuits"
|
||||
icon="fas fa-coins"
|
||||
></q-tab>
|
||||
<q-tab :label="t('groups.events')" name="events" icon="fas fa-bullhorn"></q-tab>
|
||||
<q-tab
|
||||
:label="t('groups.events')"
|
||||
name="events"
|
||||
icon="fas fa-bullhorn"
|
||||
></q-tab>
|
||||
</q-tabs>
|
||||
|
||||
<q-tab-panels v-model="tabgrp" animated>
|
||||
@@ -223,7 +244,7 @@
|
||||
v-if="
|
||||
!!mygrp.date_updated &&
|
||||
tools.getstrshortDate(mygrp.date_updated) !==
|
||||
tools.getstrshortDate(mygrp.createdBy)
|
||||
tools.getstrshortDate(mygrp.createdBy)
|
||||
"
|
||||
class="element"
|
||||
>
|
||||
@@ -247,7 +268,9 @@
|
||||
<q-icon name="fas fa-lock"></q-icon>
|
||||
</div>
|
||||
<div>
|
||||
<div class="title_param">{{ $t('groups.private') }}</div>
|
||||
<div class="title_param">
|
||||
{{ $t('groups.private') }}
|
||||
</div>
|
||||
{{ $t('groups.private_descr') }}
|
||||
</div>
|
||||
</div>
|
||||
@@ -275,10 +298,9 @@
|
||||
</div>
|
||||
<div>
|
||||
<div class="title_param">
|
||||
<div
|
||||
v-for="(city, index) of cities"
|
||||
:key="index"
|
||||
>{{ city.comune }} ({{ city.prov }})</div>
|
||||
<div v-for="(city, index) of cities" :key="index">
|
||||
{{ city.comune }} ({{ city.prov }})
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -477,8 +499,16 @@
|
||||
class="text-blue"
|
||||
no-caps
|
||||
>
|
||||
<q-tab :label="t('shared.info1')" name="info" icon="fas fa-info"></q-tab>
|
||||
<q-tab :label="t('circuit.movements')" name="mov" icon="fas fa-coins"></q-tab>
|
||||
<q-tab
|
||||
:label="t('shared.info1')"
|
||||
name="info"
|
||||
icon="fas fa-info"
|
||||
></q-tab>
|
||||
<q-tab
|
||||
:label="t('circuit.movements')"
|
||||
name="mov"
|
||||
icon="fas fa-coins"
|
||||
></q-tab>
|
||||
</q-tabs>
|
||||
</q-tab-panel>
|
||||
<q-tab-panel name="events"></q-tab-panel>
|
||||
@@ -619,13 +649,23 @@
|
||||
></CGridTableRec>
|
||||
</div>
|
||||
</div>
|
||||
<div v-else class="fit column no-wrap justify-evenly items-center content-start">
|
||||
<q-skeleton type="QAvatar" size="140px" height="140px" animation="fade" />
|
||||
<div
|
||||
v-else
|
||||
class="fit column no-wrap justify-evenly items-center content-start"
|
||||
>
|
||||
<q-skeleton
|
||||
type="QAvatar"
|
||||
size="140px"
|
||||
height="140px"
|
||||
animation="fade"
|
||||
/>
|
||||
<q-card flat bordered style="width: 250px">
|
||||
<div class="text-h6">
|
||||
<q-skeleton :animation="animation" />
|
||||
</div>
|
||||
<div class="col-12 text-h7 text-grey text-center">{{ groupname }}</div>
|
||||
<div class="col-12 text-h7 text-grey text-center">
|
||||
{{ groupname }}
|
||||
</div>
|
||||
<div class="col-12 text-h7">
|
||||
<q-skeleton :animation="animation" />
|
||||
</div>
|
||||
@@ -647,12 +687,23 @@
|
||||
</q-dialog>
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="showsendCoinTo">
|
||||
<CSendCoins
|
||||
:showprop="showsendCoinTo"
|
||||
:to_group="mygrp"
|
||||
circuitname=""
|
||||
@close="showsendCoinTo = false"
|
||||
>
|
||||
</CSendCoins>
|
||||
</div>
|
||||
|
||||
|
||||
</template>
|
||||
|
||||
<script lang="ts" src="./mygroup.ts">
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import "./mygroup.scss";
|
||||
@import './mygroup.scss';
|
||||
</style>
|
||||
|
||||
|
||||
@@ -17,8 +17,8 @@
|
||||
|
||||
<CMyGroups v-model="filter" :finder="true">
|
||||
<CFinder
|
||||
:ind="tools.getIndMainCardsByTable(toolsext.TABMYGROUPS)"
|
||||
:table="toolsext.TABMYGROUPS"
|
||||
:ind="tools.getIndMainCardsByTable(shared_consts.TABLES_MYGROUPS)"
|
||||
:table="shared_consts.TABLES_MYGROUPS"
|
||||
:showFilterPersonal="true"
|
||||
/>
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
sizes="max-height: 120px" styleadd="bottom: -20px !important;">
|
||||
|
||||
<CMyCardService
|
||||
:table="toolsext.TABMYBACHECAS"
|
||||
:table="shared_consts.TABLES_MYBACHECAS"
|
||||
:nopopup="true"
|
||||
:idRec="idBacheca"
|
||||
>
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
<!-- <CMyCardPopup
|
||||
v-if="!!idBacheca"
|
||||
:table="toolsext.TABMYBACHECAS"
|
||||
:table="shared_consts.TABLES_MYBACHECAS"
|
||||
:nopopup="true"
|
||||
:idRec="idBacheca">
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
>
|
||||
<CMyCardService
|
||||
v-if="idGood"
|
||||
:table="toolsext.TABMYGOODS"
|
||||
:table="shared_consts.TABLES_MYGOODS"
|
||||
:nopopup="true"
|
||||
:idRec="idGood"
|
||||
>
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
<CMyCardService
|
||||
v-if="!!idHosp"
|
||||
:table="toolsext.TABMYHOSPS"
|
||||
:table="shared_consts.TABLES_MYHOSPS"
|
||||
:nopopup="true"
|
||||
:idRec="idHosp">
|
||||
|
||||
|
||||
@@ -35,7 +35,7 @@ export default defineComponent({
|
||||
|
||||
const animation = ref('fade')
|
||||
|
||||
const table = ref(toolsext.TABMYSKILLS)
|
||||
const table = ref(shared_consts.TABLES_MYSKILLS)
|
||||
|
||||
const idSkill = computed(() => $route.params.idSkill ? $route.params.idSkill.toString() : '')
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
>
|
||||
<CMyCardService
|
||||
v-if="idSkill"
|
||||
:table="toolsext.TABMYSKILLS"
|
||||
:table="shared_consts.TABLES_MYSKILLS"
|
||||
:nopopup="true"
|
||||
:idRec="idSkill"
|
||||
>
|
||||
|
||||
Reference in New Issue
Block a user