Skip to content

HBTM240_문서 관리 ​

(Hereby) 내부 결재 > 문서 관리

앱내부 결재 (HBTM)
대상 사용자조건1 [TEAM_LEADER] / 조건2 [SUPER_ADMIN]
프로토타입TBU
관련 정책[[POL_결재워크플로우]]
Statusreview
Owner카나 (PM)

개요 ​

  • 문서 관리 탭(/team-manager/document-management)은 직원의 문서 신청·제출·자격증/면허를 통합 관리하는 큐다.
  • 구분 필터 + 상태 필터 + 조직/기간 필터 + 검색 + 7컬럼 목록 + 미리보기 모달로 구성된다.
  • Admin 문서 결재([[HBAD240_문서 결재]], 페이지 제목 "HBAD240_문서 결재") 임베드의 원본 화면이다.
  • 4월 별도 메뉴였던 자격증/면허가 구분 필터로 흡수되었다 ("전체 구분 / 신청 / 제출 / 자격증·면허"). 문서 양식 원천은 [[HBAD241_문서 양식]].
  • row "보기"로 미리보기 모달을 연다. 대기 문서의 승인/반려 action 위치는 TBU다. → 해소(2026-10-17 실측): 목록 행에는 「보기」 버튼만 있고, 승인/반려 버튼은 「보기」로 여는 문서 미리보기 모달 하단에 [닫기] [반려] [승인]으로 배치된다(admin 임베드 경유 실측, 스샷 live-1017-admin-approval-detail.png).

문서 히스토리 ​

날짜작성자팀변경 내용
2026-07-06카나PM최초 작성
2026-07-10카나PM라이브 기능 검토 반영
2026-07-13카나PM버튼 행동 명세 보강
2026-07-21카나PMGC700 깊이 재작성 + 확정 스타일
2026-07-21카나PMTC 크로스체크 확정분 반영 (🟡)
2026-07-28카나PM코드 변경 반영(8299588)
2026-09-23카나PM미리보기가 「미리볼 파일이 없습니다」로 비던 두 종류 행(파일 없는 옛 [요청] 재직증명서 행 · certificateHtml 빈 승인 행)을 서버 렌더로 표시 반영(071bfea, PR #843, CS-OKBEST-260922-0001) — 커밋 근거, 라이브 실사 이월(TBU)
2026-10-17카나PM주간 정합 스윕 — 승인/반려 위치 TBU 해소: 행 액션 「보기」 단독, 승인/반려는 문서 미리보기 모달 하단 [닫기][반려][승인] (admin 문서 결재 임베드 경유 라이브 실측, 대기 7건 상태에서 확인 — 버튼 클릭은 안 함). 개요·Data I/O·OQ 갱신
2026-10-22카나PM(10/21 머지분, PR #1257 6e47d97e·30bd3dc) 미리보기 모달 확대 — 행 클릭 진입 + 「전체 화면」·「인쇄하기」 (admin 문서 결재 임베드 경유 10/22 라이브 실측: 행 자체 클릭 → 「미리보기」 다이얼로그(문서 iframe), 전체 화면/인쇄하기 버튼 확인) + same-origin 파일 미리보기 가드(30bd3dc). ㄴ42 갱신 — 「보기」 버튼과 행 클릭 병행

Data I/O ​

Server → Client ​

변수엔티티.컬럼값 없을 때비고
$DocumentRequest[] / CertificationRecord[] (추정, team scope)빈 목록문서 목록
$구분 필터 선택 값"전체 구분"신청/제출/자격증·면허
$상태 필터 선택 값"전체 상태"대기/승인/반려/취소
$신청자·구분·유형·신청일·상태-미리보기 모달 필드

Client → Server ​

액션전달 값tRPC procedure권한 토큰
미리보기documentIdsdk.teamManager.document.preview() (추정, read-only)document:read (추정)
승인documentIdsdk.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 (추정)
증명서 미리보기 (서버 렌더){ id, source } (기존 문자열 입력도 계속 허용)previewCertificate (코드 반영: 071bfea, #843)document:read (추정)

외부 통합 (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.kind4월 별도 메뉴 흡수
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/Row• 해당 문서의 미리보기 모달을 여는 기능 원문 "보기"
• 클릭 시: "미리보기" 모달 오픈(문서 상세: 신청자·구분·유형·신청일·상태)
• (10/21, #1257 6e47d97e — 10/22 실측) 행 자체 클릭으로도 미리보기 진입 + 모달에 「전체 화면」(미리보기 확대)·「인쇄하기」 버튼 신설
50 모달행 클릭·전체 화면(#1257) 10/22 실측
ㄴ42-1미리보기 서버 렌더 (파일 없는 행)Rule• 미리볼 파일이 없어 미리보기가 「미리볼 파일이 없습니다」로 비던 두 종류 행을 서버에서 증명서로 렌더해 보여 준다 (CS-OKBEST-260922-0001)
 - CASE01 [옛 「서류 요청」 행]: 2026-09-11 이전 works 「서류 요청」이 서류 원장에 남긴 파일 없는 [요청] 재직증명서 행 — 목록에서 「신청」으로 분류하고 documentType 이름이 같은 증명서 양식으로 렌더
 - CASE02 [HTML 없는 승인 행]: 렌더 단일화 전에 승인돼 certificateHtml이 비어 있는 증명서 원장 행 — 승인 시점 기준으로 다시 렌더
 - 그 외 행: 기존 동작 유지(프런트 게이트 = needsServerCertificatePreview)
50 미리보기 모달 · certificateHtml · [[HBAD241_문서 양식]]신설 (코드 반영: 071bfea, #843, CS-OKBEST-260922-0001) · TBU: 라이브 실사 이월
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 · 위치 확정(2026-10-17): 미리보기 모달 하단 [반려][승인]
조건1 [TEAM_LEADER]문서 관리 탭 진입팀 scope 목록 노출token 내부 key TBU

Open Question ​

  • 대기 row의 승인/반려 버튼 위치 (목록 vs 미리보기 내부) = TBU → 해소(2026-10-17 라이브 실측): 목록 행 액션은 「보기」 단독, 승인/반려는 미리보기 모달 하단 [닫기][반려][승인]. 목록 구성 실측: 구분(전체 구분/신청/제출/자격증·면허)·상태(전체 상태/대기/승인/반려/취소) select + 시작일~종료일 + 기간 탭(이번 주/지난 1주/이번 달/지난 1개월/지난 3개월/전체) + 이름/사번/이메일 검색 + 7컬럼(사번·이름·구분·유형·신청일·상태·관리)
  • 자격증/면허 승인 흐름 = teamManager.listCertificates({status:PENDING}) → teamManager.approveCertificates(ids[])(certificateNumber 발급) 확정. 만료일·첨부·credential 세부 = TBU. (TC 확정: 02:2.12)
  • 미리보기 모달 내 문서 본문/PDF 뷰어 존재 여부 (현재 메타만 확인) = TBU
  • 권한 토큰(document:approve 등) 내부 key = TBU