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

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

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