From 153ac357016dc2eb2098c3aab4112a9cb6b3b868 Mon Sep 17 00:00:00 2001 From: junjie Date: Mon, 19 Apr 2021 12:45:41 +0800 Subject: [PATCH 1/6] feat(backend):chart fix --- .../java/io/dataease/service/chart/ChartViewService.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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 1997b680ff..78fd1a72da 100644 --- a/backend/src/main/java/io/dataease/service/chart/ChartViewService.java +++ b/backend/src/main/java/io/dataease/service/chart/ChartViewService.java @@ -170,7 +170,11 @@ public class ChartViewService { x.add(a.toString()); for (int i = xAxis.size(); i < xAxis.size() + yAxis.size(); i++) { int j = i - xAxis.size(); - series.get(j).getData().add(new BigDecimal(StringUtils.isEmpty(d[i]) ? "0" : d[i])); + try { + series.get(j).getData().add(new BigDecimal(StringUtils.isEmpty(d[i]) ? "0" : d[i])); + } catch (Exception e) { + series.get(j).getData().add(new BigDecimal(0)); + } } } Map map = new HashMap<>(); From 5af4158dc42c4ec0bcaeae293f992a8deae6816b Mon Sep 17 00:00:00 2001 From: fit2cloud-chenyw Date: Mon, 19 Apr 2021 15:31:03 +0800 Subject: [PATCH 2/6] =?UTF-8?q?feat:=E8=AE=BE=E7=BD=AE=E6=9D=A1=E4=BB=B6?= =?UTF-8?q?=E7=BB=91=E5=AE=9A=E8=A7=86=E5=9B=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/panel/api/ViewApi.java | 7 ++ .../controller/panel/server/ViewServer.java | 12 +++ .../service/chart/ChartViewService.java | 6 ++ frontend/src/api/panel/view.js | 9 ++ .../canvas/components/Editor/index.vue | 3 +- .../canvas/custom-component/UserView.vue | 2 +- .../components/widget/DeWidget/DeSelect.vue | 2 +- .../src/views/panel/filter/filterDialog.vue | 101 +++++++++++++++--- 8 files changed, 127 insertions(+), 15 deletions(-) diff --git a/backend/src/main/java/io/dataease/controller/panel/api/ViewApi.java b/backend/src/main/java/io/dataease/controller/panel/api/ViewApi.java index 61016f3dab..7a8a4bd558 100644 --- a/backend/src/main/java/io/dataease/controller/panel/api/ViewApi.java +++ b/backend/src/main/java/io/dataease/controller/panel/api/ViewApi.java @@ -1,10 +1,12 @@ package io.dataease.controller.panel.api; +import io.dataease.base.domain.ChartView; import io.dataease.controller.sys.base.BaseGridRequest; import io.dataease.dto.panel.PanelViewDto; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; @@ -20,6 +22,11 @@ public interface ViewApi { List tree(BaseGridRequest request); + @ApiOperation("根据仪表板Id查询视图") + @PostMapping("/viewsWithIds") + List viewsWithIds(List viewIds); + + diff --git a/backend/src/main/java/io/dataease/controller/panel/server/ViewServer.java b/backend/src/main/java/io/dataease/controller/panel/server/ViewServer.java index acf7e6bb12..a1ac5b96ec 100644 --- a/backend/src/main/java/io/dataease/controller/panel/server/ViewServer.java +++ b/backend/src/main/java/io/dataease/controller/panel/server/ViewServer.java @@ -1,13 +1,16 @@ package io.dataease.controller.panel.server; +import io.dataease.base.domain.ChartView; import io.dataease.commons.utils.AuthUtils; import io.dataease.controller.panel.api.ViewApi; import io.dataease.controller.sys.base.BaseGridRequest; import io.dataease.controller.sys.base.ConditionEntity; import io.dataease.dto.panel.PanelViewDto; import io.dataease.dto.panel.po.PanelViewPo; +import io.dataease.service.chart.ChartViewService; import io.dataease.service.panel.PanelViewService; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; @@ -20,6 +23,9 @@ public class ViewServer implements ViewApi { @Autowired private PanelViewService panelViewService; + @Autowired + private ChartViewService chartViewService; + /** * 为什么查两次? * 因为left join 会导致全表扫描 @@ -40,4 +46,10 @@ public class ViewServer implements ViewApi { List panelViewDtos = panelViewService.buildTree(groups, views); return panelViewDtos; } + + @Override + public List viewsWithIds(@RequestBody List viewIds) { + + return chartViewService.viewsByIds(viewIds); + } } 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 78fd1a72da..72493215a7 100644 --- a/backend/src/main/java/io/dataease/service/chart/ChartViewService.java +++ b/backend/src/main/java/io/dataease/service/chart/ChartViewService.java @@ -320,4 +320,10 @@ public class ChartViewService { } return map; } + + public List viewsByIds(List viewIds){ + ChartViewExample example = new ChartViewExample(); + example.createCriteria().andIdIn(viewIds); + return chartViewMapper.selectByExample(example); + } } diff --git a/frontend/src/api/panel/view.js b/frontend/src/api/panel/view.js index 35b71a64ac..07c3a2ed8e 100644 --- a/frontend/src/api/panel/view.js +++ b/frontend/src/api/panel/view.js @@ -8,3 +8,12 @@ export function tree(data) { data }) } + +export function viewsWithIds(data) { + return request({ + url: '/api/panelView/viewsWithIds', + method: 'post', + loading: true, + data + }) +} diff --git a/frontend/src/components/canvas/components/Editor/index.vue b/frontend/src/components/canvas/components/Editor/index.vue index 3c6c103ced..a0306c9e4f 100644 --- a/frontend/src/components/canvas/components/Editor/index.vue +++ b/frontend/src/components/canvas/components/Editor/index.vue @@ -314,7 +314,8 @@ export default { setConditionValue(obj) { const { component, value, operator } = obj const fieldId = component.options.attrs.fieldId - const condition = new Condition(component.id, fieldId, operator, value, null) + const viewIds = component.options.attrs.viewIds + const condition = new Condition(component.id, fieldId, operator, value, viewIds) this.addCondition(condition) }, addCondition(condition) { diff --git a/frontend/src/components/canvas/custom-component/UserView.vue b/frontend/src/components/canvas/custom-component/UserView.vue index 6c27e1c77e..0ac4d5b8e8 100644 --- a/frontend/src/components/canvas/custom-component/UserView.vue +++ b/frontend/src/components/canvas/custom-component/UserView.vue @@ -31,7 +31,7 @@ export default { methods: { getData(id) { if (id) { - post('/chart/view/getData/' + id, null).then(response => { + post('/chart/view/getData/' + id, {}).then(response => { // 将视图传入echart组件 this.chart = response.data }) diff --git a/frontend/src/components/widget/DeWidget/DeSelect.vue b/frontend/src/components/widget/DeWidget/DeSelect.vue index d08e699d3f..e889d8884b 100644 --- a/frontend/src/components/widget/DeWidget/DeSelect.vue +++ b/frontend/src/components/widget/DeWidget/DeSelect.vue @@ -1,6 +1,6 @@