熊飞 2024-01-16 09:42:00 +08:00
commit bc9edcaa89
3 changed files with 75 additions and 54 deletions

View File

@ -17,8 +17,9 @@
class="icon"
:class="[activeTool==='WindowLevel'?'tool_active':'']"
data-tool="WindowLevel"
@click.prevent="setBasicToolActive('WindowLevel')"
>
<svg-icon icon-class="reverse" class="svg-icon" @click.prevent="setBasicToolActive('WindowLevel')" />
<svg-icon icon-class="reverse" class="svg-icon" />
<i class="el-icon-arrow-down" style="color:#fff;" />
</div>
<!-- 窗宽窗位 -->
@ -60,8 +61,9 @@
<div
class="icon"
data-tool="reverse"
@click.prevent="toggleInvert"
>
<svg-icon icon-class="reversecolor" class="svg-icon" @click.prevent="toggleInvert" />
<svg-icon icon-class="reversecolor" class="svg-icon" />
</div>
<!-- 反色 -->
<div class="text">{{ $t('trials:reading:button:reverseColor') }}</div>
@ -74,8 +76,9 @@
class="icon"
:class="[activeTool==='Zoom'?'tool_active':'']"
data-tool="Zoom"
@click.prevent="setBasicToolActive('Zoom')"
>
<svg-icon icon-class="magnifier" class="svg-icon" @click.prevent="setBasicToolActive('Zoom')" />
<svg-icon icon-class="magnifier" class="svg-icon" />
</div>
<!-- 缩放 -->
<div class="text">{{ $t('trials:reading:button:zoom') }}</div>
@ -88,8 +91,9 @@
class="icon"
:class="[activeTool==='Pan'?'tool_active':'']"
data-tool="Pan"
@click.prevent="setBasicToolActive('Pan')"
>
<svg-icon icon-class="move" class="svg-icon" @click.prevent="setBasicToolActive('Pan')" />
<svg-icon icon-class="move" class="svg-icon" />
</div>
<!-- 移动 -->
<div class="text">{{ $t('trials:reading:button:move') }}</div>
@ -103,8 +107,9 @@
class="icon"
:class="[activeTool==='Rotate'?'tool_active':'']"
data-tool="Pan"
@click.prevent="setBasicToolActive('TrackballRotate')"
>
<svg-icon icon-class="rotate" class="svg-icon" @click.prevent="setBasicToolActive('TrackballRotate')" />
<svg-icon icon-class="rotate" class="svg-icon" />
<i class="el-icon-arrow-down" style="color:#fff;" />
</div>
<!-- 移动 -->
@ -135,8 +140,9 @@
class="icon"
:class="[activeTool===tool.toolName?'tool_active':'']"
@mouseenter="enter($event,tool.toolName)"
@click.prevent="setMeasureToolActive(tool.toolName)"
>
<svg-icon :icon-class="tool.icon" class="svg-icon" @click.prevent="setMeasureToolActive(tool.toolName)" />
<svg-icon :icon-class="tool.icon" class="svg-icon" />
</div>
<div class="text">{{ tool.text }}</div>
</div>
@ -181,7 +187,7 @@
<div class="dropdown">
<div
id="colorBar"
class="icon"
style="display: flex;align-items: center;width:266px"
>
<canvas id="colorBarCanvas" />
@ -2080,7 +2086,7 @@ export default {
cursor: pointer;
text-align: center;
.svg-icon{
font-size:20px;
font-size:25px;
color:#ddd;
}
}

View File

@ -53,8 +53,8 @@ export default {
measurements: [],
currentQsId: '',
pet5PSId: '',
pet5PSCommentsId:'',
calculatePet5PS:null,
pet5PSCommentsId: '',
calculatePet5PS: null,
liverSuvmaxId: '',
lungSuvmaxId: '',
suvmaxId: '',
@ -284,7 +284,7 @@ export default {
}
this.$emit('setNonTargetMeasurementStatus', { status: true, toolName: 'CircleROI' })
},
removeAnnotation(obj) {
console.log('question_removeAnnotation')
const { Id } = obj
@ -397,18 +397,18 @@ export default {
},
setFormItemData(obj) {
this.questionForm[obj.key] = obj.val
if(obj.key === this.pet5PSId){
if (obj.key === this.pet5PSId) {
this.setPet5PSCommentDisplay()
}
},
setPet5PSCommentDisplay(){
if( this.pet5PSCommentsId && this.pet5PSId ){
setPet5PSCommentDisplay() {
if (this.pet5PSCommentsId && this.pet5PSId) {
for (let i = 0; i < this.questions[0].Childrens[0].Childrens.length; i++) {
if (this.questions[0].Childrens[0].Childrens[i].QuestionType === 59) {
if(this.calculatePet5PS && this.calculatePet5PS !== this.questionForm[this.pet5PSId]){
if (this.calculatePet5PS && this.calculatePet5PS !== this.questionForm[this.pet5PSId]) {
this.questions[0].Childrens[0].Childrens[i].ShowQuestion = 0
this.questions[0].Childrens[0].Childrens[i].IsRequired = 0
}else{
} else {
this.questions[0].Childrens[0].Childrens[i].ShowQuestion = 2
this.questions[0].Childrens[0].Childrens[i].IsRequired = 3
this.questionForm[this.pet5PSCommentsId] = ''
@ -443,7 +443,7 @@ export default {
// 访SUVmax<SUVmax 2
// this.questionForm[this.pet5PSId] = '2'
return '2'
}else{
} else {
// this.questionForm[this.pet5PSId] = ''
return ''
}

View File

@ -31,8 +31,8 @@
v-model="questionForm.LesionType"
filterable
:disabled="!isCurrentTask || readingTaskState>=2 || !isBaseLineTask"
@change="((val)=>{lesionTypeChange(val)})"
:popper-append-to-body="false"
@change="((val)=>{lesionTypeChange(val)})"
>
<el-option
@ -89,8 +89,8 @@
filterable
:placeholder="qs.QuestionMark === 8 ? $t('common:placeholder:selectorsearch') : $t('common:placeholder:select')"
:disabled="!isCurrentTask || readingTaskState>=2 || qs.QuestionMark === 0 || qs.QuestionMark === 1 || qs.QuestionMark === 2 || qs.QuestionMark === 5 || (qs.QuestionMark === 6 && (isCurrentTaskAdd === 'False' || (isCurrentTaskAdd === 'True' && !questionForm.IsCanEditPosition) || !!answers.SplitOrMergeLesionName))|| (qs.QuestionMark === 8 && (isCurrentTaskAdd === 'False'|| !!answers.SplitOrMergeLesionName)) || (qs.QuestionMark === 10 && (isCurrentTaskAdd === 'False' || (isCurrentTaskAdd === 'True' && !questionForm.IsCanEditPosition) || !!answers.SplitOrMergeLesionName)) || (qs.QuestionMark === 7 && stateDisabled)"
@change="((val)=>{formItemChange(val, qs)})"
:popper-append-to-body="false"
@change="((val)=>{formItemChange(val, qs)})"
>
<template v-if="qs.QuestionMark === 8" #prefix>
<span style="padding-left: 5px;">
@ -189,43 +189,51 @@
</el-input>
</el-form-item>
<el-form-item
label="SUV测量截图"
v-if="answers.OtherPicturePath"
>
<img v-viewer style="width: 50px; height: 50px; cursor: pointer;" crossorigin="anonymous" :src="answers.OtherPicturePath" alt="Image" class="suv_viewer">
</el-form-item>
label="SUV测量截图"
/>
<div>
<img
v-viewer
:options="{ toolbar: false }"
style="width: 50px; height: 50px; cursor: pointer;"
crossorigin="anonymous"
:src="answers.OtherPicturePath"
alt="Image"
class="suv_viewer"
>
</div>
</div>
</div>
<div
v-if="isCurrentTask && readingTaskState<2"
class="base-dialog-footer"
style="text-align:right;margin-top:10px;"
>
<div
v-if="isCurrentTask && readingTaskState<2"
class="base-dialog-footer"
style="text-align:right;margin-top:10px;"
>
<!-- 清除标记 -->
<el-button
v-if="questionForm.MeasureData"
size="mini"
@click="handleDeleteMeasureData"
>
{{ $t('trials:reading:button:removeMark') }}
</el-button>
<!-- 删除 -->
<el-button
v-if="isCurrentTaskAdd !== 'False'"
size="mini"
@click="handleDelete"
>
{{ $t('common:button:delete') }}
</el-button>
<!-- 保存 -->
<el-button
size="mini"
@click="handleSave"
>
{{ $t('common:button:save') }}
</el-button>
<!-- 清除标记 -->
<el-button
v-if="questionForm.MeasureData"
size="mini"
@click="handleDeleteMeasureData"
>
{{ $t('trials:reading:button:removeMark') }}
</el-button>
<!-- 删除 -->
<el-button
v-if="isCurrentTaskAdd !== 'False'"
size="mini"
@click="handleDelete"
>
{{ $t('common:button:delete') }}
</el-button>
<!-- 保存 -->
<el-button
size="mini"
@click="handleSave"
>
{{ $t('common:button:save') }}
</el-button>
</div>
</div>
</el-form>
</template>
@ -234,6 +242,7 @@ import { submitTableQuestion, deleteReadingRowAnswer } from '@/api/trials'
// import { uploadPrintscreen } from '@/api/reading'
import DicomEvent from './../DicomEvent'
import store from '@/store'
import Viewer from 'v-viewer'
export default {
name: 'MeasurementForm',
props: {
@ -303,10 +312,11 @@ export default {
pictureBaseStr: '',
currentMarkTool: '',
digitPlaces: 2,
stateDisabled: false,
stateDisabled: false
}
},
mounted() {
this.initializeViewer()
this.trialId = this.$route.query.trialId
this.initForm()
DicomEvent.$on('handleImageQualityAbnormal', () => {
@ -319,6 +329,11 @@ export default {
DicomEvent.$off('handleImageQualityAbnormal')
},
methods: {
initializeViewer() {
Viewer.setDefaults({
toolbar: { zoomIn: true, zoomOut: true, rotateLeft: true, rotateRight: true, flipHorizontal: true, flipVertical: true }
})
},
async initForm() {
const loading = this.$loading({ fullscreen: true })
this.questions.forEach(item => {