poprawki requestów statystyk; organizacja kodu

This commit is contained in:
2023-12-20 23:55:42 +01:00
parent adce339392
commit 3c728e3cfa
10 changed files with 104 additions and 128 deletions
@@ -61,8 +61,8 @@
<script lang="ts">
import { defineComponent } from 'vue';
import { useMainStore } from '../../store/mainStore';
import dateMixin from '../../mixins/dateMixin';
import dateMixin from '../../../mixins/dateMixin';
import { useMainStore } from '../../../store/mainStore';
export default defineComponent({
name: 'journal-dispatcher-stats',
@@ -81,5 +81,5 @@ export default defineComponent({
</script>
<style lang="scss" scoped>
@import '../../styles/JournalStats.scss';
@import '../../../styles/JournalStats.scss';
</style>
@@ -123,15 +123,15 @@
<script lang="ts">
import { defineComponent, PropType } from 'vue';
import dateMixin from '../../mixins/dateMixin';
import styleMixin from '../../mixins/styleMixin';
import { useMainStore } from '../../store/mainStore';
import Loading from '../Global/Loading.vue';
import { regions } from '../../data/options.json';
import AddDataButton from '../Global/AddDataButton.vue';
import { API } from '../../typings/api';
import { Status } from '../../typings/common';
import donatorMixin from '../../mixins/donatorMixin';
import { regions } from '../../../data/options.json';
import { useMainStore } from '../../../store/mainStore';
import { API } from '../../../typings/api';
import { Status } from '../../../typings/common';
import Loading from '../../Global/Loading.vue';
import AddDataButton from '../../Global/AddDataButton.vue';
import dateMixin from '../../../mixins/dateMixin';
import donatorMixin from '../../../mixins/donatorMixin';
import styleMixin from '../../../mixins/styleMixin';
export default defineComponent({
components: { Loading, AddDataButton },
@@ -200,11 +200,11 @@ export default defineComponent({
</script>
<style lang="scss" scoped>
@import '../../styles/animations.scss';
@import '../../styles/responsive.scss';
@import '../../styles/badge.scss';
@import '../../styles/variables.scss';
@import '../../styles/JournalSection.scss';
@import '../../../styles/animations.scss';
@import '../../../styles/responsive.scss';
@import '../../../styles/badge.scss';
@import '../../../styles/variables.scss';
@import '../../../styles/JournalSection.scss';
table.scenery-history-table {
--_bg-table: #111;
@@ -248,7 +248,7 @@ export default defineComponent({
} catch (error) {
this[`${type}Suggestions`] = [];
}
}, 450);
}, 250);
},
// Override keyMixin function
+2 -63
View File
@@ -45,11 +45,8 @@ import { useMainStore } from '../../store/mainStore';
import StorageManager from '../../managers/storageManager';
import { Journal } from './typings';
import JournalDailyStats from './JournalDailyStats.vue';
import JournalDispatcherStats from './JournalDispatcherStats.vue';
import JournalDriverStats from './JournalDriverStats.vue';
import { Status } from '../../typings/common';
import http from '../../http';
import { API } from '../../typings/api';
import JournalDispatcherStats from '../JournalView/JournalDispatchers/JournalDispatcherStats.vue';
import JournalDriverStats from '../JournalView/JournalTimetables/JournalDriverStats.vue';
export default defineComponent({
components: { JournalDailyStats, JournalDriverStats, JournalDispatcherStats },
@@ -67,69 +64,11 @@ export default defineComponent({
};
},
watch: {
async 'mainStore.driverStatsName'(val) {
await this.fetchDriverStats();
},
async 'mainStore.dispatcherStatsName'() {
await this.fetchDispatcherStats();
}
},
methods: {
onTabButtonClick(tab: Journal.StatsTab) {
this.currentStatsTab = tab == this.currentStatsTab ? null : tab;
StorageManager.setStringValue('journalStatsTab', this.currentStatsTab ?? '');
},
async fetchDriverStats() {
if (!this.mainStore.driverStatsName) {
this.mainStore.driverStatsData = undefined;
this.mainStore.driverStatsStatus = Status.Data.Initialized;
return;
}
try {
this.mainStore.driverStatsStatus = Status.Data.Loading;
const statsData: API.DriverStats.Response = await (
await http.get(`api/getDriverInfo?name=${this.mainStore.driverStatsName}`)
).data;
this.mainStore.driverStatsData = statsData;
this.mainStore.driverStatsStatus = Status.Data.Loaded;
} catch (error) {
this.mainStore.driverStatsData = undefined;
this.mainStore.driverStatsStatus = Status.Data.Error;
console.error('Ups! Wystąpił błąd przy próbie pobrania statystyk maszynisty! :/');
}
},
async fetchDispatcherStats() {
if (!this.mainStore.dispatcherStatsName) {
this.mainStore.dispatcherStatsData = undefined;
return;
}
try {
const statsData: API.DispatcherStats.Response = await (
await http.get('api/getDispatcherStats', {
params: {
name: this.mainStore.dispatcherStatsName
}
})
).data;
console.log(statsData);
this.mainStore.dispatcherStatsData = statsData;
} catch (error) {
this.mainStore.dispatcherStatsData = undefined;
console.error('Ups! Wystąpił błąd przy próbie pobrania statystyk dyżurnego! :/');
}
}
}
});
@@ -52,8 +52,8 @@
<script lang="ts">
import { defineComponent } from 'vue';
import { useMainStore } from '../../store/mainStore';
import { Status } from '../../typings/common';
import { useMainStore } from '../../../store/mainStore';
import { Status } from '../../../typings/common';
export default defineComponent({
name: 'journal-driver-stats',
@@ -68,5 +68,5 @@ export default defineComponent({
</script>
<style lang="scss" scoped>
@import '../../styles/JournalStats.scss';
@import '../../../styles/JournalStats.scss';
</style>