From e25e0cc8d663d4387556364af8559dab6b8bb0f3 Mon Sep 17 00:00:00 2001 From: ShineKOT <1917095344@qq.com> Date: Thu, 14 Aug 2025 13:43:41 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E9=80=89=E6=8B=A9=E7=BC=96=E8=BE=91=E5=99=A8=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=9B=9E=E6=98=BE=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 1 + .../data-picker/ibiz-picker/ibiz-picker.tsx | 30 +++++++++++++++++-- 2 files changed, 28 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 60773bcc..8ce8f1c5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -33,6 +33,7 @@ - 修复计数器数据大于99后样式显示异常 - 修复树表格增强操作列未对齐异常 - 修复表单重复器-表格拖拽排序异常 +- 修复数据选择编辑器数据回显异常 ### Changed diff --git a/src/editor/data-picker/ibiz-picker/ibiz-picker.tsx b/src/editor/data-picker/ibiz-picker/ibiz-picker.tsx index 30f21f05..4de4a6fa 100644 --- a/src/editor/data-picker/ibiz-picker/ibiz-picker.tsx +++ b/src/editor/data-picker/ibiz-picker/ibiz-picker.tsx @@ -129,6 +129,7 @@ export const IBizPicker = defineComponent({ [c.keyName]: data[c.keyName] ? data[c.keyName] : data.srfkey, [c.textName]: data[c.textName] ? data[c.textName] : data.srfmajortext, }); + if (c.valueItem) { emit('change', data[c.keyName], c.valueItem); } @@ -141,14 +142,37 @@ export const IBizPicker = defineComponent({ setEditable(false); }; + /** + * @description 计算选中项数据 + * @returns {*} {IData[]} + */ + const calcSelectItem = (): IData[] => { + const selectItems: IData[] = []; + if (curValue.value) { + const selectItem = { + srfkey: props.data[c.valueItem], + srfmajortext: curValue.value, + ...(c.model.valueType === 'OBJECT' && c.objectValueField + ? props.value[c.objectValueField] + : {}), + }; + if (c.deACMode && c.dataItems.length) + c.dataItems.forEach((item: IData) => + Object.assign(selectItem, { + [item.appDEFieldId]: props.data[item.id], + }), + ); + selectItems.push(selectItem); + } + return selectItems; + }; + // 打开数据选择视图 const openPickUpView = async (e: MouseEvent) => { e.stopPropagation(); - const selectItem: IData[] = []; - if (curValue.value) selectItem.push({ srfkey: props.data[c.valueItem] }); const res = await c.openPickUpView( props.data, - JSON.stringify(selectItem), + JSON.stringify(calcSelectItem()), ); if (res && res[0]) { await handleDataSelect(res[0]); -- Gitee