当前位置:   article > 正文

学生成绩管理系统(教师端显示学生成绩完成)_web前端做一个js原生的学生成绩管理系统代码

web前端做一个js原生的学生成绩管理系统代码

功能概述

1.显示学生成绩

 1效果图

     

2.功能说明 

显示学生成绩可以完成三个显示并且是分页显示,分别是查看全部学生成绩,查看总成绩合格学生成绩,查看不合格学生总成绩。另外学生的总成绩可以根据以小到大的顺序或者相反排序。

3.技术说明

分页采用了 mybatis-plus 的分页插件 表单页面采用了 element-plus 表单组件

4.重要代码体现

1.前端表单页面设计
  1. <div class="manage">
  2. <h1>学生成绩管理系统(教师端)</h1>
  3. <div align="left" style="margin: 10px 0">
  4. <el-input v-model="search" placeholder=" 请 输 入 关 键 字 " style="width: 30%"></el-input>
  5. <el-button style="margin-left: 10px" type="primary" @click="list">查询</el-button>
  6. <el-button style="margin-left: 10px" type="primary" @click="add">新增学生</el-button>
  7. <el-button style="margin-left: 10px" type="primary" @click="all">全部学生</el-button>
  8. <el-button style="margin-left: 10px" type="primary" v-model="choose" @click="qualified">合格学生</el-button>
  9. <el-button style="margin-left: 10px" type="primary" v-model="choose" @click="unqualified">挂科学生</el-button>
  10. </div>
  11. <el-table :data="tableData" stripe style="width: 90%">
  12. <el-table-column prop="username" label="学号"></el-table-column>
  13. <el-table-column prop="name" label="姓名"></el-table-column>
  14. <el-table-column prop="midscore" label="期中成绩(40%)"></el-table-column>
  15. <el-table-column prop="finalscore" label="期末成绩(40%)"></el-table-column>
  16. <el-table-column prop="dailyscore" label="平时成绩(20%)"></el-table-column>
  17. <el-table-column sortable prop="totalscore" label="最终成绩"></el-table-column>
  18. <el-table-column>
  19. <template #default="scope">
  20. <el-button v-model="choose1" @click="handleEdit(scope.row.username)" type="text">编辑</el-button>
  21. <el-popconfirm title="确认删除吗?" @confirm="handleDelete(scope.row.username)">
  22. <template #reference>
  23. <el-button size="small" type="danger">删除</el-button>
  24. </template>
  25. </el-popconfirm>
  26. </template>
  27. </el-table-column>
  28. </el-table>
  29. <el-dialog title="提示" v-model="dialogVisible" width="30%">
  30. <el-form :model="form" label-width="120px" :rules="rules" ref="form">
  31. <el-form-item label="学号" prop="username">
  32. <el-input v-model="form.username" style="width: 80%"></el-input>
  33. {{ this.validMsg.username }}
  34. </el-form-item>
  35. <el-form-item label="姓名" prop="name">
  36. <el-input v-model="form.name" style="width: 80%"></el-input>
  37. {{ this.validMsg.name }}
  38. </el-form-item>
  39. <el-form-item label="期中成绩(40%)" prop="midscore">
  40. <el-input v-model="form.midscore" style="width: 80%"></el-input>
  41. {{ this.validMsg.midscore }}
  42. </el-form-item>
  43. <el-form-item label="期末成绩(40%)" prop="finalscore">
  44. <el-input v-model="form.finalscore" style="width: 80%"></el-input>
  45. {{ this.validMsg.finalscore }}
  46. </el-form-item>
  47. <el-form-item label="平时成绩(20%)" prop="dailyscore">
  48. <el-input v-model="form.dailyscore" style="width: 80%"></el-input>
  49. {{ this.validMsg.dailyscore }}
  50. </el-form-item>
  51. </el-form>
  52. <template #footer><span class="dialog-footer">
  53. <el-button @click="dialogVisible = false">取 消</el-button>
  54. <el-button
  55. type="primary" @click="save()">确 定</el-button> </span>
  56. </template>
  57. </el-dialog>
  58. <!--添加分页导航-->
  59. <div style="margin: 10px 0">
  60. <el-pagination
  61. @size-change="handlePageSizeChange"
  62. @current-change="handleCurrentChange"
  63. :current-page="currentPage"
  64. :page-sizes="[3,5,10]"
  65. :page-size="pageSize"
  66. layout="total, sizes, prev, pager, next, jumper"
  67. :total="total">
  68. </el-pagination>
  69. </div>
  70. </div>
2.后端分页显示请求设计
  1. //全部成绩请求
  2. @GetMapping(value = "/gradeByConditionPage")
  3. public Result listGradeByConditionPage(@RequestParam(defaultValue = "1") Integer pageNum,
  4. @RequestParam(defaultValue = "5") Integer pageSize,
  5. @RequestParam(defaultValue = "") String search) {
  6. LambdaQueryWrapper<Grade> queryWrapper = Wrappers.lambdaQuery();
  7. if (StringUtils.hasText(search)) {
  8. queryWrapper.like(Grade:: getName, search);
  9. }
  10. Page<Grade> page = gradeService.page(new Page<>(pageNum, pageSize), queryWrapper);
  11. return Result.success(page);
  12. }
  13. //不合格成绩请求
  14. @GetMapping(value = "/unqualified")
  15. public Result selectGradeUnqualified(@RequestParam(defaultValue = "1") Integer pageNum,
  16. @RequestParam(defaultValue = "5") Integer pageSize) {
  17. LambdaQueryWrapper<Grade> queryWrapper = Wrappers.lambdaQuery();
  18. queryWrapper.lt(Grade::getTotalscore, 60);
  19. Page<Grade> page = gradeService.page(new Page<>(pageNum, pageSize), queryWrapper);
  20. return Result.success(page);
  21. }
  22. //合格成绩请求
  23. @GetMapping(value = "/qualified")
  24. public Result selectGradeQualified(@RequestParam(defaultValue = "1") Integer pageNum,
  25. @RequestParam(defaultValue = "5") Integer pageSize) {
  26. LambdaQueryWrapper<Grade> queryWrapper = Wrappers.lambdaQuery();
  27. queryWrapper.ge(Grade::getTotalscore, 60);
  28. Page<Grade> page = gradeService.page(new Page<>(pageNum, pageSize), queryWrapper);
  29. return Result.success(page);
  30. }

总结

教师端的学生成绩显示功能分为三种情况,合格,不合格,全部,依次对应三种请求,接受三种返回数据并且完美显示到界面,后端有着 装配分页插件,使用了lambda表达式,按照条件查询数据。以上就是学生成绩显示功能,添加,删除功能后续发布,敬请期待,有缺漏的地方欢迎指正

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/205747?site
推荐阅读
相关标签
  

闽ICP备14008679号