Merge pull request #10789 from dataease/dev-v2

merge bug fix
This commit is contained in:
fit2cloudrd 2024-07-04 08:01:14 +08:00 committed by GitHub
commit a194bd00b3
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 40 additions and 26 deletions

View File

@ -190,6 +190,12 @@ public class MixHandler extends YoyChartHandler {
chartData.put("right", rightData);
var drillFilters = filterResult.getFilterList().stream().filter(f -> f.getFilterType() == 1).collect(Collectors.toList());
// 日期下钻替换回去
drillFilters.forEach(f -> {
if (CollectionUtils.isNotEmpty(f.getOriginValue())) {
f.setValue(f.getOriginValue());
}
});
var isDrill = CollectionUtils.isNotEmpty(drillFilters);
view.setDrillFilters(drillFilters);
view.setDrill(isDrill);

View File

@ -252,6 +252,15 @@ const setTreeDefault = () => {
}
}
const handleCheckedFieldsChange = (value: string[]) => {
handleDialogClick()
const checkedCount = value.length
checkAll.value = checkedCount === fields.value.length
isIndeterminate.value = checkedCount > 0 && checkedCount < fields.value.length
if (curComponent.value.displayType === '8') return
setType()
}
const handleCheckedFieldsChangeTree = (value: string[]) => {
handleDialogClick()
const checkedCount = value.length
checkAll.value = checkedCount === fields.value.length
@ -1008,8 +1017,8 @@ const showError = computed(() => {
if (displayType === '9') {
let displayField = null
return checkedFields.some(id => {
const arr = fields.value.find(itx => itx.componentId === id)
const field = arr.id
const arr = (fields.value || []).find(itx => itx.componentId === id)
const field = arr?.id
if (!field) return false
if (displayField === null) {
displayField = field
@ -1332,7 +1341,7 @@ defineExpose({
<div class="field-list">
<el-checkbox-group
v-model="curComponent.checkedFields"
@change="handleCheckedFieldsChange"
@change="handleCheckedFieldsChangeTree"
>
<div v-for="field in fields" :key="field.componentId" class="list-item">
<el-checkbox :label="field.componentId"
@ -1477,14 +1486,18 @@ defineExpose({
<div class="list-item" v-if="curComponent.displayType === '9'">
<div class="label" style="width: 135px; height: 26px; line-height: 26px">
下拉树结构设计
<el-button v-if="!!curComponent.treeFieldList.length" text @click="startTreeDesign">
<el-button
v-if="curComponent.treeFieldList && !!curComponent.treeFieldList.length"
text
@click="startTreeDesign"
>
<template #icon>
<icon name="icon_edit_outlined"></icon>
</template>
</el-button>
</div>
<div class="search-tree">
<template v-if="!!curComponent.treeFieldList.length">
<template v-if="curComponent.treeFieldList && !!curComponent.treeFieldList.length">
<div
v-for="(ele, index) in curComponent.treeFieldList"
:key="ele.id"

View File

@ -211,8 +211,8 @@ const handleFieldIdDefaultChange = (val: string[]) => {
.filter(ele => ele !== null)
.map(ele => {
return {
label: ele,
value: ele
label: `${ele}`,
value: `${ele}`
}
})
})
@ -267,14 +267,14 @@ const handleFieldIdChange = (val: EnumValue) => {
...new Set(
(res || [])
.map(ele => {
return ele[val.displayId || val.queryId]
return `${ele[val.displayId || val.queryId]}`
})
.concat(oldArr)
)
].map(ele => {
return {
label: ele,
value: ele,
label: `${ele}`,
value: `${ele}`,
checked: oldArr.includes(ele)
}
})
@ -498,8 +498,8 @@ const setOptions = (num: number) => {
options.value = cloneDeep(
(valueSource || []).map(ele => {
return {
label: ele,
value: ele
label: `${ele}`,
value: `${ele}`
}
})
)

View File

@ -46,11 +46,14 @@ import ChartEmptyInfo from '@/views/chart/components/views/components/ChartEmpty
import { snapshotStoreWithOut } from '@/store/modules/data-visualization/snapshot'
import { viewFieldTimeTrans } from '@/utils/viewUtils'
import { CHART_TYPE_CONFIGS } from '@/views/chart/components/editor/util/chart'
import request from '@/config/axios'
import { store } from '@/store'
const { wsCache } = useCache()
const chartComponent = ref<any>()
const { t } = useI18n()
const dvMainStore = dvMainStoreWithOut()
const { emitter } = useEmitt()
let innerRefreshTimer = null
const appStore = useAppStoreWithOut()
@ -495,7 +498,7 @@ const calcData = params => {
const showChartView = (...libs: ChartLibraryType[]) => {
if (view.value?.render && view.value?.type) {
const chartView = chartViewManager.getChartView(view.value.render, view.value.type)
return libs?.includes(chartView.library)
return chartView && libs?.includes(chartView.library)
} else {
return false
}
@ -825,13 +828,16 @@ const loadPluginCategory = data => {
<!--这里去渲染不同图库的图表-->
<div v-if="chartAreaShow" style="flex: 1; overflow: hidden">
<plugin-component
v-if="view.isPlugin"
v-if="view.plugin?.isPlugin"
:jsname="view.plugin.staticMap['index']"
:scale="scale"
:dynamic-area-id="dynamicAreaId"
:view="view"
:show-position="showPosition"
:element="element"
:request="request"
:emitter="emitter"
:store="store"
ref="chartComponent"
@onChartClick="chartClick"
@onPointClick="onPointClick"

View File

@ -150,7 +150,7 @@ const activeName = inject('api-active-name')
/>
</el-col>
<el-col :span="activeName === 'params' ? 10 : 5">
<el-col :span="10">
<el-input
v-model="element.description"
maxlength="200"
@ -158,17 +158,6 @@ const activeName = inject('api-active-name')
show-word-limit
/>
</el-col>
<el-col v-if="activeName !== 'params'" :span="5">
<el-autocomplete
v-if="suggestions"
v-model="element.name"
:disabled="isReadOnly"
:fetch-suggestions="querySearch"
:placeholder="keyText"
show-word-limit
/>
</el-col>
<el-col :span="1">
<el-button text :disabled="isDisable() || isReadOnly" @click="remove(index)">
<template #icon>