免费分享一套SpringBoot+Vue教务管理(课程管理)系统,帅呆了~~

大家好,我是java1234_小锋老师,看到一个不错的SpringBoot+Vue教务管理(课程管理)系统,分享下哈。

项目视频演示

【免费】SpringBoot+Vue教务管理(课程管理)系统 Java毕业设计_哔哩哔哩_bilibili【免费】SpringBoot+Vue教务管理(课程管理)系统 Java毕业设计项目来自互联网,免费开源分享,严禁商业。更多毕业设源码:http://www.java1234.com/a/bysj/javaweb/, 视频播放量 120、弹幕量 0、点赞数 2、投硬币枚数 0、收藏人数 1、转发人数 1, 视频作者 java1234官方, 作者简介 公众号:java1234 微信:java9266,相关视频:打造前后端分离 权限系统 基于SpringBoot2+SpringSecurity+Vue3.2+Element Plus 视频教程 (火爆连载更新中..),【免费】微信小程序扫码点餐(订餐)系统(uni-app+SpringBoot后端+Vue管理端技术实现) Java毕业设计,非常好的源码,2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~,【免费】微信小程序外卖跑腿点餐(订餐)系统(uni-app+SpringBoot后端+Vue管理端技术实现) Java毕业设计,非常好的源码,2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~,【免费】Springboot+Vue在线教育平台系统 Java毕业设计,【免费】SpringBoot + Vue + ElementUI 人力资源管理系统 Java毕业设计,【免费】javaweb机票订购系统毕业设计,【免费】springboot+vue选课/排课管理系统系统 Java毕业设计,【免费】SpringBoot+Vue汽车租赁管理系统 Java毕业设计icon-default.png?t=N7T8https://www.bilibili.com/video/BV1S1421z7pp/

项目介绍

教务管理工作是高等学校教育工作的一项重要内容,是整个学校管理的核心和基础。教务管理工作是指学校管理人员按照一定教育方针,运用先进的管理手段,组织 、协调 、指挥并指导各方面人员的活动,以便高效率、高质量地完成各项教学任务,完成国家所制定的教育目标。教务管理工作是学校教学工作的中枢,是保证高校教学机制正常运转的枢纽,它是一项目的性、计划性、适用性、创造性和科学性很强的工作。教务管理工作关系到高校教学秩序的稳定和教学质量的提高,关系到高校的发展和人才的培养,教务管理高校中占有相当重要的地位。

随着计算机技术的飞速发展和高等教育体制改革的不断深入,传统教育管理方法、手段以及工作效率已不能适应新的发展需要,无法很好地完成教学管理工作。提高教务管理水平的主要途径是更新管理者的思想,增强对管理活动的科学认识。同时,运用先进的信息技术,开发高校综合教务管理信息系统,是深化教务体制改革的有利措施。

vue是以组件化的编程方式、面向对象的程序设计、快速的Pascal编译器、众多的组件和强大的数据库及网络应用开发支持,在竞争激励的开发工具市场中越来越羸得程序设计者的青睐。vue是Windows系统下的可视化集成开发工具,提供了强大的可视化组件功能,使程序员能够快速、高效地开发出Windows系统下的应用程序,特别是在数据库和网络方面,vue与其它开发工具相比更是胜出一筹。可视化主要是指开发图形用户界面时,不需编写大量程序代码以描述界面的外观特性,而只需把所需的组件加入窗体相应位置即可。

系统展示

部分代码

package com.rainng.coursesystem.controller;

import com.rainng.coursesystem.model.vo.request.LoginVO;
import com.rainng.coursesystem.model.vo.response.ResultVO;
import com.rainng.coursesystem.service.UserService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RequestMapping("/user")
@RestController
public class UserController extends BaseController {
    private final UserService service;

    public UserController(UserService service) {
        this.service = service;
    }

    @PostMapping("/login")
    public ResultVO login(@Validated @RequestBody LoginVO loginVO) {
        String username = loginVO.getUsername();
        String password = loginVO.getPassword();
        Integer userType = loginVO.getUserType();
        return service.login(username, password, userType);
    }

    @RequestMapping("/login/status")
    public ResultVO getLoginStatus() {
        return service.getLoginStatus();
    }

    @RequestMapping("/logout")
    public ResultVO logout() {
        return service.logout();
    }
}
<template>
  <div
    class="login-wrap"
    style="height: 100vh;
  display: flex; align-items: center;
  justify-content: center;

"
  >
    <div
      style="display: flex; background-color: white; width: 54%; border-radius: 5px; overflow: hidden"
    >
      <div style="flex: 1">
        <img src="@/assets/16.jpg" alt="" style="width: 450px;height: 400px" />
      </div>
      <div
        style="flex: 1; display: flex; align-items: center; justify-content: center"
      >
        <el-form :model="formData" style="width: 80%" :rules="rules" ref="form">
          <div
            style="font-size: 20px; font-weight: bold; text-align: center; margin-bottom: 20px"
          >
            欢迎登录教务管理(课程管理)系统
          </div>
          <el-form-item prop="username">
            <!--必须绑定v-model输入框才能输入字符---->
            <el-input
              v-model="formData.username"
              placeholder="学号/工号/用户名"
              autocomplete="off"
            >
              <i slot="prefix" class="el-input__icon el-icon-user"></i>
            </el-input>
          </el-form-item>

          <el-form-item prop="password">
            <el-input
              v-model="formData.password"
              size="medium"
              placeholder="请输入密码"
              clearable
              show-password
              autocomplete="off"
            >
              <i slot="prefix" class="el-input__icon el-icon-lock"></i>
            </el-input>
          </el-form-item>
          <el-form-item prop="userType">
            <el-radio-group v-model="formData.userType" label-width="100%">
              <el-radio-button label="1">学生</el-radio-button>
              <el-radio-button label="2">教师</el-radio-button>
              <el-radio-button label="3">教务管理员</el-radio-button>
            </el-radio-group>
          </el-form-item>

          <!--          <el-form-item prop="userType">-->
          <!--            <el-radio-group v-model="formData.userType">-->
          <!--              <el-radio label="1">学生</el-radio>-->
          <!--              <el-radio label="2">教师</el-radio>-->
          <!--              <el-radio label="3">教务管理员</el-radio>-->
          <!--            </el-radio-group>-->
          <!--          </el-form-item>-->
          <el-form-item>
            <el-button type="primary" style="width: 100%" @click="submit()"
              >登 录</el-button
            >
          </el-form-item>
          <a href="http://www.java1234.com/a/bysj/javaweb/" target='_blank'><font color=red>Java1234收藏整理</font></a>

        </el-form>
      </div>
    </div>
  </div>
</template>

<script>
import { login } from "../api/user";

export default {
  data: function() {
    return {
      formData: {
        username: "",
        password: "",
        userType: "1",
      },
      rules: {
        username: [
          { required: true, message: "请输入用户名", trigger: "blur" },
        ],
        password: [{ required: true, message: "请输入密码", trigger: "blur" }],
        userType: [
          { required: true, message: "请选择用户类型", trigger: "blur" },
        ],
      },
    };
  },
  methods: {
    submit() {
      this.$refs.form.validate((valid) => {
        if (valid) {
          login(
            this.formData.username,
            this.formData.password,
            this.formData.userType
          ).then((res) => {
            this.$message.success("登录成功: " + res.username);
            this.$store.commit("login", res);
            this.$router.push({ name: "container" });
          });
        }
      });
    },
  },
};
</script>

<style scoped>
.login-wrap {
  position: relative;
  width: 100%;
  height: 100%;
  /* background: #0f9876; */
  background-color: #5a83c9;
  background-image: url("../assets/img/login-bg.svg");
  background-size: 100% 100%;
}

.form-title {
  width: 100%;
  line-height: 50px;
  text-align: center;
  font-size: 20px;
  color: #fff;
  border-bottom: 1px solid #ddd;
}

.login-form {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 350px;
  margin: -190px 0 0 -175px;
  border-radius: 5px;
  background: rgba(0, 0, 0, 0.6);
  overflow: hidden;
}

.form-content {
  padding: 30px 30px;
}

.login-btn {
  text-align: center;
}

.login-btn button {
  width: 100%;
  height: 36px;
}

.el-radio {
  color: #fff;
}
</style>

源码下载

CSDN 1积分下载:https://download.csdn.net/download/caofeng891102/89298421

或者免费领取加小锋老师wx:java9266

热门推荐

免费分享一套微信小程序商城系统(电商系统)(SpringBoot+Vue3)【至尊版】,帅呆了~~-CSDN博客

免费分享一套SpringBoot宠物医院管理系统,帅呆了~~-CSDN博客

免费分享一套SpringBoot+Vue在线考试系统(优质版),帅呆了~~-CSDN博客

免费分享一套SpringBoot+Vue敬老院(养老院)管理系统,帅呆了~~-CSDN博客

免费分享一套微信小程序扫码点餐(订餐)系统(uni-app+SpringBoot后端+Vue管理端技术实现) ,帅呆了~~_uniapp微信点餐-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/623285.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

html5的一些新特性

最近总是碰到html5特性这种问题,虽然简单,但是也是自己平时不关注的东西,趁今天时间充裕,那就来总结一下吧 HTML5新特性包括新增了部分标签、表单元素增强、支持视频和音频、支持canvas绘图、提供web存储、提供地理定位功能、提供web workers机制、提供web socket协议、提供CS…

Django 安全性与防御性编程:如何保护 Django Web 应用

title: Django 安全性与防御性编程&#xff1a;如何保护 Django Web 应用 date: 2024/5/13 20:26:58 updated: 2024/5/13 20:26:58 categories: 后端开发 tags: CSRFXSSSQLUploadHTTPOnlyPasswordSession 跨站请求伪造&#xff08;CSRF&#xff09; 跨站请求伪造&#xff0…

【HarmonyOS】笔记八-图片处理

概念 开发者经常需要在应用中显示一些图片&#xff0c;例如&#xff1a;按钮中的icon、网络图片、本地图片等。在应用中显示图片需要使用Image组件实现&#xff0c;Image支持多种图片格式&#xff0c;包括png、jpg、bmp、svg和gif&#xff0c;该接口通过图片数据源获取图片&am…

垃圾回收器

首先先来回答一下上篇文章中最后留给大家的问题&#xff1a; 为什么分代GC算法要把堆分为年轻代和老年代&#xff1f; 系统中的大部分对象&#xff0c;都是创建出来之后很快就不再使用可以被回收&#xff0c;比如用户获取订单数据&#xff0c;订单数据返回给用户之后就可以释放…

【软考高项】四十五、项目管理科学计算之工程经济学

一、资金的时间价值与等值计算的概念 1、资金的时间价值是指不同时间发生的等额资金在价值上的差别。 2、把资金存入银行,经过一段时间后也会产生增值,这就是利息。 例如,在年利率为5.22%条件下&#xff0c;当年的100元与下一年的105.22元是等值的,即100 &#xff08;15.22%&a…

银行业务基础:深入解析表内业务与表外业务的概念

1、表内业务 表内业务是指银行在资产负债表内反映的业务&#xff0c;这些业务直接影响银行的资产和负债总额。表内业务是银行经营的主要活动&#xff0c;通常包括以下几个方面&#xff1a; &#xff08;1&#xff09;资产业务&#xff1a;主要是指银行通过其资金运用&#xff…

机器学习案例:加州房产价格(三)

参考链接&#xff1a;https://hands1ml.apachecn.org/2/#_11 创建测试集 继续你的数据工作之旅。 现在你需要再仔细调查下数据以决定使用什么算法。 如果你查看了测试集&#xff0c;就会不经意地按照测试集中的规律来选择某个特定的机器学习模型。再当你使用测试集来评估误差…

SpringCloud------Eureka,Ribbon,Nacos

认识微服务 微服务技术栈 微服务概念 微服务结构 微服务技术对比 企业需求 SpringCloud 认识Springcloud 服务拆分及远程调用 每个服务只能查询自己数据库中的表&#xff0c;导致其他服务如果想使用别人的表数据&#xff0c;这就需要进行远程调用&#xff0c;这里使用RestTem…

Ubuntu 20.04在Anaconda虚拟环境中配置PyQt4

一、创建一个虚拟环境 1 创建一个python2.7的虚拟环境&#xff1a; conda create -n pyqt4 numpy matplotlib python2.72 在环境中安装几个需要的包&#xff1a; pip install Theano pip install python-opencv3.4.0.14 pip install qdarkstyle pip install dominate二、在主…

【java-数据结构14-双向链表的增删查改2】

上一篇文章中&#xff0c;我们已经对双向链表进行一些基本操作&#xff0c;本篇文章我们继续通过对链表的增删查改来加深对链表的理解~同时有任何不懂的地方可以在评论区留言讨论&#xff0c;也可以私信小编~觉得小编写的还可以的可以留个关注支持一下~话不多说正片开始~ 注意…

从头开始学Spring—02基于XML管理bean

目录 1.实验一&#xff1a;入门案例 2.实验二&#xff1a;获取bean 3.实验三&#xff1a;依赖注入之setter注入 4.实验四&#xff1a;依赖注入之构造器注入 5.实验五&#xff1a;特殊值处理 6.实验六&#xff1a;为类类型属性赋值 7.实验七&#xff1a;为数组类型属性赋值…

【Spring Boot】 深入理解Spring Boot拦截器:自定义设计与实现全攻略

&#x1f493; 博客主页&#xff1a;从零开始的-CodeNinja之路 ⏩ 收录文章&#xff1a;【Spring Boot】 深入理解Spring Boot拦截器&#xff1a;自定义设计与实现全攻略 &#x1f389;欢迎大家点赞&#x1f44d;评论&#x1f4dd;收藏⭐文章 目录 SpringBoot统⼀功能处理一…

Go框架三件套:Gorm的基本操作

1.概述 这里的Go框架三件套是指 Web、RPC、ORM框架&#xff0c;具体如下: Gorm框架 gorm框架是一个已经迭代了10年的功能强大的ORM框架&#xff0c;在字节内部被广泛使用并且拥有非常丰富的开源扩展。 Kitex框架 Kitex是字节内部的Golang微服务RPC框架&#xff0c;具有高性能…

初始Django

初始Django 一、Django的历史 ​ Django 是从真实世界的应用中成长起来的&#xff0c;它是由堪萨斯&#xff08;Kansas&#xff09;州 Lawrence 城中的一个网络开发小组编写的。它诞生于 2003 年秋天&#xff0c;那时 Lawrence Journal-World 报纸的程序员 Adrian Holovaty 和…

泽攸科技无掩模光刻机:引领微纳制造新纪元

在当今科技迅猛发展的时代&#xff0c;微纳制造技术正变得越来越重要。泽攸科技作为这一领域的先行者&#xff0c;推出了其创新的无掩模光刻机&#xff0c;这一设备在微电子制造、微纳加工、MEMS、LED、生物芯片等多个高科技领域展现出了其独特的价值和广泛的应用前景。 技术革…

ubuntu中安装sublime-text

安装sublime-text 直接在software软件下载就好 安装成功后&#xff0c;如果找不到的话&#xff0c;可以在这里搜索。而后添加到收藏文件夹中。 下载的时候发生报错&#xff0c;发现是没有安装 ca-certificates 的软件包 &#xff1a; 命令&#xff1a; sudo apt install ca-c…

【NodeMCU实时天气时钟温湿度项目 6】解析天气信息JSON数据并显示在 TFT 屏幕上(心知天气版)

今天是第六专题&#xff0c;主要内容是&#xff1a;导入ArduinoJson功能库&#xff0c;借助该库解析从【心知天气】官网返回的JSON数据&#xff0c;并显示在 TFT 屏幕上。 如您需要了解其它专题的内容&#xff0c;请点击下面的链接。 第一专题内容&#xff0c;请参考&a…

uniapp小程序:大盒子包裹小盒子但是都有点击事件该如何区分?

在开发过程中我们会遇到这种情况&#xff0c;一个大盒子中包裹这一个小盒子&#xff0c;两个盒子都有点击事件&#xff0c;例如&#xff1a; 这个时候如果点击评价有可能会点击到它所在的大盒子&#xff0c;如果使用css中的z-index设置层级的话如果页面的盒子多的话会混乱&…

AI工具的热门与卓越:揭示AI技术的实际应用和影响

文章目录 每日一句正能量前言常用AI工具创新AI应用个人体验分享后记 每日一句正能量 我们在我们的劳动过程中学习思考&#xff0c;劳动的结果&#xff0c;我们认识了世界的奥妙&#xff0c;于是我们就真正来改变生活了。 前言 随着人工智能&#xff08;AI&#xff09;技术的快…

极端天气对气膜建筑有什么影响吗—轻空间

气膜建筑在近年来的发展迅速&#xff0c;逐渐替代了一部分传统建筑&#xff0c;展现了良好的市场前景。然而&#xff0c;面对自然环境中的极端天气&#xff0c;如暴风、暴雨和暴雪&#xff0c;气膜建筑是否能够经受住考验是大家关注的焦点。轻空间带您探讨一下这些极端天气对气…