- fix scelta provincia (il bottone Avanti non veniva disabilitato).

- Se non scelgo la provincia, non deve farmi vedere la App...
This commit is contained in:
Surya Paolo
2024-03-28 20:26:21 +01:00
parent 6856c4cc8e
commit aa29a7fa46
80 changed files with 10777451 additions and 178 deletions

View File

@@ -1,6 +1,7 @@
<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)"
>
@@ -38,7 +39,10 @@
: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
class="q-pb-none q-pt-xs cursor-pointer"
:to="tools.updateLink(rec.to)"
>
<q-item-section>
<q-item-label
:class="
@@ -49,20 +53,29 @@
>
{{ rec.title }}
</q-item-label>
<q-item-label lines="3" no-wrap
<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-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"
@@ -85,9 +98,7 @@
</div>
</div>
<div
class="row shadow"
>
<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"
@@ -95,9 +106,13 @@
: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
class="q-pb-none q-pt-xs cursor-pointer"
:to="tools.updateLink(rec.to)"
>
<q-item-section>
<q-item-label lines="3"
<q-item-label
lines="3"
:class="
(!$q.dark.isActive ? 'text-grey-9' : 'text-white') +
` title_view_small_shadow`
@@ -119,7 +134,11 @@
</q-item-section>
<q-item-section side>
<q-img v-if="rec.image" :src="rec.image" style="width: 35px"></q-img>
<q-img
v-if="rec.image"
:src="rec.image"
style="width: 35px"
></q-img>
<q-icon
v-else
:name="rec.icon"

View File

@@ -324,6 +324,13 @@ export default defineComponent({
return ''
}
function getrealdirectory() {
if (props.directory == 'productinfos')
return 'products'
else
return props.directory
}
function getsrcimg(gallerylistery: any) {
if (!gallerylistery.imagefile) {
@@ -332,15 +339,21 @@ export default defineComponent({
if (gallerylistery) {
if (tools.getextfile(gallerylistery.imagefile) === 'pdf')
return 'images/images/pdf.jpg'
else
return costanti.DIR_UPLOAD + props.directory + '/' + gallerylistery.imagefile
else {
if (tools.contieneSlash(gallerylistery.imagefile)) {
return gallerylistery.imagefile
} else {
return costanti.DIR_UPLOAD + getrealdirectory() + '/' + gallerylistery.imagefile
}
}
} else {
return 'images/noimg.png';
}
}
function getParamDir() {
return tools.escapeslash(props.directory)
return tools.escapeslash(getrealdirectory())
}
function getUrl() {
@@ -393,6 +406,7 @@ export default defineComponent({
onRejected,
isListImgValid,
costanti,
getrealdirectory,
}
}
})

View File

@@ -5,6 +5,7 @@
<div class="q-pa-xs">
<q-card v-if="isListImgValid" :class="getclass()" @click="apri">
<div v-for="(mygallery, index) in getlistimages()" :key="index">
<div v-if="index === 0">
<q-img
@@ -51,6 +52,7 @@
</div>
<div v-else>
<div class=" row">
<!--<q-draggable-rows
v-model="order">-->

View File

@@ -1,3 +1,9 @@
.map-container {
height: 400px;
}
.button-text {
font-size: 14px;
color: black;
cursor: pointer;
}

File diff suppressed because one or more lines are too long

View File

@@ -1,18 +1,10 @@
<template>
<div>
comuniData: {{comuniData}}
<div
v-if="arrprovince"
id="map"
:style="`height:${myheight()}px; width:99%`"
>
<l-map :zoom="zoom" :center="center">
<l-tile-layer :url="url"></l-tile-layer>
<l-geo-json
:geojson="comuniData"
:options="{ style: styleFunction }"
></l-geo-json>
</l-map>
<div v-if="visumappa">
<div v-if="initialMap">
center: {{ center }} zoom: {{ zoom }}
</div>
<div id="map" :style="`height:${myheight()}px; width:99%`">
</div>
</div>
</template>

View File

@@ -143,7 +143,7 @@
!userStore.IsMyCircuitByName(circuit.name) &&
!userStore.IsAskedCircuitByName(circuit.name) &&
!userStore.IsRefusedCircuitByName(circuit.name)
"
"
color="positive"
:label="$t('circuit.apri')"
@click="
@@ -380,6 +380,7 @@
icon="fas fa-user-plus"
color="primary"
:label="$t('circuit.ask')"
rounded
@click="
requestToEnterCircuit = true;
groupnameSel = null;

View File

@@ -133,7 +133,7 @@ export default defineComponent({
title: t('tutorial.step_residence_title'),
extratitle: function () { return ': ' + contact.value!.profile.resid_province },
label: t('tutorial.step_residence'),
checkOk: function (): boolean { return contact.value ? !!contact.value.profile.resid_province : false },
checkOk: function (): boolean { return contact.value ? contact.value.profile.resid_province !== '' : false },
checkOkReal: function (): boolean { return this.checkOk() },
icon: 'house',
required: true,
@@ -407,9 +407,20 @@ export default defineComponent({
}
function isNextDisable() {
function getindstepByStep(step: number) {
for (let indstep = 0; indstep < arrStep.value.length; indstep++) {
if (arrStep.value[indstep].step === step)
return indstep
}
return -1
}
function isNextDisable(step: number) {
try {
return arrStep.value[indstep.value - 1].required && !arrStep.value[indstep.value - 1].checkOk()
const indstep = getindstepByStep(step)
if (indstep >= 0)
return arrStep.value[indstep].required && !arrStep.value[indstep].checkOk()
return false
} catch (e) {
return false
}

View File

@@ -224,7 +224,7 @@
/>
<q-btn
:flat="isSalta(recstep.step)"
:disabled="isNextDisable()"
:disabled="isNextDisable(recstep.step)"
@click="
isSalta(recstep.step)
? askToConfirmSkip(recstep.step)
@@ -289,6 +289,7 @@
class="bg-red text-white"
v-if="
userStore.my.profile.calc.numGoodsAndServices <= 0 && !nascondiavviso
&& tools.visualizzaHomeApp()
"
>
<span v-html="$t('tutorial.step_beniservizi')"></span>

View File

@@ -1,5 +1,8 @@
<template>
<div class="row text-center justify-evenly items-center">
<div
v-if="tools.visualizzaHomeApp()"
class="row text-center justify-evenly items-center"
>
<div class="q-mb-sm">
<q-btn
icon="fas fa-download"

View File

@@ -18,9 +18,21 @@
>Sei in attesa di essere abilitato da
{{ tools.getAportadorSolidario() }}.<br>
Ti arriverà una notifica sulla Chat Telegram <strong>'BOT RISO'</strong>.<br /><br />
Se non dovesse arrivarti entro qualche ora, contattalo per ricordarglielo.<br />
</div>
<q-btn
rounded
class="q-ma-sm"
color="positive"
@click="tools.refreshPage()"
icon="refresh"
label="Aggiorna la Pagina"
>
</q-btn>
<br>
<q-btn
rounded
class="q-ma-sm"

View File

@@ -8,8 +8,6 @@ const msg_website_enUs = {
products: {
quantity: 'Quantità',
quantityAvailable: 'Disponibili',
stockQty: 'In Magazzino',
stockBloccatiQty: 'Bloccati In Magazzino',
weight: 'Peso',
stars: 'Voto',
color: 'Colore',
@@ -38,7 +36,6 @@ const msg_website_enUs = {
productslist: 'Lista Prodotti',
collabora: 'Collabora',
storehouses: 'Magazzino',
providers: 'Fornitori',
departments: 'Uffici',
orders: 'Ordini Ricevuti',
orders2: 'Ordini Ricevuti',

View File

@@ -8,7 +8,6 @@ const msg_website_es = {
products: {
quantity: 'Quantità',
quantityAvailable: 'Disponibili',
stockQty: 'In Magazzino',
weight: 'Peso',
stars: 'Voto',
color: 'Colore',

View File

@@ -1,9 +1,9 @@
const msg_website_it = {
ws: {
sitename: 'Più che Buono',
siteshortname: 'Più che Buono',
description: '',
keywords: '',
sitename: 'Riso',
siteshortname: 'RISO',
description: 'Siamo la Rete Italiana di Scambio Orizzontale, abbiamo creato questa piattaforma per metterla al servizio di chi vuole riscoprire il valore della condivisione e della cooperazione. Valori semplici e profondi che ci aiutano a ritrovare il Senso della Vita, perduto in questa società consumista, e riporti quei Sani Pricìpi Naturali ed Umani di Fratellanza che intere popolazioni antiche conoscevano bene.',
keywords: 'riso, piattaforma di scambio, rete italiana scambio orizzontale, riso app, riso piattaforma, scambio e baratto, momenta RIS',
},
hours: {
descr: 'Descrizione',
@@ -16,35 +16,23 @@ const msg_website_it = {
pages: {
home: 'Home',
profile: 'Profilo',
install_site: 'Installa Sito',
profile2: 'ProfiloU',
mypage2: 'mypage2',
myservice2: 'myservice2',
myhosps2: 'myhosps2',
mygood2: 'mygood2',
catalogo: 'Catalogo',
fundraising: 'Sostieni il Progetto',
notifs: 'Configura le Notifiche',
unsubscribe: 'Disiscriviti',
unsubscribe_user: 'Disiscriviti User',
test: 'Test',
projects: 'Progetti',
report: 'Report Ore',
producer: 'Produttore',
orderinfo: 'Ordini Effettuati',
products: 'Prodotti',
cash: 'Cassa',
productInfos: 'Info Prodotti',
listinoprodotti: 'Listino Prodotti',
productslist: 'Lista Prodotti',
collabora: 'Collabora',
categories: 'Categorie',
storehouses: 'Magazzino',
providers: 'Fornitori',
catprods: 'Categorie',
subcatprods: 'Sotto-Categorie',
gasordine: 'Gas Ordine',
scontisticas: 'Scontistica',
departments: 'Uffici',
orders: 'Ordini Ricevuti',
orders2: 'Ordini Ricevuti',
@@ -133,11 +121,9 @@ const msg_website_it = {
only_residenti: 'Solo Residenti',
only_consiglio: 'Solo Consiglieri',
color: 'Colore',
gasordini: 'Gas Ordini',
gestoreordini: 'Gestore Ordini',
},
msg: {
myAppName: 'Più che Buono',
myAppName: 'Riso',
myAppDescription: 'Il primo Vero Social Libero, Equo e Solidale, dove Vive Consapevolezza e Aiuto Comunitario. Gratuito',
underconstruction: 'App in costruzione...',
myDescriz: '',

View File

@@ -7,6 +7,30 @@ import {
import { func } from '@store/Modules/fieldsTable'
// const SHOW_PROJINTHEMENU = false
//
// let arrlistafavourite = []
// let arrlistaprojtutti = []
// let arrlistaprojmiei = []
// if (SHOW_PROJINTHEMENU) {
// arrlistaprojtutti = Projects.getters.listaprojects(RouteNames.projectsall)
// arrlistaprojmiei = Projects.getters.listaprojects(RouteNames.myprojects)
// arrlistafavourite = Projects.getters.listaprojects(RouteNames.favouriteprojects)
// }
// PROGETTI -> FAVORITI :
// if (arrlistafavourite.length > 0) {
// arrMenu.push({
// icon: 'favorite_border',
// nametranslate: 'pages.' + RouteNames.favouriteprojects,
// urlroute: RouteNames.favouriteprojects,
// level_parent: 0.0,
// level_child: 0.5,
// routes2: arrlistafavourite,
// idelem: ''
// })
// }
const firstPage = {
active: true,
order: 5,
@@ -33,7 +57,72 @@ function getDynamicPages(site: ISites): IListRoutes[] {
inmenu: true,
infooter: true,
},
/*{
{
active: true,
order: 400,
path: '/test',
materialIcon: 'fas fa-test',
name: 'mypages.test',
component: () => import('@/views/testServer/testServer.vue'),
inmenu: false,
infooter: false,
},
{
active: true,
order: 12,
path: '/goods',
materialIcon: 'fas fa-tshirt',
name: 'mypages.goods',
component: () => import('@/root/goods/goods.vue'),
meta: { requiresAuth: true },
inmenu: true,
infooter: true,
},
{
active: true,
order: 15,
path: '/services',
materialIcon: 'fas fa-house-user',
name: 'mypages.services',
component: () => import('@/root/services/services.vue'),
meta: { requiresAuth: true },
inmenu: true,
infooter: true,
},
{
active: true,
order: 15,
path: '/provapao',
materialIcon: 'fas fa-house-user',
name: 'mypages.provapao',
component: () => import('@/root/provapao/provapao.vue'),
meta: { requiresAuth: true },
inmenu: false,
infooter: false,
},
{
active: true,
order: 15,
path: '/hosps',
materialIcon: 'fas fa-bed',
name: 'mypages.hosp',
component: () => import('@/root/hosp/hosp.vue'),
meta: { requiresAuth: true },
inmenu: true,
infooter: true,
},
{
active: site.confpages && site.confpages.enableCircuits,
order: 16,
path: '/circuits',
materialIcon: 'fas fa-coins',
name: 'mypages.circuits',
component: () => import('@/views/user/mycircuits/mycircuits.vue'),
meta: { requiresAuth: true },
inmenu: true,
infooter: true,
},
{
active: true,
order: 20,
path: '/events',
@@ -43,17 +132,6 @@ function getDynamicPages(site: ISites): IListRoutes[] {
meta: { requiresAuth: true },
inmenu: true,
infooter: true,
},*/
{
active: site.confpages && site.confpages.showProfile,
order: 120,
path: '/myprofile',
materialIcon: 'fas fa-user',
name: 'pages.profile',
component: () => import('@/views/user/myprofile/myprofile.vue'),
meta: { requiresAuth: true },
inmenu: true,
infooter: true,
},
{
active: true,
@@ -67,7 +145,18 @@ function getDynamicPages(site: ISites): IListRoutes[] {
infooter: false,
},
{
active: site.confpages && site.confpages.showProfile,
active: true,
order: 120,
path: '/myprofile',
materialIcon: 'fas fa-user',
name: 'pages.profile',
component: () => import('@/views/user/myprofile/myprofile.vue'),
meta: { requiresAuth: true },
inmenu: true,
infooter: true,
},
{
active: true,
order: 120,
path: '/editprofile',
materialIcon: 'fas fa-user',
@@ -78,7 +167,7 @@ function getDynamicPages(site: ISites): IListRoutes[] {
infooter: false,
},
{
active: site.confpages && site.confpages.showiscrittiMenu,
active: true,
order: 130,
path: '/friends',
materialIcon: 'fas fa-user-friends',
@@ -88,19 +177,6 @@ function getDynamicPages(site: ISites): IListRoutes[] {
inmenu: true,
infooter: true,
},
{
active: site.confpages && site.confpages.enableCircuits,
order: 16,
path: '/circuits',
materialIcon: 'fas fa-coins',
name: 'mypages.circuits',
component: () => import('@/views/user/mycircuits/mycircuits.vue'),
meta: { requiresAuth: true },
inmenu: true,
infooter: true,
onlyAdmin: true,
onlyManager: true,
},
{
active: site.confpages && site.confpages.enableGroups,
order: 132,
@@ -111,8 +187,6 @@ function getDynamicPages(site: ISites): IListRoutes[] {
meta: { requiresAuth: true },
inmenu: true,
infooter: false,
onlyAdmin: true,
onlyManager: true,
},
{
active: true,

View File

@@ -1392,7 +1392,7 @@ const msg_it = {
addasadmin: 'Aggiungi come Admin del Circuito',
remove_as_admin: 'Rimuovi come Admin del Circuito',
remove_from_mycircuit: 'Rimuovi dal Circuito',
ask: 'Entra nel Circuito',
ask: 'Entra',
ask_italia: 'Apri Circuito RIS Italia',
exit: 'Esci dal Circuito',
accept: 'Abilita Fiducia',
@@ -1628,7 +1628,7 @@ const msg_it = {
title_completed: 'Passi ({indstep}/{numindstep}) - Completati',
completed_step: 'Profilo completato al {perc}',
step_residence_title: 'Provincia',
step_residence: 'Scegli la <strong>provincia</strong> in cui vivi abitualmente:',
step_residence: 'Scegli la <strong>Provincia</strong> in cui vivi abitualmente:',
step_nomecognome_title: 'Nome',
step_nomecognome: '<strong>Facoltativo</strong>: Per farti trovare dai tuoi amici puoi inserire anche un Nome o Soprannome',
step_circuito_title: '1) Circuito Provinciale',

View File

@@ -70,6 +70,9 @@ export const tools = {
COOK_SELGAS: 'SELGAS',
COOK_TAB_CIRCUIT: 'TAB_CIRC',
COOK_COSA_PRODOTTI: 'PROD_N',
COOK_MAP_CENTER_LAT: 'MAP_LAT',
COOK_MAP_CENTER_LONG: 'MAP_LONG',
COOK_MAP_ZOOM: 'MAP_Z',
FRIENDS_SEARCH: 'FR_SE',
GROUP_SEARCH: 'GR_SE',
@@ -5160,6 +5163,10 @@ export const tools = {
return globalStore.getProvinceByProv(prov)
},
visualizzaHomeApp() {
return this.getProvincia() !== ''
},
getLinkBotTelegram(aportador_solidario: string, regexpire: string): string {
let mylink = ''
const sep = '-'
@@ -8505,7 +8512,15 @@ export const tools = {
getInvitante() {
const invitante = tools.getCookie(tools.APORTADOR_SOLIDARIO)
return invitante ? invitante : ''
}
},
contieneSlash(str: string) {
return str.includes('/');
},
refreshPage() {
window.location.reload();
},
// FINE !

View File

@@ -2069,5 +2069,17 @@ export const useGlobalStore = defineStore('GlobalStore', {
tools.setCookie('EDITPAGES', edit ? '-1' : '0')
},
getGeoJsonByProvince(prov: string) {
const usertosend = {
prov,
}
// console.log(usertosend)
return Api.SendReq('/city/geojson', 'POST', usertosend)
.then((res) => {
return res.data ? res.data.ris : []
})
},
},
})

View File

@@ -680,6 +680,11 @@
color="positive"
@click="EseguiFunz('UpdateCoordProv')"
></q-btn>
<q-btn
label="insertGeojsonToMongoDB"
color="positive"
@click="EseguiFunz('insertGeojsonToMongoDB')"
></q-btn>
<br />
</div>
<br />