基于JAVA SpringBoot和Vue教学管理教务管理系统

        随着信息技术在管理中的应用日益深入和广泛,管理信息系统的实施技术也越来越成熟,管理信息系统是一门不断发展的新学科,任何一个机构要想生存和发展,要想有机、高效地组织内部活动,就必须根据自身的特点进行管理信息时,要建立体系。它是教育机构不可或缺的一部分,其内容对学校决策者和管理者至关重要,它可以为用户提供充分的信息和快速的查询手段,有效地帮助学校和教师了解学生的情况,为学生提供成绩和教学的查询,在传统模式下,人工学生命信息管理的使用存在很多缺点。

        例如,效率低、安全性差、时间长会产生大量文件和数据,不易发现、更新、维护等。这种情况使学校管理人员难以管理学生的信息,严重影响了教育工作者的工作效率,随着科学技术的不断进步,计算机科学越来越成熟,日益成熟的计算机技术取代了传统的手工模式,实现了学生信息的现代化管理。其强大的功能已经得到人们的高度认可,它已经进入人类社会的各个领域,发挥着越来越重要的作用,作为计算机应用的一部分,使用计算机管理学生信息具有人工管理无可比拟的优势,搜索速度、搜索便利性、易于修改、可靠性、存储容量、数据处理速度、保密性、长寿命、低成本、具有打印易用性等优点。也是学校科学规范管理与世界接轨的重要条件。计算机制作的学生信息管理系统通过强大的网络,可以及时将学生的最新成果传达给家长,有利于学校和家长之间的信息互动,有利于学校的教学。因此有必要开发这种管理软件。

 

实现的功能:

管理员、教师、学生三种角色;

公告管理、学生管理、教师管理、课程管理、成绩管理、选课等功能。

 

用到的技术:

后端:java语言,SpringBoot框架,MySQL数据库,Maven依赖管理等;

前端:vue等。

部分代码展示

<template>
  <div>
    <el-table
        :data="tableData"
        border
        stripe
        style="width: 100%">
      <el-table-column
          fixed
          prop="cid"
          label="课程号"
          width="150">
      </el-table-column>
      <el-table-column
          prop="cname"
          label="课程名"
          width="150">
      </el-table-column>
      <el-table-column
          fixed
          prop="tid"
          label="工号"
          width="100">
      </el-table-column>
      <el-table-column
          prop="tname"
          label="教师名"
          width="100">
      </el-table-column>
      <el-table-column
          fixed
          prop="sid"
          label="学号"
          width="100">
      </el-table-column>
      <el-table-column
          prop="sname"
          label="学生名"
          width="100">
      </el-table-column>
      <el-table-column
          prop="grade"
          label="成绩"
          width="100">
      </el-table-column>
      <el-table-column
          prop="term"
          label="学期"
          width="100">
      </el-table-column>
      <el-table-column
          label="操作"
          width="100">
        <template slot-scope="scope">
          <el-popconfirm
              confirm-button-text='删除'
              cancel-button-text='取消'
              icon="el-icon-info"
              icon-color="red"
              title="删除不可复原"
              @confirm="deleteTeacher(scope.row)"
          >
            <el-button slot="reference" type="text" size="small">删除</el-button>
          </el-popconfirm>
          <el-button @click="editor(scope.row)" type="text" size="small">编辑</el-button>
        </template>
      </el-table-column>
    </el-table>
    <el-pagination
        background
        layout="prev, pager, next"
        :total="total"
        :page-size="pageSize"
        @current-change="changePage"
    >
    </el-pagination>
  </div>
</template>

<script>
export default {
  methods: {
    select(row) {
      console.log(row)
    },
    deleteTeacher(row) {
      const that = this
      console.log(row)
      const sid = row.sid
      const cid = row.cid
      const tid = row.tid
      const term = row.term
      axios.get("http://localhost:10086/SCT/deleteById/" + sid + '/' + cid + '/' + tid + '/' + term).then(function (resp) {
        console.log(resp)
        if (resp.data === true) {
          that.$message({
            showClose: true,
            message: '删除成功',
            type: 'success'
          });
          window.location.reload()
        }
        else {
          that.$message({
            showClose: true,
            message: '删除出错,请查询数据库连接',
            type: 'error'
          });
        }
      }).catch(function (error) {
        that.$message({
          showClose: true,
          message: '删除出错,存在外键依赖',
          type: 'error'
        });
      })
    },
    changePage(page) {
      page = page - 1
      const that = this
      let start = page * that.pageSize, end = that.pageSize * (page + 1)
      let length = that.tmpList.length
      let ans = (end < length) ? end : length
      that.tableData = that.tmpList.slice(start, ans)
    },
    editor(row) {
      this.$router.push({
        path: '/editorGradeCourse',
        query: {
          cid: row.cid,
          tid: row.tid,
          sid: row.sid,
          term: row.term
        }
      })
    }
  },
  data() {
    return {
      tableData: null,
      pageSize: 10,
      total: null,
      tmpList: null,
    }
  },
  props: {
    ruleForm: Object,
  },
  watch: {
    ruleForm: {
      handler(newRuleForm, oldRuleForm) {
        console.log("组件监听 form")
        console.log(newRuleForm)
        const that = this
        that.tmpList = null
        that.total = null
        that.tableData = null
        axios.post("http://localhost:10086/SCT/findBySearch", newRuleForm).then(function (resp) {
          console.log("查询结果:");
          console.log(resp)
          that.tmpList = resp.data
          that.total = resp.data.length
          let start = 0, end = that.pageSize
          let length = that.tmpList.length
          let ans = (end < length) ? end : length
          that.tableData = that.tmpList.slice(start, ans)
        })
      },
      deep: true,
      immediate: true
    }
  },
}
</script>

基于JAVA SpringBoot和Vue教学管理教务系统

猜你喜欢

转载自blog.csdn.net/qq_28245905/article/details/131221026