下载、数据匿名问题修改
continuous-integration/drone/push Build is pending
Details
continuous-integration/drone/push Build is pending
Details
parent
64f0998896
commit
1a21aa38f3
|
|
@ -4468,9 +4468,10 @@ export function updateReadModuleClinicalData(data) {
|
|||
})
|
||||
}
|
||||
|
||||
export function getTrialUnreadVisitList(trialId) {
|
||||
export function getTrialUnreadVisitList(params) {
|
||||
return request({
|
||||
url: `/DownloadAndUpload/getTrialUnreadVisitList?trialId=${trialId}`,
|
||||
method: 'get'
|
||||
url: `/DownloadAndUpload/getTrialUnreadVisitList`,
|
||||
method: 'get',
|
||||
params,
|
||||
})
|
||||
}
|
||||
|
|
@ -329,21 +329,15 @@
|
|||
</el-form-item>
|
||||
<!-- 注射时间 HHMMSS-->
|
||||
<el-form-item :label="$t('trials:ptData:label:injectTime')" prop="RadiopharmaceuticalStartTime">
|
||||
<el-input
|
||||
v-model.trim="formData.RadiopharmaceuticalStartTime"
|
||||
:placeholder="$t('trials:injectTime:eg')"
|
||||
@blur="handleTimeBlur('RadiopharmaceuticalStartTime')"
|
||||
maxlength="6"
|
||||
style="width: 100%" @input="computeTimeRelation" :disabled="!isEdit"></el-input>
|
||||
<el-input v-model.trim="formData.RadiopharmaceuticalStartTime" :placeholder="$t('trials:injectTime:eg')"
|
||||
@blur="handleTimeBlur('RadiopharmaceuticalStartTime')" maxlength="6" style="width: 100%"
|
||||
@input="computeTimeRelation" :disabled="!isEdit"></el-input>
|
||||
</el-form-item>
|
||||
<!-- 成像时间 HHMMSS-->
|
||||
<el-form-item :label="$t('trials:ptData:label:acquisitionTime')" prop="AcquisitionTime">
|
||||
<el-input
|
||||
v-model.trim="formData.AcquisitionTime"
|
||||
@blur="handleTimeBlur('AcquisitionTime')"
|
||||
maxlength="6"
|
||||
:placeholder="$t('trials:injectTime:eg')"
|
||||
style="width: 100%" @input="computeTimeRelation" :disabled="!isEdit"></el-input>
|
||||
<el-input v-model.trim="formData.AcquisitionTime" @blur="handleTimeBlur('AcquisitionTime')" maxlength="6"
|
||||
:placeholder="$t('trials:injectTime:eg')" style="width: 100%" @input="computeTimeRelation"
|
||||
:disabled="!isEdit"></el-input>
|
||||
</el-form-item>
|
||||
<!-- 时间一致性检查 -->
|
||||
<!-- <el-form-item :label="$t('trials:ptData:label:timeCheck')">
|
||||
|
|
@ -590,7 +584,11 @@ export default {
|
|||
let res = await this.studyUndoMaskImage(data)
|
||||
if (!res) return false
|
||||
this.$emit("update:loading", true)
|
||||
if (instanceInfo.NumberOfFrames && instanceInfo.NumberOfFrames > 1) isAll = true
|
||||
let isMultiple = false
|
||||
if (instanceInfo.NumberOfFrames && instanceInfo.NumberOfFrames > 1 && isAll === false) {
|
||||
isAll = true;
|
||||
isMultiple = true;
|
||||
}
|
||||
if (!isAll) {
|
||||
let strs = image.imageId.split("?")
|
||||
let newImageId = `wadouri:${localStorage.getItem('location') !== 'USA' ? this.OSSclientConfig.basePath : this.OSSclientConfig.basePath}${res[0].Path}?${strs[1]}`
|
||||
|
|
@ -605,36 +603,49 @@ export default {
|
|||
this.series.imageIds.splice(index, 1, newImageId)
|
||||
await this.$refs[`dicomCanvas0`].reloadImage(newImageId)
|
||||
} else {
|
||||
let arr = []
|
||||
this.series.instanceInfoList.forEach(item => {
|
||||
let strs = item.ImageId.split("?")
|
||||
let info = res.find(i => item.Id === i.Id)
|
||||
let newImageId = `wadouri:${localStorage.getItem('location') !== 'USA' ? this.OSSclientConfig.basePath : this.OSSclientConfig.basePath}${info.Path}?${strs[1]}`
|
||||
if (instanceInfo.NumberOfFrames && instanceInfo.NumberOfFrames > 1) {
|
||||
for (let j = 0; j < instanceInfo.NumberOfFrames; j++) {
|
||||
let strList = strs[1].split("&")
|
||||
let s = ''
|
||||
strList.forEach(item => {
|
||||
if (item.includes('frame=')) {
|
||||
s += `frame=${j}`
|
||||
} else {
|
||||
s += `&${item}`
|
||||
}
|
||||
})
|
||||
arr.push(`wadouri:${localStorage.getItem('location') !== 'USA' ? this.OSSclientConfig.basePath : this.OSSclientConfig.basePath}${info.Path}?${s}`)
|
||||
}
|
||||
} else {
|
||||
arr.push(newImageId)
|
||||
}
|
||||
item.ImageId = newImageId
|
||||
item.IsMasked = false
|
||||
})
|
||||
this.series.imageIds = arr
|
||||
// this.loadImageStack(this.series)
|
||||
this.$refs[`dicomCanvas0`].loadImageStack(this.series)
|
||||
// let arr = []
|
||||
// this.series.instanceInfoList.forEach(item => {
|
||||
// let strs = item.ImageId.split("?")
|
||||
// let info = res.find(i => item.Id === i.Id)
|
||||
// if (info) {
|
||||
// let newImageId = `wadouri:${localStorage.getItem('location') !== 'USA' ? this.OSSclientConfig.basePath : this.OSSclientConfig.basePath}${info.Path}?${strs[1]}`
|
||||
// this.series.imageIds.forEach(i => {
|
||||
// let is = i.split("?")
|
||||
// if (is[0] === strs[0]) {
|
||||
// arr.push(newImageId)
|
||||
// } else {
|
||||
// if (isMultiple) {
|
||||
// arr.push(i)
|
||||
// }
|
||||
// }
|
||||
// })
|
||||
// // if (instanceInfo.NumberOfFrames && instanceInfo.NumberOfFrames > 1) {
|
||||
// // for (let j = 0; j < instanceInfo.NumberOfFrames; j++) {
|
||||
// // let strList = strs[1].split("&")
|
||||
// // let s = ''
|
||||
// // strList.forEach(item => {
|
||||
// // if (item.includes('frame=')) {
|
||||
// // s += `frame=${j}`
|
||||
// // } else {
|
||||
// // s += `&${item}`
|
||||
// // }
|
||||
// // })
|
||||
// // arr.push(`wadouri:${localStorage.getItem('location') !== 'USA' ? this.OSSclientConfig.basePath : this.OSSclientConfig.basePath}${info.Path}?${s}`)
|
||||
// // }
|
||||
// // } else {
|
||||
// // arr.push(newImageId)
|
||||
// // }
|
||||
// item.ImageId = newImageId
|
||||
// item.IsMasked = false
|
||||
// }
|
||||
|
||||
// })
|
||||
// this.series.imageIds = arr
|
||||
// // this.loadImageStack(this.series)
|
||||
// this.$refs[`dicomCanvas0`].loadImageStack(this.series)
|
||||
}
|
||||
this.$emit('loadStudy', this.series.seriesId)
|
||||
this.$emit("update:loading", false)
|
||||
this.$emit('loadStudy', false)
|
||||
})
|
||||
},
|
||||
anonymousImage(isAll = false) {
|
||||
|
|
@ -679,7 +690,11 @@ export default {
|
|||
let res = await this.studyMaskImage(data)
|
||||
if (!res || res.length <= 0) return this.$confirm(this.$t("DicomViewer:anonymous:studyMaskImageFail"))
|
||||
this.$emit("update:loading", true)
|
||||
if (instanceInfo.NumberOfFrames && instanceInfo.NumberOfFrames > 1) isAll = true
|
||||
let isMultiple = false
|
||||
if (instanceInfo.NumberOfFrames && instanceInfo.NumberOfFrames > 1 && isAll === false) {
|
||||
isAll = true;
|
||||
isMultiple = true;
|
||||
}
|
||||
if (!isAll) {
|
||||
let strs = image.imageId.split("?")
|
||||
let newImageId = `wadouri:${localStorage.getItem('location') !== 'USA' ? this.OSSclientConfig.basePath : this.OSSclientConfig.basePath}${res[0].Path}?${strs[1]}`
|
||||
|
|
@ -695,35 +710,50 @@ export default {
|
|||
await this.$refs[`dicomCanvas0`].reloadImage(newImageId)
|
||||
} else {
|
||||
let arr = []
|
||||
this.series.instanceInfoList.forEach(item => {
|
||||
let strs = item.ImageId.split("?")
|
||||
let info = res.find(i => item.Id === i.Id)
|
||||
let newImageId = `wadouri:${localStorage.getItem('location') !== 'USA' ? this.OSSclientConfig.basePath : this.OSSclientConfig.basePath}${info.Path}?${strs[1]}`
|
||||
if (instanceInfo.NumberOfFrames && instanceInfo.NumberOfFrames > 1) {
|
||||
for (let j = 0; j < instanceInfo.NumberOfFrames; j++) {
|
||||
let strList = strs[1].split("&")
|
||||
let s = ''
|
||||
strList.forEach(item => {
|
||||
if (item.includes('frame=')) {
|
||||
s += `frame=${j}`
|
||||
} else {
|
||||
s += `&${item}`
|
||||
}
|
||||
})
|
||||
arr.push(`wadouri:${localStorage.getItem('location') !== 'USA' ? this.OSSclientConfig.basePath : this.OSSclientConfig.basePath}${info.Path}?${s}`)
|
||||
}
|
||||
} else {
|
||||
arr.push(newImageId)
|
||||
}
|
||||
item.ImageId = newImageId
|
||||
item.IsMasked = true
|
||||
})
|
||||
this.series.imageIds = arr
|
||||
// this.loadImageStack(this.series)
|
||||
this.$refs[`dicomCanvas0`].loadImageStack(this.series)
|
||||
// this.series.instanceInfoList.forEach(item => {
|
||||
// let strs = item.ImageId.split("?")
|
||||
// let info = res.find(i => item.Id === i.Id)
|
||||
// if (info) {
|
||||
// let newImageId = `wadouri:${localStorage.getItem('location') !== 'USA' ? this.OSSclientConfig.basePath : this.OSSclientConfig.basePath}${info.Path}?${strs[1]}`
|
||||
// this.series.imageIds.forEach(i => {
|
||||
// let is = i.split("?")
|
||||
// if (is[0] === strs[0]) {
|
||||
// arr.push(newImageId)
|
||||
// } else {
|
||||
// if (isMultiple) {
|
||||
// arr.push(i)
|
||||
// }
|
||||
// }
|
||||
|
||||
// })
|
||||
// item.ImageId = newImageId
|
||||
// item.IsMasked = true
|
||||
// }
|
||||
// // if (instanceInfo.NumberOfFrames && instanceInfo.NumberOfFrames > 1) {
|
||||
|
||||
// // for (let j = 0; j < instanceInfo.NumberOfFrames; j++) {
|
||||
// // let strList = strs[1].split("&")
|
||||
// // let s = ''
|
||||
// // strList.forEach(item => {
|
||||
// // if (item.includes('frame=')) {
|
||||
// // s += `frame=${j}`
|
||||
// // } else {
|
||||
// // s += `&${item}`
|
||||
// // }
|
||||
// // })
|
||||
// // arr.push(`wadouri:${localStorage.getItem('location') !== 'USA' ? this.OSSclientConfig.basePath : this.OSSclientConfig.basePath}${info.Path}?${s}`)
|
||||
// // }
|
||||
// // } else {
|
||||
// // arr.push(newImageId)
|
||||
// // }
|
||||
// })
|
||||
// this.series.imageIds = arr
|
||||
// console.log(this.series, 'series')
|
||||
// // this.loadImageStack(this.series)
|
||||
// this.$refs[`dicomCanvas0`].loadImageStack(this.series)
|
||||
}
|
||||
this.$emit('loadStudy', this.series.seriesId)
|
||||
this.$emit("update:loading", false)
|
||||
this.$emit('loadStudy', false)
|
||||
})
|
||||
},
|
||||
openAnonymous() {
|
||||
|
|
|
|||
|
|
@ -308,7 +308,7 @@ export default {
|
|||
})
|
||||
})
|
||||
},
|
||||
async loadStudy(isJump = true) {
|
||||
async loadStudy(seriesId = null) {
|
||||
let params = {}
|
||||
if (this.isPacs) {
|
||||
params.IsPacs = true
|
||||
|
|
@ -328,7 +328,7 @@ export default {
|
|||
isReading = `?IsPacs=true`
|
||||
}
|
||||
const url = `/series/list/${this.studyId}${isReading}`
|
||||
this.getSeriesList(url, isJump)
|
||||
this.getSeriesList(url, seriesId)
|
||||
}
|
||||
},
|
||||
async loadPatientStudy() {
|
||||
|
|
@ -393,7 +393,7 @@ export default {
|
|||
console.log(err)
|
||||
}
|
||||
},
|
||||
async getSeriesList(url, isJump = true) {
|
||||
async getSeriesList(url, seriesId = null) {
|
||||
try {
|
||||
const data = await getSeriesList(url)
|
||||
if (data.IsSuccess) {
|
||||
|
|
@ -432,12 +432,12 @@ export default {
|
|||
isDeleted: item.IsDeleted,
|
||||
previewImageUrl: item.ImageResizePath ? this.OSSclientConfig.basePath + item.ImageResizePath : `/api/series/preview/${item.Id}`,
|
||||
instanceCount: item.InstanceCount,
|
||||
prefetchInstanceCount: !isJump ? item.InstanceInfoList.length * 100 : 0,
|
||||
prefetchInstanceCount: seriesId ? item.InstanceInfoList.length * 100 : 0,
|
||||
hasLabel: item.HasLabel,
|
||||
keySeries: item.KeySeries,
|
||||
tpCode: this.tpCode,
|
||||
loadStatus: false,
|
||||
imageloadedArr: [],
|
||||
imageloadedArr: seriesId ? imageIds : [],
|
||||
isExistMutiFrames: item.IsExistMutiFrames,
|
||||
isShowPopper: false,
|
||||
subjectCode: item.SubjectCode,
|
||||
|
|
@ -447,10 +447,12 @@ export default {
|
|||
this.seriesList = seriesList
|
||||
if (this.seriesList.length > 0) {
|
||||
this.loadAllImages()
|
||||
if (isJump) {
|
||||
this.$refs.dicomViewer.loadImageStack(this.seriesList[0], this.labels[this.tpCode])
|
||||
this.firstInstanceId = this.seriesList[0].imageIds[0]
|
||||
let index = 0;
|
||||
if (seriesId) {
|
||||
index = this.seriesList.findIndex(item => item.seriesId === seriesId)
|
||||
}
|
||||
this.$refs.dicomViewer.loadImageStack(this.seriesList[index], this.labels[this.tpCode])
|
||||
this.firstInstanceId = this.seriesList[index].imageIds[0]
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,8 @@
|
|||
<template>
|
||||
<div>
|
||||
<el-input v-model="input" placeholder="" clearable></el-input>
|
||||
<el-input v-model="pageIndex" placeholder="" clearable></el-input>
|
||||
<el-input v-model="pageSize" placeholder="" clearable></el-input>
|
||||
<el-button type="primary" size="small" :disabled="!input" @click.stop="getTrialUnreadVisitList">下载</el-button>
|
||||
</div>
|
||||
</template>
|
||||
|
|
@ -14,12 +16,19 @@ export default {
|
|||
// },
|
||||
data() {
|
||||
return {
|
||||
input: '08deab4a-f842-a7a4-0242-0a0001000000'
|
||||
input: '08deab4a-f842-a7a4-0242-0a0001000000',
|
||||
pageIndex: 1,
|
||||
pageSize: 250
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
async getTrialUnreadVisitList() {
|
||||
let res = await getTrialUnreadVisitList(this.input)
|
||||
let params = {
|
||||
TrialId: this.input,
|
||||
PageIndex: this.pageIndex,
|
||||
PageSize: this.pageSize,
|
||||
}
|
||||
let res = await getTrialUnreadVisitList(params)
|
||||
if (res.IsSuccess) {
|
||||
let arr = res.Result
|
||||
this.LoopDownload(arr, 0)
|
||||
|
|
@ -118,7 +127,7 @@ export default {
|
|||
noneDicomStudy.FileList.forEach(file => {
|
||||
let time = noneDicomStudy.ImageDate.split(' ')[0]
|
||||
let obj = {
|
||||
name: `${visit.TrialSiteCode}/${visit.SubjectCode}/${visit.VisitName}/${noneDicomStudy.StudyCode}_${time}_${noneDicomStudy.Modality}/${file.FileName}`,
|
||||
name: `${noneDicomStudy.StudyCode}_${time}_${noneDicomStudy.Modality}/${file.FileName}`,
|
||||
url: this.OSSclientConfig.basePath + file.Path,
|
||||
}
|
||||
files.push(obj)
|
||||
|
|
|
|||
Loading…
Reference in New Issue