表格问题数据同步保存

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) annotation = this.getAnnotationByRow(this.operateRowId)
// //
let picturePath = '' let picturePath = obj.picturePath
if (annotation) { if (annotation && !picturePath) {
const base64Str = await this.getScreenshots({ const base64Str = await this.getScreenshots({
visitTaskId: this.visitTaskId, visitTaskId: this.visitTaskId,
annotation annotation
@ -686,6 +686,17 @@ export default {
{ isMarked: !!annotation, isSaved: true, OrderMarkName: annotation ? annotation.data.label : '' } { isMarked: !!annotation, isSaved: true, OrderMarkName: annotation ? annotation.data.label : '' }
) )
this.resetOperateState() 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) { } catch (e) {
console.error('表格保存失败:', e) console.error('表格保存失败:', e)
} finally { } finally {

View File

@ -195,6 +195,7 @@
</div> </div>
</template> </template>
<script> <script>
import DicomEvent from '@/views/trials/trials-panel/reading/dicoms/components/DicomEvent'
export default { export default {
name: 'QuestionTableFormItem', name: 'QuestionTableFormItem',
props: { props: {
@ -294,7 +295,6 @@ export default {
} }
}, },
mounted() { mounted() {
var digitPlaces = Number(localStorage.getItem('digitPlaces')) var digitPlaces = Number(localStorage.getItem('digitPlaces'))
this.digitPlaces = digitPlaces === -1 ? this.digitPlaces : digitPlaces this.digitPlaces = digitPlaces === -1 ? this.digitPlaces : digitPlaces
if (this.question.Type === 'upload') { 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 if (this.type === 'edit') return
}, },
methods: { methods: {