diff --git a/backend/src/main/java/io/dataease/controller/panel/PanelGroupController.java b/backend/src/main/java/io/dataease/controller/panel/PanelGroupController.java index e5e8868c0f..3c84fffad6 100644 --- a/backend/src/main/java/io/dataease/controller/panel/PanelGroupController.java +++ b/backend/src/main/java/io/dataease/controller/panel/PanelGroupController.java @@ -71,7 +71,7 @@ public class PanelGroupController { @ApiOperation("详细信息") @DePermission(type = DePermissionType.PANEL, level = ResourceAuthLevel.PANNEL_LEVEL_VIEW) @GetMapping("/findOne/{id}") - public PanelGroupWithBLOBs findOne(@PathVariable String id) throws Exception { + public PanelGroupDTO findOne(@PathVariable String id) throws Exception { return panelGroupService.findOne(id); } diff --git a/backend/src/main/java/io/dataease/service/panel/PanelGroupService.java b/backend/src/main/java/io/dataease/service/panel/PanelGroupService.java index 8272aeff23..0c81afea35 100644 --- a/backend/src/main/java/io/dataease/service/panel/PanelGroupService.java +++ b/backend/src/main/java/io/dataease/service/panel/PanelGroupService.java @@ -200,12 +200,16 @@ public class PanelGroupService { } - public PanelGroupWithBLOBs findOne(String panelId) { - PanelGroupWithBLOBs panelGroupWithBLOBs = extPanelGroupMapper.findOneWithPrivileges(panelId, String.valueOf(AuthUtils.getUser().getUserId())); - if (panelGroupWithBLOBs != null && StringUtils.isNotEmpty(panelGroupWithBLOBs.getSource())) { - return extPanelGroupMapper.findOneWithPrivileges(panelGroupWithBLOBs.getSource(), String.valueOf(AuthUtils.getUser().getUserId())); + public PanelGroupDTO findOne(String panelId) { + PanelGroupDTO panelGroup = extPanelGroupMapper.findOneWithPrivileges(panelId, String.valueOf(AuthUtils.getUser().getUserId())); + // 默认仪表板取源仪表板样式 + if (panelGroup != null && StringUtils.isNotEmpty(panelGroup.getSource())) { + PanelGroupDTO sourcePanel = extPanelGroupMapper.findOneWithPrivileges(panelGroup.getSource(), String.valueOf(AuthUtils.getUser().getUserId())); + panelGroup.setPanelData(sourcePanel.getPanelData()); + panelGroup.setPanelStyle(sourcePanel.getPanelStyle()); + panelGroup.setSourcePanelName(sourcePanel.getName()); } - return panelGroupWithBLOBs; + return panelGroup; } diff --git a/frontend/src/api/panel/panel.js b/frontend/src/api/panel/panel.js index ecc52841f2..0cb50e64af 100644 --- a/frontend/src/api/panel/panel.js +++ b/frontend/src/api/panel/panel.js @@ -142,7 +142,8 @@ export function initPanelData(panelId, callback) { store.dispatch('panel/setPanelInfo', { id: response.data.id, name: response.data.name, - privileges: response.data.privileges + privileges: response.data.privileges, + sourcePanelName: response.data.sourcePanelName }) // 刷新联动信息 getPanelAllLinkageInfo(panelId).then(rsp => {