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