1
continuous-integration/drone/push Build is passing Details

uat_us
DESKTOP-6C3NK6N\WXS 2024-09-05 09:09:13 +08:00
parent d42e446953
commit 205b420074
4 changed files with 121 additions and 12 deletions

View File

@ -64,3 +64,11 @@ export function getIRReadingDownloadStudyInfo(data) {
data data
}) })
} }
// 获取ir阅片和任务非dicom上传列表
export function getIRUploadTaskNoneDicomStudyList(data) {
return request({
url: '/DownloadAndUpload/getIRUploadTaskNoneDicomStudyList',
method: 'post',
data
})
}

View File

@ -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 {

View File

@ -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>

View File

@ -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)
}); });