Version 0.2.7
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
<template>
|
||||
<div>
|
||||
<q-layout view="lHh Lpr lFf" class="shadow-2 rounded-borders">
|
||||
<!--<q-layout view="lHh Lpr lFf" class="shadow-2 rounded-borders">--->
|
||||
<q-layout view="hHh lpR fFf" class="shadow-2 rounded-borders">
|
||||
<app-header></app-header>
|
||||
<q-ajax-bar></q-ajax-bar>
|
||||
|
||||
|
||||
@@ -360,7 +360,7 @@ export default defineComponent({
|
||||
useinput: false,
|
||||
},
|
||||
{
|
||||
label: 'Spedizione',
|
||||
label: 'Consegna',
|
||||
table: 'shippings',
|
||||
key: 'idShipping',
|
||||
value: tools.getCookie(tools.COOK_SEARCH + 'shippings', costanti.FILTER_TUTTI),
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
<div class="row shadow justify-center" style="border-radius: 4px;border: 1px solid rgba(0, 0, 0, 0.12);">
|
||||
<CBigBtn
|
||||
v-for="(card, ind) of cardssmall" :key="ind"
|
||||
glossy
|
||||
:label="card.title" :to="card.to" :icon="card.icon" :color="card.color" :text-color="!!card.textcolor ? card.textcolor : ''"
|
||||
:small="card.small"
|
||||
:numcol="3"
|
||||
|
||||
@@ -32,3 +32,15 @@
|
||||
padding: 10px;
|
||||
|
||||
}
|
||||
|
||||
.img {
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
|
||||
max-height: 350px;
|
||||
max-width: 350px;
|
||||
@media (max-width: 500px) {
|
||||
max-height: 400px;
|
||||
max-width: 400px;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,7 +13,7 @@ import { useI18n } from '@/boot/i18n'
|
||||
import { toolsext } from '@store/Modules/toolsext'
|
||||
import { useQuasar } from 'quasar'
|
||||
import { costanti } from '@costanti'
|
||||
import { IColGridTable, IMyBacheca, IUserFields } from 'model'
|
||||
import { IColGridTable, IImgGallery, IUserFields } from 'model'
|
||||
import { shared_consts } from '@/common/shared_vuejs'
|
||||
import { colCitys, fieldsTable } from '@store/Modules/fieldsTable'
|
||||
|
||||
@@ -45,7 +45,7 @@ export default defineComponent({
|
||||
|
||||
const showPic = ref(false)
|
||||
|
||||
const mybacheca = ref(<IMyBacheca>{})
|
||||
const myrec = ref({})
|
||||
const col = ref(<IColGridTable>{})
|
||||
|
||||
function profile() {
|
||||
@@ -56,11 +56,11 @@ export default defineComponent({
|
||||
// Carica il profilo di quest'utente
|
||||
if (props.idRec > 0) {
|
||||
userStore.loadGeneric(props.table, props.idRec).then((ris) => {
|
||||
mybacheca.value = ris
|
||||
myrec.value = ris
|
||||
})
|
||||
|
||||
} else {
|
||||
mybacheca.value = props.prop_myrec
|
||||
myrec.value = props.prop_myrec
|
||||
}
|
||||
|
||||
col.value = fieldsTable.getArrColsByTable(props.table)
|
||||
@@ -74,13 +74,21 @@ export default defineComponent({
|
||||
load()
|
||||
}
|
||||
|
||||
function getFullFileName(arrimage: IImgGallery[], username: string){
|
||||
if (arrimage && arrimage.length > 0) {
|
||||
return 'upload/profile/' + username + '/' + props.table + '/' + arrimage[0].imagefile
|
||||
} else {
|
||||
return ''
|
||||
}
|
||||
}
|
||||
|
||||
onMounted(mounted)
|
||||
|
||||
return {
|
||||
profile,
|
||||
tools,
|
||||
costanti,
|
||||
mybacheca,
|
||||
myrec,
|
||||
shared_consts,
|
||||
globalStore,
|
||||
showPic,
|
||||
@@ -90,6 +98,7 @@ export default defineComponent({
|
||||
colCitys,
|
||||
toolsext,
|
||||
col,
|
||||
getFullFileName,
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<q-card class="dialog_card" v-if="mybacheca">
|
||||
<q-card class="dialog_card q-mb-lg" v-if="myrec">
|
||||
<q-footer
|
||||
class="bg-white small-screen-only text-center"
|
||||
bordered
|
||||
@@ -8,17 +8,24 @@
|
||||
|
||||
</q-footer>
|
||||
<q-bar dense class="bg-primary text-white">
|
||||
{{ mybacheca.username }}
|
||||
{{ 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="getFullFileName(tools.getValue(myrec, 'photos', ''), myrec.username)" class="img" alt="immagine bene"></q-img>
|
||||
</div>
|
||||
|
||||
<div class="text-center">
|
||||
<q-chip :icon="fieldsTable.getIconByAdType(mybacheca.adType)"
|
||||
:color="fieldsTable.getColByAdType(mybacheca.adType)"
|
||||
<q-chip :icon="fieldsTable.getIconByAdType(myrec.adType)"
|
||||
:color="fieldsTable.getColByAdType(myrec.adType)"
|
||||
text-color="white">{{
|
||||
fieldsTable.getValByTabAndId(table, 'adType', mybacheca.adType)
|
||||
fieldsTable.getValByTabAndId(table, 'adType', myrec.adType)
|
||||
}}
|
||||
</q-chip>
|
||||
</div>
|
||||
@@ -27,23 +34,23 @@
|
||||
|
||||
<div v-for="(mycol, index) of col" :key="index">
|
||||
<div
|
||||
v-if="(mycol.visible && (tools.checkIfShowField(mycol, tools.TIPOVIS_SHOW_RECORD, false, tools.getValue(mybacheca, mycol.field, mycol.subfield))))">
|
||||
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(mybacheca, mycol.field, mycol.subfield)">
|
||||
v-html="tools.getValue(myrec, mycol.field, mycol.subfield)">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div v-else-if="mycol.name === 'descr'">
|
||||
<div class="text-bacheca">
|
||||
{{ tools.getValue(mybacheca, mycol.field, mycol.subfield) }}
|
||||
{{ tools.getValue(myrec, mycol.field, mycol.subfield) }}
|
||||
</div>
|
||||
</div>
|
||||
<CMyFieldRec
|
||||
v-else
|
||||
:table="table"
|
||||
:id="mybacheca._id"
|
||||
:rec="mybacheca"
|
||||
:id="myrec._id"
|
||||
:rec="myrec"
|
||||
:field="mycol.field"
|
||||
:canEdit="false"
|
||||
:canModify="false">
|
||||
@@ -51,7 +58,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<br><br>
|
||||
</q-card-section>
|
||||
|
||||
</q-card>
|
||||
|
||||
@@ -43,6 +43,11 @@ export default defineComponent({
|
||||
required: false,
|
||||
default: ''
|
||||
},
|
||||
labelifblank: {
|
||||
type: String,
|
||||
required: false,
|
||||
default: ''
|
||||
},
|
||||
rec: {
|
||||
type: Object,
|
||||
required: false,
|
||||
@@ -188,6 +193,11 @@ export default defineComponent({
|
||||
color: tools.getColorByIndexBest(0)
|
||||
}
|
||||
|
||||
if (!mydata.label && props.labelifblank) {
|
||||
mydata.label = props.labelifblank
|
||||
mydata.color = 'grey'
|
||||
}
|
||||
|
||||
myarrvalues.value.push(mydata)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -81,6 +81,11 @@ export default defineComponent({
|
||||
required: false,
|
||||
default: ''
|
||||
},
|
||||
sameclassasfielddb: {
|
||||
tupe: Boolean,
|
||||
required: false,
|
||||
default: false,
|
||||
}
|
||||
},
|
||||
components: { CMyPopupEdit },
|
||||
setup(props, { emit }) {
|
||||
@@ -165,6 +170,12 @@ export default defineComponent({
|
||||
return myvalue
|
||||
}
|
||||
|
||||
function getclass() {
|
||||
if (props.sameclassasfielddb) {
|
||||
return 'q-ma-sm q-pa-sm col-grow popupedit'
|
||||
}
|
||||
}
|
||||
|
||||
function visuElem() {
|
||||
if (col.value) {
|
||||
return !!col.value.name && (props.canEdit || (!props.canEdit && getValue()))
|
||||
@@ -193,6 +204,7 @@ export default defineComponent({
|
||||
mysubkey,
|
||||
mysubsubkey,
|
||||
visuElem,
|
||||
getclass,
|
||||
}
|
||||
},
|
||||
})
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
</q-field>
|
||||
</div>
|
||||
|
||||
<div :class="` col-grow clpopupVisuCard `" :style="withBorder() ? `` : ``">
|
||||
<div :class="` col-grow clpopupVisuCard ` + getclass()" :style="withBorder() ? `` : ``">
|
||||
<CMyPopupEdit
|
||||
v-bind="$attrs"
|
||||
:isrec="true"
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
<template>
|
||||
<div :class="getclassCol(col)">
|
||||
|
||||
<div
|
||||
v-if="tools.checkIfShowField(col, insertMode ? tools.TIPOVIS_NEW_RECORD : (isInModif ? tools.TIPOVIS_EDIT_RECORD : tools.TIPOVIS_SHOW_RECORD), visulabel, myvalue)"
|
||||
style="flex-grow: 1;">
|
||||
@@ -38,6 +37,7 @@
|
||||
<q-input
|
||||
v-bind="$attrs"
|
||||
v-model="myvalue"
|
||||
:maxlength="col.maxlength ? col.maxlength : undefined"
|
||||
:style="$q.screen.lt.sm ? 'min-width: 300px' : ''"
|
||||
:disable="disable"
|
||||
:readonly="disable"
|
||||
@@ -124,6 +124,7 @@
|
||||
<q-input
|
||||
v-bind="$attrs"
|
||||
v-model="myvalue"
|
||||
:maxlength="col.maxlength ? col.maxlength : undefined"
|
||||
@update:model-value="Savedb"
|
||||
:label="visulabel ? col.label : ''"
|
||||
type="number"
|
||||
@@ -152,6 +153,7 @@
|
||||
<div v-else>
|
||||
<q-input
|
||||
v-model="myvalue" type="number"
|
||||
:maxlength="col.maxlength ? col.maxlength : undefined"
|
||||
@update:value="changevalRec"
|
||||
autofocus>
|
||||
|
||||
@@ -410,6 +412,7 @@
|
||||
</CMySelect>
|
||||
</div>
|
||||
<div v-else>
|
||||
|
||||
<!--
|
||||
rec: {{rec}}
|
||||
row: {{row}}
|
||||
@@ -425,6 +428,7 @@
|
||||
:type_out="col.field_outtype"
|
||||
@update:value="changevalRec"
|
||||
v-model:value="myvalue"
|
||||
:labelifblank="canEdit ? 'Selezionare' : '' "
|
||||
:filter_table="col.filter_table"
|
||||
:filter_field="col.filter_field"
|
||||
:options="globalStore.getTableJoinByName(col.jointable, col.addall, col.filter)"
|
||||
@@ -564,6 +568,7 @@
|
||||
<q-input
|
||||
v-model="myvalue"
|
||||
@update:model-value="changevalRec"
|
||||
:maxlength="col.maxlength ? col.maxlength : undefined"
|
||||
type="password"
|
||||
@keyup.enter="scope.set"
|
||||
autofocus>
|
||||
@@ -612,6 +617,7 @@
|
||||
<div v-if="visulabel">
|
||||
<q-input
|
||||
v-model="scope.value" type="number"
|
||||
:maxlength="col.maxlength ? col.maxlength : undefined"
|
||||
autofocus
|
||||
:label="visulabel ? col.label : ''">
|
||||
|
||||
@@ -625,6 +631,7 @@
|
||||
<div v-if="visulabel">
|
||||
<q-input
|
||||
v-model="myvalue" type="number"
|
||||
:maxlength="col.maxlength ? col.maxlength : undefined"
|
||||
autofocus
|
||||
@update:model-value="changevalRec"
|
||||
style="max-width: 100px;"
|
||||
@@ -649,6 +656,7 @@
|
||||
<div v-else>
|
||||
<q-input
|
||||
v-model="scope.value" type="number"
|
||||
:maxlength="col.maxlength ? col.maxlength : undefined"
|
||||
autofocus>
|
||||
|
||||
</q-input>
|
||||
@@ -823,6 +831,7 @@
|
||||
<div v-else-if="col.fieldtype === costanti.FieldType.password">
|
||||
<q-input
|
||||
v-model="scope.value"
|
||||
:maxlength="col.maxlength ? col.maxlength : undefined"
|
||||
type="password"
|
||||
@keyup.enter="scope.set"
|
||||
autofocus>
|
||||
|
||||
@@ -68,9 +68,9 @@ export default defineComponent({
|
||||
default: ''
|
||||
},
|
||||
filter_extra: {
|
||||
type: String,
|
||||
type: [Object, String],
|
||||
required: false,
|
||||
default: ''
|
||||
default: null
|
||||
},
|
||||
value_extra: {
|
||||
type: [String, Number],
|
||||
@@ -466,10 +466,25 @@ export default defineComponent({
|
||||
|
||||
if (fieldsTable.tableRemotePickup.includes(props.tablesel)) {
|
||||
try {
|
||||
myarr = optionsreal.value
|
||||
// myarr = optionsreal.value
|
||||
myarr = []
|
||||
if (mystr !== '' || props.filter_extra)
|
||||
// myarr = [{_id:1, prov: 'RN', descr: 'Rimini'}]
|
||||
/*
|
||||
if (val === '1') {
|
||||
myarr.push({ _id: 1, comune: 'PROVA 1', prov: 'AL' })
|
||||
myarr.push({ _id: 2, comune: 'PROVA 1b', prov: 'AL' })
|
||||
}else if (val === '2') {
|
||||
myarr.push({ _id: 1, comune: 'PROVA 2', prov: 'AL' })
|
||||
myarr.push({ _id: 2, comune: 'PROVA 2B', prov: 'AL' })
|
||||
|
||||
}*/
|
||||
|
||||
{ // @ts-ignore
|
||||
myarr = await globalStore.loadPickup({ table: props.tablesel, search: mystr.trim(), filter: props.filter_extra })
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (myarr === null) {
|
||||
console.log('@@@ VALORI VALUE XXX', valori.value)
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<template v-slot:no-option>
|
||||
<q-item>
|
||||
<q-item-section class="text-grey">
|
||||
No results
|
||||
Digita il testo da cercare
|
||||
</q-item-section>
|
||||
</q-item>
|
||||
</template>
|
||||
@@ -100,7 +100,7 @@
|
||||
<template v-slot:no-option>
|
||||
<q-item>
|
||||
<q-item-section class="text-grey">
|
||||
No results
|
||||
Digita il testo da cercare
|
||||
</q-item-section>
|
||||
</q-item>
|
||||
</template>
|
||||
|
||||
@@ -1,13 +1,15 @@
|
||||
<template>
|
||||
<div class="q-ma-md">
|
||||
<q-banner inline-actions rounded class="bg-orange text-white">
|
||||
<div v-if="tools.isTelegOk()">
|
||||
<q-banner inline-actions rounded class="bg-orange text-black">
|
||||
<template v-slot:avatar>
|
||||
<q-icon name="info" color="primary" />
|
||||
<q-icon name="info" color="primary"/>
|
||||
</template>
|
||||
<strong>La verifica è in corso. Ti arriverà un messaggio sul Bot Telegram quando verrai abilitato dal tuo invitante.</strong>
|
||||
<strong>A breve sarai abilitato, altrimenti avvisa il tuo invitante che ti sei Registrato.<br>Ti arriverà un messaggio su Telegram quando verrai abilitato dal tuo invitante.</strong>
|
||||
|
||||
</q-banner>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script lang="ts" src="./CUserNonVerif.ts">
|
||||
|
||||
@@ -6,6 +6,7 @@ const msg_website = {
|
||||
SignIn: 'Login',
|
||||
vreg: 'Verifica Reg',
|
||||
Test: 'Test',
|
||||
TestLocal: 'TestLocal',
|
||||
Category: 'Categorie',
|
||||
Todo: 'Todo',
|
||||
personal: 'Personale',
|
||||
|
||||
@@ -394,7 +394,7 @@ const baseroutes: IListRoutes[] = [
|
||||
active: true,
|
||||
order: 12,
|
||||
path: '/goods',
|
||||
materialIcon: 'fas fa-briefcase',
|
||||
materialIcon: 'fas fa-tshirt',
|
||||
name: 'mypages.goods',
|
||||
component: () => import('@/root/goods/goods.vue'),
|
||||
meta: { requiresAuth: true },
|
||||
@@ -405,7 +405,7 @@ const baseroutes: IListRoutes[] = [
|
||||
active: true,
|
||||
order: 15,
|
||||
path: '/services',
|
||||
materialIcon: 'fas fa-briefcase',
|
||||
materialIcon: 'fas fa-house-user',
|
||||
name: 'mypages.services',
|
||||
component: () => import('@/root/services/services.vue'),
|
||||
meta: { requiresAuth: true },
|
||||
@@ -521,6 +521,17 @@ const baseroutes: IListRoutes[] = [
|
||||
inmenu: true,
|
||||
infooter: false,
|
||||
},
|
||||
{
|
||||
active: true,
|
||||
order: 400,
|
||||
path: '/testlocal',
|
||||
materialIcon: 'fas fa-test',
|
||||
name: 'mypages.TestLocal',
|
||||
component: () => import('@/views/test/test.vue'),
|
||||
meta: { requiresAuth: true },
|
||||
inmenu: false,
|
||||
infooter: false,
|
||||
},
|
||||
{
|
||||
active: true,
|
||||
order: 2000,
|
||||
|
||||
@@ -922,6 +922,9 @@ const msg_it = {
|
||||
},
|
||||
adTypes: {
|
||||
name: 'Tipo',
|
||||
},
|
||||
shipping: {
|
||||
name: 'Consegna'
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
@@ -34,7 +34,7 @@ export const costanti = {
|
||||
color: 'lime-7',
|
||||
textcolor: '',
|
||||
hint: '',
|
||||
disable: false,
|
||||
disable: true,
|
||||
},
|
||||
{
|
||||
title: 'Scuola',
|
||||
@@ -42,7 +42,7 @@ export const costanti = {
|
||||
icon: 'fas fa-book-open',
|
||||
color: 'orange',
|
||||
hint: '',
|
||||
disable: false,
|
||||
disable: true,
|
||||
},
|
||||
{
|
||||
title: 'Alimenti',
|
||||
@@ -50,7 +50,7 @@ export const costanti = {
|
||||
icon: 'fas fa-utensils',
|
||||
color: 'green-5',
|
||||
hint: '',
|
||||
disable: false,
|
||||
disable: true,
|
||||
},
|
||||
{
|
||||
title: 'Luoghi',
|
||||
@@ -58,34 +58,34 @@ export const costanti = {
|
||||
icon: 'fas fa-map-marker-alt',
|
||||
color: 'blue',
|
||||
hint: '',
|
||||
disable: false,
|
||||
disable: true,
|
||||
},
|
||||
{
|
||||
title: 'Tue Idee',
|
||||
to: '/ideas',
|
||||
icon: 'fas fa-lightbulb',
|
||||
color: 'red-5',
|
||||
color: 'red-7',
|
||||
textcolor: '',
|
||||
hint: '',
|
||||
disable: false,
|
||||
disable: true,
|
||||
small: true,
|
||||
},
|
||||
{
|
||||
title: 'Eventi',
|
||||
to: '/bacheca',
|
||||
icon: 'event',
|
||||
color: 'pink-5',
|
||||
color: 'green-7',
|
||||
hint: 'eventi, last minute, offerte di lavoro',
|
||||
disable: false,
|
||||
disable: true,
|
||||
small: true,
|
||||
},
|
||||
{
|
||||
title: 'Social',
|
||||
to: '/socialising',
|
||||
icon: 'fas fa-users',
|
||||
color: 'purple-5',
|
||||
color: 'blue-7',
|
||||
hint: '',
|
||||
disable: false,
|
||||
disable: true,
|
||||
small: true,
|
||||
},
|
||||
],
|
||||
|
||||
@@ -615,7 +615,7 @@ export const colmyGoods = [
|
||||
remote_field: 'comune',
|
||||
}),
|
||||
AddCol({
|
||||
name: 'adTypeGood',
|
||||
name: 'adType',
|
||||
label_trans: 'adTypes.name',
|
||||
fieldtype: costanti.FieldType.select,
|
||||
required: true,
|
||||
@@ -647,14 +647,25 @@ export const colmyGoods = [
|
||||
name: 'idGood',
|
||||
label_trans: 'skill.name',
|
||||
fieldtype: costanti.FieldType.select,
|
||||
required: true,
|
||||
required: false,
|
||||
jointable: 'goods',
|
||||
filter_table: 'sectorgoods',
|
||||
filter_field: 'idSectorGood',
|
||||
noshowlabel: true,
|
||||
icon: 'engineering',
|
||||
showWhen: costanti.showWhen.NewRec + costanti.showWhen.InPage + costanti.showWhen.InEdit + costanti.showWhen.InView,
|
||||
allowNewValue: true,
|
||||
allowNewValue: false,
|
||||
}),
|
||||
AddCol({
|
||||
name: 'idContribType',
|
||||
label_trans: 'contribtype.name',
|
||||
fieldtype: costanti.FieldType.multiselect,
|
||||
jointable: 'contribtypes',
|
||||
showWhen: costanti.showWhen.NewRec + costanti.showWhen.InPage + costanti.showWhen.InEdit + costanti.showWhen.InView_OnlyifExist,
|
||||
noshowlabel: true,
|
||||
icon: 'fas fa-hand-holding',
|
||||
//icon: 'fas fa-hands-helping',
|
||||
// isadvanced_field: true,
|
||||
}),
|
||||
AddCol({
|
||||
name: 'idShipping',
|
||||
@@ -668,15 +679,13 @@ export const colmyGoods = [
|
||||
// isadvanced_field: true,
|
||||
}),
|
||||
AddCol({
|
||||
name: 'idContribType',
|
||||
label_trans: 'contribtype.name',
|
||||
fieldtype: costanti.FieldType.multiselect,
|
||||
jointable: 'contribtypes',
|
||||
showWhen: costanti.showWhen.NewRec + costanti.showWhen.InPage + costanti.showWhen.InEdit + costanti.showWhen.InView_OnlyifExist,
|
||||
noshowlabel: true,
|
||||
icon: 'fas fa-hand-holding',
|
||||
//icon: 'fas fa-hands-helping',
|
||||
// isadvanced_field: true,
|
||||
name: 'photos',
|
||||
label_trans: 'skill.photos',
|
||||
fieldtype: costanti.FieldType.listimages,
|
||||
jointable: '',
|
||||
showpicprofile_ifnotset: true,
|
||||
showWhen: costanti.showWhen.NewRec + costanti.showWhen.InPage + costanti.showWhen.InEdit,
|
||||
isadvanced_field: false,
|
||||
}),
|
||||
AddCol({
|
||||
name: '',
|
||||
@@ -702,15 +711,6 @@ export const colmyGoods = [
|
||||
|
||||
*/
|
||||
|
||||
AddCol({
|
||||
name: 'photos',
|
||||
label_trans: 'skill.photos',
|
||||
fieldtype: costanti.FieldType.listimages,
|
||||
jointable: '',
|
||||
showpicprofile_ifnotset: true,
|
||||
showWhen: costanti.showWhen.NewRec + costanti.showWhen.InPage + costanti.showWhen.InEdit + costanti.showWhen.InView,
|
||||
isadvanced_field: true,
|
||||
}),
|
||||
AddCol({
|
||||
name: 'note', label_trans: 'proj.longdescr', fieldtype: costanti.FieldType.html,
|
||||
showWhen: costanti.showWhen.NewRec + costanti.showWhen.InEdit + costanti.showWhen.InView_OnlyifExist,
|
||||
@@ -801,7 +801,7 @@ export const colmySkills = [
|
||||
noshowlabel: true,
|
||||
icon: 'engineering',
|
||||
showWhen: costanti.showWhen.NewRec + costanti.showWhen.InPage + costanti.showWhen.InEdit + costanti.showWhen.InView,
|
||||
allowNewValue: true,
|
||||
allowNewValue: false,
|
||||
required: false,
|
||||
}),
|
||||
AddCol({
|
||||
@@ -949,42 +949,9 @@ export const colmyBachecas = [
|
||||
noshowlabel: true,
|
||||
icon: 'engineering',
|
||||
showWhen: costanti.showWhen.NewRec + costanti.showWhen.InPage + costanti.showWhen.InEdit + costanti.showWhen.InView,
|
||||
allowNewValue: true,
|
||||
allowNewValue: false,
|
||||
required: false,
|
||||
}),
|
||||
AddCol({
|
||||
name: '',
|
||||
fieldtype: costanti.FieldType.separator,
|
||||
required: false,
|
||||
showWhen: costanti.showWhen.NewRec + costanti.showWhen.InEdit,
|
||||
visible: false,
|
||||
}),
|
||||
AddCol({
|
||||
name: 'idSubSkill',
|
||||
label_trans: 'skill.subskill',
|
||||
fieldtype: costanti.FieldType.multiselect,
|
||||
required: false,
|
||||
jointable: 'subskills',
|
||||
filter_table: 'skills',
|
||||
filter_field: 'idSkill',
|
||||
noshowlabel: true,
|
||||
icon: 'far fa-id-card',
|
||||
showWhen: costanti.showWhen.NewRec + costanti.showWhen.InPage + costanti.showWhen.InEdit + costanti.showWhen.InView_OnlyifExist,
|
||||
allowNewValue: true,
|
||||
isadvanced_field: true,
|
||||
}),
|
||||
|
||||
AddCol({
|
||||
name: 'numLevel',
|
||||
label_trans: 'level.name',
|
||||
fieldtype: costanti.FieldType.star3,
|
||||
required: false,
|
||||
jointable: 'levels',
|
||||
showWhen: costanti.showWhen.NewRec + costanti.showWhen.InPage + costanti.showWhen.InEdit + costanti.showWhen.InView_OnlyifExist,
|
||||
noshowlabel: false,
|
||||
icon: 'grading',
|
||||
isadvanced_field: true,
|
||||
}),
|
||||
AddCol({
|
||||
name: 'idContribType',
|
||||
label_trans: 'contribtype.name',
|
||||
@@ -994,8 +961,16 @@ export const colmyBachecas = [
|
||||
noshowlabel: true,
|
||||
icon: 'fas fa-hand-holding',
|
||||
//icon: 'fas fa-hands-helping',
|
||||
isadvanced_field: true,
|
||||
isadvanced_field: false,
|
||||
}),
|
||||
AddCol({
|
||||
name: '',
|
||||
fieldtype: costanti.FieldType.separator,
|
||||
required: false,
|
||||
showWhen: costanti.showWhen.NewRec + costanti.showWhen.InEdit,
|
||||
visible: false,
|
||||
}),
|
||||
|
||||
AddCol({
|
||||
name: 'photos',
|
||||
label_trans: 'skill.photos',
|
||||
@@ -1461,7 +1436,7 @@ export const colTableUsersBase = [
|
||||
name: 'profile.nationality', field: 'profile', subfield: 'nationality', label_trans: 'reg.nationality',
|
||||
}),
|
||||
AddCol({
|
||||
name: 'profile.cell', field: 'profile', subfield: 'cell', label_trans: 'reg.cell',
|
||||
name: 'profile.cell', field: 'profile', subfield: 'cell', label_trans: 'reg.cell', maxlength: 12
|
||||
}),
|
||||
AddCol({
|
||||
name: 'perm', label_trans: 'reg.perm', fieldtype: costanti.FieldType.binary, jointable: 'permissions',
|
||||
@@ -1899,7 +1874,7 @@ export const colTableUsersISP = [
|
||||
AddCol({ name: 'profile.born_province', label_trans: 'reg.born_province', fieldtype: costanti.FieldType.string }),
|
||||
AddCol({ name: 'profile.born_country', label_trans: 'reg.born_country', fieldtype: costanti.FieldType.string }),
|
||||
AddCol({
|
||||
name: 'profile.cell', field: 'profile', subfield: 'cell', label_trans: 'reg.cell',
|
||||
name: 'profile.cell', field: 'profile', subfield: 'cell', label_trans: 'reg.cell', maxlength: 12
|
||||
}),
|
||||
AddCol({
|
||||
name: 'profile.email_paypal',
|
||||
|
||||
@@ -4898,6 +4898,11 @@ export const tools = {
|
||||
return userStore.isUserOk()
|
||||
},
|
||||
|
||||
isTelegOk() {
|
||||
const userStore = useUserStore()
|
||||
return userStore.isTelegOk()
|
||||
},
|
||||
|
||||
getParamsByTable(table: string) {
|
||||
|
||||
let obj = {
|
||||
|
||||
@@ -267,6 +267,11 @@ export const useUserStore = defineStore('UserStore', {
|
||||
// return this.my.verified_email! && this.my.profile.teleg_id! > 0 && this.my.verified_by_aportador!
|
||||
},
|
||||
|
||||
isTelegOk(): boolean {
|
||||
return this.my.profile.teleg_id! > 0
|
||||
// return this.my.verified_email! && this.my.profile.teleg_id! > 0 && this.my.verified_by_aportador!
|
||||
},
|
||||
|
||||
getNameSurnameByUserId(userId: string): string {
|
||||
|
||||
const user = this.getUserByUserId(userId)
|
||||
|
||||
131
src/views/test/test.vue
Executable file
131
src/views/test/test.vue
Executable file
@@ -0,0 +1,131 @@
|
||||
<template>
|
||||
<div class="q-pa-md">
|
||||
<div class="q-gutter-md">
|
||||
<q-select
|
||||
filled
|
||||
v-model="model"
|
||||
clearable
|
||||
use-input
|
||||
hide-selected
|
||||
fill-input
|
||||
input-debounce="0"
|
||||
label="Focus after filtering"
|
||||
:options="options"
|
||||
@filter="filterFn"
|
||||
@filter-abort="abortFilterFn"
|
||||
style="width: 250px"
|
||||
>
|
||||
<template v-slot:no-option>
|
||||
<q-item>
|
||||
<q-item-section class="text-grey">
|
||||
No results
|
||||
</q-item-section>
|
||||
</q-item>
|
||||
</template>
|
||||
</q-select>
|
||||
|
||||
<q-select
|
||||
filled
|
||||
v-model="model"
|
||||
clearable
|
||||
use-input
|
||||
hide-selected
|
||||
fill-input
|
||||
input-debounce="0"
|
||||
label="Autoselect after filtering"
|
||||
:options="options"
|
||||
@filter="filterFnAutoselect"
|
||||
@filter-abort="abortFilterFn"
|
||||
style="width: 250px"
|
||||
>
|
||||
<template v-slot:no-option>
|
||||
<q-item>
|
||||
<q-item-section class="text-grey">
|
||||
No results
|
||||
</q-item-section>
|
||||
</q-item>
|
||||
</template>
|
||||
</q-select>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { ref } from 'vue'
|
||||
|
||||
const stringOptions = [
|
||||
'Google', 'Facebook', 'Twitter', 'Apple', 'Oracle'
|
||||
].reduce((acc, opt) => {
|
||||
for (let i = 1; i <= 5; i++) {
|
||||
acc.push(opt + ' ' + i)
|
||||
}
|
||||
return acc
|
||||
}, [])
|
||||
|
||||
export default {
|
||||
setup () {
|
||||
const options = ref(stringOptions)
|
||||
|
||||
return {
|
||||
model: ref(null),
|
||||
options,
|
||||
|
||||
filterFn (val, update, abort) {
|
||||
// call abort() at any time if you can't retrieve data somehow
|
||||
|
||||
setTimeout(() => {
|
||||
update(
|
||||
() => {
|
||||
if (val === '') {
|
||||
options.value = stringOptions
|
||||
}
|
||||
else {
|
||||
const needle = val.toLowerCase()
|
||||
options.value = stringOptions.filter(v => v.toLowerCase().indexOf(needle) > -1)
|
||||
}
|
||||
},
|
||||
|
||||
// "ref" is the Vue reference to the QSelect
|
||||
ref => {
|
||||
if (val !== '' && ref.options.length > 0) {
|
||||
ref.setOptionIndex(-1) // reset optionIndex in case there is something selected
|
||||
ref.moveOptionSelection(1, true) // focus the first selectable option and do not update the input-value
|
||||
}
|
||||
}
|
||||
)
|
||||
}, 300)
|
||||
},
|
||||
|
||||
filterFnAutoselect (val, update, abort) {
|
||||
// call abort() at any time if you can't retrieve data somehow
|
||||
|
||||
setTimeout(() => {
|
||||
update(
|
||||
() => {
|
||||
if (val === '') {
|
||||
options.value = stringOptions
|
||||
}
|
||||
else {
|
||||
const needle = val.toLowerCase()
|
||||
options.value = stringOptions.filter(v => v.toLowerCase().indexOf(needle) > -1)
|
||||
}
|
||||
},
|
||||
|
||||
// "ref" is the Vue reference to the QSelect
|
||||
ref => {
|
||||
if (val !== '' && ref.options.length > 0 && ref.getOptionIndex() === -1) {
|
||||
ref.moveOptionSelection(1, true) // focus the first selectable option and do not update the input-value
|
||||
ref.toggleOption(ref.options[ ref.optionIndex ], true) // toggle the focused option
|
||||
}
|
||||
}
|
||||
)
|
||||
}, 300)
|
||||
},
|
||||
|
||||
abortFilterFn () {
|
||||
// console.log('delayed filter aborted')
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@@ -157,6 +157,7 @@
|
||||
:id="myuser._id"
|
||||
:rec="myuser"
|
||||
field="profile.born_city_id"
|
||||
:sameclassasfielddb="true"
|
||||
:canEdit="true"
|
||||
:canModify="true">
|
||||
</CMyFieldRec>
|
||||
|
||||
@@ -20,7 +20,6 @@
|
||||
{{ myuser.username }}
|
||||
</div>
|
||||
|
||||
ID: {{myuser.profile.born_city_id}}
|
||||
<div class="col-12 text-h7">
|
||||
<span v-if="myuser.profile && myuser.profile.born_city_id">
|
||||
<CMyFieldRec
|
||||
|
||||
@@ -1,14 +0,0 @@
|
||||
<template>
|
||||
<div class="q-gutter-sm q-pa-xs q-pb-md">
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script lang="ts" src="./test.ts">
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@import './test.scss';
|
||||
</style>
|
||||
Reference in New Issue
Block a user