修改teacher/index页面

master
aiyadc 5 years ago
commit f5de8ccf26

@ -0,0 +1,54 @@
<template>
<div>
<el-row class="tac" style="margin-top: 30px">
<el-col :span="24">
<el-avatar shape="square" :size="250" fit="cover"
src="https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg"></el-avatar>
<br>
<el-link type="primary">更换头像尚未开发</el-link>
<el-menu
style="text-align: left;margin-top: 30px"
default-active="2"
class="el-menu-vertical-demo"
@open="handleOpen"
@close="handleClose">
<el-menu-item index="2" route="message">
<i class="el-icon-user"></i>
<span slot="title">我的个人信息</span>
</el-menu-item>
<el-menu-item index="3" disabled>
<i class="el-icon-document"></i>
<span slot="title">站内信尚未开发</span>
</el-menu-item>
<el-menu-item index="4" disabled>
<i class="el-icon-setting"></i>
<span slot="title">系统设置尚未开发</span>
</el-menu-item>
</el-menu>
</el-col>
</el-row>
</div>
</template>
<script>
export default {
data() {
return {}
},
methods: {
handleOpen(key, keyPath) {
console.log(key, keyPath);
},
handleClose(key, keyPath) {
console.log(key, keyPath);
}
}
}
</script>
<style scoped>
.personal-message {
margin: 200px 20% 0 20%;
}
</style>

@ -12,45 +12,54 @@
<el-submenu index="2"> <el-submenu index="2">
<template slot="title">实验室申请</template> <template slot="title">实验室申请</template>
<el-menu-item index="2-1" route="book" @click="$router.push('/teacher/applyLab')"></el-menu-item> <el-menu-item index="2-1" route="book" @click="$router.push('/teacher/applyLab')"></el-menu-item>
<el-menu-item index="2-2" route="myBooking" @click="$router.push('/teacher/myApplyRecord')"></el-menu-item> <el-menu-item index="2-2" route="myBooking" @click="$router.push('/teacher/myApplyRecord')">
</el-menu-item>
</el-submenu> </el-submenu>
<el-menu-item index="3" route="course">课程管理</el-menu-item> <el-menu-item index="3" route="course">课程管理</el-menu-item>
<el-menu-item index="4" route="schedule" @click="$router.push('/teacher/myCourse')"></el-menu-item> <el-menu-item index="4" route="schedule" @click="$router.push('/teacher/myCourse')"></el-menu-item>
<drop-down-user user="个人中心" @back="backLogin" @goPersonal="goPersonal"></drop-down-user> <drop-down-user :user="nickname" @back="backLogin" @goPersonal="goPersonal"></drop-down-user>
</el-menu> </el-menu>
</div> </div>
</template> </template>
<script> <script>
import dropDownUser from "~/components/dropDownUser"; import dropDownUser from "~/components/dropDownUser";
import {get} from "~/utils";
import {showSuccess} from "~/utils/dialog";
export default { export default {
data() { data() {
return { return {
activeIndex: '1' activeIndex: '1',
nickname: ''
}; };
}, },
methods: { methods: {
handleSelect(key, keyPath) { handleSelect(key, keyPath) {
console.log(key, keyPath); console.log(key, keyPath);
}, },
backLogin:function () { async backLogin() {
this.$router.push('/login') await get('lb/user/logout')
await showSuccess("退出成功", this)
setTimeout(() => {
this.$router.push('/login')
}, 1000)
}, },
goPersonal:function () { goPersonal: function () {
this.$router.push('/teacher/personal') this.$router.push('/teacher/personal')
} }
}, },
components:{ components: {
dropDownUser dropDownUser
}, },
mounted() { async mounted() {
this.nickname = await get('lb/user/getUserName')
} }
} }
</script> </script>
<style scoped> <style scoped>
.nav{ .nav {
width: 100%; width: 100%;
} }
</style> </style>

@ -1,6 +1,6 @@
<template> <template>
<div> <div>
<home :names="homePrarms" user="林大池" @back="backLogin" @goPersonal="goPersonal"></home> <home :names="homePrarms" :user="nickname" @back="backLogin" @goPersonal="goPersonal"></home>
</div> </div>
</template> </template>
@ -13,35 +13,44 @@
components: { components: {
home home
}, },
data(){ data() {
return{ return {
homePrarms:[ nickname: '未登录',
{ name:'个人中心',func:()=> { homeParams: [
console.log(this.$router) {
this.$router.push('/teacher/personal') name: '个人中心', func: () => {
}}, console.log(this.$router)
{name:'申请实验室' ,func:()=> { this.$router.push('/teacher/personal')
this.$router.push('/teacher/applyLab')}}, }
{name:'我的课表',func:()=> { },
this.$router.push('/teacher/myCourse')}} {
] name: '申请实验室', func: () => {
} this.$router.push('/teacher/applyLab')
}
},
{
name: '我的课表', func: () => {
this.$router.push('/teacher/myCourse')
}
}
]
}
}, },
methods:{ methods: {
async backLogin() { async backLogin() {
await get('lb/user/logout') await get('lb/user/logout')
await showSuccess("退出成功",this) await showSuccess("退出成功",this)
setTimeout(()=>{ setTimeout(()=>{
this.$router.push('/login') this.$router.push('/login')
},1000) },1000)
}, },
goPersonal:function () { goPersonal:function () {
this.$router.push('/teacher/personal') this.$router.push('/teacher/personal')
} }
}, },
mounted() { async mounted() {
console.log(this.homePrarms) this.nickname = await get('lb/user/getUserName')
console.log(this.homeParams)
} }
} }
</script> </script>

@ -5,33 +5,7 @@
</el-container> </el-container>
<el-container> <el-container>
<el-aside width="300px"> <el-aside width="300px">
<el-row class="tac" style="margin-top: 30px"> <personal-aside></personal-aside>
<el-col :span="24">
<el-avatar shape="square" :size="250" fit="cover"
src="https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg"></el-avatar>
<br>
<el-link type="primary">更换头像尚未开发</el-link>
<el-menu
style="text-align: left;margin-top: 30px"
default-active="2"
class="el-menu-vertical-demo"
@open="handleOpen"
@close="handleClose">
<el-menu-item index="2" route="message">
<i class="el-icon-user"></i>
<span slot="title">我的个人信息</span>
</el-menu-item>
<el-menu-item index="3" disabled>
<i class="el-icon-document"></i>
<span slot="title">站内信尚未开发</span>
</el-menu-item>
<el-menu-item index="4" disabled>
<i class="el-icon-setting"></i>
<span slot="title">系统设置尚未开发</span>
</el-menu-item>
</el-menu>
</el-col>
</el-row>
</el-aside> </el-aside>
<el-main> <el-main>
<personal-message></personal-message> <personal-message></personal-message>
@ -43,9 +17,10 @@
<script> <script>
import navBar from "~/components/teacher/navBar"; import navBar from "~/components/teacher/navBar";
import personalMessage from "~/components/personalMessage"; import personalMessage from "~/components/personalMessage";
import personalAside from "~/components/personalAside";
export default { export default {
components: {personalMessage,navBar}, components: {personalMessage,navBar, personalAside},
methods: { methods: {
handleOpen(key, keyPath) { handleOpen(key, keyPath) {
console.log(key, keyPath); console.log(key, keyPath);

@ -21,7 +21,7 @@ Vue.use(VueRouter);
const routes = [ const routes = [
{ {
path: "/", path: "/",
redirect: '/test' redirect: '/login'
}, },
{ {
path:'/test', path:'/test',

@ -28,8 +28,9 @@ async function request(url, method, data, params, header = {}) {
// -2:没有登陆 // -2:没有登陆
if (res.data.code === 0) { if (res.data.code === 0) {
resolve(res.data.data) resolve(res.data.data)
} else if (res.data.code === -2) { } else if (res.data.code === 401) {
reject(res.data) alert(res.data.msg+" ("+res.data.code+")")
window.location.href="/"
} else { } else {
reject(res.data) reject(res.data)
} }

@ -1,6 +1,7 @@
package com.hzu.bookingsystem.controller; package com.hzu.bookingsystem.controller;
import com.hzu.bookingsystem.VO.ResultVO; import com.hzu.bookingsystem.VO.ResultVO;
import com.hzu.bookingsystem.dto.UserDTO;
import com.hzu.bookingsystem.bean.UserBean; import com.hzu.bookingsystem.bean.UserBean;
import com.hzu.bookingsystem.service.UserService; import com.hzu.bookingsystem.service.UserService;
import com.hzu.bookingsystem.utils.CookieUtil; import com.hzu.bookingsystem.utils.CookieUtil;
@ -14,6 +15,7 @@ import org.springframework.web.bind.annotation.*;
import javax.servlet.http.Cookie; import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.UUID; import java.util.UUID;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
@ -31,9 +33,6 @@ public class UserController {
@PostMapping("/login") @PostMapping("/login")
public ResultVO login(@RequestBody UserBean user, public ResultVO login(@RequestBody UserBean user,
HttpServletResponse response) { HttpServletResponse response) {
System.out.println(user);
//0.加密密码
user.setPassword(MD5Util.md5Encrypt32Upper(user.getPassword()));
//1. openid去和数据库里的数据匹配 //1. openid去和数据库里的数据匹配
UserBean user1 = userService.findByUnameAndPwd(user.getUsername(),user.getPassword()); UserBean user1 = userService.findByUnameAndPwd(user.getUsername(),user.getPassword());
@ -68,7 +67,7 @@ public class UserController {
} }
// 查看个人信息 // 查看当前用户个人信息
@GetMapping(value = "/getUserInfo") @GetMapping(value = "/getUserInfo")
public ResultVO getUserInfo(HttpServletRequest request){ public ResultVO getUserInfo(HttpServletRequest request){
Integer uId = getUIdByCookie(request); Integer uId = getUIdByCookie(request);
@ -77,16 +76,34 @@ public class UserController {
return ResultVOUtil.success(user); return ResultVOUtil.success(user);
} }
// 获取当前用户名称
@GetMapping(value = "/getUserName")
public ResultVO getUserName(HttpServletRequest request){
Integer uId = getUIdByCookie(request);
UserBean user = userService.findById(uId);
return ResultVOUtil.success(user.getNickname());
}
//创建用户 //创建用户
@PostMapping(value = "/addUser", consumes = "application/json") @PostMapping(value = "/addUser", consumes = "application/json")
public ResultVO addUser(@RequestBody UserBean user) { public ResultVO addUser(@RequestBody UserBean user) {
//0.加密密码
user.setPassword(MD5Util.md5Encrypt32Upper(user.getPassword()));
userService.add(user); userService.add(user);
return ResultVOUtil.success(); return ResultVOUtil.success();
} }
// 通过UID删除用户
@PostMapping(value = "/deleteUser", consumes = "application/json")
public ResultVO deleteUser(@RequestBody UserBean user){
// 查找该用户看是否存在
UserBean user1 = userService.findById(user.getUId());
if (user1 == null){
return ResultVOUtil.error(-1,"用户不存在");
}
// 删除该用户
userService.deleteById(user1.getUId());
return ResultVOUtil.success();
}
//查找用户详情 //查找用户详情
@GetMapping(value = "/findById") @GetMapping(value = "/findById")
public ResultVO<Map<String, UserBean>> findById(@RequestParam("uId") Integer uId) { public ResultVO<Map<String, UserBean>> findById(@RequestParam("uId") Integer uId) {
@ -94,6 +111,13 @@ public class UserController {
return ResultVOUtil.success(user); return ResultVOUtil.success(user);
} }
// 查找所有用户列表
@GetMapping(value = "/getUserList")
public ResultVO getUserList(){
List<UserDTO> userList = userService.findAllUserInfo();
return ResultVOUtil.success(userList);
}
/** /**
* *
* @param user * @param user

@ -0,0 +1,22 @@
package com.hzu.bookingsystem.converter;
import com.hzu.bookingsystem.bean.UserBean;
import com.hzu.bookingsystem.dto.UserDTO;
import org.springframework.beans.BeanUtils;
import java.util.List;
import java.util.stream.Collectors;
public class UserBean2UserDTO {
public static UserDTO convert(UserBean user) {
UserDTO userDTO = new UserDTO();
BeanUtils.copyProperties(user, userDTO);
return userDTO;
}
public static List<UserDTO> convert(List<UserBean> userList) {
return userList.stream().map(UserBean2UserDTO::convert)
.collect(Collectors.toList());
}
}

@ -0,0 +1,35 @@
package com.hzu.bookingsystem.dto;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.*;
@Data
@NoArgsConstructor
@AllArgsConstructor
@Entity
@Table(name = "tb_user")
public class UserDTO {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
// 用户ID
private Integer uId;
// 用户姓名
private String nickname;
// 联系电弧
private String tel;
// email
private String email;
//用户名(工号)
private String username;
//办公室地点
private String office;
}

@ -16,6 +16,6 @@ public class GlobalExceptionHandler {
@ExceptionHandler(value = UserAuthorizeException.class) @ExceptionHandler(value = UserAuthorizeException.class)
@ResponseBody @ResponseBody
public ResultVO handlerAuthorizeException(HttpServletRequest servletRequest,Exception e) { public ResultVO handlerAuthorizeException(HttpServletRequest servletRequest,Exception e) {
return ResultVOUtil.error(403,e.getMessage()); return ResultVOUtil.error(401,e.getMessage());
} }
} }

@ -1,6 +1,7 @@
package com.hzu.bookingsystem.service; package com.hzu.bookingsystem.service;
import com.hzu.bookingsystem.dto.UserDTO;
import com.hzu.bookingsystem.bean.UserBean; import com.hzu.bookingsystem.bean.UserBean;
import java.util.List; import java.util.List;
@ -51,4 +52,10 @@ public interface UserService {
* @return * @return
*/ */
UserBean findByUnameAndPwd(String username, String password); UserBean findByUnameAndPwd(String username, String password);
/**
*
* @return
*/
List<UserDTO> findAllUserInfo();
} }

@ -1,8 +1,11 @@
package com.hzu.bookingsystem.service.impl; package com.hzu.bookingsystem.service.impl;
import com.hzu.bookingsystem.converter.UserBean2UserDTO;
import com.hzu.bookingsystem.dto.UserDTO;
import com.hzu.bookingsystem.bean.UserBean; import com.hzu.bookingsystem.bean.UserBean;
import com.hzu.bookingsystem.repository.UserRepository; import com.hzu.bookingsystem.repository.UserRepository;
import com.hzu.bookingsystem.service.UserService; import com.hzu.bookingsystem.service.UserService;
import com.hzu.bookingsystem.utils.MD5Util;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -18,7 +21,10 @@ public class UserServiceImpl implements UserService {
@Override @Override
public UserBean add(UserBean user) { public UserBean add(UserBean user) {
// 1.保证ID为空
user.setUId(null); user.setUId(null);
// 2.加密密码
user.setPassword(MD5Util.md5Encrypt32Upper(user.getPassword()));
return userRepository.save(user); return userRepository.save(user);
} }
@ -45,6 +51,15 @@ public class UserServiceImpl implements UserService {
@Override @Override
public UserBean findByUnameAndPwd(String username, String password) { public UserBean findByUnameAndPwd(String username, String password) {
// 加密密码
password = MD5Util.md5Encrypt32Upper(password);
return userRepository.findByUsernameAndPassword(username,password); return userRepository.findByUsernameAndPassword(username,password);
} }
@Override
public List<UserDTO> findAllUserInfo() {
List<UserBean> userBeanList = userRepository.findAll();
return UserBean2UserDTO.convert(userBeanList);
}
} }

@ -1,11 +1,15 @@
package com.hzu.bookingsystem; package com.hzu.bookingsystem;
import com.hzu.bookingsystem.bean.UserBean; import com.hzu.bookingsystem.bean.UserBean;
import com.hzu.bookingsystem.dto.UserDTO;
import com.hzu.bookingsystem.service.UserService; import com.hzu.bookingsystem.service.UserService;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.context.SpringBootTest;
import java.util.List;
@SpringBootTest @SpringBootTest
class BookingsystemApplicationTests { class BookingsystemApplicationTests {
@ -20,13 +24,14 @@ class BookingsystemApplicationTests {
public void test(){ public void test(){
UserBean user = new UserBean(); UserBean user = new UserBean();
user.setUsername("123456"); user.setUsername("123456");
user.setNickname("吴志岳"); user.setNickname("莫家豪");
user.setEmail("274129947@qq.com"); user.setEmail("@qq.com");
user.setPassword("123456123weqwe"); user.setPassword("123456");
user.setOffice("5#101qwe"); user.setOffice("18#");
// System.out.println(userService.findAll());
userService.add(user); userService.add(user);
// userService.save(user); // userService.save(user);
// userService.deleteById(1); // userService.deleteById(1);
List<UserDTO> userDTOList = userService.findAllUserInfo();
System.out.println(userDTOList);
} }
} }

Loading…
Cancel
Save