recist标准更改
continuous-integration/drone/push Build is passing Details

uat
caiyiling 2025-04-14 13:11:00 +08:00
parent 8e0ad5ca9d
commit ca0d406e45
2 changed files with 325 additions and 313 deletions

View File

@ -1,14 +1,14 @@
<template> <template>
<div class="table-question-form"> <div class="table-question-form">
<div style="display: flex;justify-content: space-between;"> <div style="display: flex;justify-content: space-between;">
<h3 v-if="questionForm.LesionName" style="color: #ddd;padding: 5px 0px;margin: 0;"> <h3 v-if="qsForm.LesionName" style="color: #ddd;padding: 5px 0px;margin: 0;">
{{ questionForm.LesionName }} {{ qsForm.LesionName }}
</h3> </h3>
<!-- 关闭 --> <!-- 关闭 -->
<div> <div>
<i class="el-icon-circle-close" style="font-size: 25px;cursor: pointer;" @click="close" /> <i class="el-icon-circle-close" style="font-size: 25px;cursor: pointer;" @click="close" />
</div>
</div> </div>
</div>
<el-form-item <el-form-item
:label="$t('trials:reading:title:lesionType')" :label="$t('trials:reading:title:lesionType')"
prop="LesionType" prop="LesionType"
@ -18,7 +18,7 @@
> >
<!-- 下拉框 --> <!-- 下拉框 -->
<el-select <el-select
v-model="questionForm.LesionType" v-model="qsForm.LesionType"
filterable filterable
:disabled="!isCurrentTask || readingTaskState>=2 || !isBaseLineTask" :disabled="!isCurrentTask || readingTaskState>=2 || !isBaseLineTask"
@change="((val)=>{lesionTypeChange(val)})" @change="((val)=>{lesionTypeChange(val)})"
@ -47,9 +47,10 @@
> >
<!-- 输入框 --> <!-- 输入框 -->
<template v-if="qs.Type==='input' || qs.Type==='number'"> <template v-if="qs.Type==='input' || qs.Type==='number'">
<el-input <el-input
v-if="qs.Type==='input' || qs.Type==='number'" v-if="qs.Type==='input' || qs.Type==='number'"
v-model="questionForm[qs.Id]" v-model="qsForm[qs.Id]"
:disabled="!isCurrentTask || readingTaskState>=2 || qs.QuestionMark === 0 || qs.QuestionMark === 1 || qs.QuestionMark === 2 || qs.QuestionMark === 5 || (qs.QuestionMark === 6 && (isCurrentTaskAdd === 'False' || (isCurrentTaskAdd === 'True' && !questionForm.IsCanEditPosition) || !!answer.SplitOrMergeLesionName))|| (qs.QuestionMark === 8 && (isCurrentTaskAdd === 'False' || !!answer.SplitOrMergeLesionName) && lesionType !== 2) || (qs.QuestionMark === 10 && (isCurrentTaskAdd === 'False' || !!answer.SplitOrMergeLesionName))" :disabled="!isCurrentTask || readingTaskState>=2 || qs.QuestionMark === 0 || qs.QuestionMark === 1 || qs.QuestionMark === 2 || qs.QuestionMark === 5 || (qs.QuestionMark === 6 && (isCurrentTaskAdd === 'False' || (isCurrentTaskAdd === 'True' && !questionForm.IsCanEditPosition) || !!answer.SplitOrMergeLesionName))|| (qs.QuestionMark === 8 && (isCurrentTaskAdd === 'False' || !!answer.SplitOrMergeLesionName) && lesionType !== 2) || (qs.QuestionMark === 10 && (isCurrentTaskAdd === 'False' || !!answer.SplitOrMergeLesionName))"
@change="((val)=>{formItemChange(val, qs)})" @change="((val)=>{formItemChange(val, qs)})"
> >
@ -61,7 +62,7 @@
<!-- 多行文本输入框 --> <!-- 多行文本输入框 -->
<el-input <el-input
v-if="qs.Type==='textarea'" v-if="qs.Type==='textarea'"
v-model="questionForm[qs.Id]" v-model="qsForm[qs.Id]"
type="textarea" type="textarea"
:autosize="{ minRows: 2, maxRows: 4}" :autosize="{ minRows: 2, maxRows: 4}"
:disabled="!isCurrentTask || readingTaskState>=2" :disabled="!isCurrentTask || readingTaskState>=2"
@ -70,7 +71,7 @@
<!-- 下拉框 --> <!-- 下拉框 -->
<el-select <el-select
v-if="qs.Type==='select'" v-if="qs.Type==='select'"
v-model="questionForm[qs.Id]" v-model="qsForm[qs.Id]"
filterable filterable
:placeholder="qs.QuestionMark === 8 ? $t('common:placeholder:selectorsearch') : qs.QuestionMark === 2 ? '' : $t('common:placeholder:select')" :placeholder="qs.QuestionMark === 8 ? $t('common:placeholder:selectorsearch') : qs.QuestionMark === 2 ? '' : $t('common:placeholder:select')"
:disabled="!isCurrentTask || readingTaskState>=2 || qs.QuestionMark === 0 || qs.QuestionMark === 1 || qs.QuestionMark === 2 || qs.QuestionMark === 5 || (qs.QuestionMark === 6 && (isCurrentTaskAdd === 'False' || (isCurrentTaskAdd === 'True' && !questionForm.IsCanEditPosition) || !!answer.SplitOrMergeLesionName))|| (qs.QuestionMark === 8 && (isCurrentTaskAdd === 'False'|| !!answer.SplitOrMergeLesionName)) || (qs.QuestionMark === 10 && (isCurrentTaskAdd === 'False' || (isCurrentTaskAdd === 'True' && !questionForm.IsCanEditPosition) || !!answer.SplitOrMergeLesionName))" :disabled="!isCurrentTask || readingTaskState>=2 || qs.QuestionMark === 0 || qs.QuestionMark === 1 || qs.QuestionMark === 2 || qs.QuestionMark === 5 || (qs.QuestionMark === 6 && (isCurrentTaskAdd === 'False' || (isCurrentTaskAdd === 'True' && !questionForm.IsCanEditPosition) || !!answer.SplitOrMergeLesionName))|| (qs.QuestionMark === 8 && (isCurrentTaskAdd === 'False'|| !!answer.SplitOrMergeLesionName)) || (qs.QuestionMark === 10 && (isCurrentTaskAdd === 'False' || (isCurrentTaskAdd === 'True' && !questionForm.IsCanEditPosition) || !!answer.SplitOrMergeLesionName))"
@ -154,7 +155,7 @@
<!-- 单选 --> <!-- 单选 -->
<el-radio-group <el-radio-group
v-if="qs.Type==='radio'" v-if="qs.Type==='radio'"
v-model="questionForm[qs.id]" v-model="qsForm[qs.id]"
:disabled="!isCurrentTask || readingTaskState>=2" :disabled="!isCurrentTask || readingTaskState>=2"
> >
<el-radio <el-radio
@ -209,13 +210,22 @@ export default {
required: true required: true
} }
}, },
data() {
return {
isCurrentTaskAdd: null,
lesionType: null,
questions: [],
organList: [],
qsForm: {}
}
},
watch: { watch: {
questionForm: { questionForm: {
deep: true, deep: true,
immediate: true, immediate: true,
handler(v) { handler(v) {
if (v.MeasureData) { if (v.MeasureData) {
const {markTool} = v.MeasureData const { markTool } = v.MeasureData
if (markTool === 'Bidirectional') { if (markTool === 'Bidirectional') {
this.getOrganList(1) this.getOrganList(1)
} else if (markTool === 'Length') { } else if (markTool === 'Length') {
@ -226,6 +236,9 @@ export default {
} else { } else {
this.getOrganList() this.getOrganList()
} }
for (const key in v) {
this.$set(this.qsForm, key, v[key])
}
this.isCurrentTaskAdd = v.IsCurrentTaskAdd this.isCurrentTaskAdd = v.IsCurrentTaskAdd
} }
}, },
@ -238,45 +251,37 @@ export default {
this.questions = v.TableQuestions.Questions this.questions = v.TableQuestions.Questions
} }
} }
},
},
data(){
return{
isCurrentTaskAdd: null,
lesionType: null,
questions: [],
organList: []
} }
}, },
methods: { methods: {
lesionTypeChange(v) { lesionTypeChange(v) {
this.$emit('lesionTypeChange', {tableId: this.tableInfo.Id, rowIndex: this.answer.RowIndex, newLesionType: v}) this.$emit('lesionTypeChange', { tableId: this.tableInfo.Id, rowIndex: this.answer.RowIndex, newLesionType: v })
}, },
formItemChange(v, qs) { formItemChange(v, qs) {
let updateArr = [] const updateArr = []
if (qs.QuestionMark === 8 && qs.RelationQuestions.length > 0) { if (qs.QuestionMark === 8 && qs.RelationQuestions.length > 0) {
// //
let index = this.organList.findIndex(item => item[qs.DataTableColumn] === v) const index = this.organList.findIndex(item => item[qs.DataTableColumn] === v)
if (index > -1) { if (index > -1) {
let selected = this.organList[index] const selected = this.organList[index]
qs.RelationQuestions.map(q => { qs.RelationQuestions.map(q => {
let val = selected[q.DataTableColumn] const val = selected[q.DataTableColumn]
updateArr.push({questionId: q.Id, val: val, questionMark: q.QuestionMark}) updateArr.push({ questionId: q.Id, val: val, questionMark: q.QuestionMark })
}) })
updateArr.push({questionId: 'OrganInfoId', val: selected.OrganInfoId}) updateArr.push({ questionId: 'OrganInfoId', val: selected.OrganInfoId })
updateArr.push({questionId: 'IsCanEditPosition', val: selected.IsCanEditPosition}) updateArr.push({ questionId: 'IsCanEditPosition', val: selected.IsCanEditPosition })
} else { } else {
question.RelationQuestions.map(q => { qs.RelationQuestions.map(q => {
updateArr.push({questionId: q.Id, val: '', questionMark: q.QuestionMark}) updateArr.push({ questionId: q.Id, val: '', questionMark: q.QuestionMark })
}) })
} }
} }
this.$emit('update', {tableId: this.tableInfo.Id, rowIndex: this.answer.RowIndex, questionMark: qs.QuestionMark, questionId: qs.Id, val: v, updateArr}) this.$emit('update', { tableId: this.tableInfo.Id, rowIndex: this.answer.RowIndex, questionMark: qs.QuestionMark, questionId: qs.Id, val: v, updateArr })
}, },
getOrganList(isLymphNodes = null) { getOrganList(isLymphNodes = null) {
let idx = this.organs.findIndex(i => i.LesionType === this.questionForm.LesionType) const idx = this.organs.findIndex(i => i.LesionType === this.questionForm.LesionType)
if (idx > -1) { if (idx > -1) {
let arr = this.organs[idx].OrganList const arr = this.organs[idx].OrganList
if (!isNaN(parseInt(isLymphNodes))) { if (!isNaN(parseInt(isLymphNodes))) {
this.organList = arr.filter((item) => item.IsLymphNodes === parseInt(isLymphNodes)) this.organList = arr.filter((item) => item.IsLymphNodes === parseInt(isLymphNodes))
@ -305,7 +310,7 @@ export default {
} }
}, },
close() { close() {
this.$emit('close', {tableId: this.tableInfo.Id, rowIndex: this.answer.RowIndex}) this.$emit('close', { tableId: this.tableInfo.Id, rowIndex: this.answer.RowIndex })
} }
} }
} }
@ -349,4 +354,4 @@ export default {
} }
} }
</style> </style>