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