1
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
parent
d42e446953
commit
205b420074
|
@ -64,3 +64,11 @@ export function getIRReadingDownloadStudyInfo(data) {
|
||||||
data
|
data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
// 获取ir阅片和任务非dicom上传列表
|
||||||
|
export function getIRUploadTaskNoneDicomStudyList(data) {
|
||||||
|
return request({
|
||||||
|
url: '/DownloadAndUpload/getIRUploadTaskNoneDicomStudyList',
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
|
@ -12,7 +12,11 @@
|
||||||
<dicomFile />
|
<dicomFile />
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
<el-tab-pane label="非DICOM 影像">
|
<el-tab-pane label="非DICOM 影像">
|
||||||
<nonedicomFile />
|
<nonedicomFile
|
||||||
|
:SubjectId="SubjectId"
|
||||||
|
:SubjectCode="SubjectCode"
|
||||||
|
:Criterion="Criterion"
|
||||||
|
/>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
</el-tabs>
|
</el-tabs>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
@ -29,10 +33,20 @@ export default {
|
||||||
type: Boolean,
|
type: Boolean,
|
||||||
default: false,
|
default: false,
|
||||||
},
|
},
|
||||||
visitId: {
|
SubjectId: {
|
||||||
type: String,
|
type: String,
|
||||||
default: '',
|
default: '',
|
||||||
},
|
},
|
||||||
|
SubjectCode: {
|
||||||
|
type: String,
|
||||||
|
default: '',
|
||||||
|
},
|
||||||
|
Criterion: {
|
||||||
|
type: Object,
|
||||||
|
default: () => {
|
||||||
|
return {}
|
||||||
|
},
|
||||||
|
},
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
|
|
@ -0,0 +1,95 @@
|
||||||
|
<template>
|
||||||
|
<div class="nonedicomFile">
|
||||||
|
<div class="top">
|
||||||
|
<span>{{ $t('upload:nonedicom:title') }}</span>
|
||||||
|
</div>
|
||||||
|
<!--检查列表-->
|
||||||
|
<el-table
|
||||||
|
:data="list"
|
||||||
|
style="width: 100%"
|
||||||
|
v-adaptive="{ bottomOffset: 170 }"
|
||||||
|
:loading="loading"
|
||||||
|
>
|
||||||
|
<!--受试者-->
|
||||||
|
<el-table-column
|
||||||
|
prop="SubjectCode"
|
||||||
|
:label="$t('upload:nonedicom:table:subject')"
|
||||||
|
/>
|
||||||
|
<!--任务名称-->
|
||||||
|
<el-table-column
|
||||||
|
prop="TaskBlindName"
|
||||||
|
:label="$t('upload:nonedicom:table:taskName')"
|
||||||
|
/>
|
||||||
|
<!--检查类型-->
|
||||||
|
<el-table-column
|
||||||
|
prop="OrginalStudyList"
|
||||||
|
:label="$t('upload:nonedicom:table:molityType')"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
<!--检查部位-->
|
||||||
|
<el-table-column
|
||||||
|
prop="TaskBlindName"
|
||||||
|
:label="$t('upload:nonedicom:table:bodyPart')"
|
||||||
|
/>
|
||||||
|
<!--原文件数-->
|
||||||
|
<el-table-column
|
||||||
|
prop="TaskBlindName"
|
||||||
|
:label="$t('upload:nonedicom:table:fileCount')"
|
||||||
|
/>
|
||||||
|
<!--后处理文件数-->
|
||||||
|
<el-table-column
|
||||||
|
prop="TaskBlindName"
|
||||||
|
:label="$t('upload:dicom:table:uploadFileCount')"
|
||||||
|
/>
|
||||||
|
<el-table-column
|
||||||
|
:label="$t('common:action:action')"
|
||||||
|
fixed="right"
|
||||||
|
width="140"
|
||||||
|
>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<!--预览--->
|
||||||
|
<el-button
|
||||||
|
v-if="isUpload"
|
||||||
|
circle
|
||||||
|
icon="el-icon-delete"
|
||||||
|
:title="$t('upload:dicom:button:preview')"
|
||||||
|
/>
|
||||||
|
<!--删除--->
|
||||||
|
<el-button
|
||||||
|
v-if="isUpload"
|
||||||
|
circle
|
||||||
|
icon="el-icon-delete"
|
||||||
|
:title="$t('upload:dicom:button:delete')"
|
||||||
|
/>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import { getIRUploadTaskNoneDicomStudyList } from '@/api/load.js'
|
||||||
|
export default {
|
||||||
|
name: 'nonedicomFile',
|
||||||
|
props: {
|
||||||
|
SubjectId: {
|
||||||
|
type: String,
|
||||||
|
default: '',
|
||||||
|
},
|
||||||
|
SubjectCode: {
|
||||||
|
type: String,
|
||||||
|
default: '',
|
||||||
|
},
|
||||||
|
Criterion: {
|
||||||
|
type: Object,
|
||||||
|
default: () => {
|
||||||
|
return {}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.top {
|
||||||
|
margin: 10px 0;
|
||||||
|
}
|
||||||
|
</style>
|
|
@ -17,11 +17,7 @@ function zipFiles(zipName, files) {
|
||||||
} else {
|
} else {
|
||||||
let { name, url } = fileInfo.value;
|
let { name, url } = fileInfo.value;
|
||||||
url = decodeUtf8(url);
|
url = decodeUtf8(url);
|
||||||
return fetch(url, {
|
return fetch(url).then(res => {
|
||||||
headers: {
|
|
||||||
'Cross-Origin-Embedder-Policy': 'unsafe-none'
|
|
||||||
}
|
|
||||||
}).then(res => {
|
|
||||||
ctrl.enqueue({
|
ctrl.enqueue({
|
||||||
name,
|
name,
|
||||||
stream: () => res.body
|
stream: () => res.body
|
||||||
|
@ -46,11 +42,7 @@ async function updateFile(file, name) {
|
||||||
store.dispatch('trials/setUnLock', true)
|
store.dispatch('trials/setUnLock', true)
|
||||||
const fileOutputStream = streamSaver.createWriteStream(name);
|
const fileOutputStream = streamSaver.createWriteStream(name);
|
||||||
file = decodeUtf8(file);
|
file = decodeUtf8(file);
|
||||||
let res = await fetch(file, {
|
let res = await fetch(file);
|
||||||
headers: {
|
|
||||||
'Cross-Origin-Embedder-Policy': 'unsafe-none'
|
|
||||||
}
|
|
||||||
});
|
|
||||||
res.body.pipeTo(fileOutputStream).then(() => {
|
res.body.pipeTo(fileOutputStream).then(() => {
|
||||||
store.dispatch('trials/setUnLock', true)
|
store.dispatch('trials/setUnLock', true)
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in New Issue