diff --git a/core/core-backend/src/main/java/io/dataease/visualization/manage/CoreVisualizationExportManage.java b/core/core-backend/src/main/java/io/dataease/visualization/manage/CoreVisualizationExportManage.java index 4093932f47..07ac6bf599 100644 --- a/core/core-backend/src/main/java/io/dataease/visualization/manage/CoreVisualizationExportManage.java +++ b/core/core-backend/src/main/java/io/dataease/visualization/manage/CoreVisualizationExportManage.java @@ -32,6 +32,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors; +import java.util.stream.Stream; @Component @@ -64,6 +65,15 @@ public class CoreVisualizationExportManage { String componentsJson = visualization.getComponentData(); List> components = JsonUtil.parseList(componentsJson, tokenType); + components = components.stream().flatMap(item -> { + if (ObjectUtils.isNotEmpty(item.get("innerType")) && StringUtils.equalsIgnoreCase(item.get("innerType").toString(), "DeTabs")) { + if (ObjectUtils.isNotEmpty(item.get("propValue"))) { + List> deTabs = (List>) item.get("propValue"); + return deTabs.stream().flatMap(tab -> ((List>) tab.get("componentData")).stream()); + } + } + return Stream.of(item); + }).toList(); List idList = components.stream().filter(c -> ObjectUtils.isNotEmpty(c.get("id"))).map(component -> Long.parseLong(component.get("id").toString())).toList(); if (CollectionUtils.isNotEmpty(viewIdList)) {