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 e744e8d0..218ba4ba 100644 --- a/src/views/trials/trials-panel/reading/dicoms/components/DicomCanvas.vue +++ b/src/views/trials/trials-panel/reading/dicoms/components/DicomCanvas.vue @@ -792,6 +792,7 @@ export default { } else if (toolType === 'Length') { // toolState.data[i].length = this.calculateLenth(toolState.data[i]) } + measureData.imageId = imageId measureData.studyId = this.stack.studyId measureData.seriesId = this.stack.seriesId measureData.instanceId = instanceId @@ -1024,6 +1025,7 @@ export default { var questionInfo = this.measureData[idx] // const canvas = this.canvas.querySelector('canvas') // measureData.pictureBaseStr = canvas.toDataURL('image/png', 1) + measureData.imageId = imageId measureData.studyId = this.stack.studyId measureData.seriesId = this.stack.seriesId measureData.instanceId = instanceId @@ -1351,6 +1353,7 @@ export default { this.stack.frame = this.stack.isExistMutiFrames ? parseInt(frame) : null if (e.detail.toolName === 'Length' || e.detail.toolName === 'ArrowAnnotate' || e.detail.toolName === 'RectangleRoi') { const measureData = {} + measureData.imageId = imageId measureData.studyId = this.stack.studyId measureData.seriesId = this.stack.seriesId measureData.instanceId = instanceId @@ -1368,6 +1371,7 @@ export default { cornerstoneTools.setToolPassiveForElement(this.canvas, e.detail.toolName) } else if (e.detail.toolName === 'Bidirectional') { const measureData = {} + measureData.imageId = imageId measureData.studyId = this.stack.studyId measureData.seriesId = this.stack.seriesId measureData.instanceId = instanceId @@ -1384,6 +1388,7 @@ export default { cornerstoneTools.setToolPassiveForElement(this.canvas, e.detail.toolName) } else if (e.detail.toolName === 'Probe') { const measureData = {} + measureData.imageId = imageId measureData.studyId = this.stack.studyId measureData.seriesId = this.stack.seriesId measureData.instanceId = instanceId @@ -1493,6 +1498,7 @@ export default { var questionInfo = this.measureData[idx] // const canvas = this.canvas.querySelector('canvas') // measureData.pictureBaseStr = canvas.toDataURL('image/png', 1) + measureData.imageId = imageId measureData.studyId = this.stack.studyId measureData.seriesId = this.stack.seriesId measureData.instanceId = instanceId diff --git a/src/views/trials/trials-panel/reading/dicoms/components/MRIPDFF/QuestionForm.vue b/src/views/trials/trials-panel/reading/dicoms/components/MRIPDFF/QuestionForm.vue index 7c10965e..53bc822a 100644 --- a/src/views/trials/trials-panel/reading/dicoms/components/MRIPDFF/QuestionForm.vue +++ b/src/views/trials/trials-panel/reading/dicoms/components/MRIPDFF/QuestionForm.vue @@ -205,6 +205,7 @@ import { saveTableQuestionMark, submitTaskRowInfo, deleteTableQuestionMark, deleteSingleTableQuestionMark } from '@/api/reading' import DicomEvent from './../DicomEvent' import store from '@/store' +import * as cornerstone from 'cornerstone-core' export default { name: 'MeasurementForm', props: { @@ -444,7 +445,12 @@ export default { // 维护标记信息 measureData.data.remark = this.getLesionName(this.orderMark, this.activeQuestionMark) } - const val = measureData.data.cachedStats.mean / 10 + // const val = measureData.data.cachedStats.mean / 10 + let val = parseFloat(measureData.data.cachedStats.mean) + let imagePixelModule = cornerstone.metaData.get('imagePixelModule', measureData.imageId) + if (imagePixelModule.largestPixelValue >= 500) { + val = val / 10 + } this.$set(this.questionForm, measureData.tableQuestionId, val.toFixed(this.digitPlaces)) data = { Id: '', @@ -574,14 +580,26 @@ export default { let params = {} if (i > -1 && this.markList[i].measureData && this.markList[i].measureData.MeasureData) { const measureData = this.markList[i].measureData.MeasureData + const tableQuestionId = this.markList[i].tableQuestionId + if (this.questionForm[tableQuestionId] > 100) { + const confirm = await this.$confirm( + this.$t('trials:MRIPDFF:message:message4'), + { + type: 'warning', + distinguishCancelAndClose: true + } + ) + if (confirm !== 'confirm') return + } // 上传截图 + DicomEvent.$emit('getScreenshots', { questionId: this.parentQsId, rowIndex: this.questionForm.RowIndex, visitTaskId: this.visitTaskId, lesionName: measureData.OrderMarkName, lesionType: null, isMarked: !!measureData }, async val => { params = Object.assign({}, this.markList[i].measureData) if (val) { const pictureObj = await this.uploadScreenshots(`${new Date().getTime()}`, val) params.PicturePath = pictureObj.isSuccess ? this.$getObjectName(pictureObj.result.url) : '' } - const tableQuestionId = this.markList[i].tableQuestionId + params.Answer = this.questionForm[tableQuestionId] params.MeasureData = JSON.stringify(this.markList[i].measureData.MeasureData) loading.close() diff --git a/src/views/trials/trials-panel/reading/dicoms/components/MRIPDFF/QuestionList.vue b/src/views/trials/trials-panel/reading/dicoms/components/MRIPDFF/QuestionList.vue index fc17ddb9..853205c4 100644 --- a/src/views/trials/trials-panel/reading/dicoms/components/MRIPDFF/QuestionList.vue +++ b/src/views/trials/trials-panel/reading/dicoms/components/MRIPDFF/QuestionList.vue @@ -264,7 +264,6 @@ export default { if (item.Type === 'table' && item.Id === obj.questionId) { var idx = item.TableQuestions.Answers.findIndex(i => i.RowIndex === obj.rowIndex) item.TableQuestions.Answers[idx].isMeasurable = obj.isMeasurable - console.log(obj.isMeasurable) item.TableQuestions.Answers[idx].mean = obj.mean item.TableQuestions.Answers[idx].saveTypeEnum = obj.saveTypeEnum