refactor(xispeak): 编辑按钮不再加载全量树数据

将 loadTreeData 从 edit() 移至 add(),仅新增流程时需要树数据计算展开路径。

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
wsm
2026-05-25 14:47:39 +08:00
co-authored by Claude Opus 4.6
parent 463504f691
commit 65f6daa4f7
@@ -286,7 +286,8 @@
return false;
});
function add(obj = {}) {
async function add(obj = {}) {
treeData.value = await loadTreeData({ async: false, pcode: '' });
edit(obj);
}
@@ -294,12 +295,22 @@
nextTick(async () => {
resetFields();
expandedRowKeys.value = [];
treeData.value = await loadTreeData({ async: false, pcode: '' });
// 非BPM模式且有ID时,从API查询完整数据,避免列表行数据不完整导致字段不显示
let data = record;
if (record.id && !props.formBpm) {
try {
const res = await defHttp.get({ url: queryByIdUrl, params: { id: record.id } });
data = res || record;
} catch {
data = record;
}
}
const tmpData = {};
Object.keys(formData).forEach((key) => {
if (record.hasOwnProperty(key)) {
tmpData[key] = record[key] === null ? (key === 'needSdwApproval' ? 0 : '') : record[key];
if (data.hasOwnProperty(key)) {
tmpData[key] = data[key] === null ? (key === 'needSdwApproval' ? 0 : '') : data[key];
}
});