From 4483b65b125916e3475692bf12fe77a057e0e404 Mon Sep 17 00:00:00 2001 From: wangjiahao <1522128093@qq.com> Date: Thu, 22 Dec 2022 18:40:07 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E4=BB=AA=E8=A1=A8=E6=9D=BF):=20s2?= =?UTF-8?q?=E8=A1=A8=E6=A0=BC=E6=94=AF=E6=8C=81=E7=82=B9=E5=87=BB=E8=A1=8C?= =?UTF-8?q?=E5=A4=B4=E5=88=97=E5=A4=B4=E8=B7=B3=E8=BD=AC=E5=B9=B6=E5=9C=A8?= =?UTF-8?q?=E8=B7=B3=E8=BD=AC=E6=98=AF=E5=B8=A6=E5=85=A5=E5=85=B6=E4=BB=96?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E5=AD=97=E6=AE=B5=E5=8C=B9=E9=85=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dataease/ext/ExtPanelLinkJumpMapper.xml | 438 +++++++++--------- .../canvas/components/editor/PreviewEject.vue | 4 + .../canvas/customComponent/UserView.vue | 2 +- .../chart/components/ChartComponentS2.vue | 29 +- .../src/views/panel/linkJumpSet/index.vue | 134 +++--- 5 files changed, 329 insertions(+), 278 deletions(-) diff --git a/backend/src/main/java/io/dataease/ext/ExtPanelLinkJumpMapper.xml b/backend/src/main/java/io/dataease/ext/ExtPanelLinkJumpMapper.xml index 47c0df8a6a..a0e492ad34 100644 --- a/backend/src/main/java/io/dataease/ext/ExtPanelLinkJumpMapper.xml +++ b/backend/src/main/java/io/dataease/ext/ExtPanelLinkJumpMapper.xml @@ -9,11 +9,13 @@ - + - + @@ -27,230 +29,244 @@ - - - DELETE ljtv - FROM - panel_link_jump_target_view_info ljtv, - panel_link_jump_info lji, - panel_link_jump lj - WHERE - ljtv.link_jump_info_id = lji.id - AND lji.link_jump_id = lj.id - AND lj.source_panel_id = #{panelId} - AND lj.source_view_id = #{viewId} - - - - DELETE lji - FROM - panel_link_jump_info lji, - panel_link_jump lj - WHERE - lji.link_jump_id = lj.id - AND lj.source_panel_id = #{panelId} - AND lj.source_view_id = #{viewId} - - - - DELETE lj - FROM - panel_link_jump lj - WHERE - lj.source_panel_id = #{panelId} - AND lj.source_view_id = #{viewId} - - - - - - DELETE ljtv - FROM - panel_link_jump_target_view_info ljtv, - panel_link_jump_info lji, - panel_link_jump lj - WHERE - ljtv.link_jump_info_id = lji.id - AND lji.link_jump_id = lj.id - AND (lj.source_panel_id = #{panelId} or lji.target_panel_id = #{panelId}) - - - - DELETE lji - FROM - panel_link_jump_info lji, - panel_link_jump lj - WHERE - lji.link_jump_id = lj.id - AND (lj.source_panel_id = #{panelId} or lji.target_panel_id = #{panelId}) - - - - DELETE lj - FROM - panel_link_jump lj - WHERE - lj.source_panel_id = #{panelId} - - - - - insert into panel_link_jump (id, source_panel_id, source_view_id, link_jump_info, `checked`, copy_from, copy_id) - select - UUID() as id, - panel_view_copy.t_panel_id as source_panel_id, - panel_view_copy.t_chart_view_id as source_view_id, - panel_link_jump.link_jump_info, - panel_link_jump.checked, - panel_link_jump.id as copy_from, - #{copyId} as copy_id - from panel_link_jump inner join - (SELECT - pvs.panel_id as s_panel_id, - pvs.chart_view_id as s_chart_view_id, - pvt.panel_id as t_panel_id, - pvt.chart_view_id as t_chart_view_id + + DELETE + ljtv FROM - panel_view pvt - inner JOIN panel_view pvs ON pvt.copy_from = pvs.id - WHERE - pvt.copy_id = #{copyId}) panel_view_copy on panel_link_jump.source_panel_id = panel_view_copy.s_panel_id - and panel_link_jump.source_view_id = panel_view_copy.s_chart_view_id - + panel_link_jump_target_view_info ljtv, + panel_link_jump_info lji, + panel_link_jump lj + WHERE + ljtv.link_jump_info_id = lji.id + AND lji.link_jump_id = lj.id + AND lj.source_panel_id = + #{panelId} + AND + lj + . + source_view_id + = + #{viewId} + + + + DELETE + lji + FROM + panel_link_jump_info lji, + panel_link_jump lj + WHERE + lji.link_jump_id = lj.id + AND lj.source_panel_id = + #{panelId} + AND + lj + . + source_view_id + = + #{viewId} + + + + DELETE + lj + FROM + panel_link_jump lj + WHERE + lj.source_panel_id = + #{panelId} + AND + lj + . + source_view_id + = + #{viewId} + + + + + DELETE + ljtv + FROM + panel_link_jump_target_view_info ljtv, + panel_link_jump_info lji, + panel_link_jump lj + WHERE + ljtv.link_jump_info_id = lji.id + AND lji.link_jump_id = lj.id + AND (lj.source_panel_id = + #{panelId} + or + lji + . + target_panel_id + = + #{panelId} + ) + + + + DELETE + lji + FROM + panel_link_jump_info lji, + panel_link_jump lj + WHERE + lji.link_jump_id = lj.id + AND (lj.source_panel_id = + #{panelId} + or + lji + . + target_panel_id + = + #{panelId} + ) + + + + DELETE + lj + FROM + panel_link_jump lj + WHERE + lj.source_panel_id = + #{panelId} + + + + + + insert into panel_link_jump (id, source_panel_id, source_view_id, link_jump_info, `checked`, copy_from, copy_id) + select UUID() as id, + panel_view_copy.t_panel_id as source_panel_id, + panel_view_copy.t_chart_view_id as source_view_id, + panel_link_jump.link_jump_info, + panel_link_jump.checked, + panel_link_jump.id as copy_from, + #{copyId} as copy_id + from panel_link_jump + inner join + (SELECT pvs.panel_id as s_panel_id, + pvs.chart_view_id as s_chart_view_id, + pvt.panel_id as t_panel_id, + pvt.chart_view_id as t_chart_view_id + FROM panel_view pvt + inner JOIN panel_view pvs ON pvt.copy_from = pvs.id + WHERE pvt.copy_id = #{copyId}) panel_view_copy + on panel_link_jump.source_panel_id = panel_view_copy.s_panel_id + and panel_link_jump.source_view_id = panel_view_copy.s_chart_view_id + - INSERT INTO panel_link_jump_info ( - id, - link_jump_id, - link_type, - jump_type, - target_panel_id, - source_field_id, - content, - `checked`, - `attach_params`, - copy_from, - copy_id - ) SELECT - uuid() AS id, - plj_copy.t_id, - link_type, - jump_type, - target_panel_id, - source_field_id, - content, - `checked`, - `attach_params`, - id AS copy_from, - #{copyId} - FROM - panel_link_jump_info - inner JOIN ( - SELECT - id AS t_id, - copy_from AS s_id - FROM - panel_link_jump - WHERE - copy_id = #{copyId} - ) plj_copy ON panel_link_jump_info.link_jump_id = plj_copy.s_id + INSERT INTO panel_link_jump_info (id, + link_jump_id, + link_type, + jump_type, + target_panel_id, + source_field_id, + content, + `checked`, + `attach_params`, + copy_from, + copy_id) + SELECT uuid() AS id, + plj_copy.t_id, + link_type, + jump_type, + target_panel_id, + source_field_id, + content, + `checked`, + `attach_params`, + id AS copy_from, + #{copyId} + FROM panel_link_jump_info + inner JOIN (SELECT id AS t_id, + copy_from AS s_id + FROM panel_link_jump + WHERE copy_id = #{copyId}) plj_copy ON panel_link_jump_info.link_jump_id = plj_copy.s_id - - INSERT INTO panel_link_jump_target_view_info ( - target_id, - link_jump_info_id, - target_view_id, - target_field_id, - copy_from, - copy_id - ) SELECT - uuid() AS id, - plji_copy.t_id AS link_jump_info_id, - target_view_id, - target_field_id, - copy_from, - #{copyId} AS copy_id - FROM - panel_link_jump_target_view_info - inner JOIN ( - SELECT - id AS t_id, - copy_from AS s_id - FROM - panel_link_jump_info - WHERE - copy_id = #{copyId} - ) plji_copy ON panel_link_jump_target_view_info.link_jump_info_id = plji_copy.s_id + + INSERT INTO panel_link_jump_target_view_info (target_id, + link_jump_info_id, + target_view_id, + target_field_id, + copy_from, + copy_id) + SELECT uuid() AS id, + plji_copy.t_id AS link_jump_info_id, + target_view_id, + target_field_id, + copy_from, + #{copyId} AS copy_id + FROM panel_link_jump_target_view_info + inner JOIN (SELECT id AS t_id, + copy_from AS s_id + FROM panel_link_jump_info + WHERE copy_id = #{copyId}) plji_copy + ON panel_link_jump_target_view_info.link_jump_info_id = plji_copy.s_id diff --git a/frontend/src/components/canvas/components/editor/PreviewEject.vue b/frontend/src/components/canvas/components/editor/PreviewEject.vue index e53a938d25..f3d81c4dc4 100644 --- a/frontend/src/components/canvas/components/editor/PreviewEject.vue +++ b/frontend/src/components/canvas/components/editor/PreviewEject.vue @@ -139,6 +139,10 @@ export default { sourceFieldId: jumpParam.sourceFieldId, targetPanelId: this.panelId } + //透视表中的其他维度数据数据都进行匹配 + if (jumpParam.sourceType && jumpParam.sourceType === 'table-pivot') { + jumpRequestParam.targetPanelId = null + } try { // 刷新跳转目标仪表板联动信息 queryTargetPanelJumpInfo(jumpRequestParam).then(rsp => { diff --git a/frontend/src/components/canvas/customComponent/UserView.vue b/frontend/src/components/canvas/customComponent/UserView.vue index c21d6d056b..b840daff45 100644 --- a/frontend/src/components/canvas/customComponent/UserView.vue +++ b/frontend/src/components/canvas/customComponent/UserView.vue @@ -936,7 +936,7 @@ export default { // 如果有名称name 获取和name匹配的dimension 否则倒序取最后一个能匹配的 if (param.name) { param.dimensionList.forEach(dimensionItem => { - if (dimensionItem.value === param.name) { + if (dimensionItem.id === param.name) { dimension = dimensionItem sourceInfo = param.viewId + '#' + dimension.id jumpInfo = this.nowPanelJumpInfo[sourceInfo] diff --git a/frontend/src/views/chart/components/ChartComponentS2.vue b/frontend/src/views/chart/components/ChartComponentS2.vue index d982174c58..2bb2f650b6 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') }} { + pre[next['dataeaseName']] = next['id'] + return pre + }, {}) + const dimensionList = [] + for (const key in rowData) { + if (nameIdMap[key]) { + dimensionList.push({ id: nameIdMap[key], value: rowData[key] }) + } + } + this.antVActionPost(dimensionList, nameIdMap[meta.field] || 'null') }, setBackGroundBorder() { if (this.chart.customStyle) { diff --git a/frontend/src/views/panel/linkJumpSet/index.vue b/frontend/src/views/panel/linkJumpSet/index.vue index 81f57a6f33..44663a3627 100644 --- a/frontend/src/views/panel/linkJumpSet/index.vue +++ b/frontend/src/views/panel/linkJumpSet/index.vue @@ -222,7 +222,8 @@ icon="el-icon-plus" round @click="addLinkJumpField" - >{{ $t('panel.add_jump_field') }} + >{{ $t('panel.add_jump_field') }} +
- + {{ $t('commons.cancel') }} + >{{ $t('commons.cancel') }} + {{ $t('commons.confirm') }} + >{{ $t('commons.confirm') }} + @@ -487,9 +490,7 @@ export default { 'panelViewDetailsInfo' ]) }, - watch: { - - }, + watch: {}, created() { }, mounted() { @@ -509,7 +510,7 @@ export default { checkAllAxisStr = chartDetails.xaxis + chartDetails.xaxisExt + yaxisNew + chartDetails.yaxisExt + chartDetails.drillFields checkJumpStr = checkAllAxisStr } else if (chartDetails.type === 'table-pivot') { - checkJumpStr = chartDetails.yaxis + chartDetails.yaxisExt + chartDetails.drillFields + checkJumpStr = checkAllAxisStr } else if (chartDetails.type === 'table-info') { checkJumpStr = chartDetails.xaxis + chartDetails.drillFields } else { @@ -657,7 +658,10 @@ export default { pos2.line = pos1.line pos2.ch = pos1.ch this.$refs.myCm.codemirror.replaceRange(param, pos2) - this.$refs.myCm.codemirror.markText(pos2, { line: pos2.line, ch: param.length + pos2.ch }, { atomic: true, selectRight: true }) + this.$refs.myCm.codemirror.markText(pos2, { line: pos2.line, ch: param.length + pos2.ch }, { + atomic: true, + selectRight: true + }) }, matchToAuto() { if (!this.name2Auto.length) return @@ -665,7 +669,10 @@ export default { const search = this.$refs.myCm.codemirror.getSearchCursor(ele, { line: 0, ch: 0 }) if (search.find()) { const { from, to } = search.pos - this.$refs.myCm.codemirror.markText({ line: from.line, ch: from.ch - 1 }, { line: to.line, ch: to.ch + 1 }, { atomic: true, selectRight: true }) + this.$refs.myCm.codemirror.markText({ line: from.line, ch: from.ch - 1 }, { + line: to.line, + ch: to.ch + 1 + }, { atomic: true, selectRight: true }) } }) }, @@ -696,41 +703,46 @@ export default {