表格问题数据同步保存

main
wangxiaoshuang 2025-07-17 15:30:31 +08:00
parent d3a4842504
commit 76e41f4d5f
2 changed files with 20 additions and 3 deletions

View File

@ -652,8 +652,8 @@ export default {
}
annotation = this.getAnnotationByRow(this.operateRowId)
//
let picturePath = ''
if (annotation) {
let picturePath = obj.picturePath
if (annotation && !picturePath) {
const base64Str = await this.getScreenshots({
visitTaskId: this.visitTaskId,
annotation
@ -686,6 +686,17 @@ export default {
{ isMarked: !!annotation, isSaved: true, OrderMarkName: annotation ? annotation.data.label : '' }
)
this.resetOperateState()
if (annotation) {
for (let i = 0; i < this.questionMarkInfoList.length; i++) {
const item = this.questionMarkInfoList[i]
if (!item.MeasureData || item.MeasureData.annotationUID !== annotation.annotationUID) continue
const isTableMode = item.TableQuestionId
if (isTableMode && ((this.questionsMarkStatus[`${item.RowId}_${item.TableQuestionId}`] && !this.questionsMarkStatus[`${item.RowId}_${item.TableQuestionId}`].isSaved && this.questionsMarkStatus[`${item.RowId}_${item.TableQuestionId}`].isMarked) || (this.questionsMarkStatus[`${item.TableQuestionId}`] && !this.questionsMarkStatus[`${item.TableQuestionId}`].isSaved && this.questionsMarkStatus[`${item.TableQuestionId}`].isMarked))) {
DicomEvent.$emit('operateImageMarkerTable', { QuestionId: item.TableQuestionId, operateStateEnum: 7, picturePath })
break
}
}
}
} catch (e) {
console.error('表格保存失败:', e)
} finally {

View File

@ -195,6 +195,7 @@
</div>
</template>
<script>
import DicomEvent from '@/views/trials/trials-panel/reading/dicoms/components/DicomEvent'
export default {
name: 'QuestionTableFormItem',
props: {
@ -294,7 +295,6 @@ export default {
}
},
mounted() {
var digitPlaces = Number(localStorage.getItem('digitPlaces'))
this.digitPlaces = digitPlaces === -1 ? this.digitPlaces : digitPlaces
if (this.question.Type === 'upload') {
@ -306,6 +306,12 @@ export default {
})
}
}
DicomEvent.$on('operateImageMarkerTable', (data) => {
let { operateStateEnum, QuestionId, picturePath } = data
if (this.question.Id === QuestionId) {
this.operateImageMarker({ operateStateEnum, question: this.question, picturePath })
}
})
if (this.type === 'edit') return
},
methods: {