diff --git a/app/src/plugins/tm@dashboard/_components/z-timeline.vue b/app/src/plugins/tm@dashboard/_components/z-timeline.vue index 226d9ef..e5a9482 100644 --- a/app/src/plugins/tm@dashboard/_components/z-timeline.vue +++ b/app/src/plugins/tm@dashboard/_components/z-timeline.vue @@ -45,6 +45,7 @@

{{split.fullname}}

{{split.unscheduledTime}} h

+

{{split.scheduledTime}} h

diff --git a/app/src/plugins/tm@dashboard/tasks/_utils/timeline.utils.ts b/app/src/plugins/tm@dashboard/tasks/_utils/timeline.utils.ts index 2609763..74b3cef 100644 --- a/app/src/plugins/tm@dashboard/tasks/_utils/timeline.utils.ts +++ b/app/src/plugins/tm@dashboard/tasks/_utils/timeline.utils.ts @@ -21,6 +21,13 @@ export default { return unscheduledTime }, + getScheduledTime(subtasks) { + let scheduledTime = 0 + subtasks.forEach(subtask => scheduledTime += subtask.spent_time) + + return scheduledTime + }, + isWeekend(date) { return moment(date).day() % 6 == 0 }, diff --git a/app/src/plugins/tm@dashboard/tasks/tasks.vue b/app/src/plugins/tm@dashboard/tasks/tasks.vue index a8c7ed7..e7eebfb 100644 --- a/app/src/plugins/tm@dashboard/tasks/tasks.vue +++ b/app/src/plugins/tm@dashboard/tasks/tasks.vue @@ -102,6 +102,7 @@ export default { fullname: `${this.filter.employee.name} ${this.filter.employee.surname}`, initials: this.filter.employee.name.charAt(0).toUpperCase() + this.filter.employee.surname.charAt(0).toUpperCase(), unscheduledTime: (unscheduledTime / 60).toFixed(1), + scheduledTime: (schedulesCapacityBySplit[i + 1] / 60).toFixed(1), date: addDays(this.filter.start, i), isHomeoffice: homeoffice[i] ? true : false, isWeekend: timelineUtils.isWeekend(addDays(this.filter.start, i)) diff --git a/app/src/plugins/tm@dashboard/teams/_mixins/TeamsCalendar.mixin.ts b/app/src/plugins/tm@dashboard/teams/_mixins/TeamsCalendar.mixin.ts index a3d36ee..48ebfec 100644 --- a/app/src/plugins/tm@dashboard/teams/_mixins/TeamsCalendar.mixin.ts +++ b/app/src/plugins/tm@dashboard/teams/_mixins/TeamsCalendar.mixin.ts @@ -25,6 +25,7 @@ export default { const selectedDate = moment(this.filter.start) const capacityMinutes = this._getRemainingWorkCapacityMinutes(employee) let scheduledCapacityMinutes = 0 + let totalScheduledTime = 0 this.calendarData.tasks.forEach(task => { // console.log(task) @@ -35,13 +36,16 @@ export default { return if (selectedDate.isBefore(moment(), 'days')) { + totalScheduledTime += timelineUtils._getDifferenceInMinutes(task._real_end, task._real_start) // Past return } else if (selectedDate.isSame(moment(), 'days')) { + totalScheduledTime += timelineUtils._getDifferenceInMinutes(task._real_end, task._real_start) // Today } else { scheduledCapacityMinutes += timelineUtils._getDifferenceInMinutes(task._real_end, task._real_start) + totalScheduledTime += timelineUtils._getDifferenceInMinutes(task._real_end, task._real_start) } }) @@ -61,6 +65,7 @@ export default { fullname: `${employee.name} ${employee.surname}`, initials: employee.name.charAt(0).toUpperCase() + employee.surname.charAt(0).toUpperCase(), unscheduledTime: unscheduledTime > 0 ? (unscheduledTime / 60).toFixed(1) : 0, + scheduledTime: totalScheduledTime > 0 ? (totalScheduledTime / 60).toFixed(1) : 0, isHomeoffice: homeoffice[index + 1] ? true : false }) }) diff --git a/app/src/plugins/tm@modal/master-task/z-master-task-modal.vue b/app/src/plugins/tm@modal/master-task/z-master-task-modal.vue index 0ef4897..c6045ac 100644 --- a/app/src/plugins/tm@modal/master-task/z-master-task-modal.vue +++ b/app/src/plugins/tm@modal/master-task/z-master-task-modal.vue @@ -248,22 +248,11 @@ export default { this.$events.emit('show-delete-team-member-modal', { member, team }) }, - async showModal({ mastertask, editMode = false }) { - this.isSaving = false - this.editMode = null - this.visible = true - this.mastertask = null - this.$nextTick(() => { - this.setFocusEvent() - this.v$.$reset() - }) - + async loadMastertask(id) { try { - if (mastertask?.id) { - this.mastertask = await this.$axios.get_auth_data(`v1/mastertasks/${mastertask.id}`) + this.mastertask = await this.$axios.get_auth_data(`v1/mastertasks/${id}`) // TODO zmazat ked zacne prichadzat project_id a team_id - console.log('1', this.mastertask) const project = this.projects.find((project) => project.code == this.mastertask.project_code) this.mastertask.project_id = project?.id || null this.mastertask.team_id = this.mastertask.team?.id || null @@ -281,6 +270,24 @@ export default { return employee }) .filter((employee) => employee !== null) + } catch (error) { + this.$toast.error(error.message || error) + } + }, + + async showModal({ mastertask, editMode = false }) { + this.isSaving = false + this.editMode = null + this.visible = true + this.mastertask = null + this.$nextTick(() => { + this.setFocusEvent() + this.v$.$reset() + }) + + try { + if (mastertask?.id) { + await this.loadMastertask(mastertask.id) // this.mastertask.project_code = project.code } else { @@ -437,7 +444,15 @@ export default { } }, deep: true - } + }, + '$route.query': { + handler(_, oldValue) { + if (oldValue?.subtask?.length) { + this.loadMastertask(this.mastertask.id); + } + }, + deep: true, + }, } }