diff --git a/backend/src/main/java/io/dataease/ext/ExtDataSetTableMapper.xml b/backend/src/main/java/io/dataease/ext/ExtDataSetTableMapper.xml index 46bbce05dd..205a1b42f2 100644 --- a/backend/src/main/java/io/dataease/ext/ExtDataSetTableMapper.xml +++ b/backend/src/main/java/io/dataease/ext/ExtDataSetTableMapper.xml @@ -159,23 +159,25 @@ diff --git a/backend/src/main/java/io/dataease/ext/ExtDataSourceMapper.xml b/backend/src/main/java/io/dataease/ext/ExtDataSourceMapper.xml index 49c1bfe889..2e572d0578 100644 --- a/backend/src/main/java/io/dataease/ext/ExtDataSourceMapper.xml +++ b/backend/src/main/java/io/dataease/ext/ExtDataSourceMapper.xml @@ -11,10 +11,10 @@ - - - - + + + + @@ -167,10 +167,10 @@ dt.name, dt_auth.auths, 'dataset' `type`, - pg.id panel_id, - pg.name panel_name, - pg_auth.auths panel_auths, - if(pg.id is not null,'panel',null) pg_type + pg.id sub_id, + pg.name sub_name, + pg_auth.auths sub_auths, + if(pg.id is not null,'panel',null) sub_type from datasource ds join dataset_table dt on dt.data_source_id = ds.id @@ -239,7 +239,7 @@ group by sa.auth_source ) pg_auth on pg_auth.id = pg.id where ds.id=#{datasourceId,jdbcType=VARCHAR} - group by id,panel_id + group by id,sub_id order by id diff --git a/backend/src/main/java/io/dataease/ext/ExtPanelGroupMapper.xml b/backend/src/main/java/io/dataease/ext/ExtPanelGroupMapper.xml index 8aebceeb0c..a75137acd1 100644 --- a/backend/src/main/java/io/dataease/ext/ExtPanelGroupMapper.xml +++ b/backend/src/main/java/io/dataease/ext/ExtPanelGroupMapper.xml @@ -14,18 +14,6 @@ - - - - - - - - - - - - + diff --git a/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java b/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java index 006ec809a9..0d030d94f4 100644 --- a/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java +++ b/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java @@ -1116,7 +1116,7 @@ public class DataSetTableService { if (dsType.equals(DatasourceTypes.oracle.getType())) { subSelect.setAlias(new Alias(fromItem.getAlias().toString(), false)); } else { - if(fromItem.getAlias() == null){ + if (fromItem.getAlias() == null) { throw new Exception("Failed to parse sql, Every derived table must have its own alias!"); } subSelect.setAlias(new Alias(fromItem.getAlias().toString())); @@ -2426,7 +2426,7 @@ public class DataSetTableService { jsonArray = data.stream().map(ele -> { Map map = new HashMap<>(); for (int i = 0; i < fieldArray.length; i++) { - map.put(fieldArray[i], ele.get(i)); + map.put(fieldArray[i], i < ele.size() ? ele.get(i) : ""); } return map; }).collect(Collectors.toList()); diff --git a/frontend/src/components/canvas/customComponent/DeRichText.vue b/frontend/src/components/canvas/customComponent/DeRichText.vue index 96ed01cca2..4e5a76ab38 100644 --- a/frontend/src/components/canvas/customComponent/DeRichText.vue +++ b/frontend/src/components/canvas/customComponent/DeRichText.vue @@ -36,6 +36,7 @@ import 'tinymce/plugins/directionality' import 'tinymce/plugins/nonbreaking' import 'tinymce/plugins/pagebreak' import { mapState } from 'vuex' +import Vue from 'vue' export default { name: 'DeRichText', @@ -155,7 +156,7 @@ export default { setEdit() { if (this.editStatus) { this.canEdit = true - this.element.editing = true + Vue.set(this.element, 'editing', true) this.reShow() } }, diff --git a/frontend/src/components/canvas/utils/shortcutKey.js b/frontend/src/components/canvas/utils/shortcutKey.js index 3cf4ce3552..c28c11a40c 100644 --- a/frontend/src/components/canvas/utils/shortcutKey.js +++ b/frontend/src/components/canvas/utils/shortcutKey.js @@ -54,8 +54,6 @@ export function listenGlobalKeyDown() { if (!store.state.isInEditor) return const { keyCode } = e if (keyCode === ctrlKey || keyCode === commandKey) { - e.preventDefault() - e.stopPropagation() isCtrlOrCommandDown = true } else if (isCtrlOrCommandDown) { if (keyCode === zKey || keyCode === yKey || keyCode === dKey || keyCode === sKey || keyCode === enlargeKey) { @@ -73,12 +71,15 @@ export function listenGlobalKeyDown() { } } +export function removeKeyListen() { + // window.onkeydown = null + // window.onkeyup = null +} + export function listenGlobalKeyDownPreview() { window.onkeydown = (e) => { const { keyCode } = e if (keyCode === ctrlKey || keyCode === commandKey) { - e.preventDefault() - e.stopPropagation() isCtrlOrCommandDown = true } else if (isCtrlOrCommandDown) { if (keyCode === enlargeKey) { diff --git a/frontend/src/components/deDrag/index.vue b/frontend/src/components/deDrag/index.vue index 2591f61ad6..7ac61779e8 100644 --- a/frontend/src/components/deDrag/index.vue +++ b/frontend/src/components/deDrag/index.vue @@ -74,18 +74,22 @@ class="main-background" >
diff --git a/frontend/src/store/index.js b/frontend/src/store/index.js index d2f832d71d..72622c1890 100644 --- a/frontend/src/store/index.js +++ b/frontend/src/store/index.js @@ -198,6 +198,9 @@ const data = { }, setCurComponent(state, { component, index }) { + if (!component && state.curComponent) { + Vue.set(state.curComponent, 'editing', false) + } // 当前视图操作状态置空 if (component) { component['optStatus'] = { @@ -206,9 +209,9 @@ const data = { } // Is the current component in editing status if (!state.curComponent) { - component['editing'] = false + Vue.set(component, 'editing', false) } else if (component.id !== state.curComponent.id) { - component['editing'] = false + Vue.set(component, 'editing', false) } } state.styleChangeTimes = 0 diff --git a/frontend/src/views/chart/components/ChartComponentS2.vue b/frontend/src/views/chart/components/ChartComponentS2.vue index e4b1797706..63d8bbd690 100644 --- a/frontend/src/views/chart/components/ChartComponentS2.vue +++ b/frontend/src/views/chart/components/ChartComponentS2.vue @@ -67,8 +67,8 @@ > {{ $t('chart.total') }} {{ - (chart.datasetMode === 0 && !not_support_page_dataset.includes(chart.datasourceType)) ? chart.totalItems : ((chart.data && chart.data.tableRow) ? chart.data.tableRow.length : 0) - }} + (chart.datasetMode === 0 && !not_support_page_dataset.includes(chart.datasourceType)) ? chart.totalItems : ((chart.data && chart.data.tableRow) ? chart.data.tableRow.length : 0) + }} {{ $t('chart.items') }} - + - + {{ $t('panel.groupAdd') }} - +
{{ - $t('panel.cancel') - }} + $t('panel.cancel') + }} {{ - $t('dataset.cancel') - }} + $t('dataset.cancel') + }} { + document.querySelector('.is-current').firstChild.click() + }) + }, toTop(data, node) { panelToTop(data.id).then(() => { this.defaultTree() diff --git a/frontend/src/views/panel/list/PanelMain.vue b/frontend/src/views/panel/list/PanelMain.vue index df94cfd860..4a4faf7a1a 100644 --- a/frontend/src/views/panel/list/PanelMain.vue +++ b/frontend/src/views/panel/list/PanelMain.vue @@ -8,7 +8,7 @@ @tab-click="handleClick" > - {{ $t('panel.panel_list') }} + {{ $t('panel.panel_list') }} - {{ $t('panel.store') }} - + {{ $t('panel.store') }} + - {{ $t('panel.share') }} + {{ $t('panel.share') }}