mirror of
https://github.com/dataease/dataease.git
synced 2026-05-15 05:22:13 +08:00
feat: 指标卡支持跳转设置,支持携带查询组件的值 (#17161)
This commit is contained in:
@@ -211,7 +211,11 @@
|
||||
<template v-if="state.linkJumpInfo.targetDvId">
|
||||
<div class="jump-com-list">
|
||||
<el-tabs size="small" v-model="state.activeCollapse">
|
||||
<el-tab-pane :label="t('visualization.linkage_view')" name="view">
|
||||
<el-tab-pane
|
||||
v-if="!isIndicator"
|
||||
:label="t('visualization.linkage_view')"
|
||||
name="view"
|
||||
>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane
|
||||
:label="t('visualization.with_filter_params')"
|
||||
@@ -682,6 +686,7 @@ const state = reactive({
|
||||
tempId: null,
|
||||
initState: false,
|
||||
viewId: null,
|
||||
viewType: null,
|
||||
name2Auto: [],
|
||||
searchField: '',
|
||||
searchFunction: '',
|
||||
@@ -768,10 +773,13 @@ const initCurFilterFieldArray = componentDataCheck => {
|
||||
})
|
||||
}
|
||||
|
||||
const isIndicator = computed(() => 'indicator' === state.viewType)
|
||||
|
||||
const init = viewItem => {
|
||||
state.initState = false
|
||||
state.viewId = viewItem.id
|
||||
state.activeCollapse = 'view'
|
||||
state.viewType = viewItem.type
|
||||
state.activeCollapse = isIndicator.value ? 'filter' : 'view'
|
||||
const chartDetails = canvasViewInfo.value[state.viewId] as ChartObj
|
||||
state.curJumpViewInfo = chartDetails
|
||||
let checkAllAxisStr =
|
||||
@@ -790,7 +798,9 @@ const init = viewItem => {
|
||||
JSON.stringify(chartDetails.yAxisExt) +
|
||||
JSON.stringify(chartDetails.drillFields)
|
||||
checkJumpStr = checkAllAxisStr
|
||||
} else if (['table-normal', 'table-info', 'table-pivot'].includes(chartDetails.type)) {
|
||||
} else if (
|
||||
['table-normal', 'table-info', 'table-pivot', 'indicator'].includes(chartDetails.type)
|
||||
) {
|
||||
checkJumpStr =
|
||||
checkAllAxisStr + JSON.stringify(chartDetails.yAxis) + JSON.stringify(chartDetails.yAxisExt)
|
||||
} else {
|
||||
@@ -975,7 +985,9 @@ const dvNodeClick = data => {
|
||||
if (data.leaf) {
|
||||
state.curDataVWeight = data.weight
|
||||
state.linkJumpInfo.targetViewInfoList = []
|
||||
addLinkJumpField()
|
||||
if (!isIndicator.value) {
|
||||
addLinkJumpField()
|
||||
}
|
||||
getPanelViewList(data.id)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2957,6 +2957,7 @@ export default {
|
||||
publish: 'Publish',
|
||||
freeze_top: 'Position frozen at the top',
|
||||
indicator_linkage: 'Indicator card linkage only carries chart filtering parameters',
|
||||
indicator_jump: 'Indicator card jump only carries chart filtering parameters',
|
||||
gap_size: 'Gap Size',
|
||||
small: 'Small',
|
||||
middle: 'Medium',
|
||||
|
||||
@@ -2875,6 +2875,7 @@ export default {
|
||||
publish: '發佈',
|
||||
freeze_top: '位置凍結在頂部',
|
||||
indicator_linkage: '指標卡聯動僅攜帶圖表過濾參數',
|
||||
indicator_jump: '指標卡跳轉僅攜帶圖表過濾參數',
|
||||
gap_size: '間隙大小',
|
||||
small: '小',
|
||||
middle: '中',
|
||||
|
||||
@@ -2884,6 +2884,7 @@ export default {
|
||||
publish: '发布',
|
||||
freeze_top: '位置冻结在顶部',
|
||||
indicator_linkage: '指标卡联动仅携带图表过滤参数',
|
||||
indicator_jump: '指标卡跳转仅携带图表过滤参数',
|
||||
gap_size: '间隙大小',
|
||||
small: '小',
|
||||
middle: '中',
|
||||
|
||||
@@ -167,7 +167,7 @@ const linkJumpSetOpen = () => {
|
||||
}
|
||||
//跳转设置需要先触发保存
|
||||
canvasSave(() => {
|
||||
linkJumpRef.value.dialogInit({ id: chart.value.id })
|
||||
linkJumpRef.value.dialogInit({ id: chart.value.id, type: chart.value.type })
|
||||
})
|
||||
}
|
||||
const linkageSetOpen = () => {
|
||||
|
||||
@@ -16,7 +16,8 @@ export class IndicatorChartView extends AbstractChartView {
|
||||
'indicator-name-selector',
|
||||
'threshold',
|
||||
'function-cfg',
|
||||
'linkage'
|
||||
'linkage',
|
||||
'jump-set'
|
||||
]
|
||||
propertyInner: EditorPropertyInner = {
|
||||
'background-overall-component': ['all'],
|
||||
|
||||
@@ -443,8 +443,9 @@ const jumpClick = param => {
|
||||
let dimension, jumpInfo, sourceInfo
|
||||
// 如果有名称name 获取和name匹配的dimension 否则倒序取最后一个能匹配的
|
||||
if (param.name) {
|
||||
param.dimensionList.forEach(dimensionItem => {
|
||||
if (dimensionItem.id === param.name || dimensionItem.value === param.name) {
|
||||
const colList = [...param.dimensionList, ...param.quotaList]
|
||||
colList.forEach(dimensionItem => {
|
||||
if (dimensionItem.id === param.name || dimensionItem.name === param.name) {
|
||||
dimension = dimensionItem
|
||||
sourceInfo = param.viewId + '#' + dimension.id
|
||||
jumpInfo = nowPanelJumpInfo.value[sourceInfo]
|
||||
|
||||
Reference in New Issue
Block a user