提交 8ed7e51a authored 作者: lihuihui's avatar lihuihui

Merge branch 'vite' of https://gitlab.ezijing.com/ezijing/x-learn into vite

# Conflicts: # src/modules/teacher/data/exam/components/QuestionType.vue
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<app-container> <app-container>
<app-list v-bind="tableOptions" ref="list"> <app-list v-bind="tableOptions" ref="list">
<template #header-aside> <template #header-aside>
<el-button type="text" style="margin-top: 5px; font-size: 24px">导出</el-button> <el-button type="text">导出</el-button>
</template> </template>
</app-list> </app-list>
</app-container> </app-container>
......
...@@ -13,12 +13,17 @@ export default { ...@@ -13,12 +13,17 @@ export default {
data() { data() {
return {} return {}
}, },
props: {
tabActive: {
type: String,
default: ''
}
},
computed: { computed: {
// 列表配置 // 列表配置
tableOptions() { tableOptions() {
return { return {
remote: {}, remote: {},
columns: [ columns: [
{ {
label: '排名', label: '排名',
...@@ -42,6 +47,7 @@ export default { ...@@ -42,6 +47,7 @@ export default {
} }
} }
}, },
mounted() {},
methods: { methods: {
toPersonal(row) { toPersonal(row) {
this.$router.push({ this.$router.push({
......
<template> <template>
<el-card class="box-card"> <el-card class="box-card">
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<<<<<<< HEAD
<h1 style="font-size: 28px">题型数据</h1> <h1 style="font-size: 28px">题型数据</h1>
=======
<h1 style="color: #333; font-size: 16px; border-left: 3px solid #aa1941; padding-left: 7px">题型数据</h1>
</div>
<div style="height: 350px; width: 90%; margin: 0 auto">
<div id="type" style="width: 100%; height: 90%"></div>
<div style="margin-bottom: 10px">
<div class="dec dec1">
客观题正确率:<span style="color: #aa1941; font-size: 16px; font-weight: 400">待评价</span>
</div>
<div class="dec dec1">主观题正确率:<span class="dec" style="color: #919191">待评价</span></div>
</div>
>>>>>>> edc1ef78b2519ac72935137e8ed7617de68f4525
</div> </div>
<div id="type" style="width: 310px; height: 360px"></div> <div id="type" style="width: 310px; height: 360px"></div>
<div>客观题正确率76%</div> <div>客观题正确率76%</div>
...@@ -48,7 +61,6 @@ export default { ...@@ -48,7 +61,6 @@ export default {
], ],
series: [ series: [
{ {
name: 'Direct',
type: 'bar', type: 'bar',
barWidth: '30%', barWidth: '30%',
data: [20, 40, 60, 80, 100] data: [20, 40, 60, 80, 100]
......
...@@ -2,7 +2,9 @@ ...@@ -2,7 +2,9 @@
<app-container> <app-container>
<app-list v-bind="tableOptions" ref="list"> <app-list v-bind="tableOptions" ref="list">
<template v-slot:table-operate="{ row }"> <template v-slot:table-operate="{ row }">
<el-button type="text">查看</el-button> <el-button type="text" @click="toDetail(row)" v-if="tabActive === 'finished'">查看</el-button>
<el-button type="text" @click="toDetail(row)" v-else-if="tabActive === 'toEvaluate'">批阅</el-button>
<div v-else>-</div>
</template> </template>
</app-list> </app-list>
</app-container> </app-container>
...@@ -13,21 +15,44 @@ export default { ...@@ -13,21 +15,44 @@ export default {
data() { data() {
return {} return {}
}, },
props: {
tabActive: {
type: String,
default: ''
}
},
computed: { computed: {
// 列表配置 // 列表配置
tableOptions() { tableOptions() {
return { return {
remote: {}, remote: {},
columns: [ columns: [
{ label: '排名', prop: 'paper_title', align: 'center' }, { label: '排名', prop: 'paper_title', align: 'center' },
{ label: '姓名', slots: 'table-name', align: 'center' }, { label: '姓名', prop: 'class_name', align: 'center' },
{ label: '客观题', prop: 'cankao_num', align: 'center', width: '150', sortable: true }, { label: '客观题', prop: 'cankao_num', align: 'center', sortable: true },
{ label: '主观题', prop: 'efw', align: 'center', width: '150', sortable: true }, { label: '主观题', prop: 'efw', align: 'center', sortable: true },
{ label: '总分', prop: 'average_num', align: 'center', sortable: true }, { label: '总分', prop: 'average_num', align: 'center', sortable: true },
{ label: '操作', slots: 'table-operate', align: 'center' } { label: '操作', slots: 'table-operate', align: 'center' }
], ],
data: [ data: [
{
class_name: '1w1e'
},
{
class_name: '1w1e'
},
{
class_name: '1w1e'
},
{
class_name: '1w1e'
},
{
class_name: '1w1e'
},
{
class_name: '1w1e'
},
{ {
class_name: '1w1e' class_name: '1w1e'
} }
...@@ -35,6 +60,8 @@ export default { ...@@ -35,6 +60,8 @@ export default {
} }
} }
}, },
methods: {} methods: {
toDetail() {}
}
} }
</script> </script>
...@@ -56,7 +56,7 @@ export default { ...@@ -56,7 +56,7 @@ export default {
}, },
emphasis: { emphasis: {
label: { label: {
show: true, // show: true,
fontSize: '40', fontSize: '40',
fontWeight: 'bold' fontWeight: 'bold'
} }
...@@ -90,9 +90,9 @@ export default { ...@@ -90,9 +90,9 @@ export default {
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.score-range-box{ .score-range-box {
position: relative; position: relative;
.pop{ .pop {
position: absolute; position: absolute;
top: -20%; top: -20%;
left: 50%; left: 50%;
......
<template> <template>
<el-card style="height: 400px"> <el-card style="height: 400px">
<h1 style="color: #333; font-size: 16px; border-left: 3px solid #aa1941; padding-left: 7px">分数排名</h1> <div slot="header" class="clearfix">
<el-button type="text" style="font-size: 16px; color: #aa1941; float: right; margin-top: -40px">导出</el-button> <h1 style="color: #333; font-size: 16px; border-left: 3px solid #aa1941; padding-left: 7px">分数排名</h1>
<el-tabs v-model="tabActive" style="margin-top: 30px"> <el-button type="text" style="font-size: 16px; color: #aa1941; float: right; margin-top: -30px">导出</el-button>
<el-tab-pane label="已完成" name="baseInfo"> </div>
<RankingAll /> <el-tabs v-model="tabActive" @canplaythrough="handleClick">
<el-tab-pane label="已完成" name="finished">
<RankingAll :tabActive="tabActive" />
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="待评价" name="contacts" lazy> <el-tab-pane label="待评价" name="toEvaluate" lazy>
<RankingAll /> <RankingAll :tabActive="tabActive" />
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="未作答" name="project" lazy> <el-tab-pane label="未作答" name="noAnswer" lazy>
<RankingAll /> <RankingAll />
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="待提交" name="toSubmit" lazy> <el-tab-pane label="待提交" name="toSubmit" lazy>
...@@ -25,7 +27,25 @@ export default { ...@@ -25,7 +27,25 @@ export default {
components: { RankingAll }, components: { RankingAll },
data() { data() {
return { return {
tabActive: 'baseInfo' tabActive: 'finished'
}
},
created() {
// 已结束
},
methods: {
handleClick(tab, event) {
// console.log(tab, event)
if (tab.index === 1) {
// 待评价
alert('111')
} else if (tab.index === 2) {
// 未作答
alert('222')
} else {
// 未提交
alert('333')
}
} }
} }
} }
......
<template> <template>
<el-card style="margin-right: -20px; height: 400px"> <el-card style="margin-right: -20px; height: 400px">
<app-container> <div slot="header" class="clearfix">
<h1 style="color: #333; font-size: 16px; border-left: 3px solid #aa1941; padding-left: 7px">题目数据</h1> <h1 style="color: #333; font-size: 16px; border-left: 3px solid #aa1941; padding-left: 7px">题目数据</h1>
<el-button type="text" style="font-size: 16px; color: #aa1941; float: right; margin-top: -40px">导出</el-button> <el-button type="text" style="font-size: 16px; color: #aa1941; float: right; margin-top: -30px">导出</el-button>
<app-list v-bind="tableOptions" ref="list" style="margin-top: 60px"> </app-list> </div>
</app-container> <app-list v-bind="tableOptions" ref="list"></app-list>
</el-card> </el-card>
</template> </template>
......
...@@ -3,15 +3,15 @@ ...@@ -3,15 +3,15 @@
<div style="font-size: 32px; margin-bottom: 15px">测试班级一</div> <div style="font-size: 32px; margin-bottom: 15px">测试班级一</div>
<app-card> <app-card>
<h1 class="title" style="font-size: 28px">班级排名</h1> <h1 class="title" style="font-size: 28px">班级排名</h1>
<el-button type="text" style="font-size: 28px; float: right; margin-top: -40px">导出</el-button> <el-button type="text" style="float: right; margin-top: -40px">导出</el-button>
<el-tabs v-model="tabActive" style="margin-top: 30px"> <el-tabs v-model="tabActive" style="margin-top: 30px" @tab-click="handleClick">
<el-tab-pane label="已结束" name="baseInfo"> <el-tab-pane label="已结束" name="finished">
<Finished /> <Finished />
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="待评价" name="contacts" lazy> <el-tab-pane label="待评价" name="toEvaluate" lazy>
<Finished /> <Finished />
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="未作答" name="project" lazy> <el-tab-pane label="未作答" name="noAnswer" lazy>
<Finished /> <Finished />
</el-tab-pane> </el-tab-pane>
</el-tabs> </el-tabs>
...@@ -25,7 +25,22 @@ export default { ...@@ -25,7 +25,22 @@ export default {
components: { Finished }, components: { Finished },
data() { data() {
return { return {
tabActive: 'baseInfo' tabActive: 'finished'
}
},
created() {
// 已结束网络请求
},
methods: {
handleClick(tab, event) {
// console.log(tab, event)
if (tab.index === 1) {
// 待评价
alert('111')
} else {
// 未作答
alert('222')
}
} }
} }
} }
......
...@@ -5,7 +5,8 @@ const routes = [ ...@@ -5,7 +5,8 @@ const routes = [
children: [ children: [
{ path: '/teacher/data/test', component: () => import('./views/List.vue') }, { path: '/teacher/data/test', component: () => import('./views/List.vue') },
{ path: '/teacher/data/classList', component: () => import('./views/ClassList.vue') }, { path: '/teacher/data/classList', component: () => import('./views/ClassList.vue') },
{ path: '/teacher/data/person', component: () => import('./views/PersonalList.vue') } { path: '/teacher/data/person', component: () => import('./views/PersonalList.vue') },
{ path: '/teacher/data/teastData', component: () => import('./views/testData.vue') }
] ]
} }
] ]
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<div style="font-size: 32px; margin-bottom: 15px">测试班级一</div> <div style="font-size: 32px; margin-bottom: 15px">测试班级一</div>
<app-card> <app-card>
<h1 class="title" style="font-size: 28px">班级排名</h1> <h1 class="title" style="font-size: 28px">班级排名</h1>
<el-button type="text" style="font-size: 28px; float: right; margin-top: -40px">导出</el-button> <el-button type="text" style="float: right; margin-top: -40px">导出</el-button>
<el-tabs v-model="tabActive" style="margin-top: 30px"> <el-tabs v-model="tabActive" style="margin-top: 30px">
<el-tab-pane label="已结束" name="baseInfo"> <el-tab-pane label="已结束" name="baseInfo">
<Finished /> <Finished />
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<app-list v-bind="tableOptions" ref="list"> <app-list v-bind="tableOptions" ref="list">
<!-- 操作 --> <!-- 操作 -->
<template v-slot:table-operate="{ row }"> <template v-slot:table-operate="{ row }">
<el-button type="text" size="mini">练习数据</el-button> <el-button type="text" size="mini" @click="toTestData(row)">练习数据</el-button>
<el-button type="text" size="mini" @click="toClassData(row)">班级数据</el-button> <el-button type="text" size="mini" @click="toClassData(row)">班级数据</el-button>
</template> </template>
</app-list> </app-list>
...@@ -51,6 +51,12 @@ export default { ...@@ -51,6 +51,12 @@ export default {
row: row row: row
} }
}) })
},
toTestData(row) {
this.$router.push({
path: '/teacher/data/teastData',
row: row
})
} }
} }
} }
......
<template>
<div class="container">
<el-row type="flex" class="row-bg" justify="space-between" style="margin-bottom: 30px">
<el-col><h1 style="padding-left: 0px; font-size: 30px">模拟测试一</h1></el-col>
<el-col :span="10">
<el-select v-model="label" placeholder="请选择">
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"> </el-option>
</el-select>
<el-button type="text" style="margin-left: 30px">导出pdf</el-button>
</el-col>
</el-row>
<el-row :gutter="10" class="row-bg">
<el-col :span="8" class="col"><ExamInfo /></el-col>
<el-col :span="8" class="col"><Submission /></el-col>
<el-col :span="7"><Score /></el-col>
</el-row>
<el-row :gutter="10" class="row-bg">
<el-col :span="12" class="col"><ScoreRanking /></el-col>
<el-col :span="11"><TitleData /></el-col>
</el-row>
<el-row :gutter="10" class="row-bg">
<el-col :span="8" class="col"><Result /></el-col>
<el-col :span="8" class="col"><ScoreRange /></el-col>
<el-col :span="7"><QuestionType /></el-col>
</el-row>
</div>
</template>
<script>
import ExamInfo from '../../exam/components/ExamInfo.vue'
import Submission from '../../exam/components/Submission.vue'
import Score from '../../exam/components/Score.vue'
import ScoreRanking from '../../exam/components/ScoreRanking.vue'
import TitleData from '../../exam/components/TitleData.vue'
import Result from '../../exam/components/Result.vue'
import ScoreRange from '../../exam/components/ScoreRange.vue'
import QuestionType from '../../exam/components/QuestionType.vue'
export default {
components: { ExamInfo, Submission, Score, ScoreRanking, TitleData, Result, ScoreRange, QuestionType },
data() {
return {
options: {}
}
}
}
</script>
<style>
.row-bg {
margin-top: 30px;
padding: 10px 0;
}
.col {
margin-right: 21px;
}
</style>
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论