mirror of
https://bitbucket.org/studiotem/jandl-taskmanager-app.git
synced 2026-10-21 22:39:34 +00:00
[bugy & CR]
This commit is contained in:
1 parent
4f7847bc1b
commit
88792943e6
20 files changed
+201
-107
No files matched your search
@@ -82,6 +82,11 @@
|
||||
</div>
|
||||
<small class="event-initials-date">{{ event.date?.toLocaleDateString('sk-SK') }}</small>
|
||||
</div>
|
||||
|
||||
<div v-if="event.subtask?.deadline" class="d-flex align-center">
|
||||
<v-icon icon="mdi-skull-outline" size="small" />
|
||||
<small class="ml-1" :class="`${tmUtils.isAfter(event.subtask?.deadline) ? 'text-black' : 'text-red-darken-4'}`">{{ tmUtils.formatDate(event.subtask?.deadline) }}</small>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="event-footer d-flex">
|
||||
@@ -144,7 +149,8 @@ export default {
|
||||
}
|
||||
},
|
||||
focusedEventId: null,
|
||||
timeCellHeight: 100
|
||||
timeCellHeight: 100,
|
||||
tmUtils
|
||||
}
|
||||
},
|
||||
|
||||
@@ -437,6 +443,7 @@ export default {
|
||||
|
||||
.custom-event-body
|
||||
padding: 20px 10px
|
||||
width: 100%
|
||||
|
||||
.event-content
|
||||
&.is-blocker
|
||||
|
||||
@@ -89,7 +89,7 @@ export default {
|
||||
margin-top: 5px
|
||||
display: -webkit-box
|
||||
-webkit-line-clamp: 3
|
||||
-webkit-box-orient: vertical
|
||||
-webkit-box-orient: vertical
|
||||
overflow: hidden
|
||||
&:after
|
||||
background: unset
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
<template>
|
||||
<v-row class="px-10 py-8 subheader">
|
||||
<v-autocomplete :custom-filter="customFilter" :match-any="true" v-model="filter.projectId" class="subheader-input" :items="[...projectsOptions]" item-title="code" item-value="id" label="Projekt" variant="outlined" @update:search="projectCodeSearch = $event" />
|
||||
<v-autocomplete :custom-filter="customFilter" :match-any="true" v-model="filter.projectId" class="subheader-input" no-data-text="reset" :items="[{id: null, code: ''}, ...projectsOptions]" item-title="code" item-value="id" label="Projekt" variant="outlined" @update:search="projectCodeSearch = $event" />
|
||||
|
||||
<v-autocomplete :custom-filter="customFilter" :match-any="true" v-model="filter.teamId" class="subheader-input" :items="[...teams]" item-title="name" item-value="id" label="Tím" variant="outlined" />
|
||||
<v-autocomplete :custom-filter="customFilter" :match-any="true" v-model="filter.teamId" class="subheader-input" :items="[{id: null, name: ''}, ...teams]" item-title="name" item-value="id" label="Tím" variant="outlined" />
|
||||
|
||||
<v-autocomplete :custom-filter="customFilter" :match-any="true" v-model="filter.employeeId" class="subheader-input" :items="[...enrichedEmployees]" item-title="_fullName" item-value="id" label="Zamestnanec" variant="outlined" />
|
||||
<v-autocomplete :custom-filter="customFilter" :match-any="true" v-model="filter.employeeId" class="subheader-input" :items="[{id: null, _fullName: ''}, ...enrichedEmployees]" item-title="_fullName" item-value="id" label="Zamestnanec" variant="outlined" />
|
||||
|
||||
<v-autocomplete :custom-filter="customFilter" :match-any="true" v-model="filter.createdById" class="subheader-input" :items="[...enrichedEmployees]" label="Vytvoril" variant="outlined" item-title="_fullName" item-value="id" />
|
||||
<v-autocomplete :custom-filter="customFilter" :match-any="true" v-model="filter.createdById" class="subheader-input" :items="[{id: null, _fullName: ''}, ...enrichedEmployees]" label="Vytvoril" variant="outlined" item-title="_fullName" item-value="id" />
|
||||
|
||||
<v-select v-model="filter.month" class="subheader-input" :items="months" label="Mesiac" variant="outlined" />
|
||||
|
||||
@@ -106,6 +106,7 @@ export default {
|
||||
top: 0
|
||||
z-index: 9999
|
||||
background: white
|
||||
flex: none !important
|
||||
|
||||
.subheader-input
|
||||
max-width: 250px !important
|
||||
|
||||
@@ -33,7 +33,32 @@ export default {
|
||||
if (!this.mastertasks)
|
||||
return null
|
||||
|
||||
return this.mastertasks.map(event => {
|
||||
// return this.mastertasks.map(event => {
|
||||
|
||||
// const startOfDay = new Date(event.starts_at);
|
||||
// startOfDay.setHours(0, 0, 0, 0); // Set to 00:00:00.000
|
||||
|
||||
// const endOfDay = new Date(event.deadline);
|
||||
// endOfDay.setHours(23, 59, 59, 999); // Set to 23:59:59.999
|
||||
|
||||
// console.log({
|
||||
// start: startOfDay,
|
||||
// end: endOfDay,
|
||||
// })
|
||||
|
||||
// return {
|
||||
// id: event.id,
|
||||
// title: `${event.project_code} - ${event.name}`,
|
||||
// title_html: `${event.project_code} - <b>${event.name}</b>`,
|
||||
// start: startOfDay,
|
||||
// end: endOfDay,
|
||||
// is_finished: event.is_finished,
|
||||
// project_code: event.project_code,
|
||||
// backgroundColor: `${event.color}`,
|
||||
// borderColor: event.color
|
||||
// };
|
||||
// });
|
||||
return this.mastertasks.map(event => {
|
||||
return {
|
||||
id: event.id,
|
||||
title: `${event.project_code} - ${event.name}`,
|
||||
@@ -94,5 +119,5 @@ export default {
|
||||
|
||||
<style lang="sass" scoped>
|
||||
.non-projects
|
||||
height: 27rem !important
|
||||
height: 100vw !important
|
||||
</style>
|
||||
@@ -34,9 +34,7 @@ export default {
|
||||
},
|
||||
|
||||
computed: {
|
||||
...mapGetters('auth', [
|
||||
'user'
|
||||
]),
|
||||
...mapGetters('auth', ['user']),
|
||||
|
||||
splitDays() {
|
||||
const days = []
|
||||
@@ -87,7 +85,7 @@ export default {
|
||||
} else if (date.isSame(moment(), 'days')) {
|
||||
// Today
|
||||
const elapsedMinutes = now.diff(now.clone().startOf('day'), 'minutes')
|
||||
const workStart = this.user.work_start * 60 > elapsedMinutes ? this.user.work_start : elapsedMinutes
|
||||
const workStart = this.user.work_start * 60 > elapsedMinutes ? this.user.work_start : elapsedMinutes / 60
|
||||
const todayCapacityMinutes = (this.user.work_end - workStart) * 60
|
||||
unscheduledTime = todayCapacityMinutes - schedulesCapacityBySplit[i + 1] / 60 < 0 ? 0 : todayCapacityMinutes - schedulesCapacityBySplit[i + 1]
|
||||
} else {
|
||||
|
||||
@@ -62,7 +62,7 @@ export default {
|
||||
this.$events.off('on-blocker-deleted')
|
||||
},
|
||||
|
||||
methods: {
|
||||
methods: {
|
||||
async onFilterChanged(filter) {
|
||||
this.filter = filter
|
||||
|
||||
|
||||
Reference in new issue
Block a user