非dicom阅片更改
continuous-integration/drone/push Build is passing Details

uat_us
caiyiling 2024-10-25 10:27:26 +08:00
parent dd57f24996
commit 9c156ec1e6
3 changed files with 72 additions and 16 deletions

View File

@ -157,7 +157,8 @@ export default {
currentUser: zzSessionStorage.getItem('userName'),
readingTaskState: 0,
activeName: 0,
formType: null
formType: null,
classArr: []
}
},
mounted() {
@ -185,6 +186,9 @@ export default {
if (!v.IsPage && v.Type !== 'group' && v.Type !== 'summary') {
this.$set(this.questionForm, v.Id, v.Answer ? v.Answer : null)
}
if (v.Type === 'class') {
this.classArr.push({triggerId: v.ClassifyQuestionId, classId: v.Id, classifyAlgorithms: v.ClassifyAlgorithms, classifyType: v.ClassifyType})
}
if (v.Childrens.length > 0) {
this.setChild(v.Childrens)
}
@ -198,6 +202,9 @@ export default {
if (!v.IsPage && v.Type !== 'group' && v.Type !== 'summary') {
this.$set(this.questionForm, v.Id, v.Answer ? v.Answer : null)
}
if (v.Type === 'class') {
this.classArr.push({triggerId: v.ClassifyQuestionId, classId: v.Id, classifyAlgorithms: v.ClassifyAlgorithms, classifyType: v.ClassifyType})
}
if (v.Childrens.length > 0) {
this.setChild(v.Childrens)
}
@ -205,16 +212,21 @@ export default {
this.publicQuestions = res.Result.PublicPage
}
} else {
console.log(1111)
res.Result.SinglePage.map((v) => {
if (v.Type === 'group' && v.Childrens.length === 0) return
if (!v.IsPage && v.Type !== 'group' && v.Type !== 'summary') {
this.$set(this.questionForm, v.Id, v.Answer ? v.Answer : null)
}
if (v.Type === 'class') {
this.classArr.push({triggerId: v.ClassifyQuestionId, classId: v.Id, classifyAlgorithms: v.ClassifyAlgorithms, classifyType: v.ClassifyType})
}
if (v.Childrens.length > 0) {
this.setChild(v.Childrens)
}
})
this.questions = res.Result.SinglePage
console.log(this.questions)
}
this.isRender = true
}
@ -228,6 +240,9 @@ export default {
if (i.Type !== 'group' && i.Type !== 'summary' && i.Id) {
this.$set(this.questionForm, i.Id, i.Answer ? i.Answer : null)
}
if (i.Type === 'class') {
this.classArr.push({triggerId: i.ClassifyQuestionId, classId: i.Id, classifyAlgorithms: i.ClassifyAlgorithms, classifyType: i.ClassifyType})
}
if (i.Childrens && i.Childrens.length > 0) {
this.setChild(i.Childrens)
}
@ -341,7 +356,28 @@ export default {
this.questionForm[v] = null
},
setFormItemData(obj) {
this.questionForm[obj.key] = obj.val
this.$set(this.questionForm, obj.key, obj.val)
if (this.classArr.length > 0) {
let qs = this.classArr.find(i=>i.triggerId === obj.key)
if (!qs) return
let answer = null
let list = JSON.parse(qs.classifyAlgorithms)
if (qs.classifyType === 0) {
let o = list.find(v => {
return (
parseFloat(obj.val) >= parseFloat(v.gt) &&
parseFloat(obj.val) < parseFloat(v.lt)
)
})
answer = o ? o.label : null
} else if (qs.classifyType === 1) {
let o = list.find(v => {
return v.val.includes(obj.val)
})
answer = o ? o.label : null
}
this.$set(this.questionForm, qs.classId, answer)
}
}
}
}

View File

@ -19,7 +19,7 @@
:prop="question.Id"
:rules="[
{ required: (question.IsRequired === 0 || (question.IsRequired ===1 && question.RelevanceId && (questionForm[question.RelevanceId] === question.RelevanceValue))) && question.Type!=='group' && question.Type!=='summary',
message: '请注明', trigger: ['blur', 'change']},
message: $t('common:ruleMessage:specify'), trigger: ['blur', 'change']},
]"
:class="[question.Type==='group'?'mb':question.Type==='upload'?'uploadWrapper':'']"
>
@ -72,9 +72,9 @@
<template v-else-if="question.TypeValue">
<el-option
v-for="val in question.TypeValue.split('|')"
:key="val"
:label="val"
:value="val"
:key="val.trim()"
:label="val.trim()"
:value="val.trim()"
/>
</template>
</el-select>
@ -97,10 +97,10 @@
<template v-else-if="question.TypeValue">
<el-radio
v-for="val in question.TypeValue.split('|')"
:key="val"
:label="val"
:key="val.trim()"
:label="val.trim()"
>
{{ val }}
{{ val.trim() }}
</el-radio>
</template>
</el-radio-group>
@ -112,10 +112,10 @@
>
<el-checkbox
v-for="val in question.TypeValue.split('|')"
:key="val"
:label="val"
:key="val.trim()"
:label="val.trim()"
>
{{ val }}
{{ val.trim() }}
</el-checkbox>
</el-checkbox-group>
<!-- 数值 -->
@ -124,7 +124,7 @@
<el-input-number
v-if="question.ValueType === 0"
v-model="questionForm[question.Id]"
precision="0"
:precision="0"
:disabled="readingTaskState >= 2"
/>
<el-input-number
@ -139,7 +139,25 @@
:disabled="readingTaskState >= 2"
/>
</template>
<!-- 自动分类 -->
<el-input
v-if="question.Type === 'class' && !question.TypeValue"
v-model="questionForm[question.Id]"
disabled
/>
<el-radio-group
v-if="question.Type === 'class' && question.TypeValue"
v-model="questionForm[question.Id]"
disabled
>
<el-radio
v-for="item of question.TypeValue.split('|')"
:key="item.trim()"
:label="item.trim()"
>
{{ item.trim() }}
</el-radio>
</el-radio-group>
<!-- 上传图像 -->
<el-upload
v-if="question.Type==='upload'"
@ -267,6 +285,8 @@ export default {
formItemChange(v, question) {
if (question.Childrens.length > 0) {
this.resetChild(question.Childrens)
} else {
this.$emit('setFormItemData', { key: question.Id, val: v})
}
},
resetChild(obj) {

View File

@ -123,8 +123,8 @@ export default {
this.$set(this.questionForm, v.Id, v.Answer)
}
if (v.Type === 'table') {
this.$set(this.questionForm, v.Id, [])
}
this.$set(this.questionForm, v.Id, [])
}
if (v.Type === 'class') {
this.classArr.push({triggerId: v.ClassifyQuestionId, classId: v.Id, classifyAlgorithms: v.ClassifyAlgorithms, classifyType: v.ClassifyType})
}