nuova veste grafica: myskills, mygoods, mybachecas, myhosps,

- cambiato id (da numero a stringa)
This commit is contained in:
Surya Paolo
2023-04-07 02:46:27 +02:00
parent edcd244397
commit 6fad472211
75 changed files with 1607 additions and 395 deletions

View File

@@ -1,23 +1,116 @@
<template>
<div v-if="myrec._id">
<div class="q-pa-sm row items-start q-gutter-sm">
<q-card class="my-card" bordered>
<q-img
<div v-if="myrec && myrec._id" class="fulldiv">
<div class="q-pa-sm row items-start q-gutter-sm full-height fulldiv">
<q-card class="my-card fulldiv" bordered>
<CGalleryImages
v-if="myrec.photos.length > 0"
:src="myrec.photos[0].imagefile"
class="imgautosize"
:alt="myrec.descr">
</q-img>
:imgGallery="myrec.photos"
:directory="'upload/' + tools.getDirectoryGall(myrec, table, '')"
>
</CGalleryImages>
<q-card-actions align="right">
<q-btn flat round :color="userStore.isFavorite(myrec._id, table) ? 'red' : ''" icon="favorite" @click="userStore.setFavorite($q, t, myrec._id, shared_consts.TABMYSKILLS)" />
<q-btn flat round :color="userStore.isBookmarked(myrec._id, table) ? 'teal' : ''" icon="bookmark" @click="userStore.setBookmark($q, t, myrec._id, shared_consts.TABMYSKILLS)"/>
<q-btn
flat
round
color="primary"
icon="share"
@click="tools.copyToClip($q, getlinkpage(), true)"
/>
<div class="">
<q-btn
flat
round
:color="userStore.isFavorite(myrec._id, table) ? 'red' : ''"
icon="favorite"
@click="clicca(costanti.TIPOFAVBOOK.FAVORITE, true)"
>
<q-badge
v-if="myrec.myfav"
color="primary"
:label="myrec.myfav.length"
floating
transparent
/>
</q-btn>
</div>
<div class="">
<q-btn
flat
round
:color="userStore.isBookmarked(myrec._id, table) ? 'teal' : ''"
icon="bookmark"
@click="clicca(costanti.TIPOFAVBOOK.BOOKMARK, true)"
>
<q-badge
v-if="myrec.mybook"
color="primary"
:label="myrec.mybook.length"
floating
transparent
/>
</q-btn>
</div>
<div>
<q-btn
flat
round
color="primary"
icon="share"
@click="tools.copyToClip($q, getlinkpage(), true)"
/>
</div>
<div>
<q-btn flat round icon="fas fa-ellipsis-h">
<q-menu>
<q-list v-if="true" style="min-width: 150px">
<q-item
v-if="!nopopup"
clickable
v-close-popup
@click="naviga(tools.getPathByTableAndRec(table, myrec))"
>
<q-item-section avatar>
<q-icon color="blue" name="fas fa-globe" />
</q-item-section>
<q-item-section>
{{ $t('event.openpage') }}
</q-item-section>
</q-item>
<q-separator />
<q-item
clickable
v-close-popup
@click="
clicca(
costanti.TIPOFAVBOOK.FAVORITE,
false,
$t('cmd.favorite')
)
"
>
<q-item-section avatar>
<q-icon color="red" name="favorite" />
</q-item-section>
<q-item-section>
{{ $t('cmd.favorite') }}
</q-item-section>
</q-item>
<q-item
clickable
v-close-popup
@click="
clicca(
costanti.TIPOFAVBOOK.BOOKMARK,
false,
$t('cmd.bookmark')
)
"
>
<q-item-section avatar>
<q-icon color="teal" name="bookmark" />
</q-item-section>
<q-item-section>
{{ $t('cmd.bookmark') }}
</q-item-section>
</q-item>
</q-list>
</q-menu>
</q-btn>
</div>
</q-card-actions>
<q-separator />
@@ -37,12 +130,19 @@
</q-item-section>
<q-item-section>
<q-item-label v-if="myrec.typeHosp" 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>
<q-item v-if="getSectorByRec(myrec)">
<q-item-section avatar>
<q-icon color="blue" name="category" />
</q-item-section>
@@ -50,30 +150,88 @@
<q-item-section>
<q-item-label>
<q-chip
v-if="myrec.sector && myrec.sector[0].descr"
v-if="getSectorByRec(myrec) && getSectorByRec(myrec)[0].descr"
class="glossy"
color="blue"
text-color="white"
dense
>
<span class="cal__quota-content">{{
myrec.sector[0].descr
getSectorByRec(myrec)[0].descr
}}</span>
</q-chip>
<q-chip
v-if="myrec.recSkill.length > 0 && myrec.recSkill[0].descr"
v-if="
getRecGoodSkillByRec(myrec) &&
getRecGoodSkillByRec(myrec).length > 0 &&
getRecGoodSkillByRec(myrec)[0].descr
"
class="glossy"
dense
color="blue"
text-color="white"
>
<span class="cal__quota-content">{{
myrec.recSkill[0].descr
getRecGoodSkillByRec(myrec)[0].descr
}}</span>
</q-chip>
</q-item-label>
</q-item-section>
</q-item>
<q-item v-if="myrec.numMaxPeopleHosp" class="q-mt-sm">
<q-item-section avatar>
<q-icon color="blue" name="fas fa-users" />
</q-item-section>
<q-item-section>
<q-item-label class="q-px-xs q-ma-xs">
<span class="accom_maxosp">{{ myrec.numMaxPeopleHosp }}</span
>{{ t('hosps.numMaxPeopleHosp') }}
</q-item-label>
</q-item-section>
</q-item>
<q-item v-if="!!myrec.accomodation && myrec.accomodation.length > 0">
<q-item-section avatar>
<q-icon color="orange" name="fas fa-bed" />
</q-item-section>
<q-item-section>
<q-item-label>
<CAccomodation
v-if="!!myrec.accomodation"
:mylist="myrec.accomodation"
:isInModif="false"
:edit="false"
:canModify="false"
>
</CAccomodation>
</q-item-label>
</q-item-section>
</q-item>
<q-item v-if="!!myrec.preferences && myrec.preferences.length > 0">
<q-item-section avatar>
<q-icon color="red" name="fas fa-asterisk" />
</q-item-section>
<q-item-section>
<q-item-label>
<CMyChipList
:rec="myrec"
:type="costanti.FieldType.multiselect"
:value="myrec.preferences"
:options="
globalStore.getTableJoinByName(
toolsext.TABPREF,
false,
false,
null
)
"
:optval="fieldsTable.getKeyByTable(toolsext.TABPREF)"
:optlab="fieldsTable.getLabelByTable(toolsext.TABPREF)"
:opticon="fieldsTable.getIconByTable(toolsext.TABPREF)"
></CMyChipList>
</q-item-label>
</q-item-section>
</q-item>
<q-separator />
<q-item-label v-if="myrec.note"
><div v-html="myrec.note" class="clBorderService"></div
></q-item-label>
@@ -109,7 +267,26 @@
</q-item-section>
<q-item-section>
<q-item-label>{{ myrec.website }}</q-item-label>
<q-item-label lines="1">
<span
v-html="
tools.getlinkhref(myrec.website, 'Visita il Sito Web')
"
/></q-item-label>
</q-item-section>
</q-item>
<q-item clickable v-if="myrec.link_maplocation">
<q-item-section avatar>
<q-icon color="blue" name="fas fa-map-marker-alt" />
</q-item-section>
<q-item-section>
<q-item-label lines="1">
<span
v-html="
tools.getlinkhref(myrec.link_maplocation, 'Apri Mappa')
"
/></q-item-label>
</q-item-section>
</q-item>
<q-item v-if="myrec.idContribType && myrec.idContribType.length > 0">
@@ -162,7 +339,11 @@
</q-item>
</q-list>
<q-separator />
<q-card-actions align="center">
<div class="q-mb-xl"></div>
<q-card-actions
v-if="$q.screen.gt.sm || nopopup"
class="text-center justify-center"
>
<q-btn
v-if="myrec.profile.username_telegram"
:label="$t('dialog.contact')"
@@ -172,9 +353,14 @@
:type="tools.isUserOk() ? 'a' : 'btn'"
size="md"
rounded
:href="tools.isUserOk() ? tools.getHttpForTelegram(myrec.profile.username_telegram) : null"
:href="
tools.isUserOk()
? tools.getHttpForTelegram(myrec.profile.username_telegram)
: null
"
/>
<q-btn
v-if="!nopopup"
rounded
outline
:label="$t('dialog.close')"
@@ -184,169 +370,58 @@
/>
</q-card-actions>
</q-card>
<div
v-if="!$q.screen.gt.sm || !nopopup"
class="row absolute-bottom text-shadow custom-caption q-px-md buttons_bottom"
>
<q-btn
v-if="myrec.profile.username_telegram"
:label="$t('dialog.contact')"
color="primary"
icon="far fa-comment"
target="_blank"
:type="tools.isUserOk() ? 'a' : 'btn'"
size="md"
rounded
:href="
tools.isUserOk()
? tools.getHttpForTelegram(myrec.profile.username_telegram)
: null
"
/>
<q-btn
v-if="!nopopup"
rounded
outline
:label="$t('dialog.close')"
color="primary"
icon="close"
v-close-popup
/>
</div>
</div>
</div>
<q-dialog v-model="usersList.show">
<q-card class="dialog_card">
<q-toolbar class="bg-primary text-white">
<q-toolbar-title>
{{ usersList.title }}
</q-toolbar-title>
<q-btn flat round color="white" icon="close" v-close-popup></q-btn>
</q-toolbar>
<q-card class="dialog_card q-mb-lg" v-if="myrec._id && false">
<q-footer
v-if="!nopopup"
:class="
($q.dark.isActive ? `bg-black` : `bg-white`) +
` small-screen-only text-center`
"
bordered
>
<q-btn
push
rounded
color="primary"
icon="close"
label="Chiudi"
v-close-popup
></q-btn>
</q-footer>
<q-bar v-if="!nopopup" dense class="bg-primary text-white">
{{ myrec.username }}
<q-space />
<q-btn flat round color="white" icon="close" v-close-popup></q-btn>
</q-bar>
<q-card-section class="inset-shadow">
<!-- Per ora visualizzo solo la Prima Immagine -->
<div class="text-center">
<q-img
v-if="tools.getValue(myrec, 'photos', '')"
:src="
tools.getFullFileName(
tools.getValue(myrec, 'photos', ''),
table,
myrec.username,
myrec.groupname
)
"
class="img"
alt="immagine bene"
></q-img>
</div>
<div v-if="showBadge()" class="text-center">
<q-chip
:icon="fieldsTable.getIconByAdType(myrec.adType)"
:color="fieldsTable.getColByAdType(myrec.adType)"
text-color="white"
>{{ fieldsTable.getValByTabAndId(table, 'adType', myrec.adType) }}
</q-chip>
</div>
<!--:title="t(mycol.label_trans)"-->
<div v-for="(mycol, index) of col" :key="index">
<div
v-if="
mycol.visible &&
tools.checkIfShowField(
mycol,
tools.TIPOVIS_SHOW_RECORD,
false,
tools.getValue(myrec, mycol.field, mycol.subfield)
)
"
>
<div v-if="mycol.fieldtype === costanti.FieldType.html">
<div
class="note-bacheca"
v-html="tools.getValue(myrec, mycol.field, mycol.subfield)"
></div>
</div>
<div v-else-if="mycol.name === 'descr'">
<div class="text-bacheca">
{{ tools.getValue(myrec, mycol.field, mycol.subfield) }}
</div>
</div>
<div v-else-if="mycol.name === 'numMaxPeopleHosp'">
<div class="text-bacheca">
<span class="accom_maxosp">{{
tools.getValue(myrec, mycol.field, mycol.subfield)
}}</span
>{{ t('hosps.numMaxPeopleHosp') }}
</div>
</div>
<div
v-else-if="mycol.name === 'dateTimeStart'"
class="text-center cal"
<q-card-section class="inset-shadow">
<div v-for="(rec, i) in usersList.list" :key="i">
<CMyUser
:mycontact="rec"
:visu="costanti.FIND_PEOPLE"
@setCmd="tools.setCmd"
>
<div v-if="myrec.dateTimeStart" class="cal__when">
<span class="cal__where-title">{{ $t('cal.when') }}:</span>
<span v-html="tools.getstrDateTimeEvent(t, myrec, true)"></span>
</div>
<!--
<span class="dateevent" v-if="myrec.dateTimeStart">dal <span class="datainizio">{{
tools.getstrVeryShortDate(myrec.dateTimeStart)
}}</span> al <span class="datafine">{{ tools.getstrVeryShortDate(myrec.dateTimeEnd) }}</span>
</span>--->
</div>
<div v-else-if="mycol.name === 'accomodation'">
<CAccomodation
v-if="!!myrec.accomodation"
:mylist="myrec.accomodation"
:isInModif="false"
:edit="false"
:canModify="false"
>
</CAccomodation>
</div>
<div v-else-if="mycol.name === 'dateTimeEnd'"></div>
<CMyFieldRec
v-else
:table="table"
:id="myrec._id"
:rec="myrec"
:field="mycol.field"
:canEdit="false"
:canModify="false"
>
</CMyFieldRec>
</CMyUser>
</div>
</div>
<br />
<div v-if="myrec.date_created" class="row justify-center">
<span class="cal__where-title"> {{ $t('reg.pub_created') }}:</span>
<span v-html="tools.getstrDate(myrec.date_created)"></span>
</div>
<div
v-if="
tools.getstrDate(myrec.date_updated) !==
tools.getstrDate(myrec.date_created)
"
class="row justify-center"
>
<span class="cal__where-title"> {{ $t('reg.pub_updated') }}:</span>
<span v-html="tools.getstrDate(myrec.date_updated)"></span>
</div>
<div v-if="!nopopup" class="row q-ma-sm q-pa-sm justify-center">
<div class="q-ma-sm">
<q-btn
icon="far fa-file-alt"
label="Apri"
color="primary"
text-color="white"
:to="tools.getToByCol(col, table, myrec)"
/>
</div>
<div class="q-ma-sm">
<q-btn
v-if="myrec._id"
:text-color="$q.dark.isActive ? `white` : `black`"
icon="fas fa-link"
label="Condividi"
@click="condividipag"
></q-btn>
</div>
</div>
<br /><br />
myrec: {{ myrec }}
</q-card-section>
</q-card>
</q-card-section>
</q-card>
</q-dialog>
</template>
<script lang="ts" src="./CMyCardService.ts">