Added sorting
This commit is contained in:
parent
d8620c570b
commit
5ed3d074b0
4
server/package-lock.json
generated
4
server/package-lock.json
generated
|
@ -1,12 +1,12 @@
|
|||
{
|
||||
"name": "ifms-pti-svr",
|
||||
"version": "3.4.8",
|
||||
"version": "3.4.9",
|
||||
"lockfileVersion": 2,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "ifms-pti-svr",
|
||||
"version": "3.4.8",
|
||||
"version": "3.4.9",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"@prisma/client": "^4.7.1",
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "ifms-pti-svr",
|
||||
"version": "3.4.8",
|
||||
"version": "3.4.9",
|
||||
"description": "Servidor do Portal de TI do IFMS",
|
||||
"main": "src/index.js",
|
||||
"prisma": {
|
||||
|
|
4
web/package-lock.json
generated
4
web/package-lock.json
generated
|
@ -1,12 +1,12 @@
|
|||
{
|
||||
"name": "ifms-pti",
|
||||
"version": "3.4.8",
|
||||
"version": "3.4.9",
|
||||
"lockfileVersion": 2,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "ifms-pti",
|
||||
"version": "3.4.8",
|
||||
"version": "3.4.9",
|
||||
"dependencies": {
|
||||
"@mdi/font": "^6.9.96",
|
||||
"apollo-link-ws": "^1.0.20",
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "ifms-pti",
|
||||
"version": "3.4.8",
|
||||
"version": "3.4.9",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"serve": "vue-cli-service serve",
|
||||
|
|
|
@ -3,13 +3,23 @@
|
|||
<v-toolbar dense flat>
|
||||
<v-spacer />
|
||||
<v-select
|
||||
v-model="minutesIn"
|
||||
class="mr-2"
|
||||
v-model="orderBy"
|
||||
style="max-width: 250px"
|
||||
:items="orderByOptions"
|
||||
hide-details
|
||||
outlined
|
||||
dense
|
||||
prepend-icon="mdi-timer-outline"
|
||||
prepend-inner-icon="mdi-sort"
|
||||
/>
|
||||
<v-select
|
||||
v-model="minutesIn"
|
||||
style="max-width: 250px"
|
||||
:items="minutesInItems"
|
||||
hide-details
|
||||
outlined
|
||||
dense
|
||||
prepend-inner-icon="mdi-timer-outline"
|
||||
/>
|
||||
</v-toolbar>
|
||||
<v-expand-transition>
|
||||
|
@ -22,7 +32,7 @@
|
|||
<v-container fluid>
|
||||
<v-row dense>
|
||||
<v-col
|
||||
v-for="subnet in subnets"
|
||||
v-for="subnet in orderedSubnets"
|
||||
:key="subnet.shortname"
|
||||
sm="12"
|
||||
md="6"
|
||||
|
@ -127,9 +137,55 @@ export default {
|
|||
text: 'Últimos 30 dias',
|
||||
value: 43200
|
||||
}
|
||||
]
|
||||
],
|
||||
orderByOptions: [
|
||||
'Alfabética',
|
||||
'Clientes atualmente',
|
||||
'Pico de clientes',
|
||||
'Menor quantidade de clientes',
|
||||
'Média de clientes'
|
||||
],
|
||||
orderBy: 'Alfabética'
|
||||
}),
|
||||
computed: {
|
||||
orderedSubnets() {
|
||||
const subnets = this.subnets
|
||||
if (!subnets) return []
|
||||
|
||||
const orderBy = this.orderBy
|
||||
|
||||
if (orderBy === 'Alfabética') {
|
||||
return subnets.sort((a, b) => {
|
||||
return a.name.localeCompare(b.name)
|
||||
})
|
||||
}
|
||||
|
||||
if (orderBy === 'Pico de clientes') {
|
||||
return subnets.sort((a, b) => {
|
||||
return this.subnetPeakClients(b) - this.subnetPeakClients(a)
|
||||
})
|
||||
}
|
||||
|
||||
if (orderBy === 'Menor quantidade de clientes') {
|
||||
return subnets.sort((a, b) => {
|
||||
return this.subnetLowestClients(a) - this.subnetLowestClients(b)
|
||||
})
|
||||
}
|
||||
|
||||
if (orderBy === 'Média de clientes') {
|
||||
return subnets.sort((a, b) => {
|
||||
return this.subnetAvgClients(b) - this.subnetAvgClients(a)
|
||||
})
|
||||
}
|
||||
|
||||
if (orderBy === 'Clientes atualmente') {
|
||||
return subnets.sort((a, b) => {
|
||||
return b.stats[0].clients - a.stats[0].clients
|
||||
})
|
||||
}
|
||||
|
||||
return subnets
|
||||
},
|
||||
maxClients() {
|
||||
const maxClients = this.subnets?.reduce((max, subnet) => {
|
||||
return Math.max(max, this.subnetPeakClients(subnet))
|
||||
|
|
Loading…
Reference in New Issue
Block a user