mirror of
https://bitbucket.org/studiotem/jandl-taskmanager-app.git
synced 2026-10-21 14:29:34 +00:00
[Refactoring] Architecture
This commit is contained in:
1 parent
9af01fc34b
commit
b374a85eac
34 files changed
+99
-47
No files matched your search
@@ -44,21 +44,37 @@ const routes: Array<RouteRecordRaw> = [
|
|||||||
children: [
|
children: [
|
||||||
{
|
{
|
||||||
path: '/app/dashboard/tasks',
|
path: '/app/dashboard/tasks',
|
||||||
name: 'Tasks',
|
name: 'Dashboard - Tasks',
|
||||||
component: () => import('@/plugins/tm@dashboard/tasks-overview/tasks-overview.vue')
|
component: () => import('@/plugins/tm@dashboard/tasks/tasks.vue')
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: '/app/dashboard/unscheduled-tasks',
|
path: '/app/dashboard/teams',
|
||||||
name: 'Unscheduled tasks',
|
name: 'Dashboard - Teams',
|
||||||
component: () => import('@/plugins/tm@dashboard/unscheduled-tasks-overview/unscheduled-tasks.vue')
|
component: () => import('@/plugins/tm@dashboard/teams/teams.vue')
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: '/app/dashboard/ongoing-tasks',
|
path: '/app/dashboard/projects',
|
||||||
name: 'Ongoing tasks',
|
name: 'Dashboard - Projects',
|
||||||
component: () => import('@/plugins/tm@dashboard/ongoing-tasks-overview/ongoing-tasks.vue')
|
component: () => import('@/plugins/tm@dashboard/projects/projects.vue')
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
path: '/app/overview/unscheduled',
|
||||||
|
name: 'Overview - Unscheduled tasks',
|
||||||
|
component: () => import('@/plugins/tm@overview/tasks-ongoing/tasks-ongoing.vue')
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: '/app/overview/ongoing',
|
||||||
|
name: 'Overview - Ongoing tasks',
|
||||||
|
component: () => import('@/plugins/tm@overview/tasks-unscheduled/tasks-unscheduled.vue')
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: '/app/overview/teams',
|
||||||
|
name: 'Overview - Teams',
|
||||||
|
component: () => import('@/plugins/tm@overview/teams/teams.vue')
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -4,29 +4,9 @@
|
|||||||
<img class="logo" :src="require('@/plugins/app/_layout/_img/jandl-logo.svg')" alt="jandl-logo" />
|
<img class="logo" :src="require('@/plugins/app/_layout/_img/jandl-logo.svg')" alt="jandl-logo" />
|
||||||
|
|
||||||
<ion-list lines="none" id="labels-list">
|
<ion-list lines="none" id="labels-list">
|
||||||
<ion-item @click=" $router.push({ name: 'Tasks' }); closeMenu();" :class="active('/app/dashboard/tasks') ? 'active' : 'unactive'">
|
<ion-item v-for="page in pages" :key="page.pageName" :class="{active: isActive(page.pageName)}"
|
||||||
Úlohy
|
@click="$router.push({name: page.pageName})">
|
||||||
</ion-item>
|
{{ page.title }}
|
||||||
|
|
||||||
<ion-item disabled>
|
|
||||||
Tímove zobrazenie
|
|
||||||
</ion-item>
|
|
||||||
|
|
||||||
<ion-item disabled>
|
|
||||||
Projektové zobrazenie
|
|
||||||
</ion-item>
|
|
||||||
|
|
||||||
<ion-item @click=" $router.push({ name: 'Unscheduled tasks' }); closeMenu();" :class=" active('/app/dashboard/unscheduled-tasks') ? 'active' : 'unactive'" >
|
|
||||||
Nenaplánované úlohy
|
|
||||||
<span class="badge">13</span>
|
|
||||||
</ion-item>
|
|
||||||
|
|
||||||
<ion-item @click="$router.push({ name: 'Ongoing tasks' }); closeMenu();" :class="active('/app/dashboard/ongoing-tasks') ? 'active' : 'unactive'">
|
|
||||||
Ongoing tasky
|
|
||||||
</ion-item>
|
|
||||||
|
|
||||||
<ion-item disabled>
|
|
||||||
Tímy
|
|
||||||
</ion-item>
|
</ion-item>
|
||||||
</ion-list>
|
</ion-list>
|
||||||
</ion-content>
|
</ion-content>
|
||||||
@@ -35,14 +15,43 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
export default {
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
pages: [{
|
||||||
|
title: 'Úlohy',
|
||||||
|
pageName: 'Dashboard - Tasks'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'Tímove zobrazenie',
|
||||||
|
pageName: 'Dashboard - Teams'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'Projektové zobrazenie',
|
||||||
|
pageName: 'Dashboard - Projects'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'Nenaplánované úlohy',
|
||||||
|
pageName: 'Overview - Unscheduled tasks'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'Ongoing tasky',
|
||||||
|
pageName: 'Overview - Ongoing tasks'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
title: 'Tímy',
|
||||||
|
pageName: 'Overview - Teams'
|
||||||
|
}]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
created() {
|
created() {
|
||||||
this.eventBus.on('close-menu', () => this.closeMenu())
|
this.eventBus.on('close-menu', () => this.closeMenu())
|
||||||
this.eventBus.on('toggle-menu', () => this.toggleMenu())
|
this.eventBus.on('toggle-menu', () => this.toggleMenu())
|
||||||
},
|
},
|
||||||
|
|
||||||
methods: {
|
methods: {
|
||||||
active(path) {
|
isActive(pageName) {
|
||||||
return this.$route.path == path
|
return this.$route.name == pageName
|
||||||
},
|
},
|
||||||
|
|
||||||
closeMenu() {
|
closeMenu() {
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ export default {
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
await this.$axios.post_data('v1/auth/login', this.form)
|
await this.$axios.post_data('v1/auth/login', this.form)
|
||||||
this.$router.push({ name: 'Ongoing tasks'})
|
this.$router.push({ name: 'Overview - Ongoing tasks'})
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
this.$toast.error(error.data.error)
|
this.$toast.error(error.data.error)
|
||||||
}
|
}
|
||||||
|
|||||||
Whitespace-only changes.
Whitespace-only changes.
Whitespace-only changes.
Whitespace-only changes.
Whitespace-only changes.
Whitespace-only changes.
Whitespace-only changes.
Whitespace-only changes.
Whitespace-only changes.
File renamed without changes.
@@ -0,0 +1,9 @@
|
|||||||
|
<template>
|
||||||
|
<div></div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
|
||||||
|
}
|
||||||
|
</script>
|
||||||
File renamed without changes.
File renamed without changes.
+2
-2
@@ -8,7 +8,7 @@
|
|||||||
variant="outlined"
|
variant="outlined"
|
||||||
></v-select>
|
></v-select>
|
||||||
<div class="d-flex date-wrapper">
|
<div class="d-flex date-wrapper">
|
||||||
<v-btn class="subheader-icon-button " variant="outlined"><img :src="require('./assets/icon-prev.svg')" alt=""></v-btn>
|
<v-btn class="subheader-icon-button " variant="outlined"><img :src="require('./_img/icon-prev.svg')" alt=""></v-btn>
|
||||||
<v-text-field
|
<v-text-field
|
||||||
class="subheader-input disabled"
|
class="subheader-input disabled"
|
||||||
:items="items"
|
:items="items"
|
||||||
@@ -17,7 +17,7 @@
|
|||||||
variant="outlined"
|
variant="outlined"
|
||||||
append-inner-icon="mdi-calendar-blank-outline"
|
append-inner-icon="mdi-calendar-blank-outline"
|
||||||
></v-text-field>
|
></v-text-field>
|
||||||
<v-btn class="subheader-icon-button " variant="outlined"><img :src="require('./assets/icon-next.svg')" alt=""></v-btn>
|
<v-btn class="subheader-icon-button " variant="outlined"><img :src="require('./_img/icon-next.svg')" alt=""></v-btn>
|
||||||
</div>
|
</div>
|
||||||
<v-text-field
|
<v-text-field
|
||||||
class="subheader-input"
|
class="subheader-input"
|
||||||
File renamed without changes.
File renamed without changes.
Whitespace-only changes.
Whitespace-only changes.
Whitespace-only changes.
File renamed without changes.
@@ -0,0 +1,9 @@
|
|||||||
|
<template>
|
||||||
|
<div></div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
|
||||||
|
}
|
||||||
|
</script>
|
||||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
+2
-2
@@ -18,8 +18,8 @@
|
|||||||
<td>{{ (task.remaining_time / 1000 / 60 / 60).toFixed(2) }} h</td>
|
<td>{{ (task.remaining_time / 1000 / 60 / 60).toFixed(2) }} h</td>
|
||||||
<td class="task-action">
|
<td class="task-action">
|
||||||
<div class="d-flex justify-start">
|
<div class="d-flex justify-start">
|
||||||
<img class="pencil-icon" :src="require('@/plugins/tm@dashboard/_img/pencil-icon.svg')" alt="pencil-icon" />
|
<img class="pencil-icon" :src="require('@/plugins/tm@overview/_img/pencil-icon.svg')" alt="pencil-icon" />
|
||||||
<img class="trash-icon" :src="require('@/plugins/tm@dashboard/_img/trash-icon.svg')" alt="trash-icon" />
|
<img class="trash-icon" :src="require('@/plugins/tm@overview/_img/trash-icon.svg')" alt="trash-icon" />
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
+3
-3
@@ -1,15 +1,15 @@
|
|||||||
<template>
|
<template>
|
||||||
<W-loadable :content="ongoingTasks">
|
<W-loadable :content="ongoingTasks">
|
||||||
<A-ongoing-tasks :tasks="ongoingTasks" />
|
<A-ongoing-table :tasks="ongoingTasks" />
|
||||||
</W-loadable>
|
</W-loadable>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import AOngoingTasks from './_components/a-ongoing-tasks-overview.vue'
|
import AOngoingTable from './_components/a-ongoing-table.vue'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
components: {
|
components: {
|
||||||
AOngoingTasks
|
AOngoingTable
|
||||||
},
|
},
|
||||||
|
|
||||||
data() {
|
data() {
|
||||||
+2
-2
@@ -16,8 +16,8 @@
|
|||||||
<td>{{ task.duration / 1000 / 60 / 60 }} h</td>
|
<td>{{ task.duration / 1000 / 60 / 60 }} h</td>
|
||||||
<td class="task-action">
|
<td class="task-action">
|
||||||
<div class="d-flex justify-start">
|
<div class="d-flex justify-start">
|
||||||
<img class="pencil-icon" :src="require('@/plugins/tm@dashboard/_img/pencil-icon.svg')" alt="pencil-icon">
|
<img class="pencil-icon" :src="require('@/plugins/tm@overview/_img/pencil-icon.svg')" alt="pencil-icon">
|
||||||
<img class="trash-icon" :src="require('@/plugins/tm@dashboard/_img/trash-icon.svg')" alt="trash-icon">
|
<img class="trash-icon" :src="require('@/plugins/tm@overview/_img/trash-icon.svg')" alt="trash-icon">
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
+3
-3
@@ -1,15 +1,15 @@
|
|||||||
<template>
|
<template>
|
||||||
<W-loadable :content="unscheduledTasks">
|
<W-loadable :content="unscheduledTasks">
|
||||||
<A-unscheduled-tasks-table :tasks="unscheduledTasks" />
|
<A-unscheduled-table :tasks="unscheduledTasks" />
|
||||||
</W-loadable>
|
</W-loadable>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import AUnscheduledTasksTable from './_components/a-unscheduled-tasks-table.vue'
|
import AUnscheduledTable from './_components/a-unscheduled-table.vue'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
components: {
|
components: {
|
||||||
AUnscheduledTasksTable
|
AUnscheduledTable
|
||||||
},
|
},
|
||||||
|
|
||||||
data() {
|
data() {
|
||||||
File renamed without changes.
@@ -0,0 +1,9 @@
|
|||||||
|
<template>
|
||||||
|
<div></div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
|
||||||
|
}
|
||||||
|
</script>
|
||||||
Reference in new issue
Block a user