diff --git a/src/components/hooks/useTeamBoardParamsChange.ts b/src/components/hooks/useTeamBoardParamsChange.ts index 53c92f15..674e217c 100644 --- a/src/components/hooks/useTeamBoardParamsChange.ts +++ b/src/components/hooks/useTeamBoardParamsChange.ts @@ -7,11 +7,11 @@ export const useTeamBoardParamsChange = () => { return array.includes(value) ? array.filter(el => el !== value) : [...array, value] } - const onOrderChange = (value: string) => { - params.order = value + const onSortByChange = (value: string) => { + params.sortBy = value } - const onTitleChange = (value: string) => { - params.title = value + const onTaskTitleChange = (value: string) => { + params.taskTitle = value } const onMainChange = (value: number) => { params.mainCategoryIds = onArrayChange(params.mainCategoryIds, value) @@ -21,8 +21,8 @@ export const useTeamBoardParamsChange = () => { } return { - onOrderChange, - onTitleChange, + onSortByChange, + onTaskTitleChange, onMainChange, onSubChange } diff --git a/src/components/team-board/CurrentTaskRatio.vue b/src/components/team-board/CurrentTaskRatio.vue index 0fc548ef..1dc99c2f 100644 --- a/src/components/team-board/CurrentTaskRatio.vue +++ b/src/components/team-board/CurrentTaskRatio.vue @@ -6,9 +6,7 @@
진행 중 {{ teamSummary.inProgress }}건
- 완료 대기 {{ teamSummary.pendingCompletion }}건 + 완료 대기 {{ teamSummary.inReviewing }}건
총 {{ teamSummary.totalTasks }}건
@@ -28,7 +26,7 @@ import PieChart from '../PieChart.vue' const { teamSummary, teamData } = defineProps<{ teamSummary: { inProgress: number - pendingCompletion: number + inReviewing: number totalTasks: number } teamData: { name: string; tasks: number }[] diff --git a/src/components/team-board/TeamBoard.vue b/src/components/team-board/TeamBoard.vue index c8a1ff18..ac193f4c 100644 --- a/src/components/team-board/TeamBoard.vue +++ b/src/components/team-board/TeamBoard.vue @@ -5,34 +5,54 @@ :team-summary="teamSummary" :team-data="teamData" /> + v-for="member in data?.members" + :key="member.processorId" + :info="member" /> + diff --git a/src/components/team-board/TeamBoardCard.vue b/src/components/team-board/TeamBoardCard.vue index a14ee3a4..fcab5c61 100644 --- a/src/components/team-board/TeamBoardCard.vue +++ b/src/components/team-board/TeamBoardCard.vue @@ -5,26 +5,22 @@
- {{ name }} + {{ info.nickname }} - {{ department }} + {{ info.department }}
- 진행 중 {{ taskStatusSummary.inProgress }}건 + 진행 중 {{ info.inProgressTaskCount }}건
- 완료 대기 {{ taskStatusSummary.pendingCompletion }}건 + 검토 중 {{ info.inReviewingTaskCount }}건
- 총 {{ taskStatusSummary.totalTasks }}건 + 총 {{ info.totalTaskCount }}건
@@ -35,5 +31,5 @@ import type { TeamBoardCardProps } from '@/types/manager' import TaskCard from '../TaskCard.vue' -const { name, department, taskStatusSummary, tasks } = defineProps() +const { info } = defineProps<{ info: TeamBoardCardProps }>() diff --git a/src/components/team-board/TeamBoardFilterBar.vue b/src/components/team-board/TeamBoardFilterBar.vue index 3959680f..22495375 100644 --- a/src/components/team-board/TeamBoardFilterBar.vue +++ b/src/components/team-board/TeamBoardFilterBar.vue @@ -3,15 +3,15 @@ + :value="params.sortBy" + @update:value="onParamsChange.onSortByChange" /> + @update:value="onParamsChange.onTaskTitleChange" /> { export const useTeamBoardParamsStore = defineStore('teamBoardParams', () => { const params = ref({ - order: 'CONTRIBUTION', - title: '', + sortBy: 'CONTRIBUTE', mainCategoryIds: [], - categoryIds: [] + categoryIds: [], + taskTitle: '', + valid: true }) return { params } diff --git a/src/types/manager.ts b/src/types/manager.ts index 854019d2..5225c692 100644 --- a/src/types/manager.ts +++ b/src/types/manager.ts @@ -64,10 +64,14 @@ export interface MyTaskListData { } export interface TeamBoardCardProps { - name: string department: string - taskStatusSummary: { inProgress: number; pendingCompletion: number; totalTasks: number } + imageUrl?: string + inProgressTaskCount: number + inReviewingTaskCount: number + nickname: string + processorId: number tasks: TaskCardProps[] + totalTaskCount: number } export type PeriodType = 'DAY' | 'WEEK' | 'MONTH' @@ -165,3 +169,10 @@ export interface ManagerTypes { imageUrl: string remainingTasks: number } + +export interface TeamBoardResponse { + members: TeamBoardCardProps[] + totalInProgressTaskCount: number + totalInReviewingTaskCount: number + totalTaskCount: number +} diff --git a/src/types/stores.ts b/src/types/stores.ts index 59cc4243..3b0453ca 100644 --- a/src/types/stores.ts +++ b/src/types/stores.ts @@ -35,10 +35,11 @@ export interface LogsParams { } export interface TeamBoardParams { - order: string - title: string + sortBy: string mainCategoryIds: number[] categoryIds: number[] + taskTitle: string + valid?: boolean } export interface TaskBoardParams {