lugano病灶融合

uat_us
caiyiling 2024-02-23 14:33:01 +08:00
parent f0dd5398c8
commit fcc239b54e
3 changed files with 65 additions and 26 deletions

View File

@ -680,6 +680,14 @@ export default {
const imageId = this.stack.imageIds[this.stack.currentImageIdIndex]
ToolStateManager.clearImageIdToolState(imageId)
cornerstone.updateImage(this.canvas, true)
var criterionType = parseInt(localStorage.getItem('CriterionType'))
if (this.isFirstChangeTask) {
this.disabledMarks = this.getDisabledMarks(this.visitTaskList[idx].MeasureData)
} else if (criterionType === 2) {
this.disabledMarks = this.getMergeMarks(this.visitTaskList[idx].MeasureData)
} else {
this.disabledMarks = []
}
return true
},
onContextmenu(event) {

View File

@ -470,27 +470,39 @@ export default {
sdiIncrease = isNaN(parseFloat(sdiIncrease)) ? 0 : parseFloat(sdiIncrease)
if (!this.isBaseLineTask && state === 4 && this.lesionType === 0 && ldi && pddIncrease && ldiIncrease && sdiIncrease) {
if (this.splitLesionTargetPDD) {
var minPPD = this.getQuestionVal(13)
minPPD = parseFloat(minPPD)
pddIncrease = ((((this.splitLesionTargetPDD - minPPD) / minPPD)) * 100).toFixed(this.digitPlaces)
}
/**
/**
* 当前融合靶病灶LDi>15
* 相比最低点PPD增加百分比 50
**/
if (this.answers.SplitOrMergeType === '4') {
if (ldi > 15 && pddIncrease >= 50) {
this.stateDisabled = true
} else {
this.stateDisabled = false
}
} else {
if (this.splitLesionTargetPDD) {
var minPPD = this.getQuestionVal(13)
minPPD = parseFloat(minPPD)
pddIncrease = ((((this.splitLesionTargetPDD - minPPD) / minPPD)) * 100).toFixed(this.digitPlaces)
}
/**
* 15mm<当前靶病灶LDi20mm
* 相比最低点PPD增加百分比 50
* 相比PPD最低点LDi增加值 5 mm 或者 相比PPD最低点SDi增加值5 mm
**/
if ((ldi > 15 && ldi <= 20) && (pddIncrease >= 50) && (ldiIncrease >= 5 || sdiIncrease >= 5)) {
this.stateDisabled = true
} else if ((ldi > 20) && (pddIncrease >= 50) && (ldiIncrease >= 10 || sdiIncrease >= 10)) {
if ((ldi > 15 && ldi <= 20) && (pddIncrease >= 50) && (ldiIncrease >= 5 || sdiIncrease >= 5)) {
this.stateDisabled = true
} else if ((ldi > 20) && (pddIncrease >= 50) && (ldiIncrease >= 10 || sdiIncrease >= 10)) {
/**
* 当前靶病灶LDi>20 mm
* 相比最低点PPD增加百分比 50
* 相比PPD最低点LDi增加值 10 mm 或者 相比PPD最低点SDi增加值Sdi 10 mm
**/
this.stateDisabled = true
} else {
this.stateDisabled = false
this.stateDisabled = true
} else {
this.stateDisabled = false
}
}
} else {
this.stateDisabled = false
@ -968,32 +980,48 @@ export default {
}
/** 疾病进展* **/
if (!this.isBaseLineTask && ldi && pddIncreaseNum && ldiIncrease && sdiIncrease && this.lesionType === 0 && this.isCurrentTaskAdd === 'False') {
if (this.answers.SplitOrMergeType === '4') {
/**
* 当前融合靶病灶LDi>15
* 相比最低点PPD增加百分比 50
**/
if (ldi > 15 && pddIncreaseNum >= 50) {
console.log('融合主病灶疾病进展')
const stateId = this.getQuestionId(7)
this.$set(this.questionForm, stateId, 4)
this.stateDisabled = true
} else {
//
this.stateDisabled = false
}
} else {
/**
* 15mm<当前靶病灶LDi20mm
* 相比最低点PPD增加百分比 50
* 相比PPD最低点LDi增加值 5 mm 或者 相比PPD最低点SDi增加值5 mm
**/
if ((ldi > 15 && ldi <= 20) && (pddIncreaseNum >= 50) && (ldiIncrease >= 5 || sdiIncrease >= 5)) {
const stateId = this.getQuestionId(7)
this.$set(this.questionForm, stateId, 4)
this.stateDisabled = true
} else if ((ldi > 20) && (pddIncreaseNum >= 50) && (ldiIncrease >= 10 || sdiIncrease >= 10)) {
if ((ldi > 15 && ldi <= 20) && (pddIncreaseNum >= 50) && (ldiIncrease >= 5 || sdiIncrease >= 5)) {
const stateId = this.getQuestionId(7)
this.$set(this.questionForm, stateId, 4)
this.stateDisabled = true
} else if ((ldi > 20) && (pddIncreaseNum >= 50) && (ldiIncrease >= 10 || sdiIncrease >= 10)) {
/**
* 当前靶病灶LDi>20 mm
* 相比最低点PPD增加百分比 50
* 相比PPD最低点LDi增加值 10 mm 或者 相比PPD最低点SDi增加值Sdi 10 mm
**/
const stateId = this.getQuestionId(7)
this.$set(this.questionForm, stateId, 4)
this.stateDisabled = true
} else {
const stateId = this.getQuestionId(7)
this.$set(this.questionForm, stateId, 4)
this.stateDisabled = true
} else {
//
// const lesionState = !isNaN(parseInt(this.getQuestionVal(7))) ? parseInt(this.getQuestionVal(7)) : ''
// if (lesionState === 4) {
// const stateId = this.getQuestionId(7)
// this.$set(this.questionForm, stateId, null)
// }
this.stateDisabled = false
this.stateDisabled = false
}
}
} else {
//

View File

@ -66,11 +66,14 @@
<!-- white-space: nowrap;overflow: hidden;text-overflow: ellipsis; -->
<div style="font-size: 11px;width:210px;height: 30px;display: flex;justify-content: flex-start;flex-wrap: nowrap;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;">
<el-tooltip v-if="item.TableQuestions.Answers[i].SplitOrMergeType === '1'" class="item" effect="dark" :content="`融向${item.TableQuestions.Answers[i].MeltingInToLesionMarks}`" placement="bottom">
<el-tooltip v-if="item.TableQuestions.Answers[i].SplitOrMergeType === '1'" class="item" effect="dark" :content="`融向${item.TableQuestions.Answers[i].SplitOrMergeLesionName}`" placement="bottom">
<div v-if="item.TableQuestions.Answers[i].SplitOrMergeType === '1'">
<span class="login-cycle" />
</div>
</el-tooltip>
<div v-if="item.TableQuestions.Answers[i].SplitOrMergeType === '4'">
<span class="login-cycle" />
</div>
<el-tooltip v-if="!!item.TableQuestions.Answers[i].lesionPart" class="item" effect="dark" :content="item.TableQuestions.Answers[i].lesionPart" placement="bottom">
<div v-if="item.TableQuestions.Answers[i].lesionPart" style="max-width: 100px;overflow: hidden;">
{{ item.TableQuestions.Answers[i].lesionPart }}
@ -95,7 +98,7 @@
</div>
<div v-if="item.TableQuestions.Answers[i].IsCurrentTaskAdd === 'False'" style="position: absolute;right: 5px;top: 2px;">
<!-- 分裂 -->
<el-tooltip v-show="!!item.TableQuestions.Answers[i].RowId && item.TableQuestions.Answers[i].SplitOrMergeType !== '1' && ((item.LesionType === 0 && [0,4].includes(parseInt(item.TableQuestions.Answers[i].lesionState))) || (item.LesionType === 1 && [0,1].includes(parseInt(item.TableQuestions.Answers[i].lesionState))) || (item.LesionType === 2 && parseInt(item.TableQuestions.Answers[i].lesionState) === 0))" class="item" :content="$t('trials:reading:button:split')" placement="bottom">
<el-tooltip v-show="!!item.TableQuestions.Answers[i].RowId && item.TableQuestions.Answers[i].SplitOrMergeType !== '4' && ((item.LesionType === 0 && [0,4].includes(parseInt(item.TableQuestions.Answers[i].lesionState))) || (item.LesionType === 1 && [0,1].includes(parseInt(item.TableQuestions.Answers[i].lesionState))) || (item.LesionType === 2 && parseInt(item.TableQuestions.Answers[i].lesionState) === 0))" class="item" :content="$t('trials:reading:button:split')" placement="bottom">
<i class="iconfont icon-24gl-split" style="color:#fff;font-size: 16px;" @click.stop="handleSplit(item.TableQuestions.Answers[i].RowId,item.Id)" />
</el-tooltip>
@ -708,8 +711,8 @@ export default {
var params = {
visitTaskId: this.visitTaskId,
questionId: this.mergeInfo.questionId,
mergeRowId: this.mergeInfo.mergeRowId,
meltingInToLesionList: this.mergeList
mergeMainRowId: this.mergeInfo.mergeRowId,
mergeRowIdList: this.mergeList
}
mergeLesion(params).then(res => {
this.merge.loading = false