141 lines
3.6 KiB
Plaintext
141 lines
3.6 KiB
Plaintext
<template>
|
|
<div>
|
|
<el-form ref="questions" size="small" style="width:600px;" :model="questionForm">
|
|
<div v-for="question of questions" :key="question.id">
|
|
<div style="font-weight: bold;padding: 5px 0;">{{ question.group }}</div>
|
|
<FormItem
|
|
v-for="q of question.questions"
|
|
:key="q.id"
|
|
:question="q"
|
|
:question-form="questionForm"
|
|
@resetFormItemData="resetFormItemData"
|
|
/>
|
|
</div>
|
|
<el-form-item>
|
|
<el-button>取消</el-button>
|
|
<el-button @click="submit">提交</el-button>
|
|
</el-form-item>
|
|
</el-form>
|
|
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
import FormItem from './FormItem'
|
|
export default {
|
|
name: 'Home',
|
|
components: {
|
|
FormItem
|
|
},
|
|
data() {
|
|
return {
|
|
questions: [
|
|
{
|
|
id: '01',
|
|
group: '图像质量',
|
|
questions: [
|
|
{
|
|
id: '001',
|
|
parentId: '',
|
|
question: '问题1',
|
|
type: 'select',
|
|
typeValue: 'A|B|C',
|
|
value: '',
|
|
isRequired: true,
|
|
childrens: [
|
|
{
|
|
id: '002',
|
|
parentId: '001',
|
|
triggleValue: 'A',
|
|
question: '问题1.1',
|
|
type: 'input',
|
|
typeValue: '',
|
|
value: '',
|
|
childrens: []
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
id: '02',
|
|
group: '质控问题',
|
|
questions: [
|
|
{
|
|
id: '003',
|
|
parentId: '',
|
|
question: '问题2',
|
|
type: 'radio',
|
|
typeValue: 'Yes|No',
|
|
value: '',
|
|
childrens: [
|
|
{
|
|
id: '004',
|
|
parentId: '003',
|
|
triggleValue: 'Yes',
|
|
question: '问题2.1',
|
|
type: 'input',
|
|
typeValue: '',
|
|
value: '',
|
|
childrens: []
|
|
},
|
|
{
|
|
id: '005',
|
|
parentId: '003',
|
|
triggleValue: 'No',
|
|
question: '问题2.2',
|
|
type: 'radio',
|
|
typeValue: '是|否',
|
|
value: '',
|
|
childrens: [
|
|
{
|
|
id: '006',
|
|
parentId: '005',
|
|
triggleValue: '是',
|
|
question: '问题2.2.1',
|
|
type: 'input',
|
|
typeValue: '',
|
|
value: '',
|
|
childrens: []
|
|
},
|
|
{
|
|
id: '007',
|
|
parentId: '005',
|
|
triggleValue: '否',
|
|
question: '问题2.2.2',
|
|
type: 'input',
|
|
typeValue: '',
|
|
value: '',
|
|
childrens: []
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
],
|
|
questionForm: {
|
|
'001': '',
|
|
'002': '',
|
|
'003': '',
|
|
'004': '',
|
|
'005': '',
|
|
'006': '',
|
|
'007': ''
|
|
}
|
|
}
|
|
},
|
|
methods: {
|
|
submit() {
|
|
this.$refs['questions'].validate((valid) => {
|
|
if (!valid) return
|
|
})
|
|
},
|
|
resetFormItemData(v) {
|
|
this.questionForm[v] = ''
|
|
}
|
|
}
|
|
}
|
|
</script>
|