|
|
|
@ -22,9 +22,8 @@
@@ -22,9 +22,8 @@
|
|
|
|
|
<div class="row"> |
|
|
|
|
<div class="col-md-12"> |
|
|
|
|
<div class="row"> |
|
|
|
|
<div class=" col-lg-4 col-md-6" |
|
|
|
|
v-for="(ticket, ticketIndex) in trackedTickets" |
|
|
|
|
v-if="!ticket.archived"> |
|
|
|
|
<template v-for="ticket in tickets"> |
|
|
|
|
<div class="col-lg-4 col-md-6"> |
|
|
|
|
<div class="card bg-gradient-secondary"> |
|
|
|
|
<div class="card-body"> |
|
|
|
|
<div class="card-text"> |
|
|
|
@ -61,7 +60,7 @@
@@ -61,7 +60,7 @@
|
|
|
|
|
<span class="">Heute: </span> |
|
|
|
|
|
|
|
|
|
<div class="row"> |
|
|
|
|
<div class="col-md-12" v-if="ticket.tracking == false"> |
|
|
|
|
<div class="col-md-12" v-if="!ticket.tracking"> |
|
|
|
|
<button type="button" class="btn btn-info ticket-action-button" |
|
|
|
|
@click="startTracking(ticket)"> |
|
|
|
|
<i class="far fa-play-circle"></i> |
|
|
|
@ -79,6 +78,7 @@
@@ -79,6 +78,7 @@
|
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
</template> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
@ -87,13 +87,13 @@
@@ -87,13 +87,13 @@
|
|
|
|
|
<i class="fas fa-plus"></i> |
|
|
|
|
</a> |
|
|
|
|
|
|
|
|
|
<a type="button" :class="'btn btn-primary side-button-right text-light ' + (archivedTrackers > 0 ? 'third-button' : 'second-button')" data-toggle="modal" |
|
|
|
|
data-target="#showTrackedTicketsModal" v-if="activeTrackers > 0"> |
|
|
|
|
<a type="button" :class="'btn btn-primary side-button-right text-light ' + (archive.length > 0 ? 'third-button' : 'second-button')" data-toggle="modal" |
|
|
|
|
data-target="#showTicketsModal" v-if="tickets.length > 0"> |
|
|
|
|
<i class="fas fa-user-clock"></i> |
|
|
|
|
</a> |
|
|
|
|
|
|
|
|
|
<a type="button" :class="'btn btn-secondary side-button-right text-dark second-button'" data-toggle="modal" |
|
|
|
|
data-target="#showArchivedTicketsModal" v-if="archivedTrackers > 0"> |
|
|
|
|
data-target="#showArchivedTicketsModal" v-if="archive.length > 0"> |
|
|
|
|
<i class="fas fa-archive"></i> |
|
|
|
|
</a> |
|
|
|
|
|
|
|
|
@ -102,10 +102,10 @@
@@ -102,10 +102,10 @@
|
|
|
|
|
<i class="fas fa-sliders-h"></i> |
|
|
|
|
</a> |
|
|
|
|
|
|
|
|
|
<div class="modal modal-fullscreen fade" id="showTrackedTicketsModal" tabindex="-1" role="dialog" |
|
|
|
|
aria-labelledby="showTrackedTicketsModalLabel" |
|
|
|
|
<div class="modal modal-fullscreen fade" id="showTicketsModal" tabindex="-1" role="dialog" |
|
|
|
|
aria-labelledby="showTicketsModalLabel" |
|
|
|
|
aria-hidden="true"> |
|
|
|
|
<div class="modal-dialog showTrackedTicketsModalDialog" role="document"> |
|
|
|
|
<div class="modal-dialog showTicketsModalDialog" role="document"> |
|
|
|
|
<div class="modal-content"> |
|
|
|
|
<div class="modal-header"> |
|
|
|
|
<h5 class="modal-title"><i class="fas fa-user-clock"></i> Tracker</h5> |
|
|
|
@ -113,14 +113,15 @@
@@ -113,14 +113,15 @@
|
|
|
|
|
</div> |
|
|
|
|
<div class="modal-body"> |
|
|
|
|
<div class="row"> |
|
|
|
|
<div class="col-md-6" v-for="(ticket, ticketIndex) in trackedTickets" v-if="!ticket.archived"> |
|
|
|
|
<template v-for="(ticket, ticketIndex) in tickets"> |
|
|
|
|
<div class="col-md-6"> |
|
|
|
|
<h6><span v-if="isTicketNumber(ticket.number)"></span>{{ ticket.number }}</h6> |
|
|
|
|
|
|
|
|
|
<div class="form-group"> |
|
|
|
|
<input type="text" class="form-control" v-model="ticket.description" @keydown="updateStorage()" placeholder="Beschreibung"> |
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
<span>Gesamtzeit: {{ getTotalTime(ticket) }}</span> |
|
|
|
|
<span v-if="getTotalTime(ticket) > 0">Gesamtzeit: {{ getTotalTime(ticket) }}</span> |
|
|
|
|
<br> |
|
|
|
|
<div class="row"> |
|
|
|
|
<div class="col-md-3"> |
|
|
|
@ -149,7 +150,7 @@
@@ -149,7 +150,7 @@
|
|
|
|
|
</div> |
|
|
|
|
<div class="col"> |
|
|
|
|
<button class="btn btn-secondary ticket-action-button" data-bs-dismiss="modal" |
|
|
|
|
@click="archiveTicket(ticket)" title="Archivieren"> |
|
|
|
|
@click="archiveTicket(ticketIndex)" title="Archivieren"> |
|
|
|
|
<i class="fas fa-archive"></i> |
|
|
|
|
</button> |
|
|
|
|
</div> |
|
|
|
@ -172,7 +173,9 @@
@@ -172,7 +173,9 @@
|
|
|
|
|
</a> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
<br/> |
|
|
|
|
</div> |
|
|
|
|
</template> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
@ -190,17 +193,18 @@
@@ -190,17 +193,18 @@
|
|
|
|
|
</div> |
|
|
|
|
<div class="modal-body"> |
|
|
|
|
<div class="row"> |
|
|
|
|
<div class="col-md-6" v-for="(ticket, ticketIndex) in trackedTickets" v-if="ticket.archived"> |
|
|
|
|
<template v-for="(ticket, ticketIndex) in archive"> |
|
|
|
|
<div class="col-md-6"> |
|
|
|
|
<h6><span v-if="isTicketNumber(ticket.number)"></span>{{ ticket.number }}</h6> |
|
|
|
|
<div v-if="ticket.description"> |
|
|
|
|
<p class="blockquote">{{ ticket.description }}</p> |
|
|
|
|
</div> |
|
|
|
|
<span>Gesamtzeit: {{ getTotalTime(ticket) }}</span> |
|
|
|
|
<span v-if="getTotalTime(ticket) > 0">Gesamtzeit: {{ getTotalTime(ticket) }}</span> |
|
|
|
|
<br> |
|
|
|
|
<div class="col-md-12 row"> |
|
|
|
|
<div class="col"> |
|
|
|
|
<button class="btn btn-success ticket-action-button" data-bs-dismiss="modal" |
|
|
|
|
@click="reactivateTicket(ticket)" title="Reaktivieren"> |
|
|
|
|
@click="reactivateTicket(ticketIndex)" title="Reaktivieren"> |
|
|
|
|
<i class="fas fa-power-off"></i> |
|
|
|
|
</button> |
|
|
|
|
</div> |
|
|
|
@ -223,7 +227,9 @@
@@ -223,7 +227,9 @@
|
|
|
|
|
</a> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
<br/> |
|
|
|
|
</div> |
|
|
|
|
</template> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
@ -309,7 +315,8 @@
@@ -309,7 +315,8 @@
|
|
|
|
|
</div> |
|
|
|
|
<div class="modal-body"> |
|
|
|
|
<ul class="list-group ticket-history"> |
|
|
|
|
<li class="list-group-item" v-for="(tracker, historyIndex) in selectedTicket.history" v-if="!tracker.manually"> |
|
|
|
|
<template v-for="(tracker, historyIndex) in selectedTicket.history"> |
|
|
|
|
<li class="list-group-item" v-if="!tracker.manually"> |
|
|
|
|
<div> |
|
|
|
|
<div class="float-end" :title="exactTimestamp(tracker.trackingStarted)"> |
|
|
|
|
{{ formattedDate(tracker.trackingStarted) }} |
|
|
|
@ -333,8 +340,10 @@
@@ -333,8 +340,10 @@
|
|
|
|
|
</a> |
|
|
|
|
<br/> |
|
|
|
|
</li> |
|
|
|
|
<li class="list-group-item bg-light" v-for="(tracker, historyIndex) in selectedTicket.history" |
|
|
|
|
v-if="tracker.manually && tracker.manually == true"> |
|
|
|
|
</template> |
|
|
|
|
<template v-for="(tracker, historyIndex) in selectedTicket.history"> |
|
|
|
|
<li class="list-group-item bg-light" |
|
|
|
|
v-if="tracker.manually"> |
|
|
|
|
<div> |
|
|
|
|
<div class="float-end" :title="exactTimestamp(tracker.trackingStarted)"> |
|
|
|
|
{{ formattedDate(tracker.trackingStarted) }} |
|
|
|
@ -352,17 +361,17 @@
@@ -352,17 +361,17 @@
|
|
|
|
|
</a> |
|
|
|
|
<br/> |
|
|
|
|
</li> |
|
|
|
|
</template> |
|
|
|
|
</ul> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
<script src="https://kit.fontawesome.com/b54a4cceff.js" crossorigin="anonymous"></script> |
|
|
|
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment-with-locales.min.js"></script> |
|
|
|
|
<script src="js/vue.js"></script> |
|
|
|
|
<script src="https://unpkg.com/vue@next"></script> |
|
|
|
|
<script src="https://code.jquery.com/jquery-3.4.1.slim.min.js"></script> |
|
|
|
|
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js"></script> |
|
|
|
|
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js"></script> |
|
|
|
|