From d00b5b2badea20242b2e7b827f85f3befeccd760 Mon Sep 17 00:00:00 2001 From: liuyuanjin <1107290929@qq.com> Date: Mon, 27 Jul 2026 13:16:49 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=AF=BC=E5=85=A5=E6=97=B6=E8=AF=B7=E6=B1=82=E5=8F=82=E6=95=B0?= =?UTF-8?q?=20filter=20=E5=BC=82=E5=B8=B8=E5=AF=BC=E8=87=B4=E5=8C=B9?= =?UTF-8?q?=E9=85=8D=E4=B8=8D=E5=87=86=E7=A1=AE=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/executor/tools/uploadTemplate.tsx | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/src/executor/tools/uploadTemplate.tsx b/src/executor/tools/uploadTemplate.tsx index 9be9f2b12..9223905e0 100644 --- a/src/executor/tools/uploadTemplate.tsx +++ b/src/executor/tools/uploadTemplate.tsx @@ -26,7 +26,6 @@ import React, { useEffect, useRef, useState } from 'react'; import _ from 'lodash'; import { setDefaultFields, setDefaultField } from '@/utils/work'; import { Form } from '@/ts/core/thing/standard/form'; -import { mergeConditions } from '../design/dataAnalysisModal/utils'; /** * 上传业务导入模板 @@ -615,26 +614,36 @@ export const matching = ( const metaForm = new Form(form, belong.directory); const assetNumberField = fieldsData.find((i) => i.name === form.matchImport || ''); const assetNumberCodes = data.map((item) => item[assetNumberField?.code!]); - let conditionsValues: any = []; + let conditionsValues: any; const classifyExp = tryParseJson(form.options?.dataRange?.classifyExp); const filterExpStr = form.options?.dataRange?.filterExp; const authExpStr = form.options?.dataRange?.authExp; + + const combineCondition = (newCond: any) => { + if (!newCond || (Array.isArray(newCond) && newCond.length === 0)) return; + if (!conditionsValues) { + conditionsValues = _.cloneDeep(newCond); + } else if (Array.isArray(conditionsValues)) { + if (conditionsValues.length && Array.isArray(conditionsValues[0])) { + conditionsValues.push('and', ..._.cloneDeep(newCond)); + } else { + conditionsValues = [conditionsValues, 'and', ..._.cloneDeep(newCond)]; + } + } + }; + if (filterExpStr) { const filterExp = typeof filterExpStr === 'string' ? JSON.parse(filterExpStr) : filterExpStr; - - conditionsValues = conditionsValues - ? mergeConditions(filterExp, conditionsValues) - : filterExp; + combineCondition(filterExp); } if (authExpStr) { const authExpResult = metaForm.parseAuthExp(authExpStr); const authExp = typeof authExpResult === 'string' ? JSON.parse(authExpResult) : authExpResult; - conditionsValues = conditionsValues - ? mergeConditions(authExp, conditionsValues) - : authExp; + combineCondition(authExp); } + let resultData: schema.XForm[] = []; const loadOptions: any = {}; loadOptions.userData = []; -- Gitee