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 c1ca4e8678..4150871e9b 100644 --- a/backend/src/main/java/io/dataease/controller/panel/PanelGroupController.java +++ b/backend/src/main/java/io/dataease/controller/panel/PanelGroupController.java @@ -62,10 +62,22 @@ public class PanelGroupController { @DePermission(type = DePermissionType.PANEL, value = "pid", level = ResourceAuthLevel.PANNEL_LEVEL_MANAGE) }, logical = Logical.AND) @I18n - public PanelGroup saveOrUpdate(@RequestBody PanelGroupRequest request) { + public String saveOrUpdate(@RequestBody PanelGroupRequest request) { return panelGroupService.saveOrUpdate(request); } + @ApiOperation("保存并返回数据") + @PostMapping("/saveWithData") + @DePermissions(value = { + @DePermission(type = DePermissionType.PANEL, value = "id"), + @DePermission(type = DePermissionType.PANEL, value = "pid", level = ResourceAuthLevel.PANNEL_LEVEL_MANAGE) + }, logical = Logical.AND) + @I18n + public PanelGroup saveOrUpdateWithData(@RequestBody PanelGroupRequest request) throws Exception { + String panelId = panelGroupService.saveOrUpdate(request); + return findOne(panelId); + } + @ApiOperation("删除") @DePermission(type = DePermissionType.PANEL, level = ResourceAuthLevel.PANNEL_LEVEL_MANAGE) @PostMapping("/deleteCircle/{id}") @@ -107,7 +119,7 @@ public class PanelGroupController { @ApiOperation("仪表板组件信息") @GetMapping("/queryPanelComponents/{id}") @I18n - public Map queryPanelComponents(@PathVariable String id){ + public Map queryPanelComponents(@PathVariable String id) { return panelGroupService.queryPanelComponents(id); } @@ -115,15 +127,15 @@ public class PanelGroupController { @PostMapping("/exportDetails") @I18n public void exportDetails(@RequestBody PanelViewDetailsRequest request, HttpServletResponse response) throws IOException { - panelGroupService.exportPanelViewDetails(request,response); + panelGroupService.exportPanelViewDetails(request, response); } @ApiOperation("更新仪表板状态") @PostMapping("/updatePanelStatus/{panelId}") @I18n @DePermission(type = DePermissionType.PANEL, level = ResourceAuthLevel.PANNEL_LEVEL_MANAGE) - public void updatePanelStatus(@PathVariable String panelId,@RequestBody PanelGroupBaseInfoRequest request){ - panelGroupService.updatePanelStatus(panelId,request); + public void updatePanelStatus(@PathVariable String panelId, @RequestBody PanelGroupBaseInfoRequest request) { + panelGroupService.updatePanelStatus(panelId, request); } } 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 6280bd45e5..e02c3cc764 100644 --- a/backend/src/main/java/io/dataease/service/panel/PanelGroupService.java +++ b/backend/src/main/java/io/dataease/service/panel/PanelGroupService.java @@ -121,7 +121,7 @@ public class PanelGroupService { } @DeCleaner(value = DePermissionType.PANEL, key = "pid") - public PanelGroup saveOrUpdate(PanelGroupRequest request) { + public String saveOrUpdate(PanelGroupRequest request) { String panelId = request.getId(); if (StringUtils.isNotEmpty(panelId)) { panelViewService.syncPanelViews(request); @@ -191,19 +191,9 @@ public class PanelGroupService { request.setPid(panel.getPid()); } } - DeLogUtils.save(SysLogConstants.OPERATE_TYPE.MODIFY, sourceType, request.getId(), request.getPid(), null, sourceType); } - - //带有权限的返回 - PanelGroupRequest authRequest = new PanelGroupRequest(); - authRequest.setId(panelId); - authRequest.setUserId(String.valueOf(AuthUtils.getUser().getUserId())); - List panelGroupDTOList = extPanelGroupMapper.panelGroupList(authRequest); - if (!CollectionUtils.isNotEmpty(panelGroupDTOList)) { - DataEaseException.throwException("未查询到用户对应的资源权限,请尝试刷新重新保存"); - } - return panelGroupDTOList.get(0); + return panelId; } diff --git a/frontend/src/api/panel/panel.js b/frontend/src/api/panel/panel.js index 83849f1dd9..71c3c47d0b 100644 --- a/frontend/src/api/panel/panel.js +++ b/frontend/src/api/panel/panel.js @@ -72,6 +72,14 @@ export function panelSave(data) { data }) } +export function panelSaveWithData(data) { + return request({ + url: 'panel/group/saveWithData', + method: 'post', + loading: true, + data + }) +} export function findOne(id) { return request({ url: 'panel/group/findOne/' + id, diff --git a/frontend/src/views/panel/list/EditPanel/index.vue b/frontend/src/views/panel/list/EditPanel/index.vue index 1188f742e8..531d43511d 100644 --- a/frontend/src/views/panel/list/EditPanel/index.vue +++ b/frontend/src/views/panel/list/EditPanel/index.vue @@ -23,7 +23,7 @@ - + {{ $t('commons.cancel') }} {{ $t('commons.confirm') }} @@ -32,7 +32,7 @@