mirror of
https://bitbucket.org/studiotem/jandl-taskmanager-app.git
synced 2026-10-21 14:29:34 +00:00
56 lines
1.6 KiB
Vue
56 lines
1.6 KiB
Vue
<template>
|
|
<div>
|
|
<a-project-filter :projects="projects" @filterChanged="onFilterChanged"></a-project-filter>
|
|
<a-project-calendar :events="filteredEvents" :month="filter.selectedMonth"></a-project-calendar>
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
import AProjectCalendar from './_components/a-project-calendar.vue'
|
|
import AProjectFilter from './_components/a-project-filter.vue'
|
|
|
|
export default {
|
|
components: {
|
|
AProjectCalendar,
|
|
AProjectFilter
|
|
},
|
|
data() {
|
|
return {
|
|
filter: {
|
|
selectedEmployee: null,
|
|
selectedMonth: (new Date()).getMonth(),
|
|
selectedProject: null,
|
|
selectedTeam: null,
|
|
showFinishedTasks: false
|
|
},
|
|
projects: ['Projekt1', 'Projekt2', 'Projekt3', 'Projekt4'],
|
|
selectedProject: null,
|
|
events: [],
|
|
filteredEvents: []
|
|
}
|
|
},
|
|
async created() {
|
|
const events = await this.$axios.get_auth_data('v1/overview/projects')
|
|
this.events = events.map(item => ({
|
|
id: item.id,
|
|
title: `${item.project_code} - ${item.name}`,
|
|
title_html: `${item.project_code} - <b>${item.name}</b>`,
|
|
start: item.starts_at,
|
|
end: item.deadline,
|
|
is_finished: item.is_finished,
|
|
project_code: item.project_code,
|
|
backgroundColor: item.color,
|
|
borderColor: item.color
|
|
}))
|
|
this.filteredEvents = this.events.filter(item => !item.is_finished)
|
|
},
|
|
methods: {
|
|
// TODO: prepojit filtrovanie na BE
|
|
onFilterChanged(filterValues) {
|
|
this.filter = filterValues
|
|
this.filteredEvents = this.events.filter(item => this.filter.showFinishedTasks || item.is_finished == false)
|
|
}
|
|
}
|
|
}
|
|
</script>
|