From 4e95202e324022281d3d8d8d4ac7961e868879e8 Mon Sep 17 00:00:00 2001 From: ShineKOT <1917095344@qq.com> Date: Fri, 23 May 2025 12:00:20 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E7=BA=A7=E8=81=94?= =?UTF-8?q?=E9=80=89=E6=8B=A9=E7=BC=96=E8=BE=91=E5=99=A8=E5=AD=90=E7=BA=A7?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E6=9F=A5=E8=AF=A2=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 4 +++ .../cascader/ibiz-cascader/ibiz-cascader.tsx | 27 ++++++++++++------- 2 files changed, 21 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f4fd6443..37a46d54 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,10 @@ - 表格新增tab切换换行能力 - 新增表格列附件查看 +### Fixed + +- 修复级联选择编辑器子级数据查询异常 + ## [0.7.40-alpha.19] - 2025-05-20 ### Added diff --git a/src/editor/cascader/ibiz-cascader/ibiz-cascader.tsx b/src/editor/cascader/ibiz-cascader/ibiz-cascader.tsx index 4e53b354..48ff3ed0 100644 --- a/src/editor/cascader/ibiz-cascader/ibiz-cascader.tsx +++ b/src/editor/cascader/ibiz-cascader/ibiz-cascader.tsx @@ -5,7 +5,6 @@ import { getCascaderProps, } from '@ibiz-template/vue3-util'; import { clone } from 'ramda'; -import { calcDeCodeNameById } from '@ibiz-template/runtime'; import { CascaderEditorController } from '../cascader-editor.controller'; import './ibiz-cascader.scss'; @@ -230,18 +229,26 @@ export const IBizCascader = defineComponent({ const handleQueryParams = async (index: number, value: string) => { const context = clone(c.context); const params = clone(c.params); + // 如果上级和下级具有父子关系,则根据关系字段添加查询参数 if (index > 0) { - const valueItem = valueItems.value[index - 1]; - Object.assign(context, { - [calcDeCodeNameById(valueItem.appDataEntityId)]: value, - }); + const { appDataEntityId: parentAppDataEntityId } = + valueItems.value[index - 1]; + const { appId, appDataEntityId: childAppDataEntityId } = + valueItems.value[index]; const appDataEntity = await ibiz.hub.getAppDataEntity( - valueItem.appDataEntityId, - valueItem.appId, + childAppDataEntityId, + appId, )!; - Object.assign(params, { - [`n_${appDataEntity.keyAppDEFieldId!.toLowerCase()}_eq`]: value, - }); + const { minorAppDERSs } = appDataEntity; + if (minorAppDERSs) { + const appDeRSs = minorAppDERSs.find( + DERSs => DERSs.majorAppDataEntityId === parentAppDataEntityId, + ); + if (appDeRSs && appDeRSs.parentAppDEFieldId) + Object.assign(params, { + [`n_${appDeRSs.parentAppDEFieldId!.toLowerCase()}_eq`]: value, + }); + } } return { context, params }; }; -- Gitee