diff --git a/src/views/bg/xispeak/components/BgXiSpeakForm.vue b/src/views/bg/xispeak/components/BgXiSpeakForm.vue index 5637de1..4eefbc1 100644 --- a/src/views/bg/xispeak/components/BgXiSpeakForm.vue +++ b/src/views/bg/xispeak/components/BgXiSpeakForm.vue @@ -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]; } });