Merge branch 'main' of https://gitea.frp.extimaging.com/XCKJ/irc_web into main
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
commit
b7a19c2581
|
@ -8,11 +8,11 @@ export function requestPackageAndAnonymizImage(params) {
|
|||
})
|
||||
}
|
||||
// 获取影像上传列表
|
||||
export function getSubjectImageUploadList(params) {
|
||||
export function getSubjectImageUploadList(data) {
|
||||
return request({
|
||||
url: '/DownloadAndUpload/getSubjectImageUploadList',
|
||||
method: 'get',
|
||||
params
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
// 预上传
|
||||
|
@ -71,4 +71,12 @@ export function getIRUploadTaskNoneDicomStudyList(data) {
|
|||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
// 校验上传影像
|
||||
export function verifyIRStudyAllowUpload(data) {
|
||||
return request({
|
||||
url: '/DownloadAndUpload/verifyIRStudyAllowUpload',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
File diff suppressed because it is too large
Load Diff
|
@ -12,7 +12,12 @@
|
|||
:label="$t('uploadDicomAndNonedicom:label:dicom')"
|
||||
name="dicom"
|
||||
>
|
||||
<dicomFile />
|
||||
<dicomFile
|
||||
v-if="activeName === 'dicom'"
|
||||
:SubjectId="SubjectId"
|
||||
:SubjectCode="SubjectCode"
|
||||
:Criterion="Criterion"
|
||||
/>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane
|
||||
:label="$t('uploadDicomAndNonedicom:label:nonedicom')"
|
||||
|
|
|
@ -135,8 +135,10 @@
|
|||
<!--预览--->
|
||||
<el-button
|
||||
circle
|
||||
:disabled="scope.row.UploadedFileCount <= 0"
|
||||
icon="el-icon-view"
|
||||
:title="$t('upload:nonedicom:button:preview')"
|
||||
@click.stop="handlePreviewNoneDicomFiles(scope.row)"
|
||||
/>
|
||||
<!--上传--->
|
||||
<el-button
|
||||
|
@ -334,6 +336,7 @@ import {
|
|||
} from '@/api/load.js'
|
||||
import { preArchiveStudy, uploadNoneDicomFile } from '@/api/trials'
|
||||
import store from '@/store'
|
||||
import { getToken } from '@/utils/auth'
|
||||
let defaultSearchData = () => {
|
||||
return {
|
||||
SubjectId: null,
|
||||
|
@ -377,6 +380,7 @@ export default {
|
|||
btnLoading: false,
|
||||
currentRow: {},
|
||||
studyMonitorId: null,
|
||||
open: null,
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
|
@ -404,7 +408,7 @@ export default {
|
|||
store.dispatch('trials/setUnLock', this.btnLoading)
|
||||
},
|
||||
},
|
||||
mounted() {
|
||||
created() {
|
||||
this.getList()
|
||||
},
|
||||
methods: {
|
||||
|
@ -534,10 +538,22 @@ export default {
|
|||
// 预览文件
|
||||
previewFile(row) {
|
||||
// window.open(row.FullFilePath, '_blank')
|
||||
this.imgObj.url = row.FullFilePath
|
||||
this.imgObj.url = row.FullFilePath || row.Path
|
||||
this.imgObj.loading = true
|
||||
this.imgObj.visible = true
|
||||
},
|
||||
// 预览单个检查下非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')
|
||||
},
|
||||
// 删除
|
||||
async remove(item) {
|
||||
try {
|
||||
|
|
|
@ -126,13 +126,13 @@ async function uploadFile({ s3, fileInformation, uploadId, bucket, changeStatus,
|
|||
let timeList = Object.keys(bytesReceivedPerSecond).sort((a, b) => a - b);
|
||||
let bytesTime = timeList.find(item => time - item < 1000);
|
||||
if (bytesTime) {
|
||||
bytesReceivedPerSecond[bytesTime] += fileInformation.file.size * percentage;
|
||||
bytesReceivedPerSecond[bytesTime] += fileInformation.file.size * (percentage - lastPercentage);
|
||||
} else {
|
||||
console.log("未查询到时间")
|
||||
if (timeList.length > 0) {
|
||||
bytesReceivedPerSecond[timeList[timeList.length - 1]] += fileInformation.file.size * percentage;
|
||||
bytesReceivedPerSecond[timeList[timeList.length - 1]] += fileInformation.file.size * (percentage - lastPercentage);
|
||||
} else {
|
||||
bytesReceivedPerSecond[time] = fileInformation.file.size * percentage;
|
||||
bytesReceivedPerSecond[time] = fileInformation.file.size * (percentage - lastPercentage);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -57,13 +57,13 @@ async function multipartUpload(OSSclient, partSize, saveFileId, uploadFile, data
|
|||
let timeList = Object.keys(bytesReceivedPerSecond).sort((a, b) => a - b);
|
||||
let bytesTime = timeList.find(item => time - item < 1000);
|
||||
if (bytesTime) {
|
||||
bytesReceivedPerSecond[bytesTime] += data.file.size * percentage;
|
||||
bytesReceivedPerSecond[bytesTime] += data.file.size * (percentage - checkData[saveFileId]);
|
||||
} else {
|
||||
console.log("未查询到时间")
|
||||
if (timeList.length > 0) {
|
||||
bytesReceivedPerSecond[timeList[timeList.length - 1]] += data.file.size * percentage;
|
||||
bytesReceivedPerSecond[timeList[timeList.length - 1]] += data.file.size * (percentage - checkData[saveFileId]);
|
||||
} else {
|
||||
bytesReceivedPerSecond[time] = data.file.size * percentage;
|
||||
bytesReceivedPerSecond[time] = data.file.size * (percentage - checkData[saveFileId]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -136,6 +136,7 @@ function initPage() {
|
|||
function setTimer() {
|
||||
if (timer) return false;
|
||||
timer = setInterval(() => {
|
||||
console.log(Object.assign({}, bytesReceivedPerSecond))
|
||||
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);
|
||||
|
|
|
@ -657,6 +657,13 @@
|
|||
:criterion="trialCriterion"
|
||||
:status="uploadStatus"
|
||||
/> -->
|
||||
<upload-dicom-and-nonedicom
|
||||
v-if="uploadImageVisible"
|
||||
:SubjectId="uploadSubjectId"
|
||||
:SubjectCode="uploadSubjectCode"
|
||||
:Criterion="uploadTrialCriterion"
|
||||
:visible.sync="uploadImageVisible"
|
||||
/>
|
||||
<download-dicom-and-nonedicom
|
||||
v-if="downloadImageVisible"
|
||||
:SubjectId="uploadSubjectId"
|
||||
|
@ -688,6 +695,7 @@ import { mapGetters } from 'vuex'
|
|||
import store from '@/store'
|
||||
import { getDoctorShortcutKey, getUserWLTemplateList } from '@/api/user'
|
||||
import uploadImage from '@/components/uploadImage'
|
||||
import uploadDicomAndNonedicom from '@/components/uploadDicomAndNonedicom'
|
||||
import downloadDicomAndNonedicom from '@/components/downloadDicomAndNonedicom'
|
||||
import { getCriterionReadingInfo } from '@/api/trials'
|
||||
export default {
|
||||
|
@ -702,6 +710,7 @@ export default {
|
|||
MeasurementList,
|
||||
'upload-image': uploadImage,
|
||||
'download-dicom-and-nonedicom': downloadDicomAndNonedicom,
|
||||
'upload-dicom-and-nonedicom': uploadDicomAndNonedicom,
|
||||
},
|
||||
props: {
|
||||
isExistsClinicalData: {
|
||||
|
|
|
@ -1076,7 +1076,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
|
||||
|
|
|
@ -1467,7 +1467,7 @@ export default {
|
|||
name: `${data.SubjectCode}_${data.VisitName}_${this.$fd(
|
||||
'IsDicom',
|
||||
true
|
||||
)}/${study.StudyCode}_${study.StudyTime}_${
|
||||
)}/${study.StudyCode}_${study.StudyTime.split(" ")[0]}_${
|
||||
series.Modality
|
||||
}/${fileName}`,
|
||||
url: this.OSSclientConfig.basePath + instance.Path,
|
||||
|
@ -1504,7 +1504,7 @@ export default {
|
|||
name: `${data.SubjectCode}_${data.VisitName}_${this.$fd(
|
||||
'IsDicom',
|
||||
true
|
||||
)}/${study.StudyCode}_${study.ImageDate}_${study.Modality}/${
|
||||
)}/${study.StudyCode}_${study.ImageDate.split(" ")[0]}_${study.Modality}/${
|
||||
item.FileName
|
||||
}`,
|
||||
url: this.OSSclientConfig.basePath + item.Path,
|
||||
|
|
Loading…
Reference in New Issue