HBTM240_문서 관리
(Hereby) 내부 결재 > 문서 관리
| 앱 | 내부 결재 (HBTM) |
| 대상 사용자 | 조건1 [TEAM_LEADER] / 조건2 [SUPER_ADMIN] |
| 프로토타입 | TBU |
| 관련 정책 | [[POL_결재워크플로우]] |
| Status | review |
| Owner | 카나 (PM) |
개요
- 문서 관리 탭(/team-manager/document-management)은 직원의 문서 신청·제출·자격증/면허를 통합 관리하는 큐다.
- 구분 필터 + 상태 필터 + 조직/기간 필터 + 검색 + 7컬럼 목록 + 미리보기 모달로 구성된다.
- Admin 문서 결재([[HBAD240_문서 결재]], 페이지 제목 "HBAD240_문서 결재") 임베드의 원본 화면이다.
- 4월 별도 메뉴였던 자격증/면허가 구분 필터로 흡수되었다 ("전체 구분 / 신청 / 제출 / 자격증·면허"). 문서 양식 원천은 [[HBAD241_문서 양식]].
- row "보기"로 미리보기 모달을 연다. 대기 문서의 승인/반려 action 위치는 TBU다.
문서 히스토리
| 날짜 | 작성자 | 팀 | 변경 내용 |
|---|---|---|---|
| 2026-07-06 | 카나 | PM | 최초 작성 |
| 2026-07-10 | 카나 | PM | 라이브 기능 검토 반영 |
| 2026-07-13 | 카나 | PM | 버튼 행동 명세 보강 |
| 2026-07-21 | 카나 | PM | GC700 깊이 재작성 + 확정 스타일 |
| 2026-07-21 | 카나 | PM | TC 크로스체크 확정분 반영 (🟡) |
| 2026-07-28 | 카나 | PM | 코드 변경 반영(8299588) |
Data I/O
Server → Client
| 변수 | 엔티티.컬럼 | 값 없을 때 | 비고 |
|---|---|---|---|
| $ | DocumentRequest[] / CertificationRecord[] (추정, team scope) | 빈 목록 | 문서 목록 |
| $ | 구분 필터 선택 값 | "전체 구분" | 신청/제출/자격증·면허 |
| $ | 상태 필터 선택 값 | "전체 상태" | 대기/승인/반려/취소 |
| $ | 신청자·구분·유형·신청일·상태 | - | 미리보기 모달 필드 |
Client → Server
| 액션 | 전달 값 | tRPC procedure | 권한 토큰 |
|---|---|---|---|
| 미리보기 | documentId | sdk.teamManager.document.preview() (추정, read-only) | document:read (추정) |
| 승인 | documentId | sdk.teamManager.document.approve() (추정) | document:approve (추정) |
| 반려 | documentId, reason? | sdk.teamManager.document.reject() (추정) | document:approve (추정) |
| 자격증·면허 큐 조회 | teamManager.listCertificates({status: PENDING}) (TC 확정: 02:2.12) | document:read (추정) | |
| 자격증·면허 승인 | ids[] | teamManager.approveCertificates(ids[]) (TC 확정: 02:2.12) → certificateNumber 발급 | document:approve (추정) |
외부 통합 (cross-app)
| 외부 시스템 | 데이터 | 방향 | 비고 |
|---|---|---|---|
| 직원 앱 [[HBEA400_결재 허브]] | 문서 신청·제출 | EA → TM | 신청 원천 |
| Admin 문서 양식 [[HBAD241_문서 양식]] | 증명서·양식 | Admin → TM | 양식 원천 |
| Admin 문서 결재 [[HBAD240_문서 결재]] | 동일 목록 임베드 | TM ↔ Admin | 본 화면이 임베드 원본 |
화면 플로우
문서 관리 사양표
| 번호 | 항목/기능명 | 타입 | 사양 및 기능 설명 | 연관/영향 범위 | 비고 |
|---|---|---|---|---|---|
| 00 | 노출 조건 | - | 조건1 [TEAM_LEADER] 이상 인증 세션 · "문서 관리" 탭 클릭 시 /team-manager/document-management 진입 | 인증 세션 | token 내부 key TBU |
| 01 | 초기 상태 | - | 필터 전체값("전체 구분" / "전체 상태") 기준 7컬럼 목록 조회 | 40 목록 | |
| 10 | 구분 필터 | Dropdown | • 문서 구분으로 목록을 거르는 기능 원문 "전체 구분" / "신청" / "제출" / "자격증/면허" (4월 별도 메뉴였던 자격증/면허 통합) • 선택 시: 목록 필터 적용 | DocumentRequest.kind | 4월 별도 메뉴 흡수 |
| 20 | 상태 필터 | Dropdown | • 문서 상태로 목록을 거르는 기능 원문 "전체 상태" / "대기" / "승인" / "반려" / "취소" • 선택 시: 목록 필터 적용 | status | |
| 30 | 조직/기간 필터 | Dropdown/DatePicker | • 조직·기간으로 목록을 거르는 기능 원문 "조직 선택" + 기간. 기간 프리셋 6종(근무 관리 임베드와 동일 원천 화면 기준). 자주 쓰는 기간 프리셋 칩을 공용 SubTab(sm·line·radius 4)으로 통일(기존 손으로 만든 radius 16 칩 → admin 자격증/면허 탭과 동일 형태) • 선택 시: 목록 필터 적용 | team / date | 프리셋 SubTab 통일 (코드 반영: 8299588) |
| ㄴ31 | 검색 | Input | • 사번/이름 등으로 목록을 필터링하는 입력 필드 • 입력 시: 목록 필터링 | list filter | |
| 32 | 원천 화면 | - | Admin 문서 결재 임베드의 원본 화면. 페이지 제목 "HBAD240_문서 결재" | [[HBAD240_문서 결재]] | 임베드 원본 |
| 40 | 목록 | Table | • 문서 신청·제출·자격증/면허 통합 목록 7컬럼: 사번 / 이름 / 구분 / 유형 / 신청일 / 상태 / 관리 • row "보기"로 미리보기 진입 | DocumentRequest / CertificationRecord | |
| ㄴ41 | 유형 | Text | • 문서 유형 표기(census 원문 예): "재직증명서" / "자격증사본" / "건강검진결과" / "급여확인서" / "경력증명서" / "비자 신청용" / "제출용" / "금융기관 제출용" / "관공서 제출용" • 표시 전용 | - | census 원문 |
| ㄴ42 | 보기 | Button | • 해당 문서의 미리보기 모달을 여는 기능 원문 "보기" • 클릭 시: "미리보기" 모달 오픈(문서 상세: 신청자·구분·유형·신청일·상태) | 50 모달 | |
| 50 | 미리보기 모달 | Modal | • 문서 상세 미리보기 모달. 신청자·구분·유형·신청일·상태 + "닫기". 하단 보조표(문서 미리보기 Modal 사양표) 참조 • 대기 문서 승인/반려 UI 위치 TBU | document preview | 대기 승인/반려 UI TBU |
문서 미리보기 Modal 사양표
| 번호 | 항목/기능명 | 타입 | 사양 및 기능 설명 | 연관/영향 범위 | 비고 |
|---|---|---|---|---|---|
| 00 | 노출 조건 | - | 문서 row "보기" 클릭 시 미리보기 모달 오픈 | 40 목록 ㄴ42 | |
| 10 | 제목 | Text | • 모달 제목 표기 원문 "미리보기" • 표시 전용 | - | |
| 20 | 신청자 | Text | • 신청자 표기(이름 · 사번) 예 "박미랑 · FIRMA003" • 표시 전용 | document preview | |
| 30 | 구분 | Text | • 문서 구분 표기 예 "제출" • 표시 전용 | DocumentRequest.kind | |
| 40 | 유형 | Text | • 문서 유형 표기 예 "재직증명서" • 표시 전용 | - | |
| 50 | 신청일 | Text | • 신청일 표기 예 "2026-06-16" • 표시 전용 | - | |
| 60 | 상태 | Badge | • 문서 상태 표기 예 "승인" • 표시 전용. 대기 문서 승인/반려 UI TBU | status | 대기 승인/반려 UI TBU |
| 70 | 닫기 | Button | • 미리보기 모달을 닫는 기능 원문 "닫기" • 클릭 시: 모달 닫힘 | - |
권한·상태 분기 요약
| 시나리오 | 트리거 | 결과 | 비고 |
|---|---|---|---|
CASE01 [미리보기] | row "보기" | 미리보기 모달 (신청자·구분·유형·신청일·상태) | read-only |
CASE02 [승인/반려] | 대기 문서 action | 승인/반려 처리 | destructive · 위치 TBU |
조건1 [TEAM_LEADER] | 문서 관리 탭 진입 | 팀 scope 목록 노출 | token 내부 key TBU |
Open Question
- 대기 row의 승인/반려 버튼 위치 (목록 vs 미리보기 내부) = TBU
- 자격증/면허 승인 흐름 =
teamManager.listCertificates({status:PENDING})→teamManager.approveCertificates(ids[])(certificateNumber 발급) 확정. 만료일·첨부·credential 세부 = TBU. (TC 확정: 02:2.12) - 미리보기 모달 내 문서 본문/PDF 뷰어 존재 여부 (현재 메타만 확인) = TBU
- 권한 토큰(document:approve 등) 내부 key = TBU