|
|
@ -1,7 +1,6 @@ |
|
|
|
<template> |
|
|
|
<template> |
|
|
|
<div> |
|
|
|
<div> |
|
|
|
<h5><i class="fas fa-clock"></i> Tracker</h5> |
|
|
|
<h5><i class="fas fa-clock"></i> Tracker</h5> |
|
|
|
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> |
|
|
|
|
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class="row"> |
|
|
|
<div class="row"> |
|
|
|
<div class="col-md-6" v-for="(tracker, trackerIndex) in $store.state.trackers" v-bind:key="trackerIndex"> |
|
|
|
<div class="col-md-6" v-for="(tracker, trackerIndex) in $store.state.trackers" v-bind:key="trackerIndex"> |
|
|
@ -26,13 +25,13 @@ |
|
|
|
</button> |
|
|
|
</button> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class="col"> |
|
|
|
<div class="col"> |
|
|
|
<button class="btn btn-warning tracker-action-button" data-bs-dismiss="modal" |
|
|
|
<button class="btn btn-warning tracker-action-button" |
|
|
|
@click="archiveTracker(trackerIndex)" title="Archivieren"> |
|
|
|
@click="archiveTracker(trackerIndex)" title="Archivieren"> |
|
|
|
<i class="fas fa-archive"></i> |
|
|
|
<i class="fas fa-archive"></i> |
|
|
|
</button> |
|
|
|
</button> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class="col" v-if="tracker.history.length > 0"> |
|
|
|
<div class="col" v-if="tracker.history.length > 0"> |
|
|
|
<button class="btn btn-info tracker-action-button" data-bs-dismiss="modal" |
|
|
|
<button class="btn btn-info tracker-action-button" |
|
|
|
@click="showHistoryForTracker(tracker)" title="History"> |
|
|
|
@click="showHistoryForTracker(tracker)" title="History"> |
|
|
|
<i class="fas fa-history"></i> |
|
|
|
<i class="fas fa-history"></i> |
|
|
|
</button> |
|
|
|
</button> |
|
|
@ -58,8 +57,7 @@ |
|
|
|
|
|
|
|
|
|
|
|
<script> |
|
|
|
<script> |
|
|
|
import moment from "moment"; |
|
|
|
import moment from "moment"; |
|
|
|
import bootstrap from "bootstrap"; |
|
|
|
import { Offcanvas } from "bootstrap"; |
|
|
|
import iziToast from "izitoast"; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
export default { |
|
|
|
export default { |
|
|
|
name: "TrackersDetail", |
|
|
|
name: "TrackersDetail", |
|
|
@ -89,7 +87,7 @@ export default { |
|
|
|
timeWithPostFix(time) { |
|
|
|
timeWithPostFix(time) { |
|
|
|
let postFix = ' Minute'; |
|
|
|
let postFix = ' Minute'; |
|
|
|
|
|
|
|
|
|
|
|
if (time >= 480 && this.showPT) { |
|
|
|
if (time >= 480 && this.$store.state.settings.showPT) { |
|
|
|
postFix = ' PT'; |
|
|
|
postFix = ' PT'; |
|
|
|
time = (time / 480).toFixed(1); |
|
|
|
time = (time / 480).toFixed(1); |
|
|
|
} else if (time >= 60 || this.$store.state.settings.dontShowMinutes) { |
|
|
|
} else if (time >= 60 || this.$store.state.settings.dontShowMinutes) { |
|
|
@ -129,40 +127,20 @@ export default { |
|
|
|
showHistoryForTracker(tracker) { |
|
|
|
showHistoryForTracker(tracker) { |
|
|
|
this.$store.commit('selectTracker', tracker); |
|
|
|
this.$store.commit('selectTracker', tracker); |
|
|
|
setTimeout(() => { |
|
|
|
setTimeout(() => { |
|
|
|
let historyModal = new bootstrap.Modal(document.getElementById('historyModal')); |
|
|
|
let historyCanvas = new Offcanvas(document.getElementById('historyCancas')); |
|
|
|
historyModal.toggle(); |
|
|
|
historyCanvas.toggle(); |
|
|
|
}, 50); |
|
|
|
}, 50); |
|
|
|
}, |
|
|
|
}, |
|
|
|
bookTimeManually(tracker, minutes) { |
|
|
|
|
|
|
|
tracker.history.pushToBeginning({ |
|
|
|
|
|
|
|
trackingStarted: moment(), |
|
|
|
|
|
|
|
trackingStopped: moment(), |
|
|
|
|
|
|
|
manually: true, |
|
|
|
|
|
|
|
minutes: Math.round(minutes) |
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
this.$store.commit('saveTrackers'); |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
showCustomBookingForTracker(tracker) { |
|
|
|
showCustomBookingForTracker(tracker) { |
|
|
|
this.selectedTracker = tracker; |
|
|
|
this.$store.commit('selectTracker', tracker); |
|
|
|
this.$forceUpdate(); |
|
|
|
this.$forceUpdate(); |
|
|
|
|
|
|
|
|
|
|
|
setTimeout(() => { |
|
|
|
setTimeout(() => { |
|
|
|
let customBookingModal = new bootstrap.Modal(document.getElementById('customBookingModal')); |
|
|
|
let customBookingCanvas = new Offcanvas(document.getElementById('customBookingCanvas')); |
|
|
|
customBookingModal.toggle(); |
|
|
|
customBookingCanvas.toggle(); |
|
|
|
}, 50); |
|
|
|
}, 50); |
|
|
|
}, |
|
|
|
}, |
|
|
|
makeCustomBooking(subtract = false) { |
|
|
|
|
|
|
|
if (subtract) { |
|
|
|
|
|
|
|
this.customBookingValue -= (this.customBookingValue * 2) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
iziToast.show({ |
|
|
|
|
|
|
|
message: 'Buchung erfolgreich', |
|
|
|
|
|
|
|
color: 'green' |
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
this.bookTimeManually(this.selectedTracker, this.customBookingValue); |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
</script> |
|
|
|
</script> |
|
|
|