diff --git a/CHANGELOG.md b/CHANGELOG.md index f4fd6443f1df8a1c4c58d6e0b5dad6e7fd229945..37a46d54455a4c318380c0e5d59e81b739e278a3 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 4e53b354630ef0c5fda6d004dc90934059fd8883..48ff3ed020e251592c19275b4f2f7a3d96c428d8 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 }; };