feat(workflow) : kanban projet et archives basés sur workflow.statuses du projet

This commit is contained in:
2026-05-19 20:06:44 +02:00
parent 8e4ddf00a8
commit 5d42009348
2 changed files with 10 additions and 12 deletions

View File

@@ -82,7 +82,6 @@ import type { TaskGroup } from '~/services/dto/task-group'
import type { UserData } from '~/services/dto/user-data' import type { UserData } from '~/services/dto/user-data'
import { useProjectService } from '~/services/projects' import { useProjectService } from '~/services/projects'
import { useTaskService } from '~/services/tasks' import { useTaskService } from '~/services/tasks'
import { useTaskStatusService } from '~/services/task-statuses'
import { useTaskEffortService } from '~/services/task-efforts' import { useTaskEffortService } from '~/services/task-efforts'
import { useTaskPriorityService } from '~/services/task-priorities' import { useTaskPriorityService } from '~/services/task-priorities'
import { useTaskTagService } from '~/services/task-tags' import { useTaskTagService } from '~/services/task-tags'
@@ -96,7 +95,6 @@ useHead({ title: 'Archives' })
const projectService = useProjectService() const projectService = useProjectService()
const taskService = useTaskService() const taskService = useTaskService()
const statusService = useTaskStatusService()
const effortService = useTaskEffortService() const effortService = useTaskEffortService()
const priorityService = useTaskPriorityService() const priorityService = useTaskPriorityService()
const tagService = useTaskTagService() const tagService = useTaskTagService()
@@ -105,8 +103,11 @@ const userService = useUserService()
const project = ref<Project | null>(null) const project = ref<Project | null>(null)
const archivedTasks = ref<Task[]>([]) const archivedTasks = ref<Task[]>([])
const statuses = ref<TaskStatus[]>([])
const efforts = ref<TaskEffort[]>([]) const efforts = ref<TaskEffort[]>([])
const statuses = computed<TaskStatus[]>(() =>
[...(project.value?.workflow?.statuses ?? [])].sort((a, b) => a.position - b.position),
)
const priorities = ref<TaskPriority[]>([]) const priorities = ref<TaskPriority[]>([])
const tags = ref<TaskTag[]>([]) const tags = ref<TaskTag[]>([])
const groups = ref<TaskGroup[]>([]) const groups = ref<TaskGroup[]>([])
@@ -126,10 +127,9 @@ const filteredTasks = computed(() => {
}) })
async function loadData() { async function loadData() {
const [p, t, s, e, pr, ty, g, u] = await Promise.all([ const [p, t, e, pr, ty, g, u] = await Promise.all([
projectService.getById(projectId.value), projectService.getById(projectId.value),
taskService.getByProject(projectId.value, true), taskService.getByProject(projectId.value, true),
statusService.getAll(),
effortService.getAll(), effortService.getAll(),
priorityService.getAll(), priorityService.getAll(),
tagService.getAll(), tagService.getAll(),
@@ -138,7 +138,6 @@ async function loadData() {
]) ])
project.value = p project.value = p
archivedTasks.value = t archivedTasks.value = t
statuses.value = s
efforts.value = e efforts.value = e
priorities.value = pr priorities.value = pr
tags.value = ty tags.value = ty

View File

@@ -218,7 +218,6 @@ import type { Client } from '~/services/dto/client'
import { useProjectService } from '~/services/projects' import { useProjectService } from '~/services/projects'
import { useClientService } from '~/services/clients' import { useClientService } from '~/services/clients'
import { useTaskService } from '~/services/tasks' import { useTaskService } from '~/services/tasks'
import { useTaskStatusService } from '~/services/task-statuses'
import { useTaskEffortService } from '~/services/task-efforts' import { useTaskEffortService } from '~/services/task-efforts'
import { useTaskPriorityService } from '~/services/task-priorities' import { useTaskPriorityService } from '~/services/task-priorities'
import { useTaskTagService } from '~/services/task-tags' import { useTaskTagService } from '~/services/task-tags'
@@ -234,7 +233,6 @@ useHead({ title: 'Projet' })
const projectService = useProjectService() const projectService = useProjectService()
const clientService = useClientService() const clientService = useClientService()
const taskService = useTaskService() const taskService = useTaskService()
const statusService = useTaskStatusService()
const effortService = useTaskEffortService() const effortService = useTaskEffortService()
const priorityService = useTaskPriorityService() const priorityService = useTaskPriorityService()
const tagService = useTaskTagService() const tagService = useTaskTagService()
@@ -243,7 +241,6 @@ const userService = useUserService()
const project = ref<Project | null>(null) const project = ref<Project | null>(null)
const tasks = ref<Task[]>([]) const tasks = ref<Task[]>([])
const statuses = ref<TaskStatus[]>([])
const efforts = ref<TaskEffort[]>([]) const efforts = ref<TaskEffort[]>([])
const priorities = ref<TaskPriority[]>([]) const priorities = ref<TaskPriority[]>([])
const tags = ref<TaskTag[]>([]) const tags = ref<TaskTag[]>([])
@@ -252,6 +249,10 @@ const users = ref<UserData[]>([])
const clients = ref<Client[]>([]) const clients = ref<Client[]>([])
const isLoading = ref(true) const isLoading = ref(true)
const statuses = computed<TaskStatus[]>(() =>
[...(project.value?.workflow?.statuses ?? [])].sort((a, b) => a.position - b.position),
)
const selectedGroupId = ref<number | null>(null) const selectedGroupId = ref<number | null>(null)
const selectedTagId = ref<number | null>(null) const selectedTagId = ref<number | null>(null)
const selectedAssigneeId = ref<number | null>(null) const selectedAssigneeId = ref<number | null>(null)
@@ -333,10 +334,9 @@ const backlogTasks = computed(() =>
async function loadData() { async function loadData() {
isLoading.value = true isLoading.value = true
try { try {
const [p, t, s, e, pr, ty, g, u, c] = await Promise.all([ const [p, t, e, pr, ty, g, u, c] = await Promise.all([
projectService.getById(projectId.value), projectService.getById(projectId.value),
taskService.getByProject(projectId.value), taskService.getByProject(projectId.value),
statusService.getAll(),
effortService.getAll(), effortService.getAll(),
priorityService.getAll(), priorityService.getAll(),
tagService.getAll(), tagService.getAll(),
@@ -346,7 +346,6 @@ async function loadData() {
]) ])
project.value = p project.value = p
tasks.value = t tasks.value = t
statuses.value = s
efforts.value = e efforts.value = e
priorities.value = pr priorities.value = pr
tags.value = ty tags.value = ty