From b9712351644609e4456ca181880bf8cdd1e72a98 Mon Sep 17 00:00:00 2001 From: wangxiaoshuang <825034831@qq.com> Date: Thu, 16 Apr 2026 17:55:33 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BD=93=E6=95=B0=E6=8D=AE=E6=92=AD=E6=94=BE?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dicoms3D/components/MPRViewport.vue | 26 +++++++++++++++---- .../reading/dicoms3D/components/ReadPage.vue | 4 ++- .../dicoms3D/components/VolumeViewport.vue | 24 ++++++++++++++--- 3 files changed, 44 insertions(+), 10 deletions(-) diff --git a/src/views/trials/trials-panel/reading/dicoms3D/components/MPRViewport.vue b/src/views/trials/trials-panel/reading/dicoms3D/components/MPRViewport.vue index b172a179..370deaac 100644 --- a/src/views/trials/trials-panel/reading/dicoms3D/components/MPRViewport.vue +++ b/src/views/trials/trials-panel/reading/dicoms3D/components/MPRViewport.vue @@ -40,10 +40,10 @@
Location: {{ `${Number(imageInfo.location).toFixed(digitPlaces)} mm` - }}
+ }}
Slice Thickness: {{ `${Number(imageInfo.sliceThickness).toFixed(digitPlaces)} mm` - }}
+ }}
WW/WL: {{ imageInfo.wwwc }}
@@ -185,6 +185,7 @@ export default { rotateAngle: 0, rotateBarLeft: 0, loading: false, + toggleClipPlayTimer: null } }, mounted() { @@ -491,11 +492,20 @@ export default { this.playClipState = isPlay const renderingEngine = getRenderingEngine(this.renderingEngineId) const viewport = renderingEngine.getViewport(this.viewportId) - if (isPlay) { - cornerstoneTools.utilities.cine.playClip(viewport.element, { framesPerSecond, loop: true }) + this.toggleClipPlayTimer = setInterval(() => { + let index = this.series.SliceIndex + 1; + if (index > this.imageInfo.total - 1) index = 0 + csUtils.jumpToSlice(viewport.element, { imageIndex: index }); + + }, framesPerSecond) + // cornerstoneTools.utilities.cine.playClip(viewport.element, { framesPerSecond, loop: true }) } else { - cornerstoneTools.utilities.cine.stopClip(viewport.element) + if (this.toggleClipPlayTimer) { + clearInterval(this.toggleClipPlayTimer) + this.toggleClipPlayTimer = null + } + // cornerstoneTools.utilities.cine.stopClip(viewport.element) } }, scrollPage(type) { @@ -794,6 +804,12 @@ export default { return `NS: ${this.$store.state.trials.downloadTip}` } }, + destroyed() { + if (this.toggleClipPlayTimer) { + clearInterval(this.toggleClipPlayTimer) + this.toggleClipPlayTimer = null + } + } }