statystyki dr (c.d.) + tłumaczenia

This commit is contained in:
2023-12-19 22:11:17 +01:00
parent 00a4a840b0
commit adce339392
7 changed files with 127 additions and 111 deletions
@@ -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">
&bull;
<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">
&bull;
<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">
&bull;
<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">
&bull;
<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">
&bull;
<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">
&bull;
<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>