非必填的CRF问题,影像标记为非必选。如果画了标记,没有保存时,访视可以提交。提交后,值存在,标记不存在
continuous-integration/drone/push Build is passing Details

main
wangxiaoshuang 2026-01-22 17:36:33 +08:00
parent 86a1312b60
commit 5a0cc41d5a
2 changed files with 39 additions and 6 deletions

View File

@ -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()
})

View File

@ -26,13 +26,15 @@
<el-form-item v-if="readingTaskState < 2">
<div style="text-align:center;">
<el-button v-if="taskInfo && taskInfo.IseCRFShowInDicomReading" type="primary" @click="skipTask">
<el-button v-if="taskInfo && taskInfo.IseCRFShowInDicomReading" :disabled="isTableVisible" type="primary"
@click="skipTask">
{{ $t('trials:readingReport:button:skip') }}
</el-button>
<el-button type="primary" @click="handleSave">
<el-button type="primary" :disabled="isTableVisible" @click="handleSave">
{{ $t('common:button:save') }}
</el-button>
<el-button v-if="taskInfo && taskInfo.IseCRFShowInDicomReading" type="primary" @click="handleSubmit">
<el-button v-if="taskInfo && taskInfo.IseCRFShowInDicomReading" :disabled="isTableVisible" type="primary"
@click="handleSubmit">
{{ $t('common:button:submit') }}
</el-button>
</div>
@ -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'),