From 6b96269aac8d1999813f920c9131b1ed35695210 Mon Sep 17 00:00:00 2001 From: dataeaseShu Date: Wed, 16 Oct 2024 18:16:26 +0800 Subject: [PATCH 1/2] =?UTF-8?q?fix(=E6=9F=A5=E8=AF=A2=E7=BB=84=E4=BB=B6):?= =?UTF-8?q?=20=E6=95=B0=E5=80=BC=E5=8C=BA=E9=97=B4=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=E8=AE=BE=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../v-query/ConditionDefaultConfiguration.vue | 43 +- .../custom-component/v-query/NumberInput.vue | 95 ++++ .../v-query/QueryConditionConfiguration.vue | 405 +++++++++++++++++- .../custom-component/v-query/StyleInject.vue | 4 + 4 files changed, 524 insertions(+), 23 deletions(-) create mode 100644 core/core-frontend/src/custom-component/v-query/NumberInput.vue diff --git a/core/core-frontend/src/custom-component/v-query/ConditionDefaultConfiguration.vue b/core/core-frontend/src/custom-component/v-query/ConditionDefaultConfiguration.vue index 810cf0c467..2460beb0e3 100644 --- a/core/core-frontend/src/custom-component/v-query/ConditionDefaultConfiguration.vue +++ b/core/core-frontend/src/custom-component/v-query/ConditionDefaultConfiguration.vue @@ -320,6 +320,13 @@ defineExpose({ mult, single }) +const handleInputStart = value => { + curComponent.value.defaultNumValueStart = value.replace(/[^\d.]/g, '') +} + +const handleInputEnd = value => { + curComponent.value.defaultNumValueEnd = value.replace(/[^\d.]/g, '') +} + + + + + 数值 + 最小值 + 最大值 + + + + + diff --git a/core/core-frontend/src/custom-component/v-query/StyleInject.vue b/core/core-frontend/src/custom-component/v-query/StyleInject.vue index e879532c6a..032a5b275a 100644 --- a/core/core-frontend/src/custom-component/v-query/StyleInject.vue +++ b/core/core-frontend/src/custom-component/v-query/StyleInject.vue @@ -3,6 +3,7 @@ import { provide, PropType } from 'vue' import Select from './Select.vue' import Time from './Time.vue' import TextSearch from './TextSearch.vue' +import NumberInput from './NumberInput.vue' import Tree from './Tree.vue' interface SelectConfig { @@ -56,6 +57,9 @@ const filterTypeCom = (displayType: string) => { if (displayType === '8') { return TextSearch } + if (displayType === '22') { + return NumberInput + } return ['1', '7'].includes(displayType) ? Time : displayType === '9' ? Tree : Select } provide('$custom-style-filter', props.customStyle) From 0b312b7b6453d343351df701280eec24a6fd6403 Mon Sep 17 00:00:00 2001 From: dataeaseShu Date: Thu, 17 Oct 2024 11:21:32 +0800 Subject: [PATCH 2/2] =?UTF-8?q?feat(=E6=9F=A5=E8=AF=A2=E7=BB=84=E4=BB=B6):?= =?UTF-8?q?=20=E6=95=B0=E5=80=BC=E5=8C=BA=E9=97=B4=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=E8=AE=BE=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../v-query/QueryConditionConfiguration.vue | 87 +++++++++++-------- core/core-frontend/src/hooks/web/useFilter.ts | 61 +++++++++++++ .../visualized/data/datasource/index.vue | 2 +- 3 files changed, 115 insertions(+), 35 deletions(-) diff --git a/core/core-frontend/src/custom-component/v-query/QueryConditionConfiguration.vue b/core/core-frontend/src/custom-component/v-query/QueryConditionConfiguration.vue index def609dde2..9a2b132ec5 100644 --- a/core/core-frontend/src/custom-component/v-query/QueryConditionConfiguration.vue +++ b/core/core-frontend/src/custom-component/v-query/QueryConditionConfiguration.vue @@ -416,7 +416,7 @@ const setParametersArrNum = (val, componentId) => { curComponent.value.checkedFieldsMap[componentId] = '' curComponent.value.checkedFieldsMapEndNum[componentId] = '' curComponent.value.checkedFieldsMapStartNum[componentId] = '' - curComponent.value.parametersArrNum[componentId] = [] + curComponent.value.parametersArr[componentId] = [] } if (curComponent.value.checkedFieldsMapArrNum[componentId].length) { @@ -628,6 +628,7 @@ const setParametersTimeType = componentId => { .includes(ele.id) && !!ele.variableName ) ) + if (!curComponent.value.parametersArr[componentId].length) return const [v1, v2] = curComponent.value.parametersArr[componentId][0].type curComponent.value.timeGranularityMultiple = typeTimeMap[v2 || v1] ? `${typeTimeMap[v2 || v1]}range` @@ -757,7 +758,14 @@ const setTypeChange = () => { } const isTimeParameter = computed(() => { - return curComponent.value.parameters?.some(ele => ele.deType === 1 && !!ele.variableName) + return curComponent.value.checkedFields.some(ele => { + return curComponent.value.parameters?.some( + itx => + itx.deType === 1 && + !!itx.variableName && + curComponent.value.checkedFieldsMap[ele] === itx.id + ) + }) }) const isNumParameter = computed(() => { @@ -767,25 +775,31 @@ const isNumParameter = computed(() => { }) const notNumRange = computed(() => { - return Object.values(curComponent.value.checkedFieldsMapArrNum || {}).some( - ele => ele?.length !== 0 - ) + return curComponent.value.checkedFields.some(ele => { + return curComponent.value.checkedFieldsMapArrNum[ele]?.length > 0 + }) }) const canNotNumRange = computed(() => { if ( curComponent.value.checkedFields.every(id => { - return curComponent.value.checkedFieldsMapArrNum?.[id]?.length + return curComponent.value.checkedFieldsMapArrNum?.[id]?.length > 0 }) ) { return false } else { - return curComponent.value.parameters?.some(ele => [2, 3].includes(ele.deType)) + return curComponent.value.checkedFields.some(ele => { + return curComponent.value.parameters?.some( + itx => [2, 3].includes(itx.deType) && curComponent.value.checkedFieldsMap[ele] === itx.id + ) + }) } }) const notTimeRange = computed(() => { - return Object.values(curComponent.value.checkedFieldsMapArr || {}).some(ele => ele?.length !== 0) + return curComponent.value.checkedFields.some(ele => { + return curComponent.value.checkedFieldsMapArr[ele]?.length > 0 + }) }) const notTimeRangeType = computed(() => { @@ -2172,6 +2186,7 @@ defineExpose({ curComponent.checkedFieldsMapArr[field.componentId].includes(ele.id) && field.activelist === 'parameterList' " + @click.stop="timeClick(field.componentId, ele)" class="range-time_setting" > {{ @@ -2181,7 +2196,7 @@ defineExpose({ ? '结束时间' : '' }} - + @@ -2201,7 +2216,7 @@ defineExpose({ class="field-select--input" style="margin-left: 12px" popper-class="field-select--dqp" - v-if=" + v-else-if=" curComponent.checkedFields.includes(field.componentId) && curComponent.checkedFieldsMapArrNum && curComponent.checkedFieldsMapArrNum[field.componentId] && @@ -2268,6 +2283,7 @@ defineExpose({ curComponent.checkedFieldsMapArrNum[field.componentId].includes(ele.id) && field.activelist === 'parameterList' " + @click.stop="numClick(field.componentId, ele)" class="range-time_setting" > {{ @@ -2277,7 +2293,7 @@ defineExpose({ ? '最大值' : '' }} - + @@ -2287,7 +2303,6 @@ defineExpose({ {{ isNumParameter ? '数值' : '时间' }} - + @@ -2616,10 +2630,13 @@ defineExpose({