diff --git a/src/api/common.ts b/src/api/common.ts
index a55b64f0..2cdf19a5 100644
--- a/src/api/common.ts
+++ b/src/api/common.ts
@@ -10,12 +10,12 @@ export const getSubCategory = async () => {
return response.data
}
-export const getAllCategory = async () => {
- const response = await axiosInstance.get('/api/category')
+export const getLabels = async () => {
+ const response = await axiosInstance.get('/api/labels')
return response.data
}
-export const getLabels = async () => {
- const response = await axiosInstance.get('/api/labels')
+export const getCategory = async () => {
+ const response = await axiosInstance.get('/api/category')
return response.data
}
diff --git a/src/components/TaskCard.vue b/src/components/TaskCard.vue
index 33784f9a..ac134507 100644
--- a/src/components/TaskCard.vue
+++ b/src/components/TaskCard.vue
@@ -16,11 +16,11 @@
{{ data.taskCode }}
{{ data.requesterDepartment }}
-
+
-
{{ data.requesterNickName }}
+
{{ data.requesterNickname }}
diff --git a/src/components/my-request/MyRequestFilterBar.vue b/src/components/my-request/MyRequestFilterBar.vue
index cd96cacd..4d90dd5e 100644
--- a/src/components/my-request/MyRequestFilterBar.vue
+++ b/src/components/my-request/MyRequestFilterBar.vue
@@ -35,26 +35,21 @@
diff --git a/src/components/my-task/MyTaskFilterBar.vue b/src/components/my-task/MyTaskFilterBar.vue
index f55d6a49..da9deb32 100644
--- a/src/components/my-task/MyTaskFilterBar.vue
+++ b/src/components/my-task/MyTaskFilterBar.vue
@@ -41,20 +41,15 @@ import { useRequestParamsStore } from '@/stores/params'
import { PAGE_SIZE_LIST, TASK_STATUS_LIST, TERM_LIST } from '@/constants/common'
import { useRequestParamsChange } from '../hooks/useRequestParamsChange'
import { useQuery } from '@tanstack/vue-query'
-import { axiosInstance } from '@/utils/axios'
+import { getCategory } from '@/api/common'
const store = useRequestParamsStore()
store.$reset()
const onParamsChange = useRequestParamsChange()
-const fetchCategory = async () => {
- const response = await axiosInstance.get('/api/category')
- return response.data
-}
-
const { data } = useQuery({
queryKey: ['category'],
- queryFn: fetchCategory
+ queryFn: getCategory
})
diff --git a/src/components/request-history/RequestHistoryFilterBar.vue b/src/components/request-history/RequestHistoryFilterBar.vue
index bc418079..df5c3496 100644
--- a/src/components/request-history/RequestHistoryFilterBar.vue
+++ b/src/components/request-history/RequestHistoryFilterBar.vue
@@ -35,26 +35,21 @@
diff --git a/src/components/requested/RequestedFilterBar.vue b/src/components/requested/RequestedFilterBar.vue
index 6fbd6a13..ab432350 100644
--- a/src/components/requested/RequestedFilterBar.vue
+++ b/src/components/requested/RequestedFilterBar.vue
@@ -35,20 +35,15 @@ import { PAGE_SIZE_LIST, TERM_LIST } from '@/constants/common'
import { useRequestParamsStore } from '@/stores/params'
import { useRequestParamsChange } from '../hooks/useRequestParamsChange'
import { useQuery } from '@tanstack/vue-query'
-import { axiosInstance } from '@/utils/axios'
+import { getCategory } from '@/api/common'
const store = useRequestParamsStore()
store.$reset()
const onParamsChange = useRequestParamsChange()
-const fetchCategory = async () => {
- const response = await axiosInstance.get('/api/category')
- return response.data
-}
-
const { data } = useQuery({
queryKey: ['category'],
- queryFn: fetchCategory
+ queryFn: getCategory
})
diff --git a/src/components/task-board/TaskBoard.vue b/src/components/task-board/TaskBoard.vue
index b4f76670..8670a4ba 100644
--- a/src/components/task-board/TaskBoard.vue
+++ b/src/components/task-board/TaskBoard.vue
@@ -3,17 +3,17 @@
- 진행 중 {{ cardList.tasksInProgress.length }}
+ 진행 중 {{ data?.tasksInProgress.length }}
- 검토 중 {{ cardList.tasksPendingComplete.length }}
+ 검토 중 {{ data?.tasksPendingComplete.length }}
- 완료 {{ cardList.tasksCompleted.length }}
+ 완료 {{ data?.tasksCompleted.length }}
@@ -22,7 +22,7 @@
{{ '상태를 변경할 작업을\n끌어 놓으세요' }}
@@ -30,15 +30,16 @@
onListChange(event, 'tasksInProgress')">
+ @change="event => onListChange(event, 'IN_PROGRESS')">
+ :data="element"
+ draggable />
@@ -46,7 +47,7 @@
{{ '상태를 변경할 작업을\n끌어 놓으세요' }}
@@ -54,15 +55,16 @@
onListChange(event, 'tasksPendingComplete')">
+ @change="event => onListChange(event, 'PENDING_COMPLETED')">
+ :data="element"
+ draggable />
@@ -70,7 +72,7 @@
{{ '상태를 변경할 작업을\n끌어 놓으세요' }}
@@ -78,15 +80,16 @@
onListChange(event, 'tasksCompleted')">
+ @change="event => onListChange(event, 'COMPLETED')">
+ :data="element"
+ draggable />
@@ -95,24 +98,80 @@
diff --git a/src/components/task-board/TaskBoardFilterBar.vue b/src/components/task-board/TaskBoardFilterBar.vue
index b19ab197..7429391f 100644
--- a/src/components/task-board/TaskBoardFilterBar.vue
+++ b/src/components/task-board/TaskBoardFilterBar.vue
@@ -2,11 +2,11 @@
+ :option-list="labelOptionList"
+ :value="String(params.labelId)"
+ @update:value="onLabelIdChange" />
+ :value="params.requesterNickname"
+ @update:value="onRequesterNicknameChange" />
@@ -26,10 +26,11 @@
import FilterDropdown from '../filters/FilterDropdown.vue'
import FilterCategory from '../filters/FilterCategory.vue'
import FilterInput from '../filters/FilterInput.vue'
-import { DUMMY_DIVISION_LIST } from '@/datas/dummy'
import { useTaskBoardParamsStore } from '@/stores/params'
import { useQuery } from '@tanstack/vue-query'
-import { axiosInstance } from '@/utils/axios'
+import { computed } from 'vue'
+import type { LabelDataTypes } from '@/types/common'
+import { getCategory, getLabels } from '@/api/common'
const { params } = useTaskBoardParamsStore()
@@ -37,8 +38,9 @@ const onArrayChange = (array: Value[], value: Val
return array.includes(value) ? array.filter(el => el !== value) : [...array, value]
}
-const onDivisionChange = (value: string) => {
- params.division = value
+const onLabelIdChange = (value: string) => {
+ if (value === '') params.labelId = ''
+ else params.labelId = Number(value)
}
const onMainChange = (value: number) => {
params.mainCategoryIds = onArrayChange(params.mainCategoryIds, value)
@@ -46,20 +48,25 @@ const onMainChange = (value: number) => {
const onSubChange = (value: number) => {
params.categoryIds = onArrayChange(params.categoryIds, value)
}
-const onNickNameChange = (value: string) => {
- params.nickName = value
+const onRequesterNicknameChange = (value: string) => {
+ params.requesterNickname = value
}
const onTitleChange = (value: string) => {
params.title = value
}
-const fetchCategory = async () => {
- const response = await axiosInstance.get('/api/category')
- return response.data
-}
-
-const { data } = useQuery({
+const { data: categoryList } = useQuery({
queryKey: ['category'],
- queryFn: fetchCategory
+ queryFn: getCategory
+})
+
+const { data: labelList } = useQuery({
+ queryKey: ['label'],
+ queryFn: getLabels
+})
+const labelOptionList = computed(() => {
+ const list = [{ value: '', content: '전체' }]
+ labelList.value?.forEach(el => list.push({ value: String(el.labelId), content: el.labelName }))
+ return list
})
diff --git a/src/components/task-management/CategoryManagement.vue b/src/components/task-management/CategoryManagement.vue
index 17eec4cc..b32f45ec 100644
--- a/src/components/task-management/CategoryManagement.vue
+++ b/src/components/task-management/CategoryManagement.vue
@@ -30,19 +30,19 @@
diff --git a/src/datas/dummy.ts b/src/datas/dummy.ts
index c95ad50a..cccc0b4b 100644
--- a/src/datas/dummy.ts
+++ b/src/datas/dummy.ts
@@ -1,212 +1,4 @@
import type { LogsListData, MemberManagementListData } from '@/types/admin'
-import type { TaskCardList } from '@/types/manager'
-
-export const DUMMY_TASK_CARD_LIST: TaskCardList = {
- tasksInProgress: [
- {
- taskId: 0,
- taskCode: 'string',
- mainCategoryName: 'string',
- categoryName: 'string',
- title: 'string',
- requesterNickName: 'string',
- requesterImageUrl: 'string',
- requesterDepartment: 'string',
- processorOrder: 0,
- taskStatus: '진행 중',
- createdAt: '2025-01-28T09:34:00.128Z'
- },
- {
- taskId: 1,
- taskCode: 'string',
- mainCategoryName: 'string',
- categoryName: 'string',
- title: 'string',
- requesterNickName: 'string',
- requesterImageUrl: 'string',
- requesterDepartment: 'string',
- processorOrder: 0,
- taskStatus: '진행 중',
- createdAt: '2025-01-28T09:34:00.128Z'
- },
- {
- taskId: 2,
- taskCode: 'string',
- mainCategoryName: 'string',
- categoryName: 'string',
- title: 'string',
- requesterNickName: 'string',
- requesterImageUrl: 'string',
- requesterDepartment: 'string',
- processorOrder: 0,
- taskStatus: '진행 중',
- createdAt: '2025-01-28T09:34:00.128Z'
- },
- {
- taskId: 3,
- taskCode: 'string',
- mainCategoryName: 'string',
- categoryName: 'string',
- title: 'string',
- requesterNickName: 'string',
- requesterImageUrl: 'string',
- requesterDepartment: 'string',
- processorOrder: 0,
- taskStatus: '진행 중',
- createdAt: '2025-01-28T09:34:00.128Z'
- },
- {
- taskId: 4,
- taskCode: 'string',
- mainCategoryName: 'string',
- categoryName: 'string',
- title: 'string',
- requesterNickName: 'string',
- requesterImageUrl: 'string',
- requesterDepartment: 'string',
- processorOrder: 0,
- taskStatus: '진행 중',
- createdAt: '2025-01-28T09:34:00.128Z'
- }
- ],
- tasksPendingComplete: [
- {
- taskId: 5,
- taskCode: 'string',
- mainCategoryName: 'string',
- categoryName: 'string',
- title: 'string',
- requesterNickName: 'string',
- requesterImageUrl: 'string',
- requesterDepartment: 'string',
- processorOrder: 0,
- taskStatus: '검토 중',
- createdAt: '2025-01-28T09:34:00.128Z'
- },
- {
- taskId: 6,
- taskCode: 'string',
- mainCategoryName: 'string',
- categoryName: 'string',
- title: 'string',
- requesterNickName: 'string',
- requesterImageUrl: 'string',
- requesterDepartment: 'string',
- processorOrder: 0,
- taskStatus: '검토 중',
- createdAt: '2025-01-28T09:34:00.128Z'
- },
- {
- taskId: 7,
- taskCode: 'string',
- mainCategoryName: 'string',
- categoryName: 'string',
- title: 'string',
- requesterNickName: 'string',
- requesterImageUrl: 'string',
- requesterDepartment: 'string',
- processorOrder: 0,
- taskStatus: '검토 중',
- createdAt: '2025-01-28T09:34:00.128Z'
- },
- {
- taskId: 8,
- taskCode: 'string',
- mainCategoryName: 'string',
- categoryName: 'string',
- title: 'string',
- requesterNickName: 'string',
- requesterImageUrl: 'string',
- requesterDepartment: 'string',
- processorOrder: 0,
- taskStatus: '검토 중',
- createdAt: '2025-01-28T09:34:00.128Z'
- },
- {
- taskId: 9,
- taskCode: 'string',
- mainCategoryName: 'string',
- categoryName: 'string',
- title: 'string',
- requesterNickName: 'string',
- requesterImageUrl: 'string',
- requesterDepartment: 'string',
- processorOrder: 0,
- taskStatus: '검토 중',
- createdAt: '2025-01-28T09:34:00.128Z'
- }
- ],
- tasksCompleted: [
- {
- taskId: 10,
- taskCode: 'string',
- mainCategoryName: 'string',
- categoryName: 'string',
- title: 'string',
- requesterNickName: 'string',
- requesterImageUrl: 'string',
- requesterDepartment: 'string',
- processorOrder: 0,
- taskStatus: '완료',
- createdAt: '2025-01-28T09:34:00.128Z'
- },
- {
- taskId: 11,
- taskCode: 'string',
- mainCategoryName: 'string',
- categoryName: 'string',
- title: 'string',
- requesterNickName: 'string',
- requesterImageUrl: 'string',
- requesterDepartment: 'string',
- processorOrder: 0,
- taskStatus: '완료',
- createdAt: '2025-01-28T09:34:00.128Z'
- },
- {
- taskId: 12,
- taskCode: 'string',
- mainCategoryName: 'string',
- categoryName: 'string',
- title: 'string',
- requesterNickName: 'string',
- requesterImageUrl: 'string',
- requesterDepartment: 'string',
- processorOrder: 0,
- taskStatus: '완료',
- createdAt: '2025-01-28T09:34:00.128Z'
- },
- {
- taskId: 13,
- taskCode: 'string',
- mainCategoryName: 'string',
- categoryName: 'string',
- title: 'string',
- requesterNickName: 'string',
- requesterImageUrl: 'string',
- requesterDepartment: 'string',
- processorOrder: 0,
- taskStatus: '완료',
- createdAt: '2025-01-28T09:34:00.128Z'
- },
- {
- taskId: 14,
- taskCode: 'string',
- mainCategoryName: 'string',
- categoryName: 'string',
- title: 'string',
- requesterNickName: 'string',
- requesterImageUrl: 'string',
- requesterDepartment: 'string',
- processorOrder: 0,
- taskStatus: '완료',
- createdAt: '2025-01-28T09:34:00.128Z'
- }
- ],
- hasNext: true,
- isFirst: true,
- isLast: true
-}
export const DUMMY_MEMBER_MANAGEMENT_LIST_DATA: MemberManagementListData[] = [
{
diff --git a/src/stores/params.ts b/src/stores/params.ts
index 17eeb14b..b2bbec49 100644
--- a/src/stores/params.ts
+++ b/src/stores/params.ts
@@ -93,13 +93,11 @@ export const useTeamBoardParamsStore = defineStore('teamBoardParams', () => {
export const useTaskBoardParamsStore = defineStore('taskBoardParams', () => {
const params = ref({
- division: '',
+ labelId: '',
mainCategoryIds: [],
categoryIds: [],
title: '',
- nickName: '',
- pageSize: 20,
- page: 1
+ requesterNickname: ''
})
return { params }
diff --git a/src/types/manager.ts b/src/types/manager.ts
index 555dfe9e..717923e7 100644
--- a/src/types/manager.ts
+++ b/src/types/manager.ts
@@ -29,10 +29,14 @@ export interface RequestHistoryListData {
export interface TaskCardProps {
taskId: number
taskCode: string
+ title: string
mainCategoryName: string
categoryName: string
- title: string
- requesterNickName: string
+ labelInfo: {
+ labelName: string
+ labelColor: string
+ }
+ requesterNickname: string
requesterImageUrl: string
requesterDepartment: string
processorOrder: number
@@ -44,9 +48,6 @@ export interface TaskCardList {
tasksInProgress: TaskCardProps[]
tasksPendingComplete: TaskCardProps[]
tasksCompleted: TaskCardProps[]
- hasNext: boolean
- isFirst: boolean
- isLast: boolean
}
export interface MyTaskListData {
diff --git a/src/types/stores.ts b/src/types/stores.ts
index 9c3d2f3d..2d3731a0 100644
--- a/src/types/stores.ts
+++ b/src/types/stores.ts
@@ -44,11 +44,9 @@ export interface TeamBoardParams {
}
export interface TaskBoardParams {
- division: string | ''
+ labelId: number | ''
mainCategoryIds: number[]
categoryIds: number[]
title: string
- nickName: string
- pageSize: number
- page: number
+ requesterNickname: string
}