mirror of
https://bitbucket.org/studiotem/jandl-taskmanager-app.git
synced 2026-10-22 06:49:35 +00:00
84 lines
1.9 KiB
Vue
84 lines
1.9 KiB
Vue
<template>
|
|
<v-table>
|
|
<thead>
|
|
<tr>
|
|
<th class="text-left">Kód projektu</th>
|
|
<th class="text-left">Názov</th>
|
|
<th class="text-left">Trvanie</th>
|
|
<th class="text-left">Akcia</th>
|
|
</tr>
|
|
</thead>
|
|
|
|
<tbody>
|
|
<tr class="cursor-pointer" v-for="task in tasks" :key="task.id" @click.stop="editTask(task, false)">
|
|
<td>{{ task.project_code }}</td>
|
|
<td>{{ task.title }}</td>
|
|
<td>{{ (task.duration / 1000 / 60 / 60).toFixed(2) }} h</td>
|
|
<td class="task-action">
|
|
<div class="d-flex justify-start">
|
|
<img class="pencil-icon" :src="require('@/plugins/tm@overview/_img/pencil-icon.svg')" alt="pencil-icon" @click.stop="editTask(task, true)">
|
|
<img class="trash-icon" :src="require('@/plugins/tm@overview/_img/trash-icon.svg')" alt="trash-icon" @click.stop="deleteTask(task)">
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
|
|
<Z-sub-task-modal ref="z-sub-task-modal" />
|
|
<Z-delete-task-modal ref="z-delete-task-modal" @deleted="onTaskDeleted"/>
|
|
</v-table>
|
|
</template>
|
|
|
|
<script>
|
|
import ZDeleteTaskModal from '@/plugins/tm@modal/task/z-delete-task-modal.vue'
|
|
import ZSubTaskModal from '@/plugins/tm@modal/sub-task/z-sub-task-modal.vue'
|
|
|
|
export default {
|
|
emits: ['refresh'],
|
|
|
|
components: {
|
|
ZDeleteTaskModal,
|
|
ZSubTaskModal
|
|
},
|
|
|
|
props: {
|
|
tasks: {
|
|
type: Array,
|
|
required: true
|
|
}
|
|
},
|
|
|
|
methods: {
|
|
deleteTask(task) {
|
|
this.$refs['z-delete-task-modal'].delete(task)
|
|
},
|
|
|
|
onTaskDeleted() {
|
|
this.$emit('refresh')
|
|
},
|
|
|
|
editTask(task, editMode) {
|
|
this.$refs['z-sub-task-modal'].create(task, editMode)
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style lang="sass" scoped>
|
|
v-table, th, td
|
|
border: thin solid rgba(var(--v-border-color), var(--v-border-opacity))
|
|
|
|
@media screen and (max-width: 379px)
|
|
.task-action
|
|
div
|
|
display: flex
|
|
flex-direction: column
|
|
|
|
.pencil-icon, .trash-icon
|
|
border-radius: 50%
|
|
margin: 6px
|
|
padding: 6px
|
|
|
|
tbody
|
|
tr:hover
|
|
background: rgba(0,0,0,.1)
|
|
</style> |