学生单次考试成绩 页面添加

This commit is contained in:
joylink_cuiweidong 2022-04-13 17:26:50 +08:00
parent adc9f3816e
commit 643467f9d2
4 changed files with 115 additions and 1 deletions

View File

@ -66,3 +66,11 @@ export function getClassGradeList(examId, params) {
params
});
}
/** 查询组织学生单次考试成绩曲线 */
export function getClassGradeStatistic(orgId, examId) {
return request({
url: `/api/userExam/curve/${orgId}/${examId}`,
method: 'get'
});
}

View File

@ -171,6 +171,7 @@ const SortLesson = () => import('@/views/organization/draftLessonManage/sortLess
const StudentManage = () => import('@/views/organization/classManage/studentManage/index');
const DurationView = () => import('@/views/organization/classManage/durationView');
const GradeList = () => import('@/views/organization/examManage/gradeList');
const GradeStatistics = () => import('@/views/organization/examManage/gradeStatistics');
const CreateRule = () => import('@/views/organization/ruleManage/createRule');
const TotalGrade = () => import('@/views/organization/ruleManage/totalGrade');
const InfoLessonDetail = () => import('@/views/organization/lessonManage/lessonDetail');
@ -652,6 +653,11 @@ export const publicAsyncRoute = [
component: GradeList,
hidden: true
},
{
path: 'gradeStatistics',
component: GradeStatistics,
hidden: true
},
{
path: 'createRule',
component: CreateRule,

View File

@ -0,0 +1,92 @@
<template>
<div>
<div class="title_content">{{ $route.query.name + '成绩统计' }}</div>
<el-button type="text" style="position: fixed;right: 20px;top: 70px;" @click="back">返回</el-button>
<div class="gradeStatisticPane">
<el-form
ref="queryForm"
size="small"
style="padding-top: 18px;"
>
<el-form-item prop="orgId" label="班级:" :required="false">
<el-select
ref="orgId"
v-model="orgId"
:clearable="false"
:placeholder="$t('global.choose')"
filterable
@change="selectChange(field, formModel)"
>
<el-option
v-for="option in classList"
:key="option['value']"
:label="option['label']"
:value="option['value']"
/>
</el-select>
</el-form-item>
</el-form>
</div>
</div>
</template>
<script>
import { getClassGradeStatistic } from '@/api/management/userexam';
import { getClassListUnPage } from '@/api/company';
import localStore from 'storejs';
export default {
name: 'GradeStatistics',
data() {
return {
// orgId: {
// type: 'select',
// noClearable: true,
// label: ':',
// config: {
// data: []
// }
// }
orgId:'',
userNameList:[],
gradeList:[],
classList:[]
};
},
async created() {
const resp = await getClassListUnPage();
resp.data && resp.data.forEach(item => {
this.classList.push({ value: item.id, label: item.name });
});
localStore.set(this.$route.path, { orgId: this.classList[0].value + '' });
this.orgId = this.classList[0].value;
},
async mounted() {
this.getClassGradeStatis();
},
methods: {
back() {
this.$router.go(-1);
},
async getClassGradeStatis() {
const resp = await getClassGradeStatistic(this.orgId, this.$route.query.examId);
debugger;
const results = resp.results;
debugger;
if (results) { debugger; }
// .forEach()
}
}
};
</script>
<style scoped>
.title_content {
width: 100%;
margin: 20px 0 30px;
text-align: center;
font-size: 24px;
font-weight: bold;
}
.gradeStatisticPane{
margin: 0 auto;
width: 300px;
}
</style>

View File

@ -132,13 +132,18 @@ export default {
{
type: 'button',
title: this.$t('global.operate'),
width: '250',
width: '350',
buttons: [
{
name: '成绩查询',
handleClick: this.handleQueryGrade,
type: 'primary'
},
{
name: '成绩统计',
handleClick: this.handleGradeStatistics,
type: 'success'
},
{
name: '编辑',
handleClick: this.handleEditExam,
@ -190,6 +195,9 @@ export default {
handleQueryGrade(index, row) {
this.$router.push({ path: '/info/gradeList', query: { examId: row.id, name: row.name } });
},
handleGradeStatistics(index, row) {
this.$router.push({ path: '/info/gradeStatistics', query: { examId: row.id, name: row.name } });
},
handleEditExam(index, row) {
this.$router.push({ path: `/info/examRule/draft/edit/${row.id}/0`, query: { source: 'org' } });
},