Merge branch 'main' of http://39.117.244.52:3000/kjs/ERP-node into feature/screen-management

This commit is contained in:
kjs
2025-12-11 10:43:09 +09:00
42 changed files with 5977 additions and 1202 deletions

View File

@@ -905,11 +905,22 @@ export const SplitPanelLayout2Component: React.FC<SplitPanelLayout2ComponentProp
// 좌측 패널 항목 렌더링
const renderLeftItem = (item: any, level: number = 0, index: number = 0) => {
const idColumn = config.leftPanel?.hierarchyConfig?.idColumn || "id";
// ID 컬럼 결정: 설정값 > 데이터에 존재하는 일반적인 ID 컬럼 > 폴백
const configIdColumn = config.leftPanel?.hierarchyConfig?.idColumn;
const idColumn = configIdColumn ||
(item["id"] !== undefined ? "id" :
item["dept_code"] !== undefined ? "dept_code" :
item["code"] !== undefined ? "code" : "id");
const itemId = item[idColumn] ?? `item-${level}-${index}`;
const hasChildren = item.children?.length > 0;
const isExpanded = expandedItems.has(String(itemId));
const isSelected = selectedLeftItem && selectedLeftItem[idColumn] === item[idColumn];
// 선택 상태 확인: 동일한 객체이거나 idColumn 값이 일치해야 함
const isSelected = selectedLeftItem && (
selectedLeftItem === item ||
(item[idColumn] !== undefined &&
selectedLeftItem[idColumn] !== undefined &&
selectedLeftItem[idColumn] === item[idColumn])
);
// displayRow 설정에 따라 컬럼 분류
const displayColumns = config.leftPanel?.displayColumns || [];