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..a39ff0ce 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() { @@ -364,6 +366,9 @@ export default { this.modelList = item.DicomStudyList } else { this.modelList = item.NoneDicomStudyList + this.modelList.forEach((data) => { + data.SourceSubjectVisitId = item.SourceSubjectVisitId + }) } this.IsDicom = item.IsDicom this.model_cfg.visible = true @@ -379,6 +384,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}&visitTaskId=${row.VisitTaskId}&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..0207e11c 100644 --- a/src/components/uploadDicomAndNonedicom/nonedicomFile.vue +++ b/src/components/uploadDicomAndNonedicom/nonedicomFile.vue @@ -411,6 +411,9 @@ export default { created() { this.getList() }, + beforeDestroy() { + store.dispatch('trials/setUnLock', false) + }, methods: { async getList() { try { @@ -550,7 +553,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/components/uploadDicomAndNonedicom/study-view.vue b/src/components/uploadDicomAndNonedicom/study-view.vue index 92f06b67..520c0d73 100644 --- a/src/components/uploadDicomAndNonedicom/study-view.vue +++ b/src/components/uploadDicomAndNonedicom/study-view.vue @@ -118,10 +118,19 @@ export default { methods: { // 预览 preview(row) { - var token = getToken() - const routeData = this.$router.resolve({ - path: `/showdicom?studyId=${row.Id}&TokenKey=${token}&type=Study`, - }) + let routeData = null + if (this.IsDicom) { + var token = getToken() + routeData = this.$router.resolve({ + path: `/showdicom?studyId=${row.Id}&TokenKey=${token}&type=Study`, + }) + } else { + let trialId = this.$route.query.trialId + var token = getToken() + routeData = this.$router.resolve({ + path: `/showNoneDicoms?trialId=${trialId}&subjectVisitId=${row.SourceSubjectVisitId}&studyId=${row.Id}&TokenKey=${token}`, + }) + } window.open(routeData.href, '_blank') }, }, diff --git a/src/store/modules/trials.js b/src/store/modules/trials.js index 0422295e..cb52300b 100644 --- a/src/store/modules/trials.js +++ b/src/store/modules/trials.js @@ -9,7 +9,7 @@ const getDefaultState = () => { studyListQuery: null, unlock: false, config: {}, - uploadTip: '0.00kb/s', + uploadTip: '0.00KB/s', timer: null, whiteList: [], checkTaskId: null diff --git a/src/utils/multipartUpload/aws.js b/src/utils/multipartUpload/aws.js index 3de55a21..0fdd1a90 100644 --- a/src/utils/multipartUpload/aws.js +++ b/src/utils/multipartUpload/aws.js @@ -14,7 +14,7 @@ export function AWSclose() { if (timer) { clearInterval(timer); timer = null; - store.state.trials.uploadTip = '0kb/s' + store.state.trials.uploadTip = '0KB/s' } bytesReceivedPerSecond = {}; } @@ -440,10 +440,10 @@ function setTimer() { let timeList = Object.keys(bytesReceivedPerSecond).sort((a, b) => a - b); if (timeList.length > 0) { let totalBytes = timeList.reduce((sum, bytes) => sum + bytesReceivedPerSecond[bytes], 0) / (5 * 1024); - let unit = 'kb/s'; + let unit = 'KB/s'; if (totalBytes > 1024) { totalBytes = totalBytes / 1024; - unit = "mb/s"; + unit = "MB/s"; } store.state.trials.uploadTip = totalBytes.toFixed(2) + unit; } diff --git a/src/utils/multipartUpload/oss.js b/src/utils/multipartUpload/oss.js index 5ee667b4..16405723 100644 --- a/src/utils/multipartUpload/oss.js +++ b/src/utils/multipartUpload/oss.js @@ -8,7 +8,7 @@ export function OSSclose() { if (timer) { clearInterval(timer); timer = null; - store.state.trials.uploadTip = '0kb/s' + store.state.trials.uploadTip = '0KB/s' } bytesReceivedPerSecond = {}; savaData = {}; @@ -140,10 +140,10 @@ function setTimer() { let timeList = Object.keys(bytesReceivedPerSecond).sort((a, b) => a - b); if (timeList.length > 0) { let totalBytes = timeList.reduce((sum, bytes) => sum + bytesReceivedPerSecond[bytes], 0) / (5 * 1024); - let unit = 'kb/s'; + let unit = 'KB/s'; if (totalBytes > 1024) { totalBytes = totalBytes / 1024; - unit = "mb/s"; + unit = "MB/s"; } store.state.trials.uploadTip = totalBytes.toFixed(2) + unit; } diff --git a/src/views/dictionary/template/components/CriterionQuestionForm.vue b/src/views/dictionary/template/components/CriterionQuestionForm.vue index 6f5c12a7..27dd77fb 100644 --- a/src/views/dictionary/template/components/CriterionQuestionForm.vue +++ b/src/views/dictionary/template/components/CriterionQuestionForm.vue @@ -10,7 +10,15 @@ >
- + - + - + - + - + @@ -133,25 +129,27 @@ --> - - 无 - + @@ -183,13 +181,8 @@ /> - - + + - + - + - + - + - - - - - - - - - + + + + + + + + + - - - {{ item.label }} + + + {{ item.label }} - + - - - - - - - - + + + + + + + + --> - + - {{ item.label }} + {{ item.label }} - {{ item.label }} + {{ item.label }} - + --> - + - + diff --git a/src/views/recompose/index.vue b/src/views/recompose/index.vue index edc686f4..171d78ea 100644 --- a/src/views/recompose/index.vue +++ b/src/views/recompose/index.vue @@ -1,76 +1,130 @@ diff --git a/src/views/trials/trials-panel/reading/dicoms/customize/CustomizeDicomViewer.vue b/src/views/trials/trials-panel/reading/dicoms/customize/CustomizeDicomViewer.vue index 1d4e99bf..1502db5e 100644 --- a/src/views/trials/trials-panel/reading/dicoms/customize/CustomizeDicomViewer.vue +++ b/src/views/trials/trials-panel/reading/dicoms/customize/CustomizeDicomViewer.vue @@ -473,7 +473,7 @@
+ > {{ item.label }} @@ -103,7 +103,7 @@ @click.stop="handleCheckAllChange" type="success" >{{ - $t("trials:readingUnit:readingRules:title:CriterionModalitysAll") + $t('trials:readingUnit:readingRules:title:CriterionModalitysAll') }} @@ -183,7 +183,7 @@ " @change=" () => { - form.IsArbitrationReading = false; + form.IsArbitrationReading = false } " > @@ -233,8 +233,8 @@ @change=" (v) => { if (!v) { - form.IsGlobalReading = v; - form.IsOncologyReading = v; + form.IsGlobalReading = v + form.IsOncologyReading = v } } " @@ -307,15 +307,15 @@ " @change=" (v) => { - form.ImageDownloadEnum = 0; - form.ImageUploadEnum = 0; + form.ImageDownloadEnum = 0 + form.ImageUploadEnum = 0 if (v) { - form.IsReadingShowSubjectInfo = true; - form.IsReadingShowPreviousResults = true; - form.ReadingTaskViewEnum = 0; - form.IseCRFShowInDicomReading = false; + form.IsReadingShowSubjectInfo = true + form.IsReadingShowPreviousResults = true + form.ReadingTaskViewEnum = 0 + form.IseCRFShowInDicomReading = false } else { - form.ReadingTaskViewEnum = 2; + form.ReadingTaskViewEnum = 2 } } " @@ -352,11 +352,10 @@ - + @@ -564,21 +562,21 @@ > - {{ $t("common:button:save") }} + {{ $t('common:button:save') }}