diff --git a/src/api/trials.js b/src/api/trials.js
index bd299412..a07d282a 100644
--- a/src/api/trials.js
+++ b/src/api/trials.js
@@ -1364,9 +1364,9 @@ export function getForwardList(param) {
})
}
-export function getNoneDicomStudyList(subjectVisitId, sudyId = '', isFilterZip = false) {
+export function getNoneDicomStudyList(subjectVisitId, sudyId = '', isFilterZip = false, visitTaskId = '') {
return request({
- url: `/NoneDicomStudy/getNoneDicomStudyList?subjectVisitId=${subjectVisitId}&nonedicomStudyId=${sudyId}&isFilterZip=${isFilterZip}`,
+ url: `/NoneDicomStudy/getNoneDicomStudyList?subjectVisitId=${subjectVisitId}&nonedicomStudyId=${sudyId}&isFilterZip=${isFilterZip}&visitTaskId=${visitTaskId}`,
method: 'get'
})
}
diff --git a/src/components/downloadDicomAndNonedicom/index.vue b/src/components/downloadDicomAndNonedicom/index.vue
index 0564608d..477a7d9f 100644
--- a/src/components/downloadDicomAndNonedicom/index.vue
+++ b/src/components/downloadDicomAndNonedicom/index.vue
@@ -148,6 +148,7 @@ import {
import studyView from '@/components/uploadDicomAndNonedicom/study-view.vue'
import store from '@/store'
import { downLoadFile } from '@/utils/stream.js'
+import { getToken } from '@/utils/auth'
let defaultSearchData = () => {
return {
SubjectId: null,
@@ -202,6 +203,7 @@ export default {
},
modelList: [],
IsDicom: true,
+ open: null,
}
},
mounted() {
@@ -379,6 +381,37 @@ export default {
this.searchData.PageIndex = 1
this.getList()
},
+ preview(row) {
+ if (!row.IsDicom) {
+ this.handlePreviewNoneDicomFiles(row)
+ } else {
+ this.handleViewReadingImages(row)
+ }
+ },
+ // 预览单个检查下非Dicom文件
+ handlePreviewNoneDicomFiles(row) {
+ if (this.open) {
+ this.open.close()
+ }
+ let trialId = this.$route.query.trialId
+ var token = getToken()
+ const routeData = this.$router.resolve({
+ path: `/showNoneDicoms?trialId=${trialId}&subjectVisitId=${row.SourceSubjectVisitId}&studyId=${row.Id}&TokenKey=${token}`,
+ })
+ this.open = window.open(routeData.href, '_blank')
+ },
+ // 预览阅片影像
+ handleViewReadingImages(row) {
+ if (this.open) {
+ this.open.close()
+ }
+ var token = getToken()
+ let trialId = this.$route.query.trialId
+ const routeData = this.$router.resolve({
+ path: `/showvisitdicoms?trialId=${trialId}&visitInfo=${row.VisitName}(${row.VisitNum})&subjectVisitId=${row.SourceSubjectVisitId}&isReading=1&TokenKey=${token}`,
+ })
+ this.open = window.open(routeData.href, '_blank')
+ },
},
}
diff --git a/src/components/uploadDicomAndNonedicom/dicomFile.vue b/src/components/uploadDicomAndNonedicom/dicomFile.vue
index 0b8f31ea..193a80d2 100644
--- a/src/components/uploadDicomAndNonedicom/dicomFile.vue
+++ b/src/components/uploadDicomAndNonedicom/dicomFile.vue
@@ -115,6 +115,11 @@
@@ -453,6 +458,7 @@ import { convertBytes } from '@/utils/dicom-character-set'
import { parseDicom } from '@/utils/parseDicom.js'
import { dcmUpload } from '@/utils/dcmUpload/dcmUpload'
import store from '@/store'
+import { getToken } from '@/utils/auth'
export default {
name: 'dicomFile',
props: {
@@ -505,6 +511,7 @@ export default {
trialId: null,
subjectVisitId: null,
errStudyUidList: [],
+ open: null,
}
},
created() {
@@ -1444,6 +1451,18 @@ export default {
let blob = new Blob(['\ufeff', text], { type: 'text/plain' })
return blob
},
+ // 预览阅片影像
+ handleViewReadingImages(row) {
+ if (this.open) {
+ this.open.close()
+ }
+ var token = getToken()
+ let trialId = this.$route.query.trialId
+ const routeData = this.$router.resolve({
+ path: `/showvisitdicoms?trialId=${trialId}&visitInfo=${row.VisitName}(${row.VisitNum})&subjectVisitId=${row.SourceSubjectVisitId}&isReading=1&TokenKey=${token}`,
+ })
+ this.open = window.open(routeData.href, '_blank')
+ },
},
}
diff --git a/src/components/uploadDicomAndNonedicom/index.vue b/src/components/uploadDicomAndNonedicom/index.vue
index 058f4514..472ece43 100644
--- a/src/components/uploadDicomAndNonedicom/index.vue
+++ b/src/components/uploadDicomAndNonedicom/index.vue
@@ -62,10 +62,13 @@ export default {
},
data() {
return {
- title: 'Upload Images:01 > 01001 >Timepoint',
+ title: '',
activeName: 'dicom',
}
},
+ mounted() {
+ this.title = `Upload Images:${this.SubjectCode}(${this.Criterion.TrialReadingCriterionName})`
+ },
methods: {
beforeClose() {
this.$emit('update:visible', false)
diff --git a/src/components/uploadDicomAndNonedicom/nonedicomFile.vue b/src/components/uploadDicomAndNonedicom/nonedicomFile.vue
index 8d28d1e3..343ef12d 100644
--- a/src/components/uploadDicomAndNonedicom/nonedicomFile.vue
+++ b/src/components/uploadDicomAndNonedicom/nonedicomFile.vue
@@ -550,7 +550,7 @@ export default {
let trialId = this.$route.query.trialId
var token = getToken()
const routeData = this.$router.resolve({
- path: `/showNoneDicoms?trialId=${trialId}&subjectVisitId=${row.SourceSubjectVisitId}&studyId=${row.Id}&TokenKey=${token}`,
+ path: `/showNoneDicoms?trialId=${trialId}&subjectVisitId=${row.SourceSubjectVisitId}&studyId=${row.Id}&visitTaskId=${row.VisitTaskId}&TokenKey=${token}`,
})
this.open = window.open(routeData.href, '_blank')
},
diff --git a/src/views/none-dicom-show/index.vue b/src/views/none-dicom-show/index.vue
index 907afd59..0c5506b7 100644
--- a/src/views/none-dicom-show/index.vue
+++ b/src/views/none-dicom-show/index.vue
@@ -6,54 +6,61 @@
-
+
{{ study.CodeView }}
- {{ study.Modality }}
+ {{ study.Modality }}
{{ getBodyPart(study.BodyPart) }}
-
+
{{ $t('trials:audit:message:noData') }}
-
+
- {{ `${j+1}. ${item.FileName}` }}
+ {{ `${j + 1}. ${item.FileName}` }}
- {{ `${j+1}. ${item.FileName}` }}
+ {{ `${j + 1}. ${item.FileName}` }}
-
-
-
diff --git a/src/views/trials/trials-panel/visit/crc-upload/components/uploadDicomFiles2.vue b/src/views/trials/trials-panel/visit/crc-upload/components/uploadDicomFiles2.vue
index 267bb120..8551d896 100644
--- a/src/views/trials/trials-panel/visit/crc-upload/components/uploadDicomFiles2.vue
+++ b/src/views/trials/trials-panel/visit/crc-upload/components/uploadDicomFiles2.vue
@@ -539,10 +539,11 @@
icon="el-icon-view"
circle
:disabled="
- scope.row.uploadState.stateCode !== '' &&
- scope.row.dicomInfo.failedFileCount <
- scope.row.dicomInfo.fileCount &&
- !scope.row.uploadState.record
+ (scope.row.uploadState.stateCode !== '' &&
+ scope.row.dicomInfo.failedFileCount <
+ scope.row.dicomInfo.fileCount &&
+ !scope.row.uploadState.record) ||
+ btnLoading
"
:title="$t('trials:uploadedDicoms:action:preview')"
size="small"
@@ -555,10 +556,11 @@
:title="$t('trials:uploadedDicoms:action:delete')"
size="small"
:disabled="
- scope.row.uploadState.stateCode !== '' &&
- scope.row.dicomInfo.failedFileCount <
- scope.row.dicomInfo.fileCount &&
- !scope.row.uploadState.record
+ (scope.row.uploadState.stateCode !== '' &&
+ scope.row.dicomInfo.failedFileCount <
+ scope.row.dicomInfo.fileCount &&
+ !scope.row.uploadState.record) ||
+ btnLoading
"
@click="handleDelete(scope.$index, scope.row)"
/>
@@ -1076,7 +1078,7 @@ export default {
// 按序列UUID本地归档
parseDicomFile(file) {
var scope = this
- return new Promise(function (resolve, reject) {
+ return new Promise(function (resolve, reject) {
if (scope.scanState === 'cancelling') {
resolve()
return