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 @@
>
- {typeChange(val, form)})">
+ {
+ typeChange(val, form)
+ }
+ "
+ >
-
+
-
+
-
+
-
+
@@ -133,25 +129,27 @@
-->
{questionGenreChange(val, form)})"
+ @change="
+ (val) => {
+ questionGenreChange(val, form)
+ }
+ "
>
-
- 无
-
+ 无
@@ -183,13 +181,8 @@
/>
-
-
+
+
- {form.DefaultValue = null}">
+ {
+ form.DefaultValue = null
+ }
+ "
+ >
-
+
-
+
-
+
{isShowQuestionChange(val, form)})"
+ @change="
+ (val) => {
+ isShowQuestionChange(val, form)
+ }
+ "
>
{parentQuestionChange(val, form)})"
+ @change="
+ (val) => {
+ parentQuestionChange(val, form)
+ }
+ "
>
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
-
- {isJudgeQuestionChange(val, form)})">
- {{ item.label }}
+
+ {
+ isJudgeQuestionChange(val, form)
+ }
+ "
+ >
+ {{ item.label }}
-
+
{isRequiredChange(val, form)})"
+ :disabled="form.IsJudgeQuestion === true || form.ShowQuestion === 2"
+ @change="
+ (val) => {
+ isRequiredChange(val, form)
+ }
+ "
>
{relevanceQuestionChange(val, form)})"
+ @change="
+ (val) => {
+ relevanceQuestionChange(val, form)
+ }
+ "
>
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-->
-
+
- {{ item.label }}
+ {{ item.label }}
- {{ item.label }}
+ {{ item.label }}
-
+
-->
-
+
-
+
- {{ item.label }}
+ {{ item.label }}
-
+
-