|
|
|
@ -12,6 +12,13 @@ const TimeTrack = {
@@ -12,6 +12,13 @@ const TimeTrack = {
|
|
|
|
|
}, |
|
|
|
|
tickets: [], |
|
|
|
|
archive: [], |
|
|
|
|
worktimeTracker: { |
|
|
|
|
tracking: false, |
|
|
|
|
number: 'Worktime', |
|
|
|
|
trackingStarted: null, |
|
|
|
|
trackingStopped: null, |
|
|
|
|
history: [] |
|
|
|
|
}, |
|
|
|
|
selectedTicket: null, |
|
|
|
|
searchQuery: '', |
|
|
|
|
portal: '', |
|
|
|
@ -115,8 +122,11 @@ const TimeTrack = {
@@ -115,8 +122,11 @@ const TimeTrack = {
|
|
|
|
|
this.tickets.push(newTicket); |
|
|
|
|
this.updateStorage(); |
|
|
|
|
}, |
|
|
|
|
startTracking(ticket) { |
|
|
|
|
startTracking(ticket, individual = false) { |
|
|
|
|
if (!individual) { |
|
|
|
|
this.stopTrackingTicket(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
ticket.trackingStarted = moment(); |
|
|
|
|
ticket.tracking = true; |
|
|
|
|
|
|
|
|
@ -137,13 +147,18 @@ const TimeTrack = {
@@ -137,13 +147,18 @@ const TimeTrack = {
|
|
|
|
|
ticket.trackingStopped.diff(ticket.trackingStarted) |
|
|
|
|
).as('minutes'); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ticket.history.push({ |
|
|
|
|
let historyEntry = { |
|
|
|
|
trackingStarted: ticket.trackingStarted, |
|
|
|
|
trackingStopped: ticket.trackingStopped, |
|
|
|
|
manually: false, |
|
|
|
|
minutes: Math.round(minutesSpent) |
|
|
|
|
}); |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
if (ticket.paused) { |
|
|
|
|
historyEntry.pause = true; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
ticket.history.push(); |
|
|
|
|
|
|
|
|
|
ticket.trackingStarted = null; |
|
|
|
|
ticket.trackingStopped = null; |
|
|
|
@ -151,6 +166,27 @@ const TimeTrack = {
@@ -151,6 +166,27 @@ const TimeTrack = {
|
|
|
|
|
this.$forceUpdate(); |
|
|
|
|
this.updateStorage(); |
|
|
|
|
}, |
|
|
|
|
pauseTracking(ticket) { |
|
|
|
|
ticket.trackingStopped = moment(); |
|
|
|
|
ticket.tracking = false; |
|
|
|
|
ticket.paused = true; |
|
|
|
|
|
|
|
|
|
this.stopTracking(ticket); |
|
|
|
|
}, |
|
|
|
|
resumeTracking(ticket) { |
|
|
|
|
ticket.trackingStarted = moment(); |
|
|
|
|
ticket.tracking = true; |
|
|
|
|
ticket.paused = false; |
|
|
|
|
|
|
|
|
|
let noNoTickets = ['#1920', '#3110', '#2492', '#2419', '#1256']; |
|
|
|
|
|
|
|
|
|
if (this.fun && noNoTickets.includes(ticket.number)) { |
|
|
|
|
playSound(oneOf(this.sounds.bad)) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
this.$forceUpdate(); |
|
|
|
|
this.updateStorage(); |
|
|
|
|
}, |
|
|
|
|
formattedDate(date) { |
|
|
|
|
return moment(date).format('llll'); |
|
|
|
|
}, |
|
|
|
|