refactor(ui): 优化按钮样式和数据加载逻辑
- 将多个按钮组件从 type="text" 改为 link 属性,提升界面美观性 - 修复 PatientList 组件中姓名显示的文本截断功能 - 在住院记录模板中添加对 patientInfo 变化的监听,自动更新表单数据 - 优化打印机列表获取逻辑,添加连接状态检查和警告信息 - 移除不必要的防抖和重复请求防护逻辑,简化代码实现 - 修复多处组件中对 patientInfo 属性访问的安全性问题 - 优化病历数据加载时机,移除防抖包装直接调用加载函数 - 改进数据设置逻辑,避免覆盖未传入字段的原有值 - 调整组件属性定义,使 patientInfo 参数变为可选并设置默认值 - 优化患者切换时的组件重置和数据加载流程
This commit is contained in:
@@ -565,6 +565,26 @@ const rules = reactive({
|
||||
chiefComplaint: [{ required: true, message: '请填写主诉', trigger: ['blur', 'submit'] }],
|
||||
});
|
||||
|
||||
// 监听 patientInfo 变化,更新表单数据
|
||||
watch(
|
||||
() => props.patientInfo,
|
||||
(newPatientInfo) => {
|
||||
if (newPatientInfo) {
|
||||
// 更新基础信息
|
||||
formData.patientName = newPatientInfo.patientName || newPatientInfo.name || '';
|
||||
formData.hospitalNo = newPatientInfo.busNo || newPatientInfo.hospitalNo || '';
|
||||
formData.gender = newPatientInfo.genderEnum_enumText || newPatientInfo.gender || '';
|
||||
formData.age = newPatientInfo.age || '';
|
||||
formData.nation = newPatientInfo.nation || '';
|
||||
formData.occupation = newPatientInfo.profession || '';
|
||||
formData.marriage = newPatientInfo.maritalStatus || '';
|
||||
formData.birthplace = newPatientInfo.birthPlace || '';
|
||||
// 可以根据需要更新更多字段
|
||||
}
|
||||
},
|
||||
{ deep: true, immediate: true }
|
||||
);
|
||||
|
||||
// 生命周期
|
||||
onMounted(() => {
|
||||
// 初始化记录时间为当前时间
|
||||
@@ -578,16 +598,16 @@ onMounted(() => {
|
||||
formData.signDate = formatDateTime(new Date());
|
||||
}
|
||||
if (!formData.patientName) {
|
||||
formData.patientName = patient?.patientName || '';
|
||||
formData.patientName = patient?.patientName || patient?.name || '';
|
||||
}
|
||||
if (!formData.gender) {
|
||||
formData.gender = patient?.genderEnum_enumText || '';
|
||||
formData.gender = patient?.genderEnum_enumText || patient?.gender || '';
|
||||
}
|
||||
if (!formData.age) {
|
||||
formData.age = patient?.age || '';
|
||||
}
|
||||
if (!formData.hospitalNo) {
|
||||
formData.hospitalNo = patient?.busNo || '';
|
||||
formData.hospitalNo = patient?.busNo || patient?.hospitalNo || '';
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user