mirror of
https://github.com/Spythere/stacjownik.git
synced 2026-05-03 13:28:11 +00:00
Poprawki statystyk
This commit is contained in:
@@ -8,31 +8,32 @@
|
||||
</h2>
|
||||
|
||||
<div class="loading" v-if="!store.dispatcherStatsData">Ładowanie...</div>
|
||||
<div class="loading" v-else-if="!store.dispatcherStatsData._count._all">Ten dyżurny nie ma jeszcze szczegółowych statystyk!</div>
|
||||
<div v-else>
|
||||
<h3>STATYSTYKI WYSTAWIONYCH ROZKŁADÓW</h3>
|
||||
<div class="info-stats">
|
||||
<div class="info-stats" v-if="store.dispatcherStatsData._count._all">
|
||||
<span class="stat-badge">
|
||||
<span>LICZBA</span>
|
||||
<span>{{ store.dispatcherStatsData.count }}</span>
|
||||
<span>{{ store.dispatcherStatsData._count._all }}</span>
|
||||
</span>
|
||||
<span class="stat-badge">
|
||||
<span>SUMA (KM)</span>
|
||||
<span>{{ store.dispatcherStatsData.sumDistance.toFixed(2) }}km</span>
|
||||
<span>{{ store.dispatcherStatsData._sum.routeDistance.toFixed(2) }}km</span>
|
||||
</span>
|
||||
<span class="stat-badge">
|
||||
<span>NAJDŁUŻSZY</span>
|
||||
<span>{{ store.dispatcherStatsData.maxTimetableDistance }}km</span>
|
||||
<span>{{ store.dispatcherStatsData._max.routeDistance.toFixed(2) }}km</span>
|
||||
</span>
|
||||
<span class="stat-badge">
|
||||
<span>ŚREDNIO</span>
|
||||
<span>{{ store.dispatcherStatsData.avgTimetableDistance }}km</span>
|
||||
<span>{{ store.dispatcherStatsData._avg.routeDistance.toFixed(2) }}km</span>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<h3>OSTATNIE WYSTAWIONE ROZKŁADY</h3>
|
||||
|
||||
<div class="last-timetables">
|
||||
<div class="timetable-row" v-for="timetable in store.dispatcherStatsData.timetables">
|
||||
<div class="timetable-row" v-for="timetable in timetables">
|
||||
<span>#{{ timetable.timetableId }}</span>
|
||||
<span>{{ timetable.routeDistance }}km</span>
|
||||
<span>
|
||||
@@ -49,6 +50,7 @@
|
||||
|
||||
<script lang="ts">
|
||||
import { DispatcherStatsAPIData } from '@/scripts/interfaces/api/DispatcherStatsAPIData';
|
||||
import { TimetableHistory } from '@/scripts/interfaces/api/TimetablesAPIData';
|
||||
import { URLs } from '@/scripts/utils/apiURLs';
|
||||
import { useStore } from '@/store/store';
|
||||
import axios from 'axios';
|
||||
@@ -67,6 +69,7 @@ export default defineComponent({
|
||||
data() {
|
||||
return {
|
||||
lastDispatcherName: '',
|
||||
timetables: [] as TimetableHistory[],
|
||||
};
|
||||
},
|
||||
|
||||
@@ -82,7 +85,12 @@ export default defineComponent({
|
||||
await axios.get(`${URLs.stacjownikAPI}/api/getDispatcherInfo?name=${this.store.dispatcherStatsName}`)
|
||||
).data;
|
||||
|
||||
this.store.dispatcherStatsData = statsData.response;
|
||||
const timetables: TimetableHistory[] = await (
|
||||
await axios.get(`${URLs.stacjownikAPI}/api/getTimetables?authorName=${this.store.dispatcherStatsName}`)
|
||||
).data;
|
||||
|
||||
this.timetables = timetables;
|
||||
this.store.dispatcherStatsData = statsData;
|
||||
},
|
||||
|
||||
closeCard() {
|
||||
|
||||
@@ -10,36 +10,39 @@
|
||||
<div class="loading" v-if="!store.driverStatsData">Ładowanie...</div>
|
||||
|
||||
<div v-else>
|
||||
<div class="info-stats">
|
||||
<div class="info-stats" v-if="store.driverStatsData._sum.routeDistance != null">
|
||||
<span class="stat-badge">
|
||||
<span>PRZEBYTO</span>
|
||||
<span>{{ store.driverStatsData.confirmedDistance.toFixed(2) }}km</span>
|
||||
<span>{{ store.driverStatsData._sum.routeDistance.toFixed(2) }}km</span>
|
||||
</span>
|
||||
<span class="stat-badge">
|
||||
<span>PORZUCONO</span>
|
||||
<span>
|
||||
{{ (store.driverStatsData.totalDistance - store.driverStatsData.confirmedDistance).toFixed(2) }}km
|
||||
{{ (store.driverStatsData._sum.routeDistance - store.driverStatsData._sum.currentDistance).toFixed(2) }}km
|
||||
</span>
|
||||
</span>
|
||||
|
||||
<span class="stat-badge">
|
||||
<span>WYPEŁNIONO</span>
|
||||
<span>{{ store.driverStatsData.fulfilled }} RJ</span>
|
||||
<span>{{ store.driverStatsData._count.fulfilled }} RJ</span>
|
||||
</span>
|
||||
|
||||
<span class="stat-badge">
|
||||
<span>PORZUCONO</span>
|
||||
<span>{{ store.driverStatsData.abandoned }} RJ</span>
|
||||
<span>{{ store.driverStatsData._count._all - store.driverStatsData._count.fulfilled }} RJ</span>
|
||||
</span>
|
||||
|
||||
<span class="stat-badge">
|
||||
<span>ZATWIERDZONO</span>
|
||||
<span>{{ store.driverStatsData.confirmedStops }} stacji</span>
|
||||
<span>{{ store.driverStatsData._sum.confirmedStopsCount }} stacji</span>
|
||||
</span>
|
||||
|
||||
<span class="stat-badge">
|
||||
<span>PORZUCONO</span>
|
||||
<span>{{ store.driverStatsData.totalStops - store.driverStatsData.confirmedStops }} stacji</span>
|
||||
<span>
|
||||
{{ store.driverStatsData._sum.allStopsCount - store.driverStatsData._sum.confirmedStopsCount }}
|
||||
stacji
|
||||
</span>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
@@ -87,10 +90,10 @@ export default defineComponent({
|
||||
).data;
|
||||
|
||||
const recentTimetablesData: TimetableHistory[] = await (
|
||||
await axios.get(`${URLs.stacjownikAPI}/api/getTimetables?driver=${this.store.driverStatsName}`)
|
||||
await axios.get(`${URLs.stacjownikAPI}/api/getTimetables?driverName=${this.store.driverStatsName}`)
|
||||
).data;
|
||||
|
||||
this.store.driverStatsData = statsData.response;
|
||||
this.store.driverStatsData = statsData;
|
||||
this.lastTimetables = recentTimetablesData || [];
|
||||
},
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
:filters="journalTimetableFilters"
|
||||
/>
|
||||
|
||||
<button
|
||||
<!-- <button
|
||||
class="btn btn--option"
|
||||
:disabled="store.driverStatsName == ''"
|
||||
@click="() => (statsCardOpen = !statsCardOpen)"
|
||||
@@ -23,7 +23,7 @@
|
||||
Statystyki maszynisty <b>{{ store.driverStatsName }}</b>
|
||||
</span>
|
||||
<span v-else>Statystyki maszynisty niedostępne</span>
|
||||
</button>
|
||||
</button> -->
|
||||
</div>
|
||||
|
||||
<div class="journal-list">
|
||||
|
||||
Reference in New Issue
Block a user