From 39aa75f4f820753cd8923ca22e7335b937b69d70 Mon Sep 17 00:00:00 2001 From: wangjiahao <1522128093@qq.com> Date: Fri, 26 Apr 2024 16:45:45 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E5=9B=BE=E8=A1=A8):=20=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E9=83=A8=E5=88=86=E7=BB=84=E4=BB=B6=E4=B8=8D=E8=83=BD=E5=AF=BC?= =?UTF-8?q?=E5=87=BA=E6=98=8E=E7=BB=86=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/panel/PanelGroupService.java | 44 ++++++++++--------- .../canvas/customComponent/UserViewDialog.vue | 14 +----- .../src/components/canvas/utils/utils.js | 7 +-- 3 files changed, 29 insertions(+), 36 deletions(-) diff --git a/core/backend/src/main/java/io/dataease/service/panel/PanelGroupService.java b/core/backend/src/main/java/io/dataease/service/panel/PanelGroupService.java index 644dec2bef..cfde7c56cb 100644 --- a/core/backend/src/main/java/io/dataease/service/panel/PanelGroupService.java +++ b/core/backend/src/main/java/io/dataease/service/panel/PanelGroupService.java @@ -664,15 +664,17 @@ public class PanelGroupService { CacheUtils.removeAll(AuthConstants.DEPT_PANEL_NAME); } - public DataSetExportRequest composeDatasetExportRequest(PanelViewDetailsRequest request){ + public DataSetExportRequest composeDatasetExportRequest(PanelViewDetailsRequest request) { ChartExtRequest extRequest = request.getComponentFilterInfo(); List filter = new ArrayList(); - if(extRequest != null){ - if(CollectionUtils.isNotEmpty(extRequest.getFilter())){ + if (extRequest != null) { + if (CollectionUtils.isNotEmpty(extRequest.getFilter())) { filter.addAll(extRequest.getFilter()); - }if(CollectionUtils.isNotEmpty(extRequest.getLinkageFilters())){ + } + if (CollectionUtils.isNotEmpty(extRequest.getLinkageFilters())) { filter.addAll(extRequest.getLinkageFilters()); - }if(CollectionUtils.isNotEmpty(extRequest.getOuterParamsFilters())){ + } + if (CollectionUtils.isNotEmpty(extRequest.getOuterParamsFilters())) { filter.addAll(extRequest.getOuterParamsFilters()); } } @@ -681,23 +683,23 @@ public class PanelGroupService { permissionsTreeObjFilter.setLogic("and"); List composePermission = new ArrayList<>(); permissionsTreeObjFilter.setItems(composePermission); - if(CollectionUtils.isNotEmpty(filter)){ - filter.forEach(filterInfo ->{ + if (CollectionUtils.isNotEmpty(filter)) { + filter.forEach(filterInfo -> { DatasetRowPermissionsTreeItem filterPermission = new DatasetRowPermissionsTreeItem(); List values = filterInfo.getValue(); String operator = filterInfo.getOperator(); String dataSetFilterType = "logic"; String term = operator; - if("eq".equals(operator) && values.size()>1){ + if ("eq".equals(operator) && values.size() > 1) { dataSetFilterType = "enum"; } String fieldId = filterInfo.getFieldId(); filterPermission.setFieldId(fieldId); filterPermission.setFilterType(dataSetFilterType); filterPermission.setType("item"); - if(dataSetFilterType.equals("enum")){ + if (dataSetFilterType.equals("enum")) { filterPermission.setEnumValue(values); - }else{ + } else { filterPermission.setTerm(term); filterPermission.setValue(values.get(0)); } @@ -708,17 +710,19 @@ public class PanelGroupService { ChartViewWithBLOBs chartInfo = chartViewMapper.selectByPrimaryKey(request.getViewId()); String customFilter = chartInfo.getCustomFilter(); - DatasetTable datasetTable = datasetTableMapper.selectByPrimaryKey(chartInfo.getTableId()); + DatasetTable datasetTable = datasetTableMapper.selectByPrimaryKey(chartInfo.getTableId()); DataSetExportRequest dataSetExportRequest = new DataSetExportRequest(); - BeanUtils.copyBean(dataSetExportRequest,datasetTable); - if(CollectionUtils.isNotEmpty(composePermission)){ - DatasetRowPermissionsTreeObj permissionsTreeObjCustomsFilter = gson.fromJson(customFilter,DatasetRowPermissionsTreeObj.class); - DatasetRowPermissionsTreeItem customFilterPermission = new DatasetRowPermissionsTreeItem(); - customFilterPermission.setType("tree"); - customFilterPermission.setSubTree(permissionsTreeObjCustomsFilter); - composePermission.add(customFilterPermission); + BeanUtils.copyBean(dataSetExportRequest, datasetTable); + DatasetRowPermissionsTreeObj permissionsTreeObjCustomsFilter = gson.fromJson(customFilter, DatasetRowPermissionsTreeObj.class); + if (CollectionUtils.isNotEmpty(composePermission)) { + if (StringUtils.isNotEmpty(permissionsTreeObjCustomsFilter.getLogic())) { + DatasetRowPermissionsTreeItem customFilterPermission = new DatasetRowPermissionsTreeItem(); + customFilterPermission.setType("tree"); + customFilterPermission.setSubTree(permissionsTreeObjCustomsFilter); + composePermission.add(customFilterPermission); + } dataSetExportRequest.setExpressionTree(gson.toJson(permissionsTreeObjFilter)); - }else{ + } else if(StringUtils.isNotEmpty(permissionsTreeObjCustomsFilter.getLogic())){ dataSetExportRequest.setExpressionTree(customFilter); } dataSetExportRequest.setFilename(dataSetExportRequest.getName()); @@ -727,7 +731,7 @@ public class PanelGroupService { } public void exportDatasetDetails(PanelViewDetailsRequest request, HttpServletResponse response) throws Exception { - dataSetTableService.exportDataset(composeDatasetExportRequest(request),response); + dataSetTableService.exportDataset(composeDatasetExportRequest(request), response); } diff --git a/core/frontend/src/components/canvas/customComponent/UserViewDialog.vue b/core/frontend/src/components/canvas/customComponent/UserViewDialog.vue index c3b1399d5f..9ec72f25fb 100644 --- a/core/frontend/src/components/canvas/customComponent/UserViewDialog.vue +++ b/core/frontend/src/components/canvas/customComponent/UserViewDialog.vue @@ -282,19 +282,7 @@ export default { } }, exportExcel(callBack) { - const _this = this - if (this.isOnlyDetails) { - _this.exportExcelDownload(null, null, null, callBack) - } else { - if (this.showChartCanvas) { - html2canvas(document.getElementById('chartCanvas')).then(canvas => { - const snapshot = canvas.toDataURL('image/jpeg', 1) - _this.exportExcelDownload(snapshot, canvas.width, canvas.height, callBack) - }) - } else { - _this.exportExcelDownload(null, null, null, callBack) - } - } + this.exportExcelDownload(null, null, null, callBack) }, exportSourceDetails(callBack) { const loadingWrapper = { val: this.linkLoading } diff --git a/core/frontend/src/components/canvas/utils/utils.js b/core/frontend/src/components/canvas/utils/utils.js index 7c32bdc555..8b4d60d147 100644 --- a/core/frontend/src/components/canvas/utils/utils.js +++ b/core/frontend/src/components/canvas/utils/utils.js @@ -469,10 +469,11 @@ export function getCacheTree(treeName) { } export function exportExcelDownload(chart, snapshot, width, height, loadingWrapper, downloadParams, callBack) { - if (chart.render === 'antv' && !chart.data?.data?.length) { + if ((chart.render === 'echarts' || ['text', 'label'.includes(chart.type)]) && !(chart.data?.series?.length && chart.data?.series[0].data?.length)) { + callBack() return - } - if (chart.type === 'echarts' && !(chart.data?.series?.length && chart.data?.series[0].data?.length)) { + } else if ((chart.render === 'antv' && !['text', 'label'].includes(chart.type)) && !chart.data?.data?.length) { + callBack() return } const fields = JSON.parse(JSON.stringify(chart.data.fields))