diff --git a/backend/src/main/java/io/dataease/controller/request/panel/PanelViewDetailsRequest.java b/backend/src/main/java/io/dataease/controller/request/panel/PanelViewDetailsRequest.java index 44fba1de45..841ff36e8b 100644 --- a/backend/src/main/java/io/dataease/controller/request/panel/PanelViewDetailsRequest.java +++ b/backend/src/main/java/io/dataease/controller/request/panel/PanelViewDetailsRequest.java @@ -16,6 +16,8 @@ public class PanelViewDetailsRequest { private String[] header; + private Integer[] excelTypes; + private List details; private String snapshot; @@ -25,4 +27,5 @@ public class PanelViewDetailsRequest { private int snapshotHeight; + } 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 0e7eab6fde..c80ab5631d 100644 --- a/backend/src/main/java/io/dataease/service/panel/PanelGroupService.java +++ b/backend/src/main/java/io/dataease/service/panel/PanelGroupService.java @@ -6,7 +6,9 @@ import io.dataease.commons.constants.*; import io.dataease.commons.utils.*; import io.dataease.controller.request.authModel.VAuthModelRequest; import io.dataease.controller.request.dataset.DataSetTableRequest; + import io.dataease.controller.request.panel.*; + import io.dataease.dto.PanelGroupExtendDataDTO; import io.dataease.dto.SysLogDTO; import io.dataease.dto.authModel.VAuthModelDTO; @@ -21,6 +23,7 @@ import io.dataease.i18n.Translator; import io.dataease.listener.util.CacheUtils; import io.dataease.plugins.common.base.domain.*; import io.dataease.plugins.common.base.mapper.*; +import io.dataease.plugins.common.constants.DeTypeConstants; import io.dataease.service.chart.ChartViewService; import io.dataease.service.dataset.DataSetTableService; import io.dataease.service.staticResource.StaticResourceService; @@ -546,6 +549,7 @@ public class PanelGroupService { try { String snapshot = request.getSnapshot(); List details = request.getDetails(); + Integer[] excelTypes = request.getExcelTypes(); details.add(0, request.getHeader()); HSSFWorkbook wb = new HSSFWorkbook(); //明细sheet @@ -572,11 +576,22 @@ public class PanelGroupService { if (rowData != null) { for (int j = 0; j < rowData.length; j++) { HSSFCell cell = row.createCell(j); - cell.setCellValue(rowData[j]); if (i == 0) {// 头部 + cell.setCellValue(rowData[j]); cell.setCellStyle(cellStyle); //设置列的宽度 detailsSheet.setColumnWidth(j, 255 * 20); + }else{ + // with DataType + if((excelTypes[j]== DeTypeConstants.DE_INT || excelTypes[j]== DeTypeConstants.DE_FLOAT)&& StringUtils.isNotEmpty(rowData[j])){ + try{ + cell.setCellValue(Double.valueOf(rowData[j])); + }catch (Exception e){ + LogUtil.warn("export excel data transform error"); + } + }else{ + cell.setCellValue(rowData[j]); + } } } } diff --git a/frontend/src/api/panel/panel.js b/frontend/src/api/panel/panel.js index e5e92583e7..acb749adcf 100644 --- a/frontend/src/api/panel/panel.js +++ b/frontend/src/api/panel/panel.js @@ -90,6 +90,15 @@ export function findOne(id) { }) } +export function viewPanelLog(data) { + return request({ + url: 'panel/group/viewLog', + method: 'post', + loading: true, + data + }) +} + export function getTable(id) { return request({ url: '/panel/table/get/' + id, diff --git a/frontend/src/components/canvas/custom-component/UserViewDialog.vue b/frontend/src/components/canvas/custom-component/UserViewDialog.vue index 1f7b522301..5905c74d75 100644 --- a/frontend/src/components/canvas/custom-component/UserViewDialog.vue +++ b/frontend/src/components/canvas/custom-component/UserViewDialog.vue @@ -182,6 +182,7 @@ export default { }, exportExcelDownload(snapshot, width, height) { const excelHeader = JSON.parse(JSON.stringify(this.chart.data.fields)).map(item => item.name) + const excelTypes = JSON.parse(JSON.stringify(this.chart.data.fields)).map(item => item.deType) const excelHeaderKeys = JSON.parse(JSON.stringify(this.chart.data.fields)).map(item => item.dataeaseName) const excelData = JSON.parse(JSON.stringify(this.chart.data.tableRow)).map(item => excelHeaderKeys.map(i => item[i])) const excelName = this.chart.name @@ -189,6 +190,7 @@ export default { viewName: excelName, header: excelHeader, details: excelData, + excelTypes: excelTypes, snapshot: snapshot, snapshotWidth: width, snapshotHeight: height diff --git a/frontend/src/views/panel/GrantAuth/shareTree.vue b/frontend/src/views/panel/GrantAuth/shareTree.vue index 052819a17a..e601263560 100644 --- a/frontend/src/views/panel/GrantAuth/shareTree.vue +++ b/frontend/src/views/panel/GrantAuth/shareTree.vue @@ -71,7 +71,7 @@