refactor: 중간 점검을 점검일 당일 보고서 방식으로 변경

진행 상태(미착수/진행중/완료)를 상시 토글 대신 '보고서'로 전환:
- 보고는 점검일 당일(KST)에만 가능, 지나면 누락 — 마감 전 상시 전송 제거
- 작업자가 점검일 당일 보고서 폼에서 항목별 상태 + 메모를 작성해 전송(상태는 보고에 포함)
- 지시자는 상세 화면에서 보고 기록을 접힌 목록으로 보고 클릭해 펼쳐 열람
- 체크리스트 항목은 마지막 보고 상태를 읽기 전용 배지로 표시(인라인 편집 제거)
- 상시 진행상태 갱신 엔드포인트/DTO 제거(work-status)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-22 15:18:58 +09:00
parent 25ca63a925
commit 4ef07f65a7
9 changed files with 342 additions and 239 deletions
+3 -14
View File
@@ -71,27 +71,17 @@ export function useTask() {
/* ===================== 중간 점검(체크포인트) ===================== */
// 체크리스트 진행 상태 일괄 갱신(담당자)
async function updateWorkStatus(
projectId: string,
taskId: number,
items: { id: string; workStatus: ChecklistWorkStatus }[],
): Promise<ApiTaskDetail> {
return (await api.patch(`/projects/${projectId}/tasks/${taskId}/work-status`, {
items,
})) as unknown as ApiTaskDetail
}
// 중간 점검 보고(담당자) — 점검일~마감 구간
// 중간 점검 보고(담당자) — 점검일 당일, 항목별 상태 + 메모를 보고서로 제출
async function submitCheckpointReport(
projectId: string,
taskId: number,
checkpointId: string,
items: { id: string; workStatus: ChecklistWorkStatus }[],
note?: string,
): Promise<ApiTaskDetail> {
return (await api.post(
`/projects/${projectId}/tasks/${taskId}/checkpoints/${checkpointId}/report`,
{ ...(note ? { note } : {}) },
{ items, ...(note ? { note } : {}) },
)) as unknown as ApiTaskDetail
}
@@ -183,7 +173,6 @@ export function useTask() {
update,
remove,
changeStatus,
updateWorkStatus,
submitCheckpointReport,
addComment,
addReply,