diff --git a/frontend/src/renderer/src/assets/archive/close.png b/frontend/src/renderer/src/assets/archive/close.png deleted file mode 100644 index bc942fe8..00000000 Binary files a/frontend/src/renderer/src/assets/archive/close.png and /dev/null differ diff --git a/frontend/src/renderer/src/assets/archive/close2.png b/frontend/src/renderer/src/assets/archive/close2.png deleted file mode 100644 index 87d3f8ea..00000000 Binary files a/frontend/src/renderer/src/assets/archive/close2.png and /dev/null differ diff --git a/frontend/src/renderer/src/assets/archive/download.png b/frontend/src/renderer/src/assets/archive/download.png new file mode 100644 index 00000000..5730dca8 Binary files /dev/null and b/frontend/src/renderer/src/assets/archive/download.png differ diff --git a/frontend/src/renderer/src/views/AloneReportComparison.vue b/frontend/src/renderer/src/views/AloneReportComparison.vue new file mode 100644 index 00000000..e015a77b --- /dev/null +++ b/frontend/src/renderer/src/views/AloneReportComparison.vue @@ -0,0 +1,717 @@ + + + + + + + diff --git a/frontend/src/renderer/src/views/PatientProfile.vue b/frontend/src/renderer/src/views/PatientProfile.vue index ef5842e3..c28b071a 100644 --- a/frontend/src/renderer/src/views/PatientProfile.vue +++ b/frontend/src/renderer/src/views/PatientProfile.vue @@ -305,8 +305,10 @@ + :selectedPatient="selectedPatient" @closeReportComparison="isReportComparison = false"/> + @@ -321,6 +323,8 @@ import ImageDetailsCompare from '@/views/ImageDetailsCompare.vue' import ImageDetails from '@/views/ImageDetails.vue' import ViewPDF from '@/views/viewPDF.vue' import ReportComparison from '@/views/ReportComparison.vue' +import AloneReportComparison from '@/views/AloneReportComparison.vue' + const formatDate = (date) => { const d = new Date(date) const y = d.getFullYear() @@ -344,6 +348,7 @@ const props = defineProps({ } }) const isReportComparison = ref(false) +const isAloneReportComparison =ref(false) // 是否单会话报告对比 const isTip = ref(false) // 退出提示 const isViewPDF = ref(false) // 是否查看PDF const pdfUrl = ref('') // PDF地址 @@ -421,6 +426,8 @@ const handleSubmit = (item) => { const sessionsId = ref('') function selectRecord(data){ selectedRecord.value = data + checkboxVideo.value = [] + checkboxGroup.value = [] sessionsById(data.id) sessionsId.value = data.id profileInfo.value = { @@ -696,7 +703,32 @@ function viewPatientProfile() { //对比报告 if (selectedData.value.length !== 2) { return } - isReportComparison.value = true + if (selectedData.value[0].data_ids == null) { + ElMessage.error({ + message: '对比报告不能为空', + duration: 5000 + }) + return + } + if (selectedData.value[1].data_ids == null) { + ElMessage.error({ + message: '对比报告不能为空', + duration: 5000 + }) + return + } + if (selectedData.value[0].data_ids.split(',').length !== selectedData.value[1].data_ids.split(',').length) { + ElMessage.error({ + message: '请选择相同类型报告对比', + duration: 5000 + }) + } + if(selectedData.value[0].data_ids.split(',').length == 1){ + isAloneReportComparison.value = true + }else{ + isReportComparison.value = true + } + } function generateReport(row,index){ // 打开生成报告页面 diff --git a/frontend/src/renderer/src/views/PopUpOnlyReport.vue b/frontend/src/renderer/src/views/PopUpOnlyReport.vue index a7b3256e..c89a4ad1 100644 --- a/frontend/src/renderer/src/views/PopUpOnlyReport.vue +++ b/frontend/src/renderer/src/views/PopUpOnlyReport.vue @@ -232,7 +232,8 @@ const generatePDF = async () => { // 使用检测ID作为文件名 const filename = `${props.detectionInfo.id || 'report'}.pdf` form.append('file', blob, filename) - + form.append('data_ids', rawData.value.id) + // 如果有detectionInfo.id,则上传到后端 if (props.detectionInfo.id) { const res = await fetch(`${BACKEND_URL}/api/reports/${props.detectionInfo.id}/upload`, { diff --git a/frontend/src/renderer/src/views/PopUpReport.vue b/frontend/src/renderer/src/views/PopUpReport.vue index b040518b..fd613c50 100644 --- a/frontend/src/renderer/src/views/PopUpReport.vue +++ b/frontend/src/renderer/src/views/PopUpReport.vue @@ -54,21 +54,20 @@
整体数据
-
- -
-
身体姿态
-
- +
+
身体姿态
+
头部姿态
-
+
-
+
左: {{headPoseMaxValuesLeft.rotationLeftMax}}° @@ -80,7 +79,7 @@ {{headPoseMaxValuesLeft.pitchDownMax}}°
-
+
右: {{headPoseMaxValuesLeft.rotationRightMax}}°
@@ -96,7 +95,7 @@
足底压力
-
+
@@ -120,21 +119,19 @@
整体数据
-
+
身体姿态
-
- -
+
头部姿态
-
+
-
+
左: {{headPoseMaxValuesRight.rotationLeftMax}}° @@ -146,7 +143,7 @@ {{headPoseMaxValuesRight.pitchDownMax}}°
-
+
右: {{headPoseMaxValuesRight.rotationRightMax}}°
@@ -162,7 +159,7 @@
足底压力
-
+
@@ -190,9 +187,6 @@
检测医生:{{ detectionInfo.creator_name }}
- - -
@@ -301,6 +295,7 @@ const generatePDF = async () => { // 使用检测ID作为文件名 const filename = `${props.detectionInfo.id || 'report'}.pdf` form.append('file', blob, filename) + form.append('data_ids', rawData.value.id + ',' + calibrationData.value.id) // 如果有detectionInfo.id,则上传到后端 if (props.detectionInfo.id) { @@ -684,7 +679,7 @@ function getFormattedTime() { } } -.PopUpOnlyReport-footer{ +.PopUpReport-footer{ margin-top: 40px; padding-top: 40px; border-top: 1px solid #333; @@ -694,4 +689,5 @@ function getFormattedTime() { color: rgb(40, 40, 40); font-size: 18px; } + diff --git a/frontend/src/renderer/src/views/ReportComparison.vue b/frontend/src/renderer/src/views/ReportComparison.vue index 589c8259..039e7d53 100644 --- a/frontend/src/renderer/src/views/ReportComparison.vue +++ b/frontend/src/renderer/src/views/ReportComparison.vue @@ -1,11 +1,17 @@