fix: bug#10935

This commit is contained in:
xieyonghong 2023-03-28 15:38:21 +08:00
parent 80a362e815
commit 7474254a45
3 changed files with 54 additions and 13 deletions

View File

@ -185,7 +185,8 @@ export default [
},
],
accessSupport: { text: "支持", value: "support" },
supportDataAccess: true
supportDataAccess: true,
assetType: 'notifyConfig'
},
{
code: 'notice/Template',

View File

@ -242,11 +242,31 @@ const handleOptionsColumnsValue = (termsColumns: any[], _options: any) => {
}
const columnSelect = (e: any) => {
paramsValue.termType = 'eq'
const dataType = e.type
const hasTypeChange = dataType !== tabsOptions.value[0].component
let termTypeChange = false
//
const termTypes = e.termTypes
if (!termTypes.some((item: {id: string}) => paramsValue.termType === item.id)) { //
termTypeChange = true
paramsValue.termType = termTypes?.length ? termTypes[0].id : 'eq'
}
if (hasTypeChange) {
paramsValue.termType = termTypes?.length ? termTypes[0].id : 'eq'
paramsValue.value = {
source: tabsOptions.value[0].key,
value: undefined
}
} else if (termTypeChange) {
const oldValue = isArray(paramsValue.value!.value) ? paramsValue.value!.value[0] : paramsValue.value!.value
const value = arrayParamsKey.includes(e.key) ? [ oldValue, undefined ] : oldValue
paramsValue.value = {
source: paramsValue.value?.source || tabsOptions.value[0].key,
value: value
}
}
const columns = e.metadata === true ? [e.column] : []
const _options = formModel.value.branches![props.branchName].then[props.thenName].actions[props.actionName].options
@ -266,7 +286,7 @@ const termsTypeSelect = (e: { key: string, name: string }) => {
const oldValue = isArray(paramsValue.value!.value) ? paramsValue.value!.value[0] : paramsValue.value!.value
const value = arrayParamsKey.includes(e.key) ? [ oldValue, undefined ] : oldValue
paramsValue.value = {
source: tabsOptions.value[0].key,
source: paramsValue.value?.source || tabsOptions.value[0].key,
value: value
}
emit('update:value', { ...paramsValue })

View File

@ -216,12 +216,14 @@ watch(() => [columnOptions.value, paramsValue.column], () => {
const showDouble = computed(() => {
const isRange = paramsValue.termType ? arrayParamsKey.includes(paramsValue.termType) : false
const isSourceMetric = paramsValue.value?.source === 'metric'
if (metricsCacheOption.value.length) {
metricOption.value = metricsCacheOption.value.filter(item => isRange ? item.range : !item.range)
} else {
metricOption.value = []
}
return isRange && !isMetric.value
return isRange && !isMetric.value && !isSourceMetric
})
const mouseover = () => {
@ -237,12 +239,30 @@ const mouseout = () => {
}
const columnSelect = (option: any) => {
const dataType = option.dataType
const hasTypeChange = dataType !== tabsOptions.value[0].component
let termTypeChange = false
//
const termTypes = option.termTypes
if (!termTypes.some((item: {id: string}) => paramsValue.termType === item.id)) { //
termTypeChange = true
paramsValue.termType = termTypes?.length ? termTypes[0].id : 'eq'
}
if (hasTypeChange) { //
paramsValue.termType = termTypes?.length ? termTypes[0].id : 'eq'
paramsValue.value = {
source: tabsOptions.value[0].key,
value: undefined
}
} else if (termTypeChange) {
const oldValue = isArray(paramsValue.value!.value) ? paramsValue.value!.value[0] : paramsValue.value!.value
const value = arrayParamsKey.includes(paramsValue.termType as string) ? [ oldValue, undefined ] : oldValue
paramsValue.value = {
source: paramsValue.value?.source || tabsOptions.value[0].key,
value: value
}
}
handOptionByColumn(option)
emit('update:value', { ...paramsValue })
formItemContext.onFieldChange()
@ -254,7 +274,7 @@ const termsTypeSelect = (e: { key: string, name: string }) => {
const oldValue = isArray(paramsValue.value!.value) ? paramsValue.value!.value[0] : paramsValue.value!.value
const value = arrayParamsKey.includes(e.key) ? [ oldValue, undefined ] : oldValue
paramsValue.value = {
source: tabsOptions.value[0].key,
source: paramsValue.value?.source || tabsOptions.value[0].key,
value: value
}
emit('update:value', { ...paramsValue })
@ -263,7 +283,7 @@ const termsTypeSelect = (e: { key: string, name: string }) => {
}
const valueSelect = (_: any, label: string, labelObj: Record<number, any>) => {
const valueSelect = (v: any, label: string, labelObj: Record<number, any>) => {
emit('update:value', { ...paramsValue })
formItemContext.onFieldChange()
formModel.value.options!.when[props.branchName].terms[props.whenName].terms[props.name][2] = labelObj