From dc2e4098ae03eb84af9fa7f0d372589dddc2da86 Mon Sep 17 00:00:00 2001
From: wangjian963 <15215920+aprilry@user.noreply.gitee.com>
Date: Thu, 19 Mar 2026 17:50:06 +0800
Subject: [PATCH] =?UTF-8?q?=E8=BF=99=E4=B8=AA=E7=BC=96=E8=BE=91=E6=8C=89?=
=?UTF-8?q?=E9=92=AE=E5=8A=9F=E8=83=BD=E5=B1=95=E7=A4=BA=E7=9A=84=E6=95=B0?=
=?UTF-8?q?=E6=8D=AE=E4=B8=BA=E4=BB=80=E4=B9=88=E4=BC=9A=E4=B8=8D=E5=85=A8?=
=?UTF-8?q?=EF=BC=8C=E5=B7=B2=E7=A1=AE=E8=AE=A4=E7=8A=B6=E6=80=81=E4=B8=8B?=
=?UTF-8?q?=E7=9A=84=E6=95=B0=E6=8D=AE=E5=B1=95=E7=A4=BA=E4=B8=8D=E5=85=A8?=
=?UTF-8?q?=E3=80=82?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../consultationapplication/index.vue | 128 +++++++++++++++---
.../consultationconfirmation/index.vue | 21 ++-
.../doctorstation/components/consultation.vue | 14 +-
3 files changed, 133 insertions(+), 30 deletions(-)
diff --git a/openhis-ui-vue3/src/views/consultationmanagement/consultationapplication/index.vue b/openhis-ui-vue3/src/views/consultationmanagement/consultationapplication/index.vue
index 6f8d3cfb..052a4d3c 100644
--- a/openhis-ui-vue3/src/views/consultationmanagement/consultationapplication/index.vue
+++ b/openhis-ui-vue3/src/views/consultationmanagement/consultationapplication/index.vue
@@ -134,7 +134,7 @@
-
+
@@ -387,22 +387,36 @@ const queryParams = reactive({
const formData = ref({
id: null,
consultationId: '',
+ patientId: null,
patientName: '',
genderEnum: null,
age: null,
+ patientBusNo: '',
patientIdentifierNo: '',
- requestingPhysician: '',
- consultationDate: '',
+ encounterId: null,
+ departmentId: null,
department: '',
- provisionalDiagnosis: '',
- consultationPurpose: '',
+ requestingPhysicianId: null,
+ requestingPhysician: '',
invitedObject: '',
+ consultationDate: '',
+ consultationRequestDate: null,
+ consultationPurpose: '',
+ provisionalDiagnosis: '',
+ consultationActivityId: null,
+ consultationActivityName: '',
+ consultationUrgency: '',
+ consultationStatus: 0,
consultationOpinion: '',
+ consultingPhysicians: '',
+ signingPhysicianId: null,
+ signingPhysicianName: '',
+ signingTime: null,
+ invitedPhysiciansText: '',
attendingPhysician: '',
representDepartment: '',
signPhysician: '',
- signTime: null,
- consultationRequestDate: null
+ signTime: null
})
const formRules = {
@@ -513,15 +527,83 @@ const handleEdit = (row) => {
ElMessage.warning('已结束的会诊申请不可编辑')
return
}
-
+
isViewMode.value = false
- formData.value = { ...row }
+ // 确保所有字段都复制到formData中
+ formData.value = {
+ id: row.id || null,
+ consultationId: row.consultationId || '',
+ patientId: row.patientId || null,
+ patientName: row.patientName || '',
+ genderEnum: row.genderEnum || null,
+ age: row.age || null,
+ patientBusNo: row.patientBusNo || '',
+ patientIdentifierNo: row.patientIdentifierNo || '',
+ encounterId: row.encounterId || null,
+ departmentId: row.departmentId || null,
+ department: row.department || '',
+ requestingPhysicianId: row.requestingPhysicianId || null,
+ requestingPhysician: row.requestingPhysician || '',
+ invitedObject: row.invitedObject || '',
+ consultationDate: row.consultationDate || '',
+ consultationRequestDate: row.consultationRequestDate || null,
+ consultationPurpose: row.consultationPurpose || '',
+ provisionalDiagnosis: row.provisionalDiagnosis || '',
+ consultationActivityId: row.consultationActivityId || null,
+ consultationActivityName: row.consultationActivityName || '',
+ consultationUrgency: row.consultationUrgency || '',
+ consultationStatus: row.consultationStatus || 0,
+ consultationOpinion: row.consultationOpinion || '',
+ consultingPhysicians: row.consultingPhysicians || '',
+ signingPhysicianId: row.signingPhysicianId || null,
+ signingPhysicianName: row.signingPhysicianName || '',
+ signingTime: row.signingTime || null,
+ invitedPhysiciansText: row.invitedPhysiciansText || '',
+ attendingPhysician: row.attendingPhysician || '',
+ representDepartment: row.representDepartment || '',
+ signPhysician: row.signPhysician || '',
+ signTime: row.signTime || null
+ }
dialogVisible.value = true
}
const handleView = (row) => {
isViewMode.value = true
- formData.value = { ...row }
+ // 确保所有字段都复制到formData中
+ formData.value = {
+ id: row.id || null,
+ consultationId: row.consultationId || '',
+ patientId: row.patientId || null,
+ patientName: row.patientName || '',
+ genderEnum: row.genderEnum || null,
+ age: row.age || null,
+ patientBusNo: row.patientBusNo || '',
+ patientIdentifierNo: row.patientIdentifierNo || '',
+ encounterId: row.encounterId || null,
+ departmentId: row.departmentId || null,
+ department: row.department || '',
+ requestingPhysicianId: row.requestingPhysicianId || null,
+ requestingPhysician: row.requestingPhysician || '',
+ invitedObject: row.invitedObject || '',
+ consultationDate: row.consultationDate || '',
+ consultationRequestDate: row.consultationRequestDate || null,
+ consultationPurpose: row.consultationPurpose || '',
+ provisionalDiagnosis: row.provisionalDiagnosis || '',
+ consultationActivityId: row.consultationActivityId || null,
+ consultationActivityName: row.consultationActivityName || '',
+ consultationUrgency: row.consultationUrgency || '',
+ consultationStatus: row.consultationStatus || 0,
+ consultationOpinion: row.consultationOpinion || '',
+ consultingPhysicians: row.consultingPhysicians || '',
+ signingPhysicianId: row.signingPhysicianId || null,
+ signingPhysicianName: row.signingPhysicianName || '',
+ signingTime: row.signingTime || null,
+ invitedPhysiciansText: row.invitedPhysiciansText || '',
+ attendingPhysician: row.attendingPhysician || '',
+ representDepartment: row.representDepartment || '',
+ signPhysician: row.signPhysician || '',
+ signTime: row.signTime || null
+ }
dialogVisible.value = true
}
@@ -530,22 +612,36 @@ const handleDialogClose = () => {
formData.value = {
id: null,
consultationId: '',
+ patientId: null,
patientName: '',
genderEnum: null,
age: null,
+ patientBusNo: '',
patientIdentifierNo: '',
- requestingPhysician: '',
- consultationDate: '',
+ encounterId: null,
+ departmentId: null,
department: '',
- provisionalDiagnosis: '',
- consultationPurpose: '',
+ requestingPhysicianId: null,
+ requestingPhysician: '',
invitedObject: '',
+ consultationDate: '',
+ consultationRequestDate: null,
+ consultationPurpose: '',
+ provisionalDiagnosis: '',
+ consultationActivityId: null,
+ consultationActivityName: '',
+ consultationUrgency: '',
+ consultationStatus: 0,
consultationOpinion: '',
+ consultingPhysicians: '',
+ signingPhysicianId: null,
+ signingPhysicianName: '',
+ signingTime: null,
+ invitedPhysiciansText: '',
attendingPhysician: '',
representDepartment: '',
signPhysician: '',
- signTime: null,
- consultationRequestDate: null
+ signTime: null
}
}
diff --git a/openhis-ui-vue3/src/views/consultationmanagement/consultationconfirmation/index.vue b/openhis-ui-vue3/src/views/consultationmanagement/consultationconfirmation/index.vue
index 20dfd501..10adb6a1 100644
--- a/openhis-ui-vue3/src/views/consultationmanagement/consultationconfirmation/index.vue
+++ b/openhis-ui-vue3/src/views/consultationmanagement/consultationconfirmation/index.vue
@@ -136,7 +136,7 @@
-
+
@@ -249,6 +249,7 @@ const formData = ref({
consultationPurpose: '',
provisionalDiagnosis: '',
confirmingPhysician: '',
+ confirmingPhysicianText: '', // 显示所有参与确认的医师
consultationOpinion: '',
confirmingPhysicianName: '',
confirmingDeptName: '',
@@ -311,7 +312,7 @@ const applyRowToForm = (row) => {
})
return
}
-
+
formData.value = {
id: row.id,
consultationRequestId: row.consultationRequestId,
@@ -329,6 +330,7 @@ const applyRowToForm = (row) => {
consultationPurpose: row.consultationPurpose,
provisionalDiagnosis: row.provisionalDiagnosis,
confirmingPhysician: row.confirmingPhysician || '',
+ confirmingPhysicianText: '', // 初始化为空,稍后根据opinionList设置
consultationOpinion: '', // 先清空,后面从 opinionList 中获取
confirmingPhysicianName: row.confirmingPhysicianName || '',
confirmingDeptName: row.confirmingDeptName || '',
@@ -338,17 +340,22 @@ const applyRowToForm = (row) => {
submittingTime: row.submittingTime,
consultationStatus: row.consultationStatus
}
-
- // 从会诊意见列表中获取当前医生的信息
+
+ // 从会诊意见列表中获取所有确认医师的信息,并生成显示文本
if (opinionList.value.length > 0) {
+ // 生成所有参与确认医师的文本(格式:科室-医生姓名;科室-医生姓名)
+ const allConfirmingPhysicians = opinionList.value.map(op => `${op.deptName}-${op.physicianName}`).join(';')
+ formData.value.confirmingPhysicianText = allConfirmingPhysicians
+
+ // 从会诊意见列表中获取当前医生的信息
const currentPhysicianId = userStore.practitionerId || userStore.user?.practitionerId
const myOpinion = opinionList.value.find(op => op.physicianId === currentPhysicianId)
-
+
if (myOpinion) {
// 如果当前医生已确认,回显其信息
formData.value.confirmingPhysicianName = myOpinion.physicianName
formData.value.confirmingDeptName = myOpinion.deptName
-
+
// 回显会诊意见(去掉前缀"科室-医生:")
if (myOpinion.opinion) {
// 格式:科室-医生:意见内容
@@ -361,7 +368,7 @@ const applyRowToForm = (row) => {
formData.value.consultationOpinion = opinionText
}
}
-
+
if (myOpinion.isSigned) {
formData.value.signature = myOpinion.physicianName
formData.value.signatureDate = myOpinion.signatureTime
diff --git a/openhis-ui-vue3/src/views/doctorstation/components/consultation.vue b/openhis-ui-vue3/src/views/doctorstation/components/consultation.vue
index f3d08b0e..afa6acd9 100644
--- a/openhis-ui-vue3/src/views/doctorstation/components/consultation.vue
+++ b/openhis-ui-vue3/src/views/doctorstation/components/consultation.vue
@@ -47,7 +47,7 @@
-
+
提交
@@ -1062,10 +1062,10 @@ const handleCancel = async () => {
}
};
-// 删除行
+// 作废行
const handleDeleteRow = async (row) => {
try {
- await ElMessageBox.confirm('确定要删除这条会诊申请吗?', '提示', {
+ await ElMessageBox.confirm('确定要作废这条会诊申请吗?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
@@ -1073,21 +1073,21 @@ const handleDeleteRow = async (row) => {
const res = await cancelConsultation({
consultationId: row.consultationId,
- cancelReason: '删除',
+ cancelReason: '作废',
});
if (res.code === 200) {
- ElMessage.success('删除成功');
+ ElMessage.success('作废成功');
loadConsultationList();
if (selectedRow.value?.consultationId === row.consultationId) {
handleNew();
}
} else {
- ElMessage.error(res.msg || '删除失败');
+ ElMessage.error(res.msg || '作废失败');
}
} catch (error) {
if (error !== 'cancel') {
- console.error('删除失败:', error);
+ console.error('作废失败:', error);
}
}
};