Aggiunta del Bottone "Aggiungi"

This commit is contained in:
Surya Paolo
2022-12-01 21:44:33 +01:00
parent bf1e9fc982
commit 07f5f1c4c9
14 changed files with 864 additions and 550 deletions

View File

@@ -8,8 +8,6 @@
<!--<CPreloadImages :arrimg="static_data.preLoadImages"> <!--<CPreloadImages :arrimg="static_data.preLoadImages">
</CPreloadImages>--> </CPreloadImages>-->
<app-footer></app-footer>
<q-page-container id="mypage" :class="(darkcookie && !finishLoading) ? `bg-black`: ``"> <q-page-container id="mypage" :class="(darkcookie && !finishLoading) ? `bg-black`: ``">
<div v-if="finishLoading"> <div v-if="finishLoading">
<CFirstPageApp></CFirstPageApp> <CFirstPageApp></CFirstPageApp>
@@ -22,6 +20,9 @@
</q-spinner-tail> </q-spinner-tail>
</q-inner-loading> </q-inner-loading>
</q-page-container> </q-page-container>
<app-footer></app-footer>
</q-layout> </q-layout>
</div> </div>
<BannerCookies urlInfo="/policy"></BannerCookies> <BannerCookies urlInfo="/policy"></BannerCookies>

View File

@@ -49,13 +49,15 @@
.barselection { .barselection {
padding: 0;
flex-wrap: nowrap;
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: space-around; justify-content: space-between;
} }
.myitem { .myitem {
padding: 0px 6px 0px 6px !important; padding: 0px 0px 0px 0px !important;
} }
.myitem-0 { .myitem-0 {
@@ -68,5 +70,9 @@
} }
.myitem-2 { .myitem-2 {
flex-grow: 0;
}
.myitem-3 {
flex-grow: 1; flex-grow: 1;
} }

View File

@@ -39,6 +39,7 @@ import { CMyCardPopup } from '@/components/CMyCardPopup'
import { CMyCardGrpPopup } from '@/components/CMyCardGrpPopup' import { CMyCardGrpPopup } from '@/components/CMyCardGrpPopup'
import { CMyCardCircuitPopup } from '@/components/CMyCardCircuitPopup' import { CMyCardCircuitPopup } from '@/components/CMyCardCircuitPopup'
import { useRouter } from 'vue-router' import { useRouter } from 'vue-router'
import { table } from 'console'
export default defineComponent({ export default defineComponent({
name: 'CBarSelection', name: 'CBarSelection',
@@ -276,7 +277,7 @@ export default defineComponent({
} }
function visButtRow() { function visButtRow() {
return false return true
} }
function gotoPageSel() { function gotoPageSel() {
@@ -286,6 +287,10 @@ export default defineComponent({
} }
} }
function createNewRecordDialog() {
globalStore.addNewRecord = tablesel.value
}
created() created()
onMounted(mounted) onMounted(mounted)
@@ -329,6 +334,7 @@ export default defineComponent({
optionsMainCards, optionsMainCards,
tablesel, tablesel,
gotoPageSel, gotoPageSel,
createNewRecordDialog,
} }
} }
}) })

View File

@@ -6,36 +6,23 @@
<div <div
class="centermydiv q-mx-sm" class="centermydiv q-mx-sm"
:style="`text-align: center; background-color: ${mycolor}`" :style="`text-align: center; background-color: ${mycolor}`"
> ></div>
<q-btn
v-if="table && visButtRow()"
rounded
dense
color="primary"
size="lg"
:label="getlabelAddRow()"
@click="createNewRecordDialog"
></q-btn>
</div>
<div> <div>
<div v-if="prop_search || canEdit" class="q-my-xs text-right"> <div v-if="prop_search || canEdit" class="q-my-xs text-right">
<q-btn <q-btn
size="sm" size="sm"
dense dense
icon="fas fa-filter" icon="fas fa-filter"
:label="!showfilter ? $t('grid.showfilters') : $t('grid.hidefilters')" :label="$t('grid.showfilters')"
@click="showfilter = !showfilter" @click="showfilter = !showfilter"
></q-btn> ></q-btn>
</div> </div>
<q-slide-transition> <q-slide-transition>
<div v-show="true"> <div class="row no-wrap shadow-1">
<div v-show="searchList" class="barselection"> <q-header elevated>
<div class="myitem myitem-0"> <q-toolbar class="glossy" style="">
<q-icon :name="myicon" size="xs" /> <div class="col-3">
</div>
<div class="myitem myitem-1 mybanner">
<q-select <q-select
filled
v-model="tablesel" v-model="tablesel"
:options="optionsMainCards" :options="optionsMainCards"
emit-value emit-value
@@ -59,19 +46,23 @@
</template> </template>
</q-select> </q-select>
</div> </div>
<q-space />
<q-btn
<div size="sm"
class="myitem myitem-2" class="col-1 q-mx-xs"
v-for="(item, index) in searchList" icon="fas fa-plus"
:key="index" @click="createNewRecordDialog"
> >
</q-btn>
<div class="col" v-for="(item, index) in searchList" :key="index">
<CMySelect <CMySelect
:col="fieldsTable.getColByColumns(mycolumns, item.key)" :col="fieldsTable.getColByColumns(mycolumns, item.key)"
v-if=" v-if="
item.type === costanti.FieldType.select || item.type === costanti.FieldType.select ||
item.type === costanti.FieldType.select_by_server item.type === costanti.FieldType.select_by_server
" "
:label="labelcombo(item)" :label="item.value ? '' : labelcombo(item)"
v-model:value="item.value" v-model:value="item.value"
@update:value="searchval(item.value, item.table)" @update:value="searchval(item.value, item.table)"
:addall="item.addall" :addall="item.addall"
@@ -83,7 +74,7 @@
: '' : ''
" "
:pickup="item.type === costanti.FieldType.select_by_server" :pickup="item.type === costanti.FieldType.select_by_server"
label-color="primary" label-color="white"
class="combowidth" class="combowidth"
color="primary" color="primary"
:icon_alternative="item.icon" :icon_alternative="item.icon"
@@ -142,7 +133,6 @@
options-dense options-dense
emit-value emit-value
map-options map-options
stack-label
:useinput="item.useinput" :useinput="item.useinput"
:options="valoriopt(item, item.addall, item.addnone)" :options="valoriopt(item, item.addall, item.addnone)"
:filter="item.filter" :filter="item.filter"
@@ -203,7 +193,8 @@
</template> </template>
</q-select> </q-select>
</div> </div>
</div> </q-toolbar>
</q-header>
</div> </div>
</q-slide-transition> </q-slide-transition>

View File

@@ -55,10 +55,6 @@ export default defineComponent({
const globalStore = useGlobalStore() const globalStore = useGlobalStore()
const userStore = useUserStore() const userStore = useUserStore()
const myselector = ref({})
provide('myselector', myselector)
const arrfilterand: any = ref([]) const arrfilterand: any = ref([])
const filtercustom: any = ref([]) const filtercustom: any = ref([])
const searchList_Servizi = ref(<ISearchList[]>[]) const searchList_Servizi = ref(<ISearchList[]>[])

View File

@@ -49,7 +49,6 @@
:nodataLabel="noMsgRecord" :nodataLabel="noMsgRecord"
:prop_search="true" :prop_search="true"
:finder="true" :finder="true"
:labelBtnAddExtra="noButtAdd ? `` : `Aggiungi ${strextra}`"
:choose_visutype="visuType" :choose_visutype="visuType"
:butt_modif_new="true && !noButtAdd" :butt_modif_new="true && !noButtAdd"
noresultLabel="Il filtro selezionato non ha trovato nessun risultato" noresultLabel="Il filtro selezionato non ha trovato nessun risultato"
@@ -58,11 +57,14 @@
:prop_searchList="searchList" :prop_searchList="searchList"
:defaultnewrec="getdefaultnewrec" :defaultnewrec="getdefaultnewrec"
:selector="selector" :selector="selector"
labelBtnAddRow="NONE"
:labelBtnAddExtra="noButtAdd ? `` : ``"
:extraparams="extraparams()" :extraparams="extraparams()"
> >
</CGridTableRec> </CGridTableRec>
</div> </div>
<q-page-scroller <q-page-scroller
position="bottom-right" position="bottom-right"
:scroll-offset="850" :scroll-offset="850"

View File

@@ -326,8 +326,6 @@ export default defineComponent({
const myvertical = ref(props.vertical) const myvertical = ref(props.vertical)
//const myselector = inject('myselector', {})
const myselector = computed(() => globalStore.myselector)
const valoriopt = computed(() => (item: any, addall: boolean, addnone: boolean) => { const valoriopt = computed(() => (item: any, addall: boolean, addnone: boolean) => {
// console.log('valoriopt', item.table) // console.log('valoriopt', item.table)
@@ -341,9 +339,16 @@ export default defineComponent({
return lab return lab
}) })
watch(() => globalStore.addNewRecord, (value: any, oldval: any) => {
if (globalStore.addNewRecord === props.prop_mytable) {
createNewRecordDialog()
globalStore.addNewRecord = ''
}
})
watch(() => globalStore.myselector, (value: any, oldval: any) => { watch(() => globalStore.myselector, (value: any, oldval: any) => {
console.log('******* CGRIDTABLEREC : globalStore.myselector', globalStore.myselector) // console.log('******* CGRIDTABLEREC : globalStore.myselector', globalStore.myselector)
console.log(' . value', value) // console.log(' . value', value)
const rec = searchList.value.find((myrec) => myrec.table === globalStore.myselector.table) // check if exist const rec = searchList.value.find((myrec) => myrec.table === globalStore.myselector.table) // check if exist
if (rec) { if (rec) {
rec.value = globalStore.myselector.data rec.value = globalStore.myselector.data
@@ -1854,7 +1859,7 @@ export default defineComponent({
} }
function visButtRow() { function visButtRow() {
return props.labelBtnAddRow !== addRow.value return (props.labelBtnAddRow !== addRow.value) && props.labelBtnAddRow !== 'NONE'
} }
function checkIfShowRec(rec: any) { function checkIfShowRec(rec: any) {
@@ -2108,7 +2113,6 @@ export default defineComponent({
myinfscroll, myinfscroll,
t, t,
exportTable, exportTable,
myselector,
} }
} }
}) })

File diff suppressed because it is too large Load Diff

View File

@@ -15,7 +15,7 @@
multiple multiple
options-dense options-dense
map-options map-options
stack-label :stack-label="label ? true : false"
emit-value emit-value
:readonly="sola_lettura" :readonly="sola_lettura"
:use-input="useinput" :use-input="useinput"

View File

@@ -1,13 +1,17 @@
<template> <template>
<q-footer <q-footer
v-if="tools.isUserOk() && site && site.confpages" v-if="tools.isUserOk() && site && site.confpages" :class="($q.dark.isActive
:class="($q.dark.isActive ? `bg-black` : `bg-white`) + ` small-screen-only`" ? `bg-black` : `bg-white`) + ` small-screen-only`" bordered >
bordered <q-toolbar>
> <q-toolbar-title>
<q-tabs <q-tabs
dense dense
:class="($q.dark.isActive ? `text-white bg-black` : `text-grey-10 bg-white`) + ` mylabfooter mysmalltabs`" :class="
style="padding: 0px !important;" ($q.dark.isActive
? `text-white bg-black`
: `text-grey-10 bg-white`) + ` mylabfooter mysmalltabs`
"
style="padding: 0px !important"
content-class="mysmalltabs" content-class="mysmalltabs"
:active-color="$q.dark.isActive ? `primary` : `primary`" :active-color="$q.dark.isActive ? `primary` : `primary`"
no-caps no-caps
@@ -56,6 +60,8 @@
icon="person" icon="person"
/> />
</q-tabs> </q-tabs>
</q-toolbar-title>
</q-toolbar>
</q-footer> </q-footer>
</template> </template>

View File

@@ -449,6 +449,7 @@ export interface IGlobalState {
selElem?: IMyElem, selElem?: IMyElem,
editOn?: boolean, editOn?: boolean,
myselector: ISelector, myselector: ISelector,
addNewRecord: string,
} }
export interface IMenuList { export interface IMenuList {

View File

@@ -8,7 +8,6 @@
<CFinder <CFinder
:ind="1" :ind="1"
:table="toolsext.TABMYSKILLS" :table="toolsext.TABMYSKILLS"
:selector="myselector"
/> />
<!--<CDashboard></CDashboard>--> <!--<CDashboard></CDashboard>-->

View File

@@ -20,7 +20,7 @@ const msg_it = {
columns: 'Colonne', columns: 'Colonne',
tableslist: 'Tabelle', tableslist: 'Tabelle',
nodata: 'Nessun Dato', nodata: 'Nessun Dato',
showfilters: 'Mostra Filtri', showfilters: 'Filtri',
hidefilters: 'Nascondi Filtri', hidefilters: 'Nascondi Filtri',
}, },
gallery: { gallery: {

View File

@@ -178,7 +178,8 @@ export const useGlobalStore = defineStore('GlobalStore', {
mygroups: [], mygroups: [],
selElem: {}, selElem: {},
editOn: false, editOn: false,
myselector: { data: {}, table: ''} myselector: { data: {}, table: ''},
addNewRecord: '',
}), }),
getters: { getters: {