修复了门诊医生站重新调入该患者的本次就诊记录,点击中医诊断发现诊断详情是空的问题
This commit is contained in:
@@ -92,6 +92,7 @@ import {
|
|||||||
getTcmSyndrome,
|
getTcmSyndrome,
|
||||||
saveTcmDiagnosis,
|
saveTcmDiagnosis,
|
||||||
updateTcmDiagnosis,
|
updateTcmDiagnosis,
|
||||||
|
getTcmDiagnosis,
|
||||||
} from '@/views/doctorstation/components/api';
|
} from '@/views/doctorstation/components/api';
|
||||||
|
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
@@ -120,17 +121,23 @@ const { proxy } = getCurrentInstance();
|
|||||||
const emit = defineEmits(['close']);
|
const emit = defineEmits(['close']);
|
||||||
|
|
||||||
function handleOpen() {
|
function handleOpen() {
|
||||||
|
// 获取诊断列表
|
||||||
getTcmCondition().then((res) => {
|
getTcmCondition().then((res) => {
|
||||||
conditionList.value = res.data.records;
|
conditionList.value = res.data.records;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// 清空数据
|
||||||
tcmDiagonsisSaveList.value = [];
|
tcmDiagonsisSaveList.value = [];
|
||||||
tcmDiagonsisList.value = [];
|
tcmDiagonsisList.value = [];
|
||||||
debugger;
|
syndromeSelected.value = true; // 设置为true,允许添加新的诊断
|
||||||
|
|
||||||
|
// 如果是修改模式,加载传入的诊断数据
|
||||||
if (props.updateZy.length > 0) {
|
if (props.updateZy.length > 0) {
|
||||||
props.updateZy.forEach((item) => {
|
props.updateZy.forEach((item) => {
|
||||||
let updateIds = item.updateId.split("-");
|
let updateIds = item.updateId.split("-");
|
||||||
let name = item.name.split("-");
|
let name = item.name.split("-");
|
||||||
tcmDiagonsisSaveList.value.push({
|
tcmDiagonsisSaveList.value.push(
|
||||||
|
{
|
||||||
conditionId: updateIds[0],
|
conditionId: updateIds[0],
|
||||||
definitionId: item.illnessDefinitionId,
|
definitionId: item.illnessDefinitionId,
|
||||||
ybNo: item.ybNo,
|
ybNo: item.ybNo,
|
||||||
@@ -138,24 +145,69 @@ function handleOpen() {
|
|||||||
verificationStatusEnum: 4,
|
verificationStatusEnum: 4,
|
||||||
medTypeCode: '11',
|
medTypeCode: '11',
|
||||||
diagSrtNo: item.diagSrtNo,
|
diagSrtNo: item.diagSrtNo,
|
||||||
});
|
isExisting: true // 标记为已存在
|
||||||
tcmDiagonsisList.value.push({
|
},
|
||||||
conditionName: name[0],
|
{
|
||||||
syndromeGroupNo: item.syndromeGroupNo,
|
|
||||||
});
|
|
||||||
tcmDiagonsisSaveList.value.push({
|
|
||||||
conditionId: updateIds[1],
|
conditionId: updateIds[1],
|
||||||
definitionId: item.symptomDefinitionId,
|
definitionId: item.symptomDefinitionId,
|
||||||
ybNo: item.symptomYbNo,
|
ybNo: item.symptomYbNo,
|
||||||
syndromeGroupNo: item.syndromeGroupNo,
|
syndromeGroupNo: item.syndromeGroupNo,
|
||||||
diagSrtNo: item.diagSrtNo,
|
diagSrtNo: item.diagSrtNo,
|
||||||
|
isExisting: true // 标记为已存在
|
||||||
|
}
|
||||||
|
);
|
||||||
|
tcmDiagonsisList.value.push({
|
||||||
|
conditionName: name[0],
|
||||||
|
syndromeName: name[1],
|
||||||
|
syndromeGroupNo: item.syndromeGroupNo,
|
||||||
|
isExisting: true // 标记为已存在
|
||||||
});
|
});
|
||||||
tcmDiagonsisList.value[tcmDiagonsisList.value.length - 1].syndromeName = name[1];
|
|
||||||
console.log("这是修改时带入的数据");
|
|
||||||
console.log(tcmDiagonsisList.value);
|
|
||||||
console.log(tcmDiagonsisSaveList.value);
|
|
||||||
syndromeSelected.value = true;
|
syndromeSelected.value = true;
|
||||||
});
|
});
|
||||||
|
} else {
|
||||||
|
// 不是修改模式,加载已保存的中医诊断
|
||||||
|
if (props.patientInfo && props.patientInfo.encounterId) {
|
||||||
|
getTcmDiagnosis({ encounterId: props.patientInfo.encounterId }).then((res) => {
|
||||||
|
if (res.code === 200 && res.data.illness && res.data.illness.length > 0) {
|
||||||
|
res.data.illness.forEach((item, index) => {
|
||||||
|
const symptom = res.data.symptom[index];
|
||||||
|
if (symptom) {
|
||||||
|
// 添加到显示列表
|
||||||
|
tcmDiagonsisList.value.push({
|
||||||
|
conditionName: item.name,
|
||||||
|
syndromeName: symptom.name,
|
||||||
|
syndromeGroupNo: item.syndromeGroupNo,
|
||||||
|
isExisting: true // 标记为已存在
|
||||||
|
});
|
||||||
|
|
||||||
|
// 添加到保存列表
|
||||||
|
tcmDiagonsisSaveList.value.push(
|
||||||
|
{
|
||||||
|
conditionId: item.conditionId,
|
||||||
|
definitionId: item.definitionId,
|
||||||
|
ybNo: item.ybNo,
|
||||||
|
syndromeGroupNo: item.syndromeGroupNo,
|
||||||
|
verificationStatusEnum: item.verificationStatusEnum || 4,
|
||||||
|
medTypeCode: item.medTypeCode || '11',
|
||||||
|
diagSrtNo: item.diagSrtNo,
|
||||||
|
isExisting: true // 标记为已存在
|
||||||
|
},
|
||||||
|
{
|
||||||
|
conditionId: symptom.conditionId,
|
||||||
|
definitionId: symptom.definitionId,
|
||||||
|
ybNo: symptom.ybNo,
|
||||||
|
syndromeGroupNo: item.syndromeGroupNo,
|
||||||
|
diagSrtNo: item.diagSrtNo,
|
||||||
|
isExisting: true // 标记为已存在
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}).catch(err => {
|
||||||
|
console.error('加载已保存的中医诊断失败:', err);
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -169,93 +221,45 @@ function handleClickRow(row) {
|
|||||||
syndromeList.value = res.data.records;
|
syndromeList.value = res.data.records;
|
||||||
});
|
});
|
||||||
|
|
||||||
if (props.updateZy.length>0) {
|
// 添加新的诊断
|
||||||
props.updateZy.forEach((item) => {
|
|
||||||
let updateIds=item.updateId.split("-");
|
|
||||||
tcmDiagonsisSaveList.value.push({
|
|
||||||
updateId:updateIds[0],
|
|
||||||
conditionId: updateIds[0],
|
|
||||||
definitionId: row.id,
|
|
||||||
ybNo: row.ybNo,
|
|
||||||
syndromeGroupNo: timestamp.value,
|
|
||||||
verificationStatusEnum: 4,
|
|
||||||
medTypeCode: '11',
|
|
||||||
diagSrtNo:item.diagSrtNo,
|
|
||||||
});
|
|
||||||
debugger;
|
|
||||||
if(tcmDiagonsisList.value.length>0){
|
|
||||||
tcmDiagonsisList.value[tcmDiagonsisList.value.length - 1].conditionName = row.name;
|
|
||||||
}else{
|
|
||||||
tcmDiagonsisList.value.push({
|
|
||||||
conditionName: row.name,
|
|
||||||
syndromeGroupNo: timestamp.value,
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}else{
|
|
||||||
tcmDiagonsisSaveList.value.push({
|
tcmDiagonsisSaveList.value.push({
|
||||||
definitionId: row.id,
|
definitionId: row.id,
|
||||||
ybNo: row.ybNo,
|
ybNo: row.ybNo,
|
||||||
syndromeGroupNo: timestamp.value,
|
syndromeGroupNo: timestamp.value,
|
||||||
verificationStatusEnum: 4,
|
verificationStatusEnum: 4,
|
||||||
medTypeCode: '11',
|
medTypeCode: '11',
|
||||||
|
isExisting: false // 标记为新增
|
||||||
});
|
});
|
||||||
tcmDiagonsisList.value.push({
|
tcmDiagonsisList.value.push({
|
||||||
conditionName: row.name,
|
conditionName: row.name,
|
||||||
syndromeGroupNo: timestamp.value,
|
syndromeGroupNo: timestamp.value,
|
||||||
|
isExisting: false // 标记为新增
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// tcmDiagonsisList.value.push({
|
|
||||||
// conditionName: row.name,
|
|
||||||
// syndromeGroupNo: timestamp.value,
|
|
||||||
// });
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function clickSyndromeRow(row) {
|
function clickSyndromeRow(row) {
|
||||||
debugger;
|
// 检查是否已存在完全相同的诊断和证候
|
||||||
let flag = true;
|
let flag = true;
|
||||||
|
const currentConditionName = tcmDiagonsisList.value[tcmDiagonsisList.value.length - 1].conditionName;
|
||||||
|
|
||||||
tcmDiagonsisList.value.forEach(item => {
|
tcmDiagonsisList.value.forEach(item => {
|
||||||
if(tcmDiagonsisList.value[tcmDiagonsisList.value.length - 1].conditionName==item.conditionName){
|
if (item.conditionName === currentConditionName && item.syndromeName === row.name) {
|
||||||
if(item.syndromeName==row.name ){
|
proxy.$modal.msgWarning('不能存在完全相同的诊断和证候');
|
||||||
proxy.$modal.msgWarning('不能存在完全相同的诊断和证侯');
|
|
||||||
flag = false;
|
flag = false;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
if (flag) {
|
if (flag) {
|
||||||
if(props.updateZy.length>0){
|
|
||||||
props.updateZy.forEach((item) => {
|
|
||||||
let updateIds=item.updateId.split("-");
|
|
||||||
tcmDiagonsisSaveList.value.push({
|
|
||||||
updateId:updateIds[1],
|
|
||||||
conditionId: updateIds[1],
|
|
||||||
definitionId: row.id,
|
|
||||||
ybNo: row.ybNo,
|
|
||||||
syndromeGroupNo: timestamp.value,
|
|
||||||
});
|
|
||||||
tcmDiagonsisList.value[tcmDiagonsisList.value.length - 1].syndromeName = row.name;
|
|
||||||
syndromeSelected.value = true;
|
|
||||||
});
|
|
||||||
|
|
||||||
}else{
|
|
||||||
tcmDiagonsisSaveList.value.push({
|
tcmDiagonsisSaveList.value.push({
|
||||||
definitionId: row.id,
|
definitionId: row.id,
|
||||||
ybNo: row.ybNo,
|
ybNo: row.ybNo,
|
||||||
syndromeGroupNo: timestamp.value,
|
syndromeGroupNo: timestamp.value,
|
||||||
|
isExisting: false // 标记为新增
|
||||||
});
|
});
|
||||||
tcmDiagonsisList.value[tcmDiagonsisList.value.length - 1].syndromeName = row.name;
|
tcmDiagonsisList.value[tcmDiagonsisList.value.length - 1].syndromeName = row.name;
|
||||||
syndromeSelected.value = true;
|
syndromeSelected.value = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// tcmDiagonsisList.value[tcmDiagonsisList.value.length - 1].syndromeName = row.name;
|
|
||||||
// syndromeSelected.value = true;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除诊断
|
// 删除诊断
|
||||||
@@ -268,11 +272,20 @@ function removeDiagnosis(row, index) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function save() {
|
function save() {
|
||||||
|
// 只保存新增的诊断,过滤掉已存在的
|
||||||
|
const newDiagnosisList = tcmDiagonsisSaveList.value.filter(item => !item.isExisting);
|
||||||
|
|
||||||
|
if (newDiagnosisList.length === 0) {
|
||||||
|
proxy.$modal.msgWarning('没有新增的诊断需要保存');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (props.updateZy.length > 0) {
|
if (props.updateZy.length > 0) {
|
||||||
|
// 修改模式
|
||||||
updateTcmDiagnosis({
|
updateTcmDiagnosis({
|
||||||
patientId: props.patientInfo.patientId,
|
patientId: props.patientInfo.patientId,
|
||||||
encounterId: props.patientInfo.encounterId,
|
encounterId: props.patientInfo.encounterId,
|
||||||
diagnosisChildList: tcmDiagonsisSaveList.value,
|
diagnosisChildList: newDiagnosisList,
|
||||||
}).then((res) => {
|
}).then((res) => {
|
||||||
if (res.code == 200) {
|
if (res.code == 200) {
|
||||||
emit('close');
|
emit('close');
|
||||||
@@ -280,10 +293,11 @@ function save() {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
|
// 新增模式
|
||||||
saveTcmDiagnosis({
|
saveTcmDiagnosis({
|
||||||
patientId: props.patientInfo.patientId,
|
patientId: props.patientInfo.patientId,
|
||||||
encounterId: props.patientInfo.encounterId,
|
encounterId: props.patientInfo.encounterId,
|
||||||
diagnosisChildList: tcmDiagonsisSaveList.value,
|
diagnosisChildList: newDiagnosisList,
|
||||||
}).then((res) => {
|
}).then((res) => {
|
||||||
if (res.code == 200) {
|
if (res.code == 200) {
|
||||||
emit('close');
|
emit('close');
|
||||||
@@ -291,15 +305,19 @@ function save() {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function submit() {
|
function submit() {
|
||||||
debugger;
|
// 检查是否有新增的诊断
|
||||||
if (
|
const hasNewDiagnosis = tcmDiagonsisSaveList.value.some(item => !item.isExisting);
|
||||||
tcmDiagonsisSaveList.value.length > 0 &&
|
|
||||||
(syndromeSelected.value || tcmDiagonsisSaveList.value.length % 2 == 0)
|
if (!hasNewDiagnosis) {
|
||||||
) {
|
// 如果没有新增诊断,直接关闭
|
||||||
|
emit('close');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (syndromeSelected.value || tcmDiagonsisSaveList.value.length % 2 == 0) {
|
||||||
save();
|
save();
|
||||||
} else {
|
} else {
|
||||||
proxy.$modal.msgWarning('请选择证候');
|
proxy.$modal.msgWarning('请选择证候');
|
||||||
|
|||||||
@@ -252,7 +252,8 @@ function getList() {
|
|||||||
getEncounterDiagnosis(props.patientInfo.encounterId)
|
getEncounterDiagnosis(props.patientInfo.encounterId)
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
if (res.code == 200) {
|
if (res.code == 200) {
|
||||||
form.value.diagnosisList = res.data;
|
// 过滤掉中医诊断,只保留西医诊断
|
||||||
|
form.value.diagnosisList = res.data.filter(item => item.typeName !== '中医诊断');
|
||||||
emits('diagnosisSave', false);
|
emits('diagnosisSave', false);
|
||||||
}
|
}
|
||||||
maxNo = form.value.diagnosisList.length;
|
maxNo = form.value.diagnosisList.length;
|
||||||
|
|||||||
Reference in New Issue
Block a user