feat: 수신함 상태 결정 모달 개선 - 완료 시 추가 정보 입력 기능
🔄 Status Modal Improvements: - 진행 중 / 완료됨 2개 옵션으로 단순화 - 진행 중 선택 시 바로 관리함으로 이동 - 완료됨 선택 시 추가 정보 입력 섹션 표시 📝 Completion Information Fields: - 완료 사진 업로드 (1장, 선택사항) - 해결방안 입력 (어떻게 해결했는지) - 해결한 부서 선택 (담당부서) - 해결한 사람 입력 (담당자) - 모든 필드는 선택사항으로 관리함에서 나중에 입력 가능 🎨 Frontend Implementation: - completionSection으로 통합된 완료 관련 UI - 상태 선택에 따른 동적 섹션 표시/숨김 - 부서 선택 드롭다운 (생산, 품질, 구매, 설계, 영업) - 직관적인 아이콘과 색상으로 필드 구분 - 사용자 안내 메시지로 UX 개선 🔧 Backend API Updates: - IssueStatusUpdateRequest에 solution, responsible_department, responsible_person 필드 추가 - update_issue_status API에서 완료 상태 시 추가 필드 처리 - 해결방안, 담당부서, 담당자 정보 자동 저장 🚀 User Experience: - 진행 중: 클릭 한 번으로 바로 관리함 이동 - 완료됨: 필요한 정보를 한 번에 입력하고 완료 처리 - 선택사항 필드로 유연한 워크플로우 지원 - 관리함에서 나중에 추가/수정 가능한 구조 💡 Workflow Optimization: - 수신함에서 완료 처리 시 필요한 정보를 미리 입력 - 관리함 작업량 감소 및 효율성 향상 - 완료 확인일 자동 기록으로 추적 개선 Expected Result: ✅ 진행 중 선택 시 바로 관리함 이동 ✅ 완료됨 선택 시 해결방안, 담당부서, 담당자 입력 가능 ✅ 완료 사진과 함께 종합적인 완료 정보 수집 ✅ 선택사항 필드로 유연한 사용 가능 ✅ 관리함에서 추가 편집 가능한 구조
This commit is contained in:
Binary file not shown.
@@ -163,6 +163,9 @@ class IssueStatusUpdateRequest(BaseModel):
|
||||
review_status: ReviewStatus
|
||||
notes: Optional[str] = None
|
||||
completion_photo: Optional[str] = None # 완료 사진 (Base64)
|
||||
solution: Optional[str] = None # 해결방안
|
||||
responsible_department: Optional[DepartmentType] = None # 담당부서
|
||||
responsible_person: Optional[str] = None # 담당자
|
||||
|
||||
class ManagementUpdateRequest(BaseModel):
|
||||
"""관리함에서 사용할 필드 업데이트 요청"""
|
||||
|
||||
Binary file not shown.
@@ -269,9 +269,21 @@ async def update_issue_status(
|
||||
except Exception as e:
|
||||
raise HTTPException(status_code=400, detail=f"완료 사진 저장 실패: {str(e)}")
|
||||
|
||||
# 완료 상태로 변경 시 완료 확인일 설정
|
||||
# 완료 상태로 변경 시 추가 정보 처리
|
||||
if status_request.review_status == ReviewStatus.completed:
|
||||
issue.actual_completion_date = datetime.now().date()
|
||||
|
||||
# 해결방안 저장
|
||||
if status_request.solution:
|
||||
issue.solution = status_request.solution
|
||||
|
||||
# 담당부서 저장
|
||||
if status_request.responsible_department:
|
||||
issue.responsible_department = status_request.responsible_department
|
||||
|
||||
# 담당자 저장
|
||||
if status_request.responsible_person:
|
||||
issue.responsible_person = status_request.responsible_person
|
||||
|
||||
# 노트가 있으면 detail_notes에 추가
|
||||
if status_request.notes:
|
||||
|
||||
Reference in New Issue
Block a user