fix(图表): 修复水波图、仪表盘添加非数值字段导致图表异常

This commit is contained in:
jianneng-fit2cloud 2024-11-04 19:48:48 +08:00
parent 012f83c1c6
commit 126df0f39b

View File

@ -110,7 +110,10 @@ const initField = () => {
} }
initDynamicDefaultField() initDynamicDefaultField()
} }
const COUNT_DE_TYPE = [0, 1, 5]
const getFieldSummaryByDeType = (deType: number) => {
return COUNT_DE_TYPE.includes(deType) || !deType ? 'count' : 'sum'
}
const initDynamicDefaultField = () => { const initDynamicDefaultField = () => {
const yAxisId = props.chart.yAxis?.[0]?.id const yAxisId = props.chart.yAxis?.[0]?.id
if (yAxisId !== '-1' && state.quotaData.length) { if (yAxisId !== '-1' && state.quotaData.length) {
@ -146,9 +149,11 @@ const initDynamicDefaultField = () => {
state.liquidProcessedNoYAxis = false state.liquidProcessedNoYAxis = false
// liquidMaxField.id // liquidMaxField.id
state.miscForm.liquidMaxField.id = yAxisExists ? yAxisId : state.quotaData[0]?.id state.miscForm.liquidMaxField.id = yAxisExists ? yAxisId : state.quotaData[0]?.id
state.liquidMaxField = getQuotaField(state.miscForm.liquidMaxField.id)
// summary maxField // summary maxField
state.miscForm.liquidMaxField.summary = 'sum' state.miscForm.liquidMaxField.summary = getFieldSummaryByDeType(
state.maxField = getQuotaField(state.miscForm.liquidMaxField.id) state.liquidMaxField?.deType
)
// changeMisc // changeMisc
if (yAxisExists) { if (yAxisExists) {
changeMisc('liquidMaxField', true) changeMisc('liquidMaxField', true)
@ -172,9 +177,9 @@ const initDynamicDefaultField = () => {
state.gaugeProcessedNoYAxis = false state.gaugeProcessedNoYAxis = false
// gaugeMaxField.id // gaugeMaxField.id
state.miscForm.gaugeMaxField.id = yAxisExists ? yAxisId : state.quotaData[0]?.id state.miscForm.gaugeMaxField.id = yAxisExists ? yAxisId : state.quotaData[0]?.id
// summary maxField
state.miscForm.gaugeMaxField.summary = 'sum'
state.maxField = getQuotaField(state.miscForm.gaugeMaxField.id) state.maxField = getQuotaField(state.miscForm.gaugeMaxField.id)
// summary maxField
state.miscForm.gaugeMaxField.summary = getFieldSummaryByDeType(state.maxField?.deType)
if (yAxisExists) { if (yAxisExists) {
// changeMisc // changeMisc
changeMisc('gaugeMaxField', true) changeMisc('gaugeMaxField', true)
@ -233,13 +238,13 @@ const changeQuotaField = (type: string, resetSummary?: boolean) => {
state.miscForm.liquidMaxField.id = props.chart.yAxis?.[0]?.id state.miscForm.liquidMaxField.id = props.chart.yAxis?.[0]?.id
} }
if (!state.miscForm.liquidMaxField.summary) { if (!state.miscForm.liquidMaxField.summary) {
state.miscForm.liquidMaxField.summary = 'sum' state.miscForm.liquidMaxField.summary = 'count'
} }
if (resetSummary) { if (resetSummary) {
state.miscForm.liquidMaxField.summary = 'sum' state.miscForm.liquidMaxField.summary = 'count'
} }
if (state.miscForm.liquidMaxField.id && state.miscForm.liquidMaxField.summary) { if (state.miscForm.liquidMaxField.id && state.miscForm.liquidMaxField.summary) {
state.maxField = getQuotaField(state.miscForm.liquidMaxField.id) state.liquidMaxField = getQuotaField(state.miscForm.liquidMaxField.id)
changeMisc('liquidMaxField', true) changeMisc('liquidMaxField', true)
} }
} else { } else {
@ -252,10 +257,10 @@ const changeQuotaField = (type: string, resetSummary?: boolean) => {
state.miscForm.gaugeMaxField.id = props.chart.yAxis?.[0]?.id state.miscForm.gaugeMaxField.id = props.chart.yAxis?.[0]?.id
} }
if (!state.miscForm.gaugeMaxField.summary) { if (!state.miscForm.gaugeMaxField.summary) {
state.miscForm.gaugeMaxField.summary = 'sum' state.miscForm.gaugeMaxField.summary = 'count'
} }
if (resetSummary) { if (resetSummary) {
state.miscForm.gaugeMaxField.summary = 'sum' state.miscForm.gaugeMaxField.summary = 'count'
} }
if (state.miscForm.gaugeMaxField.id && state.miscForm.gaugeMaxField.summary) { if (state.miscForm.gaugeMaxField.id && state.miscForm.gaugeMaxField.summary) {
state.maxField = getQuotaField(state.miscForm.gaugeMaxField.id) state.maxField = getQuotaField(state.miscForm.gaugeMaxField.id)
@ -344,6 +349,12 @@ const addAxis = (form: AxisEditForm) => {
} else { } else {
state.miscForm[maxTypeKey] = 'dynamic' state.miscForm[maxTypeKey] = 'dynamic'
} }
if (props.chart.type === 'gauge') {
state.miscForm.gaugeMinType = 'fix'
state.miscForm.gaugeMin = 0
state.miscForm.gaugeMinField.id = ''
state.miscForm.gaugeMinField.summary = ''
}
} }
onMounted(() => { onMounted(() => {
initField() initField()