mirror of
https://github.com/dataease/dataease.git
synced 2026-05-19 02:08:10 +08:00
fix(查询组件): 下拉树不同数据集的图表,未响应对应层级的过滤
This commit is contained in:
committed by
xuwei-fit2cloud
parent
34d96ac170
commit
34f2ad9411
@@ -1483,6 +1483,7 @@ const handleBeforeClose = () => {
|
||||
defaultConfigurationRef.value?.single()
|
||||
handleDialogClick()
|
||||
curComponent.value.id = ''
|
||||
relationshipChartIndex.value = 0
|
||||
dialogVisible.value = false
|
||||
}
|
||||
const emits = defineEmits(['queryData'])
|
||||
@@ -1596,6 +1597,7 @@ const setActiveSelectTab = (arr, id) => {
|
||||
|
||||
const init = (queryId: string) => {
|
||||
initDataset()
|
||||
relationshipChartIndex.value = 0
|
||||
renameInput.value = []
|
||||
handleCondition({ id: queryId })
|
||||
cascadeArr = cloneDeep(queryElement.value.cascade || [])
|
||||
@@ -1887,7 +1889,34 @@ const startTreeDesign = () => {
|
||||
}
|
||||
const saveTree = arr => {
|
||||
curComponent.value.treeFieldList = arr
|
||||
setSameField()
|
||||
}
|
||||
|
||||
const setSameField = () => {
|
||||
curComponent.value.treeFieldList.forEach((ele, index) => {
|
||||
if (!curComponent.value.treeCheckedList[index]) {
|
||||
curComponent.value.treeCheckedList = [
|
||||
...curComponent.value.treeCheckedList,
|
||||
{
|
||||
checkedFields: [...curComponent.value.checkedFields],
|
||||
checkedFieldsMap: cloneDeep(curComponent.value.checkedFieldsMap)
|
||||
}
|
||||
]
|
||||
}
|
||||
fields.value.forEach(item => {
|
||||
const ids = item.fields.dimensionList.map(itx => itx.id)
|
||||
if (ids.includes(ele.id)) {
|
||||
curComponent.value.treeCheckedList[index].checkedFieldsMap[item.componentId] = ele.id
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
curComponent.value.checkedFields =
|
||||
curComponent.value.treeCheckedList[relationshipChartIndex.value].checkedFields
|
||||
curComponent.value.checkedFieldsMap =
|
||||
curComponent.value.treeCheckedList[relationshipChartIndex.value].checkedFieldsMap
|
||||
}
|
||||
|
||||
const showError = computed(() => {
|
||||
if (!curComponent.value) return false
|
||||
const {
|
||||
|
||||
@@ -79,7 +79,7 @@ const getDayEnd = timestamp => {
|
||||
]
|
||||
}
|
||||
|
||||
const getFieldId = (arr, result, relationshipChartIndex) => {
|
||||
const getFieldId = (arr, result, relationshipChartIndex, ids) => {
|
||||
const [obj] = [...result].reverse()
|
||||
const valArr = obj.split(',')
|
||||
const idArr = arr.map(ele => ele.id)
|
||||
@@ -90,7 +90,10 @@ const getFieldId = (arr, result, relationshipChartIndex) => {
|
||||
for (const key in result) {
|
||||
result[key] = indexArr.map(ele => result[key].split(',')[ele]).join(',')
|
||||
}
|
||||
return [indexArr.map(ele => idArr[ele]).join(','), result.filter(ele => !ele.endsWith(','))]
|
||||
return [
|
||||
indexArr.map(ele => ids[ele]).join(','),
|
||||
result.filter(ele => !ele.endsWith(',') && !!ele)
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -286,6 +289,7 @@ export const searchQuery = (queryComponentList, filter, curComponentId, firstLoa
|
||||
ele.propValue.forEach(item => {
|
||||
let shouldSearch = false
|
||||
const relationshipChartIndex = []
|
||||
const ids = Array(5).fill(1)
|
||||
if (item.displayType === '9' && item.treeCheckedList?.length) {
|
||||
item.treeCheckedList.forEach((itx, idx) => {
|
||||
if (
|
||||
@@ -294,6 +298,7 @@ export const searchQuery = (queryComponentList, filter, curComponentId, firstLoa
|
||||
idx < item.treeFieldList.length
|
||||
) {
|
||||
relationshipChartIndex.push(idx)
|
||||
ids[idx] = itx.checkedFieldsMap[curComponentId]
|
||||
}
|
||||
})
|
||||
} else {
|
||||
@@ -448,7 +453,7 @@ export const searchQuery = (queryComponentList, filter, curComponentId, firstLoa
|
||||
if (result?.length) {
|
||||
let fieldId = item.checkedFieldsMap[curComponentId]
|
||||
if (isTree) {
|
||||
const [i, r] = getFieldId(treeFieldList, result, relationshipChartIndex)
|
||||
const [i, r] = getFieldId(treeFieldList, result, relationshipChartIndex, ids)
|
||||
fieldId = i
|
||||
result = r
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user