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 @@