diff --git a/openhis-ui-vue3/src/views/inpatientDoctor/home/components/diagnosis/diagnosis.vue b/openhis-ui-vue3/src/views/inpatientDoctor/home/components/diagnosis/diagnosis.vue
index e6b683115..8f76450c1 100755
--- a/openhis-ui-vue3/src/views/inpatientDoctor/home/components/diagnosis/diagnosis.vue
+++ b/openhis-ui-vue3/src/views/inpatientDoctor/home/components/diagnosis/diagnosis.vue
@@ -94,7 +94,7 @@
>
保存诊断
-
+ 中医诊断
+
+
+
+ handleDiagnosisSystemChange(scope.row, value)"
+ >
+
+
+
+
+
+
+
+
+
+ handleTcmSyndromeChange(scope.row, value)"
+ >
+
+
+
+
+ -
+
+
+
{
newList.push({
- name: item.name + '-' + (res.data.symptom[index]?.name || ''),
+ name: item.name,
ybNo: item.ybNo,
medTypeCode: item.medTypeCode,
+ diagnosisSystem: '中医',
+ tcmSyndromeCode: res.data.symptom[index]?.ybNo || '',
+ tcmSyndromeName: res.data.symptom[index]?.name || '',
diagnosisDoctor: props.patientInfo.practitionerName || props.patientInfo.doctorName || props.patientInfo.physicianName || userStore.name,
diagnosisTime: new Date().toLocaleString('zh-CN')
});
@@ -595,6 +661,7 @@ function addDiagnosisItem() {
name: undefined,
verificationStatusEnum: 4,
medTypeCode: undefined,
+ diagnosisSystem: '西医',
diagSrtNo: form.value.diagnosisList.length + 1,
iptDiseTypeCode: 2,
diagnosisDesc: '',
@@ -675,6 +742,44 @@ function handleMaindise(value, index) {
}
}
+/**
+ * 诊断体系变化处理
+ */
+function handleDiagnosisSystemChange(row, value) {
+ // 当切换到西医时,清空中医证候
+ if (value === '西医') {
+ row.tcmSyndromeCode = '';
+ row.tcmSyndromeName = '';
+ }
+ // 当切换到中医时,加载中医证候选项
+ if (value === '中医') {
+ loadTcmSyndromeOptions();
+ }
+}
+
+/**
+ * 加载中医证候选项
+ */
+function loadTcmSyndromeOptions() {
+ getTcmSyndrome().then((res) => {
+ if (res.code == 200 && res.data && res.data.records) {
+ tcmSyndromeOptions.value = res.data.records.map((item) => ({
+ value: item.ybNo,
+ label: item.name,
+ }));
+ }
+ });
+}
+
+/**
+ * 中医证候变化处理
+ */
+function handleTcmSyndromeChange(row, value) {
+ // 找到对应的证候名称
+ const syndrome = tcmSyndromeOptions.value.find(item => item.value === value);
+ row.tcmSyndromeName = syndrome ? syndrome.label : '';
+}
+
/**
* 保存诊断
*/
@@ -713,6 +818,15 @@ function handleSaveDiagnosis() {
return;
}
+ // 中医诊断完整性校验
+ const incompleteTcmDiagnosis = form.value.diagnosisList.find(
+ (diagnosis) => diagnosis.diagnosisSystem === '中医' && !diagnosis.tcmSyndromeCode
+ );
+ if (incompleteTcmDiagnosis) {
+ proxy.$modal.msgWarning('中医诊断不完整,请录入对应的证候!');
+ return;
+ }
+
// 设置保存标志,避免触发watch监听器
isSaving.value = true;
@@ -817,6 +931,7 @@ function handleNodeClick(data) {
name: data.name,
verificationStatusEnum: 4,
medTypeCode: undefined,
+ diagnosisSystem: '西医',
diagSrtNo: form.value.diagnosisList.length + 1,
definitionId: data.definitionId,
diagnosisDoctor: props.patientInfo.practitionerName || props.patientInfo.doctorName || props.patientInfo.physicianName || userStore.name,