recist标准更改
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
parent
8e0ad5ca9d
commit
ca0d406e45
File diff suppressed because it is too large
Load Diff
|
@ -1,14 +1,14 @@
|
|||
<template>
|
||||
<div class="table-question-form">
|
||||
<div style="display: flex;justify-content: space-between;">
|
||||
<h3 v-if="questionForm.LesionName" style="color: #ddd;padding: 5px 0px;margin: 0;">
|
||||
{{ questionForm.LesionName }}
|
||||
</h3>
|
||||
<!-- 关闭 -->
|
||||
<div>
|
||||
<i class="el-icon-circle-close" style="font-size: 25px;cursor: pointer;" @click="close" />
|
||||
</div>
|
||||
<h3 v-if="qsForm.LesionName" style="color: #ddd;padding: 5px 0px;margin: 0;">
|
||||
{{ qsForm.LesionName }}
|
||||
</h3>
|
||||
<!-- 关闭 -->
|
||||
<div>
|
||||
<i class="el-icon-circle-close" style="font-size: 25px;cursor: pointer;" @click="close" />
|
||||
</div>
|
||||
</div>
|
||||
<el-form-item
|
||||
:label="$t('trials:reading:title:lesionType')"
|
||||
prop="LesionType"
|
||||
|
@ -18,7 +18,7 @@
|
|||
>
|
||||
<!-- 下拉框 -->
|
||||
<el-select
|
||||
v-model="questionForm.LesionType"
|
||||
v-model="qsForm.LesionType"
|
||||
filterable
|
||||
:disabled="!isCurrentTask || readingTaskState>=2 || !isBaseLineTask"
|
||||
@change="((val)=>{lesionTypeChange(val)})"
|
||||
|
@ -47,9 +47,10 @@
|
|||
>
|
||||
<!-- 输入框 -->
|
||||
<template v-if="qs.Type==='input' || qs.Type==='number'">
|
||||
|
||||
<el-input
|
||||
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))"
|
||||
@change="((val)=>{formItemChange(val, qs)})"
|
||||
>
|
||||
|
@ -61,7 +62,7 @@
|
|||
<!-- 多行文本输入框 -->
|
||||
<el-input
|
||||
v-if="qs.Type==='textarea'"
|
||||
v-model="questionForm[qs.Id]"
|
||||
v-model="qsForm[qs.Id]"
|
||||
type="textarea"
|
||||
:autosize="{ minRows: 2, maxRows: 4}"
|
||||
:disabled="!isCurrentTask || readingTaskState>=2"
|
||||
|
@ -70,7 +71,7 @@
|
|||
<!-- 下拉框 -->
|
||||
<el-select
|
||||
v-if="qs.Type==='select'"
|
||||
v-model="questionForm[qs.Id]"
|
||||
v-model="qsForm[qs.Id]"
|
||||
filterable
|
||||
: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))"
|
||||
|
@ -154,7 +155,7 @@
|
|||
<!-- 单选 -->
|
||||
<el-radio-group
|
||||
v-if="qs.Type==='radio'"
|
||||
v-model="questionForm[qs.id]"
|
||||
v-model="qsForm[qs.id]"
|
||||
:disabled="!isCurrentTask || readingTaskState>=2"
|
||||
>
|
||||
<el-radio
|
||||
|
@ -209,13 +210,22 @@ export default {
|
|||
required: true
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
isCurrentTaskAdd: null,
|
||||
lesionType: null,
|
||||
questions: [],
|
||||
organList: [],
|
||||
qsForm: {}
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
questionForm: {
|
||||
deep: true,
|
||||
immediate: true,
|
||||
handler(v) {
|
||||
if (v.MeasureData) {
|
||||
const {markTool} = v.MeasureData
|
||||
const { markTool } = v.MeasureData
|
||||
if (markTool === 'Bidirectional') {
|
||||
this.getOrganList(1)
|
||||
} else if (markTool === 'Length') {
|
||||
|
@ -226,6 +236,9 @@ export default {
|
|||
} else {
|
||||
this.getOrganList()
|
||||
}
|
||||
for (const key in v) {
|
||||
this.$set(this.qsForm, key, v[key])
|
||||
}
|
||||
this.isCurrentTaskAdd = v.IsCurrentTaskAdd
|
||||
}
|
||||
},
|
||||
|
@ -238,45 +251,37 @@ export default {
|
|||
this.questions = v.TableQuestions.Questions
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
data(){
|
||||
return{
|
||||
isCurrentTaskAdd: null,
|
||||
lesionType: null,
|
||||
questions: [],
|
||||
organList: []
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
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) {
|
||||
let updateArr = []
|
||||
const updateArr = []
|
||||
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) {
|
||||
let selected = this.organList[index]
|
||||
const selected = this.organList[index]
|
||||
qs.RelationQuestions.map(q => {
|
||||
let val = selected[q.DataTableColumn]
|
||||
updateArr.push({questionId: q.Id, val: val, questionMark: q.QuestionMark})
|
||||
const val = selected[q.DataTableColumn]
|
||||
updateArr.push({ questionId: q.Id, val: val, questionMark: q.QuestionMark })
|
||||
})
|
||||
updateArr.push({questionId: 'OrganInfoId', val: selected.OrganInfoId})
|
||||
updateArr.push({questionId: 'IsCanEditPosition', val: selected.IsCanEditPosition})
|
||||
updateArr.push({ questionId: 'OrganInfoId', val: selected.OrganInfoId })
|
||||
updateArr.push({ questionId: 'IsCanEditPosition', val: selected.IsCanEditPosition })
|
||||
} else {
|
||||
question.RelationQuestions.map(q => {
|
||||
updateArr.push({questionId: q.Id, val: '', questionMark: q.QuestionMark})
|
||||
qs.RelationQuestions.map(q => {
|
||||
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) {
|
||||
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) {
|
||||
let arr = this.organs[idx].OrganList
|
||||
const arr = this.organs[idx].OrganList
|
||||
|
||||
if (!isNaN(parseInt(isLymphNodes))) {
|
||||
this.organList = arr.filter((item) => item.IsLymphNodes === parseInt(isLymphNodes))
|
||||
|
@ -305,7 +310,7 @@ export default {
|
|||
}
|
||||
},
|
||||
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>
|
||||
|
|
Loading…
Reference in New Issue