feat: 화면 관리 기능 개선 (복제/삭제/그룹 관리/테이블 설정)
- 화면 관리 시스템의 복제, 삭제, 수정 및 테이블 설정 기능을 전면 개선 - 그룹 삭제 시 하위 그룹과의 연관성 정리 및 로딩 프로그레스 바 추가 - 화면 수정 기능 추가: 이름, 그룹, 역할, 정렬 순서 변경 - 테이블 설정 모달에 관련 기능 추가 및 데이터 일관성 유지 - 메뉴-화면 그룹 동기화 API 추가 및 관련 상태 관리 기능 구현 - 검색어 필터링 로직 개선: 다중 키워드 지원 - 관련 파일 및 진행 상태 업데이트
This commit is contained in:
59
PLAN.MD
59
PLAN.MD
@@ -1,7 +1,7 @@
|
||||
# 프로젝트: 화면 관리 기능 개선 (복제/삭제/그룹 관리)
|
||||
# 프로젝트: 화면 관리 기능 개선 (복제/삭제/그룹 관리/테이블 설정)
|
||||
|
||||
## 개요
|
||||
화면 관리 시스템의 복제 및 삭제 기능을 전면 개선하여, 단일 화면 복제, 그룹(폴더) 전체 복제, 정렬 순서 유지, 일괄 이름 변경 등 다양한 고급 기능을 지원합니다.
|
||||
화면 관리 시스템의 복제, 삭제, 수정, 테이블 설정 기능을 전면 개선하여 효율적인 화면 관리를 지원합니다.
|
||||
|
||||
## 핵심 기능
|
||||
|
||||
@@ -15,47 +15,54 @@
|
||||
### 2. 그룹(폴더) 전체 복제
|
||||
- [x] 대분류 폴더 복제 시 모든 하위 폴더 + 화면 재귀적 복제
|
||||
- [x] 정렬 순서(display_order) 유지
|
||||
- 그룹 생성 시 원본 display_order 전달
|
||||
- 화면 추가 시 원본 display_order 유지
|
||||
- 하위 그룹들 display_order 순으로 정렬 후 복제
|
||||
- [x] 대분류(최상위 그룹) 복제 시 경고 문구 표시
|
||||
- [x] 정렬 순서 입력 필드 추가 (사용자가 직접 수정 가능)
|
||||
- [x] 원본 그룹 정보 표시 개선
|
||||
- 직접 포함 화면 수
|
||||
- 하위 그룹 수
|
||||
- 복제될 총 화면 수 (하위 그룹 포함)
|
||||
- [x] 정렬 순서 입력 필드 추가
|
||||
- [x] 복제 모드 선택: 전체(폴더+화면), 폴더만, 화면만
|
||||
- [x] 모달 스크롤 지원 (max-h-[90vh] overflow-y-auto)
|
||||
|
||||
### 3. 고급 옵션: 이름 일괄 변경
|
||||
- [x] 삭제할 텍스트 지정 (모든 폴더/화면 이름에서 제거)
|
||||
- [x] 추가할 접미사 지정 (기본값: " (복제)")
|
||||
- [x] 찾을 텍스트 / 대체할 텍스트 (Find & Replace)
|
||||
- [x] 미리보기 기능
|
||||
|
||||
### 4. 삭제 기능
|
||||
- [x] 단일 화면 삭제 (휴지통으로 이동)
|
||||
- [x] 그룹 삭제 시 옵션 선택
|
||||
- "화면도 함께 삭제" 체크박스
|
||||
- 체크 시: 그룹 + 포함된 화면 모두 삭제
|
||||
- 미체크 시: 화면은 "미분류"로 이동
|
||||
- [x] 그룹 삭제 (화면 함께 삭제 옵션)
|
||||
- [x] 삭제 시 로딩 프로그레스 바 표시
|
||||
|
||||
### 5. 회사 코드 지원 (최고 관리자)
|
||||
### 5. 화면 수정 기능
|
||||
- [x] 우클릭 "수정" 메뉴로 화면 이름/그룹/역할/정렬 순서 변경
|
||||
- [x] 그룹 추가/수정 시 상위 그룹 기반 자동 회사 코드 설정
|
||||
|
||||
### 6. 테이블 설정 기능 (TableSettingModal)
|
||||
- [x] 화면 설정 모달에 "테이블 설정" 탭 추가
|
||||
- [x] 입력 타입 변경 시 관련 참조 필드 자동 초기화
|
||||
- 엔티티→텍스트: referenceTable, referenceColumn, displayColumn 초기화
|
||||
- 코드→다른 타입: codeCategory, codeValue 초기화
|
||||
- [x] 데이터 일관성 유지 (inputType ↔ referenceTable 연동)
|
||||
- [x] 조인 배지 단일화 (FK 배지 제거, 조인 배지만 표시)
|
||||
|
||||
### 7. 회사 코드 지원 (최고 관리자)
|
||||
- [x] 대상 회사 선택 가능
|
||||
- [x] 복제된 그룹/화면에 선택한 회사 코드 적용
|
||||
- [x] 상위 그룹 선택 시 자동 회사 코드 설정
|
||||
|
||||
## 관련 파일
|
||||
- `frontend/components/screen/CopyScreenModal.tsx` - 복제 모달 (화면/그룹 통합)
|
||||
- `frontend/components/screen/CopyScreenModal.tsx` - 복제 모달
|
||||
- `frontend/components/screen/ScreenGroupTreeView.tsx` - 트리 뷰 + 컨텍스트 메뉴
|
||||
- `frontend/lib/api/screen.ts` - 화면 API (복제, 삭제)
|
||||
- `frontend/components/screen/TableSettingModal.tsx` - 테이블 설정 모달
|
||||
- `frontend/components/screen/ScreenSettingModal.tsx` - 화면 설정 모달 (테이블 설정 탭 포함)
|
||||
- `frontend/lib/api/screen.ts` - 화면 API
|
||||
- `frontend/lib/api/screenGroup.ts` - 그룹 API
|
||||
- `frontend/lib/api/tableManagement.ts` - 테이블 관리 API
|
||||
|
||||
## 진행 상태
|
||||
- [완료] 단일 화면 복제 + 새로고침
|
||||
- [완료] 그룹 전체 복제 (재귀적)
|
||||
- [완료] 정렬 순서(display_order) 유지
|
||||
- [완료] 대분류 경고 문구
|
||||
- [완료] 정렬 순서 입력 필드
|
||||
- [완료] 고급 옵션: 이름 일괄 변경
|
||||
- [완료] 단일 화면 삭제
|
||||
- [완료] 그룹 삭제 (화면 함께 삭제 옵션)
|
||||
- [완료] 고급 옵션: 이름 일괄 변경 (Find & Replace)
|
||||
- [완료] 단일 화면/그룹 삭제 + 로딩 프로그레스
|
||||
- [완료] 화면 수정 (이름/그룹/역할/순서)
|
||||
- [완료] 테이블 설정 탭 추가
|
||||
- [완료] 입력 타입 변경 시 관련 필드 초기화
|
||||
- [완료] 그룹 복제 모달 스크롤 문제 수정
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user