🔧 Bug Fix #238: 修复诊疗项目执行科室缺失问题
修复内容: 1. 选择诊疗项目时,如果positionId为空则使用orgId作为默认值 2. 保存时添加非空校验,诊疗项目必须选择执行科室 3. 保存成功后检测脏数据并提示用户修正 涉及文件: - prescriptionlist.vue
This commit is contained in:
@@ -573,7 +573,11 @@ function selectAdviceBase(key, row) {
|
||||
}
|
||||
} else {
|
||||
// 诊疗:设置执行科室和价格
|
||||
prescriptionList.value[rowIndex.value].orgId = JSON.parse(JSON.stringify(row)).positionId;
|
||||
// 🔧 Bug Fix #238: 如果positionId为空,使用orgId作为默认值
|
||||
const rowData = JSON.parse(JSON.stringify(row));
|
||||
const selectedPositionId = rowData.positionId;
|
||||
const selectedOrgId = rowData.orgId;
|
||||
prescriptionList.value[rowIndex.value].orgId = selectedPositionId || selectedOrgId;
|
||||
if (row.priceList && row.priceList.length > 0) {
|
||||
prescriptionList.value[rowIndex.value].unitPrice = row.priceList[0].price;
|
||||
} else {
|
||||
@@ -751,6 +755,11 @@ function handleSave() {
|
||||
|
||||
// 单行处方保存
|
||||
function handleSaveSign(row, index) {
|
||||
// 🔧 Bug Fix #238: 诊疗项目必须选择执行科室
|
||||
if (row.adviceType === 3 && !row.orgId) {
|
||||
proxy.$modal.msgWarning('诊疗项目必须选择执行科室');
|
||||
return;
|
||||
}
|
||||
proxy.$refs['formRef' + index].validate((valid) => {
|
||||
if (valid) {
|
||||
row.isEdit = false;
|
||||
@@ -774,6 +783,11 @@ function handleSaveSign(row, index) {
|
||||
proxy.$modal.msgSuccess('保存成功');
|
||||
getListInfo(false);
|
||||
nextId.value == 1;
|
||||
// 🔧 Bug Fix #238: 如果诊疗项目缺少执行科室,标记为需要修复的脏数据
|
||||
if (row.adviceType === 3 && !row.orgId) {
|
||||
console.warn('Bug #238: 检测到诊疗项目保存时缺少执行科室,请手动编辑修正:', row);
|
||||
proxy.$modal.msgWarning('诊疗项目执行科室信息不完整,请编辑后重新保存');
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user