- attivita

- gestione degli script sul server
 - creato websocket per interagire con gli script del server.
This commit is contained in:
Surya Paolo
2024-08-29 23:31:54 +02:00
parent 79e874e3e0
commit 8f4ff8ff9c
39 changed files with 1373 additions and 303 deletions

View File

@@ -35,7 +35,11 @@
<q-space></q-space>
<div v-if="butt_modif_new" class="row justify-center">
<q-btn
v-if="mytable && !shared_consts.TABLES_FINDER.includes(mytable) && !showMap"
v-if="
mytable &&
!shared_consts.TABLES_FINDER.includes(mytable) &&
!showMap
"
rounded
dense
size="sm"
@@ -241,13 +245,16 @@
<div v-if="prop_search || canEdit">
<div
v-if="searchList && finder"
class="row justify-evenly q-mb-sm q-mx-sm"
class="row justify-between q-mb-sm q-mx-sm"
>
<q-btn
class=""
dense
:label="!showfilter ? $t('grid.openfilter') : $t('grid.closefilter')"
:label="
!showfilter ? $t('grid.openfilter') : $t('grid.closefilter')
"
color="positive"
icon="fas fa-filter"
:icon="!showfilter ? 'fas fa-filter' : 'fas fa-arrow-up'"
@click="showfilter = !showfilter"
><q-badge
v-if="getNumFilterSelected()"
@@ -259,55 +266,31 @@
</q-badge>
</q-btn>
<q-btn
v-if="prop_search"
class=""
dense
color="orange"
icon="fas fa-bell"
label="Notifiche"
@click="showNotification = !showNotification"
></q-btn>
</div>
<div v-if="prop_search" :class="'q-mr-sm ' + ($q.screen.lt.sm ? ' full-width ' : '')">
<q-input
v-model="search"
filled
dense
type="search"
debounce="500"
:hint="hint"
:error-message="noresultLabel"
:error="getNumRecFromQuery() === 0 && !startsearch"
label="Cerca"
v-on:keyup.enter="doSearch"
:label="t('grid.search')"
color="primary"
icon="fas fa-search"
@click="showSearchDialog = true"
>
<template v-slot:prepend>
<q-spinner-oval v-if="startsearch" color="primary" size="1em" />
<q-icon v-else name="search" />
</template>
<template v-slot:after>
<q-select
v-if="prop_SortFieldsAvailable.length > 0"
:behavior="'menu'"
rounded
outlined
dense
v-model="ordinam"
:options="prop_SortFieldsAvailable"
label="Ordinamento:"
emit-value
map-options
style="min-width: 120px"
>
</q-select>
<q-btn
dense
label=""
color="primary"
@click="doSearch"
icon="fas fa-search"
></q-btn>
</template>
</q-input>
</q-btn>
<q-btn-toggle
v-if="shared_consts.TABLES_VISU_MAP.includes(mytable)"
v-model="showMap"
push
glossy
dense
toggle-color="secondary"
:options="[
{
label: t('grid.showmap'),
value: true,
icon: 'fas fa-map-marked-alt',
},
{ label: t('grid.showlist'), value: false, icon: 'fas fa-list' },
]"
/>
</div>
<q-space></q-space>
@@ -336,12 +319,14 @@
</q-select>
</div>
<div class="q-ma-sm">
<div v-if="true" class="">
<div v-if="pagination.rowsNumber === 1 && prop_search">
{{ pagination.rowsNumber }} elemento trovato
<span v-html="getLabelAreaMap()"></span>
</div>
<div v-if="pagination.rowsNumber > 1 && prop_search">
{{ pagination.rowsNumber }} {{ labelElemFind }}
<span v-html="getLabelAreaMap()"></span>
</div>
</div>
@@ -357,31 +342,21 @@
v-if="$q.screen.gt.xs"
v-model="myvertical"
:val="0"
label="Tabella"
:label="$t('grid.table')"
/>
</div>
</div>
<div v-if="shared_consts.TABLES_VISU_MAP.includes(mytable)" class="row justify-center q-ma-sm">
<q-btn-toggle
v-model="showMap"
push
glossy
dense
toggle-color="primary"
:options="[
{label: t('grid.showmap'), value: true, icon: 'fas fa-map-marked-alt'},
{label: t('grid.showlist'), value: false, icon: 'fas fa-list-alt'},
]"
/>
</div>
<div v-if="showMap">
<div
v-if="showMapAtLeast1"
v-show="showMap">
<CMapByTable
v-if="serverData && serverData.length > 0"
ref="myMapComp"
mytable=""
:arrcord="serverData"
@clickMarker="clickMarker"
@updateMapBoundaries="updateMapBoundaries"
@updateMapZoomOut="updateMapZoomOut"
>
</CMapByTable>
</div>
@@ -869,7 +844,10 @@
v-if="prop_search || canEdit"
class="row justify-center vertical-middle"
>
<div v-if="prop_search" class="q-mr-sm full-width">
<div
v-if="prop_search"
:class="'q-mr-sm ' + ($q.screen.lt.sm ? ' full-width' : '')"
>
<q-input
v-model="search"
filled
@@ -1159,6 +1137,80 @@
/>
</q-page-sticky>-->
<q-dialog
v-model="showSearchDialog"
transition-show="slide-up"
transition-hide="slide-down"
class="q-dialog-fullscreen no-padding-dialog"
>
<q-card class="dialog_card q-dialog-on-top no-padding q-my-sm">
<q-card-section class="no-padding">
<q-input
:class="'q-mr-sm full-width '"
v-model="search"
filled
autofocus
type="search"
:hint="
(pagination.rowsNumber === 1 && prop_search)
? `${pagination.rowsNumber} ` +
t('grid.found') +
' ' +
getLabelAreaMap(false)
: ((pagination.rowsNumber > 1 && prop_search)
? `${pagination.rowsNumber} ${labelElemFind}` +
' ' +
getLabelAreaMap(false)
: '')
"
debounce="500"
:error-message="noresultLabel"
:error="getNumRecFromQuery() === 0 && !startsearch"
:label="hint ? hint : $t('grid.search')"
v-on:keyup.enter="doSearch"
>
<template v-slot:prepend>
<q-spinner-oval v-if="startsearch" color="primary" size="1em" />
<q-icon v-else name="search" />
</template>
<template v-slot:append>
<q-btn
v-if="showMap"
dense
flat
text-color="primary"
@click="gotoCurrentLocation"
icon="fas fa-crosshairs"
class="q-ml-sm"
></q-btn>
</template>
<template v-slot:after>
<q-select
v-if="prop_SortFieldsAvailable.length > 0"
:behavior="'menu'"
rounded
outlined
v-model="ordinam"
:options="prop_SortFieldsAvailable"
:label="$t('grid.order')"
emit-value
map-options
style="min-width: 120px"
>
</q-select>
<!-- Pulsante per ottenere la posizione GPS -->
<q-btn
label=""
color="primary"
@click="doSearch"
icon="fas fa-search"
></q-btn>
</template>
</q-input>
</q-card-section>
</q-card>
</q-dialog>
<q-dialog
v-model="visupagedialog"
transition-show="slide-up"
@@ -1194,7 +1246,8 @@
:table="mytable"
:prop_myrec="myrecdialog"
:idRec="myIdRecDialog"
:showAnteprima="!$q.screen.lt.sm ? false : showMap"
:showAnteprima="false"
@showInMap="showInMap"
>
</CMyCardService>
<CMyCardPopup v-else :table="mytable" :prop_myrec="myrecdialog">