From f52b2f151b316d9fef4af0e4f410b313c93b00e9 Mon Sep 17 00:00:00 2001
From: "DESKTOP-6C3NK6N\\WXS" <815034831@qq.com>
Date: Thu, 5 Sep 2024 17:17:47 +0800
Subject: [PATCH 1/4] =?UTF-8?q?ir=E4=B8=8A=E4=BC=A0dicom?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/api/load.js | 6 +-
.../uploadDicomAndNonedicom/dicomFile.vue | 1144 ++++++++++++++++-
.../uploadDicomAndNonedicom/index.vue | 6 +-
.../uploadDicomAndNonedicom/nonedicomFile.vue | 2 +-
.../components/uploadDicomFiles2.vue | 2 +-
5 files changed, 1089 insertions(+), 71 deletions(-)
diff --git a/src/api/load.js b/src/api/load.js
index 91981151..d2532d31 100644
--- a/src/api/load.js
+++ b/src/api/load.js
@@ -8,11 +8,11 @@ export function requestPackageAndAnonymizImage(params) {
})
}
// 获取影像上传列表
-export function getSubjectImageUploadList(params) {
+export function getSubjectImageUploadList(data) {
return request({
url: '/DownloadAndUpload/getSubjectImageUploadList',
- method: 'get',
- params
+ method: 'post',
+ data
})
}
// 预上传
diff --git a/src/components/uploadDicomAndNonedicom/dicomFile.vue b/src/components/uploadDicomAndNonedicom/dicomFile.vue
index 78f81af3..ef54efa9 100644
--- a/src/components/uploadDicomAndNonedicom/dicomFile.vue
+++ b/src/components/uploadDicomAndNonedicom/dicomFile.vue
@@ -3,38 +3,48 @@
{{ $t('upload:dicom:title') }}
-
- {{ $t('upload:dicom:button:upload') }}
-
-
- {{ $t('upload:dicom:button:preview') }}
-
-
- {{ $t('upload:dicom:button:delete') }}
-
+
-
-
+
+
-
+
-
+
0
-
+
-
-
-
-
+ prop="UploadStudyList"
+ :label="$t('upload:dicom:table:uploadStudyListNum')"
+ >
+ {{
+ scope.row.UploadStudyList && Array.isArray(scope.row.UploadStudyList)
+ ? scope.row.UploadStudyList.length
+ : 0
+ }}
+
-
-
-
-
+
-
+
+ {{ $t('upload:dicom:uploadTitle') }}
+
-
@@ -238,11 +278,6 @@
min-width="150"
show-overflow-tooltip
>
-
+
\ No newline at end of file
diff --git a/src/components/uploadDicomAndNonedicom/index.vue b/src/components/uploadDicomAndNonedicom/index.vue
index 67bad8bc..0d3dbe92 100644
--- a/src/components/uploadDicomAndNonedicom/index.vue
+++ b/src/components/uploadDicomAndNonedicom/index.vue
@@ -12,7 +12,11 @@
:label="$t('uploadDicomAndNonedicom:label:dicom')"
name="dicom"
>
-
+
Date: Thu, 5 Sep 2024 18:01:05 +0800
Subject: [PATCH 2/4] =?UTF-8?q?ir=E4=B8=8A=E4=BC=A0dicom?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../uploadDicomAndNonedicom/dicomFile.vue | 21 +++++++++++++++----
.../qc-check/components/qualityAssurance.vue | 4 ++--
2 files changed, 19 insertions(+), 6 deletions(-)
diff --git a/src/components/uploadDicomAndNonedicom/dicomFile.vue b/src/components/uploadDicomAndNonedicom/dicomFile.vue
index ef54efa9..a7292172 100644
--- a/src/components/uploadDicomAndNonedicom/dicomFile.vue
+++ b/src/components/uploadDicomAndNonedicom/dicomFile.vue
@@ -417,6 +417,7 @@
@@ -1172,7 +1173,7 @@ export default {
o.imageColumns,
o.imageRows
)
- let thumbnailPath = `/${params.trialId}/Image/${params.trialSiteId}/${params.subjectId}/${params.subjectVisitId}/${dicomInfo.studyUid}/${v.seriesUid}.png`
+ let thumbnailPath = `/${params.trialId}/Image/${params.subjectId}/${params.subjectVisitId}/${dicomInfo.visitTaskId}/${dicomInfo.studyUid}/${v.seriesUid}.png`
let OSSclient = scope.OSSclient
let seriesRes = await OSSclient.put(
thumbnailPath,
@@ -1257,7 +1258,7 @@ export default {
}
let text = JSON.stringify(Record)
let logJsonBlob = scope.generateTxtFile(text)
- let logJsonObjectName = `/${params.trialId}/Image/${params.trialSiteId}/${params.subjectId}/${params.subjectVisitId}/${dicomInfo.studyUid}/${params.studyMonitorId}.txt`
+ let logJsonObjectName = `/${params.trialId}/Image/${params.subjectId}/${params.subjectVisitId}/${dicomInfo.visitTaskId}/${dicomInfo.studyUid}/${params.studyMonitorId}.txt`
let logRes
try {
logRes = await scope.OSSclient.put(
@@ -1302,7 +1303,7 @@ export default {
params.RecordPath = scope.$getObjectName(logRes.url)
if (scope.isClose) return false
console.log(params)
- params.VisitTaskId = dicomInfo.VisitTaskId
+ params.VisitTaskId = dicomInfo.visitTaskId
addOrUpdateArchiveTaskStudy(params)
.then((res) => {
if (dicomInfo.failedFileCount === dicomInfo.fileCount) {
@@ -1336,7 +1337,8 @@ export default {
resolve()
}
})
- .catch(() => {
+ .catch((err) => {
+ console.log(err)
let Record = {
Failed: [],
Existed: [],
@@ -1376,6 +1378,17 @@ export default {
reason()
})
},
+ canvasToBlob(canvas) {
+ return new Promise((resolve) => {
+ canvas.toBlob((blob) => {
+ resolve(blob)
+ })
+ })
+ },
+ generateTxtFile(text) {
+ let blob = new Blob(['\ufeff', text], { type: 'text/plain' })
+ return blob
+ },
},
}
diff --git a/src/views/trials/trials-panel/visit/qc-check/components/qualityAssurance.vue b/src/views/trials/trials-panel/visit/qc-check/components/qualityAssurance.vue
index 408326c0..50b31011 100644
--- a/src/views/trials/trials-panel/visit/qc-check/components/qualityAssurance.vue
+++ b/src/views/trials/trials-panel/visit/qc-check/components/qualityAssurance.vue
@@ -1467,7 +1467,7 @@ export default {
name: `${data.SubjectCode}_${data.VisitName}_${this.$fd(
'IsDicom',
true
- )}/${study.StudyCode}_${study.StudyTime}_${
+ )}/${study.StudyCode}_${study.StudyTime.split(" ")[0]}_${
series.Modality
}/${fileName}`,
url: this.OSSclientConfig.basePath + instance.Path,
@@ -1504,7 +1504,7 @@ export default {
name: `${data.SubjectCode}_${data.VisitName}_${this.$fd(
'IsDicom',
true
- )}/${study.StudyCode}_${study.ImageDate}_${study.Modality}/${
+ )}/${study.StudyCode}_${study.ImageDate.split(" ")[0]}_${study.Modality}/${
item.FileName
}`,
url: this.OSSclientConfig.basePath + item.Path,
From f6b90c4c059dd20a2e395bd1a7354dfa787466ee Mon Sep 17 00:00:00 2001
From: "DESKTOP-6C3NK6N\\WXS" <815034831@qq.com>
Date: Fri, 6 Sep 2024 11:03:05 +0800
Subject: [PATCH 3/4] =?UTF-8?q?ir=E4=B8=8A=E4=BC=A0dicom=E6=A0=A1=E9=AA=8C?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/api/load.js | 8 ++
.../uploadDicomAndNonedicom/dicomFile.vue | 74 ++++++++++++++++---
.../uploadDicomAndNonedicom/nonedicomFile.vue | 18 ++++-
src/utils/multipartUpload/aws.js | 6 +-
src/utils/multipartUpload/oss.js | 7 +-
.../dicoms/customize/CustomizeDicomViewer.vue | 9 +++
6 files changed, 105 insertions(+), 17 deletions(-)
diff --git a/src/api/load.js b/src/api/load.js
index d2532d31..f867992c 100644
--- a/src/api/load.js
+++ b/src/api/load.js
@@ -71,4 +71,12 @@ export function getIRUploadTaskNoneDicomStudyList(data) {
method: 'post',
data
})
+}
+// 校验上传影像
+export function verifyIRStudyAllowUpload(data) {
+ return request({
+ url: '/DownloadAndUpload/verifyIRStudyAllowUpload',
+ method: 'post',
+ data
+ })
}
\ No newline at end of file
diff --git a/src/components/uploadDicomAndNonedicom/dicomFile.vue b/src/components/uploadDicomAndNonedicom/dicomFile.vue
index a7292172..42a76c57 100644
--- a/src/components/uploadDicomAndNonedicom/dicomFile.vue
+++ b/src/components/uploadDicomAndNonedicom/dicomFile.vue
@@ -423,16 +423,17 @@