@@ -117,6 +117,7 @@ watch(newManager, async newValue => {
await changeProcessor(data.taskId, newValue.memberId)
selectedManager.value = newValue
queryClient.invalidateQueries({ queryKey: ['historyData', data.taskId] })
+ queryClient.invalidateQueries({ queryKey: ['taskDetailUser', data.taskId] })
} catch (error) {
console.error('Error updating processor', error)
}
diff --git a/src/components/task-detail/TaskStatusList.vue b/src/components/task-detail/TaskStatusList.vue
index 23e7d2ab..1f644f47 100644
--- a/src/components/task-detail/TaskStatusList.vue
+++ b/src/components/task-detail/TaskStatusList.vue
@@ -91,7 +91,6 @@ const bgColor = (taskStatus: Status) => {
const rejectRequest = async () => {
if (rejectReason.value.length === 0) {
toggleModal('fail')
-
modalError.value = '종료 사유를 입력해주세요'
return
}
@@ -100,6 +99,7 @@ const rejectRequest = async () => {
toggleModal('success')
emit('update:status', 'TERMINATED')
currentStatus.value = 'TERMINATED'
+ queryClient.invalidateQueries({ queryKey: ['taskDetailUser', taskId] })
queryClient.invalidateQueries({ queryKey: ['historyData', taskId] })
} catch {
toggleModal('fail')
@@ -119,6 +119,7 @@ const changeStatus = async (newStatus: Status) => {
try {
currentStatus.value = newStatus
await patchChangeStatus(taskId || 0, newStatus)
+ queryClient.invalidateQueries({ queryKey: ['taskDetailUser', taskId] })
queryClient.invalidateQueries({ queryKey: ['historyData', taskId] })
} catch (error) {
console.error('Failed to update status:', error)
diff --git a/src/components/task-management/CategoryAdd.vue b/src/components/task-management/CategoryAdd.vue
index 7487dcbf..d444109a 100644
--- a/src/components/task-management/CategoryAdd.vue
+++ b/src/components/task-management/CategoryAdd.vue
@@ -33,8 +33,8 @@
:label-name="`${categoryStep}차 카테고리명`" />
()
const router = useRouter()
+const queryClient = useQueryClient()
const isModalVisible = ref(false)
const selectedCategoryId = ref
(null)
@@ -71,6 +73,7 @@ const openModal = (id: number) => {
const handleDelete = async (id: number | null) => {
if (id !== null) {
await deleteCategoryAdmin(id)
+ queryClient.invalidateQueries({ queryKey: ['category'] })
handleModal()
}
}
diff --git a/src/components/task-management/CategoryLineSub.vue b/src/components/task-management/CategoryLineSub.vue
index 19ce91ec..436acb8c 100644
--- a/src/components/task-management/CategoryLineSub.vue
+++ b/src/components/task-management/CategoryLineSub.vue
@@ -59,10 +59,10 @@ import ModalView from '../common/ModalView.vue'
const { categories } = defineProps()
const router = useRouter()
+const queryClient = useQueryClient()
const isModalVisible = ref(false)
const selectedId = ref(null)
-const queryClient = useQueryClient()
const openModal = (id: number) => {
selectedId.value = id
diff --git a/src/components/task-management/CategoryManagement.vue b/src/components/task-management/CategoryManagement.vue
index 936db2f9..232fce7e 100644
--- a/src/components/task-management/CategoryManagement.vue
+++ b/src/components/task-management/CategoryManagement.vue
@@ -3,12 +3,12 @@
class="flex flex-col w-full h-[480px] border border-border-1 rounded-lg bg-background-1 overflow-hidden">
diff --git a/src/components/team-board/TeamBoard.vue b/src/components/team-board/TeamBoard.vue
index 5a02088d..816b52bb 100644
--- a/src/components/team-board/TeamBoard.vue
+++ b/src/components/team-board/TeamBoard.vue
@@ -16,17 +16,17 @@
diff --git a/src/constants/manager.ts b/src/constants/manager.ts
index 9ca7cd74..ed9b0779 100644
--- a/src/constants/manager.ts
+++ b/src/constants/manager.ts
@@ -11,7 +11,7 @@ export const REQUESTED_LIST_BAR_TAB: ListBarTabProps[] = [
]
export const REQUEST_HISTORY_LIST_BAR_TAB: ListBarTabProps[] = [
- { content: '고유코드', width: 120 },
+ { content: '작업코드', width: 120 },
{ content: '요청일', width: 80, sortBy: 'REQUESTED_AT' },
{ content: '1차 카테고리', width: 80 },
{ content: '2차 카테고리', width: 80 },
@@ -23,7 +23,7 @@ export const REQUEST_HISTORY_LIST_BAR_TAB: ListBarTabProps[] = [
]
export const MY_TASK_LIST_BAR_TAB: ListBarTabProps[] = [
- { content: '고유코드', width: 120 },
+ { content: '작업코드', width: 120 },
{ content: '요청일', width: 80, sortBy: 'REQUESTED_AT' },
{ content: '1차 카테고리', width: 80 },
{ content: '2차 카테고리', width: 80 },
diff --git a/src/constants/user.ts b/src/constants/user.ts
index 1ed926b8..499f4434 100644
--- a/src/constants/user.ts
+++ b/src/constants/user.ts
@@ -2,7 +2,7 @@ import type { ListBarTabProps } from '@/types/common'
import type { TaskHistoryType } from '@/types/user'
export const MY_REQUEST_LIST_BAR_TAB: ListBarTabProps[] = [
- { content: '고유코드', width: 120 },
+ { content: '작업코드', width: 120 },
{ content: '요청일', width: 80, sortBy: 'REQUESTED_AT' },
{ content: '1차 카테고리', width: 80 },
{ content: '2차 카테고리', width: 80 },
diff --git a/src/utils/date.ts b/src/utils/date.ts
index 7aa76c9c..2ecd860a 100644
--- a/src/utils/date.ts
+++ b/src/utils/date.ts
@@ -148,3 +148,12 @@ export const formatTimeAgo = (createdAt: string) => {
return `${diffInYears}년 전`
}
}
+
+export const formatTimeShort = (timeString: string) => {
+ const [hours, minutes] = timeString.split(':').map(Number)
+
+ const period = hours < 12 ? '오전' : '오후'
+ const formattedHours = hours % 12 || 12
+
+ return `${period} ${formattedHours}:${String(minutes).padStart(2, '0')}`
+}