diff --git a/backend/src/main/java/io/dataease/provider/query/doris/DorisQueryProvider.java b/backend/src/main/java/io/dataease/provider/query/doris/DorisQueryProvider.java index 4c25c8868b..c49c4eb381 100644 --- a/backend/src/main/java/io/dataease/provider/query/doris/DorisQueryProvider.java +++ b/backend/src/main/java/io/dataease/provider/query/doris/DorisQueryProvider.java @@ -805,11 +805,13 @@ public class DorisQueryProvider extends QueryProvider { } else if (StringUtils.containsIgnoreCase(filterItemDTO.getTerm(), "like")) { whereValue = "'%" + value + "%'"; } else { - if (field.getDeExtractType() == 2 || field.getDeExtractType() == 3 || field.getDeExtractType() == 4) { + // Doris field type test + /*if (field.getDeExtractType() == 2 || field.getDeExtractType() == 3 || field.getDeExtractType() == 4) { whereValue = String.format(DorisConstants.WHERE_NUMBER_VALUE, value); } else { whereValue = String.format(DorisConstants.WHERE_VALUE_VALUE, value); - } + }*/ + whereValue = String.format(DorisConstants.WHERE_VALUE_VALUE, value); } list.add(SQLObj.builder() .whereField(whereName) @@ -881,11 +883,13 @@ public class DorisQueryProvider extends QueryProvider { whereValue = String.format(DorisConstants.WHERE_BETWEEN, value.get(0), value.get(1)); } } else { - if (field.getDeExtractType() == 2 || field.getDeExtractType() == 3 || field.getDeExtractType() == 4) { + // doris field type test + /*if (field.getDeExtractType() == 2 || field.getDeExtractType() == 3 || field.getDeExtractType() == 4) { whereValue = String.format(DorisConstants.WHERE_NUMBER_VALUE, value.get(0)); } else { whereValue = String.format(DorisConstants.WHERE_VALUE_VALUE, value.get(0)); - } + }*/ + whereValue = String.format(DorisConstants.WHERE_VALUE_VALUE, value.get(0)); } list.add(SQLObj.builder() .whereField(whereName) diff --git a/frontend/src/components/canvas/components/Editor/PreviewEject.vue b/frontend/src/components/canvas/components/Editor/PreviewEject.vue index 493c6efbe0..c742272618 100644 --- a/frontend/src/components/canvas/components/Editor/PreviewEject.vue +++ b/frontend/src/components/canvas/components/Editor/PreviewEject.vue @@ -9,6 +9,7 @@ import { uuid } from 'vue-uuid' import { findOne } from '@/api/panel/panel' import { getPanelAllLinkageInfo } from '@/api/panel/linkage' import { queryPanelJumpInfo, queryTargetPanelJumpInfo } from '@/api/panel/linkJump' +import { panelInit } from '@/components/canvas/utils/utils' export default { components: { Preview }, @@ -43,8 +44,10 @@ export default { } // 加载视图数据 findOne(this.panelId).then(response => { + const componentDatas = JSON.parse(response.data.panelData) + panelInit(componentDatas) this.dataLoading = false - this.$store.commit('setComponentData', this.resetID(JSON.parse(response.data.panelData))) + this.$store.commit('setComponentData', this.resetID(componentDatas)) this.$store.commit('setCanvasStyle', JSON.parse(response.data.panelStyle)) const data = { id: response.data.id, diff --git a/frontend/src/components/canvas/components/Toolbar.vue b/frontend/src/components/canvas/components/Toolbar.vue index 841b0350e5..3492eb3ae4 100644 --- a/frontend/src/components/canvas/components/Toolbar.vue +++ b/frontend/src/components/canvas/components/Toolbar.vue @@ -75,7 +75,6 @@ import { deepCopy, mobile2MainCanvas } from '@/components/canvas/utils/utils' import { panelSave } from '@/api/panel/panel' import { saveLinkage, getPanelAllLinkageInfo } from '@/api/panel/linkage' import bus from '@/utils/bus' - import { DEFAULT_COMMON_CANVAS_STYLE_STRING } from '@/views/panel/panel' @@ -266,6 +265,12 @@ export default { panelStyle: JSON.stringify(this.canvasStyleData), panelData: JSON.stringify(this.componentData) } + const components = deepCopy(this.componentData) + components.forEach(view => { + if (view.filters && view.filters.length > 0) { view.filters = [] } + }) + // 无需保存条件 + requestInfo.panelData = JSON.stringify(components) panelSave(requestInfo).then(response => { this.$store.commit('refreshSaveStatus') this.$message({ diff --git a/frontend/src/components/canvas/mobile/PreviewMobile.vue b/frontend/src/components/canvas/mobile/PreviewMobile.vue deleted file mode 100644 index 04805e2d47..0000000000 --- a/frontend/src/components/canvas/mobile/PreviewMobile.vue +++ /dev/null @@ -1,93 +0,0 @@ - - - - - diff --git a/frontend/src/components/canvas/utils/utils.js b/frontend/src/components/canvas/utils/utils.js index 6b39797de7..5b5ddc7643 100644 --- a/frontend/src/components/canvas/utils/utils.js +++ b/frontend/src/components/canvas/utils/utils.js @@ -60,7 +60,20 @@ export function mobile2MainCanvas(mainSource, mobileSource) { export function panelInit(componentDatas) { componentDatas.forEach(item => { - item.filters = (item.filters || []) + if (item.component && item.component === 'de-date') { + if (item.options.attrs && !item.options.attrs.default) { + item.options.attrs.default = { + isDynamic: false, + dkey: 0, + dynamicPrefix: 1, + dynamicInfill: 'day', + dynamicSuffix: 'before' + } + } + } + if (item.filters && item.filters.length > 0) { + item.filters = [] + } item.linkageFilters = (item.linkageFilters || []) item.auxiliaryMatrix = (item.auxiliaryMatrix || false) item.x = (item.x || 1) diff --git a/frontend/src/views/chart/components/ChartComponent.vue b/frontend/src/views/chart/components/ChartComponent.vue index 995784ef4e..ec06a1d7d5 100644 --- a/frontend/src/views/chart/components/ChartComponent.vue +++ b/frontend/src/views/chart/components/ChartComponent.vue @@ -1,7 +1,27 @@ @@ -19,24 +39,55 @@ import { BASE_TREEMAP, BASE_MIX } from '../chart/chart' -import { baseBarOption, stackBarOption, horizontalBarOption, horizontalStackBarOption } from '../chart/bar/bar' -import { baseLineOption, stackLineOption } from '../chart/line/line' -import { basePieOption, rosePieOption } from '../chart/pie/pie' -import { baseMapOption } from '../chart/map/map' -import { baseFunnelOption } from '../chart/funnel/funnel' -import { baseRadarOption } from '../chart/radar/radar' -import { baseGaugeOption } from '../chart/gauge/gauge' -import { baseScatterOption } from '../chart/scatter/scatter' -import { baseTreemapOption } from '../chart/treemap/treemap' -import { baseMixOption } from '@/views/chart/chart/mix/mix' -// import eventBus from '@/components/canvas/utils/eventBus' -import { uuid } from 'vue-uuid' -import { geoJson } from '@/api/map/map' +import { + baseBarOption, + stackBarOption, + horizontalBarOption, + horizontalStackBarOption +} from '../chart/bar/bar' +import { + baseLineOption, + stackLineOption +} from '../chart/line/line' +import { + basePieOption, + rosePieOption +} from '../chart/pie/pie' +import { + baseMapOption +} from '../chart/map/map' +import { + baseFunnelOption +} from '../chart/funnel/funnel' +import { + baseRadarOption +} from '../chart/radar/radar' +import { + baseGaugeOption +} from '../chart/gauge/gauge' +import { + baseScatterOption +} from '../chart/scatter/scatter' +import { + baseTreemapOption +} from '../chart/treemap/treemap' +import { + baseMixOption +} from '@/views/chart/chart/mix/mix' + // import eventBus from '@/components/canvas/utils/eventBus' +import { + uuid +} from 'vue-uuid' +import { + geoJson +} from '@/api/map/map' import ViewTrackBar from '@/components/canvas/components/Editor/ViewTrackBar' export default { name: 'ChartComponent', - components: { ViewTrackBar }, + components: { + ViewTrackBar + }, props: { chart: { type: Object, @@ -110,7 +161,9 @@ export default { // 基于准备好的dom,初始化echarts实例 // 渲染echart等待dom加载完毕,渲染之前先尝试销毁具有相同id的echart 放置多次切换仪表板有重复id情况 const that = this - new Promise((resolve) => { resolve() }).then(() => { + new Promise((resolve) => { + resolve() + }).then(() => { // 此dom为echarts图标展示dom this.myChart = this.$echarts.getInstanceByDom(document.getElementById(this.chartId)) if (!this.myChart) { @@ -171,7 +224,10 @@ export default { if (chart.type === 'map') { const customAttr = JSON.parse(chart.customAttr) - if (!customAttr.areaCode) return + if (!customAttr.areaCode) { + this.myChart.clear() + return + } const cCode = this.dynamicAreaCode || customAttr.areaCode if (this.$store.getters.geoMap[cCode]) { const json = this.$store.getters.geoMap[cCode] @@ -193,25 +249,25 @@ export default { }, registerDynamicMap(areaCode) { this.dynamicAreaCode = areaCode - // if (this.$store.getters.geoMap[areaCode]) { - // const json = this.$store.getters.geoMap[areaCode] - // this.myChart.dispose() - // this.myChart = this.$echarts.getInstanceByDom(document.getElementById(this.chartId)) - // this.$echarts.registerMap('MAP', json) - // return - // } - // geoJson(areaCode).then(res => { - // this.$store.dispatch('map/setGeo', { - // key: areaCode, - // value: res - // }).then(() => { - // this.myChart.dispose() - // this.myChart = this.$echarts.getInstanceByDom(document.getElementById(this.chartId)) - // this.$echarts.registerMap('MAP', res) - // }) - // }).catch(() => { - // this.downOrUp = true - // }) + // if (this.$store.getters.geoMap[areaCode]) { + // const json = this.$store.getters.geoMap[areaCode] + // this.myChart.dispose() + // this.myChart = this.$echarts.getInstanceByDom(document.getElementById(this.chartId)) + // this.$echarts.registerMap('MAP', json) + // return + // } + // geoJson(areaCode).then(res => { + // this.$store.dispatch('map/setGeo', { + // key: areaCode, + // value: res + // }).then(() => { + // this.myChart.dispose() + // this.myChart = this.$echarts.getInstanceByDom(document.getElementById(this.chartId)) + // this.$echarts.registerMap('MAP', res) + // }) + // }).catch(() => { + // this.downOrUp = true + // }) }, initMapChart(geoJson, chart) { @@ -284,11 +340,39 @@ export default { default: break } + }, + roamMap(flag) { + let targetZoom = 1 + const zoom = this.myChart.getOption().series[0].zoom + if (flag) { + targetZoom = zoom * 1.2 + } else { + targetZoom = zoom / 1.2 + } + const options = JSON.parse(JSON.stringify(this.myChart.getOption())) + options.series[0].zoom = targetZoom + this.myChart.setOption(options) + }, + resetZoom() { + const options = JSON.parse(JSON.stringify(this.myChart.getOption())) + options.series[0].zoom = 1 + this.myChart.setOption(options) } } } +