fix(#783): zhaoyun (文件合入)

This commit is contained in:
2026-06-17 18:03:51 +08:00
committed by 华佗
parent a380ad93d9
commit dbb4504be9
3 changed files with 104 additions and 85 deletions

View File

@@ -1,7 +1,7 @@
# HealthLink-HIS 代码模块索引
> 供 LLM 快速定位代码。每个模块列出 Controller → Service → Mapper 关键文件。
> 最后更新: 2026-06-17 12:00 (301 个 Controller)
> 最后更新: 2026-06-17 18:00 (309 个 Controller)
## 关键词 → 模块速查

View File

@@ -611,7 +611,22 @@ function handleImport() {
if (!props.patientInfo || !props.patientInfo.encounterId) {
return;
}
// 检查是否已填写病历
if (!allowAdd.value) {
proxy.$modal.msgWarning('请先填写病历');
return;
}
// 检查当前列表是否有未保存的诊断,阻止重复新增
const hasUnsaved = (form.value.diagnosisList || []).some(
(item) => !item.conditionId && !item.encounterDiagnosisId
);
if (hasUnsaved) {
proxy.$modal.msgWarning('请保存当前诊断');
return;
}
if (props.patientInfo.contractName != '自费') {
// 获取患者慢性病信息
getChronicDisease({ encounterId: props.patientInfo.encounterId }).then((res) => {
@@ -711,6 +726,12 @@ function getTree() {
function handleAddDiagnosis() {
console.log('点击新增诊断按钮allowAdd:', allowAdd.value);
// 检查是否已填写病历(必须先于其他检查)
if (!allowAdd.value) {
proxy.$modal.msgWarning('请先填写病历');
return;
}
// 检查当前列表是否已有未保存的诊断,阻止重复新增
const hasUnsaved = (form.value.diagnosisList || []).some(
(item) => !item.conditionId && !item.encounterDiagnosisId
@@ -730,20 +751,7 @@ function handleAddDiagnosis() {
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();
}
}
addDiagnosisItem();
});
}
@@ -1094,10 +1102,22 @@ function handleNodeClick(data) {
// 如果是根节点,不执行任何操作
return;
}
// if (!allowAdd.value) {
// proxy.$modal.msgWarning('请先填写病历');
// return;
// }
// 检查是否已填写病历
if (!allowAdd.value) {
proxy.$modal.msgWarning('请先填写病历');
return;
}
// 检查当前列表是否有未保存的诊断,阻止重复新增
const hasUnsaved = (form.value.diagnosisList || []).some(
(item) => !item.conditionId && !item.encounterDiagnosisId
);
if (hasUnsaved) {
proxy.$modal.msgWarning('请保存当前诊断');
return;
}
const isDuplicate = form.value.diagnosisList.some(
(diagnosis) => diagnosis.ybNo === data.ybNo || diagnosis.name === data.name
);

View File

@@ -15,6 +15,7 @@
<el-radio-group
v-model="type"
@change="handleRadioChange"
>
<el-radio :value="0">
全部
</el-radio>
@@ -33,9 +34,12 @@
value-format="YYYY-MM-DD HH:mm:ss"
style="width: 200px"
/>
<el-button
plain
@click="handleGetPrescription"
>
查询
</el-button>
</div>
<div style="flex: 1; min-width: 0;" />
<div style="display: flex; align-items: center; gap: 12px; flex-shrink: 1; min-width: 0;">
@@ -47,11 +51,37 @@
v-model="chooseAll"
@change="handelSwitchChange"
/>
type="primary"
>
<el-button
>
</el-button>
<!-- 未校对tab显示核对通过/退回 -->
<template v-if="activeTab === 'unverified'">
<el-button
type="primary"
@click="handleCheck"
>
核对通过
</el-button>
<el-button
type="danger"
:disabled="hasDispensedSelected"
@click="handleCancel"
>
退回
</el-button>
</template>
<!-- 已校对tab显示执行/不执行 -->
<template v-else-if="activeTab === 'verified'">
<el-button
type="success"
@click="handleExecute"
>
执行
</el-button>
<el-button
type="warning"
@click="handleVoid"
>
不执行
</el-button>
</template>
</div>
</div>
<div
@@ -667,6 +697,11 @@ function getSelectRows() {
requestId: item.requestId,
requestTable: item.adviceTable,
dispenseStatus: item.dispenseStatus,
encounterId: item.encounterId,
patientId: item.patientId,
accountId: item.accountId,
therapyEnum: item.therapyEnum,
exePerformRecordList: item.exePerformRecordList,
};
});
}
@@ -710,66 +745,6 @@ function getDateRange(startDate, endDate) {
// 处理后端返回的时间集合
function handleTime() {}
defineExpose({
handleGetPrescription,
});
</script>
<style scoped>
.el-collapse-icon-position-left :deep(.el-collapse-item__header) {
padding: 10px;
}
:deep(.el-collapse-item__wrap) {
padding: 10px;
}
/* 表头背景色 */
:deep(.prescription-table .vxe-table--header th) {
background-color: #eef9fd !important;
}
:deep(.vxe-body--row:hover > td) {
background-color: #eef9fd !important;
}
</style>
<!-- 未校对tab显示核对通过/退回 -->
<template v-if="activeTab === 'unverified'">
<el-button
type="primary"
@click="handleCheck"
>
核对通过
</el-button>
<el-button
type="danger"
:disabled="hasDispensedSelected"
@click="handleCancel"
>
退回
</el-button>
</template>
<!-- 已校对tab显示执行/不执行 -->
<template v-else-if="activeTab === 'verified'">
<el-button
type="success"
@click="handleExecute"
>
执行
</el-button>
<el-button
type="warning"
@click="handleVoid"
>
不执行
</el-button>
</template>
encounterId: item.encounterId,
patientId: item.patientId,
accountId: item.accountId,
therapyEnum: item.therapyEnum,
exePerformRecordList: item.exePerformRecordList,
/**
* 执行医嘱
*/
@@ -853,3 +828,27 @@ function handleVoid() {
}
});
}
defineExpose({
handleGetPrescription,
});
</script>
<style scoped>
.el-collapse-icon-position-left :deep(.el-collapse-item__header) {
padding: 10px;
}
:deep(.el-collapse-item__wrap) {
padding: 10px;
}
/* 表头背景色 */
:deep(.prescription-table .vxe-table--header th) {
background-color: #eef9fd !important;
}
:deep(.vxe-body--row:hover > td) {
background-color: #eef9fd !important;
}
</style>