Merge branch 'master' of https://bdgit.educoder.net/19833906703/psychological_health
commit
6202eb052f
@ -0,0 +1,51 @@
|
||||
package com.config;
|
||||
|
||||
import com.domain.user;
|
||||
import com.service.userService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.security.core.GrantedAuthority;
|
||||
import org.springframework.security.core.authority.SimpleGrantedAuthority;
|
||||
import org.springframework.security.core.userdetails.UserDetails;
|
||||
import org.springframework.security.core.userdetails.UserDetailsService;
|
||||
import org.springframework.security.core.userdetails.UsernameNotFoundException;
|
||||
import org.springframework.security.crypto.password.PasswordEncoder;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
@Service
|
||||
public class UserService implements UserDetailsService {
|
||||
@Autowired
|
||||
public com.service.userService userService;
|
||||
@Autowired(required = false)
|
||||
private PasswordEncoder passwordEncoder;
|
||||
@Override
|
||||
public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
|
||||
// 根据用户查询用户信息
|
||||
//User user = userMapper.findByUsername(username); //查询数据库
|
||||
// user user = new user(1, username, "123456", 1);//注意:这里我就是用来测试的,实际应该从数据库中获取
|
||||
user user=userService.selectByUserName(username);
|
||||
if (user != null) {
|
||||
// 根据用户查询用户对应权限
|
||||
Collection<GrantedAuthority> authorities = new ArrayList<>();
|
||||
/* //查询登录用户所拥有的角色
|
||||
List<Role> list = RoleMapper.findByUserId(userId);
|
||||
for (Role role : list) {
|
||||
GrantedAuthority authority = new SimpleGrantedAuthority("ROLE_"+role.getRoleName());
|
||||
authorities.add(authority);
|
||||
}
|
||||
*/
|
||||
//创建一个授权对象
|
||||
GrantedAuthority authority = new SimpleGrantedAuthority("ROLE_ADMIN"); //注意:这里我就是用来测试的,实际应该从数据库中获取
|
||||
authorities.add(authority);
|
||||
return new org.springframework.security.core.userdetails.User(
|
||||
user.getUsername(),
|
||||
// 因为数据库是明文,所以这里需加密密码
|
||||
passwordEncoder.encode(user.getPassword()),
|
||||
authorities);
|
||||
}
|
||||
return null;
|
||||
|
||||
|
||||
}
|
||||
}
|
@ -0,0 +1,96 @@
|
||||
package com.config;
|
||||
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
|
||||
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
|
||||
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
|
||||
import org.springframework.security.core.Authentication;
|
||||
import org.springframework.security.core.AuthenticationException;
|
||||
import org.springframework.security.core.userdetails.UserDetailsService;
|
||||
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
|
||||
import org.springframework.security.crypto.password.PasswordEncoder;
|
||||
import org.springframework.security.web.authentication.SimpleUrlAuthenticationFailureHandler;
|
||||
import org.springframework.security.web.authentication.SimpleUrlAuthenticationSuccessHandler;
|
||||
|
||||
import javax.servlet.ServletException;
|
||||
import javax.servlet.ServletOutputStream;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
|
||||
@Configuration
|
||||
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
|
||||
@Bean
|
||||
public UserDetailsService getUserService() {
|
||||
return new UserService();
|
||||
}
|
||||
|
||||
@Bean
|
||||
public PasswordEncoder passwordEncoder() {
|
||||
return new BCryptPasswordEncoder();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
|
||||
auth.userDetailsService(getUserService()).passwordEncoder(passwordEncoder());
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void configure(HttpSecurity http) throws Exception {
|
||||
http.authorizeRequests()
|
||||
.antMatchers( "/pages/login.html","/img/*","/plugins/**","/css/*","/js/*","/dist/**","/pages/regist.html","/user/Save").permitAll()// 无需认证
|
||||
.anyRequest().authenticated() // 所有请求都需要验证
|
||||
.and()
|
||||
.headers().frameOptions().disable()
|
||||
.and()
|
||||
.formLogin() // 使用默认的登录页面
|
||||
.loginPage("/pages/login.html")// 指定指定要的登录页面
|
||||
.loginProcessingUrl("/login")// 处理认证路径的请求
|
||||
//认证成功后的跳转页面 默认是get方式提交 自定义成功页面post方式提交
|
||||
//在 controller中处理时要注意
|
||||
// .defaultSuccessUrl("/pages/main.html")
|
||||
// .failureForwardUrl("/pages/error.html")
|
||||
.successHandler(new SimpleUrlAuthenticationSuccessHandler() {
|
||||
@Override
|
||||
public void onAuthenticationSuccess(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Authentication authentication) throws IOException, ServletException {
|
||||
httpServletResponse.setContentType("application/json;charset=utf-8");
|
||||
ServletOutputStream out = httpServletResponse.getOutputStream();
|
||||
ObjectMapper objectMapper = new ObjectMapper();
|
||||
objectMapper.writeValue(out, "登录成功");
|
||||
out.flush();
|
||||
out.close();
|
||||
}
|
||||
}).failureHandler(new SimpleUrlAuthenticationFailureHandler() {
|
||||
@Override
|
||||
public void onAuthenticationFailure(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, AuthenticationException e) throws IOException, ServletException {
|
||||
httpServletResponse.setContentType("application/json;charset=utf-8");
|
||||
ServletOutputStream out = httpServletResponse.getOutputStream();
|
||||
ObjectMapper objectMapper = new ObjectMapper();
|
||||
objectMapper.writeValue(out, "登录失败");
|
||||
out.flush();
|
||||
out.close();
|
||||
}
|
||||
})
|
||||
.and()
|
||||
//开启cookie保存用户数据
|
||||
// .rememberMe()
|
||||
//设置cookie有效期
|
||||
// .tokenValiditySeconds(60 * 60 * 24 * 7) //有效期一周
|
||||
//设置cookie的私钥
|
||||
// .key("")
|
||||
// .and()
|
||||
.logout()
|
||||
.logoutUrl("/logout")
|
||||
.logoutSuccessUrl("/pages/login.html")
|
||||
// .invalidateHttpSession(true)
|
||||
.and()
|
||||
// .headers().frameOptions().disable().and()
|
||||
.csrf().disable() //关闭跨域保护
|
||||
.sessionManagement()
|
||||
.maximumSessions(1);// 同一用户 只允许一个在线 自动踢出在线用户
|
||||
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,195 @@
|
||||
.bg-primary {
|
||||
background-color: #3F52E3 !important;
|
||||
}
|
||||
.text-primary {
|
||||
color: #3F52E3 !important;
|
||||
}
|
||||
a {
|
||||
color: #3F52E3;
|
||||
}
|
||||
a:hover {
|
||||
color: #2d3db8;
|
||||
}
|
||||
.btn-primary {
|
||||
background-color: #3F52E3;
|
||||
border-color: transparent !important;
|
||||
}
|
||||
.btn-primary:focus,
|
||||
.btn-primary:focus:active,
|
||||
.btn-primary:active,
|
||||
.btn-primary:hover {
|
||||
background-color: #2d3db8 !important;
|
||||
}
|
||||
.btn-primary.disabled, .btn-primary:disabled {
|
||||
background-color: #3F52E3;
|
||||
border-color: #3F52E3;
|
||||
}
|
||||
.btn-outline-primary {
|
||||
color: #3F52E3;
|
||||
background-color: transparent;
|
||||
background-image: none;
|
||||
border-color: #3F52E3;
|
||||
}
|
||||
|
||||
.btn-outline-primary:hover {
|
||||
color: #fff;
|
||||
background-color: #3F52E3;
|
||||
border-color: #3F52E3;
|
||||
}
|
||||
.btn-outline-primary.disabled, .btn-outline-primary:disabled {
|
||||
color: #3F52E3;
|
||||
background-color: transparent;
|
||||
}
|
||||
.btn-outline-primary:not([disabled]):not(.disabled):active, .btn-outline-primary:not([disabled]):not(.disabled).active,
|
||||
.show > .btn-outline-primary.dropdown-toggle {
|
||||
color: #fff;
|
||||
background-color: #3F52E3;
|
||||
border-color: #3F52E3;
|
||||
}
|
||||
.btn-link {
|
||||
font-weight: 400;
|
||||
color: #3F52E3;
|
||||
background-color: transparent;
|
||||
}
|
||||
.btn-link:hover {
|
||||
color: #2d3db8;
|
||||
}
|
||||
.dropdown-item.active, .dropdown-item:active {
|
||||
color: #fff;
|
||||
background-color: #3F52E3;
|
||||
}
|
||||
.custom-control-input:checked ~ .custom-control-label::before {
|
||||
color: #fff;
|
||||
background-color: #3F52E3;
|
||||
}
|
||||
.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before {
|
||||
background-color: #3F52E3;
|
||||
}
|
||||
.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {
|
||||
background-color: #3F52E3;
|
||||
}
|
||||
.custom-radio .custom-control-input:checked ~ .custom-control-label::before {
|
||||
background-color: #3F52E3;
|
||||
}
|
||||
.nav-pills .nav-link.active,
|
||||
.nav-pills .show > .nav-link {
|
||||
color: #fff;
|
||||
background-color: #3F52E3;
|
||||
}
|
||||
.page-link {
|
||||
color: #3F52E3;
|
||||
background-color: #fff;
|
||||
border: 1px solid #ededed;
|
||||
}
|
||||
.page-item.active .page-link {
|
||||
color: #fff;
|
||||
background-color: #3F52E3;
|
||||
border-color: #3F52E3;
|
||||
}
|
||||
.page-link:focus, .page-link:hover {
|
||||
color: #2d3db8;
|
||||
}
|
||||
|
||||
.badge-primary {
|
||||
color: #fff;
|
||||
background-color: #3F52E3;
|
||||
}
|
||||
.progress-bar {
|
||||
color: #fff;
|
||||
background-color: #3F52E3;
|
||||
}
|
||||
.list-group-item.active {
|
||||
color: #fff;
|
||||
background-color: #3F52E3;
|
||||
border-color: #3F52E3;
|
||||
}
|
||||
.bg-primary {
|
||||
background-color: #3F52E3 !important;
|
||||
}
|
||||
.border-primary {
|
||||
border-color: #3F52E3 !important;
|
||||
}
|
||||
.text-primary {
|
||||
color: #3F52E3 !important;
|
||||
}
|
||||
|
||||
.navbar.active {
|
||||
background-color: #3F52E3;
|
||||
}
|
||||
.navbar-bg {
|
||||
background-color: #3F52E3;
|
||||
}
|
||||
.form-control:focus {
|
||||
border-color: #3F52E3;
|
||||
}
|
||||
.main-sidebar .sidebar-menu li.active a {
|
||||
background-color: #f9f9f9;
|
||||
color: #3F52E3;
|
||||
}
|
||||
.main-sidebar .sidebar-menu li ul.menu-dropdown li a:hover {
|
||||
color: #3F52E3;
|
||||
}
|
||||
|
||||
.main-sidebar .sidebar-menu li ul.menu-dropdown li.active a {
|
||||
color: #3F52E3;
|
||||
}
|
||||
.alert.alert-primary {
|
||||
background-color: #3F52E3;
|
||||
}
|
||||
.card.card-primary {
|
||||
border-top: 2px solid #3F52E3;
|
||||
}
|
||||
.fc button.fc-state-active {
|
||||
background-color: #3F52E3;
|
||||
color: #fff;
|
||||
}
|
||||
.jqvmap-circle {
|
||||
background-color: #3F52E3;
|
||||
border: 1px solid #000;
|
||||
}
|
||||
.weather ul li {
|
||||
border: 2px solid #3F52E3;
|
||||
color: #3F52E3;
|
||||
}
|
||||
.card-chat .chat-content .chat-item.chat-right .chat-details .chat-text {
|
||||
background-color: #3F52E3;
|
||||
color: #fff;
|
||||
}
|
||||
.nav-tabs .nav-item .nav-link {
|
||||
color: #3F52E3;
|
||||
}
|
||||
.nav-pills .nav-item .nav-link {
|
||||
color: #3F52E3;
|
||||
}
|
||||
.swal-button.swal-button--confirm {
|
||||
background-color: #3F52E3;
|
||||
}
|
||||
.page-item .page-link {
|
||||
color: #3F52E3;
|
||||
}
|
||||
.page-item.active .page-link {
|
||||
background-color: #3F52E3;
|
||||
border-color: #3F52E3;
|
||||
}
|
||||
.btn-group .btn.active {
|
||||
background-color: #3F52E3;
|
||||
color: #fff;
|
||||
}
|
||||
.media .media-right {
|
||||
color: #3F52E3;
|
||||
}
|
||||
.selectric-items li.selected,
|
||||
.selectric-items li.highlighted {
|
||||
background-color: #3F52E3;
|
||||
color: #fff;
|
||||
}
|
||||
.dropzone {
|
||||
border: 2px dashed #3F52E3;
|
||||
}
|
||||
.accordion .accordion-header[aria-expanded="true"] {
|
||||
background-color: #3F52E3;
|
||||
color: #fff;
|
||||
}
|
||||
.bootstrap-tagsinput .tag {
|
||||
background-color: #3F52E3;
|
||||
}
|
@ -0,0 +1,18 @@
|
||||
package com.config;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
|
||||
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
@Configuration
|
||||
public class myConfig {
|
||||
|
||||
@Bean
|
||||
public MybatisPlusInterceptor mybatisPlusInterceptor()
|
||||
{
|
||||
MybatisPlusInterceptor mybatisPlusInterceptor=new MybatisPlusInterceptor();
|
||||
mybatisPlusInterceptor.addInnerInterceptor(new PaginationInnerInterceptor());
|
||||
return mybatisPlusInterceptor;
|
||||
}
|
||||
}
|
@ -0,0 +1,319 @@
|
||||
.ordersetting .el-input__inner {
|
||||
height: 36px;
|
||||
line-height: 36px;
|
||||
}
|
||||
.ordersetting {
|
||||
background: #f5f5f5;
|
||||
box-shadow: none;
|
||||
border-top: none;
|
||||
}
|
||||
.gotoday {
|
||||
border: 1px solid #d5d9df
|
||||
}
|
||||
.calendar p {
|
||||
margin: 0;
|
||||
}
|
||||
.filebtn {
|
||||
padding: 9px 20px;
|
||||
border: none;
|
||||
font-size: 18px;
|
||||
background: #0ebffc;
|
||||
}
|
||||
.month {
|
||||
width: 100%;
|
||||
line-height: 3;
|
||||
/* background: #00B8EC; */
|
||||
}
|
||||
|
||||
.month ul {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.year-month {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: space-around;
|
||||
}
|
||||
|
||||
.year-month:hover {
|
||||
background: rgba(150, 2, 12, 0.1);
|
||||
}
|
||||
|
||||
.choose-year {
|
||||
padding-left: 20px;
|
||||
font-size: 1.2rem;
|
||||
}
|
||||
|
||||
.choose-month {
|
||||
text-align: center;
|
||||
font-size: 1.2rem;
|
||||
}
|
||||
|
||||
.arrow {
|
||||
padding: 30px;
|
||||
}
|
||||
|
||||
.arrow:hover {
|
||||
background: rgba(100, 2, 12, 0.1);
|
||||
}
|
||||
|
||||
.month ul li {
|
||||
color: white;
|
||||
font-size: 20px;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 3px;
|
||||
}
|
||||
.caldate {
|
||||
box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.1), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
|
||||
}
|
||||
.weekdays {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
background-color: #fff;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
color: #333;
|
||||
justify-content: space-around;
|
||||
border-bottom: 1px solid #ededed;
|
||||
border-top: 2px solid #0ebffc;
|
||||
}
|
||||
|
||||
.weekdays li {
|
||||
display: inline-block;
|
||||
width: 14%;
|
||||
text-align: center;
|
||||
padding: 10px 0;
|
||||
border-right: 1px solid #f1efef;
|
||||
color: #000;
|
||||
font-size: 20px;
|
||||
|
||||
}
|
||||
|
||||
.days {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
justify-content: space-around;
|
||||
|
||||
}
|
||||
|
||||
.days li {
|
||||
height: 160px;
|
||||
list-style-type: none;
|
||||
display: inline-block;
|
||||
width: 14%;
|
||||
text-align: right;
|
||||
font-size: 1rem;
|
||||
color: #000;
|
||||
list-style-type: none;
|
||||
display: inline-block;
|
||||
width: 14.2%;
|
||||
font-size: 1rem;
|
||||
color: #000;
|
||||
border-bottom: 1px solid #fff;
|
||||
}
|
||||
.everyday {
|
||||
height: 160px;
|
||||
border-bottom: 1px solid #f1efefef;
|
||||
position: relative;
|
||||
background: #fff;
|
||||
}
|
||||
.everyday .datenumber {
|
||||
position: absolute;
|
||||
right: 10px;
|
||||
top: 10px;
|
||||
}
|
||||
.everyday .usual {
|
||||
height: 100%;
|
||||
background: #1ed7fc;
|
||||
text-align: center;
|
||||
color: #fff;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
font-size: 20px;
|
||||
line-height: 1.5;
|
||||
}
|
||||
.everyday .fulled {
|
||||
height: 100%;
|
||||
background: #ff9c9d;
|
||||
text-align: center;
|
||||
color: #fff;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
font-size: 20px;
|
||||
}
|
||||
.everyday .nochoose {
|
||||
height: 100%;
|
||||
background: #effbff;
|
||||
}
|
||||
.everyday .orderbtn {
|
||||
position: absolute;
|
||||
right: 10px;
|
||||
bottom: 10px;
|
||||
cursor: pointer;
|
||||
border: none;
|
||||
background: #d6ffff;
|
||||
padding: 3px 10px;
|
||||
color: #0ebffc;
|
||||
border-radius: 4px;
|
||||
font-size: 16px;
|
||||
}
|
||||
.days li .active {
|
||||
padding: 6px 10px;
|
||||
border-radius: 50%;
|
||||
background: #00B8EC;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.days li .other-month {
|
||||
padding: 10px;
|
||||
height: 140px;
|
||||
color: gainsboro;
|
||||
background: #f9f9f9;
|
||||
}
|
||||
|
||||
/* .singlebtn {
|
||||
font-size: 18px;
|
||||
}
|
||||
.mutiplebtn {
|
||||
font-size: 18px;
|
||||
} */
|
||||
|
||||
|
||||
|
||||
.filebox {
|
||||
position: relative;
|
||||
}
|
||||
.el-card__body {
|
||||
position: relative;
|
||||
}
|
||||
.el-upload--text {
|
||||
position: absolute;
|
||||
left: 22%;
|
||||
top: 14px;
|
||||
}
|
||||
.el-upload--text .el-button {
|
||||
background: #0ebffc;
|
||||
border: none
|
||||
}
|
||||
|
||||
.el-upload-list {
|
||||
width: 20%;
|
||||
}
|
||||
.filebtns {
|
||||
position: relative
|
||||
}
|
||||
.multifile {
|
||||
width: 100%;
|
||||
}
|
||||
.mutibtn {
|
||||
position: absolute;
|
||||
left: 12%;
|
||||
top: 0;
|
||||
}
|
||||
.uploadfile{
|
||||
padding: 4px 10px;
|
||||
height: 20px;
|
||||
line-height: 20px;
|
||||
position: relative;
|
||||
border: 1px solid #999;
|
||||
text-decoration: none;
|
||||
color: #666;
|
||||
}
|
||||
.change{
|
||||
position: absolute;
|
||||
overflow: hidden;
|
||||
right: 0;
|
||||
top: 0;
|
||||
opacity: 0;
|
||||
}
|
||||
.singleuploaded {
|
||||
|
||||
}
|
||||
.mutiuploaded {
|
||||
left: 31.5%;
|
||||
}
|
||||
.outputloaded {
|
||||
left: 43%;
|
||||
}
|
||||
.inputfile-text {
|
||||
height: 33px;
|
||||
width: 233px;
|
||||
display: inline-block;
|
||||
border: 1px solid #ccc;
|
||||
line-height: 36px;
|
||||
border-radius: 7px;
|
||||
cursor: pointer;
|
||||
}
|
||||
.inputfile-text span {
|
||||
padding-left: 11px;
|
||||
color: #aba7a7;
|
||||
}
|
||||
|
||||
.days li .current-month .full {
|
||||
background: #ff8a8a;
|
||||
text-align: center;
|
||||
line-height: 100px;
|
||||
color: #fff;
|
||||
|
||||
}
|
||||
|
||||
.days li .current-month .full .full-text {
|
||||
font-size: 26px;
|
||||
}
|
||||
|
||||
.clearfix {clear: both}
|
||||
.month .currentdate { float: left}
|
||||
.month .choose {
|
||||
float: right;
|
||||
line-height: 57px;
|
||||
padding-right: 30px;
|
||||
color: #676767
|
||||
}
|
||||
.month .choose span {
|
||||
background: #fff;
|
||||
padding: 5px 10px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
/* upload */
|
||||
.file {
|
||||
display: flex;
|
||||
width: 60px;
|
||||
height: 33px;
|
||||
overflow: hidden;
|
||||
border: 1px solid #ccc;
|
||||
width: 20%;
|
||||
margin-top: -4px;
|
||||
border-radius: 7px;
|
||||
position: relative;
|
||||
}
|
||||
.file .defaulttext {
|
||||
position: absolute;
|
||||
top: 5px;
|
||||
left: 10px;
|
||||
color: #bdbdbd;
|
||||
}
|
||||
.file input {
|
||||
width: 100%;
|
||||
height: 40px;
|
||||
position: relative;
|
||||
top: -10px;
|
||||
font-size: 0;
|
||||
opacity: 0;
|
||||
cursor: pointer;
|
||||
}
|
||||
.el-card__body #span {
|
||||
font-size: 14px;
|
||||
padding-left: 20px;
|
||||
color: #555;
|
||||
margin-top: 10px;
|
||||
display: block;
|
||||
width: 20%;
|
||||
}
|
@ -0,0 +1,55 @@
|
||||
package com.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
|
||||
@TableName("user")
|
||||
public class user {
|
||||
@TableId(type= IdType.AUTO)
|
||||
private int id;
|
||||
@TableField("username")
|
||||
private String username;
|
||||
|
||||
public int getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(int id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public String getUsername() {
|
||||
return username;
|
||||
}
|
||||
|
||||
public void setUsername(String username) {
|
||||
this.username = username;
|
||||
}
|
||||
|
||||
public String getPassword() {
|
||||
return password;
|
||||
}
|
||||
|
||||
public void setPassword(String password) {
|
||||
this.password = password;
|
||||
}
|
||||
|
||||
public int getType() {
|
||||
return type;
|
||||
}
|
||||
|
||||
public void setType(int type) {
|
||||
this.type = type;
|
||||
}
|
||||
|
||||
@TableField("password")
|
||||
private String password;
|
||||
|
||||
|
||||
|
||||
@TableField("type")
|
||||
private int type;
|
||||
|
||||
}
|
@ -0,0 +1,9 @@
|
||||
package com.dao;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.domain.user;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
@Repository
|
||||
public interface UserDao extends BaseMapper<user> {
|
||||
}
|
@ -0,0 +1,16 @@
|
||||
package com;
|
||||
|
||||
import org.mybatis.spring.annotation.MapperScan;
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
|
||||
|
||||
@SpringBootApplication
|
||||
@MapperScan(basePackages ="com.dao")
|
||||
public class exerciesManageApplication {
|
||||
|
||||
public static void main(String[] args) {
|
||||
SpringApplication.run(exerciesManageApplication.class, args);
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,9 @@
|
||||
package com.dao;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.domain.fenduan;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
@Repository
|
||||
public interface fenduanDao extends BaseMapper<fenduan> {
|
||||
}
|
@ -0,0 +1,14 @@
|
||||
package com.service;
|
||||
|
||||
import com.domain.fenduan;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface fenduanService {
|
||||
|
||||
public int insert(fenduan fenduan);
|
||||
public int delete(int id);
|
||||
public int edit(fenduan fenduan);
|
||||
public fenduan findById(int id);
|
||||
public List<fenduan> selectAll();
|
||||
}
|
@ -0,0 +1,9 @@
|
||||
package com.dao;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.domain.liaotian;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
@Repository
|
||||
public interface liaotianDao extends BaseMapper<liaotian> {
|
||||
}
|
@ -0,0 +1,9 @@
|
||||
package com.service;
|
||||
|
||||
import com.domain.liaotian;
|
||||
|
||||
public interface liaotianService {
|
||||
public int insert(liaotian liaotian);
|
||||
|
||||
public String select(liaotian liaotian);
|
||||
}
|
@ -0,0 +1,195 @@
|
||||
.bg-primary {
|
||||
background-color: #3DC7BE !important;
|
||||
}
|
||||
.text-primary {
|
||||
color: #3DC7BE !important;
|
||||
}
|
||||
a {
|
||||
color: #3DC7BE;
|
||||
}
|
||||
a:hover {
|
||||
color: #c9253d;
|
||||
}
|
||||
.btn-primary {
|
||||
background-color: #3DC7BE;
|
||||
border-color: transparent !important;
|
||||
}
|
||||
.btn-primary:focus,
|
||||
.btn-primary:focus:active,
|
||||
.btn-primary:active,
|
||||
.btn-primary:hover {
|
||||
background-color: #c9253d !important;
|
||||
}
|
||||
.btn-primary.disabled, .btn-primary:disabled {
|
||||
background-color: #3DC7BE;
|
||||
border-color: #3DC7BE;
|
||||
}
|
||||
.btn-outline-primary {
|
||||
color: #3DC7BE;
|
||||
background-color: transparent;
|
||||
background-image: none;
|
||||
border-color: #3DC7BE;
|
||||
}
|
||||
|
||||
.btn-outline-primary:hover {
|
||||
color: #fff;
|
||||
background-color: #3DC7BE;
|
||||
border-color: #3DC7BE;
|
||||
}
|
||||
.btn-outline-primary.disabled, .btn-outline-primary:disabled {
|
||||
color: #3DC7BE;
|
||||
background-color: transparent;
|
||||
}
|
||||
.btn-outline-primary:not([disabled]):not(.disabled):active, .btn-outline-primary:not([disabled]):not(.disabled).active,
|
||||
.show > .btn-outline-primary.dropdown-toggle {
|
||||
color: #fff;
|
||||
background-color: #3DC7BE;
|
||||
border-color: #3DC7BE;
|
||||
}
|
||||
.btn-link {
|
||||
font-weight: 400;
|
||||
color: #3DC7BE;
|
||||
background-color: transparent;
|
||||
}
|
||||
.btn-link:hover {
|
||||
color: #c9253d;
|
||||
}
|
||||
.dropdown-item.active, .dropdown-item:active {
|
||||
color: #fff;
|
||||
background-color: #3DC7BE;
|
||||
}
|
||||
.custom-control-input:checked ~ .custom-control-label::before {
|
||||
color: #fff;
|
||||
background-color: #3DC7BE;
|
||||
}
|
||||
.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before {
|
||||
background-color: #3DC7BE;
|
||||
}
|
||||
.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {
|
||||
background-color: #3DC7BE;
|
||||
}
|
||||
.custom-radio .custom-control-input:checked ~ .custom-control-label::before {
|
||||
background-color: #3DC7BE;
|
||||
}
|
||||
.nav-pills .nav-link.active,
|
||||
.nav-pills .show > .nav-link {
|
||||
color: #fff;
|
||||
background-color: #3DC7BE;
|
||||
}
|
||||
.page-link {
|
||||
color: #3DC7BE;
|
||||
background-color: #fff;
|
||||
border: 1px solid #ededed;
|
||||
}
|
||||
.page-item.active .page-link {
|
||||
color: #fff;
|
||||
background-color: #3DC7BE;
|
||||
border-color: #3DC7BE;
|
||||
}
|
||||
.page-link:focus, .page-link:hover {
|
||||
color: #c9253d;
|
||||
}
|
||||
|
||||
.badge-primary {
|
||||
color: #fff;
|
||||
background-color: #3DC7BE;
|
||||
}
|
||||
.progress-bar {
|
||||
color: #fff;
|
||||
background-color: #3DC7BE;
|
||||
}
|
||||
.list-group-item.active {
|
||||
color: #fff;
|
||||
background-color: #3DC7BE;
|
||||
border-color: #3DC7BE;
|
||||
}
|
||||
.bg-primary {
|
||||
background-color: #3DC7BE !important;
|
||||
}
|
||||
.border-primary {
|
||||
border-color: #3DC7BE !important;
|
||||
}
|
||||
.text-primary {
|
||||
color: #3DC7BE !important;
|
||||
}
|
||||
|
||||
.navbar.active {
|
||||
background-color: #3DC7BE;
|
||||
}
|
||||
.navbar-bg {
|
||||
background-color: #3DC7BE;
|
||||
}
|
||||
.form-control:focus {
|
||||
border-color: #3DC7BE;
|
||||
}
|
||||
.main-sidebar .sidebar-menu li.active a {
|
||||
background-color: #f9f9f9;
|
||||
color: #3DC7BE;
|
||||
}
|
||||
.main-sidebar .sidebar-menu li ul.menu-dropdown li a:hover {
|
||||
color: #3DC7BE;
|
||||
}
|
||||
|
||||
.main-sidebar .sidebar-menu li ul.menu-dropdown li.active a {
|
||||
color: #3DC7BE;
|
||||
}
|
||||
.alert.alert-primary {
|
||||
background-color: #3DC7BE;
|
||||
}
|
||||
.card.card-primary {
|
||||
border-top: 2px solid #3DC7BE;
|
||||
}
|
||||
.fc button.fc-state-active {
|
||||
background-color: #3DC7BE;
|
||||
color: #fff;
|
||||
}
|
||||
.jqvmap-circle {
|
||||
background-color: #3DC7BE;
|
||||
border: 1px solid #000;
|
||||
}
|
||||
.weather ul li {
|
||||
border: 2px solid #3DC7BE;
|
||||
color: #3DC7BE;
|
||||
}
|
||||
.card-chat .chat-content .chat-item.chat-right .chat-details .chat-text {
|
||||
background-color: #3DC7BE;
|
||||
color: #fff;
|
||||
}
|
||||
.nav-tabs .nav-item .nav-link {
|
||||
color: #3DC7BE;
|
||||
}
|
||||
.nav-pills .nav-item .nav-link {
|
||||
color: #3DC7BE;
|
||||
}
|
||||
.swal-button.swal-button--confirm {
|
||||
background-color: #3DC7BE;
|
||||
}
|
||||
.page-item .page-link {
|
||||
color: #3DC7BE;
|
||||
}
|
||||
.page-item.active .page-link {
|
||||
background-color: #3DC7BE;
|
||||
border-color: #3DC7BE;
|
||||
}
|
||||
.btn-group .btn.active {
|
||||
background-color: #3DC7BE;
|
||||
color: #fff;
|
||||
}
|
||||
.media .media-right {
|
||||
color: #3DC7BE;
|
||||
}
|
||||
.selectric-items li.selected,
|
||||
.selectric-items li.highlighted {
|
||||
background-color: #3DC7BE;
|
||||
color: #fff;
|
||||
}
|
||||
.dropzone {
|
||||
border: 2px dashed #3DC7BE;
|
||||
}
|
||||
.accordion .accordion-header[aria-expanded="true"] {
|
||||
background-color: #3DC7BE;
|
||||
color: #fff;
|
||||
}
|
||||
.bootstrap-tagsinput .tag {
|
||||
background-color: #3DC7BE;
|
||||
}
|
@ -0,0 +1,147 @@
|
||||
html,body {
|
||||
/* overflow-y: scroll; */
|
||||
margin: 0;
|
||||
}
|
||||
.login-container .input{
|
||||
display: inline-block;
|
||||
height: 47px;
|
||||
width: 85%;
|
||||
|
||||
}
|
||||
.login-container .input input {
|
||||
background: transparent;
|
||||
border: 0px;
|
||||
-webkit-appearance: none;
|
||||
border-radius: 0px;
|
||||
padding: 12px 5px 12px 0;
|
||||
height: 47px;
|
||||
}
|
||||
.login-container .el-form-item {
|
||||
border: 1px solid #DCDFE6;
|
||||
background: #fff;
|
||||
border-radius: 5px;
|
||||
color: #454545;
|
||||
}
|
||||
.login-container .el-button--medium{
|
||||
height: 50px;
|
||||
line-height: 20px;
|
||||
font-size: 22px;
|
||||
}
|
||||
.login-container .loginBox{
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
background: url('./../img/logingBg.png') no-repeat 100% 100%;
|
||||
position: relative;
|
||||
}
|
||||
.login-container .loginBox .el-form-item__content{
|
||||
line-height: initial;
|
||||
}
|
||||
.login-container form {
|
||||
position: absolute;
|
||||
left: 20%;
|
||||
top: 50%;
|
||||
width: 520px;
|
||||
padding: 35px 35px 15px 35px;
|
||||
margin: -200px 0 0 0;
|
||||
background:#f5f5f5;
|
||||
}
|
||||
.login-container .tips {
|
||||
font-size: 14px;
|
||||
/* // color: #fff; */
|
||||
margin-bottom: 10px;
|
||||
/* span {
|
||||
&:first-of-type {
|
||||
margin-right: 16px;
|
||||
}
|
||||
} */
|
||||
}
|
||||
.login-container .svg-container {
|
||||
padding: 6px 5px 6px 15px;
|
||||
color: #889aa4;
|
||||
vertical-align: middle;
|
||||
width: 30px;
|
||||
display: inline-block;
|
||||
/* &_login {
|
||||
font-size: 20px;
|
||||
} */
|
||||
}
|
||||
.login-container .title-container {
|
||||
position: relative;
|
||||
|
||||
|
||||
}
|
||||
.login-container .title-container .title {
|
||||
font-size: 26px;
|
||||
/* // font-weight: 400; */
|
||||
color: #333;
|
||||
margin: 0px auto 40px auto;
|
||||
text-align: center;
|
||||
font-weight: bold;
|
||||
}
|
||||
.login-container .title-container .set-language {
|
||||
/* // color: #fff; */
|
||||
position: absolute;
|
||||
top: 5px;
|
||||
right: 0px;
|
||||
}
|
||||
.login-container {
|
||||
position: fixed;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
background-color: #2d3a4b;
|
||||
background: url('./../img/bg.jpg');
|
||||
-moz-background-size: 100% 100%;
|
||||
background-size: 100% 100%;
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
.login-container .show-pwd {
|
||||
position: absolute;
|
||||
right: 10px;
|
||||
top: 7px;
|
||||
font-size: 16px;
|
||||
color: #889aa4;
|
||||
cursor: pointer;
|
||||
user-select: none;
|
||||
}
|
||||
.login-container .thirdparty-button {
|
||||
position: absolute;
|
||||
right: 35px;
|
||||
bottom: 28px;
|
||||
}
|
||||
.logoInfo{
|
||||
padding-bottom:35px;
|
||||
text-align: center;
|
||||
}
|
||||
.logoInfo span{
|
||||
font-size: 22px;
|
||||
padding: 0 10px;
|
||||
display: inline-block;
|
||||
|
||||
}
|
||||
.logoInfo .logo{
|
||||
background: url(../img/loginLogo.png) no-repeat;
|
||||
display:inline-block;
|
||||
width: 200px;
|
||||
height: 30px;
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
}
|
||||
.tipInfo{font-size: 12px;}
|
||||
.tipInfo span{
|
||||
color: #66b1ff;
|
||||
padding: 0 5px;
|
||||
}
|
||||
.tipInfo .el-checkbox{
|
||||
margin: 0;
|
||||
}
|
||||
.svg-container span{
|
||||
width: 22px;
|
||||
height: 22px;
|
||||
display: inline-block;
|
||||
}
|
||||
.svg-container .user{
|
||||
background: url(../img/user.png) no-repeat 0 50%;
|
||||
}
|
||||
.svg-container .username{
|
||||
background: url(../img/pwd.png) no-repeat 0 50%;
|
||||
}
|
@ -0,0 +1,9 @@
|
||||
package com.dao;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.domain.mokuai;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
@Repository
|
||||
public interface mokuaiDao extends BaseMapper<mokuai> {
|
||||
}
|
@ -0,0 +1,12 @@
|
||||
package com.service;
|
||||
|
||||
import com.domain.mokuai;
|
||||
import com.untils.PageResult;
|
||||
|
||||
public interface mokuaiService {
|
||||
public PageResult SelectPage(mokuai mokuai, int size, int current);
|
||||
public int insert(mokuai mokuai);
|
||||
public int delete(int id);
|
||||
public int edit(mokuai mokuai);
|
||||
public mokuai findById(int id);
|
||||
}
|
@ -0,0 +1,9 @@
|
||||
package com.dao;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.domain.timu;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
@Repository
|
||||
public interface timuDao extends BaseMapper<timu> {
|
||||
}
|
@ -0,0 +1,15 @@
|
||||
package com.service;
|
||||
|
||||
import com.domain.timu;
|
||||
import com.untils.PageResult;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface timuService {
|
||||
public PageResult SelectPage(timu timu, int size, int current);
|
||||
public int insert(timu timu);
|
||||
public int delete(int id);
|
||||
public int edit(timu timu);
|
||||
public timu findById(int id);
|
||||
public List<timu> selectAll();
|
||||
}
|
@ -0,0 +1,22 @@
|
||||
package com.service;
|
||||
|
||||
import com.domain.user;
|
||||
import com.untils.PageResult;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface userService {
|
||||
public PageResult SelectPage(user user, int size, int current);
|
||||
public PageResult SelectPageStudent(user user, int size, int current);
|
||||
public int insert(user user);
|
||||
public int delete(int id);
|
||||
public int edit(user user);
|
||||
public user findById(int id);
|
||||
public user login(user user);
|
||||
public user selectByUserName(String username);
|
||||
public List<user> selectAllByStudent();
|
||||
|
||||
public List<user> selectAll();
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,9 @@
|
||||
package com.dao;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.domain.ut;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
@Repository
|
||||
public interface utDao extends BaseMapper<ut> {
|
||||
}
|
@ -0,0 +1,27 @@
|
||||
package com.service;
|
||||
|
||||
import com.domain.all;
|
||||
import com.domain.allm;
|
||||
import com.domain.ut;
|
||||
import com.untils.PageResult;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface utService {
|
||||
public PageResult SelectPage(ut ut, int size, int current);
|
||||
public int insert(ut ut);
|
||||
public int delete(int id);
|
||||
public int edit(ut ut);
|
||||
public ut findById(int id);
|
||||
|
||||
public all selectAll(int userId);
|
||||
|
||||
public List<allm> selectAllm(int userId);
|
||||
public List<all> selectAll1();
|
||||
//
|
||||
public List<ut> selectDetails(int userId, int mokuaiId);
|
||||
//
|
||||
public List<all> pipei(int userId);
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,46 @@
|
||||
.navbar.active {
|
||||
background-color: #fff;
|
||||
}
|
||||
.navbar-bg {
|
||||
background-color: #fff;
|
||||
}
|
||||
.navbar .nav-link {
|
||||
color: #2C2E3E;
|
||||
}
|
||||
.navbar .nav-link:hover {
|
||||
color: #3f4257;
|
||||
}
|
||||
.navbar .form-inline .form-control {
|
||||
background-color: #f2f2f2;
|
||||
}
|
||||
.navbar .form-inline .btn {
|
||||
background-color: #f2f2f2;
|
||||
}
|
||||
.main-sidebar {
|
||||
background-color: #212330;
|
||||
}
|
||||
.main-sidebar .sidebar-brand {
|
||||
background-color: #1f202e;
|
||||
}
|
||||
.main-sidebar .sidebar-brand a {
|
||||
color: #fff;
|
||||
}
|
||||
.main-sidebar .sidebar-menu li.active a {
|
||||
background-color: #1f202e;
|
||||
color: #fff;
|
||||
}
|
||||
.main-sidebar .sidebar-menu li ul.menu-dropdown li a {
|
||||
color: #868e96;
|
||||
}
|
||||
.main-sidebar .sidebar-menu li ul.menu-dropdown li.active a {
|
||||
color: #fff;
|
||||
}
|
||||
.main-sidebar .sidebar-menu li a:hover {
|
||||
background-color: #1f202e;
|
||||
}
|
||||
.main-sidebar .sidebar-menu li.menu-header {
|
||||
color: #3f4257;
|
||||
}
|
||||
.main-sidebar .sidebar-user .sidebar-user-details .user-name {
|
||||
color: #ededed;
|
||||
}
|
@ -0,0 +1,195 @@
|
||||
.bg-primary {
|
||||
background-color: #39065A !important;
|
||||
}
|
||||
.text-primary {
|
||||
color: #39065A !important;
|
||||
}
|
||||
a {
|
||||
color: #39065A;
|
||||
}
|
||||
a:hover {
|
||||
color: #c9253d;
|
||||
}
|
||||
.btn-primary {
|
||||
background-color: #39065A;
|
||||
border-color: transparent !important;
|
||||
}
|
||||
.btn-primary:focus,
|
||||
.btn-primary:focus:active,
|
||||
.btn-primary:active,
|
||||
.btn-primary:hover {
|
||||
background-color: #c9253d !important;
|
||||
}
|
||||
.btn-primary.disabled, .btn-primary:disabled {
|
||||
background-color: #39065A;
|
||||
border-color: #39065A;
|
||||
}
|
||||
.btn-outline-primary {
|
||||
color: #39065A;
|
||||
background-color: transparent;
|
||||
background-image: none;
|
||||
border-color: #39065A;
|
||||
}
|
||||
|
||||
.btn-outline-primary:hover {
|
||||
color: #fff;
|
||||
background-color: #39065A;
|
||||
border-color: #39065A;
|
||||
}
|
||||
.btn-outline-primary.disabled, .btn-outline-primary:disabled {
|
||||
color: #39065A;
|
||||
background-color: transparent;
|
||||
}
|
||||
.btn-outline-primary:not([disabled]):not(.disabled):active, .btn-outline-primary:not([disabled]):not(.disabled).active,
|
||||
.show > .btn-outline-primary.dropdown-toggle {
|
||||
color: #fff;
|
||||
background-color: #39065A;
|
||||
border-color: #39065A;
|
||||
}
|
||||
.btn-link {
|
||||
font-weight: 400;
|
||||
color: #39065A;
|
||||
background-color: transparent;
|
||||
}
|
||||
.btn-link:hover {
|
||||
color: #c9253d;
|
||||
}
|
||||
.dropdown-item.active, .dropdown-item:active {
|
||||
color: #fff;
|
||||
background-color: #39065A;
|
||||
}
|
||||
.custom-control-input:checked ~ .custom-control-label::before {
|
||||
color: #fff;
|
||||
background-color: #39065A;
|
||||
}
|
||||
.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before {
|
||||
background-color: #39065A;
|
||||
}
|
||||
.custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {
|
||||
background-color: #39065A;
|
||||
}
|
||||
.custom-radio .custom-control-input:checked ~ .custom-control-label::before {
|
||||
background-color: #39065A;
|
||||
}
|
||||
.nav-pills .nav-link.active,
|
||||
.nav-pills .show > .nav-link {
|
||||
color: #fff;
|
||||
background-color: #39065A;
|
||||
}
|
||||
.page-link {
|
||||
color: #39065A;
|
||||
background-color: #fff;
|
||||
border: 1px solid #ededed;
|
||||
}
|
||||
.page-item.active .page-link {
|
||||
color: #fff;
|
||||
background-color: #39065A;
|
||||
border-color: #39065A;
|
||||
}
|
||||
.page-link:focus, .page-link:hover {
|
||||
color: #c9253d;
|
||||
}
|
||||
|
||||
.badge-primary {
|
||||
color: #fff;
|
||||
background-color: #39065A;
|
||||
}
|
||||
.progress-bar {
|
||||
color: #fff;
|
||||
background-color: #39065A;
|
||||
}
|
||||
.list-group-item.active {
|
||||
color: #fff;
|
||||
background-color: #39065A;
|
||||
border-color: #39065A;
|
||||
}
|
||||
.bg-primary {
|
||||
background-color: #39065A !important;
|
||||
}
|
||||
.border-primary {
|
||||
border-color: #39065A !important;
|
||||
}
|
||||
.text-primary {
|
||||
color: #39065A !important;
|
||||
}
|
||||
|
||||
.navbar.active {
|
||||
background-color: #39065A;
|
||||
}
|
||||
.navbar-bg {
|
||||
background-color: #39065A;
|
||||
}
|
||||
.form-control:focus {
|
||||
border-color: #39065A;
|
||||
}
|
||||
.main-sidebar .sidebar-menu li.active a {
|
||||
background-color: #f9f9f9;
|
||||
color: #39065A;
|
||||
}
|
||||
.main-sidebar .sidebar-menu li ul.menu-dropdown li a:hover {
|
||||
color: #39065A;
|
||||
}
|
||||
|
||||
.main-sidebar .sidebar-menu li ul.menu-dropdown li.active a {
|
||||
color: #39065A;
|
||||
}
|
||||
.alert.alert-primary {
|
||||
background-color: #39065A;
|
||||
}
|
||||
.card.card-primary {
|
||||
border-top: 2px solid #39065A;
|
||||
}
|
||||
.fc button.fc-state-active {
|
||||
background-color: #39065A;
|
||||
color: #fff;
|
||||
}
|
||||
.jqvmap-circle {
|
||||
background-color: #39065A;
|
||||
border: 1px solid #000;
|
||||
}
|
||||
.weather ul li {
|
||||
border: 2px solid #39065A;
|
||||
color: #39065A;
|
||||
}
|
||||
.card-chat .chat-content .chat-item.chat-right .chat-details .chat-text {
|
||||
background-color: #39065A;
|
||||
color: #fff;
|
||||
}
|
||||
.nav-tabs .nav-item .nav-link {
|
||||
color: #39065A;
|
||||
}
|
||||
.nav-pills .nav-item .nav-link {
|
||||
color: #39065A;
|
||||
}
|
||||
.swal-button.swal-button--confirm {
|
||||
background-color: #39065A;
|
||||
}
|
||||
.page-item .page-link {
|
||||
color: #39065A;
|
||||
}
|
||||
.page-item.active .page-link {
|
||||
background-color: #39065A;
|
||||
border-color: #39065A;
|
||||
}
|
||||
.btn-group .btn.active {
|
||||
background-color: #39065A;
|
||||
color: #fff;
|
||||
}
|
||||
.media .media-right {
|
||||
color: #39065A;
|
||||
}
|
||||
.selectric-items li.selected,
|
||||
.selectric-items li.highlighted {
|
||||
background-color: #39065A;
|
||||
color: #fff;
|
||||
}
|
||||
.dropzone {
|
||||
border: 2px dashed #39065A;
|
||||
}
|
||||
.accordion .accordion-header[aria-expanded="true"] {
|
||||
background-color: #39065A;
|
||||
color: #fff;
|
||||
}
|
||||
.bootstrap-tagsinput .tag {
|
||||
background-color: #39065A;
|
||||
}
|
@ -0,0 +1,96 @@
|
||||
.demo-settings {
|
||||
position: fixed;
|
||||
bottom: 20px;
|
||||
right: 20px;
|
||||
z-index: 2002;
|
||||
}
|
||||
.demo-settings .demo-settings-toggle {
|
||||
transition: all .5s;
|
||||
-webkit-transition: all .5s;
|
||||
-o-transition: all .5s;
|
||||
-moz-transition: all .5s;
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
border-radius: 50%;
|
||||
-webkit-border-radius: 50%;
|
||||
-moz-border-radius: 50%;
|
||||
-ms-border-radius: 50%;
|
||||
-o-border-radius: 50%;
|
||||
background-color: #F73F52;
|
||||
color: #fff;
|
||||
box-shadow: 0 10px 30px rgba(0, 0, 0, .2);
|
||||
text-align: center;
|
||||
line-height: 60px;
|
||||
cursor: pointer;
|
||||
}
|
||||
.demo-settings .demo-settings-toggle i {
|
||||
font-size: 24px;
|
||||
}
|
||||
.demo-settings .demo-settings-options {
|
||||
transition: all .5s;
|
||||
-webkit-transition: all .5s;
|
||||
-o-transition: all .5s;
|
||||
-moz-transition: all .5s;
|
||||
transition-delay: .3s;
|
||||
-webkit-transition-delay: .3s;
|
||||
-o-transition-delay: .3s;
|
||||
-moz-transition-delay: .3s;
|
||||
z-index: -1;
|
||||
position: absolute;
|
||||
left: -170px;
|
||||
top: 0;
|
||||
height: 50px;
|
||||
width: 50px;
|
||||
background-color: #fff;
|
||||
box-shadow: 0 0 40px rgba(0, 0, 0, 0.05);
|
||||
border-radius: 30px;
|
||||
visibility: hidden;
|
||||
opacity: 0;
|
||||
}
|
||||
.demo-settings .demo-settings-options ul {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
width: 100%;
|
||||
display: inline-block;
|
||||
margin-left: 20px;
|
||||
}
|
||||
.demo-settings .demo-settings-options ul li {
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
background-color: #000;
|
||||
margin-right: 10px;
|
||||
margin-top: 15px;
|
||||
border-radius: 3px;
|
||||
display: inline-block;
|
||||
cursor: pointer;
|
||||
opacity: 0;
|
||||
transition: all .5s;
|
||||
-webkit-transition: all .5s;
|
||||
-o-transition: all .5s;
|
||||
-moz-transition: all .5s;
|
||||
}
|
||||
.demo-settings .demo-settings-options ul li:hover {
|
||||
opacity: .8;
|
||||
}
|
||||
.demo-settings.active .demo-settings-toggle {
|
||||
margin: 5px;
|
||||
box-shadow: none;
|
||||
line-height: 50px;
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
transform: rotate(90deg);
|
||||
}
|
||||
.demo-settings.active .demo-settings-options {
|
||||
visibility: visible;
|
||||
opacity: 1;
|
||||
width: 220px;
|
||||
}
|
||||
.demo-settings.active .demo-settings-options ul li {
|
||||
opacity: 1;
|
||||
transition-delay: .3s;
|
||||
-webkit-transition-delay: .3s;
|
||||
-moz-transition-delay: .3s;
|
||||
-o-transition-delay: .3s;
|
||||
}
|
||||
|
||||
/*# sourceMappingURL=demo.css.map */
|
@ -0,0 +1,142 @@
|
||||
package com.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
|
||||
@TableName("ut")
|
||||
public class ut {
|
||||
@TableId(type= IdType.AUTO)
|
||||
private int id;
|
||||
@TableField("userId")
|
||||
private int userId;
|
||||
|
||||
public int getUserId() {
|
||||
return userId;
|
||||
}
|
||||
|
||||
public void setUserId(int userId) {
|
||||
this.userId = userId;
|
||||
}
|
||||
|
||||
public String getDa() {
|
||||
return da;
|
||||
}
|
||||
|
||||
public void setDa(String da) {
|
||||
this.da = da;
|
||||
}
|
||||
|
||||
@TableField("xuhao")
|
||||
private int xuhao;
|
||||
@TableField("them")
|
||||
private String them;
|
||||
|
||||
public int getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(int id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public int getXuhao() {
|
||||
return xuhao;
|
||||
}
|
||||
|
||||
public void setXuhao(int xuhao) {
|
||||
this.xuhao = xuhao;
|
||||
}
|
||||
|
||||
public String getThem() {
|
||||
return them;
|
||||
}
|
||||
|
||||
public void setThem(String them) {
|
||||
this.them = them;
|
||||
}
|
||||
|
||||
public String getOne() {
|
||||
return one;
|
||||
}
|
||||
|
||||
public void setOne(String one) {
|
||||
this.one = one;
|
||||
}
|
||||
|
||||
public String getTwo() {
|
||||
return two;
|
||||
}
|
||||
|
||||
public void setTwo(String two) {
|
||||
this.two = two;
|
||||
}
|
||||
|
||||
public String getThree() {
|
||||
return three;
|
||||
}
|
||||
|
||||
public void setThree(String three) {
|
||||
this.three = three;
|
||||
}
|
||||
|
||||
public String getFour() {
|
||||
return four;
|
||||
}
|
||||
|
||||
public void setFour(String four) {
|
||||
this.four = four;
|
||||
}
|
||||
|
||||
public String getOk() {
|
||||
return ok;
|
||||
}
|
||||
|
||||
public void setOk(String ok) {
|
||||
this.ok = ok;
|
||||
}
|
||||
|
||||
@TableField("one")
|
||||
private String one;
|
||||
@TableField("two")
|
||||
private String two;
|
||||
|
||||
public double getFen() {
|
||||
return fen;
|
||||
}
|
||||
|
||||
public void setFen(double fen) {
|
||||
this.fen = fen;
|
||||
}
|
||||
|
||||
@TableField("three")
|
||||
private String three;
|
||||
|
||||
|
||||
@TableField("four")
|
||||
private String four;
|
||||
|
||||
|
||||
|
||||
@TableField("ok")
|
||||
private String ok;
|
||||
|
||||
public int getMokuaiId() {
|
||||
return mokuaiId;
|
||||
}
|
||||
|
||||
public void setMokuaiId(int mokuaiId) {
|
||||
this.mokuaiId = mokuaiId;
|
||||
}
|
||||
|
||||
@TableField("da")
|
||||
private String da;
|
||||
@TableField("fen")
|
||||
private double fen;
|
||||
|
||||
|
||||
@TableField("mokuaiId")
|
||||
private int mokuaiId;
|
||||
|
||||
}
|
@ -0,0 +1,48 @@
|
||||
package com.controller;
|
||||
|
||||
import com.domain.fenduan;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/fenduan")
|
||||
public class fenduanController {
|
||||
@Autowired
|
||||
public com.service.fenduanService fenduanService;
|
||||
|
||||
@PostMapping("/Save")
|
||||
public int Save(@RequestBody fenduan fenduan)
|
||||
{
|
||||
return fenduanService.insert(fenduan);
|
||||
|
||||
}
|
||||
@DeleteMapping("/Delete/{id}")
|
||||
public int Delete(@PathVariable Integer id)
|
||||
{
|
||||
|
||||
return fenduanService.delete(id);
|
||||
}
|
||||
|
||||
|
||||
@GetMapping("/findById/{id}")
|
||||
public fenduan findById(@PathVariable Integer id)
|
||||
{
|
||||
|
||||
return fenduanService.findById(id);
|
||||
}
|
||||
@PutMapping("/Update")
|
||||
public int Update(@RequestBody fenduan fenduan)
|
||||
{
|
||||
|
||||
return fenduanService.edit(fenduan);
|
||||
}
|
||||
|
||||
@GetMapping("/selectAll")
|
||||
public List<fenduan> selectAll()
|
||||
{
|
||||
|
||||
return fenduanService.selectAll();
|
||||
}
|
||||
}
|
@ -0,0 +1,31 @@
|
||||
package com.controller;
|
||||
|
||||
import com.domain.liaotian;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
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;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/liaotian")
|
||||
public class liaotianController {
|
||||
@Autowired
|
||||
public com.service.liaotianService liaotianService;
|
||||
@PostMapping("/Save")
|
||||
public int Save(@RequestBody liaotian liaotian)
|
||||
{
|
||||
int a=55;
|
||||
return liaotianService.insert(liaotian);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@PostMapping("/Select")
|
||||
public String Select(@RequestBody liaotian liaotian)
|
||||
{
|
||||
return liaotianService.select(liaotian);
|
||||
|
||||
}
|
||||
}
|
@ -0,0 +1,136 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no, shrink-to-fit=no" name="viewport">
|
||||
<title>登录</title>
|
||||
|
||||
<link rel="stylesheet" href="../dist/modules/bootstrap/css/bootstrap.min.css">
|
||||
<link rel="stylesheet" href="../dist/modules/ionicons/css/ionicons.min.css">
|
||||
<link rel="stylesheet" href="../dist/modules/fontawesome/web-fonts-with-css/css/fontawesome-all.min.css">
|
||||
|
||||
<link rel="stylesheet" href="../dist/css/demo.css">
|
||||
<link rel="stylesheet" href="../dist/css/style.css">
|
||||
<!-- 引入样式 -->
|
||||
<link rel="stylesheet" href="../plugins/elementui/index.css" type="text/css">
|
||||
<link rel="stylesheet" href="../plugins/font-awesome/css/font-awesome.min.css" type="text/css">
|
||||
<link rel="stylesheet" href="../css/style.css" type="text/css">
|
||||
|
||||
<!-- 引入组件库 -->
|
||||
<script src="../js/vue.js"></script>
|
||||
<script src="../plugins/elementui/index.js"></script>
|
||||
<script type="text/javascript" src="../js/jquery.min.js"></script>
|
||||
<script src="../js/axios-0.18.0.js"></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div id="app">
|
||||
<section class="section">
|
||||
<div class="container mt-5">
|
||||
<div class="row">
|
||||
<div class="col-12 col-sm-8 offset-sm-2 col-md-6 offset-md-3 col-lg-6 offset-lg-3 col-xl-4 offset-xl-4">
|
||||
<div class="login-brand">
|
||||
心理测评
|
||||
</div>
|
||||
|
||||
<div class="card card-primary">
|
||||
<div class="card-header"><h4>登录</h4></div>
|
||||
|
||||
<div class="card-body">
|
||||
<div class="needs-validation" novalidate="">
|
||||
<div class="form-group">
|
||||
<label for="name">账号</label>
|
||||
<input id="name" type="text" class="form-control" v-model="username" tabindex="1" required autofocus>
|
||||
<div class="invalid-feedback">
|
||||
Please fill in your email
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="password" class="d-block">密码
|
||||
|
||||
</label>
|
||||
<input id="password" type="password" class="form-control" v-model="password" tabindex="2" required>
|
||||
<div class="invalid-feedback">
|
||||
please fill in your password
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="form-group">
|
||||
<button class="btn btn-primary btn-block" tabindex="4" @click="add()">
|
||||
登录
|
||||
</button>
|
||||
<label for="password" class="d-block">
|
||||
<div class="float-right">
|
||||
<a href="regist.html">
|
||||
前往注册?
|
||||
</a>
|
||||
</div>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
<script>
|
||||
|
||||
|
||||
var vue = new Vue({
|
||||
el: '#app',
|
||||
data: {
|
||||
username:"",
|
||||
password:"",
|
||||
formData:{},
|
||||
rules: {//校验规则
|
||||
username: [{ required: true, message: '用户名为必填项', trigger: 'blur' }],
|
||||
password: [{ required: true, message: '密码为必填项', trigger: 'blur' }],
|
||||
idCard: [{ required: true, message: '身份证必填项', trigger: 'blur' }],
|
||||
},
|
||||
}
|
||||
,methods:{
|
||||
add()
|
||||
{
|
||||
if(this.username.trim()==""||this.password.trim()=="")
|
||||
{
|
||||
alert("请输入用户名和密码");
|
||||
return
|
||||
}
|
||||
$.ajax({
|
||||
url:"/login",
|
||||
type:"POST",
|
||||
async:false,
|
||||
dataType:"json",
|
||||
data:{
|
||||
username:this.username,
|
||||
password:this.password
|
||||
},
|
||||
success: function (res) {
|
||||
if(res=="登录成功")
|
||||
{
|
||||
window.location.href="main.html";
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
alert("用户名或者密码错误");
|
||||
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
</script>
|
@ -0,0 +1,21 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Document</title>
|
||||
<!--1.js文件 -->
|
||||
<script type="text/javascript" src="https://api.map.baidu.com/api?v=3.0&ak=R0U20dyNltV5fTgeMauQYOgNTt5Ux1hB"></script>
|
||||
</head>
|
||||
<body>
|
||||
<!--2.容器-->
|
||||
<div id="container" style="width:1200px;height:400px;"></div>
|
||||
|
||||
<!--3.插入地图显示-->
|
||||
<script>
|
||||
var map = new BMap.Map("container");
|
||||
var point = new BMap.Point(116.404, 39.915);
|
||||
map.centerAndZoom(point, 15);
|
||||
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,50 @@
|
||||
package com.controller;
|
||||
|
||||
import com.domain.mokuai;
|
||||
import com.untils.PageResult;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/mokuai")
|
||||
public class mokuaiController {
|
||||
@Autowired
|
||||
public com.service.mokuaiService mokuaiService;
|
||||
|
||||
@PostMapping("/Save")
|
||||
public int Save(@RequestBody mokuai mokuai)
|
||||
{
|
||||
return mokuaiService.insert(mokuai);
|
||||
|
||||
}
|
||||
@DeleteMapping("/Delete/{id}")
|
||||
public int Delete(@PathVariable Integer id)
|
||||
{
|
||||
|
||||
return mokuaiService.delete(id);
|
||||
}
|
||||
|
||||
|
||||
@GetMapping("/SelectPage/{size}/{current}")
|
||||
public PageResult selectPage(@PathVariable Integer size, @PathVariable Integer current, mokuai mokuai)
|
||||
{
|
||||
return mokuaiService.SelectPage(mokuai,size,current);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@GetMapping("/findById/{id}")
|
||||
public mokuai findById(@PathVariable Integer id)
|
||||
{
|
||||
|
||||
return mokuaiService.findById(id);
|
||||
}
|
||||
@PutMapping("/Update")
|
||||
public int Update(@RequestBody mokuai mokuai)
|
||||
{
|
||||
|
||||
return mokuaiService.edit(mokuai);
|
||||
}
|
||||
}
|
@ -0,0 +1,582 @@
|
||||
html,body {
|
||||
/* overflow-y: scroll; */
|
||||
margin: 0;
|
||||
}
|
||||
a {
|
||||
color: #3c8dbc;
|
||||
text-decoration:none;
|
||||
}
|
||||
/* new style */
|
||||
.skin-purple .main-sidebar {
|
||||
background: #fff;
|
||||
}
|
||||
.skin-purple .main-header .logo:hover {
|
||||
background: #0abdfe;
|
||||
}
|
||||
.skin-purple .main-header .navbar .sidebar-toggle:hover {
|
||||
/* background: #0abdfe; */
|
||||
}
|
||||
.skin-purple .main-header {
|
||||
min-height: 70px;
|
||||
padding: 0;
|
||||
}
|
||||
.skin-purple .main-header .logo {
|
||||
height: 50px;
|
||||
/* background: #0abdfe; */
|
||||
float: left;
|
||||
padding: 20px 0 0 15px;
|
||||
/* width: 230px; */
|
||||
}
|
||||
.skin-purple .main-header .navbar {
|
||||
height: 70px;
|
||||
background: linear-gradient(to right, #0abdfe, #67f0e0);
|
||||
/* margin-left: 230px; */
|
||||
}
|
||||
.winfo{margin-left: 230px;}
|
||||
.skin-purple .main-header .sidebar-toggle {
|
||||
display: inline-block;
|
||||
padding: 24px 15px;
|
||||
color: #fff;
|
||||
}
|
||||
.skin-purple .main-sidebar {
|
||||
padding-top: 75px;
|
||||
}
|
||||
.sidebar-menu > li {
|
||||
line-height: 1.8
|
||||
}
|
||||
.skin-purple .sidebar-menu > li > a {
|
||||
font-size: 16px;
|
||||
color: #666
|
||||
}
|
||||
.skin-purple .sidebar-menu>li:hover>a,
|
||||
.skin-purple .sidebar-menu>li.active>a {
|
||||
background: transparent;
|
||||
color: #666;
|
||||
border-left-color: transparent
|
||||
}
|
||||
.skin-purple .treeview-menu>li>a:hover {
|
||||
color: #fff
|
||||
}
|
||||
.skin-purple .sidebar-menu>li>.treeview-menu {
|
||||
background: #fff;
|
||||
}
|
||||
.sidebar-menu .treeview-menu > li > a {
|
||||
font-size: 16px;
|
||||
padding-left: 35px;
|
||||
color: #999
|
||||
}
|
||||
.sidebar-menu .treeview-menu > li:hover {
|
||||
background: #0abdfe;
|
||||
}
|
||||
@media (min-width: 768px) {
|
||||
.skin-purple .navbar-nav>li>a
|
||||
{
|
||||
padding-top: 25px;
|
||||
padding-bottom: 25px;
|
||||
}
|
||||
}
|
||||
.modal-body .nav-tabs>li.active>a, .nav-tabs>li.active>a:focus, .nav-tabs>li.active>a:hover {
|
||||
color: #0abdfe
|
||||
}
|
||||
.modal-body .nav-tabs>li>a {
|
||||
color: #555
|
||||
}
|
||||
.bg-olive {
|
||||
background-color: #0abdfe !important;
|
||||
}
|
||||
.dataTable .btn[class*='bg-']:hover {
|
||||
box-shadow: none
|
||||
}
|
||||
.btn-primary {
|
||||
background: #0abdfe;
|
||||
border-color: #0abdfe;
|
||||
}
|
||||
.box-body .nav>li>a {
|
||||
color: #666
|
||||
}
|
||||
.box-body .nav>li.active>a {
|
||||
color: #0abdfe;
|
||||
}
|
||||
|
||||
|
||||
/* tab 1*/
|
||||
.double {
|
||||
line-height: 58px;
|
||||
}
|
||||
.title .glyphicon{
|
||||
padding: 3px;
|
||||
font-size: 13px;
|
||||
border-radius: 8px;
|
||||
color: #fff;
|
||||
|
||||
}
|
||||
.data span.arrowup {
|
||||
color: #d88918;
|
||||
}
|
||||
.data span.arrowdown {
|
||||
color: #6bb10a;
|
||||
}
|
||||
.item-blue .glyphicon{
|
||||
background-color: #39a9ea;
|
||||
}
|
||||
.item-green {
|
||||
line-height: 58px;
|
||||
}
|
||||
.item-green .glyphicon{
|
||||
background-color: #6bb10a;
|
||||
line-height: 12px;
|
||||
}
|
||||
.item-orange .glyphicon{
|
||||
background-color:#d88918;
|
||||
}
|
||||
.item-red .glyphicon{
|
||||
background-color: #f14f4f;
|
||||
}
|
||||
.chart .chart-box {
|
||||
margin: 10px;
|
||||
}
|
||||
|
||||
/* 数据表格label */
|
||||
.content-wrapper .data-type {
|
||||
/*width: 90%;*/
|
||||
margin: 10px 5px;
|
||||
border:1px solid #d4d4d4;
|
||||
border-radius: 2px;
|
||||
}
|
||||
.data-type .title,
|
||||
.data-type .data {
|
||||
padding: 3px 12px;
|
||||
border-top: 1px solid #d4d4d4;
|
||||
overflow: hidden;
|
||||
height: 42px;
|
||||
}
|
||||
.data-type .title {
|
||||
line-height: 34px;
|
||||
border-right: 1px solid #d4d4d4;
|
||||
}
|
||||
|
||||
.data-type .data:last-child{
|
||||
border-right: 0;
|
||||
}
|
||||
.data-type .title{
|
||||
text-align: center;
|
||||
background: #ececec;
|
||||
}
|
||||
.data-type .data .line{
|
||||
vertical-align: middle;
|
||||
overflow: hidden;
|
||||
padding-bottom: 10px;
|
||||
padding-top: 10px;
|
||||
}
|
||||
|
||||
/* label行高度 */
|
||||
.data-type .data > label {
|
||||
line-height:36px;
|
||||
}
|
||||
.data-type .data > .form-group {
|
||||
line-height:36px;
|
||||
}
|
||||
.data-type .data.text {
|
||||
line-height:36px;
|
||||
}
|
||||
/* label行分隔符 */
|
||||
.data-type .data.border-right {
|
||||
border-right: 1px solid #d4d4d4;
|
||||
}
|
||||
|
||||
/* 表格双倍高度 */
|
||||
.data-type .title.rowHeight2x,
|
||||
.data-type .data.rowHeight2x {
|
||||
height:84px;
|
||||
}
|
||||
.data-type .title.rowHeight2x ,
|
||||
.data-type .data.rowHeight2x.text {
|
||||
line-height:78px;
|
||||
}
|
||||
/*.data-type .data.rowHeight2x > label {
|
||||
line-height:78px;
|
||||
}*/
|
||||
.data-type .title.editer,
|
||||
.data-type .data.editer {
|
||||
height:320px;
|
||||
}
|
||||
.data-type .title.editer {
|
||||
line-height:300px;
|
||||
}
|
||||
|
||||
/*清除parding*/
|
||||
.padding-clear {
|
||||
padding-right: 0px;
|
||||
padding-left: 0px;
|
||||
}
|
||||
|
||||
/* 文件上传 */
|
||||
/*a upload */
|
||||
.a-upload {
|
||||
padding: 4px 10px;
|
||||
height: 35px;
|
||||
line-height: 25px;
|
||||
position: relative;
|
||||
cursor: pointer;
|
||||
color: #888;
|
||||
background: #fafafa;
|
||||
border: 1px solid #ddd;
|
||||
border-radius: 4px;
|
||||
overflow: hidden;
|
||||
display: inline-block;
|
||||
*display: inline;
|
||||
*zoom: 1
|
||||
}
|
||||
.a-upload input {
|
||||
position: absolute;
|
||||
font-size: 100px;
|
||||
right: 0;
|
||||
top: 0;
|
||||
opacity: 0;
|
||||
filter: alpha(opacity=0);
|
||||
cursor: pointer
|
||||
}
|
||||
.a-upload:hover {
|
||||
color: #444;
|
||||
background: #eee;
|
||||
border-color: #ccc;
|
||||
text-decoration: none
|
||||
}
|
||||
/* 医疗 */
|
||||
.search-box {
|
||||
display: inline-block
|
||||
}
|
||||
.input-sm {
|
||||
height: 32px;
|
||||
}
|
||||
.btn-create {
|
||||
margin-left: 10px;
|
||||
background-color: #0abdfe;
|
||||
border-color: #0abdfe;
|
||||
color: #fff;
|
||||
}
|
||||
.btn-create:hover,
|
||||
.btn-create:active,
|
||||
.btn-create:focus
|
||||
{
|
||||
color: #fff;
|
||||
}
|
||||
.pagination {
|
||||
margin: 0
|
||||
}
|
||||
.medical-modal {
|
||||
position:absolute;
|
||||
top:0%;
|
||||
left:0%;
|
||||
display:none;
|
||||
background:rgba(0,0,0,0.3);
|
||||
width:100%;
|
||||
height:100%;
|
||||
position:fixed;
|
||||
z-index:9999
|
||||
}
|
||||
.medical-modal .content {
|
||||
position: absolute;
|
||||
left: 35%;
|
||||
top: 25%;
|
||||
border-radius: 8px;
|
||||
width: 30%;
|
||||
height: 40%;
|
||||
background-color: #fff;
|
||||
}
|
||||
.pageitems, .jump {
|
||||
margin-left: 15px;
|
||||
display: inline-block;
|
||||
}
|
||||
.jumppage {
|
||||
width: 30px;
|
||||
text-align: center
|
||||
}
|
||||
@media (min-width: 768px) {
|
||||
.subscribe .modal-dialog {
|
||||
width: 900px;
|
||||
margin: 30px auto;
|
||||
}
|
||||
}
|
||||
.checklist {
|
||||
margin-top: 10px;
|
||||
}
|
||||
.checklist .input-group {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.modal-page {
|
||||
margin-top: 20px;
|
||||
font-size: 12px;
|
||||
}
|
||||
.modal-page .form-control {
|
||||
font-size: 12px;
|
||||
padding: 0;
|
||||
height: 26px;
|
||||
}
|
||||
.table-check {
|
||||
margin: 0;
|
||||
display: inline-block;
|
||||
margin-right: 4px;
|
||||
}
|
||||
.daterange {
|
||||
margin:10px 10px 0;
|
||||
}
|
||||
.daterange .input-group .form-control {
|
||||
width: 20%;
|
||||
}
|
||||
.chart-title {
|
||||
font-size: 16px;
|
||||
font-weight: normal;
|
||||
text-align: center;
|
||||
}
|
||||
.diaocha {
|
||||
line-height: 2
|
||||
}
|
||||
.diaocha h5{
|
||||
color: #f98d45;
|
||||
background: #f5f7f9;
|
||||
line-height: 2;
|
||||
padding-left: 15px;
|
||||
}
|
||||
.diaocha div {
|
||||
padding: 0 20px;
|
||||
border-bottom: 1px solid #dce1e7;
|
||||
}
|
||||
.diaocha div h5 {
|
||||
color: #555;
|
||||
background: transparent;
|
||||
padding-left: 0;
|
||||
}
|
||||
.diaocha label {
|
||||
font-weight: normal;
|
||||
}
|
||||
.diaocha .form-group {
|
||||
margin-left: 0;
|
||||
margin-right: 0;
|
||||
}
|
||||
.diaocha .options label {
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
.tizhi button{
|
||||
margin-right: 15px;
|
||||
}
|
||||
.innerform {
|
||||
margin-top: 20px;
|
||||
}
|
||||
.fa-search {
|
||||
cursor: pointer
|
||||
}
|
||||
.line {
|
||||
margin-top: 10px;
|
||||
}
|
||||
input[type=radio]:focus {
|
||||
outline: none
|
||||
}
|
||||
input[type="radio"]{
|
||||
appearance: none;
|
||||
-webkit-appearance: none;
|
||||
outline: none;
|
||||
display:none
|
||||
}
|
||||
label input[type="radio"] {
|
||||
content: "\a0";
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
font-size: 16px;
|
||||
width: 15px;
|
||||
height: 15px;
|
||||
margin-right: .4em;
|
||||
border-radius: 50%;
|
||||
border: 1px solid #c7c6c6;
|
||||
line-height: 1;
|
||||
margin-top: -1px;
|
||||
}
|
||||
label input[type="radio"]:checked {
|
||||
border: 3px solid #0abdfe;
|
||||
}
|
||||
.right-menu {
|
||||
float: right;
|
||||
padding: 18px 30px 0 0;
|
||||
color: #fff;
|
||||
}
|
||||
.el-dropdown{color: #fff;}
|
||||
.avatar-wrapper img{width: 30px;height: 30px;border-radius: 15px;vertical-align: middle}
|
||||
.el-popper[x-placement^=bottom]{margin-top: 30px;}
|
||||
.el-dropdown-menu__item--divided{margin: 0;border:0 none;border-bottom: 1px solid #ebeef5}
|
||||
.help{
|
||||
padding: 0 10px;
|
||||
}
|
||||
.help .fa{ margin-right: 5px;}
|
||||
.el-main{
|
||||
background: #ecf0f5;
|
||||
}
|
||||
.el-menu{border: 0 none;}
|
||||
.main{
|
||||
height: 100vh;
|
||||
min-width: 800px;
|
||||
min-height: 600px;
|
||||
overflow: hidden;
|
||||
}
|
||||
.main aside{
|
||||
overflow: visible;
|
||||
height: 100%;
|
||||
}
|
||||
.main aside.isClossTab{
|
||||
width: 100%;
|
||||
height: 60px;
|
||||
cursor: pointer;
|
||||
font-size: 25px;
|
||||
text-align: center;
|
||||
line-height: 60px;
|
||||
font-weight: bold;
|
||||
border-right: 1px solid #807c7c;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
.main aside .menu{
|
||||
width: 100%;
|
||||
border-right:0;
|
||||
}
|
||||
.el-menu .fa{
|
||||
vertical-align: middle;
|
||||
margin-right: 5px;
|
||||
width: 24px;
|
||||
text-align: center;
|
||||
font-size: 18px;
|
||||
}
|
||||
.el-menu-item a{
|
||||
color: #303133
|
||||
}
|
||||
.el-menu-item:hover,.el-menu-item.is-active {
|
||||
color: #fff;
|
||||
background: #0abdfe;
|
||||
}
|
||||
.el-menu-item:hover a,.el-menu-item.is-active a{
|
||||
color: #fff;
|
||||
}
|
||||
.el-submenu__title:hover{background: none;}
|
||||
.main-footer {
|
||||
background: #fff;
|
||||
padding: 15px 0;
|
||||
color: #444;
|
||||
}
|
||||
/* title */
|
||||
.content-header {
|
||||
position: relative;
|
||||
padding: 15px 15px 0 15px;
|
||||
/* margin-top: 70px; */
|
||||
}
|
||||
.content-header > h1 {
|
||||
margin: 0;
|
||||
font-size: 24px;
|
||||
font-weight: normal;
|
||||
}
|
||||
.content-header > h1 > small {
|
||||
font-size: 15px;
|
||||
display: inline-block;
|
||||
padding-left: 4px;
|
||||
font-weight: 300;
|
||||
}
|
||||
.content-header > .breadcrumb {
|
||||
float: right;
|
||||
background: transparent;
|
||||
margin-top: 0;
|
||||
margin-bottom: 0;
|
||||
font-size: 12px;
|
||||
padding: 7px 5px;
|
||||
position: absolute;
|
||||
top: 20px;
|
||||
right: 10px;
|
||||
border-radius: 2px;
|
||||
}
|
||||
/* */
|
||||
.app-container{
|
||||
background: #fff;
|
||||
margin: 15px 30px 15px 15px;
|
||||
|
||||
}
|
||||
.pagiantion{
|
||||
text-align: right;
|
||||
padding: 15px;
|
||||
}
|
||||
.box {
|
||||
position: relative;
|
||||
border-radius: 3px;
|
||||
background: #ffffff;
|
||||
border-top: 3px solid #3c8dbc;
|
||||
padding: 10px;
|
||||
margin-bottom: 20px;
|
||||
width: 100%;
|
||||
box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
.filter-container{
|
||||
padding:10px 0 15px 0;
|
||||
}
|
||||
.main-container{margin-top: 70px;}
|
||||
.filter-container .el-button,.filter-container .el-input__inner{
|
||||
padding: 0 15px;
|
||||
height: 34px;
|
||||
line-height: 34px;
|
||||
}
|
||||
.el-aside{overflow: hidden;}
|
||||
.el-submenu .el-menu-item a{
|
||||
display: block;
|
||||
height: 50px;
|
||||
}
|
||||
.el-menu--collapse .el-submenu__icon-arrow{ display: none}
|
||||
/* .el-container{position: relative;} */
|
||||
/* foot */
|
||||
.el-footer{
|
||||
position: absolute;
|
||||
left: 180px;
|
||||
right: 0px;
|
||||
bottom: -80px;
|
||||
}
|
||||
.boxMain .el-upload--text{
|
||||
position:static;
|
||||
}
|
||||
.boxMain >div{
|
||||
display: inline-block;
|
||||
}
|
||||
.excelTitle{
|
||||
text-align: center;
|
||||
overflow: hidden;
|
||||
line-height: 40px;
|
||||
}
|
||||
.excelTitle .el-button{
|
||||
float: left;
|
||||
}
|
||||
.excelTime{
|
||||
padding: 10px 0;
|
||||
text-align: right;
|
||||
}
|
||||
.exceTable{
|
||||
width: 100%;
|
||||
border-right: 1px solid #e6e6e6;
|
||||
border-bottom: 1px solid #e6e6e6;
|
||||
font-size: 14px;
|
||||
color: #333;
|
||||
}
|
||||
.exceTable tr,.exceTable td{
|
||||
border-left: 1px solid #e6e6e6;
|
||||
border-top: 1px solid #e6e6e6;
|
||||
height: 40px;
|
||||
line-height: 40px;
|
||||
padding: 0 10px;
|
||||
}
|
||||
.exceTable .headBody{
|
||||
text-align: center;
|
||||
font-weight: 700;
|
||||
font-size: 14px;
|
||||
}
|
||||
.tabletrBg{
|
||||
background: #fcfcfc;
|
||||
text-align: right;
|
||||
}
|
||||
.textCenter{
|
||||
text-align: center
|
||||
}
|
||||
.checkScrol{
|
||||
height: 277px;
|
||||
overflow-y:scroll; ;
|
||||
}
|
@ -0,0 +1,18 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>桌面</title>
|
||||
</head>
|
||||
<body>
|
||||
<table style="margin: 0 auto">
|
||||
<tr>
|
||||
<td>
|
||||
<h1>欢迎来到<span style="color:aquamarine">心理测评</span>系统</h1>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,60 @@
|
||||
package com.controller;
|
||||
|
||||
import com.domain.timu;
|
||||
import com.service.timuService;
|
||||
import com.untils.PageResult;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/timu")
|
||||
public class timuController {
|
||||
@Autowired
|
||||
public com.service.timuService timuService;
|
||||
|
||||
@PostMapping("/Save")
|
||||
public int Save(@RequestBody timu timu)
|
||||
{
|
||||
return timuService.insert(timu);
|
||||
|
||||
}
|
||||
@DeleteMapping("/Delete/{id}")
|
||||
public int Delete(@PathVariable Integer id)
|
||||
{
|
||||
|
||||
return timuService.delete(id);
|
||||
}
|
||||
|
||||
|
||||
@GetMapping("/SelectPage/{size}/{current}")
|
||||
public PageResult selectPage(@PathVariable Integer size, @PathVariable Integer current, timu timu)
|
||||
{
|
||||
return timuService.SelectPage(timu,size,current);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@GetMapping("/findById/{id}")
|
||||
public timu findById(@PathVariable Integer id)
|
||||
{
|
||||
|
||||
return timuService.findById(id);
|
||||
}
|
||||
@PutMapping("/Update")
|
||||
public int Update(@RequestBody timu timu)
|
||||
{
|
||||
|
||||
return timuService.edit(timu);
|
||||
}
|
||||
|
||||
@GetMapping("/selectAll")
|
||||
public List<timu> selectAll()
|
||||
{
|
||||
|
||||
return timuService.selectAll();
|
||||
}
|
||||
}
|
@ -0,0 +1,104 @@
|
||||
package com.controller;
|
||||
|
||||
import com.domain.user;
|
||||
import com.service.userService;
|
||||
import com.untils.PageResult;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.security.core.context.SecurityContextHolder;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/user")
|
||||
public class userController {
|
||||
@Autowired
|
||||
public userService userService;
|
||||
|
||||
@PostMapping("/Save")
|
||||
public int Save(@RequestBody user user)
|
||||
{
|
||||
return userService.insert(user);
|
||||
|
||||
}
|
||||
@DeleteMapping("/Delete/{id}")
|
||||
public int Delete(@PathVariable Integer id)
|
||||
{
|
||||
|
||||
return userService.delete(id);
|
||||
}
|
||||
@PutMapping("/Update")
|
||||
public int Update(@RequestBody user user)
|
||||
{
|
||||
return userService.edit(user);
|
||||
}
|
||||
|
||||
@GetMapping("/SelectPage/{size}/{current}")
|
||||
public PageResult selectPage(@PathVariable Integer size, @PathVariable Integer current, user user)
|
||||
{
|
||||
return userService.SelectPage(user,size,current);
|
||||
}
|
||||
|
||||
@GetMapping("/SelectPageStudent/{size}/{current}")
|
||||
public PageResult selectPageStudent(@PathVariable Integer size, @PathVariable Integer current, user user)
|
||||
{
|
||||
return userService.SelectPageStudent(user,size,current);
|
||||
}
|
||||
|
||||
@GetMapping("/findById/{id}")
|
||||
public user findById(@PathVariable Integer id)
|
||||
{
|
||||
|
||||
return userService.findById(id);
|
||||
}
|
||||
|
||||
@PostMapping("/login")
|
||||
public Boolean login(@RequestBody user user)
|
||||
{
|
||||
user user1= userService.login(user);
|
||||
if (user1==null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
||||
//获取当前登录用户的用户名
|
||||
@GetMapping("/getUsername")
|
||||
public String getUsername(){
|
||||
|
||||
org.springframework.security.core.userdetails.User user =
|
||||
(org.springframework.security.core.userdetails.User)
|
||||
SecurityContextHolder.getContext().getAuthentication().getPrincipal();
|
||||
return user.getUsername();
|
||||
|
||||
}
|
||||
|
||||
@GetMapping("/getByUserName")
|
||||
public int getByUserName(String username){
|
||||
|
||||
return userService.selectByUserName(username).getType();
|
||||
|
||||
}
|
||||
|
||||
@GetMapping("/getByUserId")
|
||||
public int getByUserId(String username){
|
||||
|
||||
return userService.selectByUserName(username).getId();
|
||||
|
||||
}
|
||||
|
||||
|
||||
@GetMapping("/SelectAll")
|
||||
public List<user> SelectAll(){
|
||||
|
||||
return userService.selectAll();
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,120 @@
|
||||
package com.controller;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.domain.all;
|
||||
import com.domain.allm;
|
||||
import com.domain.ut;
|
||||
import com.untils.PageResult;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/ut")
|
||||
public class utController {
|
||||
@Autowired
|
||||
public com.service.utService utService;
|
||||
@Autowired
|
||||
private com.dao.utDao utDao;
|
||||
@PostMapping("/Save")
|
||||
public int Save(@RequestBody List<ut> uts)
|
||||
{
|
||||
|
||||
QueryWrapper<ut> queryWrapper = new QueryWrapper<com.domain.ut>();
|
||||
queryWrapper.eq("userId",uts.get(0).getUserId());
|
||||
|
||||
utDao.delete(queryWrapper);
|
||||
|
||||
for (ut item:uts)
|
||||
{
|
||||
|
||||
utService.insert(item);
|
||||
}
|
||||
return 1;
|
||||
|
||||
}
|
||||
@DeleteMapping("/Delete/{id}")
|
||||
public int Delete(@PathVariable Integer id)
|
||||
{
|
||||
|
||||
return utService.delete(id);
|
||||
}
|
||||
|
||||
|
||||
@GetMapping("/SelectPage/{size}/{current}")
|
||||
public PageResult selectPage(@PathVariable Integer size, @PathVariable Integer current, ut ut)
|
||||
{
|
||||
return utService.SelectPage(ut,size,current);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@GetMapping("/findById/{id}")
|
||||
public ut findById(@PathVariable Integer id)
|
||||
{
|
||||
|
||||
return utService.findById(id);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@PutMapping("/Update")
|
||||
public int Update(@RequestBody ut ut)
|
||||
{
|
||||
|
||||
return utService.edit(ut);
|
||||
}
|
||||
@GetMapping("/selectAll/{userId}")
|
||||
public List<all> selectAll(@PathVariable int userId)
|
||||
{
|
||||
List<all> list=new ArrayList<>();
|
||||
|
||||
all a=utService.selectAll(userId);
|
||||
list.add(a);
|
||||
return list;
|
||||
|
||||
}
|
||||
|
||||
|
||||
@GetMapping("/selectAllm/{userId}")
|
||||
public List<allm> selectAllm(@PathVariable int userId)
|
||||
{
|
||||
|
||||
|
||||
return utService.selectAllm(userId);
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
@GetMapping("/selectAll1")
|
||||
public List<all> selectAll1()
|
||||
{
|
||||
|
||||
return utService.selectAll1();
|
||||
|
||||
}
|
||||
//
|
||||
@GetMapping("/selectDetails/{userId}/{mokuaiId}")
|
||||
public List<ut> selectDetails(@PathVariable int userId,@PathVariable int mokuaiId) {
|
||||
|
||||
|
||||
|
||||
return utService.selectDetails(userId,mokuaiId);
|
||||
}
|
||||
|
||||
|
||||
@GetMapping("/pi/{userId}")
|
||||
public List<all> pi(@PathVariable int userId)
|
||||
{
|
||||
|
||||
|
||||
return utService.pipei(userId);
|
||||
|
||||
}
|
||||
}
|
Loading…
Reference in new issue