From 44c8b86109498392d0468bd20c0befb0660e33f3 Mon Sep 17 00:00:00 2001 From: dataeaseShu Date: Tue, 5 Nov 2024 14:16:57 +0800 Subject: [PATCH 1/5] =?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=E8=A7=84=E5=88=99?= =?UTF-8?q?=E7=BC=BA=E5=A4=B1=E4=B8=80=E4=B8=AA=E6=9C=80=E5=A4=A7=E6=88=96?= =?UTF-8?q?=E6=9C=80=E5=B0=8F=E5=80=BC=E5=88=99=E6=8F=90=E7=A4=BA=E5=BC=82?= =?UTF-8?q?=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/custom-component/v-query/Component.vue | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/core/core-frontend/src/custom-component/v-query/Component.vue b/core/core-frontend/src/custom-component/v-query/Component.vue index ba921958b2..904f2ec1cf 100644 --- a/core/core-frontend/src/custom-component/v-query/Component.vue +++ b/core/core-frontend/src/custom-component/v-query/Component.vue @@ -564,6 +564,15 @@ const queryData = () => { requiredName = next.name } } + + if (next.displayType === '22') { + if ( + [next.numValueEnd, next.numValueStart].filter(itx => ![null, undefined, ''].includes(itx)) + .length === 1 + ) { + requiredName = next.name + } + } const keyList = Object.entries(next.checkedFieldsMap) .filter(ele => next.checkedFields.includes(ele[0])) .filter(ele => !!ele[1]) From dbd09d17865d953afb1f772af87e2877afd1b160 Mon Sep 17 00:00:00 2001 From: dataeaseShu Date: Tue, 5 Nov 2024 14:53:08 +0800 Subject: [PATCH 2/5] =?UTF-8?q?fix(=E6=9F=A5=E8=AF=A2=E7=BB=84=E4=BB=B6):?= =?UTF-8?q?=20=E8=BF=87=E6=BB=A4=E7=BB=84=E4=BB=B6=E9=9A=90=E8=97=8F?= =?UTF-8?q?=E6=97=B6=EF=BC=8C=E5=A6=82=E6=9E=9C=E8=AE=BE=E7=BD=AE=E4=BA=86?= =?UTF-8?q?=E9=BB=98=E8=AE=A4=E5=80=BC=EF=BC=8C=E8=BF=87=E6=BB=A4=E7=94=9F?= =?UTF-8?q?=E6=95=88=20=EF=BC=9B=E5=A6=82=E6=9E=9C=E6=B2=A1=E6=9C=89?= =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E9=BB=98=E8=AE=A4=E5=80=BC=EF=BC=8C=E6=B2=A1?= =?UTF-8?q?=E6=9C=89=E8=BF=87=E6=BB=A4=E3=80=82#12714?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../custom-component/v-query/Component.vue | 3 + core/core-frontend/src/hooks/web/useFilter.ts | 419 +++++++++--------- 2 files changed, 210 insertions(+), 212 deletions(-) diff --git a/core/core-frontend/src/custom-component/v-query/Component.vue b/core/core-frontend/src/custom-component/v-query/Component.vue index 904f2ec1cf..b3e55b3445 100644 --- a/core/core-frontend/src/custom-component/v-query/Component.vue +++ b/core/core-frontend/src/custom-component/v-query/Component.vue @@ -488,6 +488,9 @@ const clearData = () => { }) }) ;(list.value || []).reduce((pre, next) => { + if (!next.visible) { + return pre + } next.selectValue = next.multiple || +next.displayType === 7 ? [] : undefined if (next.optionValueSource === 1 && next.defaultMapValue?.length) { next.mapValue = next.multiple ? [] : undefined diff --git a/core/core-frontend/src/hooks/web/useFilter.ts b/core/core-frontend/src/hooks/web/useFilter.ts index a28ea36026..aeaf781ffd 100644 --- a/core/core-frontend/src/hooks/web/useFilter.ts +++ b/core/core-frontend/src/hooks/web/useFilter.ts @@ -246,242 +246,237 @@ const duplicateRemoval = arr => { export const searchQuery = (queryComponentList, filter, curComponentId, firstLoad) => { queryComponentList.forEach(ele => { if (!!ele.propValue?.length) { - ele.propValue - .filter(itx => itx.visible) - .forEach(item => { + ele.propValue.forEach(item => { + if (item.checkedFields.includes(curComponentId) && item.checkedFieldsMap[curComponentId]) { + let selectValue + const { + selectValue: value, + timeGranularityMultiple, + defaultNumValueEnd, + numValueEnd, + numValueStart, + defaultNumValueStart, + conditionType = 0, + treeFieldList = [], + defaultConditionValueOperatorF = 'eq', + defaultConditionValueF = '', + defaultConditionValueOperatorS = 'like', + defaultConditionValueS = '', + conditionValueOperatorF = 'eq', + conditionValueF = '', + conditionValueOperatorS = 'like', + conditionValueS = '', + defaultValueCheck, + timeType = 'fixed', + defaultValue, + optionValueSource, + defaultMapValue, + mapValue, + parameters = [], + timeGranularity = 'date', + displayType, + displayId, + multiple + } = item + + const isTree = +displayType === 9 + if ( - item.checkedFields.includes(curComponentId) && - item.checkedFieldsMap[curComponentId] + timeType === 'dynamic' && + [1, 7].includes(+displayType) && + firstLoad && + defaultValueCheck ) { - let selectValue - const { - selectValue: value, - timeGranularityMultiple, + if (+displayType === 1) { + selectValue = getDynamicRange(item) + item.defaultValue = new Date(selectValue[0]) + item.selectValue = new Date(selectValue[0]) + } else { + const { + timeNum, + relativeToCurrentType, + around, + relativeToCurrentRange, + arbitraryTime, + timeGranularity, + timeNumRange, + relativeToCurrentTypeRange, + aroundRange, + timeGranularityMultiple, + arbitraryTimeRange + } = item + + let startTime = getCustomTime( + timeNum, + relativeToCurrentType, + timeGranularity, + around, + arbitraryTime, + timeGranularityMultiple, + 'start-panel' + ) + let endTime = getCustomTime( + timeNumRange, + relativeToCurrentTypeRange, + timeGranularity, + aroundRange, + arbitraryTimeRange, + timeGranularityMultiple, + 'end-panel' + ) + + if (!!relativeToCurrentRange && relativeToCurrentRange !== 'custom') { + ;[startTime, endTime] = getCustomRange(relativeToCurrentRange) + } + item.defaultValue = [startTime, endTime] + item.selectValue = [startTime, endTime] + selectValue = [startTime, endTime] + } + } else if (displayType === '8') { + selectValue = getResult( + conditionType, + defaultConditionValueF, + defaultConditionValueS, + conditionValueF, + conditionValueS, + firstLoad + ) + } else if (displayType === '22') { + selectValue = getResultNum( defaultNumValueEnd, numValueEnd, numValueStart, defaultNumValueStart, - conditionType = 0, - treeFieldList = [], - defaultConditionValueOperatorF = 'eq', - defaultConditionValueF = '', - defaultConditionValueOperatorS = 'like', - defaultConditionValueS = '', - conditionValueOperatorF = 'eq', - conditionValueF = '', - conditionValueOperatorS = 'like', - conditionValueS = '', + firstLoad + ) + } else { + selectValue = getValueByDefaultValueCheckOrFirstLoad( defaultValueCheck, - timeType = 'fixed', defaultValue, - optionValueSource, + value, + firstLoad, + multiple, defaultMapValue, + optionValueSource, mapValue, - parameters = [], - timeGranularity = 'date', displayType, - displayId, - multiple - } = item + displayId + ) + } + if ( + !!selectValue?.length || + ['[object Number]', '[object Date]'].includes( + Object.prototype.toString.call(selectValue) + ) || + displayType === '8' + ) { + let result = forMatterValue( + +displayType, + selectValue, + timeGranularity, + timeGranularityMultiple + ) + const operator = getOperator( + displayType, + multiple, + conditionType, + defaultConditionValueOperatorF, + defaultConditionValueF, + defaultConditionValueOperatorS, + defaultConditionValueS, + conditionValueOperatorF, + conditionValueF, + conditionValueOperatorS, + conditionValueS, + firstLoad + ) + if (result?.length) { + const fieldId = isTree + ? getFieldId(treeFieldList, result) + : item.checkedFieldsMap[curComponentId] + let parametersFilter = duplicateRemoval( + parameters.reduce((pre, next) => { + if (next.id === fieldId && !pre.length) { + pre.push(next) + } + return pre + }, []) + ) - const isTree = +displayType === 9 - - if ( - timeType === 'dynamic' && - [1, 7].includes(+displayType) && - firstLoad && - defaultValueCheck - ) { - if (+displayType === 1) { - selectValue = getDynamicRange(item) - item.defaultValue = new Date(selectValue[0]) - item.selectValue = new Date(selectValue[0]) - } else { - const { - timeNum, - relativeToCurrentType, - around, - relativeToCurrentRange, - arbitraryTime, - timeGranularity, - timeNumRange, - relativeToCurrentTypeRange, - aroundRange, - timeGranularityMultiple, - arbitraryTimeRange - } = item - - let startTime = getCustomTime( - timeNum, - relativeToCurrentType, - timeGranularity, - around, - arbitraryTime, - timeGranularityMultiple, - 'start-panel' + if (item.checkedFieldsMapArr?.[curComponentId]?.length) { + const endTimeFieldId = item.checkedFieldsMapArr?.[curComponentId].find( + element => element !== fieldId ) - let endTime = getCustomTime( - timeNumRange, - relativeToCurrentTypeRange, - timeGranularity, - aroundRange, - arbitraryTimeRange, - timeGranularityMultiple, - 'end-panel' + const resultEnd = Array(2).fill( + endTimeFieldId === item.checkedFieldsMapEnd[curComponentId] + ? result[1] + : result[0] + ) + result = Array(2).fill( + endTimeFieldId === item.checkedFieldsMapEnd[curComponentId] + ? result[0] + : result[1] + ) + parametersFilter = duplicateRemoval( + item.parametersArr[curComponentId].filter(e => e.id === fieldId) ) - if (!!relativeToCurrentRange && relativeToCurrentRange !== 'custom') { - ;[startTime, endTime] = getCustomRange(relativeToCurrentRange) - } - item.defaultValue = [startTime, endTime] - item.selectValue = [startTime, endTime] - selectValue = [startTime, endTime] - } - } else if (displayType === '8') { - selectValue = getResult( - conditionType, - defaultConditionValueF, - defaultConditionValueS, - conditionValueF, - conditionValueS, - firstLoad - ) - } else if (displayType === '22') { - selectValue = getResultNum( - defaultNumValueEnd, - numValueEnd, - numValueStart, - defaultNumValueStart, - firstLoad - ) - } else { - selectValue = getValueByDefaultValueCheckOrFirstLoad( - defaultValueCheck, - defaultValue, - value, - firstLoad, - multiple, - defaultMapValue, - optionValueSource, - mapValue, - displayType, - displayId - ) - } - if ( - !!selectValue?.length || - ['[object Number]', '[object Date]'].includes( - Object.prototype.toString.call(selectValue) - ) || - displayType === '8' - ) { - let result = forMatterValue( - +displayType, - selectValue, - timeGranularity, - timeGranularityMultiple - ) - const operator = getOperator( - displayType, - multiple, - conditionType, - defaultConditionValueOperatorF, - defaultConditionValueF, - defaultConditionValueOperatorS, - defaultConditionValueS, - conditionValueOperatorF, - conditionValueF, - conditionValueOperatorS, - conditionValueS, - firstLoad - ) - if (result?.length) { - const fieldId = isTree - ? getFieldId(treeFieldList, result) - : item.checkedFieldsMap[curComponentId] - let parametersFilter = duplicateRemoval( - parameters.reduce((pre, next) => { - if (next.id === fieldId && !pre.length) { - pre.push(next) - } - return pre - }, []) + const parametersFilterEnd = duplicateRemoval( + item.parametersArr[curComponentId].filter(e => e.id === endTimeFieldId) ) - - if (item.checkedFieldsMapArr?.[curComponentId]?.length) { - const endTimeFieldId = item.checkedFieldsMapArr?.[curComponentId].find( - element => element !== fieldId - ) - const resultEnd = Array(2).fill( - endTimeFieldId === item.checkedFieldsMapEnd[curComponentId] - ? result[1] - : result[0] - ) - result = Array(2).fill( - endTimeFieldId === item.checkedFieldsMapEnd[curComponentId] - ? result[0] - : result[1] - ) - parametersFilter = duplicateRemoval( - item.parametersArr[curComponentId].filter(e => e.id === fieldId) - ) - - const parametersFilterEnd = duplicateRemoval( - item.parametersArr[curComponentId].filter(e => e.id === endTimeFieldId) - ) - filter.push({ - componentId: ele.id, - fieldId: endTimeFieldId, - operator, - value: resultEnd, - parameters: parametersFilterEnd, - isTree - }) - } - - if (item.checkedFieldsMapArrNum?.[curComponentId]?.length) { - const endTimeFieldId = item.checkedFieldsMapArrNum?.[curComponentId].find( - element => element !== fieldId - ) - const resultEnd = Array(2).fill( - endTimeFieldId === item.checkedFieldsMapEndNum[curComponentId] - ? result[1] - : result[0] - ) - result = Array(2).fill( - endTimeFieldId === item.checkedFieldsMapEndNum[curComponentId] - ? result[0] - : result[1] - ) - parametersFilter = duplicateRemoval( - item.parametersArr[curComponentId].filter(e => e.id === fieldId) - ) - - const parametersFilterEnd = duplicateRemoval( - item.parametersArr[curComponentId].filter(e => e.id === endTimeFieldId) - ) - filter.push({ - componentId: ele.id, - fieldId: endTimeFieldId, - operator, - value: resultEnd, - parameters: parametersFilterEnd, - isTree - }) - } - filter.push({ componentId: ele.id, - fieldId, + fieldId: endTimeFieldId, operator, - value: result, - parameters: parametersFilter, + value: resultEnd, + parameters: parametersFilterEnd, isTree }) } + + if (item.checkedFieldsMapArrNum?.[curComponentId]?.length) { + const endTimeFieldId = item.checkedFieldsMapArrNum?.[curComponentId].find( + element => element !== fieldId + ) + const resultEnd = Array(2).fill( + endTimeFieldId === item.checkedFieldsMapEndNum[curComponentId] + ? result[1] + : result[0] + ) + result = Array(2).fill( + endTimeFieldId === item.checkedFieldsMapEndNum[curComponentId] + ? result[0] + : result[1] + ) + parametersFilter = duplicateRemoval( + item.parametersArr[curComponentId].filter(e => e.id === fieldId) + ) + + const parametersFilterEnd = duplicateRemoval( + item.parametersArr[curComponentId].filter(e => e.id === endTimeFieldId) + ) + filter.push({ + componentId: ele.id, + fieldId: endTimeFieldId, + operator, + value: resultEnd, + parameters: parametersFilterEnd, + isTree + }) + } + + filter.push({ + componentId: ele.id, + fieldId, + operator, + value: result, + parameters: parametersFilter, + isTree + }) } } - }) + } + }) } }) } From 0a1e445abdd112fe72ae4410cd6e2e0b676a812f Mon Sep 17 00:00:00 2001 From: dataeaseShu Date: Tue, 5 Nov 2024 15:00:48 +0800 Subject: [PATCH 3/5] =?UTF-8?q?fix(=E4=BB=AA=E8=A1=A8=E6=9D=BF):=20?= =?UTF-8?q?=E8=B0=83=E6=95=B4=E7=A7=BB=E5=8A=A8=E7=AB=AF=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E4=B8=AD=E6=95=B4=E4=BD=93=E6=A0=B7=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/views/dashboard/MobileBackgroundSelector.vue | 1 + 1 file changed, 1 insertion(+) diff --git a/core/core-frontend/src/views/dashboard/MobileBackgroundSelector.vue b/core/core-frontend/src/views/dashboard/MobileBackgroundSelector.vue index cbc344457d..beb6eb16ab 100644 --- a/core/core-frontend/src/views/dashboard/MobileBackgroundSelector.vue +++ b/core/core-frontend/src/views/dashboard/MobileBackgroundSelector.vue @@ -228,6 +228,7 @@ watch(