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

Merge remote-tracking branch 'origin/vite' into vite

......@@ -24,9 +24,8 @@
</el-col>
<el-col :span="8">
<div class="title">考试总时长</div>
<div>
<span class="num">{{ dataInfo.paper_info.times }}</span
><span class="fen">分钟</span>
<div v-html="setDate">
<!-- <span class="num">{{ dataInfo.paper_info.times }}</span><span class="fen">分钟</span> -->
</div>
</el-col>
</el-row>
......@@ -37,6 +36,20 @@
export default {
props: {
dataInfo: { type: Object, default: () => ({}) }
},
computed: {
setDate() {
const data = this.dataInfo.paper_info.times
const hour = Math.floor(data / 60)
const minute = data % 60
const hourHtml = `<span class="num">${hour}</span><span class="fen">时</span>`
const minuteHtml = `<span class="num">${minute}</span><span class="fen">分</span>`
return hour > 0
? minute === 0
? hourHtml
: hourHtml + minuteHtml
: minuteHtml
}
}
}
</script>
......
......@@ -101,7 +101,6 @@ export default {
methods: {
initEchart() {
const type = { 1: '单选', 2: '多选', 3: '问答', 5: '案例', 6: '判断', 7: '实操', 8: '情景' }
console.log(this.dataInfo.questions_info, '=123')
const data = this.dataInfo.questions_info.reduce(
(prev, cur) => {
prev.x.push(type[cur.type])
......@@ -118,6 +117,11 @@ export default {
initCorrectRate() {
this.correctRate = this.dataInfo.questions_info_2.reduce((a, b) => ({ ...a, [b.type]: b }), {})
}
},
watch: {
dataInfo() {
this.initCorrectRate()
}
}
}
</script>
......
......@@ -65,6 +65,11 @@ export default {
const myChart = echarts.init(document.getElementById('main'))
myChart.setOption(this.option)
}
},
watch: {
dataInfo() {
this.initEchart()
}
}
}
</script>
......
......@@ -112,6 +112,11 @@ export default {
// 关闭弹窗
this.isSetScoreRange = false
}
},
watch: {
dataInfo() {
this.scoreRangeChange()
}
}
}
</script>
......
......@@ -5,9 +5,10 @@
<h1 style="font-size: 16px">选项分布</h1>
</div>
</div>
<div style="height: 230px; width: 90%; margin: 0 auto">
<div style="height: 230px; width: 90%; margin: 0 auto" v-show="isData.length">
<div id="main" style="width: 100%; height: 90%"></div>
</div>
<div style="text-align: center;font-size:20px;margin-top:70px" v-show="!isData.length">暂无</div>
</el-card>
</template>
......@@ -19,6 +20,7 @@ export default {
},
data() {
return {
isData: [],
option: {
tooltip: {
trigger: 'item',
......@@ -54,7 +56,6 @@ export default {
},
methods: {
initEchart() {
console.log(this.data, '=123data', this.data.answers)
const changeData = this.data.answers.reduce((a, b) => {
const findId = this.data.options.find(item => item.id === b.option_id)
a.push({
......@@ -63,6 +64,7 @@ export default {
})
return a
}, [])
this.isData = changeData
this.option.series[0].data = changeData
const myChart = echarts.init(document.getElementById('main'))
myChart.setOption(this.option)
......
......@@ -65,7 +65,14 @@ export default {
computed: {
questionType() {
// (1:单选题,2:多选题,3:问答题,5:案例题,6:判断题,7:实操题,8:情景题)
const questionType = parseInt(this.data.type)
let questionType = parseInt(this.data.type)
if ([5, 7, 8].includes(questionType)) {
if (this.data.options.length) {
questionType = this.data.answer.length === 1 ? 1 : 2
} else {
questionType = 0
}
}
return questionType
},
// 26个英文字母
......
......@@ -33,8 +33,8 @@
<el-col :span="7"><score :dataInfo="dataInfo" /></el-col>
</el-row>
<el-row :gutter="10" class="row-bg">
<el-col :span="12" class="col"
><ScoreRanking
<el-col :span="12" class="col">
<ScoreRanking
:course_id="$route.query.course_id"
:examination_id="$route.query.examination_id"
:chapter_id="$route.query.chapter_id"
......@@ -42,7 +42,8 @@
:dataInfo="dataInfo.need_check_num"
:classValue="value"
:pass_score="dataInfo.paper_info.pass_score"
/></el-col>
/>
</el-col>
<el-col :span="11"
><TitleData
:course_id="$route.query.course_id"
......
......@@ -3,7 +3,7 @@
<question-details class="exam" :data="examData"></question-details>
<div class="flex-box">
<topic-data-info :data="topicInfo" class="flex"></topic-data-info>
<topic-data-chart :data="examData" class="flex" v-if="examData.type != 3"></topic-data-chart>
<topic-data-chart :data="examData" class="flex"></topic-data-chart>
</div>
<el-card>
<div slot="header" style="display: flex; align-items: center">
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论