diff --git a/frontend/src/pages/relay/TaskDetailPage.vue b/frontend/src/pages/relay/TaskDetailPage.vue index 2e65cf3..9dd1b14 100644 --- a/frontend/src/pages/relay/TaskDetailPage.vue +++ b/frontend/src/pages/relay/TaskDetailPage.vue @@ -14,7 +14,6 @@ import { useRoute, useRouter, RouterLink } from 'vue-router' import AppShell from '@/layouts/AppShell.vue' import { CHECKLIST_CATEGORIES, - type Attachment, type ChecklistCategory, type ChecklistItem, type Comment, @@ -332,39 +331,8 @@ const commentTotal = computed( ) /* ============================================================ - * 파일 첨부(5단계) — 업로드/삭제 + * 파일 첨부 — 상세 화면은 목록 표시 전용(업로드/삭제는 작성·편집 화면에서만). * ============================================================ */ -const fileInput = ref(null) -const uploading = ref(false) - -function pickFile() { - fileInput.value?.click() -} -async function onFileChange(e: Event) { - const input = e.target as HTMLInputElement - const file = input.files?.[0] - if (!file || !task.value) { - input.value = '' - return - } - uploading.value = true - try { - task.value = await taskStore.uploadFile(projectId.value, task.value.id, file) - } catch { - // 인터셉터가 알림 처리 - } finally { - uploading.value = false - input.value = '' - } -} -async function removeFile(att: Attachment) { - if (!task.value || !att.id) return - try { - task.value = await taskStore.removeFile(projectId.value, task.value.id, att.id) - } catch { - // 인터셉터가 알림 처리 - } -} /* ============================================================ * 키보드 / 외부 클릭 처리 @@ -1134,29 +1102,7 @@ function badgeFor(name: string | undefined): { label: string; cls: string } {
첨부파일 · {{ task.files.length }}개 -
-
{{ f.name }}{{ f.size }} -

{ return refresh(projectId, taskId) } - /* ===================== 파일 첨부 (5단계) ===================== */ - - async function uploadFile( - projectId: string, - taskId: number, - file: File, - ): Promise { - await taskApi.uploadFile(projectId, taskId, file) - return refresh(projectId, taskId) - } - - async function removeFile( - projectId: string, - taskId: number, - fileId: string, - ): Promise { - await taskApi.removeFile(projectId, taskId, fileId) - return refresh(projectId, taskId) - } - /* ===================== 승인 워크플로우 (5단계) ===================== */ async function requestApproval( @@ -396,8 +376,6 @@ export const useTaskStore = defineStore('task', () => { changeStatus, addComment, addReply, - uploadFile, - removeFile, requestApproval, approve, requestChanges,