diff --git a/.env.usa b/.env.usa index 5c371961..3dae9013 100644 --- a/.env.usa +++ b/.env.usa @@ -2,7 +2,7 @@ ENV = 'usa' NODE_ENV = 'usa' # base public path -VUE_APP_BASE_PATH = 'https://ei-code-prod.s3.amazonaws.com/2024-04-30/' +VUE_APP_BASE_PATH = 'https://ei-code-prod.s3.amazonaws.com/2024-07-03/' # 是否开启登陆限制 true:是 false:否 VUE_APP_LOGIN_FOR_PERMISSION = false diff --git a/package.json b/package.json index 21b0480e..4ed17b88 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "EICS", - "version": "1.0.0", + "version": "1.3.2", "scripts": { "dev": "vue-cli-service serve --open --mode development", "build": "vue-cli-service build", diff --git a/src/App.vue b/src/App.vue index dd5eb874..84eda5c5 100644 --- a/src/App.vue +++ b/src/App.vue @@ -246,8 +246,11 @@ textarea { color: $light_gray; text-align: center; font-weight: bold; - font-family: 'Times New Roman'; - text-shadow:1px 0.5px 1.5px #666; + font-family: "Times New Roman"; + text-shadow: 1px 0.5px 1.5px #666; +} +.title-logo { + height: 40px; } .title-logo{ height: 40px; diff --git a/src/store/modules/reading.js b/src/store/modules/reading.js index cfc74e05..8418f231 100644 --- a/src/store/modules/reading.js +++ b/src/store/modules/reading.js @@ -493,27 +493,32 @@ const actions = { }) }, removeCustomizeMeasuredData({ state }, obj) { + return new Promise(async resolve => { var index = state.visitTaskList.findIndex(i => i.VisitTaskId === obj.visitTaskId) var measureData = state.visitTaskList[index].MeasureData - + console.log('removeCustomizeMeasuredData',obj, state.visitTaskList[index].MeasureData) // var uuid = obj.measureData.data.uuid // var idx = measureData.findIndex(item => item.MeasureData && item.MeasureData.data && item.MeasureData.data.uuid === uuid) - console.log(obj, measureData) - var idx = measureData.findIndex(item => item.Id === obj.questionInfo.Id) - console.log('idx', idx) - if (idx > -1) { - if (measureData[idx].FristAddTaskId) { - measureData[idx].MeasureData = '' - console.log('清除标记成功', idx) - } else { - measureData.splice(idx, 1) - console.log('移除标记成功', idx) + // console.log(obj, measureData) + if (obj.questionInfo.Id) { + var idx = measureData.findIndex(item => item.Id === obj.questionInfo.Id) + console.log('idx', idx) + if (idx > -1) { + if (measureData[idx].FristAddTaskId) { + measureData[idx].MeasureData = '' + console.log('清除标记成功', idx) + } else { + measureData.splice(idx, 1) + console.log('移除标记成功', idx) + } + if (obj.questionInfo.Id && state.currentReadingTaskState < 2) { + await deleteCustomTag(obj.questionInfo.Id) + } + state.visitTaskList[index].MeasureData = measureData } - await deleteCustomTag(obj.questionInfo.Id) - state.visitTaskList[index].MeasureData = measureData } else if (obj.orderMarkName) { - const i = measureData.findIndex(item => item.QuestionId === obj.questionId && item.OrderMarkName === obj.orderMarkName) + const i = measureData.findIndex(item => item.MeasureData.data.remark === obj.orderMarkName) if (i > -1) { if (measureData[i].FristAddTaskId) { measureData[i].MeasureData = '' @@ -523,7 +528,9 @@ const actions = { console.log('移除标记成功', i) } } - await deleteCustomTag(obj.questionInfo.Id) + if (obj.questionInfo.Id && state.currentReadingTaskState < 2) { + await deleteCustomTag(obj.questionInfo.Id) + } state.visitTaskList[index].MeasureData = measureData } // sessionStorage.setItem('visitTaskList', state.visitTaskList.length > 0 ? JSON.stringify(state.visitTaskList) : '') @@ -605,6 +612,7 @@ const actions = { var index = state.visitTaskList.findIndex(i => i.VisitTaskId === obj.visitTaskId) var measureData = state.visitTaskList[index].MeasureData console.log('addOrUpdateNonTargetMeasuredData') + // item.MeasureData.data.remark === obj.orderMarkName var idx = measureData.findIndex(item => item.QuestionId === obj.data.QuestionId && item.OrderMarkName === obj.data.OrderMarkName) if (idx > -1) { for (const k in state.visitTaskList[index].MeasureData[idx]) { @@ -647,29 +655,39 @@ const actions = { var measureData = state.visitTaskList[index].MeasureData console.log(measureData, obj) // var idx = measureData.findIndex(item => item.MeasureData.uuid === obj.data.MeasureData.data.uuid) - if (!obj.questionInfo) { - state.visitTaskList[index].MeasureData.push({ - MeasureData: obj, - SeriesId: obj.seriesId, - StudyId: obj.studyId, - InstanceId: obj.instanceId, - Id: obj.Id - }) - console.log('新增标记成功') - // sessionStorage.setItem('visitTaskList', state.visitTaskList.length > 0 ? JSON.stringify(state.visitTaskList) : '') - resolve() - } - var idx = measureData.findIndex(item => item.Id === obj.questionInfo.Id) + // if (!obj.questionInfo) { + // state.visitTaskList[index].MeasureData.push({ + // MeasureData: obj, + // SeriesId: obj.seriesId, + // StudyId: obj.studyId, + // InstanceId: obj.instanceId, + // Id: obj.Id + // }) + // console.log('新增标记成功') + // resolve() + // } + var idx = measureData.findIndex(item => item.MeasureData.data.remark === obj.measureData.data.remark) if (idx > -1) { - for (const k in state.visitTaskList[index].MeasureData[idx]) { - if (k !== 'Id' && obj.MeasureData.data[k]) { - state.visitTaskList[index].MeasureData[idx][k] = obj.MeasureData.data[k] - } - } + // state.visitTaskList[index].MeasureData[idx].InstanceId = obj.instanceId + state.visitTaskList[index].MeasureData[idx].MeasureData = obj.measureData + // state.visitTaskList[index].MeasureData[idx].SeriesId = obj.seriesId + // state.visitTaskList[index].MeasureData[idx].StudyId = obj.studyId + // for (const k in state.visitTaskList[index].MeasureData[idx]) { + // if (k !== 'Id' && obj.MeasureData.data[k]) { + // state.visitTaskList[index].MeasureData[idx][k] = obj.MeasureData.data[k] + // } + // } // state.visitTaskList[index].MeasureData[idx].MeasureData = obj.data.MeasureData console.log('更新标记成功', idx) } else { - state.visitTaskList[index].MeasureData.push(obj.MeasureData.data) + // state.visitTaskList[index].MeasureData.push(obj.MeasureData.data) + state.visitTaskList[index].MeasureData.push({ + MeasureData: obj.measureData , + SeriesId: obj.measureData.seriesId, + StudyId: obj.measureData.studyId, + InstanceId: obj.measureData.instanceId, + Id: obj.id + }) console.log('新增标记成功') } // sessionStorage.setItem('visitTaskList', state.visitTaskList.length > 0 ? JSON.stringify(state.visitTaskList) : '') @@ -878,6 +896,12 @@ const actions = { resolve() }) }, + setImageloadedInfo({ state }, obj) { + var index = state.visitTaskList.findIndex(i => i.VisitTaskId === obj.visitTaskId) + let prefetchInstanceCount = state.visitTaskList[index].StudyList[obj.studyIndex].SeriesList[obj.seriesIndex].prefetchInstanceCount + state.visitTaskList[index].StudyList[obj.studyIndex].SeriesList[obj.seriesIndex].prefetchInstanceCount = prefetchInstanceCount + 100 + state.visitTaskList[index].StudyList[obj.studyIndex].SeriesList[obj.seriesIndex].imageloadedArr.push(obj.imageId) + }, setStatus({ state }, obj) { var index = state.visitTaskList.findIndex(i => i.VisitTaskId === obj.visitTaskId) state.visitTaskList[index].IsInit = true diff --git a/src/views/dicom-show/dicom-study.vue b/src/views/dicom-show/dicom-study.vue index 59bc1e8b..b51e5315 100644 --- a/src/views/dicom-show/dicom-study.vue +++ b/src/views/dicom-show/dicom-study.vue @@ -225,8 +225,8 @@ export default { }, beforeDestroy() { requestPoolManager.stopTaskTimer() - window.removeEventListener('beforeunload', e => { - cornerstone.imageCache.purgeCache() + window.removeEventListener('beforeunload', e => { + cornerstone.imageCache.purgeCache() requestPoolManager.resetRequestPool() }) }, diff --git a/src/views/login/index.vue b/src/views/login/index.vue index 4578d267..63265cde 100644 --- a/src/views/login/index.vue +++ b/src/views/login/index.vue @@ -11,6 +11,7 @@ v-else-if="NODE_ENV === 'usa'" src="@/assets/zzlogo-usa.png" alt="" + class="usa-logo" /> @@ -21,12 +22,10 @@
- +
+ +
{{ $t("login:title:system") }}
+
{{ $t("login:title:system") }}
- - - + - + + - {{ $t('trials:trials:title:eics') }} + {{ $t("trials:trials:title:eics") }}
@@ -26,22 +25,45 @@ size="mini" @select="handleSelect" > - + - {{ $t('trials:menuTitle:workbench') }} + {{ $t("trials:menuTitle:workbench") }} - {{ $t('trials:tab:trials') }} + {{ $t("trials:tab:trials") }} - + - {{ $t('trials:tab:notice') }} + {{ $t("trials:tab:notice") }} @@ -52,7 +74,9 @@ ({{ userTypeShortName }}) --> - {{ $t('trials:trials-myinfo:title:accountInfo') }} + {{ + $t("trials:trials-myinfo:title:accountInfo") + }} {{ $t("trials:trials-myinfo:title:system") }} - {{ $t('trials:trials-myinfo:button:loginout') }} + {{ + $t("trials:trials-myinfo:button:loginout") + }} - - +
diff --git a/src/views/trials/trials-panel/reading/dicoms/components/DicomCanvas.vue b/src/views/trials/trials-panel/reading/dicoms/components/DicomCanvas.vue index 2543ece3..458ecb01 100644 --- a/src/views/trials/trials-panel/reading/dicoms/components/DicomCanvas.vue +++ b/src/views/trials/trials-panel/reading/dicoms/components/DicomCanvas.vue @@ -13,7 +13,7 @@
- +
diff --git a/src/views/trials/trials-panel/reading/dicoms/components/StudyList.vue b/src/views/trials/trials-panel/reading/dicoms/components/StudyList.vue index 5c72e181..5c1de383 100644 --- a/src/views/trials/trials-panel/reading/dicoms/components/StudyList.vue +++ b/src/views/trials/trials-panel/reading/dicoms/components/StudyList.vue @@ -51,7 +51,7 @@
#{{ series.seriesNumber }}
-
+
@@ -219,7 +219,8 @@ export default { srInfo: {}, digitPlaces: 2, visitTaskIdx: -1, - currentLoadIns: [] + currentLoadIns: [], + keySeriesLoad: [] } }, @@ -299,11 +300,14 @@ export default { // 初始化待渲染序列 this.getInitSeries().then((res) => { requestPoolManager.startTaskTimer() - res.map((item) => { + res.map(async(item) => { // this.loadInitialImage(item) const imageId = item.imageIds[item.imageIdIndex] const p = parseInt(new Date().getTime()) - requestPoolManager.loadAndCacheImagePlus(imageId, item.seriesId, p * 100) + await requestPoolManager.loadAndCacheImagePlus(imageId, item.seriesId, p * 100) + if (!item.isCurrentTask) { + store.dispatch('reading/setImageloadedInfo', item) + } }) var i = res.findIndex(s => s.isCurrentTask) if (i > -1) { @@ -913,6 +917,23 @@ export default { const studyIndex = parseInt(params.idx.split('|')[0]) const seriesIndex = parseInt(params.idx.split('|')[1]) + // 关键序列处理 + const seriesId = this.studyList[studyIndex].SeriesList[seriesIndex].seriesId + const i = this.keySeriesLoad.findIndex(i => i.seriesId === seriesId) + if (this.studyList[studyIndex].IsCriticalSequence && percentComplete >= 100) { + // 关键序列处理 + if (i === -1) { + this.keySeriesLoad.push({ seriesId: seriesId, loadCount: 1, imageIds: [imageId] }) + } else { + ++this.keySeriesLoad[i].loadCount + this.keySeriesLoad[i].imageIds.push(imageId) + } + } + if (!this.studyList[studyIndex].IsCriticalSequence && i > -1) { + this.studyList[studyIndex].SeriesList[seriesIndex].prefetchInstanceCount = this.studyList[studyIndex].SeriesList[seriesIndex].prefetchInstanceCount + 100 * this.keySeriesLoad[i].loadCount + this.studyList[studyIndex].SeriesList[seriesIndex].imageloadedArr = [this.studyList[studyIndex].SeriesList[seriesIndex].imageloadedArr, this.keySeriesLoad[i].imageIds] + this.keySeriesLoad.splice(i, 1) + } var prefetchInstanceCount = this.studyList[studyIndex].SeriesList[seriesIndex].prefetchInstanceCount var instanceCount = this.studyList[studyIndex].SeriesList[seriesIndex].instanceCount if (this.studyList[studyIndex].SeriesList[seriesIndex].imageloadedArr.indexOf(imageId) < 0) { diff --git a/src/views/trials/trials-panel/reading/dicoms/customize/CustomizeDicomCanvas.vue b/src/views/trials/trials-panel/reading/dicoms/customize/CustomizeDicomCanvas.vue index 59cde247..c5793fb1 100644 --- a/src/views/trials/trials-panel/reading/dicoms/customize/CustomizeDicomCanvas.vue +++ b/src/views/trials/trials-panel/reading/dicoms/customize/CustomizeDicomCanvas.vue @@ -146,6 +146,7 @@ import LengthTool from '@/views/trials/trials-panel/reading/dicoms/tools/Length/ import BidirectionalTool from '@/views/trials/trials-panel/reading/dicoms/tools/Bidirectional/BidirectionalTool' import ArrowAnnotateTool from '@/views/trials/trials-panel/reading/dicoms/tools/ArrowAnnotate/ArrowAnnotateTool' import RectangleRoiTool from '@/views/trials/trials-panel/reading/dicoms/tools/RectangleRoi/RectangleRoiTool' +import CircleRoiTool from '@/views/trials/trials-panel/reading/dicoms/tools/CircleRoi/CircleRoiTool' // import OrientationMarkersTool from '@/views/trials/trials-panel/reading/dicoms/tools/OrientationMarkers/OrientationMarkersTool' import ScaleOverlayTool from '@/views/trials/trials-panel/reading/dicoms/tools/ScaleOverlay/ScaleOverlayTool' import getOrientationString from '@/views/trials/trials-panel/reading/dicoms/tools/OrientationMarkers/getOrientationString' @@ -258,7 +259,7 @@ export default { series: '', ToolStateManager: null, renderedMeasured: [], - measuredTools: ['Length', 'Bidirectional', 'ArrowAnnotate', 'RectangleRoi'], + measuredTools: ['Length', 'Bidirectional', 'ArrowAnnotate', 'RectangleRoi', 'CircleRoi'], measureData: [], selectedLesion: null, activeTool: 0, // 0:enable 1:passive 2:active @@ -298,8 +299,8 @@ export default { ], scrollSyncInfo: { offset: 0 }, - hideMeasureArr: [] - + hideMeasureArr: [], + enabledElement: null } }, computed: { @@ -399,7 +400,8 @@ export default { cornerstone.updateImage(this.canvas, true) }) DicomEvent.$on('updateImage', () => { - cornerstone.updateImage(this.canvas) + if (!this.canvas) return + this.updateImage() }) // this.canvas.addEventListener('keydown', event => { // event.preventDefault() @@ -542,7 +544,7 @@ export default { this.mousePosition.y = currentPoints.image.y + 1 this.mousePosition.mo = stats.mo this.mousePosition.suv = stats.suv - if (this.isFirstChangeTask && this.pointNearTool(e)) { + if (this.pointNearTool(e)) { e.stopImmediatePropagation() e.stopPropagation() e.preventDefault() @@ -551,18 +553,18 @@ export default { mouseUp(e) { console.log('mouseUp') - if (this.readingTaskState >= 2) return + // if (this.readingTaskState >= 2) return this.image = e.detail.image this.getToolStateInfo(e) }, mouseDown(e) { this.image = e.detail.image var pointNearTool = this.pointNearTool(e) - if (this.isFirstChangeTask && pointNearTool) { + if (pointNearTool) { e.stopImmediatePropagation() e.stopPropagation() e.preventDefault() - } else if (this.activeToolName === 'Length' || this.activeToolName === 'Bidirectional' && this.readingTaskState < 2) { + } else if (this.activeToolName === 'Length' || this.activeToolName === 'Bidirectional') { if (!e.detail.image.columnPixelSpacing || !e.detail.image.rowPixelSpacing) { // '该影像不具备测量长度所需的必要数据,不能进行长度测量。请选择其他工具进行标注。' this.$confirm(this.$t('trials:reading:warnning:msg56'), '', { @@ -601,10 +603,11 @@ export default { getDisabledMarks(measureDatas) { var arr = [] measureDatas.map(i => { - if ((i.LesionType === 0 || i.LesionType === 1 || i.LesionType === 7) && i.IsFirstChangeTask) { - arr.push(i.OrderMarkName) + if (i.Id && this.readingTaskState >= 2) { + arr.push(i.MeasureData.data.remark) } }) + console.log(arr) return arr }, getRGBPixels(element, x, y, width, height) { @@ -776,7 +779,7 @@ export default { var uuid = toolState.data[i].uuid var idx = this.measureData.findIndex(item => item.MeasureData && item.MeasureData.data && item.MeasureData.data.uuid === uuid) if (idx > -1) { - var markName = this.measureData[idx].OrderMarkName + var markName = this.measureData[idx].MeasureData.data.remark if (this.disabledMarks.indexOf(markName) === -1 || !this.disabledMarks) { measureData.ww = Math.round(viewport.voi.windowWidth) measureData.wc = Math.round(viewport.voi.windowCenter) @@ -882,7 +885,9 @@ export default { } else if (this.activeTool === 1 && this.readingTaskState < 2) { cornerstoneTools.setToolPassiveForElement(element, data.MeasureData.type, { mouseButtonMask: 1 }) } else { - cornerstoneTools.setToolEnabledForElement(element, data.MeasureData.type, { mouseButtonMask: 1 }) + // cornerstoneTools.setToolEnabledForElement(element, data.MeasureData.type, { mouseButtonMask: 1 }) + cornerstoneTools.setToolPassiveForElement(element, data.MeasureData.type, { mouseButtonMask: 1 }) + } // console.log('renderMeasuredData', this.stack.frame) @@ -984,17 +989,17 @@ export default { if (i > -1) { var idx = this.measureData.findIndex(item => item.MeasureData && item.MeasureData.data && item.MeasureData.data.uuid === toolState.data[i].uuid) if (idx > -1) { - console.log('mouseClick') DicomEvent.$emit('setCollapseActive', this.measureData[idx]) - if (this.readingTaskState < 2) { const measureData = {} - var markName = this.measureData[idx].OrderMarkName - if (this.activeToolName === 'Eraser') { - var questionInfo = this.measureData[idx] - this.$emit('moveMeasureData', { measureData, questionInfo }) + // var markName = this.measureData[idx].OrderMarkName + var markName = this.measureData[idx].MeasureData.data.remark + if (this.activeToolName === 'Eraser' && this.disabledMarks.indexOf(markName) === -1) { + const questionInfo = this.measureData[idx] + measureData.orderMarkName = markName + this.$emit('moveMeasureData', { measureData, questionInfo, orderMarkName: markName}) } if ((this.disabledMarks.indexOf(markName) === -1 || !this.disabledMarks) && this.activeToolName !== 'Eraser') { - var questionInfo = this.measureData[idx] + const questionInfo = this.measureData[idx] const canvas = this.canvas.querySelector('canvas') measureData.pictureBaseStr = canvas.toDataURL('image/png', 1) measureData.studyId = this.stack.studyId @@ -1010,7 +1015,7 @@ export default { measureData.data.active = false this.$emit('modifyMeasureData', { measureData, questionInfo }) } - } + break } } @@ -1049,11 +1054,7 @@ export default { var idx = this.visitTaskList.findIndex(i => i.VisitTaskId === dicomSeries.visitTaskId) this.stack.visitTaskNum = this.visitTaskList[idx].VisitTaskNum this.isFirstChangeTask = this.visitTaskList[idx].IsFirstChangeTask - if (this.isFirstChangeTask) { - this.disabledMarks = this.getDisabledMarks(this.visitTaskList[idx].MeasureData) - } else { - this.disabledMarks = [] - } + this.disabledMarks = this.getDisabledMarks(this.visitTaskList[idx].MeasureData) this.maxVistNum = this.visitTaskList[this.visitTaskList.length - 1].VisitTaskNum this.minVistNum = this.visitTaskList[0].VisitTaskNum @@ -1114,7 +1115,6 @@ export default { if (!this.toolState.initialized) { this.toolState.initialized = true const toolButtons = document.querySelectorAll('[data-tool]') - // const scope = this Array.from(toolButtons).forEach((toolBtn) => { // Add the tool @@ -1134,6 +1134,8 @@ export default { cornerstoneTools.addToolForElement(element, ArrowAnnotateTool, { configuration: { allowEmptyLabel: true, handleRadius: false, drawHandlesOnHover: true, hideHandlesIfMoving: true }}) } else if (toolName === 'RectangleRoi') { cornerstoneTools.addToolForElement(element, RectangleRoiTool, { configuration: { allowEmptyLabel: true, handleRadius: false, drawHandlesOnHover: true, hideHandlesIfMoving: true }}) + } else if (toolName === 'CircleRoi') { + cornerstoneTools.addToolForElement(element, CircleRoiTool, { configuration: { handleRadius: false, drawHandlesOnHover: true, hideHandlesIfMoving: true, digits: this.digitPlaces, drawHandles: true, showMinMax: true }}) } else { cornerstoneTools.addToolForElement(element, apiTool) } @@ -1221,8 +1223,8 @@ export default { if (this.dicomInfo.thick) { this.dicomInfo.thick = this.dicomInfo.thick.toFixed(2) } - let newImageIdIndex = this.stack.imageIds.findIndex(i=>i===imageId) - if(newImageIdIndex === -1) return + const newImageIdIndex = this.stack.imageIds.findIndex(i => i === imageId) + if (newImageIdIndex === -1) return this.stack.currentImageIdIndex = newImageIdIndex this.stack.imageIdIndex = newImageIdIndex this.series.imageIdIndex = newImageIdIndex @@ -1298,7 +1300,7 @@ export default { this.setMarkers() }, onMeasurementcompleted(e) { - if (this.readingTaskState >= 2) return + // if (this.readingTaskState >= 2) return var element = cornerstone.getEnabledElement(this.canvas) var viewport = element.viewport @@ -1310,8 +1312,8 @@ export default { const imageInfo = this.getInstanceInfo(imageId) var instanceId = imageInfo.instanceId var frame = imageInfo.frame - this.stack.frame = this.stack.isExistMutiFrames ? parseInt(frame) : null - if (e.detail.toolName === 'Length' || e.detail.toolName === 'ArrowAnnotate' || e.detail.toolName === 'RectangleRoi') { + this.stack.frame = !isNaN(parseInt(frame)) ? parseInt(frame) : 0 + if (e.detail.toolName === 'Length' || e.detail.toolName === 'ArrowAnnotate' || e.detail.toolName === 'RectangleRoi' || e.detail.toolName === 'CircleRoi') { const measureData = {} measureData.studyId = this.stack.studyId measureData.seriesId = this.stack.seriesId @@ -1326,6 +1328,7 @@ export default { const canvas = this.canvas.querySelector('canvas') measureData.pictureBaseStr = canvas.toDataURL('image/png', 1) + measureData.temporary = this.readingTaskState >= 2 this.$emit('setMeasureData', measureData) cornerstoneTools.setToolPassiveForElement(this.canvas, e.detail.toolName) } else if (e.detail.toolName === 'Bidirectional') { @@ -1342,6 +1345,7 @@ export default { measureData.wc = Math.round(viewport.voi.windowCenter) const canvas = this.canvas.querySelector('canvas') measureData.pictureBaseStr = canvas.toDataURL('image/png', 1) + measureData.temporary = this.readingTaskState >= 2 this.$emit('setMeasureData', measureData) cornerstoneTools.setToolPassiveForElement(this.canvas, e.detail.toolName) } else if (!e.detail.toolName) { @@ -1422,7 +1426,7 @@ export default { onMeasurementmodified(e) { // 移动 console.log('modified') - if (this.readingTaskState >= 2) return + // if (this.readingTaskState >= 2) return const { measurementData, toolType } = e.detail var element = cornerstone.getEnabledElement(this.canvas) var viewport = element.viewport @@ -1436,7 +1440,8 @@ export default { var idx = this.measureData.findIndex(item => item.MeasureData && item.MeasureData.data && item.MeasureData.data.uuid === uuid) if (idx > -1) { const measureData = {} - var markName = this.measureData[idx].OrderMarkName + // var markName = this.measureData[idx].OrderMarkName + var markName = this.measureData[idx].MeasureData.data.remark if (this.disabledMarks.indexOf(markName) === -1 || !this.disabledMarks) { var questionInfo = this.measureData[idx] const canvas = this.canvas.querySelector('canvas') @@ -1466,15 +1471,21 @@ export default { } }, updateImage(instanceId) { + if (!this.canvas) return var i = this.visitTaskList.findIndex(i => i.VisitTaskId === this.stack.visitTaskId) this.measureData = this.visitTaskList[i].MeasureData - const ToolStateManager = cornerstoneTools.globalImageIdSpecificToolStateManager - var element = cornerstone.getEnabledElement(this.canvas) + if (!element) return var { imageId } = element.image - ToolStateManager.clearImageIdToolState(imageId) - cornerstone.updateImage(element, true) + if (imageId) { + ToolStateManager.clearImageIdToolState(imageId) + let elements = cornerstone.getEnabledElementsByImageId(imageId) + elements.map(el=>{ + cornerstone.updateImage(el.element) + }) + } + // cornerstone.updateImage(element) }, toggleSeries(evt, type) { evt.stopImmediatePropagation() @@ -1756,20 +1767,19 @@ export default { this.activeToolName = toolName this.$nextTick(() => { // console.log(cornerstoneTools.isToolActiveForElement(this.canvas, 'Bidirectional')) - if (!cornerstoneTools.isToolActiveForElement(this.canvas, toolName)) { - cornerstoneTools.setToolActiveForElement(this.canvas, toolName, { - mouseButtonMask: 1 - }) - } + if (toolName === 'Zoom') { cornerstoneTools.setToolActiveForElement(this.canvas, 'Zoom', { mouseButtonMask: [1, 2] }) - } - if (toolName === 'Pan') { + } else if (toolName === 'Pan') { cornerstoneTools.setToolActiveForElement(this.canvas, 'Pan', { mouseButtonMask: [1, 4] }) + } else { + cornerstoneTools.setToolActiveForElement(this.canvas, toolName, { + mouseButtonMask: 1 + }) } }) }, diff --git a/src/views/trials/trials-panel/reading/dicoms/customize/CustomizeDicomViewer.vue b/src/views/trials/trials-panel/reading/dicoms/customize/CustomizeDicomViewer.vue index 597b513d..8407b933 100644 --- a/src/views/trials/trials-panel/reading/dicoms/customize/CustomizeDicomViewer.vue +++ b/src/views/trials/trials-panel/reading/dicoms/customize/CustomizeDicomViewer.vue @@ -106,8 +106,7 @@ v-if="item.val === 1" class="divider" content-position="center" - >{{ ` ${$t("trials:reading:title:preset")}` }} + >{{ ` ${$t("trials:reading:title:preset")}` }}
@@ -224,8 +223,7 @@ {{ rotate.label }} + >{{ rotate.label }}
@@ -318,7 +316,7 @@

{{ tool.text }}

-
{{ tool.disabledReason }} +
{{ tool.disabledReason }}
{{ tool.text }}
@@ -445,10 +443,10 @@ placement="bottom" >