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 eb5fdd4caf..841b106ab0 100644 --- a/backend/src/main/java/io/dataease/service/chart/ChartViewService.java +++ b/backend/src/main/java/io/dataease/service/chart/ChartViewService.java @@ -524,6 +524,9 @@ public class ChartViewService { fieldMap.put("extBubble",extBubble); PluginViewParam pluginViewParam = buildPluginParam(fieldMap, fieldCustomFilter, extFilterList, ds, table, view); String sql = pluginViewSql(pluginViewParam, view); + if (StringUtils.isBlank(sql)) { + return emptyChartViewDTO(view); + } datasourceRequest.setQuery(sql); data = datasourceProvider.getData(datasourceRequest); diff --git a/backend/src/main/java/io/dataease/service/panel/PanelViewService.java b/backend/src/main/java/io/dataease/service/panel/PanelViewService.java index 08ed7fcbe1..00b10a9c2e 100644 --- a/backend/src/main/java/io/dataease/service/panel/PanelViewService.java +++ b/backend/src/main/java/io/dataease/service/panel/PanelViewService.java @@ -128,9 +128,9 @@ public class PanelViewService { viewIds = panelViewInsertDTOList.stream().map(panelView ->panelView.getChartViewId()).collect(Collectors.toList()); extChartViewMapper.copyCacheToView(viewIds); } + extChartViewMapper.deleteCacheWithPanel(viewIds,panelId); + extChartViewMapper.deleteNoUseView(viewIds,panelId); } - extChartViewMapper.deleteCacheWithPanel(viewIds,panelId); - extChartViewMapper.deleteNoUseView(viewIds,panelId); panelGroup.setMobileLayout(mobileLayout); return viewIds; } diff --git a/backend/src/main/java/io/dataease/service/sys/PluginService.java b/backend/src/main/java/io/dataease/service/sys/PluginService.java index cce8a8b175..d490cf99db 100644 --- a/backend/src/main/java/io/dataease/service/sys/PluginService.java +++ b/backend/src/main/java/io/dataease/service/sys/PluginService.java @@ -255,14 +255,14 @@ public class PluginService { } public boolean versionMatch(String pluginVersion) { - List versionLists = Arrays.stream(version.split(".")).map(CodingUtil::string2Integer).collect(Collectors.toList()); - List requireVersionLists = Arrays.stream(pluginVersion.split(".")).map(CodingUtil::string2Integer).collect(Collectors.toList()); + List versionLists = Arrays.stream(version.split("\\.")).map(CodingUtil::string2Integer).collect(Collectors.toList()); + List requireVersionLists = Arrays.stream(pluginVersion.split("\\.")).map(CodingUtil::string2Integer).collect(Collectors.toList()); int maxSize = Math.max(versionLists.size(), requireVersionLists.size()); for (int i = 0; i < maxSize; i++) { Integer currentV = versionLists.size() == i ? 0 : versionLists.get(i); Integer requireV = requireVersionLists.size() == i ? 0 : requireVersionLists.get(i); if (requireV > currentV) return false; } - return false; + return true; } } diff --git a/frontend/src/api/system/plugin.js b/frontend/src/api/system/plugin.js index e02a5ccda4..9beddfc0fe 100644 --- a/frontend/src/api/system/plugin.js +++ b/frontend/src/api/system/plugin.js @@ -14,7 +14,7 @@ export function pluginLists(page, size, data) { export function uninstall(pluginId) { return request({ - url: pathMap.queryPath + pluginId, + url: pathMap.uninstallPath + pluginId, method: 'post', loading: true }) diff --git a/frontend/src/components/canvas/components/Editor/Preview.vue b/frontend/src/components/canvas/components/Editor/Preview.vue index 167d745da7..60e8493aa2 100644 --- a/frontend/src/components/canvas/components/Editor/Preview.vue +++ b/frontend/src/components/canvas/components/Editor/Preview.vue @@ -25,7 +25,7 @@ /> import { COLOR_PANEL, DEFAULT_TITLE_STYLE } from '../../chart/chart' +import { checkTitle } from '@/api/chart/chart' export default { name: 'TitleSelectorAntV', @@ -107,10 +108,18 @@ export default { this.titleForm.title = this.chart.title return } - if (!this.titleForm.show) { - this.isSetting = false - } - this.$emit('onTextChange', this.titleForm) + checkTitle({ id: this.chart.id, title: this.titleForm.title, sceneId: this.chart.sceneId }).then((rsp) => { + if (rsp.data === 'success') { + if (!this.titleForm.show) { + this.isSetting = false + } + this.$emit('onTextChange', this.titleForm) + } else { + this.$error(this.$t('chart.title_repeat')) + this.titleForm.title = this.chart.title + return + } + }) }, inputOnInput: function(e) { this.$forceUpdate() diff --git a/frontend/src/views/chart/group/Group.vue b/frontend/src/views/chart/group/Group.vue index 90db051db7..74dbb2c809 100644 --- a/frontend/src/views/chart/group/Group.vue +++ b/frontend/src/views/chart/group/Group.vue @@ -224,7 +224,7 @@ - + diff --git a/frontend/src/views/chart/view/ChartEdit.vue b/frontend/src/views/chart/view/ChartEdit.vue index 837c56f295..bd4a045744 100644 --- a/frontend/src/views/chart/view/ChartEdit.vue +++ b/frontend/src/views/chart/view/ChartEdit.vue @@ -154,7 +154,7 @@ {{ $t('chart.chart_type') }} - + - + {{ data.name }} diff --git a/frontend/src/views/panel/list/EditPanel/TemplateAllList.vue b/frontend/src/views/panel/list/EditPanel/TemplateAllList.vue index bfd345f072..c23d9a35bf 100644 --- a/frontend/src/views/panel/list/EditPanel/TemplateAllList.vue +++ b/frontend/src/views/panel/list/EditPanel/TemplateAllList.vue @@ -29,7 +29,7 @@ - {{ data.name }} + {{ data.name }}