fix(BUG-179): 修复入科选床入院体征数据未保存问题
问题描述: - 入科选床弹窗中填写的入院体征数据(身高、体重、体温等)未保存到数据库 - 重新打开弹窗时数据未显示 根因分析: 1. 前端提交时过滤空字符串,导致空值的体征字段未被提交 2. 后端保存时只保存非空值,且未清除已有数据,导致旧数据残留 修复方案: 1. 前端: transferInDialog.vue - 体征字段(height, weight等)即使为空字符串也要提交 2. 后端: ATDManageAppServiceImpl.java - 保存前先删除已有体征记录,再保存新数据 测试建议: - 测试填写完整体征数据后保存并重新打开 - 测试清空部分体征字段后保存并重新打开 - 测试修改已有体征数据后保存 Closes BUG-179
This commit is contained in:
@@ -571,7 +571,13 @@ const handleSubmit = async () => {
|
||||
Object.keys(interventionForm.value).forEach(key => {
|
||||
const value = interventionForm.value[key];
|
||||
// 保留非空的值(0、false等有效值也需要保留)
|
||||
if (value !== '' && value !== null && value !== undefined) {
|
||||
// 特别注意:体征字段(height, weight等)即使为空字符串也要提交,用于清除已有数据
|
||||
const vitalSignFields = ['height', 'weight', 'temperature', 'hertRate', 'pulse', 'endBloodPressure', 'highBloodPressure'];
|
||||
if (vitalSignFields.includes(key)) {
|
||||
// 体征字段:提交所有值,包括空字符串(用于清除数据)
|
||||
formData[key] = value === undefined ? '' : value;
|
||||
} else if (value !== '' && value !== null && value !== undefined) {
|
||||
// 其他字段:只保留非空值
|
||||
formData[key] = value;
|
||||
}
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user