Commit Graph

34 Commits

Author SHA1 Message Date
kjs 64e6fd1920 feat: 수주등록 모달 및 범용 컴포넌트 개발
- 범용 컴포넌트 3종 개발 및 레지스트리 등록:
  * AutocompleteSearchInput: 자동완성 검색 입력 컴포넌트
  * EntitySearchInput: 엔티티 검색 모달 컴포넌트
  * ModalRepeaterTable: 모달 기반 반복 테이블 컴포넌트

- 수주등록 전용 컴포넌트:
  * OrderCustomerSearch: 거래처 검색 (AutocompleteSearchInput 래퍼)
  * OrderItemRepeaterTable: 품목 관리 (ModalRepeaterTable 래퍼)
  * OrderRegistrationModal: 수주등록 메인 모달

- 백엔드 API:
  * Entity 검색 API (멀티테넌시 지원)
  * 수주 등록 API (자동 채번)

- 화면 편집기 통합:
  * 컴포넌트 레지스트리에 등록
  * ConfigPanel을 통한 설정 기능
  * 드래그앤드롭으로 배치 가능

- 개발 문서:
  * 수주등록_화면_개발_계획서.md (상세 설계 문서)
2025-11-14 14:43:53 +09:00
kjs 658211b9d1 feat: 화면 복사 기능 개선 및 버튼 모달 설정 수정
## 주요 변경사항

### 1. 화면 복사 기능 강화
- 최고 관리자가 다른 회사로 화면 복사 가능하도록 개선
- 메인 화면과 연결된 모달 화면 자동 감지 및 일괄 복사
- 복사 시 버튼의 targetScreenId 자동 업데이트
- 일괄 이름 변경 기능 추가 (복사본 텍스트 제거)
- 중복 화면명 체크 기능 추가

#### 백엔드 (screenManagementService.ts)
- generateMultipleScreenCodes: 여러 화면 코드 일괄 생성 (Advisory Lock 사용)
- detectLinkedModalScreens: edit 액션도 모달로 감지하도록 개선
- checkDuplicateScreenName: 중복 화면명 체크 API 추가
- copyScreenWithModals: 메인+모달 일괄 복사 및 버튼 업데이트
- updateButtonTargetScreenIds: 복사된 모달로 버튼 targetScreenId 업데이트
- updated_date 컬럼 제거 (screen_layouts 테이블에 존재하지 않음)

#### 프론트엔드 (CopyScreenModal.tsx)
- 회사 선택 UI 추가 (최고 관리자 전용)
- 연결된 모달 화면 자동 감지 및 표시
- 일괄 이름 변경 기능 (텍스트 제거/추가)
- 실시간 미리보기
- 중복 화면명 체크

### 2. 버튼 설정 모달 화면 선택 개선
- 편집 중인 화면의 company_code 기준으로 화면 목록 조회
- 최고 관리자가 다른 회사 화면 편집 시 해당 회사의 모달 화면만 표시
- targetScreenId 문자열/숫자 타입 불일치 수정

#### 백엔드 (screenManagementController.ts)
- getScreens API에 companyCode 쿼리 파라미터 추가
- 최고 관리자는 다른 회사의 화면 목록 조회 가능

#### 프론트엔드
- ButtonConfigPanel: currentScreenCompanyCode props 추가
- DetailSettingsPanel: currentScreenCompanyCode 전달
- UnifiedPropertiesPanel: currentScreenCompanyCode 전달
- ScreenDesigner: selectedScreen.companyCode 전달
- targetScreenId 비교 시 parseInt 처리 (문자열→숫자)

### 3. 카테고리 메뉴별 컬럼 분리 기능
- 메뉴별로 카테고리 컬럼을 독립적으로 관리
- 카테고리 컬럼 추가/삭제 시 메뉴 스코프 적용

## 수정된 파일
- backend-node/src/services/screenManagementService.ts
- backend-node/src/controllers/screenManagementController.ts
- backend-node/src/routes/screenManagementRoutes.ts
- frontend/components/screen/CopyScreenModal.tsx
- frontend/components/screen/config-panels/ButtonConfigPanel.tsx
- frontend/components/screen/panels/DetailSettingsPanel.tsx
- frontend/components/screen/panels/UnifiedPropertiesPanel.tsx
- frontend/components/screen/ScreenDesigner.tsx
- frontend/lib/api/screen.ts
2025-11-13 12:17:10 +09:00
kjs 4294fbf608 feat: 채번 규칙 테이블 기반 자동 필터링 구현
- 채번 규칙 scope_type을 table로 단순화
- 화면의 테이블명을 자동으로 감지하여 채번 규칙 필터링
- TextInputConfigPanel에 screenTableName prop 추가
- getAvailableNumberingRulesForScreen API로 테이블 기반 조회
- NumberingRuleDesigner에서 자동으로 테이블명 설정
- webTypeConfigConverter 유틸리티 추가 (기존 화면 호환성)
- AutoGenerationConfig 타입 개선 (enabled, options.numberingRuleId)
- 채번 규칙 선택 UI에서 ID 제거, 설명 추가
- 불필요한 console.log 제거

Backend:
- numberingRuleService: 테이블 기반 필터링 로직 구현
- numberingRuleController: available-for-screen 엔드포인트 수정

Frontend:
- TextInputConfigPanel: 테이블명 기반 채번 규칙 로드
- NumberingRuleDesigner: 적용 범위 UI 제거, 테이블명 자동 설정
- ScreenDesigner: webTypeConfig → autoGeneration 변환 로직 통합
- DetailSettingsPanel: autoGeneration 속성 매핑 개선
2025-11-07 14:27:07 +09:00
dohyeons 39080dff59 autofill 기능 구현 2025-11-04 14:33:39 +09:00
kjs 743ae6dbf1 패널 정리 중간 커밋 2025-10-28 17:33:03 +09:00
kjs 711e051b1c 속성창 줄이기 2025-10-28 16:16:00 +09:00
kjs 5fdefffd26 로그시스템 개선 2025-10-27 11:11:08 +09:00
leeheejin 10d112bd69 버튼 문제 해결 2025-10-21 17:32:54 +09:00
kjs f9c171c513 플로우 구현 2025-10-20 10:55:33 +09:00
kjs 2e916678fa ui개선 2025-10-17 16:21:08 +09:00
kjs a0dde51109 분할 패널 및 반복 필드 그룹 컴포넌트 2025-10-16 15:05:24 +09:00
kjs a2c3737f7a 세부타입설정 2025-10-14 16:45:30 +09:00
kjs 55f52ed1b5 컬럼 세부 타입 설정 2025-10-14 11:48:04 +09:00
leeheejin 3fa410cbe4 ui 수정 및 시현할 기능 업데이트 2025-10-02 14:34:15 +09:00
leeheejin 2c0dca08b4 console.log 주석 처리 - 개발환경 정리
- menu, company, screenMng, i18n, tableMng 모듈 console 주석 처리
- 총 55개 파일 수정
- 빌드 에러 수정 완료
- 백엔드 서버 정상 작동 확인

관련 파일:
- frontend/components/admin/MenuManagement.tsx
- frontend/components/admin/MenuFormModal.tsx
- frontend/components/admin/ScreenAssignmentTab.tsx
- frontend/components/admin/CompanyTable.tsx
- frontend/components/admin/MultiLang.tsx
- frontend/app/(main)/admin/tableMng/page.tsx
- 기타 screen 관련 컴포넌트 49개 파일
2025-10-01 18:17:30 +09:00
leeheejin e0143e9cba 문서뷰어기능구현 2025-09-29 13:29:03 +09:00
leeheejin ee7c8e989e 파일 업로드 기능 구현 및 상세설정 연동
- 템플릿 파일첨부 컴포넌트와 FileComponentConfigPanel 실시간 동기화
- FileUpload 위젯에 전역 파일 상태 관리 기능 추가
- 파일 업로드/삭제 시 전역 상태 및 localStorage 동기화
- RealtimePreview에서 전역 상태 우선 읽기 및 파일 개수 표시
- 한컴오피스, Apple iWork 파일 형식 지원 추가
- 파일 뷰어 모달 및 미리보기 기능 구현
- 업로드된 파일 디렉토리 .gitignore 추가
2025-09-26 13:11:34 +09:00
leeheejin 1a60177fe4 feat: 관리자 페이지 레이아웃 통일 및 JSX 구문 수정
- admin/screenMng, dataflow 페이지에 tableMng 레퍼런스 레이아웃 적용
- admin/standards 페이지 JSX 괄호 문제 수정
- 전체 관리자 페이지 UI 일관성 향상
- bg-gray-50 배경, container 구조, 통일된 제목 스타일 적용
2025-09-24 18:07:36 +09:00
kjs ad7f350f00 fix: API 클라이언트 설정 원복 및 빈 테이블명 API 호출 방지
- API 클라이언트를 원래 포트 8080으로 되돌림
- loadEntityDisplayConfig에서 sourceTable/joinTable이 비어있을 때 API 호출 방지
- 불필요한 백엔드 서버 중지
2025-09-23 17:06:23 +09:00
kjs c243137a91 테이블 리스트 기능 수정 2025-09-15 11:43:59 +09:00
kjs 52dd18747a 아코디언 컴포넌트 생성 2025-09-12 16:47:02 +09:00
kjs b071d8090b 버튼 기능구현 2025-09-12 14:24:25 +09:00
kjs 4da06b2a56 카드 레이아웃 구현 2025-09-11 12:22:39 +09:00
kjs 01860df8d7 컴포넌트 화면편집기에 배치 2025-09-10 14:09:32 +09:00
kjs db782eb9c9 템플릿관리, 컴포넌트 관리 2025-09-09 17:42:23 +09:00
kjs 49c8f9a2dd 웹 타입 설정패널 분리 2025-09-09 15:42:04 +09:00
kjs a17602c643 웹타입 컴포넌트 분리작업 2025-09-09 14:29:04 +09:00
kjs 0b38f349aa 데이터 테이블 첨부파일 연계 2025-09-06 00:16:27 +09:00
kjs d73be8a4d3 파일 컴포넌트 분리 2025-09-05 21:52:19 +09:00
kjs 95e68ca087 모달에서 저장 안되는 문제 수정 2025-09-04 18:36:40 +09:00
kjs 9bf879e29d feat: 화면관리 시스템 구현
- 컴포넌트 드래그앤드롭 시스템 완성
- 속성 편집 및 실시간 미리보기 기능
- 버튼 시스템 통합 (유니버설 버튼)
- 격자 시스템 및 해상도 설정 패널
- 상세설정 패널 구현
- 스타일 편집기 최적화
- 라벨 처리 시스템 개선
2025-09-04 15:20:26 +09:00
kjs 78d4d7de23 feat: 개별 위젯 컴포넌트 입력 타입 및 자동 값 설정 기능 추가
- BaseComponent에 inputType, autoValueType 속성 추가
- DetailSettingsPanel에 입력 타입 및 자동 값 타입 선택 UI 추가
- RealtimePreview에서 자동 값 타입별 값 생성 및 표시 로직 구현
- 텍스트, 숫자, 날짜 위젯에서 7가지 자동 값 타입 지원
  - 현재 날짜시간, 현재 날짜, 현재 시간
  - 현재 사용자, UUID, 시퀀스, 사용자 정의
- 자동입력 모드에서 읽기 전용 스타일 적용 (회색 배경)
- 백엔드 API에 input_type 처리 로직 추가
- TableTypeSelector에 입력 타입 설정 UI 추가
2025-09-04 14:23:35 +09:00
kjs feb26fa32a 스타일 적용안되던 문제 수정 2025-09-04 11:33:52 +09:00
kjs f82d18575e 타입별 상세설정 추가 2025-09-03 11:32:09 +09:00