| | |
| | | :title="title" |
| | | width="50%" |
| | | :before-close="handleClose" |
| | | :close-on-press-escape="false" |
| | | :close-on-click-modal="false" |
| | | > |
| | | <el-form :model="state.form" size="default" ref="busRef" :rules="state.formRules" label-width="150px" > |
| | | <el-form-item label="题目类型:" prop="questionType"> |
| | | <el-select v-model="state.form.questionType" placeholder="请选择题型" style="width: 100%"> |
| | | <el-select v-model="state.form.questionType" placeholder="请选择题型" style="width: 100%" @change="changeType"> |
| | | <el-option |
| | | v-for="item in state.questionTypeList" |
| | | :key="item.id" |
| | |
| | | </el-form-item> |
| | | <el-form-item label="选项:" prop="content"> |
| | | <div style="display: flex;flex-direction: column;width: 100%"> |
| | | <el-button type="primary" @click="addOption" size="default" style="width: 65px;margin-bottom: 15px">添加</el-button> |
| | | <el-button :disabled="state.form.questionType ===3" type="primary" @click="addOption" size="default" style="width: 65px;margin-bottom: 15px">添加</el-button> |
| | | <div v-for="(item,index) in state.optionItem.items" :key="index" style="width: 100%"> |
| | | <div style="display: flex;align-items: center"> |
| | | <span>{{String.fromCharCode(index + 65)}}</span> |
| | | <el-input type="textarea" v-model="state.optionItem.items[index].content" placeholder="请输入选项内容" style="width: 100%;margin-left: 20px;margin-bottom: 10px"></el-input> |
| | | <Delete style="width: 15px; height: 15px; margin-left: 8px;color: #ed5565" @click="delOption(index)" /> |
| | | <el-input :disabled="state.form.questionType ===3" type="textarea" v-model="state.optionItem.items[index].content" placeholder="请输入选项内容" style="width: 100%;margin-left: 20px;margin-bottom: 10px"></el-input> |
| | | <Delete v-if="state.form.questionType !==3" style="width: 15px; height: 15px; margin-left: 8px;color: #ed5565" @click="delOption(index)" /> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </el-form-item> |
| | | <el-form-item label="解析:" prop="answer"> |
| | | <el-form-item label="解析:" > |
| | | <el-input type="textarea" v-model="state.optionItem.analyze" placeholder="请输入题目解析" style="width: 100%;margin-bottom: 10px"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="正确答案:" prop="answer"> |
| | |
| | | questionType: [{required: true, trigger: "blur", message: '请选择题目类型'}], |
| | | bankName: [{required: true, trigger: "blur", message: '请选择归属题库'}], |
| | | title: [{required: true, trigger: "blur", message: '请输入题目内容'}], |
| | | // answer: [{required: true, trigger: "blur", message: '请选择正确答案'}], |
| | | answer: [{required: true, trigger: "blur", message: '请选择正确答案'}], |
| | | }, |
| | | classifyList: [], |
| | | isAdmin: false, |
| | |
| | | } |
| | | const delOption = (val) => { |
| | | state.optionItem.items.splice(val,1) |
| | | state.form.answer = '' |
| | | console.log(" state.optionItem.items.", state.optionItem.items) |
| | | } |
| | | const openDialog = async (type, value) => { |
| | |
| | | } |
| | | } |
| | | } |
| | | const changeType = () => { |
| | | if(state.form.questionType === 3) { |
| | | state.optionItem.items = [ |
| | | { |
| | | prefix: 'A', |
| | | content: '是' |
| | | |
| | | }, |
| | | { |
| | | prefix: 'B', |
| | | content: '否' |
| | | } |
| | | ] |
| | | } |
| | | |
| | | } |
| | | const handleClose = () => { |
| | | busRef.value.clearValidate(); |
| | | reset(); |