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 98759839..27154bff 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 @@ -496,6 +496,9 @@ export default { this.$emit('operateImageMarker', { operateStateEnum: 6, question }) }, async deleteTableCol(row, index) { + let data = row.TableQuestions.Answers[index] + let hasMark = Object.keys(data).some(key => this.questionsMarkStatus[`${data.RowId}_${key}`] && this.questionsMarkStatus[`${data.RowId}_${key}`].isMarked) + if (hasMark) return this.$alert(this.$t('dicom3D:ReadPage:alert:QuestionToMarkNoDel')) let loading = null try { let confirm = await this.$confirm(this.$t('trials:uploadNonDicoms:message:msg1')) @@ -691,21 +694,26 @@ export default { } } if (isExistUnSaved) { - // 标记未保存是否确认关闭? - const confirm = await this.$confirm(this.$t("dicom3D:CustomizeQuestionFormItem:confirm:markNoSaveAndclose"), { - type: 'warning', - distinguishCancelAndClose: true - }) - if (confirm !== 'confirm') return - // 清除绑定关系 - let obj = {} - if (!this.QuestionsForm.RowId) { - obj.markTableQuestions = this.markTableQuestions - obj.questionId = this.question.Id - this.$emit('unBindAnnotationToQuestion', obj) - } + if (this.addOrEdit.type = 'add') { + // 标记未保存是否确认关闭? + const confirm = await this.$confirm(this.$t("dicom3D:CustomizeQuestionFormItem:confirm:markNoSaveAndclose"), { + type: 'warning', + distinguishCancelAndClose: true + }) + if (confirm !== 'confirm') return + // 清除绑定关系 + let obj = {} + if (!this.QuestionsForm.RowId) { + obj.markTableQuestions = this.markTableQuestions + obj.questionId = this.question.Id + this.$emit('unBindAnnotationToQuestion', obj) + } + + return this.addOrEdit.visible = false + } + // 标记未保存无法关闭? + return this.$alert(this.$t('dicom3D:CustomizeQuestionFormItem:alert:markNoSaveNoclose')) - this.addOrEdit.visible = false } else { this.addOrEdit.visible = false } @@ -1185,21 +1193,25 @@ export default { } } if (isExistUnSaved) { - //标记未保存是否确认关闭? - const confirm = await this.$confirm(this.$t("dicom3D:CustomizeQuestionFormItem:confirm:markNoSaveAndclose"), { - type: 'warning', - distinguishCancelAndClose: true - }) - if (confirm !== 'confirm') return - // 清除绑定关系 - let obj = {} - if (!this.QuestionsForm.RowId) { - obj.markTableQuestions = this.markTableQuestions - obj.questionId = this.question.Id - this.$emit('unBindAnnotationToQuestion', obj) - } + if (this.addOrEdit.type = 'add') { + //标记未保存是否确认关闭? + const confirm = await this.$confirm(this.$t("dicom3D:CustomizeQuestionFormItem:confirm:markNoSaveAndclose"), { + type: 'warning', + distinguishCancelAndClose: true + }) + if (confirm !== 'confirm') return + // 清除绑定关系 + let obj = {} + if (!this.QuestionsForm.RowId) { + obj.markTableQuestions = this.markTableQuestions + obj.questionId = this.question.Id + this.$emit('unBindAnnotationToQuestion', obj) + } - done() + return done() + } + // 标记未保存无法关闭? + return this.$alert(this.$t('dicom3D:CustomizeQuestionFormItem:alert:markNoSaveNoclose')) // this.$alert('存在标记信息未保存!') } else { done() 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 f4d62d6f..051eb25c 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 @@ -922,13 +922,15 @@ export default { return } this.questionMarkInfoList = questionMarkInfoList.filter(item => { - const { TableQuestionId, QuestionId } = item || {} - if ((TableQuestionId && QuestionId === questionId && markTableQuestions.includes(TableQuestionId))) { + const { TableQuestionId, QuestionId, RowId } = item || {} + if ((TableQuestionId && QuestionId === questionId && markTableQuestions.includes(TableQuestionId)) && !RowId) { if (questionsMarkStatus && questionsMarkStatus[TableQuestionId]) { delete questionsMarkStatus[TableQuestionId] + }else { + return item } } else { - return + return item } }) },