diff --git a/src/views/trials/trials-panel/reading/dicoms/components/Lugano/QuestionForm.vue b/src/views/trials/trials-panel/reading/dicoms/components/Lugano/QuestionForm.vue index 229eb3f8..5928f3e0 100644 --- a/src/views/trials/trials-panel/reading/dicoms/components/Lugano/QuestionForm.vue +++ b/src/views/trials/trials-panel/reading/dicoms/components/Lugano/QuestionForm.vue @@ -340,7 +340,8 @@ export default { pictureBaseStr: '', currentMarkTool: '', digitPlaces: 2, - stateDisabled: false + stateDisabled: false, + splitLesionTargetPDD: null } }, mounted() { @@ -363,10 +364,9 @@ export default { }) }, previewImage() { - console.log(this.$refs.viewer[0]) this.$refs.viewer[0].$viewer.show() }, - async initForm() { + async initForm(params) { const loading = this.$loading({ fullscreen: true }) this.questions.forEach(item => { var val = this.answers[item.Id] @@ -448,6 +448,14 @@ export default { const lesionState = !isNaN(parseInt(this.getQuestionVal(7))) ? parseInt(this.getQuestionVal(7)) : '' this.$emit('resetQuestions', { isLymphLesion, lesionPart, lesionOrgan, lesionShort, lesionState, saveTypeEnum: this.questionForm.saveTypeEnum, lesionLength, rowIndex: this.rowIndex, questionId: this.parentQsId, anwsers: this.questionForm }) } + if (this.lesionType === 0 && params && params.splitLesionTargetPPD) { + // ppd + + var ppd = this.getQuestionVal(12) + ppd = isNaN(parseFloat(ppd)) ? 0 : parseFloat(ppd) + + this.splitLesionTargetPDD = ppd + params.splitLesionTargetPPD + } // 如果当前病灶状态为“疾病进展”,且满足疾病进展的条件,则状态不允许更改 var state = this.getQuestionVal(7)// 长径 @@ -458,9 +466,15 @@ export default { pddIncrease = isNaN(parseFloat(pddIncrease)) ? 0 : parseFloat(pddIncrease) var ldiIncrease = this.getQuestionVal(18)// 相比PPD最低点LDi增加值 ldiIncrease = isNaN(parseFloat(ldiIncrease)) ? 0 : parseFloat(ldiIncrease) - var sdiIncrease = this.getQuestionVal(19)// 相比PPD最低点LDi增加值 + var sdiIncrease = this.getQuestionVal(19)// 相比PPD最低点SDi增加值 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) + } /** 疾病进展 * 15mm<当前靶病灶LDi≤20mm * 相比最低点PPD增加百分比 ≥50% @@ -805,6 +819,9 @@ export default { this.$set(this.questionForm, stateId, 0) } } + } else if (this.isCurrentTaskAdd === 'True' && !lesionState && measureData.type === 'Bidirectional') { + const stateId = this.getQuestionId(7) + this.$set(this.questionForm, stateId, 0) } if (this.lesionType === 0) { this.calculatePPD() @@ -941,34 +958,56 @@ export default { } else { this.$set(this.questionForm, sdiIncreaseObj.Id, 'NA') } - + var pddIncreaseNum = null + if (this.splitLesionTargetPDD) { + pddIncreaseNum = ((((this.splitLesionTargetPDD - minPPD) / minPPD)) * 100).toFixed(this.digitPlaces) + } else { + pddIncreaseNum = ((((ppd - minPPD) / minPPD)) * 100).toFixed(this.digitPlaces) + } /** 疾病进展* **/ - if (!this.isBaseLineTask && ldi && pddIncrease && ldiIncrease && sdiIncrease) { + if (!this.isBaseLineTask && ldi && pddIncreaseNum && ldiIncrease && sdiIncrease && this.lesionType === 0 && this.isCurrentTaskAdd === 'False') { /** 疾病进展 * 15mm<当前靶病灶LDi≤20mm * 相比最低点PPD增加百分比 ≥50% * 相比PPD最低点LDi增加值 ≥5 mm 或者 相比PPD最低点SDi增加值≥5 mm **/ - if ((ldi > 15 && ldi <= 20) && (pddIncrease >= 50) && (ldiIncrease >= 5 || sdiIncrease >= 5)) { + if ((ldi > 15 && ldi <= 20) && (pddIncreaseNum >= 50) && (ldiIncrease >= 5 || sdiIncrease >= 5)) { const stateId = this.getQuestionId(7) - console.log(stateId) this.$set(this.questionForm, stateId, 4) this.stateDisabled = true - } else if ((ldi > 20) && (pddIncrease >= 50) && (ldiIncrease >= 10 || sdiIncrease >= 10)) { + } 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) - console.log(stateId) 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 } + } 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 } }, + setSplitLesionTargetPPD(v) { + var ppd = this.getQuestionVal(12) + ppd = isNaN(parseFloat(ppd)) ? 0 : parseFloat(ppd) + this.splitLesionTargetPDD = ppd + v + }, returnFloat(num) { if (num) return var value = Math.round(parseFloat(num) * 100) / 100 @@ -1622,12 +1661,12 @@ export default { submitTableQuestion(params).then(async res => { // 保存成功! this.$message.success(this.$t('common:message:savedSuccessfully')) + this.currentMarkTool = measureData ? measureData.type : '' // saveTypeEnum 0:未保存过(新建病灶);1:已保存,信息不完整(随访初始化病灶/分裂病灶,通过状态判断);2:已保存,信息完整 this.$set(this.questionForm, 'saveTypeEnum', 2) this.originalQuestionForm = { ...this.questionForm } - loading.close() var isLymphLesion = this.getQuestionVal(2) isLymphLesion = isLymphLesion ? parseInt(isLymphLesion) : null var lesionOrgan = this.getQuestionVal(6) @@ -1642,6 +1681,10 @@ export default { DicomEvent.$emit('readingPageUpdate', {}) DicomEvent.$emit('getReportInfo', true) DicomEvent.$emit('setMeasuredToolsPassive') + loading.close() + if (parseInt(this.answers.SplitOrMergeType) === 0) { + this.$emit('getReadingQuestionAndAnswer') + } }).catch(() => { loading.close() }) }) }) diff --git a/src/views/trials/trials-panel/reading/dicoms/components/Lugano/QuestionList.vue b/src/views/trials/trials-panel/reading/dicoms/components/Lugano/QuestionList.vue index 830b94a0..f7d5d3dc 100644 --- a/src/views/trials/trials-panel/reading/dicoms/components/Lugano/QuestionList.vue +++ b/src/views/trials/trials-panel/reading/dicoms/components/Lugano/QuestionList.vue @@ -87,10 +87,15 @@ -
+
- +
@@ -147,7 +152,7 @@