| # | +Name | ++ | + |
|---|---|---|---|
| {{ index + 1 }} | +{{ client.name }} | +
+ |
+
+ |
+
+ Total time: {{ formatHoursMinutes(totalDuration) }} · + Total costs: {{ (totalCost / 100).toFixed(2) }} +
+ +No data to display
+No data to display
+| # | +Project | +Target Hours | +Interval | +Started At | +Hours spent current interval | +Past Debt in Hours | +Remaining Hours | +Total Remaining Hours | ++ |
|---|---|---|---|---|---|---|---|---|---|
| {{ index + 1 }} | +{{ goal.projectName }} | +{{ goal.hours }} | +{{ goal.interval }} | +{{ new Date(goal.createdAt * 1000).toDateString() }} | +{{ goal.workedHoursCurrentPeriod }} | +{{ goal.debtHours }} | +{{ goal.remainingHours }} | +{{ goal.totalRemainingHours }} | +
+ |
+
| # | +Color | +Name | +Client | +Locked | +Archived | ++ |
|---|---|---|---|---|---|---|
| {{ index + 1 }} | ++ | {{ project.name }} | +{{ project.client }} | +{{ project.locked ? 'Yes' : 'No' }} | +{{ project.archived ? 'Yes' : 'No' }} | +
+ |
+
| # | +Name | +Details | +User | +Project | +Client | +When | +Cost | +Total Duration | +
|---|---|---|---|---|---|---|---|---|
| {{ index + 1 }} | +{{ item.name }} | +{{ item.details }} | +{{ item.userUid }} | +{{ item.project }} | +{{ item.client }} | +{{ formatWhen(item) }} | +{{ ((item.cost || 0) / 100).toFixed(2) }} | +{{ formatDuration(item.totalDuration) }} | +
| Totals | +{{ (totalCost / 100).toFixed(2) }} | +{{ formatDuration(totalDuration) }} | +||||||
| # | +Name | ++ | + |
|---|---|---|---|
| {{ index + 1 }} | +{{ tag.name }} | +
+ |
+
+ |
+
| # | +Id | +User | +Status | +When | +Total Duration | +Created At | ++ | + |
|---|---|---|---|---|---|---|---|---|
| {{ index + 1 }} | +{{ tl.id }} | +{{ tl.userUid }} | +{{ tl.status }} | +{{ tl.timeInterval }} | +{{ formatDuration(tl.totalDuration) }} | +{{ new Date(tl.createdAt * 1000).toLocaleString() }} | +Download | +
+ |
+
| # | +Name | +User | +Project | +Client | +When | +Total Duration | +
|---|---|---|---|---|---|---|
| {{ index + 1 }} | +{{ item.name }} | +{{ item.userUid }} | +{{ item.project }} | +{{ item.client }} | +{{ item.ftime || item.time }} | +{{ formatDuration(item.totalDuration) }} | +
| # | +Id | +Status | +When | +Total Duration | +Created At | ++ | + | + |
|---|---|---|---|---|---|---|---|---|
| {{ index + 1 }} | +{{ tl.id }} | +{{ tl.status }} | +{{ tl.timeInterval }} | +{{ formatDuration(tl.totalDuration) }} | +{{ new Date(tl.createdAt * 1000).toLocaleString() }} | +Download | +
+ |
+
+ |
+
| + | Name / Details | +Project | +Tags | +Duration | +Cost | ++ |
|---|---|---|---|---|---|---|
|
+ |
+
+ {{ item.name }}
+ {{ item.details }}
+ |
+
+ |
+
+ |
+ {{ formatDuration(item.duration) }} | +
+ |
+
+ |
+