From 221ad89fd430f4183f01e3975bfc2507859e9869 Mon Sep 17 00:00:00 2001 From: caiyiling <1321909229@qq.com> Date: Mon, 6 Jan 2025 14:01:08 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=9D=E5=AD=98=E8=82=9D=E5=88=86=E6=AE=B5?= =?UTF-8?q?=E6=A0=87=E8=AE=B0=E9=80=BB=E8=BE=91=E6=9B=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/MRIPDFF/QuestionForm.vue | 36 ++++++++++++++++++- .../reading/dicoms/components/ReportPage.vue | 4 +++ 2 files changed, 39 insertions(+), 1 deletion(-) 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 dba41ffc..6044b0aa 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 @@ -312,7 +312,10 @@ export default { // saveTypeEnum 0:未保存过(新建病灶);1:已保存,信息不完整(随访初始化病灶/分裂病灶,通过状态判断);2:已保存,信息完整 let isMeasurable = this.getQuestionVal(1105) - this.$set(this.questionForm, 'saveTypeEnum', isMeasurable === '' ? 1 : 2) + if (this.questionForm.saveTypeEnum !== 1) { + this.$set(this.questionForm, 'saveTypeEnum', isMeasurable === '' ? 1 : 2) + } + this.lesionName = this.getLesionInfo(this.orderMark, this.rowIndex) this.lesionMark = this.getLesionName(this.orderMark, 1101) @@ -601,10 +604,41 @@ export default { // 保存后设置保存状态 let i = this.markList.findIndex(i=>i.tableQuestionId === qs.Id) this.markList[i].saveEnum = 1 + // 保存病灶 + let j = this.markList.findIndex(i=>!(i.saveEnum === 1 && i.measureData && i.measureData.MeasureData)) + if (j === -1) { + let answers = [] + let reg = new RegExp(/^[0-9a-zA-Z]{8}-[0-9a-zA-Z]{4}-[0-9a-zA-Z]{4}-[0-9a-zA-Z]{4}-[0-9a-zA-Z]{12}$/) + for (const k in this.questionForm) { + if (reg.test(k)) { + if (answers.findIndex(i => i.tableQuestionId === k) === -1) { + answers.push({ tableQuestionId: k, answer: this.questionForm[k] }) + } + } + } + let params = { + questionId: this.parentQsId, + rowId: this.questionForm.RowId, + rowIndex: this.answers.RowIndex, + visitTaskId: this.visitTaskId, + trialId: this.trialId, + answerList: answers, + isDicomReading: true + } + const res = await submitTaskRowInfo(params, 11) + if (res.IsSuccess) { + this.$set(this.questionForm, 'saveTypeEnum', 2) + this.originalQuestionForm = { ...this.questionForm } + this.$set(this.questionForm, 'RowId', res.Result.RowId) + this.setQuestions() + DicomEvent.$emit('getReportInfo', true) + } + } // 保存成功 this.$message.success(this.$t('common:message:savedSuccessfully')) // 刷新表格、刷新标记信息 this.$emit('getReadingQuestionAndAnswer') + DicomEvent.$emit('setMeasuredToolsPassive') loading.close() } } catch(e) { diff --git a/src/views/trials/trials-panel/reading/dicoms/components/ReportPage.vue b/src/views/trials/trials-panel/reading/dicoms/components/ReportPage.vue index 5a5287b4..267a0179 100644 --- a/src/views/trials/trials-panel/reading/dicoms/components/ReportPage.vue +++ b/src/views/trials/trials-panel/reading/dicoms/components/ReportPage.vue @@ -464,6 +464,10 @@ export default { lesionType = item.LesionType var filterArr = [7] + // 0:靶病灶、 5:新靶病灶 + // 1:非靶病灶、2:新病灶、6:新非靶病灶、7:其它既往新病灶、8:触发irecisit后的新病灶 + // 0:长径,1:短径,2:是否淋巴结,3:自增ID,4:病灶名称,5:所在器官,6:所在位置,7:状态,8:所在部位,10:部位描述 + // 1105:是否可测量,1106:肝脏分段 if ((item.LesionType === 1 || item.LesionType === 2 || item.LesionType === 6 || item.LesionType === 7 || item.LesionType === 8) && isNTFilterLength) { filterArr = [0, 1, 3, 4, 5, 6, 2, 8, 10, 7, 1105] } else {