diff --git a/backend/src/main/java/io/dataease/base/mapper/ext/ExtChartViewMapper.java b/backend/src/main/java/io/dataease/base/mapper/ext/ExtChartViewMapper.java index ed9a4085ec..5b337f0fbe 100644 --- a/backend/src/main/java/io/dataease/base/mapper/ext/ExtChartViewMapper.java +++ b/backend/src/main/java/io/dataease/base/mapper/ext/ExtChartViewMapper.java @@ -20,4 +20,6 @@ public interface ExtChartViewMapper { List allViewIds(@Param("tableId") String tableId); String searchAdviceSceneId(@Param("userId") String userId,@Param("panelId") String panelId); + + int checkSameDataSet(@Param("viewIdSource") String viewIdSource,@Param("viewIdTarget") String viewIdTarget); } diff --git a/backend/src/main/java/io/dataease/base/mapper/ext/ExtChartViewMapper.xml b/backend/src/main/java/io/dataease/base/mapper/ext/ExtChartViewMapper.xml index d755e2dc61..bb66ab8c51 100644 --- a/backend/src/main/java/io/dataease/base/mapper/ext/ExtChartViewMapper.xml +++ b/backend/src/main/java/io/dataease/base/mapper/ext/ExtChartViewMapper.xml @@ -136,18 +136,7 @@ id = #{oldChartId} - + select count(DISTINCT table_id) from chart_view where id = #{viewIdSource} or id = #{viewIdTarget} 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 13f84cc6a3..07ff9f45e9 100644 --- a/backend/src/main/java/io/dataease/controller/chart/ChartViewController.java +++ b/backend/src/main/java/io/dataease/controller/chart/ChartViewController.java @@ -107,4 +107,10 @@ public class ChartViewController { public ChartViewDTO calcData(@RequestBody ChartCalRequest request) throws Exception { return chartViewService.calcData(request.getView(), request.getRequestList(), false); } + + @ApiOperation("验证视图是否使用相同数据集") + @GetMapping("/checkSameDataSet/{viewIdSource}/{viewIdTarget}") + public String checkSameDataSet(@PathVariable String viewIdSource,@PathVariable String viewIdTarget) throws Exception { + return chartViewService.checkSameDataSet(viewIdSource,viewIdTarget); + } } 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 2cb9a7b2d6..95f85e960b 100644 --- a/backend/src/main/java/io/dataease/service/chart/ChartViewService.java +++ b/backend/src/main/java/io/dataease/service/chart/ChartViewService.java @@ -1455,4 +1455,12 @@ public class ChartViewService { public String searchAdviceSceneId(String panelId) { return extChartViewMapper.searchAdviceSceneId(AuthUtils.getUser().getUserId().toString(), panelId); } + + public String checkSameDataSet(String viewIdSource,String viewIdTarget) { + if(extChartViewMapper.checkSameDataSet(viewIdSource,viewIdTarget)==1){ + return "YES"; + }else{ + return "NO"; + } + } } diff --git a/frontend/src/api/chart/chart.js b/frontend/src/api/chart/chart.js index 08e9df093c..5c3f7821f7 100644 --- a/frontend/src/api/chart/chart.js +++ b/frontend/src/api/chart/chart.js @@ -52,3 +52,11 @@ export function searchAdviceSceneId(panelId) { loading: true }) } + +export function checkSameDataSet(viewIdSource, viewIdTarget) { + return request({ + url: '/chart/view/checkSameDataSet/' + viewIdSource + '/' + viewIdTarget, + method: 'get', + loading: false + }) +} diff --git a/frontend/src/components/canvas/components/Editor/LinkageField.vue b/frontend/src/components/canvas/components/Editor/LinkageField.vue index 94c7783bef..0856287423 100644 --- a/frontend/src/components/canvas/components/Editor/LinkageField.vue +++ b/frontend/src/components/canvas/components/Editor/LinkageField.vue @@ -15,11 +15,10 @@ - - +
- +
- + - {{ item.name }} + {{ itemLinkage.targetField }}-{{ item.name }}
@@ -66,7 +65,7 @@ - 追加联动依赖字段 + 追加联动依赖字段 @@ -76,6 +75,7 @@