同一患者保存病历后判断逻辑问题
This commit is contained in:
@@ -313,16 +313,6 @@ function checkPatientHistory(patient) {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// // 如果当前就诊已经有明确的初复诊标识,则使用该标识
|
|
||||||
// if (patient.visitType) {
|
|
||||||
// visitType.value = patient.visitType;
|
|
||||||
// // 如果是已完诊的记录,禁用修改
|
|
||||||
// if (patient.statusEnum && patient.statusEnum !== 2) { // 假设2是就诊中状态
|
|
||||||
// visitTypeDisabled.value = true;
|
|
||||||
// }
|
|
||||||
// return;
|
|
||||||
// }
|
|
||||||
|
|
||||||
// 查询患者历史就诊记录
|
// 查询患者历史就诊记录
|
||||||
const params = {
|
const params = {
|
||||||
patientId: patient.patientId,
|
patientId: patient.patientId,
|
||||||
@@ -332,14 +322,17 @@ function checkPatientHistory(patient) {
|
|||||||
getEmrHistoryList(params).then(res => {
|
getEmrHistoryList(params).then(res => {
|
||||||
if (res.code === 200) {
|
if (res.code === 200) {
|
||||||
const records = res.data?.records || [];
|
const records = res.data?.records || [];
|
||||||
// 如果有历史记录,则为复诊
|
// 过滤掉当前正在进行的就诊记录(排除相同encounterId的记录)
|
||||||
if (res.data && res.data.total > 0) {
|
const historyRecords = records.filter(record => record.encounterId !== patient.encounterId);
|
||||||
|
|
||||||
|
// 如果有历史记录(排除当前就诊),则为复诊
|
||||||
|
if (historyRecords.length > 0) {
|
||||||
visitType.value = 'FOLLOW_UP';
|
visitType.value = 'FOLLOW_UP';
|
||||||
// 计算最早一次病历创建时间作为初诊日期
|
// 计算最早一次病历创建时间作为初诊日期
|
||||||
const earliest = records.reduce((min, cur) => {
|
const earliest = historyRecords.reduce((min, cur) => {
|
||||||
const ct = new Date(cur.createTime).getTime();
|
const ct = new Date(cur.createTime).getTime();
|
||||||
return ct < min ? ct : min;
|
return ct < min ? ct : min;
|
||||||
}, new Date(records[0].createTime).getTime());
|
}, new Date(historyRecords[0].createTime).getTime());
|
||||||
// 使用统一格式化
|
// 使用统一格式化
|
||||||
firstVisitDate.value = formatDate(earliest);
|
firstVisitDate.value = formatDate(earliest);
|
||||||
} else {
|
} else {
|
||||||
@@ -429,9 +422,9 @@ function handleCardClick(item, index) {
|
|||||||
// 已完诊的记录禁用修改
|
// 已完诊的记录禁用修改
|
||||||
visitTypeDisabled.value = item.statusEnum !== 2;
|
visitTypeDisabled.value = item.statusEnum !== 2;
|
||||||
// 如果有初诊日期也从数据库获取
|
// 如果有初诊日期也从数据库获取
|
||||||
if (item.firstVisitDate) {
|
// if (item.firstVisitDate) {
|
||||||
firstVisitDate.value = item.firstVisitDate;
|
// firstVisitDate.value = item.firstVisitDate;
|
||||||
}
|
// }
|
||||||
} else {
|
} else {
|
||||||
// 对于没有初复诊记录的患者,才使用原有的判断逻辑
|
// 对于没有初复诊记录的患者,才使用原有的判断逻辑
|
||||||
checkPatientHistory(item);
|
checkPatientHistory(item);
|
||||||
|
|||||||
Reference in New Issue
Block a user