diff --git a/backend/src/main/java/io/dataease/controller/chart/ChartViewController.java b/backend/src/main/java/io/dataease/controller/chart/ChartViewController.java index 8ce32d17ac..5bb7d3d54c 100644 --- a/backend/src/main/java/io/dataease/controller/chart/ChartViewController.java +++ b/backend/src/main/java/io/dataease/controller/chart/ChartViewController.java @@ -3,6 +3,7 @@ package io.dataease.controller.chart; import com.github.xiaoymin.knife4j.annotations.ApiSupport; import io.dataease.base.domain.ChartViewWithBLOBs; import io.dataease.commons.utils.AuthUtils; +import io.dataease.controller.request.chart.ChartCalRequest; import io.dataease.controller.request.chart.ChartExtRequest; import io.dataease.controller.request.chart.ChartViewRequest; import io.dataease.controller.response.ChartDetail; @@ -100,4 +101,10 @@ public class ChartViewController { public List search(@RequestBody ChartViewRequest chartViewRequest) { return chartViewService.search(chartViewRequest); } + + @ApiOperation("计算结果") + @PostMapping("/calcData") + public ChartViewDTO calcData(@RequestBody ChartCalRequest request) throws Exception { + return chartViewService.calcData(request.getView(), request.getRequestList()); + } } diff --git a/backend/src/main/java/io/dataease/controller/request/chart/ChartCalRequest.java b/backend/src/main/java/io/dataease/controller/request/chart/ChartCalRequest.java new file mode 100644 index 0000000000..8dd21f144f --- /dev/null +++ b/backend/src/main/java/io/dataease/controller/request/chart/ChartCalRequest.java @@ -0,0 +1,17 @@ +package io.dataease.controller.request.chart; + +import io.dataease.base.domain.ChartViewWithBLOBs; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author gin + * @Date 2021/11/10 11:27 上午 + */ +@Data +public class ChartCalRequest { + @ApiModelProperty("视图") + private ChartViewWithBLOBs view; + @ApiModelProperty("额外请求参数") + private ChartExtRequest requestList; +} diff --git a/backend/src/main/java/io/dataease/service/chart/ChartViewService.java b/backend/src/main/java/io/dataease/service/chart/ChartViewService.java index 177e9689ea..beee14ae42 100644 --- a/backend/src/main/java/io/dataease/service/chart/ChartViewService.java +++ b/backend/src/main/java/io/dataease/service/chart/ChartViewService.java @@ -179,6 +179,10 @@ public class ChartViewService { public ChartViewDTO getData(String id, ChartExtRequest requestList) throws Exception { ChartViewWithBLOBs view = chartViewMapper.selectByPrimaryKey(id); + return calcData(view, requestList); + } + + public ChartViewDTO calcData(ChartViewWithBLOBs view, ChartExtRequest requestList) throws Exception { if (ObjectUtils.isEmpty(view)) { throw new RuntimeException(Translator.get("i18n_chart_delete")); } @@ -424,7 +428,7 @@ public class ChartViewService { data = datasourceProvider.getData(datasourceRequest); } else { try { - data = cacheViewData(datasourceProvider, datasourceRequest, id); + data = cacheViewData(datasourceProvider, datasourceRequest, view.getId()); } catch (Exception e) { LogUtil.error(e); } finally { diff --git a/frontend/src/lang/en.js b/frontend/src/lang/en.js index d53fc4901e..e82c093d1d 100644 --- a/frontend/src/lang/en.js +++ b/frontend/src/lang/en.js @@ -969,7 +969,8 @@ export default { preview: 'Preview', next: 'Next', select_dataset: 'Select Dataset', - select_chart_type: 'Select Chart Type' + select_chart_type: 'Select Chart Type', + recover: 'Reset' }, dataset: { sheet_warn: 'There are multiple sheet pages, and the first one is extracted by default', diff --git a/frontend/src/lang/tw.js b/frontend/src/lang/tw.js index 20bce1c9c7..b2ed395331 100644 --- a/frontend/src/lang/tw.js +++ b/frontend/src/lang/tw.js @@ -970,7 +970,8 @@ export default { preview: '上一步', next: '下一步', select_dataset: '選擇數據集', - select_chart_type: '選擇圖表類型' + select_chart_type: '選擇圖表類型', + recover: '重置' }, dataset: { sheet_warn: '有多個 Sheet 頁,默認抽取第一個', diff --git a/frontend/src/lang/zh.js b/frontend/src/lang/zh.js index efdd283bda..51d2ca8630 100644 --- a/frontend/src/lang/zh.js +++ b/frontend/src/lang/zh.js @@ -973,7 +973,8 @@ export default { preview: '上一步', next: '下一步', select_dataset: '选择数据集', - select_chart_type: '选择图表类型' + select_chart_type: '选择图表类型', + recover: '重置' }, dataset: { sheet_warn: '有多个 Sheet 页,默认抽取第一个', diff --git a/frontend/src/views/chart/view/ChartEdit.vue b/frontend/src/views/chart/view/ChartEdit.vue index 96d3e7e7a1..35ec5d09af 100644 --- a/frontend/src/views/chart/view/ChartEdit.vue +++ b/frontend/src/views/chart/view/ChartEdit.vue @@ -16,10 +16,10 @@ - - - - + + {{ $t('chart.recover') }} + + {{ $t('commons.save') }} @@ -114,7 +114,7 @@ {{ $t('chart.chart_type') }} - + @@ -207,10 +207,10 @@ {{ $t('chart.result_count') }} - + {{ $t('chart.result_mode_all') }} - + @@ -226,8 +226,8 @@ :options="places" :placeholder="$t('chart.select_map_range')" :normalizer="normalizer" - @input="save" - @deselect="save" + @input="calcData" + @deselect="calcData" /> @@ -253,7 +253,7 @@ :move="onMove" class="drag-block-style" @add="addXaxis" - @update="save(true)" + @update="calcData(true)" > @@ -288,7 +288,7 @@ :move="onMove" class="drag-block-style" @add="addYaxis" - @update="save(true)" + @update="calcData(true)" > @@ -312,7 +312,7 @@ :move="onMove" class="drag-block-style" @add="addYaxisExt" - @update="save(true)" + @update="calcData(true)" > @@ -336,7 +336,7 @@ :move="onMove" class="drag-block-style" @add="addStack" - @update="save(true)" + @update="calcData(true)" > @@ -366,7 +366,7 @@ :move="onMove" class="drag-block-style" @add="addBubble" - @update="save(true)" + @update="calcData(true)" > @@ -390,7 +390,7 @@ class="theme-item-class" style="padding:2px 0 0 0;width:100%;min-height: 32px;border-radius: 4px;border: 1px solid #DCDFE6;overflow-x: auto;display: flex;align-items: center;background-color: white;" @add="addCustomFilter" - @update="save(true)" + @update="calcData(true)" > @@ -414,7 +414,7 @@ :move="onMove" class="drag-block-style" @add="addDrill" - @update="save(true)" + @update="calcData(true)" > @@ -435,7 +435,7 @@ {{ $t('chart.style_priority') }} - + {{ $t('chart.chart') }} {{ $t('chart.dashboard') }} @@ -603,7 +603,7 @@ class="dialog-css" :fullscreen="true" > - +