Compare commits
No commits in common. "5a1b64a023203dde23fad49f5f7d3e3f530ccacb" and "0261fb04c676ab2756c9df0e30227800c9f73e03" have entirely different histories.
5a1b64a023
...
0261fb04c6
|
|
@ -57,7 +57,6 @@
|
||||||
<div style="position: absolute;top: 50%;left: 15px;color: #f44336;">{{ markers.left }}</div>
|
<div style="position: absolute;top: 50%;left: 15px;color: #f44336;">{{ markers.left }}</div>
|
||||||
|
|
||||||
<div class="info-instance">
|
<div class="info-instance">
|
||||||
<svg-icon icon-class="IsMasked" style="font-size:20px;" v-show="dicomInfo.IsMasked" />
|
|
||||||
<!-- <div v-show="dicomInfo.pixel">
|
<!-- <div v-show="dicomInfo.pixel">
|
||||||
Pixel: {{ dicomInfo.pixel }}mm
|
Pixel: {{ dicomInfo.pixel }}mm
|
||||||
</div>-->
|
</div>-->
|
||||||
|
|
@ -141,7 +140,6 @@ export default {
|
||||||
zoom: 0,
|
zoom: 0,
|
||||||
location: '',
|
location: '',
|
||||||
fps: 5,
|
fps: 5,
|
||||||
IsMasked: false
|
|
||||||
},
|
},
|
||||||
toolState: {
|
toolState: {
|
||||||
initialized: false,
|
initialized: false,
|
||||||
|
|
@ -387,8 +385,6 @@ export default {
|
||||||
e.detail.enabledElement.options = {}
|
e.detail.enabledElement.options = {}
|
||||||
var data = e.detail.image.data
|
var data = e.detail.image.data
|
||||||
this.dicomInfo.hospital = data.string('x00080080')
|
this.dicomInfo.hospital = data.string('x00080080')
|
||||||
let instanceInfo = this.series.instanceInfoList.find(item => item.ImageId === e.detail.image.imageId)
|
|
||||||
this.dicomInfo.IsMasked = instanceInfo.IsMasked
|
|
||||||
// this.dicomInfo.pid = data.string('x00100020')
|
// this.dicomInfo.pid = data.string('x00100020')
|
||||||
this.dicomInfo.pid = data.string('x00120040')
|
this.dicomInfo.pid = data.string('x00120040')
|
||||||
this.dicomInfo.name = data.string('x00100010')
|
this.dicomInfo.name = data.string('x00100010')
|
||||||
|
|
|
||||||
|
|
@ -7,25 +7,16 @@
|
||||||
</div>
|
</div>
|
||||||
</div>-->
|
</div>-->
|
||||||
<div class="Anonymous" v-if="isAnonymous">
|
<div class="Anonymous" v-if="isAnonymous">
|
||||||
<div
|
<div :class="{ btn: true, activeBtn: activeTool === 'Note_RectangleRoi' }"
|
||||||
:class="{ btn: true, activeBtn: activeTool === 'Note_RectangleRoi' && !isComparison, isNoted: isComparison }"
|
@click="setToolActive($event, 'Note_RectangleRoi')">矩形</div>
|
||||||
@click="setToolActive($event, 'Note_RectangleRoi')">{{
|
<div :class="{ btn: true, activeBtn: activeTool === 'Eraser' }" @click="setToolActive($event, 'Eraser')">清除
|
||||||
$t('DicomViewer:anonymous:Note_RectangleRoi') }}</div>
|
|
||||||
<div :class="{ btn: true, activeBtn: activeTool === 'Eraser' && !isComparison, isNoted: isComparison }"
|
|
||||||
@click="setToolActive($event, 'Eraser')">{{
|
|
||||||
$t('DicomViewer:anonymous:Eraser') }}
|
|
||||||
</div>
|
</div>
|
||||||
<div :class="{ btn: true, isNoted: isComparison }" @click="anonymousImage(false)">{{
|
<div class="btn" @click="anonymousImage">应用</div>
|
||||||
$t('DicomViewer:anonymous:Application') }}</div>
|
<div class="btn">应用整个序列</div>
|
||||||
<div :class="{ btn: true, isNoted: isComparison }" @click="anonymousImage(true)">{{
|
|
||||||
$t('DicomViewer:anonymous:ApplicationAll') }}</div>
|
|
||||||
<!-- <div class="btn">刷新图像</div> -->
|
<!-- <div class="btn">刷新图像</div> -->
|
||||||
<div class="btn" v-if="!isComparison" @click="comparison(true)">{{
|
<div class="btn" v-if="!isComparison">对比</div>
|
||||||
$t('DicomViewer:anonymous:Comparison') }}</div>
|
<div class="btn" v-else>退出</div>
|
||||||
<div class="btn" v-else @click="comparison(false)">{{
|
<div class="btn">恢复</div>
|
||||||
$t('DicomViewer:anonymous:Exit') }}</div>
|
|
||||||
<div :class="{ btn: true, isNoted: isComparison }" @click="recovery(false)">{{
|
|
||||||
$t('DicomViewer:anonymous:Recovery') }}</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div v-show="layoutRow >= 1" class="dicom-row" :style="{ height: rowHeight }">
|
<div v-show="layoutRow >= 1" class="dicom-row" :style="{ height: rowHeight }">
|
||||||
<div v-show="layoutRow >= 1 && layoutCol >= 1" class="dicom-item"
|
<div v-show="layoutRow >= 1 && layoutCol >= 1" class="dicom-item"
|
||||||
|
|
@ -99,9 +90,7 @@
|
||||||
<option value="3x2">3x2</option>
|
<option value="3x2">3x2</option>
|
||||||
<option value="3x3">3x3</option>
|
<option value="3x3">3x3</option>
|
||||||
</select>
|
</select>
|
||||||
<div class="btnBox" v-if="hasAnonymous" @click="openAnonymous">{{ $t('DicomViewer:anonymous:PixelAnonymity')
|
<div class="btnBox" @click="openAnonymous">像素匿名</div>
|
||||||
}}
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- 图像变换 -->
|
<!-- 图像变换 -->
|
||||||
|
|
@ -341,7 +330,7 @@
|
||||||
<!-- 提交 -->
|
<!-- 提交 -->
|
||||||
<el-form-item style="margin-top: 20px;text-align: right;" v-if="isEdit">
|
<el-form-item style="margin-top: 20px;text-align: right;" v-if="isEdit">
|
||||||
<el-button type="primary" @click="submitForm" size="small">{{ $t('trials:ptData:button:submit')
|
<el-button type="primary" @click="submitForm" size="small">{{ $t('trials:ptData:button:submit')
|
||||||
}}</el-button>
|
}}</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -386,10 +375,6 @@ export default {
|
||||||
type: Boolean,
|
type: Boolean,
|
||||||
default: false
|
default: false
|
||||||
},
|
},
|
||||||
Comparison: {
|
|
||||||
type: Boolean,
|
|
||||||
default: false
|
|
||||||
},
|
|
||||||
modality: {
|
modality: {
|
||||||
type: String,
|
type: String,
|
||||||
default: ''
|
default: ''
|
||||||
|
|
@ -411,7 +396,6 @@ export default {
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
hasAnonymous: false,
|
|
||||||
isAnonymous: false,
|
isAnonymous: false,
|
||||||
isComparison: false,
|
isComparison: false,
|
||||||
activeTool: '',
|
activeTool: '',
|
||||||
|
|
@ -480,8 +464,6 @@ export default {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
let type = this.$router.currentRoute.query.type ? this.$router.currentRoute.query.type : ''
|
|
||||||
this.hasAnonymous = type === 'Study'
|
|
||||||
this.customWwc = {
|
this.customWwc = {
|
||||||
visible: false,
|
visible: false,
|
||||||
title: this.$t('DicomViewer:data:customWwc'),
|
title: this.$t('DicomViewer:data:customWwc'),
|
||||||
|
|
@ -499,116 +481,11 @@ export default {
|
||||||
},
|
},
|
||||||
|
|
||||||
methods: {
|
methods: {
|
||||||
comparison(f) {
|
anonymousImage() {
|
||||||
this.isComparison = f
|
console.log(this.series, 'this.series')
|
||||||
this.$emit("update:Comparison", f)
|
|
||||||
const elements = document.querySelectorAll('.dicom-item')
|
|
||||||
const scope = this
|
|
||||||
Array.from(elements).forEach((element, index) => {
|
|
||||||
if (element.style.display !== 'none') {
|
|
||||||
scope.$refs[`dicomCanvas${index}`].setToolPassive(scope.activeTool)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
scope.activeTool = null
|
|
||||||
if (this.isComparison) {
|
|
||||||
this.$refs[`dicomCanvas0`].getNote_RectangleRoi().then(obj => {
|
|
||||||
let { image } = obj
|
|
||||||
let instanceInfo = this.series.instanceInfoList.find(item => item.ImageId === image.imageId)
|
|
||||||
if (!instanceInfo.IsMasked) return this.$confirm(this.$t("DicomViewer:anonymous:notMasked"))
|
|
||||||
this.changeLayout('1x2')
|
|
||||||
let serie = {}
|
|
||||||
Object.keys(this.series).forEach(key => {
|
|
||||||
if (key !== 'instanceInfoList' && key !== 'imageIds') {
|
|
||||||
serie[key] = this.series[key]
|
|
||||||
}
|
|
||||||
})
|
|
||||||
let imageId = image.imageId
|
|
||||||
let newImageId = imageId.split("?")[0].split(".MaskDicom_")[0] + "?" + imageId.split("?")[1]
|
|
||||||
let info0 = {}, info1 = {}
|
|
||||||
Object.keys(instanceInfo).forEach(key => {
|
|
||||||
info0[key] = instanceInfo[key]
|
|
||||||
info1[key] = instanceInfo[key]
|
|
||||||
})
|
|
||||||
info0.ImageId = imageId
|
|
||||||
info1.ImageId = newImageId
|
|
||||||
console.log(info0)
|
|
||||||
console.log(info1)
|
|
||||||
let dicomCanvas0_info = Object.assign({
|
|
||||||
instanceInfoList: [
|
|
||||||
info0
|
|
||||||
],
|
|
||||||
imageIds: [imageId]
|
|
||||||
}, serie)
|
|
||||||
let dicomCanvas1_info = Object.assign({
|
|
||||||
instanceInfoList: [
|
|
||||||
info1
|
|
||||||
],
|
|
||||||
imageIds: [newImageId]
|
|
||||||
}, serie)
|
|
||||||
console.log(dicomCanvas0_info, 'dicomCanvas0_info')
|
|
||||||
console.log(dicomCanvas1_info, 'dicomCanvas0_info')
|
|
||||||
this.$refs[`dicomCanvas0`].loadImageStack(dicomCanvas0_info)
|
|
||||||
this.$refs[`dicomCanvas1`].loadImageStack(dicomCanvas1_info)
|
|
||||||
})
|
|
||||||
} else {
|
|
||||||
this.changeLayout('1x1')
|
|
||||||
this.$refs[`dicomCanvas0`].loadImageStack(this.series)
|
|
||||||
}
|
|
||||||
|
|
||||||
},
|
|
||||||
recovery(isAll = false) {
|
|
||||||
if (this.isComparison) return false
|
|
||||||
this.$refs[`dicomCanvas0`].getNote_RectangleRoi().then(async obj => {
|
|
||||||
let { image } = obj
|
|
||||||
let instanceInfo = this.series.instanceInfoList.find(item => item.ImageId === image.imageId)
|
|
||||||
if (!instanceInfo.IsMasked) return this.$confirm(this.$t("DicomViewer:anonymous:notMasked"))
|
|
||||||
let data = {
|
|
||||||
// SeriesId: this.series.seriesId,
|
|
||||||
instanceIdList: [instanceInfo.Id]
|
|
||||||
}
|
|
||||||
if (isAll) {
|
|
||||||
data.SeriesId = this.series.seriesId
|
|
||||||
delete data.instanceIdList
|
|
||||||
}
|
|
||||||
let res = await this.studyUndoMaskImage(data)
|
|
||||||
if (!res) return false
|
|
||||||
this.$emit("update:loading", 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]}`
|
|
||||||
this.series.instanceInfoList.some(item => {
|
|
||||||
if (item.Id === instanceInfo.Id) {
|
|
||||||
item.ImageId = newImageId
|
|
||||||
item.IsMasked = false
|
|
||||||
}
|
|
||||||
return item.Id === instanceInfo.Id
|
|
||||||
})
|
|
||||||
let index = this.series.imageIds.findIndex(item => item === image.imageId)
|
|
||||||
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]}`
|
|
||||||
item.ImageId = newImageId
|
|
||||||
item.IsMasked = false
|
|
||||||
arr.push(newImageId)
|
|
||||||
})
|
|
||||||
this.series.imageIds = arr
|
|
||||||
console.log(this.series, 'this.series')
|
|
||||||
// this.loadImageStack(this.series)
|
|
||||||
this.$refs[`dicomCanvas0`].loadImageStack(this.series)
|
|
||||||
}
|
|
||||||
this.$emit("update:loading", false)
|
|
||||||
this.$emit('loadStudy', false)
|
|
||||||
})
|
|
||||||
},
|
|
||||||
anonymousImage(isAll = false) {
|
|
||||||
if (this.isComparison) return false
|
|
||||||
this.$refs[`dicomCanvas0`].getNote_RectangleRoi().then(async obj => {
|
this.$refs[`dicomCanvas0`].getNote_RectangleRoi().then(async obj => {
|
||||||
let { toolInfo, image } = obj
|
let { toolInfo, image } = obj
|
||||||
|
console.log(image, 'image')
|
||||||
if (!toolInfo || toolInfo.data.length <= 0) return this.$confirm(this.$t("DicomViewer:anonymous:notMark"))
|
if (!toolInfo || toolInfo.data.length <= 0) return this.$confirm(this.$t("DicomViewer:anonymous:notMark"))
|
||||||
let instanceInfo = this.series.instanceInfoList.find(item => item.ImageId === image.imageId)
|
let instanceInfo = this.series.instanceInfoList.find(item => item.ImageId === image.imageId)
|
||||||
let data = {
|
let data = {
|
||||||
|
|
@ -616,10 +493,6 @@ export default {
|
||||||
instanceIdList: [instanceInfo.Id],
|
instanceIdList: [instanceInfo.Id],
|
||||||
MaskRegionList: []
|
MaskRegionList: []
|
||||||
}
|
}
|
||||||
if (isAll) {
|
|
||||||
data.SeriesId = this.series.seriesId
|
|
||||||
delete data.instanceIdList
|
|
||||||
}
|
|
||||||
toolInfo.data.forEach(item => {
|
toolInfo.data.forEach(item => {
|
||||||
let currentStart = item.handles.start
|
let currentStart = item.handles.start
|
||||||
let currentEnd = item.handles.end
|
let currentEnd = item.handles.end
|
||||||
|
|
@ -642,37 +515,11 @@ export default {
|
||||||
})
|
})
|
||||||
let res = await this.studyMaskImage(data)
|
let res = await this.studyMaskImage(data)
|
||||||
if (!res) return false
|
if (!res) return false
|
||||||
this.$emit("update:loading", true)
|
// this.$emit("update:loading", true)
|
||||||
if (!isAll) {
|
// let strs = image.imageId.split("?")
|
||||||
let strs = image.imageId.split("?")
|
// let newImageId = `${strs[0]}-MaskImage?${strs[1]}`
|
||||||
let newImageId = `wadouri:${localStorage.getItem('location') !== 'USA' ? this.OSSclientConfig.basePath : this.OSSclientConfig.basePath}${res[0].Path}?${strs[1]}`
|
// console.log(newImageId, 'newImageId')
|
||||||
this.series.instanceInfoList.some(item => {
|
// this.$refs[`dicomCanvas0`].reloadImage(newImageId)
|
||||||
if (item.Id === instanceInfo.Id) {
|
|
||||||
item.ImageId = newImageId
|
|
||||||
item.IsMasked = true
|
|
||||||
}
|
|
||||||
return item.Id === instanceInfo.Id
|
|
||||||
})
|
|
||||||
let index = this.series.imageIds.findIndex(item => item === image.imageId)
|
|
||||||
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]}`
|
|
||||||
item.ImageId = newImageId
|
|
||||||
item.IsMasked = true
|
|
||||||
arr.push(newImageId)
|
|
||||||
})
|
|
||||||
this.series.imageIds = arr
|
|
||||||
console.log(this.series, 'this.series')
|
|
||||||
// this.loadImageStack(this.series)
|
|
||||||
this.$refs[`dicomCanvas0`].loadImageStack(this.series)
|
|
||||||
}
|
|
||||||
this.$emit("update:loading", false)
|
|
||||||
this.$emit('loadStudy', false)
|
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
openAnonymous() {
|
openAnonymous() {
|
||||||
|
|
@ -680,12 +527,12 @@ export default {
|
||||||
if (!this.isAnonymous) {
|
if (!this.isAnonymous) {
|
||||||
const elements = document.querySelectorAll('.dicom-item')
|
const elements = document.querySelectorAll('.dicom-item')
|
||||||
const scope = this
|
const scope = this
|
||||||
|
scope.activeTool = null
|
||||||
Array.from(elements).forEach((element, index) => {
|
Array.from(elements).forEach((element, index) => {
|
||||||
if (element.style.display !== 'none') {
|
if (element.style.display !== 'none') {
|
||||||
scope.$refs[`dicomCanvas${index}`].setToolPassive(scope.activeTool)
|
scope.$refs[`dicomCanvas${index}`].setToolPassive(toolName)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
scope.activeTool = null
|
|
||||||
} else {
|
} else {
|
||||||
this.activateDicomCanvas(0)
|
this.activateDicomCanvas(0)
|
||||||
this.changeLayout('1x1')
|
this.changeLayout('1x1')
|
||||||
|
|
@ -697,22 +544,7 @@ export default {
|
||||||
let res = await studyMaskImage(data)
|
let res = await studyMaskImage(data)
|
||||||
this.$emit("update:loading", false)
|
this.$emit("update:loading", false)
|
||||||
if (res.IsSuccess) {
|
if (res.IsSuccess) {
|
||||||
return res.Result.OkList
|
return true
|
||||||
}
|
|
||||||
return false
|
|
||||||
} catch (err) {
|
|
||||||
console.log(err)
|
|
||||||
this.$emit("update:loading", false)
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
},
|
|
||||||
async studyUndoMaskImage(data) {
|
|
||||||
try {
|
|
||||||
this.$emit("update:loading", true)
|
|
||||||
let res = await studyUndoMaskImage(data)
|
|
||||||
this.$emit("update:loading", false)
|
|
||||||
if (res.IsSuccess) {
|
|
||||||
return res.Result.OkList
|
|
||||||
}
|
}
|
||||||
return false
|
return false
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
|
|
@ -1188,30 +1020,6 @@ export default {
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
z-index: 9999;
|
z-index: 9999;
|
||||||
|
|
||||||
.btn {
|
|
||||||
width: 15%;
|
|
||||||
text-align: center;
|
|
||||||
height: 40px;
|
|
||||||
line-height: 30px;
|
|
||||||
border-radius: 15px;
|
|
||||||
background-color: rgba(255, 255, 255, .3);
|
|
||||||
cursor: pointer;
|
|
||||||
padding: 5px 10px;
|
|
||||||
border: 1px solid rgba(255, 255, 255, .7);
|
|
||||||
|
|
||||||
&:hover {
|
|
||||||
background-color: rgba(255, 255, 255, .5);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.activeBtn {
|
|
||||||
background-color: rgba(255, 255, 255, .5);
|
|
||||||
}
|
|
||||||
|
|
||||||
.isNoted {
|
|
||||||
cursor: not-allowed;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.Anonymous .btn {
|
.Anonymous .btn {
|
||||||
|
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1777010831812" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1646" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M512 896c-230.058667 0-421.461333-165.546667-461.610667-384a468.565333 468.565333 0 0 1 142.506667-258.816L89.6 149.973333A42.666667 42.666667 0 1 1 149.930667 89.6L934.4 874.112a42.666667 42.666667 0 0 1-60.373333 60.330667l-111.061334-111.061334A466.901333 466.901333 0 0 1 512 896zM253.226667 313.6A382.506667 382.506667 0 0 0 137.514667 512a384.213333 384.213333 0 0 0 563.242666 249.088l-86.528-86.528A192 192 0 0 1 349.44 409.770667L253.226667 313.6z m297.770666 297.728l-138.325333-138.325333a106.666667 106.666667 0 0 0 138.282667 138.282666l0.042666 0.042667z m285.312 22.357333l10.24-18.218666A381.226667 381.226667 0 0 0 886.485333 512a384.213333 384.213333 0 0 0-440.661333-292.949333c-2.944 0.512-9.173333 1.877333-18.730667 4.096a42.88 42.88 0 1 1-19.2-83.541334A470.912 470.912 0 0 1 512 128c230.058667 0 421.461333 165.546667 461.610667 384a467.072 467.072 0 0 1-57.685334 153.856 94.933333 94.933333 0 0 1-8.021333 11.178667 44.373333 44.373333 0 0 1-58.794667 9.088 39.552 39.552 0 0 1-12.8-52.437334z m-188.501333-257.493333a192 192 0 0 1 55.850667 147.626667l-203.52-203.477334a192 192 0 0 1 147.626666 55.893334z" fill="#e6e6e6" p-id="1647"></path></svg>
|
|
||||||
|
Before Width: | Height: | Size: 1.5 KiB |
|
|
@ -124,7 +124,7 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="viewerContent">
|
<div class="viewerContent">
|
||||||
<dicom-viewer id="dicomViewer" ref="dicomViewer" style="height:100%" :loading.sync="loading"
|
<dicom-viewer id="dicomViewer" ref="dicomViewer" style="height:100%" :loading.sync="loading"
|
||||||
:modality="modality" :Comparison.sync="isComparison" @loadStudy="loadStudy" />
|
:modality="modality" />
|
||||||
</div>
|
</div>
|
||||||
<!-- <div class="viewerRightSidePanel">
|
<!-- <div class="viewerRightSidePanel">
|
||||||
<dicom-tools />
|
<dicom-tools />
|
||||||
|
|
@ -202,8 +202,7 @@ export default {
|
||||||
isFromCRCUpload: false,
|
isFromCRCUpload: false,
|
||||||
isReading: null,
|
isReading: null,
|
||||||
activeSeriesId: null,
|
activeSeriesId: null,
|
||||||
isPacs: false,
|
isPacs: false
|
||||||
isComparison: false
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
created: function () {
|
created: function () {
|
||||||
|
|
@ -308,7 +307,7 @@ export default {
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
async loadStudy(isJump = true) {
|
async loadStudy() {
|
||||||
let params = {}
|
let params = {}
|
||||||
if (this.isPacs) {
|
if (this.isPacs) {
|
||||||
params.IsPacs = true
|
params.IsPacs = true
|
||||||
|
|
@ -328,7 +327,7 @@ export default {
|
||||||
isReading = `?IsPacs=true`
|
isReading = `?IsPacs=true`
|
||||||
}
|
}
|
||||||
const url = `/series/list/${this.studyId}${isReading}`
|
const url = `/series/list/${this.studyId}${isReading}`
|
||||||
this.getSeriesList(url, isJump)
|
this.getSeriesList(url)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
async loadPatientStudy() {
|
async loadPatientStudy() {
|
||||||
|
|
@ -393,7 +392,7 @@ export default {
|
||||||
console.log(err)
|
console.log(err)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
async getSeriesList(url, isJump = true) {
|
async getSeriesList(url) {
|
||||||
try {
|
try {
|
||||||
const data = await getSeriesList(url)
|
const data = await getSeriesList(url)
|
||||||
if (data.IsSuccess) {
|
if (data.IsSuccess) {
|
||||||
|
|
@ -432,7 +431,7 @@ export default {
|
||||||
isDeleted: item.IsDeleted,
|
isDeleted: item.IsDeleted,
|
||||||
previewImageUrl: item.ImageResizePath ? this.OSSclientConfig.basePath + item.ImageResizePath : `/api/series/preview/${item.Id}`,
|
previewImageUrl: item.ImageResizePath ? this.OSSclientConfig.basePath + item.ImageResizePath : `/api/series/preview/${item.Id}`,
|
||||||
instanceCount: item.InstanceCount,
|
instanceCount: item.InstanceCount,
|
||||||
prefetchInstanceCount: !isJump ? item.InstanceInfoList.length * 100 : 0,
|
prefetchInstanceCount: 0,
|
||||||
hasLabel: item.HasLabel,
|
hasLabel: item.HasLabel,
|
||||||
keySeries: item.KeySeries,
|
keySeries: item.KeySeries,
|
||||||
tpCode: this.tpCode,
|
tpCode: this.tpCode,
|
||||||
|
|
@ -447,11 +446,8 @@ export default {
|
||||||
this.seriesList = seriesList
|
this.seriesList = seriesList
|
||||||
if (this.seriesList.length > 0) {
|
if (this.seriesList.length > 0) {
|
||||||
this.loadAllImages()
|
this.loadAllImages()
|
||||||
if (isJump) {
|
this.$refs.dicomViewer.loadImageStack(this.seriesList[0], this.labels[this.tpCode])
|
||||||
this.$refs.dicomViewer.loadImageStack(this.seriesList[0], this.labels[this.tpCode])
|
this.firstInstanceId = this.seriesList[0].imageIds[0]
|
||||||
this.firstInstanceId = this.seriesList[0].imageIds[0]
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
|
|
@ -531,7 +527,6 @@ export default {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
showSeriesImage(e, seriesIndex, series) {
|
showSeriesImage(e, seriesIndex, series) {
|
||||||
if (!isComparison) return false
|
|
||||||
this.activeSeriesId = series.seriesId
|
this.activeSeriesId = series.seriesId
|
||||||
workSpeedclose(true)
|
workSpeedclose(true)
|
||||||
// if (seriesIndex === this.currentSeriesIndex) return
|
// if (seriesIndex === this.currentSeriesIndex) return
|
||||||
|
|
@ -925,7 +920,6 @@ export default {
|
||||||
}
|
}
|
||||||
if (this.visitTaskId === params.visitTaskId) {
|
if (this.visitTaskId === params.visitTaskId) {
|
||||||
const seriesIndex = params.seriesIndex
|
const seriesIndex = params.seriesIndex
|
||||||
if (!this.seriesList[seriesIndex]) return false
|
|
||||||
var prefetchInstanceCount = this.seriesList[seriesIndex].prefetchInstanceCount
|
var prefetchInstanceCount = this.seriesList[seriesIndex].prefetchInstanceCount
|
||||||
var instanceCount = this.seriesList[seriesIndex].instanceCount
|
var instanceCount = this.seriesList[seriesIndex].instanceCount
|
||||||
if (!this.activeSeriesId) {
|
if (!this.activeSeriesId) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue