Merge remote-tracking branch 'origin/develop' into zhaoyun

This commit is contained in:
2026-06-17 16:48:55 +08:00

View File

@@ -397,7 +397,7 @@ import {deleteTcmDiagnosis} from '@/views/doctorstation/components/api.js';
import diagnosisdialog from '../diagnosis/diagnosisdialog.vue';
import AddDiagnosisDialog from './addDiagnosisDialog.vue';
import diagnosislist from '../diagnosis/diagnosislist.vue';
import {patientInfo} from '../../store/patient.js';
import {ElMessage} from 'element-plus';
// const diagnosisList = ref([]);
const allowAdd = ref(false);
@@ -472,6 +472,7 @@ function getDetail(encounterId) {
if (res.code === 200) {
allowAdd.value = res.data ? true : false;
console.log('设置 allowAdd =', allowAdd.value, ', 病历数据:', res.data);
} else {
allowAdd.value = false;
console.warn('获取病历详情失败:', res.msg);
}
@@ -710,14 +711,40 @@ function getTree() {
function handleAddDiagnosis() {
console.log('点击新增诊断按钮allowAdd:', allowAdd.value);
// 检查是否有未填写的空行(名称为空的行),防止不保存一直新增
const hasEmptyRow = form.value.diagnosisList.some(item => !item.name);
if (hasEmptyRow) {
proxy.$modal.msgWarning('请先完善已有的诊断信息后再新增');
// 检查当前列表是否有未保存的诊断,阻止重复新增
const hasUnsaved = (form.value.diagnosisList || []).some(
(item) => !item.conditionId && !item.encounterDiagnosisId
);
if (hasUnsaved) {
proxy.$modal.msgWarning('请保存当前诊断');
return;
}
addDiagnosisItem();
// 检查表单ref是否存在
if (!proxy.$refs.formRef) {
console.error('表单ref不存在');
// 直接添加诊断,不经过表单验证
addDiagnosisItem();
return;
}
proxy.$refs.formRef.validate((valid, fields) => {
console.log('表单验证结果:', valid, '错误字段:', fields);
if (valid) {
if (!allowAdd.value) {
proxy.$modal.msgWarning('请先填写病历');
return;
}
addDiagnosisItem();
} else {
console.warn('表单验证失败:', fields);
// 验证失败时也允许添加(因为是新增空行)
if (allowAdd.value) {
console.log('验证失败但允许添加,强制添加诊断');
addDiagnosisItem();
}
}
});
}
/**