提交 b7f50005 authored 作者: matian's avatar matian

代码提交

上级 d0d86881
...@@ -12,16 +12,15 @@ ...@@ -12,16 +12,15 @@
<el-button class="clearfix_add" type="primary" @click="addPaper">添加试题</el-button> <el-button class="clearfix_add" type="primary" @click="addPaper">添加试题</el-button>
</div> </div>
<!-- 题目列表 --> <!-- 题目列表 -->
<!-- <el-card v-for="(item, index) in questionList"> --> <div v-for="(item, index) in questionList" :key="index">
<QuestionListItem <QuestionListItems
:questionList="questionList" :questionList="questionList"
:key="index"
ref="listItemRef" ref="listItemRef"
@handlePosition="handlePosition" @handlePosition="handlePosition"
@selectSubjectsChange="selectSubjectsChange" @selectSubjectsChange="selectSubjectsChange"
:disabled="selectQuestion.length === 0" :disabled="selectQuestion.length === 0"
/> />
<!-- </el-card> --> </div>
<!-- 选题组卷无数据情况下显示 --> <!-- 选题组卷无数据情况下显示 -->
<div class="nonePaper" v-show="questionList.length === 0"> <div class="nonePaper" v-show="questionList.length === 0">
<el-result icon="info" subTitle="该试卷无试题,去添加试题吧"></el-result> <el-result icon="info" subTitle="该试卷无试题,去添加试题吧"></el-result>
...@@ -51,12 +50,12 @@ ...@@ -51,12 +50,12 @@
</template> </template>
<script> <script>
import QuestionListItem from './QuestionListItem.vue' import QuestionListItems from './QuestionListItems.vue'
import AutomaticPaper from './AutomaticPaper.vue' import AutomaticPaper from './AutomaticPaper.vue'
import addPaper from './AddPaper.vue' import addPaper from './AddPaper.vue'
export default { export default {
components: { components: {
QuestionListItem, QuestionListItems,
addPaper, addPaper,
AutomaticPaper AutomaticPaper
}, },
...@@ -69,85 +68,68 @@ export default { ...@@ -69,85 +68,68 @@ export default {
data() { data() {
return { return {
visible: false, // 控制增加试题弹框显示还是隐藏 visible: false, // 控制增加试题弹框显示还是隐藏
// questionList: [],
questionList: [ questionList: [
{ {
id: '1', question_type: 1,
tag: '1', question_title: 'xxxxx',
type: '单择题', question_content: '这是一道单选题',
title: 'hqduuhdqj', is_parent: 1,
answer: '11111', child_question_type: 0,
radioList: [ question_answer: '答案就是你猜呀',
{ desc: 'fgweyfg', id: '0' }, question_score: '3',
{ desc: '1223', id: '1' } group_id: '0',
], question_options: [
score: 5 { options: 'fgweyfg', id: '0', checked: true },
}, { options: '1223', id: '1', checked: false }
{ ]
id: '2',
tag: '2',
type: '多选题',
title: 'hqduuhdqj',
answer: 'hfgwhrfgiuwhfiu',
checkList: [
{ desc: 'jdks', id: '1' },
{ desc: 'fsf', id: '2' }
],
score: 2
}, },
{ {
id: '3', question_type: 2,
tag: '3', question_title: 'xxxxx',
type: '简答题', question_content: '这是一道多选题',
title: 'hqduuhdqj', is_parent: 1,
answer: 'hfgwhrfgiuwhfiu', child_question_type: 0,
score: 1 question_answer: '答案就是你猜呀',
question_score: '3',
group_id: '0',
question_options: [
{ options: 'fgweyfg', id: '0', checked: true },
{ options: '1223', id: '1', checked: true }
]
}, },
{ {
id: '5', question_type: 2,
tag: '1', question_title: 'xxxxx',
type: '判断题', question_content: '这是一道情景题',
title: 'hqduuhdqj', is_parent: 0,
answer: 'hfgwhrfgiuwhfiu', child_question_type: '',
radioList: [ question_answer: '答案就是你猜呀',
{ desc: 'fgweyfg', id: '0' }, question_score: '3',
{ desc: '1223', id: '1' } group_id: '0',
], question_options: []
score: 1
}, },
{ {
id: '8', question_type: 2,
tag: '7', question_title: 'xxxxx',
type: '情景题', question_content: '这是一道单选题',
title: 'hqduuhdqj', is_parent: 1,
answer: 'hfgwhrfgiuwhfiu', child_question_type: 1,
questionTtem: [ question_answer: '答案就是你猜呀',
question_score: '3',
group_id: '0',
question_options: [
{ {
id: '6', id: '0',
tag: '1', options: '123',
type: '判断题', checked: 'false'
title: '123234444',
answer: 'hfgwhrfgiuwhfiu',
radioList: [
{ desc: 'fgweyfg', id: '0' },
{ desc: '1223', id: '1' }
],
score: 3
}, },
{ {
id: '7', id: '1',
tag: '1', options: '456',
type: '判断题', checked: 'true'
title: '5657567',
answer: 'hfgwhrfgiuwhfiu',
radioList: [
{ desc: 'fgweyfg', id: '0' },
{ desc: '1223', id: '1' }
],
score: 4
} }
], ]
score: 2
} }
], ],
currentIndex: 1, currentIndex: 1,
......
<template> <template>
<div> <div>
<el-card style="margin-top: 32px" v-for="(item, index) in questionList" :key="index" :id="`page${index}`"> <el-card style="margin-top: 32px" :key="index">
<div class="question_hd"> <div class="question_hd">
<div class="question_hd_left"> <div class="question_hd_left">
<div class="question_hd_left_type"> <div class="question_hd_left_type">
<!-- <span> --> {{ item[0].question_options }}
<input type="checkbox" v-model="checkboxValue" :value="item" @change="slectSubItem(item)" /> <input type="checkbox" v-model="checkboxValue" :value="item" @change="slectSubItem(item)" />
{{ index + 1 }}{{ item.type }} {{ index + 1 }}{{ title }}
<!-- </span > --> <span class="question_hd_left_title">{{ item[0].question_content }}</span>
<span class="question_hd_left_title">{{ item.title }}</span>
</div> </div>
</div> </div>
<div class="question_hd_right"> <div class="question_hd_right">分数 :<el-input :value="item.score"></el-input></div>
<el-form ref="form" label-width="100px" :model="item.form">
<el-form-item label="分数"> <el-input v-model="item.score"></el-input> </el-form-item>
</el-form>
</div>
</div> </div>
<div class="question_bd"> <div class="question_bd">
<!-- 单选判断 --> <!-- 单选判断 -->
<template v-if="item.tag === '1'"> <template v-if="item.tag === '1'">
<div v-for="(item, index) in item.radioList" :key="index" class="options"> <div v-for="(item, id) in item[0].question_options" :key="id" class="options">
<el-radio-group> <el-radio-group>
<el-radio label="item.id" class="question_bd_desc"> <el-radio label="item.option" class="question_bd_desc">
<span class="question_bd_desc_item">{{ item.desc }}</span> <span class="question_bd_desc_item">{{ item.option }}</span>
</el-radio> </el-radio>
</el-radio-group> </el-radio-group>
</div> </div>
...@@ -48,20 +43,19 @@ ...@@ -48,20 +43,19 @@
<script> <script>
export default { export default {
props: {
questionList: {
type: Array
}
},
data() { data() {
return { return {
checkboxValue: [], checkboxValue: false
selectSubjects: [], }
isChecked: false },
props: {
item: {
type: Object
},
title: {
type: String
} }
}, },
mounted() {},
methods: { methods: {
handleScroll(key) { handleScroll(key) {
const PageId = document.querySelector('#page' + key) const PageId = document.querySelector('#page' + key)
......
<template>
<div>
<el-card style="margin-top: 32px" v-for="(item, index) in item.question_list" :key="index" :id="`page${index}`">
<div class="question_hd">
<div class="question_hd_left">
<div class="question_hd_left_type">
<input type="checkbox" v-model="checkboxValue" :value="item" @change="slectSubItem(item)" />
{{ index + 1 }}{{ title }}
<span class="question_hd_left_title">{{ item[0].question_content }}</span>
</div>
</div>
</div>
<div class="question_bd">
<question-list-item :item="item"></question-list-item>
</div>
</el-card>
</div>
</template>
<script>
export default {
data() {
return {
checkboxValue: false
}
},
props: {
item: {
type: Object
},
title: {
type: String
}
},
methods: {
handleScroll(key) {
const PageId = document.querySelector('#page' + key)
this.$emit('handlePosition', PageId.offsetTop)
},
slectSubItem(item) {
console.log(item)
this.$emit('selectSubjectsChange', this.checkboxValue)
}
}
}
</script>
<style lang="scss" scoped>
.question_hd {
display: flex;
justify-content: space-between;
align-items: flex-start;
.question_hd_left {
.question_hd_left_type {
color: #c01c40;
}
.question_hd_left_title {
margin-left: 20px;
font-size: 18px;
}
}
}
.question_bd {
// background: rgb(247, 244, 244);
padding-left: 35px;
.question_bd_desc {
.question_bd_desc_item {
font-size: 18px;
font-weight: 400;
color: #303133;
}
}
}
::v-deep .el-checkbox__label {
color: #c01c40;
}
input {
-webkit-appearance: checkbox;
}
</style>
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论