Added selector
This commit is contained in:
parent
34668e7c17
commit
41e347d668
|
@ -4,19 +4,27 @@
|
||||||
Em desenvolvimento! Versão 0.0.0.½ Alpha Gambiarra
|
Em desenvolvimento! Versão 0.0.0.½ Alpha Gambiarra
|
||||||
</div>
|
</div>
|
||||||
<v-app>
|
<v-app>
|
||||||
<v-main><RouterView /></v-main>
|
<v-main>
|
||||||
|
<keep-alive>
|
||||||
|
<RouterView />
|
||||||
|
</keep-alive>
|
||||||
|
</v-main>
|
||||||
</v-app>
|
</v-app>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { useAppStore } from './store/appStore'
|
import { useAppStore } from './store/appStore'
|
||||||
import { onMounted } from 'vue'
|
import { onMounted, onBeforeMount } from 'vue'
|
||||||
|
|
||||||
const appStore = useAppStore()
|
const appStore = useAppStore()
|
||||||
|
|
||||||
onMounted(async () => {
|
onMounted(async () => {
|
||||||
await appStore.fetchMe()
|
await appStore.fetchMe()
|
||||||
})
|
})
|
||||||
|
|
||||||
|
onBeforeMount(() => {
|
||||||
|
appStore.selectedCampus = appStore.me?.campus || ''
|
||||||
|
})
|
||||||
</script>
|
</script>
|
||||||
<style>
|
<style>
|
||||||
.alpha-banner {
|
.alpha-banner {
|
||||||
|
|
|
@ -20,13 +20,18 @@
|
||||||
v-model.lazy="appStore.printerFilter"
|
v-model.lazy="appStore.printerFilter"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<v-checkbox
|
<v-select
|
||||||
class="ml-2"
|
class="ml-3"
|
||||||
v-model="appStore.onlyMyCampus"
|
:items="campiSelectItems"
|
||||||
|
v-model="appStore.selectedCampus"
|
||||||
@update:model-value="appStore.fetchPrinters"
|
@update:model-value="appStore.fetchPrinters"
|
||||||
color="primary"
|
|
||||||
:label="`Apenas ${appStore.me?.campus}`"
|
|
||||||
hide-details
|
hide-details
|
||||||
|
variant="solo"
|
||||||
|
density="compact"
|
||||||
|
style="max-width: 200px"
|
||||||
|
prepend-inner-icon="mdi-domain"
|
||||||
|
label="Campus"
|
||||||
|
rounded
|
||||||
/>
|
/>
|
||||||
<v-spacer />
|
<v-spacer />
|
||||||
<v-btn
|
<v-btn
|
||||||
|
@ -59,6 +64,7 @@
|
||||||
|
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { useAppStore } from '@/store/appStore'
|
import { useAppStore } from '@/store/appStore'
|
||||||
|
|
||||||
import { removeJwtToken } from '@/auth'
|
import { removeJwtToken } from '@/auth'
|
||||||
|
|
||||||
import { useRouter } from 'vue-router'
|
import { useRouter } from 'vue-router'
|
||||||
|
@ -67,6 +73,57 @@ const appStore = useAppStore()
|
||||||
|
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
|
|
||||||
|
const campiSelectItems = [
|
||||||
|
{
|
||||||
|
title: 'Todos',
|
||||||
|
value: ''
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'Reitoria',
|
||||||
|
value: 'RT'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'Aquidauana',
|
||||||
|
value: 'AQ'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'Campo Grande',
|
||||||
|
value: 'CG'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'Corumbá',
|
||||||
|
value: 'CB'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'Coxim',
|
||||||
|
value: 'CX'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'Nova Andradina',
|
||||||
|
value: 'NA'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'Ponta Porã',
|
||||||
|
value: 'PP'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'Três Lagoas',
|
||||||
|
value: 'TL'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'Jardim',
|
||||||
|
value: 'JD'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'Naviraí',
|
||||||
|
value: 'NV'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'Dourados',
|
||||||
|
value: 'DR'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
|
||||||
function logout() {
|
function logout() {
|
||||||
removeJwtToken()
|
removeJwtToken()
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,7 @@ export const useAppStore = defineStore('app', {
|
||||||
me: null as User | null,
|
me: null as User | null,
|
||||||
printers: [] as any[],
|
printers: [] as any[],
|
||||||
printerFilter: '',
|
printerFilter: '',
|
||||||
onlyMyCampus: true,
|
selectedCampus: '',
|
||||||
loadingPrinters: false
|
loadingPrinters: false
|
||||||
}),
|
}),
|
||||||
|
|
||||||
|
@ -19,7 +19,7 @@ export const useAppStore = defineStore('app', {
|
||||||
try {
|
try {
|
||||||
this.printers = await api<any[]>(
|
this.printers = await api<any[]>(
|
||||||
`printer?${new URLSearchParams({
|
`printer?${new URLSearchParams({
|
||||||
campus: this.onlyMyCampus ? this.me?.campus || '' : ''
|
campus: this.selectedCampus
|
||||||
})}`,
|
})}`,
|
||||||
{ method: 'GET' }
|
{ method: 'GET' }
|
||||||
)
|
)
|
||||||
|
|
|
@ -1,5 +1,13 @@
|
||||||
<template>
|
<template>
|
||||||
<v-container fluid>
|
<v-container fluid>
|
||||||
|
<v-alert
|
||||||
|
type="info"
|
||||||
|
v-if="appStore.filteredPrinters.length == 0 && appStore.printerFilter"
|
||||||
|
closable
|
||||||
|
variant="outlined"
|
||||||
|
>
|
||||||
|
Nenhuma impressora encontrada com este filtro
|
||||||
|
</v-alert>
|
||||||
<v-row>
|
<v-row>
|
||||||
<v-col
|
<v-col
|
||||||
cols="12"
|
cols="12"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
<template>
|
<template>
|
||||||
<div>Hello</div>
|
<div>Nada aqui.... Ainda ;)</div>
|
||||||
</template>
|
</template>
|
||||||
<script lang="ts" setup></script>
|
<script lang="ts" setup></script>
|
||||||
|
|
Loading…
Reference in New Issue
Block a user