feat: Enhance BOM and UI components with improved label handling and data mapping
- Updated the BOM service to include additional fields in the BOM header retrieval, enhancing data richness. - Enhanced the EditModal to automatically map foreign key fields to dot notation, improving data handling and user experience. - Improved the rendering of labels in various components, allowing for customizable label positions and styles, enhancing UI flexibility. - Added new properties for label positioning and spacing in the V2 component styles, allowing for better layout control. - Enhanced the BomTreeComponent to support additional data mapping for entity joins, improving data accessibility and management.
This commit is contained in:
@@ -291,6 +291,7 @@ export function BomTreeComponent({
|
||||
item_name: raw.item_name || "",
|
||||
item_code: raw.item_number || raw.item_code || "",
|
||||
item_type: raw.item_type || raw.division || "",
|
||||
unit: raw.unit || raw.item_unit || "",
|
||||
} as BomHeaderInfo;
|
||||
}
|
||||
} catch (e) {
|
||||
@@ -376,6 +377,18 @@ export function BomTreeComponent({
|
||||
detail.editData[key] = (headerInfo as any)[key];
|
||||
}
|
||||
});
|
||||
|
||||
// entity join된 필드를 dot notation으로도 매핑 (item_info.xxx 형식)
|
||||
const h = headerInfo as Record<string, any>;
|
||||
if (h.item_name) detail.editData["item_info.item_name"] = h.item_name;
|
||||
if (h.item_type) detail.editData["item_info.division"] = h.item_type;
|
||||
if (h.item_code || h.item_number) detail.editData["item_info.item_number"] = h.item_code || h.item_number;
|
||||
if (h.unit) detail.editData["item_info.unit"] = h.unit;
|
||||
// entity join alias 형식도 매핑
|
||||
if (h.item_name) detail.editData["item_id_item_name"] = h.item_name;
|
||||
if (h.item_type) detail.editData["item_id_division"] = h.item_type;
|
||||
if (h.item_code || h.item_number) detail.editData["item_id_item_number"] = h.item_code || h.item_number;
|
||||
if (h.unit) detail.editData["item_id_unit"] = h.unit;
|
||||
};
|
||||
// capture: true → EditModal 리스너(bubble)보다 반드시 먼저 실행
|
||||
window.addEventListener("openEditModal", handler, true);
|
||||
|
||||
Reference in New Issue
Block a user