his项目

his项目

his项目第一天

后端

用mybatis逆向工程,自动生成实体类,mapper文件

https://www.jianshu.com/p/c89a888a53e3 这是网址,有详细配置

配置了security

security小总结

算上user表一共5张表就可以解决权限问题,user_role规定了一个用户有哪些角色,menu_role规定了这个访问路径哪些角色可以访问

user和menu都要加一个private List roles;泛型为角色的集合。user实现UserDetails,重写5个方法,其中一个返回集合的方法是用户的角色。userservice实现UserDetailsService,里面有查找用户和通过用户id查找这个人角色的方法

两个配置类,一个查找所有路径和角色的关系,里面通过比较当前访问路径,获得访问这个路径需要的角色,另一个用当前登录的角色和需要的角色做对比。

前端

安装elementui npm i element-ui -S ,在main.js入口文件中引入

import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
Vue.use(ElementUI);

制作了登录页面

npm i axios 在api里import axios from 'axios';import {Message} from "element-ui";

然后f封装api,有响应拦截器和五种请求,在main.js导入,并且注册成插件

在项目下建一个node.config.js 处理假跨域

制作路由,用作遍历侧边栏,普通路由加上hidden:true,让他遍历时不遍历,其它设成home的子路由,

his项目第三天

制作了前端home页的卡片项

制作了前端的ConstantManage组件

后端写了接口,运用了分页

先引依赖,

com.github.pagehelper pagehelper-spring-boot-starter 1.2.10

然后就可以用了,多加一个pageSize,和一个pageNum参数

排班管理

rule排班规则表 有外键userid和deptid,还有一个字段week,存一个14位的非1即0的字符串,分别对应一个礼拜的上下午,1代表可以排班,0代表不能排班

scheduling 排班表,有外键userid和deptid和ruleid,有一个字段noon不是上午就是下午,date字段是日期

新增排班规则做的是先查询user表,在后端返回集合的泛型的实体类中,加入14个boolean值,对应 14个上午下午,然后给前端数据后,把这些boolean值分别跟前端的14个checkbox进行绑定,选中就是true,不选中就是false,做保存规则的时候,用number判断,遍历把boolean值分别变成0,或1,拼接成一个字符串。

生成排班计划,利用指定的规则,选中哪个就对哪个进行排版,主要的地方是在后端处理,前端定义成一个对象,然后除了开始和结束时间定义成字符串,其它都是数组,因为可以多选排班规则进行排班,传到后端,后端写一个实体类接收数据,在service处理,先取到这个对象里的所有值,先将时间字符串转成Calendar类型对象,判如如果开始时间比结束时间晚,返回一个错误,当开始时间和结束时间正常的时候,进行循环,循环是每次循环添加规则里面所有人一天的排班计划,里面需要判断当前日期是星期几,写一个方法,参数是Calendar类型,用他的get

Calendar.Day-of -week方法,如果是1,返回7,因为星期日是第一天,

其他是-1,判断之前0,1d的字符串,用charat方法,参数放处理过的当前是星期几的参数*2-2,如果等于1,表里的上下午字段就填上午,然后判断下午也有类似的方法,里层循环之后就把一天选中的规则排班都拍完了,然后外层继续循环下一天,别忘了外层结束天数加一,要不少一轮,循环完事,添加成功

你可能感兴趣的:(his项目)