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 @@
+ @change="event => onListChange(event, 'IN_PROGRESS')">
@@ -46,7 +47,7 @@
{{ '상태를 변경할 작업을\n끌어 놓으세요' }} @@ -54,15 +55,16 @@
+ @change="event => onListChange(event, 'PENDING_COMPLETED')">
@@ -70,7 +72,7 @@
{{ '상태를 변경할 작업을\n끌어 놓으세요' }} @@ -78,15 +80,16 @@
+ @change="event => onListChange(event, 'COMPLETED')">
@@ -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 }