vue基于element-ui制作的成绩管理系统(二)登录页

1.在src下面创建一个components文件夹里面创建HelloWorld.vue,

像这样:

创建后的页面:

<template>
<el-row :span="24" class="login-bg">  <el-form label-position="left" label-width="0px" class="demo-ruleForm login-container">    <h3 class="title">学生成绩在线管理系统</h3>    <el-form-item>      <el-input type="text" v-model="username"  placeholder="请输入登录账号"></el-input>  //vue 的双向绑定    </el-form-item>    <el-form-item>      <el-input type="password" v-model="password" placeholder="请输入密码"></el-input>    </el-form-item>    <el-row>      <el-col :span="12" class="text-left">        <el-radio v-model="radio" class="remember" label="1" style="padding-left:5px;">教师</el-radio>      </el-col>      <el-col :span="12" class="text-right">        <el-radio v-model="radio" class="remember" label="2" style="padding-right:5px;">学生</el-radio>      </el-col>    </el-row>

<el-form-item style="width:100%;">      <el-button type="primary" style="width:100%;" @click="dologin()">登录</el-button>   //点击登录    </el-form-item>  </el-form></el-row></template>
<script>export default {  name: ‘HelloWorld‘,  data () {    return {    //初始值    radio:‘1‘,  //页面初始加载默认选中角色教师    username:‘‘,  //初始账号为空    password:‘‘   //初始密码为空
}  },  methods: {  //函数方法  //登录  dologin(){    let {username,password,radio} = this;   //es6写法,方便下面调用    //首先判断账号或密码是否为空,为空的话则弹出用户名或密码不能为空,不为空则向后台发送请求    if(username==""||password==""){this.$message.error("用户名或密码不能为空");}else{//调用登录接口 this.$http.get(Main.getUserLogin(username,password,radio)).then(res => { 
    let{errCode,errMsg,dataList}= res.data;    console.log(res.data);    if(errCode==0){      let rolename = dataList[0].role;      sessionStorage.setItem(‘userrole‘,rolename);      sessionStorage.setItem(‘userId‘, dataList[0].id);      let role=radio;      sessionStorage.setItem(‘userRole‘,role);             //存储角色(学生和教师)  本地存储,方便页面中调用用户信息     let userName=dataList[0].name || dataList[0].tname;      sessionStorage.setItem(‘userName‘, userName);       //存储用户名(学生和教师)      let userPsd=dataList[0].passwd;      sessionStorage.setItem(‘userPassword‘, userPsd);   //存储密码(学生和教师)      let userSex=dataList[0].sex || dataList[0].tsex;      sessionStorage.setItem(‘userSex‘, userSex);         //存储性别(学生和教师)      let userDepart=dataList[0].depart || dataList[0].tdepart;      sessionStorage.setItem(‘userDepart‘, userDepart);   //存储部门院系(教师和学生)      let cno =dataList[0].class_cno;      sessionStorage.setItem(‘userCno‘,cno);              //存储课程id(教师)      let age =dataList[0].age;      sessionStorage.setItem(‘studentAge‘,age);           //存储年龄(学生)      let major =dataList[0].major;      sessionStorage.setItem(‘studentMajor‘,major);      //存储专业(学生)      let term =dataList[0].term;      sessionStorage.setItem(‘studentTerm‘,term);        //存储学期(学生)      let year =dataList[0].year;      sessionStorage.setItem(‘studentYear‘,year);        //存储所在年级(学生)      this.$router.push({path: ‘/person-msg‘})           //登录成功之后跳转到首页(个人信息页面)->路由跳转      this.$message({        message: ‘恭喜‘+rolename+userName+‘! 成功登录学生成绩管理系统‘,        type: ‘success‘      });    }else{      this.$message.error(errMsg);    }  }, response => {    this.$message.error(‘error submit!!‘);    return false;  });}   }
}

//这里给出后台给的接口

urlBase:http://www.rainrain.xin:12345/studentdb;为了方便调用,我把所有的接口都放在了一个文件里面(api.js)

上面的登录接口可以看到后台让我传三个参数,用户账号id,用户密码password,角色:0或1

基础的URL存放在一个变量里面 const baseUrl = ‘http://www.rainrain.xin:12345/studentdb‘;

//登录

</script>

<!-- Add "scoped" attribute to limit CSS to this component only --><style scoped>//css样式</style>

原文地址:https://www.cnblogs.com/ycc-521/p/9597130.html

时间: 2024-08-30 09:16:30

vue基于element-ui制作的成绩管理系统(二)登录页的相关文章

vue基于 element ui 的按钮点击节流

vue的按钮点击节流 场景: 1.在实际使用中,当我们填写表单,点击按钮提交的时候,当接口没返回之前,迅速的点击几次,就会造成多次提交. 2.获取验证码,不频繁的获取. 3.弹幕不能频繁的发 基于这几个场景,对 element-ui 的按钮进行扩展 节流 主要使用到了 vue的 $listeners 和 $attrs $listeners:子组件里面,获取父组件对子组件 v-on 的所有监听事件 $attrs: 包含了父作用域中不作为 prop 被识别 (且获取) 的特性绑定 (class 和 

net MVC +Vue.js+Element UI 笔记

最近项目需求要用到Vue 与 Element UI.但是又不想用Node.js.就结合了Net.MVC来做项目开发.故而做个笔记来记录一些遇到的问题和处理思路 用到MVC主要考虑是到 对 Node.js 不是特别了解.不想给自己埋坑. 而且基于MVC的话,能用到MVC的服务器端渲染,Session,验证,路由机制等等还是非常和嗨皮的. 然而集合MVC的话,比较烦的是在做可复用Component和JS文件的封装上没Node.js那么方便. Note:不得不吐槽,Vue.js简直和Flash Fle

vue开源Element UI表单设计及代码生成器

在日常的开发工作中,表单开发是较为繁琐且重复的.本文介绍一个我自己写的,提高开发效率的小工具. 1 可视化设计器 设计器基于Element UI ,可通过点击或拖拽的方式设计基本表单, 设计器生成的代码可直接运行在基于 Element 的 vue 项目中. github仓库   https://github.com/JakHuang/form-generator 码云仓库  https://gitee.com/mrhj/form-generator 演示地址 https://mrhj.gitee

关于vue.js element ui 表单验证 this.$refs[formName].validate()的问题

方法使用前需了解: 来自”和“小编的小提示: 首先打印一下this.$refs[formName],检查是否拿到了正确的需要验证的form. 其次在拿到了正确的form后,检查该form上添加的表单验证是否正确,需要注意的点有: 1.使用此方法前检查prop一定必须要写在<el-form-item>上面,写在里面的input上或者其他任何地方都不行(el-form-item prop属性绑定) 2.el-form rules,model属性绑定,ref标识 自定义表单验证的坑: 一.valid

Vue框架Element UI教程(二)

原文:https://www.jianshu.com/p/1704b5935a8 [时间选择器] Element UI手册:https://cloud.tencent.com/developer/doc/1270 中文文档:http://element-cn.eleme.io/#/zh-CN github地址:https://github.com/ElemeFE/element 前一篇已经安装好了Element UI环境,现在开始来实际操作框架提供的一些组件的运用了. 在准备好以下文章里面的内容

关于vue和element ui的国际化

因为公司需求近日一直在做国际化处理, 首先,我们用的是vue的单文件组件,实现国际化是在写好的一个文件组件里面vue_min.js里,而且它相当于一个js的模块,在每一个单文件的组件里面使用. 遇见的第一个问题国际化失败,只显示自己定义的json文件国际化.而且element ui的的国际化不显示, 解决的方案就是, 1.引入的时候应该从新引入 import enLocale from 'element-ui/lib/locale/lang/en' import zhLocale from 'e

vue 集成 element ui

打开vue项目所在的项目路径 输入 npm install element-ui -S 安装element ui 表示安装成功 在vue项目下的node_modules下会显示 element ui 配置element ui 改变项目目录中的main.js文件: 初始main.js文件: import Vue from 'vue'import App from './App'import router from './router'import ElementUI from 'element-u

基于WEB的C#学生成绩管理系统

在信息化时代的不断冲击下,学生成绩管理系统与计算机技术的结合,将会是一条提高学生成绩管理系统水平的捷径.使用计算机对学生成绩管理系统的各项基本信息进行管理,比起手工管理来说既方便又简便,而且易于管理.搜索速度快.存储量大等多个优点.将其使用在学生成绩管理系统中,不仅能够提高学生成绩管理系统中管理员的工作效率,而且可以使学生成绩管理系统更加科学与规范.从某些方面上来说,现代学生成绩管理系统的不断标准化促使学生成绩管理系统各方面的管理都逐渐与现代信息处理密切相连,因此应该开发学生成绩管理系统系统将现

Vue设置导航栏为公共模块并在登录页不显示

1.公共模块的内容可以放在App.vue中但是通常登录页面是不需要导航的,那么就需要规避登录页这时,就可以采用keep-alive结合$route.meta来实现这个功能.keep-alive 是 Vue 内置的一个组件,可以使被包含的组件保留状态,或避免重新渲染.$route.meta则可以选择让需要的页面才展示.修改App.vue,如下: <template> <div id="app"> <div v-if="$route.meta.kee