From 3489d34628f2923c24bd23ad8e6d3cffeb3066cc Mon Sep 17 00:00:00 2001
From: wangxiaoshuang <825034831@qq.com>
Date: Wed, 11 Jun 2025 16:34:46 +0800
Subject: [PATCH] =?UTF-8?q?=E5=BD=B1=E5=83=8F=E6=B1=87=E6=80=BB=E5=AF=BC?=
=?UTF-8?q?=E5=87=BA=E5=BD=B1=E5=83=8F=E3=80=81=E5=85=B3=E9=94=AE=E5=9B=BE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../trial-summary/image-summary/index.vue | 76 ++++++++++++++++++-
.../trial-summary/upload-monitor/index.vue | 2 +-
2 files changed, 73 insertions(+), 5 deletions(-)
diff --git a/src/views/trials/trials-panel/trial-summary/image-summary/index.vue b/src/views/trials/trials-panel/trial-summary/image-summary/index.vue
index f65e1c41..36b2d5f9 100644
--- a/src/views/trials/trials-panel/trial-summary/image-summary/index.vue
+++ b/src/views/trials/trials-panel/trial-summary/image-summary/index.vue
@@ -61,8 +61,17 @@
-
+
+
+ {{
+ $fd('IsDicom', true)
+ }}
+ {{
+ $fd('IsDicom', false)
+ }}
+
+
@@ -158,6 +167,7 @@ export default {
console.log(err)
}
},
+ // 导出表格
handleExport() { },
// 导出影像或关键图
async handleExportImage(IsKeyImage = false) {
@@ -173,7 +183,7 @@ export default {
}
let res = await getExportSubjectVisitImageList(data)
if (res.IsSuccess) {
-
+ this.downLoad(IsKeyImage, res.Result)
}
} catch (err) {
console.log(err)
@@ -193,6 +203,64 @@ export default {
formatDownloadFile(IsKeyImage = false, row) {
let files = [],
name = `${this.$route.query.researchProgramNo}.zip`;
+ if (!IsKeyImage) {
+ //中心ID/受试者ID/访视名/Study ID_Study Date_Modality/文件
+ row.VisitList.forEach(visit => {
+ if (visit.StudyList && visit.StudyList.length > 0) {
+ visit.StudyList.forEach(study => {
+ if (study.SeriesList && study.SeriesList.length > 0) {
+ study.SeriesList.forEach(serie => {
+ if (serie.InstancePathList && serie.InstancePathList.length > 0) {
+ serie.InstancePathList.forEach(instance => {
+ let instanceArr = instance.Path.split("/")
+ let fileName = instanceArr[instanceArr.length - 1]
+ let obj = {
+ name: `${visit.TrialSiteCode}/${visit.SubjectCode}/${visit.VisitName}/${study.StudyCode}_${study.StudyTime}_${serie.Modality}/${fileName}`,
+ url: this.OSSclientConfig.basePath + instance.Path,
+ }
+ files.push(obj)
+ })
+ }
+ })
+ }
+ })
+ }
+ if (visit.NoneDicomStudyList && visit.NoneDicomStudyList.length > 0) {
+ visit.NoneDicomStudyList.forEach(noneDicomStudy => {
+ if (noneDicomStudy.FileList && noneDicomStudy.FileList.length > 0) {
+ noneDicomStudy.FileList.forEach(file => {
+ let obj = {
+ name: `${visit.TrialSiteCode}/${visit.SubjectCode}/${visit.VisitName}/${noneDicomStudy.StudyCode}_${noneDicomStudy.ImageDate}_${noneDicomStudy.Modality}/${file.FileName}`,
+ url: this.OSSclientConfig.basePath + file.Path,
+ }
+ files.push(obj)
+ })
+ }
+ })
+ }
+ })
+ } else {
+ //项目研究方案号(评估标准)/中心ID/受试者ID/访视名/阅片人角色-裁判选择标记/文件名
+ row.forEach(item => {
+ ['QuestionMarkPictureList', 'TableQuestionRowPictureList'].forEach(key => {
+ if (item[key] && item[key].length > 0) {
+ item[key].forEach(data => {
+ ['PicturePath', 'otherPicturePath'].forEach(imgKey => {
+ if (data[imgKey]) {
+ let arr = data[imgKey].split("/")
+ let fileName = arr[arr.length - 1]
+ let obj = {
+ name: `${item.CriterionName}/${item.TrialSiteCode}/${item.SubjectCode}/${item.VisitName}/${this.$fd('ArmEnum', item.ArmEnum)}_${this.$fd('YesOrNo', item.IsJudgeSelect)}/${fileName}`,
+ url: this.OSSclientConfig.basePath + data[imgKey],
+ }
+ files.push(obj)
+ }
+ })
+ })
+ }
+ })
+ })
+ }
return { files, name }
},
@@ -282,7 +350,7 @@ export default {
.size {
display: inline-block;
- min-width: 50px;
+ min-width: 100px;
}
}
}
diff --git a/src/views/trials/trials-panel/trial-summary/upload-monitor/index.vue b/src/views/trials/trials-panel/trial-summary/upload-monitor/index.vue
index e551c524..661c65a4 100644
--- a/src/views/trials/trials-panel/trial-summary/upload-monitor/index.vue
+++ b/src/views/trials/trials-panel/trial-summary/upload-monitor/index.vue
@@ -85,7 +85,7 @@
- {{ $fd('IsDicom', scope.row.IsDicom) }}
+ {{ $fd('IsDicom', scope.row.IsDicom) }}