his项目

his项目

his项目第一天

后端

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

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

配置了security

security小总结

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

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

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

前端

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

<pre class="md-fences md-end-block" lang="" contenteditable="false" cid="n28" mdtype="fences" style="box-sizing: border-box; overflow: visible; font-family: var(--monospace); font-size: 0.9rem; white-space: pre; line-height: 1.71429em; text-align: left; break-inside: avoid; display: block; background-image: inherit; background-position: inherit; background-size: inherit; background-repeat: inherit; background-attachment: inherit; background-origin: inherit; background-clip: inherit; background-color: rgb(218, 218, 218); position: relative !important; margin-bottom: 3em; padding-left: 1ch; padding-right: 1ch; margin-left: 2em; width: inherit;">import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
Vue.use(ElementUI);</pre>

制作了登录页面

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组件

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

先引依赖,

<dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <version>1.2.10</version></dependency>

然后就可以用了,多加一个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,表里的上下午字段就填上午,然后判断下午也有类似的方法,里层循环之后就把一天选中的规则排班都拍完了,然后外层继续循环下一天,别忘了外层结束天数加一,要不少一轮,循环完事,添加成功

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 项目目标: 1)熟练掌握ajax的使用 (*****) 2)熟悉前后端数据交互(***) 3)熟悉elementu...
    1462a2c022bc阅读 469评论 0 0
  • element-ui 文档 Vue项目接口文档地址 博客 session 和 cookie等 学什么? 1 如何使...
    cj_jax阅读 3,980评论 0 10
  • 基本用法 一、vuejs简介 是一个构建用户界面的框架 是一个轻量级的MVVM(Model-View-ViewMo...
    深度剖析JavaScript阅读 18,265评论 0 8
  • 富国岛简介 • 富国岛地处越南的坚江省(Kien Giang),面积与新加坡相近,人口约75000人; 当旱季来临...
    旅行邦mikle阅读 14,498评论 0 0
  • 一、复盘的底层逻辑 • 在做任何事情之前,我们都会对要做的事情与要实现的目标之间的关联性进行假设,无论这个假设你是...
    易查理阅读 9,620评论 0 3