From 5a0cc41d5ada7489f5a40aebc2eb7e67cb1eb657 Mon Sep 17 00:00:00 2001 From: wangxiaoshuang <825034831@qq.com> Date: Thu, 22 Jan 2026 17:36:33 +0800 Subject: [PATCH] =?UTF-8?q?=E9=9D=9E=E5=BF=85=E5=A1=AB=E7=9A=84CRF?= =?UTF-8?q?=E9=97=AE=E9=A2=98=EF=BC=8C=E5=BD=B1=E5=83=8F=E6=A0=87=E8=AE=B0?= =?UTF-8?q?=E4=B8=BA=E9=9D=9E=E5=BF=85=E9=80=89=E3=80=82=E5=A6=82=E6=9E=9C?= =?UTF-8?q?=E7=94=BB=E4=BA=86=E6=A0=87=E8=AE=B0=EF=BC=8C=E6=B2=A1=E6=9C=89?= =?UTF-8?q?=E4=BF=9D=E5=AD=98=E6=97=B6=EF=BC=8C=E8=AE=BF=E8=A7=86=E5=8F=AF?= =?UTF-8?q?=E4=BB=A5=E6=8F=90=E4=BA=A4=E3=80=82=E6=8F=90=E4=BA=A4=E5=90=8E?= =?UTF-8?q?=EF=BC=8C=E5=80=BC=E5=AD=98=E5=9C=A8=EF=BC=8C=E6=A0=87=E8=AE=B0?= =?UTF-8?q?=E4=B8=8D=E5=AD=98=E5=9C=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/customize/QuestionFormItem.vue | 9 +++-- .../components/customize/QuestionList.vue | 36 ++++++++++++++++--- 2 files changed, 39 insertions(+), 6 deletions(-) diff --git a/src/views/trials/trials-panel/reading/dicoms3D/components/customize/QuestionFormItem.vue b/src/views/trials/trials-panel/reading/dicoms3D/components/customize/QuestionFormItem.vue index 61d76bc6..830f44b1 100644 --- a/src/views/trials/trials-panel/reading/dicoms3D/components/customize/QuestionFormItem.vue +++ b/src/views/trials/trials-panel/reading/dicoms3D/components/customize/QuestionFormItem.vue @@ -486,6 +486,11 @@ export default { } } + }, + 'addOrEdit.visible': { + handler() { + DicomEvent.$emit('opentableCol', { visible: this.addOrEdit.visible }) + } } }, @@ -1077,7 +1082,7 @@ export default { } }) } - + } // this.$emit('formItemNumberChange') }, @@ -1336,7 +1341,7 @@ export default { } } const val = this.getAnnotationProp(item.MeasureData, item.ImageToolAttribute) - this.setFormTableItemData({key: item.TableQuestionId, val}) + this.setFormTableItemData({ key: item.TableQuestionId, val }) // this.$set(this.QuestionsForm, item.TableQuestionId, val) this.formItemTableNumberChange() }) diff --git a/src/views/trials/trials-panel/reading/dicoms3D/components/customize/QuestionList.vue b/src/views/trials/trials-panel/reading/dicoms3D/components/customize/QuestionList.vue index 1db2a526..0f12415a 100644 --- a/src/views/trials/trials-panel/reading/dicoms3D/components/customize/QuestionList.vue +++ b/src/views/trials/trials-panel/reading/dicoms3D/components/customize/QuestionList.vue @@ -26,13 +26,15 @@
- + {{ $t('trials:readingReport:button:skip') }} - + {{ $t('common:button:save') }} - + {{ $t('common:button:submit') }}
@@ -115,7 +117,8 @@ export default { questionsMarkStatus: {}, digitPlaces: 2, questionImageToolAttributeInfo: {}, - unSaveTargets: [] + unSaveTargets: [], + isTableVisible: false } }, mounted() { @@ -129,6 +132,10 @@ export default { this.digitPlaces = digitPlaces === -1 ? this.digitPlaces : digitPlaces this.getQuestionCalculateRelation() this.getQuestions(true) + DicomEvent.$on('opentableCol', (data) => { + let { visible } = data + this.isTableVisible = visible + }) }, methods: { handleReadingChart(e) { @@ -241,6 +248,13 @@ export default { async handleSave(isMsg) { const valid = await this.$refs['questions'].validate() if (!valid) return + let isSaved = this.verifyAnnotationIsSave() + if (isSaved) { + let confirm = this.$confirm(this.$t('trials:reading:confirm:AnnotationNotSave'), this.$t('system:menu:confirm:title:warning'), { + type: 'warning' + }) + if (!confirm) return false + } this.loading = true try { var answers = [] @@ -271,6 +285,13 @@ export default { async handleSubmit() { const valid = await this.$refs['questions'].validate() if (!valid) return + let isSaved = this.verifyAnnotationIsSave() + if (isSaved) { + let confirm = this.$confirm(this.$t('trials:reading:confirm:AnnotationNotSave'), this.$t('system:menu:confirm:title:warning'), { + type: 'warning' + }) + if (!confirm) return false + } await this.handleSave(false) await verifyVisitTaskQuestions({ visitTaskId: this.visitTaskId }) const { ImageAssessmentReportConfirmation } = const_.processSignature @@ -334,6 +355,13 @@ export default { }, async skipTask() { try { + let isSaved = this.verifyAnnotationIsSave() + if (isSaved) { + let confirm = this.$confirm(this.$t('trials:reading:confirm:AnnotationNotSave'), this.$t('system:menu:confirm:title:warning'), { + type: 'warning' + }) + if (!confirm) return false + } // 是否确认跳过? const confirm = await this.$confirm( this.$t('trials:readingReport:message:skipConfirm'),