Ajax增删改查(ssm+spring boot)

r囧r小猫 2022-04-08 15:37 490阅读 1赞

首先导入所需jar包,再连接数据库:

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  4. <modelVersion>4.0.0</modelVersion>
  5. <groupId>com</groupId>
  6. <artifactId>manager</artifactId>
  7. <version>0.0.1-SNAPSHOT</version>
  8. <packaging>jar</packaging>
  9. <name>manager</name>
  10. <description>Demo project for Spring Boot</description>
  11. <parent>
  12. <groupId>org.springframework.boot</groupId>
  13. <artifactId>spring-boot-starter-parent</artifactId>
  14. <version>2.0.4.RELEASE</version>
  15. <relativePath/> <!-- lookup parent from repository -->
  16. </parent>
  17. <properties>
  18. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  19. <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
  20. <java.version>1.8</java.version>
  21. </properties>
  22. <dependencies>
  23. <dependency>
  24. <groupId>org.springframework.boot</groupId>
  25. <artifactId>spring-boot-starter-jdbc</artifactId>
  26. </dependency>
  27. <dependency>
  28. <groupId>org.springframework.boot</groupId>
  29. <artifactId>spring-boot-starter-thymeleaf</artifactId>
  30. </dependency>
  31. <dependency>
  32. <groupId>org.springframework.boot</groupId>
  33. <artifactId>spring-boot-starter-web</artifactId>
  34. </dependency>
  35. <dependency>
  36. <groupId>org.mybatis.spring.boot</groupId>
  37. <artifactId>mybatis-spring-boot-starter</artifactId>
  38. <version>1.3.2</version>
  39. </dependency>
  40. <dependency>
  41. <groupId>mysql</groupId>
  42. <artifactId>mysql-connector-java</artifactId>
  43. <scope>runtime</scope>
  44. </dependency>
  45. <dependency>
  46. <groupId>org.springframework.boot</groupId>
  47. <artifactId>spring-boot-starter-test</artifactId>
  48. <scope>test</scope>
  49. </dependency>
  50. <!-- 数据源 -->
  51. <dependency>
  52. <groupId>com.alibaba</groupId>
  53. <artifactId>druid</artifactId>
  54. <version>1.1.9</version>
  55. </dependency>
  56. <!-- https://mvnrepository.com/artifact/com.alipay.sdk/alipay-sdk-java -->
  57. <dependency>
  58. <groupId>com.alipay.sdk</groupId>
  59. <artifactId>alipay-sdk-java</artifactId>
  60. <version>3.0.0</version>
  61. </dependency>
  62. <!-- https://mvnrepository.com/artifact/commons-logging/commons-logging -->
  63. <dependency>
  64. <groupId>commons-logging</groupId>
  65. <artifactId>commons-logging</artifactId>
  66. <version>1.1.1</version>
  67. </dependency>
  68. <!--json转换工具包-->
  69. <dependency>
  70. <groupId>com.alibaba</groupId>
  71. <artifactId>fastjson</artifactId>
  72. <version>1.2.47</version>
  73. </dependency>
  74. <dependency>
  75. <groupId>javax.servlet</groupId>
  76. <artifactId>jstl</artifactId>
  77. <version>1.2</version>
  78. </dependency>
  79. </dependencies>
  80. <build>
  81. <plugins>
  82. <plugin>
  83. <groupId>org.springframework.boot</groupId>
  84. <artifactId>spring-boot-maven-plugin</artifactId>
  85. </plugin>
  86. </plugins>
  87. </build>
  88. </project>

application.properties代码:

  1. server.port=80
  2. spring.mvc.view.prefix=classpath:/templates/
  3. spring.mvc.view.suffix=.html
  4. #thymeleaf start
  5. spring.thymeleaf.mode=HTML5
  6. spring.thymeleaf.encoding=UTF-8
  7. #开发时关闭缓存,不然没法看到实时页面
  8. spring.thymeleaf.cache=false
  9. #thymeleaf end
  10. spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
  11. spring.datasource.url=jdbc:mysql://localhost:3306/ManageDB?useUnicode=true&characterEncoding=utf-8
  12. spring.datasource.username=root
  13. spring.datasource.password=994994
  14. spring.datasource.driverClassName=com.mysql.jdbc.Driver
  15. mybatis.mapper-locations=classpath:/mybatis/*.xml
  16. mybatis.type-aliases-package=com.manager.pojo
  17. mybatis.configuration.auto-mapping-behavior=full
  18. mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
  19. #logging.level.org.springframework=WARN
  20. #logging.level.org.spring.springboot.dao=DEBUG
  21. #logging.file=logs/spring-boot-logging.log

员工实体类代码:

  1. package com.manager.pojo;
  2. import com.fasterxml.jackson.annotation.JsonFormat;
  3. import java.util.Date;
  4. public class Employees {
  5. private Integer e_Id;
  6. private String e_Code;
  7. private String e_LoginName;
  8. private String e_Pwd;
  9. private String e_RealName;
  10. private Sex e_Sex;
  11. private String e_Phone;
  12. private Role e_Role;
  13. private Dept e_DeptId;
  14. private Employees e_Superior;
  15. private Status e_Status;
  16. @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
  17. private Date e_CreateTime;
  18. private Employees e_ModifyId;
  19. @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
  20. private Date e_ModifyTime;
  21. private String e_Description;
  22. private Date e_LastLoginTime;
  23. public Sex getE_Sex() {
  24. return e_Sex;
  25. }
  26. public void setE_Sex(Sex e_Sex) {
  27. this.e_Sex = e_Sex;
  28. }
  29. public Status getE_Status() {
  30. return e_Status;
  31. }
  32. public void setE_Status(Status e_Status) {
  33. this.e_Status = e_Status;
  34. }
  35. public Employees getE_Superior() {
  36. return e_Superior;
  37. }
  38. public void setE_Superior(Employees e_Superior) {
  39. this.e_Superior = e_Superior;
  40. }
  41. public Employees(){}
  42. public Employees(String loginName){
  43. this.e_LoginName = loginName;
  44. }
  45. public Employees(Integer id){this.e_Id = id;}
  46. public String getE_Code() {
  47. return e_Code;
  48. }
  49. public void setE_Code(String e_Code) {
  50. this.e_Code = e_Code;
  51. }
  52. public Date getE_LastLoginTime() {
  53. return e_LastLoginTime;
  54. }
  55. public void setE_LastLoginTime(Date e_LastLoginTime) {
  56. this.e_LastLoginTime = e_LastLoginTime;
  57. }
  58. public Integer getE_Id() {
  59. return e_Id;
  60. }
  61. public void setE_Id(Integer e_Id) {
  62. this.e_Id = e_Id;
  63. }
  64. public String getE_LoginName() {
  65. return e_LoginName;
  66. }
  67. public void setE_LoginName(String e_LoginName) {
  68. this.e_LoginName = e_LoginName;
  69. }
  70. public String getE_Pwd() {
  71. return e_Pwd;
  72. }
  73. public void setE_Pwd(String e_Pwd) {
  74. this.e_Pwd = e_Pwd;
  75. }
  76. public String getE_RealName() {
  77. return e_RealName;
  78. }
  79. public void setE_RealName(String e_RealName) {
  80. this.e_RealName = e_RealName;
  81. }
  82. public String getE_Phone() {
  83. return e_Phone;
  84. }
  85. public void setE_Phone(String e_Phone) {
  86. this.e_Phone = e_Phone;
  87. }
  88. public Role getE_Role() {
  89. return e_Role;
  90. }
  91. public void setE_Role(Role e_Role) {
  92. this.e_Role = e_Role;
  93. }
  94. public Dept getE_DeptId() {
  95. return e_DeptId;
  96. }
  97. public void setE_DeptId(Dept e_DeptId) {
  98. this.e_DeptId = e_DeptId;
  99. }
  100. public Date getE_CreateTime() {
  101. return e_CreateTime;
  102. }
  103. public void setE_CreateTime(Date e_CreateTime) {
  104. this.e_CreateTime = e_CreateTime;
  105. }
  106. public Employees getE_ModifyId() {
  107. return e_ModifyId;
  108. }
  109. public void setE_ModifyId(Employees e_ModifyId) {
  110. this.e_ModifyId = e_ModifyId;
  111. }
  112. public Date getE_ModifyTime() {
  113. return e_ModifyTime;
  114. }
  115. public void setE_ModifyTime(Date e_ModifyTime) {
  116. this.e_ModifyTime = e_ModifyTime;
  117. }
  118. public String getE_Description() {
  119. return e_Description;
  120. }
  121. public void setE_Description(String e_Description) {
  122. this.e_Description = e_Description;
  123. }
  124. }

部门实体类代码:

  1. package com.manager.pojo;
  2. public class Dept {
  3. private Integer d_Id;
  4. private String d_Name;
  5. private String d_Intro;
  6. public String getD_Intro() {
  7. return d_Intro;
  8. }
  9. public void setD_Intro(String d_Intro) {
  10. this.d_Intro = d_Intro;
  11. }
  12. public Integer getD_Id() {
  13. return d_Id;
  14. }
  15. public void setD_Id(Integer d_Id) {
  16. this.d_Id = d_Id;
  17. }
  18. public String getD_Name() {
  19. return d_Name;
  20. }
  21. public void setD_Name(String d_Name) {
  22. this.d_Name = d_Name;
  23. }
  24. }

角色表实体类代码:

  1. package com.manager.pojo;
  2. import com.fasterxml.jackson.annotation.JsonFormat;
  3. import java.util.Date;
  4. public class Role {
  5. private Integer r_Id;
  6. private String r_Code;
  7. private String r_Name;
  8. private Dept r_DeptNo;
  9. private Employees r_ModifyId;
  10. @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
  11. private Date r_ModifyTime;
  12. private String r_Description;
  13. public Role(){
  14. }
  15. public Role(Integer id){
  16. this.r_Id = id;
  17. }
  18. public Integer getR_Id() {
  19. return r_Id;
  20. }
  21. public void setR_Id(Integer r_Id) {
  22. this.r_Id = r_Id;
  23. }
  24. public String getR_Code() {
  25. return r_Code;
  26. }
  27. public void setR_Code(String r_Code) {
  28. this.r_Code = r_Code;
  29. }
  30. public String getR_Name() {
  31. return r_Name;
  32. }
  33. public void setR_Name(String r_Name) {
  34. this.r_Name = r_Name;
  35. }
  36. public Dept getR_DeptNo() {
  37. return r_DeptNo;
  38. }
  39. public void setR_DeptNo(Dept r_DeptNo) {
  40. this.r_DeptNo = r_DeptNo;
  41. }
  42. public Employees getR_ModifyId() {
  43. return r_ModifyId;
  44. }
  45. public void setR_ModifyId(Employees r_ModifyId) {
  46. this.r_ModifyId = r_ModifyId;
  47. }
  48. public Date getR_ModifyTime() {
  49. return r_ModifyTime;
  50. }
  51. public void setR_ModifyTime(Date r_ModifyTime) {
  52. this.r_ModifyTime = r_ModifyTime;
  53. }
  54. public String getR_Description() {
  55. return r_Description;
  56. }
  57. public void setR_Description(String r_Description) {
  58. this.r_Description = r_Description;
  59. }
  60. }

员工类xml代码:

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  3. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  4. <mapper namespace="com.manager.mapper.EmployeesMapper">
  5. <resultMap id="EmployeesMap" type="Employees">
  6. <id column="e_id" property="e_Id"/>
  7. <association property="e_ModifyId" javaType="Employees">
  8. <id column="e1_id" property="e_Id"/>
  9. <result column="e1_realName" property="e_RealName"/>
  10. </association>
  11. <association property="e_Role" javaType="Role">
  12. <id column="r_id" property="r_Id"/>
  13. </association>
  14. <association property="e_DeptId" javaType="Dept">
  15. <id column="d_id" property="d_Id"/>
  16. </association>
  17. <association property="e_Superior" javaType="Employees">
  18. <id column="e1_id" property="e_Id"/>
  19. <result column="e1_realName" property="e_RealName"/>
  20. </association>
  21. <association property="e_Sex" javaType="Sex">
  22. <id column="sex_id" property="sex_Id"/>
  23. </association>
  24. <association property="e_Status" javaType="Status">
  25. <id column="st_id" property="st_Id"/>
  26. </association>
  27. </resultMap>
  28. <select id="lowerList" resultMap="EmployeesMap">
  29. select e.*,d.*,r.*,s.*,st.*,e1.e_realName e1_realName,e1.e_id e1_id from employees e,dept d, role r,sex s,status
  30. st,employees e1
  31. <trim prefix="where" prefixOverrides="and">
  32. e.e_role = r.r_id and e.e_deptid = d.d_id and e.e_modifyId = e1.e_id and e.e_sex = s.sex_id and e.e_status =
  33. st.st_id
  34. <if test="e_Id != null">
  35. and e.e_Superior = #{e_Id}
  36. </if>
  37. </trim>
  38. </select>
  39. <select id="getEmployees" resultMap="EmployeesMap">
  40. select e.*,d.*,r.*,s.*,st.*,e1.e_realName e1_realName,e1.e_id e1_id from employees e,dept d, role r,sex s,status
  41. st,employees e1
  42. <trim prefix="where" prefixOverrides="and">
  43. e.e_role = r.r_id and e.e_deptid = d.d_id and e.e_modifyId = e1.e_id and e.e_sex = s.sex_id and e.e_status =
  44. st.st_id
  45. <if test="e_LoginName != null and e_LoginName != ''">
  46. and e.e_loginName = #{e_LoginName}
  47. </if>
  48. <if test="e_Id != null">
  49. and e.e_id = #{e_Id}
  50. </if>
  51. </trim>
  52. </select>
  53. <select id="employeeList" resultMap="EmployeesMap">
  54. select e.*,d.*,r.*,s.*,st.*,e1.e_realName e1_realName,e1.e_id e1_id from employees e,dept d, role r,sex s,status
  55. st,employees e1
  56. <trim prefix="where" prefixOverrides="and">
  57. e.e_role = r.r_id and e.e_deptid = d.d_id and e.e_modifyId = e1.e_id and e.e_sex = s.sex_id and e.e_status =
  58. st.st_id
  59. <if test="employee.e_RealName != null and employee.e_RealName != ''">
  60. and e.e_RealName like concat('%',#{employee.e_RealName},'%')
  61. </if>
  62. limit #{begin},#{end}
  63. </trim>
  64. </select>
  65. <select id="count" resultType="int">
  66. select count(*) from employees e,dept d, role r,sex s,status st
  67. <trim prefix="where" prefixOverrides="and">
  68. e.e_role = r.r_id and e.e_deptid = d.d_id and e.e_modifyId = e.e_id and e.e_sex = s.sex_id and e.e_status =
  69. st.st_id
  70. <if test="e_RealName != null and e_RealName != ''">
  71. and e.e_RealName like concat('%',#{e_RealName},'%')
  72. </if>
  73. </trim>
  74. </select>
  75. <update id="alterEmployees">
  76. update employees
  77. <trim prefix="set" suffixOverrides="," suffix="where e_Id = #{e_Id}">
  78. <if test="e_LastLoginTime != null">
  79. e_lastLoginTime = #{e_LastLoginTime},
  80. </if>
  81. <if test="e_Phone != null">
  82. e_Phone = #{e_Phone},
  83. </if>
  84. <if test="e_Pwd != null">
  85. e_Pwd = #{e_Pwd},
  86. </if>
  87. <if test="e_Code != null">
  88. e_Code = #{e_Code},
  89. </if>
  90. <if test="e_RealName != null">
  91. e_RealName = #{e_RealName},
  92. </if>
  93. <if test="e_Description != null">
  94. e_Description = #{e_Description},
  95. </if>
  96. <if test="e_Sex != null">
  97. e_Sex = #{e_Sex.sex_Id},
  98. </if>
  99. <if test="e_Status != null">
  100. e_Status = #{e_Status.st_Id},
  101. </if>
  102. <if test="e_DeptId != null">
  103. e_DeptId = #{e_DeptId.d_Id},
  104. </if>
  105. </trim>
  106. </update>
  107. <delete id="deleteEmployees">
  108. delete from employees where e_id = #{e_Id}
  109. </delete>
  110. <insert id="addEmployees">
  111. insert into employees values (default,#{e_Code},#{e_LoginName},#{e_Pwd},#{e_RealName},#{e_Sex.sex_Id},#{e_Phone},#{e_Role.r_Id},#{e_DeptId.d_Id},#{e_Superior.e_Id},#{e_Status.st_Id},#{e_CreateTime},#{e_ModifyId.e_Id},#{e_ModifyTime},#{e_LastLoginTime},#{e_Description})
  112. </insert>
  113. <select id="existEmployeeCode" resultType="Employees">
  114. select * from employees where 1=1
  115. <if test="e_Code!=null">
  116. and e_Code = #{e_Code}
  117. </if>
  118. </select>
  119. <select id="existEmployeeLoginName" resultType="Employees">
  120. select * from employees where 1=1
  121. <if test="e_LoginName!=null">
  122. and e_LoginName = #{e_LoginName}
  123. </if>
  124. </select>
  125. </mapper>

部门xml代码:

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper
  3. PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  4. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  5. <mapper namespace="com.manager.mapper.DeptMapper">
  6. <select id="deptAll" resultType="Dept">
  7. select * from dept
  8. </select>
  9. </mapper>

角色xml代码:

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper
  3. PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  4. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  5. <mapper namespace="com.manager.mapper.RoleMapper">
  6. <resultMap id="roleMap" type="Role">
  7. <id column="r_id" property="r_Id"/>
  8. <association property="r_DeptNo" javaType="Dept">
  9. <id column="d_id" property="d_Id"/>
  10. </association>
  11. <association property="r_ModifyId" javaType="Employees">
  12. <id column="e_id" property="e_Id"/>
  13. </association>
  14. </resultMap>
  15. <select id="roleList" resultMap="roleMap">
  16. SELECT r.*,e.*,d.* FROM role r,employees e,dept d
  17. <trim prefix="where" prefixOverrides="and">
  18. r.r_modifyId = e.e_id AND r.r_deptNo = d.d_id
  19. <if test="role.r_Name != null and role.r_Name != ''">
  20. and r_Name like concat('%',#{role.r_Name},'%')
  21. </if>
  22. limit #{begin},#{end}
  23. </trim>
  24. </select>
  25. <select id="count" resultType="int">
  26. select count(*) from role r,employees e,dept d
  27. <trim prefix="where" prefixOverrides="and">
  28. r.r_modifyId = e.e_id AND r.r_deptNo = d.d_id
  29. <if test="r_Name != null and r_Name != ''">
  30. and r_Name like concat('%',#{r_Name},'%')
  31. </if>
  32. </trim>
  33. </select>
  34. <select id="getRole" resultMap="roleMap">
  35. SELECT r.*,e.*,d.* FROM role r,employees e,dept d
  36. <trim prefix="where" prefixOverrides="and">
  37. r.r_modifyId = e.e_id AND r.r_deptNo = d.d_id
  38. <if test="r_Id != null and r_Id != ''">
  39. and r_id = #{r_Id}
  40. </if>
  41. </trim>
  42. </select>
  43. <select id="roleAll" resultType="Role">
  44. select * from role
  45. </select>
  46. <update id="modify">
  47. update role
  48. <trim prefix="set" suffixOverrides="," suffix="where r_code = #{r_Code}">
  49. <if test="r_DeptNo.d_Id != null and r_DeptNo.d_Id != 0">
  50. r_deptNo = #{r_DeptNo.d_Id},
  51. </if>
  52. <if test="r_ModifyId != null">
  53. r_ModifyId = #{r_ModifyId.e_Id},
  54. </if>
  55. <if test="r_ModifyTime != null">
  56. r_ModifyTime = #{r_ModifyTime},
  57. </if>
  58. <if test="r_Description != null">
  59. r_Description = #{r_Description},
  60. </if>
  61. </trim>
  62. </update>
  63. <delete id="delRole">
  64. delete from role where r_id = #{r_Id}
  65. </delete>
  66. <insert id="addRole">
  67. insert into role values(default,#{r_Code},#{r_Name},#{r_DeptNo.d_Id},#{r_ModifyId.e_Id},#{r_ModifyTime},#{r_Description})
  68. </insert>
  69. <select id="validationRole" resultType="int">
  70. select count(*) from role
  71. <trim prefix="where" prefixOverrides="and">
  72. <if test="r_Code != null and r_Code != ''">
  73. and r_Code = #{r_Code}
  74. </if>
  75. <if test="r_Name != null and r_Name != ''">
  76. and r_Name = #{r_Name}
  77. </if>
  78. </trim>
  79. </select>
  80. </mapper>

员工Mapper层代码:

  1. package com.manager.mapper;
  2. import com.manager.pojo.Employees;
  3. import java.util.List;
  4. import java.util.Map;
  5. public interface EmployeesMapper {
  6. Employees getEmployees(Employees employees);
  7. int alterEmployees(Employees employees);
  8. List<Employees> employeeList(Map map);
  9. int count(Employees employees);
  10. List<Employees> lowerList(Employees employees);
  11. int deleteEmployees(Employees employees);
  12. int addEmployees(Employees employees);
  13. Employees existEmployeeCode(Employees employees);
  14. Employees existEmployeeLoginName(Employees employees);
  15. }

部门Mapper层代码:

  1. package com.manager.mapper;
  2. import com.manager.pojo.Dept;
  3. import java.util.List;
  4. public interface DeptMapper {
  5. List<Dept> deptAll();
  6. }

角色Mapper层代码:

  1. package com.manager.mapper;
  2. import com.manager.pojo.Role;
  3. import java.util.List;
  4. import java.util.Map;
  5. public interface RoleMapper {
  6. List<Role> roleList(Map map);
  7. int count(Role role);
  8. Role getRole(Role role);
  9. List<Role> roleAll();
  10. int modify(Role role);
  11. int delRole(Role role);
  12. int addRole(Role role);
  13. int validationRole(Role role);
  14. }

员工Service层代码:

  1. package com.manager.service.users;
  2. import com.manager.pojo.Employees;
  3. import java.util.List;
  4. public interface EmployeesService {
  5. Employees getEmployees(Employees employees);
  6. int alterEmployees(Employees employees);
  7. List<Employees> employeeList(Integer begin, Integer end, Employees employees);
  8. int count(Employees employees);
  9. List<Employees> lowerList(Employees employees);
  10. int deleteEmployees(Employees employees);
  11. int addEmployees(Employees employees);
  12. String existEmployeeCode(Employees employees);
  13. String existEmployeeLoginName(Employees employees);
  14. }

员工ServiceImpl代码:

  1. package com.manager.service.users;
  2. import com.alibaba.fastjson.JSON;
  3. import com.manager.mapper.EmployeesMapper;
  4. import com.manager.pojo.Employees;
  5. import org.apache.ibatis.session.SqlSession;
  6. import org.springframework.stereotype.Service;
  7. import org.springframework.transaction.annotation.Transactional;
  8. import javax.annotation.Resource;
  9. import java.util.HashMap;
  10. import java.util.List;
  11. import java.util.Map;
  12. @Service
  13. public class EmployeesServiceImpl implements EmployeesService {
  14. @Resource
  15. private EmployeesMapper employeesMapper;
  16. @Override
  17. public Employees getEmployees(Employees employees) {
  18. Employees newEmployees = employeesMapper.getEmployees(employees);
  19. return newEmployees;
  20. }
  21. @Override
  22. public List<Employees> lowerList(Employees employees) {
  23. return employeesMapper.lowerList(employees);
  24. }
  25. @Override
  26. public int deleteEmployees(Employees employees) {
  27. return employeesMapper.deleteEmployees(employees);
  28. }
  29. @Override
  30. public int addEmployees(Employees employees) {
  31. return employeesMapper.addEmployees(employees);
  32. }
  33. @Override
  34. public String existEmployeeCode(Employees employees) {
  35. return JSON.toJSONString(employeesMapper.existEmployeeCode(employees));
  36. }
  37. @Override
  38. public String existEmployeeLoginName(Employees employees) {
  39. return JSON.toJSONString(employeesMapper.existEmployeeLoginName(employees));
  40. }
  41. @Override
  42. @Transactional
  43. public int alterEmployees(Employees employees) {
  44. return employeesMapper.alterEmployees(employees);
  45. }
  46. @Override
  47. public List<Employees> employeeList(Integer begin, Integer end, Employees employees) {
  48. Map<String, Object> map = new HashMap<>();
  49. map.put("begin", begin);
  50. map.put("end", end);
  51. map.put("employee", employees);
  52. return employeesMapper.employeeList(map);
  53. }
  54. @Override
  55. public int count(Employees employees) {
  56. return employeesMapper.count(employees);
  57. }
  58. }

部门Service层代码:

  1. package com.manager.service.dept;
  2. import com.manager.pojo.Dept;
  3. import java.util.List;
  4. public interface DeptService {
  5. List<Dept> deptAll();
  6. }

部门ServiceImpl代码:

  1. package com.manager.service.dept;
  2. import com.manager.mapper.DeptMapper;
  3. import com.manager.pojo.Dept;
  4. import org.springframework.stereotype.Service;
  5. import javax.annotation.Resource;
  6. import java.util.HashMap;
  7. import java.util.List;
  8. import java.util.Map;
  9. @Service
  10. public class DeptServiceImpl implements DeptService {
  11. @Resource
  12. private DeptMapper deptMapper;
  13. @Override
  14. public List<Dept> deptAll() {
  15. return deptMapper.deptAll();
  16. }
  17. }

角色Service层代码:

  1. package com.manager.service.role;
  2. import com.manager.pojo.Role;
  3. import java.util.List;
  4. public interface RoleService {
  5. List<Role> roleList(Role role,Integer begin,Integer end);
  6. int count(Role role);
  7. Role getRole(Role role);
  8. List<Role> roleAll();
  9. int modify(Role role);
  10. int delRole(Role role);
  11. int addRole(Role role);
  12. int validationRole(Role role);
  13. }

角色ServiceImpl代码:

  1. package com.manager.service.role;
  2. import com.manager.mapper.RoleMapper;
  3. import com.manager.pojo.Role;
  4. import org.springframework.stereotype.Service;
  5. import org.springframework.transaction.annotation.Transactional;
  6. import javax.annotation.Resource;
  7. import java.util.HashMap;
  8. import java.util.List;
  9. import java.util.Map;
  10. @Service
  11. public class RoleServiceImpl implements RoleService {
  12. @Resource
  13. private RoleMapper roleMapper;
  14. @Override
  15. public List<Role> roleList(Role role,Integer begin,Integer end) {
  16. Map<String,Object> map = new HashMap<String,Object>();
  17. map.put("role",role);
  18. map.put("begin",begin);
  19. map.put("end",end);
  20. return roleMapper.roleList(map);
  21. }
  22. @Override
  23. public int count(Role role) {
  24. return roleMapper.count(role);
  25. }
  26. @Override
  27. public Role getRole(Role role) {
  28. return roleMapper.getRole(role);
  29. }
  30. @Override
  31. public List<Role> roleAll() {
  32. return roleMapper.roleAll();
  33. }
  34. @Override
  35. @Transactional
  36. public int modify(Role role) {
  37. return roleMapper.modify(role);
  38. }
  39. @Override
  40. @Transactional
  41. public int delRole(Role role) {
  42. return roleMapper.delRole(role);
  43. }
  44. @Override
  45. public int addRole(Role role) {
  46. return roleMapper.addRole(role);
  47. }
  48. @Override
  49. public int validationRole(Role role) {
  50. return roleMapper.validationRole(role);
  51. }
  52. }

员工Controller控制层代码:

  1. package com.manager.control.employees;
  2. import com.alibaba.fastjson.JSON;
  3. import com.manager.pojo.Dept;
  4. import com.manager.pojo.Employees;
  5. import com.manager.pojo.Role;
  6. import com.manager.service.dept.DeptService;
  7. import com.manager.service.role.RoleService;
  8. import com.manager.service.users.EmployeesService;
  9. import com.manager.util.MD5Util;
  10. import com.manager.util.PageUtil;
  11. import com.manager.util.PwdUtil;
  12. import org.springframework.stereotype.Controller;
  13. import org.springframework.ui.Model;
  14. import org.springframework.web.bind.annotation.*;
  15. import org.springframework.web.servlet.ModelAndView;
  16. import javax.annotation.Resource;
  17. import javax.servlet.http.HttpSession;
  18. import java.util.Date;
  19. import java.util.HashMap;
  20. import java.util.List;
  21. import java.util.Map;
  22. @Controller
  23. public class EmployeesContorller {
  24. @Resource
  25. private EmployeesService employeesService;
  26. @Resource
  27. private DeptService deptService;
  28. @Resource
  29. private RoleService roleService;
  30. @RequestMapping(value = "/login", method = RequestMethod.POST)
  31. @ResponseBody
  32. public Object loginajax(HttpSession session, Employees employees) {
  33. Map<String, String> map = new HashMap<>();
  34. Employees employee = employeesService.getEmployees(employees);
  35. if (employee != null) {
  36. String pwd = MD5Util.EncoderByMd5(employees.getE_Pwd());
  37. if (pwd.equals(employee.getE_Pwd())) {
  38. session.setAttribute("loginEmployee", employee);//登陆成功保存会话
  39. employee.setE_LastLoginTime(new Date());
  40. employeesService.alterEmployees(employee);
  41. } else {
  42. map.put("msg", "false");
  43. }
  44. } else {
  45. map.put("msg", "null");
  46. }
  47. return map;
  48. }
  49. @RequestMapping("/login.html")
  50. public String login() {
  51. return "login";
  52. }
  53. @RequestMapping("/userOut")
  54. public String userOut(HttpSession session) {
  55. session.invalidate();
  56. return "login";
  57. }
  58. @RequestMapping(value = "/modifyEmployees")
  59. @ResponseBody
  60. public Object modifyEmployees(Employees employees) {
  61. int i = employeesService.alterEmployees(employees);
  62. if (i == 1) {
  63. return "true";
  64. } else {
  65. return "false";
  66. }
  67. }
  68. @RequestMapping("/JumpEmpAdd")
  69. public String jumpEmpAdd(Model model,Employees employees) {
  70. List<Dept> depts = deptService.deptAll();
  71. List<Role> roles = roleService.roleAll();
  72. List<Employees> employee = employeesService.employeeList(1,99,employees);
  73. model.addAttribute("depts",depts);
  74. model.addAttribute("roles",roles);
  75. model.addAttribute("employees",employee);
  76. return "sysemployeeAdd";
  77. }
  78. @RequestMapping("/AddEmployees")
  79. @ResponseBody
  80. public Object addEmployees(Employees employees,HttpSession session) {
  81. employees.setE_CreateTime(new Date());
  82. employees.setE_LastLoginTime(new Date());
  83. employees.setE_ModifyTime(new Date());
  84. employees.setE_ModifyId((Employees) session.getAttribute("loginEmployee"));
  85. int i = employeesService.addEmployees(employees);
  86. if (i == 1) {
  87. return "true";
  88. } else {
  89. return "false";
  90. }
  91. }
  92. @RequestMapping("/DeleteEmployees")
  93. @ResponseBody
  94. public Object deleteEmployee(Employees employees) {
  95. int i = employeesService.deleteEmployees(employees);
  96. if (i == 1) {
  97. return "true";
  98. } else {
  99. return "false";
  100. }
  101. }
  102. @RequestMapping(value = "modifyPwd", method = RequestMethod.POST)
  103. @ResponseBody
  104. public Object modifyPwd(HttpSession session, PwdUtil pwd) {
  105. Map<String, String> map = new HashMap<>();
  106. int result = 0;
  107. Employees employees = employeesService.getEmployees(new Employees(pwd.getLoginName()));
  108. if (employees.getE_Pwd().equals(MD5Util.EncoderByMd5(pwd.getOldPwd()))) {
  109. if (pwd.getNewPwd().equals(pwd.getConfirmNewPwd())) {
  110. employees.setE_Pwd(MD5Util.EncoderByMd5(pwd.getConfirmNewPwd()));
  111. result = employeesService.alterEmployees(employees);
  112. if (result == 1) {
  113. session.invalidate();
  114. map.put("msg", "true");
  115. } else {
  116. map.put("msg", "false");
  117. }
  118. } else {
  119. map.put("msg", "Don't match");
  120. }
  121. } else {
  122. map.put("msg", "error");
  123. }
  124. return map;
  125. }
  126. @RequestMapping("/getEmployee")
  127. public ModelAndView getEmployee(HttpSession session) {
  128. ModelAndView mv = new ModelAndView();
  129. Employees employee = (Employees) session.getAttribute("loginEmployee");
  130. Employees newEmployee = employeesService.getEmployees(employee);
  131. mv.addObject("newEmployee", newEmployee);
  132. mv.setViewName("syspersonalInfo");
  133. return mv;
  134. }
  135. @RequestMapping(value = "/employeeList", method = RequestMethod.POST)
  136. @ResponseBody
  137. public Object employeeList(@RequestParam(name = "draw", required = false, defaultValue = "0") int draw,
  138. @RequestParam(name = "start", required = false, defaultValue = "0") int start,
  139. @RequestParam(name = "length", required = false, defaultValue = "0") int length,
  140. Employees employees) {
  141. PageUtil<Employees> pageUtil = new PageUtil<>();
  142. List<Employees> employeesList = employeesService.employeeList(start, length, employees);
  143. int count = employeesService.count(employees);
  144. pageUtil.setData(employeesList);
  145. pageUtil.setDraw(draw);
  146. pageUtil.setRecordsTotal(count);
  147. pageUtil.setRecordsFiltered(count);
  148. return pageUtil;
  149. }
  150. @RequestMapping("/getEmployee/{id}/{str}")
  151. public ModelAndView getEmployee(@PathVariable Integer id, @PathVariable String str) {
  152. ModelAndView mv = new ModelAndView();
  153. Employees employee = new Employees(id);
  154. Employees newEmployee = employeesService.getEmployees(employee);
  155. List<Dept> depts = deptService.deptAll();
  156. mv.addObject("newEmployee", newEmployee);
  157. mv.addObject("depts", depts);
  158. if (str.equals("get")) {
  159. mv.setViewName("sysemployeeInfo");
  160. } else {
  161. mv.setViewName("sysemployeemodify");
  162. }
  163. return mv;
  164. }
  165. @RequestMapping("/ExistCode")
  166. @ResponseBody
  167. public Object existCode(Employees employees){
  168. return JSON.toJSONString(employeesService.existEmployeeCode(employees));
  169. }
  170. @RequestMapping("/ExistLoginName")
  171. @ResponseBody
  172. public Object existLoginName(Employees employees){
  173. return JSON.toJSONString(employeesService.existEmployeeLoginName(employees));
  174. }
  175. }

部门Controller控制层代码:

  1. package com.manager.control.dept;
  2. import com.manager.pojo.Dept;
  3. import com.manager.service.dept.DeptService;
  4. import com.manager.util.PageUtil;
  5. import org.springframework.stereotype.Controller;
  6. import org.springframework.web.bind.annotation.*;
  7. import org.springframework.web.servlet.ModelAndView;
  8. import javax.annotation.Resource;
  9. import java.util.List;
  10. @Controller
  11. public class DeptContorller {
  12. @Resource
  13. private DeptService deptService;
  14. @RequestMapping(value = "/deptAll",method = RequestMethod.POST)
  15. @ResponseBody
  16. public Object deptAll(){
  17. List<Dept> depts = deptService.deptAll();
  18. return depts;
  19. }
  20. }

角色Controller控制层代码:

  1. package com.manager.control.role;
  2. import com.manager.pojo.Dept;
  3. import com.manager.pojo.Employees;
  4. import com.manager.pojo.Role;
  5. import com.manager.service.dept.DeptService;
  6. import com.manager.service.role.RoleService;
  7. import com.manager.util.PageUtil;
  8. import org.springframework.stereotype.Controller;
  9. import org.springframework.web.bind.annotation.*;
  10. import org.springframework.web.servlet.ModelAndView;
  11. import javax.annotation.Resource;
  12. import javax.servlet.http.HttpSession;
  13. import java.util.Date;
  14. import java.util.List;
  15. @Controller
  16. public class RoleController {
  17. @Resource
  18. private RoleService roleService;
  19. @Resource
  20. private DeptService deptService;
  21. @RequestMapping(value = "/roleList")
  22. @ResponseBody
  23. public Object roleList(@RequestParam(name = "draw",required = false,defaultValue = "0")int draw,
  24. @RequestParam(name = "start",required = false,defaultValue = "0")int start,
  25. @RequestParam(name = "length",required = false,defaultValue = "0")int length,
  26. Role role){
  27. PageUtil<Role> pageUtil = new PageUtil<Role>();
  28. int count = roleService.count(role);
  29. List<Role> roles = roleService.roleList(role,start,length);
  30. pageUtil.setData(roles);
  31. pageUtil.setDraw(draw);
  32. pageUtil.setRecordsFiltered(count);
  33. pageUtil.setRecordsTotal(count);
  34. return pageUtil;
  35. }
  36. @RequestMapping("/getRole/{id}/{str}")
  37. public ModelAndView getRole(@PathVariable("id")Integer id, @PathVariable("str")String str){
  38. ModelAndView mv = new ModelAndView();
  39. mv.setViewName("sysroleInfo");
  40. List<Dept> depts = null;
  41. Role role = new Role(id);
  42. Role newRole = roleService.getRole(role);
  43. if(str.equals("modify")){
  44. depts = deptService.deptAll();
  45. mv.setViewName("sysrolemodify");
  46. }
  47. mv.addObject("newRole",newRole);
  48. mv.addObject("depts",depts);
  49. return mv;
  50. }
  51. @RequestMapping(value = "/modifyRole",method = RequestMethod.POST)
  52. @ResponseBody
  53. public Object modifyRole(HttpSession session,Role role){
  54. role.setR_ModifyTime(new Date());
  55. Employees employees = (Employees) session.getAttribute("loginEmployee");
  56. role.setR_ModifyId(employees);
  57. int modify = roleService.modify(role);
  58. if(modify==1){
  59. return "true";
  60. }
  61. return "false";
  62. }
  63. @RequestMapping(value = "/delRole",method = RequestMethod.POST)
  64. @ResponseBody
  65. public Object delRole(Role role){
  66. int i = roleService.delRole(role);
  67. if(i==1){
  68. return "true";
  69. }
  70. return "false";
  71. }
  72. @RequestMapping(value = "/addRole",method = RequestMethod.POST)
  73. @ResponseBody
  74. public Object addRole(HttpSession session,Role role){
  75. role.setR_ModifyTime(new Date());
  76. role.setR_ModifyId((Employees) session.getAttribute("loginEmployee"));
  77. int i = roleService.addRole(role);
  78. if(i==1){
  79. return "true";
  80. }
  81. return "false";
  82. }
  83. @RequestMapping(value = "/validationRole",method = RequestMethod.POST)
  84. @ResponseBody
  85. public Object validationRole(Role role){
  86. int i = roleService.validationRole(role);
  87. if(i==1){
  88. return "true";
  89. }
  90. return "false";
  91. }
  92. }

员工前端页面代码:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>欢迎页面-X-admin2.0</title>
  6. <meta name="renderer" content="webkit">
  7. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  8. <meta name="viewport"
  9. content="width=device-width,user-scalable=yes, minimum-scale=0.4, initial-scale=0.8,target-densitydpi=low-dpi"/>
  10. <!--<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon"/>-->
  11. <link rel="stylesheet" href="/static/css/font.css">
  12. <link rel="stylesheet" href="/static/css/xadmin.css">
  13. <script type="text/javascript" src="/static/lib/jquery/dist/jquery.min.js"></script>
  14. <script type="text/javascript" src="/static/lib/layui/layui.js" charset="utf-8"></script>
  15. <script type="text/javascript" src="/static/js/xadmin.js"></script>
  16. <!-- 让IE8/9支持媒体查询,从而兼容栅格 -->
  17. <!--[if lt IE 9]>
  18. <script src="https://cdn.staticfile.org/html5shiv/r29/html5.min.js"></script>
  19. <script src="https://cdn.staticfile.org/respond.js/1.4.2/respond.min.js"></script>
  20. <![endif]-->
  21. </head>
  22. <body class="layui-anim layui-anim-up">
  23. <div class="x-nav">
  24. <span class="layui-breadcrumb">
  25. <a>
  26. <cite>系统管理>></cite>
  27. <cite>员工管理</cite></a>
  28. </span>
  29. <a class="layui-btn layui-btn-small" style="line-height:1.6em;margin-top:3px;float:right"
  30. href="javascript:location.replace(location.href);" title="刷新">
  31. <i class="layui-icon" style="line-height:30px"></i></a>
  32. </div>
  33. <div class="x-body">
  34. <div class="layui-row">
  35. <div class="layui-form layui-col-md12 x-so layui-col-md-offset1">
  36. 员工姓名:<input type="text" id="e_RealName" placeholder="请输入员工姓名" autocomplete="off" class="layui-input">
  37. <button class="layui-btn" id="employeesQuery"><i class="layui-icon"></i></button>
  38. <button class="layui-btn" type="button" onclick="x_admin_show(null,'/JumpEmpAdd',600,525,true)"><i
  39. class="layui-icon"></i>
  40. </button>
  41. </div>
  42. </div>
  43. <div class="col-md-12 col-sm-12 col-xs-12">
  44. <div class="x_panel">
  45. <div class="x_content">
  46. <table id="employees" class="table table-striped table-bordered">
  47. </table>
  48. </div>
  49. </div>
  50. </div>
  51. </div>
  52. </body>
  53. </html>
  54. <!-- Bootstrap -->
  55. <link href="/static/vendors/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet">
  56. <!-- Datatables -->
  57. <script src="/static/vendors/datatables.net/js/jquery.dataTables.min.js"></script>
  58. <script src="/static/vendors/datatables.net-bs/js/dataTables.bootstrap.min.js"></script>
  59. <!-- Custom Theme Style -->
  60. <link href="/static/build/css/custom.min.css" rel="stylesheet">
  61. <script src="/static/js/sysemployees.js"></script>

员工添加页面代码:

  1. <!DOCTYPE html>
  2. <html xmlns:th="http://www.thymeleaf.org">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>欢迎页面-X-admin2.0</title>
  6. <meta name="renderer" content="webkit">
  7. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  8. <!--<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon"/>-->
  9. <link rel="stylesheet" href="/static/css/font.css">
  10. <link rel="stylesheet" href="/static/css/xadmin.css">
  11. <script type="text/javascript" src="/static/lib/jquery/dist/jquery.min.js"></script>
  12. <script src="/static/lib/layui/layui.js" charset="utf-8"></script>
  13. <script type="text/javascript" src="/static/js/xadmin.js"></script>
  14. </head>
  15. <body>
  16. <div class="x-body layui-anim layui-anim-up">
  17. <fieldset class="layui-elem-field">
  18. <legend>员工信息添加</legend>
  19. <div class="layui-field-box">
  20. <form class="layui-form" onsubmit="return addEmployee()" id="form1">
  21. <table class="layui-table">
  22. <tr style="border: 0px">
  23. <td>员工编码</td>
  24. <td>
  25. <input class="layui-input" id="e_Code" name="e_Code" type="text" onblur=""
  26. onkeyup="value=value.replace(/[^\a-\z\A-\Z0-9\_]/g,'')" />
  27. </td>
  28. </tr>
  29. <tr>
  30. <td>员工账号</td>
  31. <td>
  32. <input class="layui-input" id="e_LoginName" name="e_LoginName" type="text" onblur=""
  33. onkeyup="value=value.replace(/[^\a-\z\A-\Z0-9\_]/g,'')"/>
  34. </td>
  35. </tr>
  36. <tr>
  37. <td>员工密码</td>
  38. <td>
  39. <input class="layui-input" id="e_Pwd" name="e_Pwd" type="password"
  40. onkeyup="value=value.replace(/[^\a-\z\A-\Z0-9\_]/g,'')"/>
  41. </td>
  42. </tr>
  43. <tr>
  44. <td>员工姓名</td>
  45. <td>
  46. <input class="layui-input" id="e_RealName" name="e_RealName" type="text"
  47. onkeyup="value=value.replace(/[^\a-zA-Z\u4E00-\u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\a-zA-Z\u4E00-\u9FA5]/g,''))"
  48. />
  49. </td>
  50. </tr>
  51. <tr>
  52. <td>员工电话</td>
  53. <td>
  54. <input class="layui-input" id="e_Phone" name="e_Phone" type="text"
  55. onkeyup="value=value.replace(/[^\d]/g,'')"
  56. onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"
  57. onblur="ePhone()"/>
  58. </td>
  59. </tr>
  60. <tr>
  61. <td>性别</td>
  62. <td>
  63. <input type="radio" name="e_Sex.sex_Id" value="1" id="male"/>
  64. <label for="male"></label>
  65. <input type="radio" name="e_Sex.sex_Id" value="2" id="female"/>
  66. <label for="female"></label>
  67. </td>
  68. </tr>
  69. <tr>
  70. <td>状态</td>
  71. <td>
  72. <input type="radio" name="e_Status.st_Id" value="1" id="normal"/>
  73. <label for="normal">正常</label>
  74. <input type="radio" name="e_Status.st_Id" value="2" id="disable"/>
  75. <label for="disable">禁用</label>
  76. </td>
  77. </tr>
  78. <tr>
  79. <td>所属部门</td>
  80. <td>
  81. <select name="e_DeptId.d_Id" class="layui-select">
  82. <option value="0">--请选择--</option>
  83. <option th:each="dept:${depts}" th:value="${dept.d_Id}"
  84. th:text="${dept.d_Name}"></option>
  85. </select>
  86. </td>
  87. </tr>
  88. <tr>
  89. <td>所属上级</td>
  90. <td>
  91. <select name="e_Superior.e_Id" class="layui-select">
  92. <option value="0">--请选择--</option>
  93. <option th:each="employee:${employees}" th:value="${employee.e_Id}"
  94. th:text="${employee.e_RealName}"></option>
  95. </select>
  96. </td>
  97. </tr>
  98. <tr>
  99. <td>角色身份</td>
  100. <td>
  101. <select name="e_Role.r_Id" class="layui-select">
  102. <option value="0">--请选择--</option>
  103. <option th:each="role:${roles}" th:value="${role.r_Id}"
  104. th:text="${role.r_Name}"></option>
  105. </select>
  106. </td>
  107. </tr>
  108. <tr>
  109. <td>备注信息</td>
  110. <td>
  111. <textarea name="e_Description" id="e_Description" class="layui-textarea"></textarea>
  112. </td>
  113. </tr>
  114. <tr>
  115. <td colspan="2" style="text-align: center">
  116. <input type="submit" value="提交" class="layui-btn layui-bg-blue"/>
  117. <input type="button" value="返回" class="layui-btn layui-bg-blue" onclick="back()"/>
  118. </td>
  119. </tr>
  120. </table>
  121. </form>
  122. </div>
  123. </fieldset>
  124. </div>
  125. <!-- jQuery -->
  126. <script src="/static/lib/jquery/dist/jquery.min.js"></script>
  127. <script src="/static/js/sysemployeesadd.js"></script>
  128. <script th:inline="javascript">
  129. var _hmt = _hmt || [];
  130. (function () {
  131. var hm = document.createElement("script");
  132. hm.src = "https://hm.baidu.com/hm.js?b393d153aeb26b46e9431fabaf0f6190";
  133. var s = document.getElementsByTagName("script")[0];
  134. s.parentNode.insertBefore(hm, s);
  135. })();
  136. </script>
  137. </body>
  138. </html>

员工修改页面代码:

  1. <!DOCTYPE html>
  2. <html xmlns:th="http://www.thymeleaf.org">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>欢迎页面-X-admin2.0</title>
  6. <meta name="renderer" content="webkit">
  7. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  8. <!--<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon"/>-->
  9. <link rel="stylesheet" href="/static/css/font.css">
  10. <link rel="stylesheet" href="/static/css/xadmin.css">
  11. <script type="text/javascript" src="/static/lib/jquery/dist/jquery.min.js"></script>
  12. <script src="/static/lib/layui/layui.js" charset="utf-8"></script>
  13. <script type="text/javascript" src="/static/js/xadmin.js"></script>
  14. </head>
  15. <body>
  16. <div class="x-body layui-anim layui-anim-up">
  17. <fieldset class="layui-elem-field">
  18. <legend>员工信息修改</legend>
  19. <div class="layui-field-box">
  20. <form class="layui-form" onsubmit="return updEmployees()" id="form1">
  21. <input type="hidden" name="e_Id" th:value="${newEmployee.e_Id}">
  22. <table class="layui-table">
  23. <tr style="border: 0px">
  24. <td>员工编码</td>
  25. <td>
  26. <input class="layui-input" name="e_Code" type="text" th:value="${newEmployee.e_Code}"/>
  27. </td>
  28. </tr>
  29. <tr>
  30. <td>员工姓名</td>
  31. <td>
  32. <input class="layui-input" name="e_RealName" type="text" th:value="${newEmployee.e_RealName}"/>
  33. </td>
  34. </tr>
  35. <tr>
  36. <td>性别</td>
  37. <td>
  38. <input type="radio" name="e_Sex.sex_Id" value="1" id="male"
  39. th:checked="${newEmployee.e_Sex.sex_Id eq 1}"/>
  40. <label for="male"></label>
  41. <input type="radio" name="e_Sex.sex_Id" value="2" id="female"
  42. th:checked="${newEmployee.e_Sex.sex_Id eq 2}"/>
  43. <label for="female"></label>
  44. </td>
  45. </tr>
  46. <tr>
  47. <td>状态</td>
  48. <td>
  49. <input type="radio" name="e_Status.st_Id" value="1" id="normal"
  50. th:checked="${newEmployee.e_Status.st_Id eq 1}"/>
  51. <label for="normal">正常</label>
  52. <input type="radio" name="e_Status.st_Id" value="2" id="disable"
  53. th:checked="${newEmployee.e_Status.st_Id eq 2}"/>
  54. <label for="disable">禁用</label>
  55. </td>
  56. </tr>
  57. <tr>
  58. <td>所属部门</td>
  59. <td>
  60. <select name="e_DeptId.d_Id" class="layui-select">
  61. <option value="0">--请选择--</option>
  62. <option th:selected="${newEmployee.e_DeptId.d_Id eq dept.d_Id}" th:each="dept:${depts}"
  63. th:value="${dept.d_Id}" th:text="${dept.d_Name}"></option>
  64. </select>
  65. </td>
  66. </tr>
  67. <tr>
  68. <td>角色身份</td>
  69. <td th:text="${newEmployee.e_Role.r_Name}"></td>
  70. </tr>
  71. <tr>
  72. <td>备注信息</td>
  73. <td>
  74. <textarea name="e_Description" class="layui-textarea" th:text="${newEmployee.e_Description}"></textarea>
  75. </td>
  76. </tr>
  77. <tr>
  78. <td colspan="2" style="text-align: center">
  79. <input type="submit" value="提交" class="layui-btn layui-bg-blue"/>
  80. <input type="button" value="返回" class="layui-btn layui-bg-blue" onclick="back()"/>
  81. </td>
  82. </tr>
  83. </table>
  84. </form>
  85. </div>
  86. </fieldset>
  87. </div>
  88. <!-- jQuery -->
  89. <script src="/static/lib/jquery/dist/jquery.min.js"></script>
  90. <!-- Datatables -->
  91. <script src="/static/vendors/datatables.net/js/jquery.dataTables.min.js"></script>
  92. <script src="/static/vendors/datatables.net-bs/js/dataTables.bootstrap.min.js"></script>
  93. <script src="/static/js/sysemployeesmodify.js"></script>
  94. <script th:inline="javascript">
  95. var _hmt = _hmt || [];
  96. (function () {
  97. var hm = document.createElement("script");
  98. hm.src = "https://hm.baidu.com/hm.js?b393d153aeb26b46e9431fabaf0f6190";
  99. var s = document.getElementsByTagName("script")[0];
  100. s.parentNode.insertBefore(hm, s);
  101. })();
  102. </script>
  103. </body>
  104. </html>

员工详情页面代码:

  1. <!DOCTYPE html>
  2. <html xmlns:th="http://www.thymeleaf.org">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>欢迎页面-X-admin2.0</title>
  6. <meta name="renderer" content="webkit">
  7. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  8. <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon"/>
  9. <link rel="stylesheet" href="/static/css/font.css">
  10. <link rel="stylesheet" href="/static/css/xadmin.css">
  11. <script type="text/javascript" src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>
  12. <script src="/static/lib/layui/layui.js" charset="utf-8"></script>
  13. <script type="text/javascript" src="/static/js/xadmin.js"></script>
  14. </head>
  15. <body>
  16. <div class="x-body layui-anim layui-anim-up">
  17. <fieldset class="layui-elem-field">
  18. <legend>员工信息</legend>
  19. <div class="layui-field-box">
  20. <table class="layui-table" lay-skin="nob">
  21. <tr style="border: 0px">
  22. <td>员工编码</td>
  23. <td th:text="${newEmployee.e_Code}"></td>
  24. </tr>
  25. <tr>
  26. <td>员工姓名</td>
  27. <td th:text="${newEmployee.e_RealName}"></td>
  28. </tr>
  29. <tr>
  30. <td>性别</td>
  31. <td th:text="${newEmployee.e_Sex.sex_Name}"></td>
  32. </tr>
  33. <tr>
  34. <td>状态</td>
  35. <td th:text="${newEmployee.e_Status.st_Name}"></td>
  36. </tr>
  37. <tr>
  38. <td>所属部门</td>
  39. <td th:text="${newEmployee.e_DeptId.d_Name}"></td>
  40. </tr>
  41. <tr>
  42. <td>角色身份</td>
  43. <td th:text="${newEmployee.e_Role.r_Name}"></td>
  44. </tr>
  45. <tr>
  46. <td>备注信息</td>
  47. <td th:text="${newEmployee.e_Description}"></td>
  48. </tr>
  49. </table>
  50. </div>
  51. </fieldset>
  52. </div>
  53. <!-- jQuery -->
  54. <script src="/static/lib/jquery/dist/jquery.min.js"></script>
  55. <script th:inline="javascript">
  56. var _hmt = _hmt || [];
  57. (function () {
  58. var hm = document.createElement("script");
  59. hm.src = "https://hm.baidu.com/hm.js?b393d153aeb26b46e9431fabaf0f6190";
  60. var s = document.getElementsByTagName("script")[0];
  61. s.parentNode.insertBefore(hm, s);
  62. })();
  63. </script>
  64. </body>
  65. </html>

员工sysemployees.js代码:

  1. $(document).ready(function () {
  2. x();
  3. });
  4. function x() {
  5. $('#employees').dataTable({
  6. "searching": false,
  7. "serverSide": true,//是否启用服务器处理数据源
  8. "language": {
  9. "lengthMenu": "每页 _MENU_ 条记录",
  10. "zeroRecords": "没有找到记录",
  11. "info": "第 _PAGE_ 页 ( 总共 _PAGES_ 页 )",
  12. "infoEmpty": "无记录",
  13. "infoFiltered": "(从 _MAX_ 条记录过滤)",
  14. "paginate": {
  15. "previous": "上一页",
  16. "next": "下一页",
  17. "processing": "正在处理中...."
  18. }
  19. },
  20. "columnDefs": [
  21. {"title": "员工姓名", "targets": 0},
  22. {"title": "性别", "targets": 1},
  23. {"title": "所在部门", "targets": 2},
  24. {"title": "角色", "targets": 3},
  25. {"title": "状态", "targets": 4},
  26. {"title": "最后修改时间", "targets": 5},
  27. {"title": "操作人", "targets": 6},
  28. {"title": "操作", "targets": 7}
  29. ],
  30. "ajax": {
  31. "url": "/employeeList",
  32. "type": "POST",
  33. "data":function (d) {
  34. d.e_RealName = $("#e_RealName").val();
  35. },
  36. "dataType": "json"
  37. },
  38. "columns": [
  39. {"data": "e_RealName"},
  40. {"data": "e_Sex.sex_Name"},
  41. {"data": "e_DeptId.d_Name"},
  42. {"data": "e_Role.r_Name"},
  43. {"data": "e_Status.st_Name"},
  44. {"data": "e_ModifyTime",defaultContent: ""},
  45. {"data": "e_ModifyId.e_RealName",defaultContent: ""},
  46. {
  47. "data": "e_Id","width":"200px", "render": function (data, type, full, meta) {
  48. return "<div class=\"layui-btn-group\">\n" +
  49. " <a class=\"layui-btn layui-btn-sm\" onclick=\"x_admin_show(null,'/getEmployee/"+data+"/get',600,400)\">\n" +
  50. " <i class=\"layui-icon\"></i>\n" +
  51. " </a>\n" +
  52. " <a class=\"layui-btn layui-btn-sm\" onclick=\"x_admin_show(null,'/getEmployee/"+data+"/modify',600,600,true)\">\n" +
  53. " <i class=\"layui-icon\"></i>\n" +
  54. " </a>\n" +
  55. " <a class=\"layui-btn layui-btn-sm\" onclick=\"x_admin_show(null,'/getRole/"+data+"/modify',600,450,true)\">\n" +
  56. " <i class=\"layui-icon\"></i>\n" +
  57. " </a>\n" +
  58. " <a class=\"layui-btn layui-btn-sm\" onclick=\"delEmployees("+data+",'"+full.e_RealName+"')\">\n" +
  59. " <i class=\"layui-icon\"></i>\n" +
  60. " </a>\n" +
  61. "</div>";
  62. }
  63. }
  64. ]
  65. });
  66. $(".btn-success").on("click", function () {
  67. $("#employees").DataTable().ajax.reload();
  68. });
  69. $("#employeesQuery").on("click", function () {
  70. $("#employees").DataTable().ajax.reload();
  71. });
  72. }
  73. function delEmployees(id,name) {
  74. layer.confirm("确认删除员工:"+name, {icon: 3, title:'提示'},function () {
  75. $.ajax({
  76. type:"POST",
  77. url:"/DeleteEmployees",
  78. data:{e_Id:id},
  79. dataType:"JSON",
  80. success:function (data) {
  81. if(data == true){
  82. layer.msg("删除成功!");
  83. parent.$("#employees").DataTable().ajax.reload();
  84. return true;
  85. }else {
  86. layer.msg("删除失败!");
  87. return false;
  88. }
  89. }
  90. });
  91. });
  92. }

员工sysemployeesadd.js代码:

  1. function back() {
  2. parent.layer.closeAll();
  3. }
  4. function addEmployee() {
  5. $.ajax({
  6. type: "POST",
  7. url: "/AddEmployees",
  8. data: $("#form1").serialize(),
  9. dataType: "JSON",
  10. success: function (data) {
  11. if (data = "true") {
  12. layer.msg("添加成功!");
  13. parent.$("#employees").DataTable().ajax.reload();
  14. } else {
  15. layer.msg("添加失败!");
  16. }
  17. }
  18. });
  19. }
  20. $(function () {
  21. var e_Code = $("#e_Code");
  22. var e_LoginName = $("#e_LoginName");
  23. e_Code.bind("blur", function () {
  24. $.ajax({
  25. type: "POST",//请求类型
  26. url: "/ExistCode",//请求的url
  27. data: {e_Code: e_Code.val()},//请求参数
  28. dataType: "json",//ajax接口(请求url)返回的数据类型
  29. success: function (data) {//data:返回数据(json对象)
  30. if (data == "null") {//账号可用,正确提示
  31. layer.msg("编号可用!");
  32. } else if (data == "") {//账号不可为空,错的提示
  33. layer.msg("编号不能为空!");
  34. } else {//账号已存在,错的提示
  35. layer.msg("编号已存在!");
  36. }
  37. }
  38. });
  39. });
  40. e_LoginName.bind("blur", function () {
  41. $.ajax({
  42. type: "POST",//请求类型
  43. url: "/ExistLoginName",//请求的url
  44. data: {e_LoginName: e_LoginName.val()},//请求参数
  45. dataType: "json",//ajax接口(请求url)返回的数据类型
  46. success: function (data) {//data:返回数据(json对象)
  47. if (data == "null") {//账号可用,正确提示
  48. layer.msg("账号可用!");
  49. } else if (data == "") {//账号不可为空,错的提示
  50. layer.msg("账号不能为空!");
  51. } else {//账号已存在,错的提示
  52. layer.msg("账号已存在!");
  53. }
  54. }
  55. });
  56. });
  57. })

员工sysemployeesmodify.js代码:

  1. function back() {
  2. parent.layer.closeAll();
  3. }
  4. function updEmployees() {
  5. $.ajax({
  6. type:"POST",
  7. url:"/modifyEmployees",
  8. data:$("#form1").serialize(),
  9. dataType:"JSON",
  10. success:function (data) {
  11. if(data="true"){
  12. layer.msg("修改成功!");
  13. parent.$("#employees").DataTable().ajax.reload();
  14. }else{
  15. layer.msg("修改失败!");
  16. }
  17. }
  18. });
  19. }

发表评论

表情:
评论列表 (有 0 条评论,490人围观)

还没有评论,来说两句吧...

相关阅读