feat(B01): 임시 보관함 UI를 그룹+파일 리스트 컨테이너로 개편

프로젝트/사용자 관리 컨테이너와 같은 형태로 통일한다. 등록 폼을 화면에 상시
노출하지 않고, 우측 상단 [+] 모달로 받아 그룹(임시 프로젝트명) 아래 파일 표를
그린다.

프론트엔드
- B01_Dashboard_UI_TempModal.ts 신설: 등록/추가 모달(임시 프로젝트명 + 파일 선택,
  고른 파일을 모달 안 표로 표시, 하단 [취소][확인] — 기존 대시보드 모달과 동일 규격)
- B01_Dashboard_UI_TempUpload.ts: 섹션 전체(제목·[+]·목록)를 반환하도록 변경.
  그룹 카드 + 파일 표(종류/파일명/크기/상태/작업), 그룹별 [파일 추가],
  파일별 [삭제], 진행률은 해당 파일 행 안에서 표시
- 청크마다 목록을 다시 조회하지 않고 막대 DOM만 갱신하도록 정리
- 대시보드 배치: 프로젝트 컨테이너 바로 아래(역할 3분기 모두)

백엔드
- DELETE /api/temp-uploads/{batch_id}/files/{file_type}: DB 행과 임시 저장소
  실제 파일을 함께 삭제. 필수 파일이 빠지면 상태를 uploading으로 되돌리고
  만료일은 최초 완료 시점 기준을 유지

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-08 13:23:58 +09:00
co-authored by Claude Fable 5
parent 17834d8189
commit f60ecc255f
9 changed files with 601 additions and 192 deletions
+20
View File
@@ -82,6 +82,26 @@ export const ui_locales_b1 = {
B01_Temp_Field_Name_Placeholder: ["예: 2026년 3공구 측량자료", "e.g. 2026 Section 3 survey"],
B01_Temp_Field_Files: ["파일 선택 (계획노선·라이다·좌표계·래스터)", "Select files"],
B01_Temp_Btn_Upload: ["보관함에 올리기", "Upload to storage"],
B01_Temp_Btn_Pick: ["파일 선택", "Choose files"],
B01_Temp_Btn_Add: ["파일 추가", "Add files"],
B01_Temp_Modal_Create: ["임시 자료 등록", "New stored set"],
B01_Temp_Modal_Add: ["파일 추가", "Add files"],
B01_Temp_Table_Type: ["종류", "Type"],
B01_Temp_Table_Name: ["파일명", "File"],
B01_Temp_Table_Size: ["크기", "Size"],
B01_Temp_Table_Status: ["상태", "Status"],
B01_Temp_Table_Action: ["작업", "Action"],
B01_Temp_File_Status_Stored: ["저장 완료", "Stored"],
B01_Temp_File_Status_Waiting: ["대기", "Waiting"],
B01_Temp_File_Status_Uploading: ["업로드 중", "Uploading"],
B01_Temp_File_Status_Paused: ["이어올리기 대기", "Resume pending"],
B01_Temp_File_Status_Failed: ["실패", "Failed"],
B01_Temp_File_Delete_Confirm: [
"이 파일을 보관함에서 삭제할까요?",
"Delete this file from temporary storage?",
],
B01_Temp_File_Delete_Success: ["파일을 삭제했습니다.", "File deleted."],
B01_Temp_File_Delete_Failed: ["파일 삭제에 실패했습니다.", "Failed to delete the file."],
B01_Temp_Hint: [
"프로젝트를 만들기 전에 자료를 먼저 올려 둘 수 있습니다. 나중에 프로젝트 파일 입력 화면에서 불러오면 됩니다.",
"Upload files before creating a project, then pull them in from the project file input page.",