mirror of
https://github.com/Spythere/stacjownik.git
synced 2026-05-03 05:18:11 +00:00
statystyki dr (c.d.) + tłumaczenia
This commit is contained in:
@@ -3,7 +3,7 @@
|
||||
<span :data-active="statsStatus">
|
||||
<span class="stats-list">
|
||||
<h3>
|
||||
{{ $t('journal.daily-stats-title') }}
|
||||
{{ $t('journal.daily-stats.title') }}
|
||||
<b class="text--primary">{{ new Date().toLocaleDateString($i18n.locale) }}</b>
|
||||
</h3>
|
||||
|
||||
@@ -18,17 +18,17 @@
|
||||
</b>
|
||||
|
||||
<b v-else-if="topDispatchers.length == 0">
|
||||
{{ $t('journal.daily-stats-info') }}
|
||||
{{ $t('journal.daily-stats.info') }}
|
||||
</b>
|
||||
|
||||
<div v-else>
|
||||
<div v-if="stats.totalTimetables">
|
||||
•
|
||||
<i18n-t keypath="journal.timetable-stats-total">
|
||||
<i18n-t keypath="journal.daily-stats.total">
|
||||
<template #count>
|
||||
<b class="text--primary">
|
||||
{{ stats.totalTimetables }}
|
||||
{{ $t('journal.timetable-count', stats.totalTimetables) }}
|
||||
{{ $t('journal.daily-stats.count', stats.totalTimetables) }}
|
||||
</b>
|
||||
</template>
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
|
||||
<div v-if="stats.maxTimetable">
|
||||
•
|
||||
<i18n-t keypath="journal.timetable-stats-longest">
|
||||
<i18n-t keypath="journal.daily-stats.longest">
|
||||
<template #id>
|
||||
<router-link :to="`/journal/timetables?timetableId=${stats.maxTimetable.id}`">
|
||||
<b>{{ stats.maxTimetable.id }}</b>
|
||||
@@ -64,7 +64,7 @@
|
||||
|
||||
<div v-if="topDispatchers.length == 1">
|
||||
•
|
||||
<i18n-t keypath="journal.timetable-stats-most-active-dr">
|
||||
<i18n-t keypath="journal.daily-stats.most-active-dr">
|
||||
<template #dispatcher>
|
||||
<router-link :to="`/journal/dispatchers?dispatcherName=${topDispatchers[0].name}`">
|
||||
<b>{{ topDispatchers[0].name }}</b>
|
||||
@@ -73,7 +73,7 @@
|
||||
<template #count>
|
||||
<b class="text--primary">
|
||||
{{ topDispatchers[0].count }}
|
||||
{{ $t('journal.timetable-count', topDispatchers[0].count) }}
|
||||
{{ $t('journal.daily-stats.count', topDispatchers[0].count) }}
|
||||
</b>
|
||||
</template>
|
||||
</i18n-t>
|
||||
@@ -81,7 +81,7 @@
|
||||
|
||||
<div v-if="topDispatchers.length > 1">
|
||||
•
|
||||
<i18n-t keypath="journal.timetable-stats-most-active-dr-many">
|
||||
<i18n-t keypath="journal.daily-stats.most-active-dr-many">
|
||||
<template #dispatchers>
|
||||
<span v-for="(disp, i) in topDispatchers" :key="i">
|
||||
<span v-if="i == topDispatchers.length - 1"> {{ $t('general.and') }} </span>
|
||||
@@ -97,7 +97,7 @@
|
||||
<template #count>
|
||||
<b class="text--primary">
|
||||
{{ topDispatchers[0].count }}
|
||||
{{ $t('journal.timetable-count', topDispatchers[0].count) }}
|
||||
{{ $t('journal.daily-stats.count', topDispatchers[0].count) }}
|
||||
</b>
|
||||
</template>
|
||||
</i18n-t>
|
||||
@@ -105,7 +105,7 @@
|
||||
|
||||
<div v-if="stats.longestDuties.length > 0">
|
||||
•
|
||||
<i18n-t keypath="journal.timetable-stats-longest-duties">
|
||||
<i18n-t keypath="journal.daily-stats.longest-duties">
|
||||
<template #dispatcher>
|
||||
<router-link
|
||||
:to="`/journal/dispatchers?dispatcherName=${stats.longestDuties[0].name}`"
|
||||
@@ -124,7 +124,7 @@
|
||||
|
||||
<div v-if="stats.mostActiveDrivers.length > 0">
|
||||
•
|
||||
<i18n-t keypath="journal.timetable-stats-most-active-driver">
|
||||
<i18n-t keypath="journal.daily-stats.most-active-driver">
|
||||
<template #driver>
|
||||
<b class="text--primary">{{ stats.mostActiveDrivers[0].name }}</b>
|
||||
</template>
|
||||
|
||||
@@ -1,20 +1,14 @@
|
||||
<template>
|
||||
<div
|
||||
class="journal-stats dispatcher"
|
||||
v-if="store.dispatcherStatsName && store.dispatcherStatsData"
|
||||
>
|
||||
<span
|
||||
class="loading"
|
||||
v-if="!store.dispatcherStatsData.issuedTimetables || !store.dispatcherStatsData.services"
|
||||
>
|
||||
Ten dyżurny nie ma jeszcze szczegółowych statystyk!
|
||||
<div class="journal-stats dispatcher" v-if="dispatcherName && stats">
|
||||
<span class="loading" v-if="!stats.issuedTimetables && !stats.services">
|
||||
{{ $t('journal.dispatcher-stats.empty') }}
|
||||
</span>
|
||||
|
||||
<span v-else>
|
||||
<h3>
|
||||
<i18n-t keypath="journal.dispatcher-stats-title">
|
||||
<i18n-t keypath="journal.dispatcher-stats.title">
|
||||
<template #name>
|
||||
<span class="text--primary">{{ store.dispatcherStatsName.toUpperCase() }}</span>
|
||||
<span class="text--primary">{{ dispatcherName.toUpperCase() }}</span>
|
||||
</template>
|
||||
</i18n-t>
|
||||
</h3>
|
||||
@@ -22,33 +16,43 @@
|
||||
<hr class="header-separator" />
|
||||
|
||||
<div class="info-stats">
|
||||
<span class="stat-badge">
|
||||
<span>DYŻURY</span>
|
||||
<span>{{ store.dispatcherStatsData.services.count }}</span>
|
||||
<span class="stat-badge" v-if="stats.services">
|
||||
<span>{{ $t('journal.dispatcher-stats.services-count') }}</span>
|
||||
<span>{{ stats.services.count }}</span>
|
||||
</span>
|
||||
<span class="stat-badge">
|
||||
<span>WYSTAWIONE RJ</span>
|
||||
<span>{{ store.dispatcherStatsData.issuedTimetables.count }}</span>
|
||||
|
||||
<span class="stat-badge" v-if="stats.services">
|
||||
<span>{{ $t('journal.dispatcher-stats.service-max') }}</span>
|
||||
<span>{{ calculateDuration(stats.services.durationMax) }}</span>
|
||||
</span>
|
||||
<span class="stat-badge">
|
||||
<span>MAKS. CZAS DYŻURU</span>
|
||||
<span>{{ calculateDuration(store.dispatcherStatsData.services.durationMax) }}</span>
|
||||
|
||||
<span class="stat-badge" v-if="stats.services">
|
||||
<span>{{ $t('journal.dispatcher-stats.service-avg') }}</span>
|
||||
<span>{{ calculateDuration(stats.services.durationAvg) }}</span>
|
||||
</span>
|
||||
<span class="stat-badge">
|
||||
<span>ŚREDNI CZAS DYŻURU</span>
|
||||
<span>{{ calculateDuration(store.dispatcherStatsData.services.durationAvg) }}</span>
|
||||
</div>
|
||||
|
||||
<hr style="margin: 1em 0" />
|
||||
|
||||
<div class="info-stats">
|
||||
<span class="stat-badge" v-if="stats.issuedTimetables">
|
||||
<span>{{ $t('journal.dispatcher-stats.timetables-count') }}</span>
|
||||
<span>{{ stats.issuedTimetables.count }}</span>
|
||||
</span>
|
||||
<span class="stat-badge">
|
||||
<span>SUMA WYSTAWIONYCH RJ</span>
|
||||
<span>{{ store.dispatcherStatsData.issuedTimetables.distanceSum.toFixed(2) }}km</span>
|
||||
|
||||
<span class="stat-badge" v-if="stats.issuedTimetables">
|
||||
<span>{{ $t('journal.dispatcher-stats.timetables-sum') }}</span>
|
||||
<span>{{ stats.issuedTimetables.distanceSum.toFixed(2) }}km</span>
|
||||
</span>
|
||||
<span class="stat-badge">
|
||||
<span>NAJDŁUŻSZY WYSTAWIONY RJ</span>
|
||||
<span>{{ store.dispatcherStatsData.issuedTimetables.distanceMax.toFixed(2) }}km</span>
|
||||
|
||||
<span class="stat-badge" v-if="stats.issuedTimetables">
|
||||
<span>{{ $t('journal.dispatcher-stats.timetables-max') }}</span>
|
||||
<span>{{ stats.issuedTimetables.distanceMax.toFixed(2) }}km</span>
|
||||
</span>
|
||||
<span class="stat-badge">
|
||||
<span>ŚREDNIA WYSTAWIONYCH RJ</span>
|
||||
<span>{{ store.dispatcherStatsData.issuedTimetables.distanceAvg.toFixed(2) }}km</span>
|
||||
|
||||
<span class="stat-badge" v-if="stats.issuedTimetables">
|
||||
<span>{{ $t('journal.dispatcher-stats.timetables-avg') }}</span>
|
||||
<span>{{ stats.issuedTimetables.distanceAvg.toFixed(2) }}km</span>
|
||||
</span>
|
||||
</div>
|
||||
</span>
|
||||
@@ -69,7 +73,8 @@ export default defineComponent({
|
||||
const store = useMainStore();
|
||||
|
||||
return {
|
||||
store
|
||||
stats: store.dispatcherStatsData,
|
||||
dispatcherName: store.dispatcherStatsName
|
||||
};
|
||||
}
|
||||
});
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<div class="journal-stats driver" v-if="store.driverStatsData">
|
||||
<span>
|
||||
<h3>
|
||||
<i18n-t keypath="journal.driver-stats-title">
|
||||
<i18n-t keypath="journal.driver-stats.title">
|
||||
<template #name>
|
||||
<span class="text--primary">{{ store.driverStatsName.toUpperCase() }}</span>
|
||||
</template>
|
||||
@@ -13,7 +13,7 @@
|
||||
|
||||
<div class="info-stats">
|
||||
<span class="stat-badge">
|
||||
<span>{{ $t('journal.stats-timetables') }}</span>
|
||||
<span>{{ $t('journal.driver-stats.timetables') }}</span>
|
||||
<span
|
||||
>{{ store.driverStatsData._count.fulfilled }} /
|
||||
{{ store.driverStatsData._count._all }}</span
|
||||
@@ -21,17 +21,17 @@
|
||||
</span>
|
||||
|
||||
<span class="stat-badge">
|
||||
<span>{{ $t('journal.stats-longest-timetable') }}</span>
|
||||
<span>{{ $t('journal.driver-stats.longest-timetable') }}</span>
|
||||
<span> {{ store.driverStatsData._max.routeDistance.toFixed(2) }}km </span>
|
||||
</span>
|
||||
|
||||
<span class="stat-badge">
|
||||
<span>{{ $t('journal.stats-avg-timetable') }}</span>
|
||||
<span>{{ $t('journal.driver-stats.avg-timetable') }}</span>
|
||||
<span> {{ store.driverStatsData._avg.routeDistance.toFixed(2) }}km </span>
|
||||
</span>
|
||||
|
||||
<span class="stat-badge">
|
||||
<span>{{ $t('journal.stats-distance') }}</span>
|
||||
<span>{{ $t('journal.driver-stats.distance') }}</span>
|
||||
<span>
|
||||
{{ store.driverStatsData._sum.currentDistance.toFixed(2) }} /
|
||||
{{ store.driverStatsData._sum.routeDistance.toFixed(2) }}km
|
||||
@@ -39,7 +39,7 @@
|
||||
</span>
|
||||
|
||||
<span class="stat-badge">
|
||||
<span>{{ $t('journal.stats-stations') }}</span>
|
||||
<span>{{ $t('journal.driver-stats.stations') }}</span>
|
||||
<span>
|
||||
{{ store.driverStatsData._sum.confirmedStopsCount }} /
|
||||
{{ store.driverStatsData._sum.allStopsCount }}
|
||||
@@ -47,14 +47,6 @@
|
||||
</span>
|
||||
</div>
|
||||
</span>
|
||||
|
||||
<!-- <b v-else-if="store.driverStatsStatus == Status.Data.Loading">{{
|
||||
$t('journal.stats-loading')
|
||||
}}</b>
|
||||
<b v-else-if="store.driverStatsStatus == Status.Data.Error">
|
||||
{{ $t('journal.stats-error ') }}
|
||||
</b>
|
||||
<b v-else>{{ $t('journal.driver-stats-info') }}</b> -->
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user