Przeglądaj źródła

新增个人信息修改

RuoYi 7 lat temu
rodzic
commit
6f6a9c8ca0

+ 3 - 1
pom.xml

@@ -23,7 +23,9 @@
 		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
 		<java.version>1.8</java.version>
 		<shiro.version>1.3.2</shiro.version>
-		<thymeleaf-extras-shiro.version>1.2.1</thymeleaf-extras-shiro.version>
+		<thymeleaf.version>3.0.2.RELEASE</thymeleaf.version>
+    	<thymeleaf-layout-dialect.version>2.0.1</thymeleaf-layout-dialect.version>
+		<thymeleaf-extras-shiro.version>2.0.0</thymeleaf-extras-shiro.version>
 		<mybatis-spring-boot-starter.version>1.1.1</mybatis-spring-boot-starter.version>
 		<fastjson.version>1.2.31</fastjson.version>
 		<druid.version>1.0.28</druid.version>		

+ 4 - 2
sql/ry_20180423.sql → sql/ry_20180505.sql

@@ -44,6 +44,8 @@ create table sys_user (
   user_name 		varchar(30) 	default '' 				   comment '用户昵称',
   email  			varchar(100) 	default '' 				   comment '用户邮箱',
   phonenumber  		varchar(20) 	default '' 				   comment '手机号码',
+  sex  		        char(20) 	    default '0' 			   comment '用户性别:0男,1女',
+  avatar            varchar(100) 	default '' 				   comment '头像路径',
   password 			varchar(100) 	default '' 				   comment '密码',
   salt 				varchar(100) 	default '' 				   comment '盐加密',
   user_type         char(1)         default 'N'                comment '类型:Y默认用户,N非默认用户',
@@ -59,8 +61,8 @@ create table sys_user (
 -- ----------------------------
 -- 初始化-用户信息表数据
 -- ----------------------------
-insert into sys_user values(1, 106, 'admin', '若依', 'yzz_ivy@163.com', '15088888888', '29c67a30398638269fe600f73a054934', '111111', 'Y', 0, '维护中', 'admin', '2018-03-01', 'ry', '2018-03-01');
-insert into sys_user values(2, 108, 'ry',    '若依', 'ry@163.com',      '15288888888', '8e6d98b90472783cc73c17047ddccf36', '222222', 'N', 1, '锁定中', 'admin', '2018-03-01', 'ry', '2018-03-01');
+insert into sys_user values(1, 106, 'admin', '若依', 'yzz_ivy@163.com', '15088888888', '0', 'img/a5.jpg', '29c67a30398638269fe600f73a054934', '111111', 'N', 1, '维护中', 'admin', '2018-03-01', 'ry', '2018-03-01');
+insert into sys_user values(2, 108, 'ry',    '若依', 'ry@163.com',      '15288888888', '1', 'img/a5.jpg', '8e6d98b90472783cc73c17047ddccf36', '222222', 'N', 1, '锁定中', 'admin', '2018-03-01', 'ry', '2018-03-01');
 
 
 -- ----------------------------

+ 2 - 2
src/main/java/com/ruoyi/project/system/post/dao/IPostDao.java

@@ -12,10 +12,10 @@ public interface IPostDao
 {
 
     /**
-     * 查询系统操作日志集合
+     * 查询岗位数据集合
      * 
      * @param post 岗位信息
-     * @return 操作日志集合
+     * @return 岗位数据集合
      */
     public List<Post> selectPostList(Post post);
 

+ 0 - 7
src/main/java/com/ruoyi/project/system/user/controller/IndexController.java

@@ -47,11 +47,4 @@ public class IndexController extends BaseController
         return "main";
     }
 
-    // 个人信息
-    @GetMapping("/system/profile")
-    public String profile(Model model)
-    {
-        return "system/user/profile";
-    }
-
 }

+ 31 - 7
src/main/java/com/ruoyi/project/system/user/controller/UserController.java

@@ -37,10 +37,10 @@ public class UserController extends BaseController
 
     @Autowired
     private IUserService userService;
-    
+
     @Autowired
     private IRoleService roleService;
-    
+
     @Autowired
     private IPostService postService;
 
@@ -92,7 +92,7 @@ public class UserController extends BaseController
         model.addAttribute("posts", posts);
         return prefix + "/add";
     }
-    
+
     @RequiresPermissions("system:user:resetPwd")
     @Log(title = "系统管理", action = "用户管理-重置密码")
     @GetMapping("/resetPwd/{userId}")
@@ -102,7 +102,7 @@ public class UserController extends BaseController
         model.addAttribute("user", user);
         return prefix + "/resetPwd";
     }
-    
+
     @RequiresPermissions("system:user:resetPwd")
     @Log(title = "系统管理", action = "用户管理-重置密码")
     @PostMapping("/resetPwd")
@@ -120,7 +120,7 @@ public class UserController extends BaseController
     @RequiresPermissions("system:user:remove")
     @Log(title = "系统管理", action = "用户管理-删除用户")
     @RequestMapping("/remove/{userId}")
-    @Transactional(rollbackFor=Exception.class)
+    @Transactional(rollbackFor = Exception.class)
     @ResponseBody
     public Message remove(@PathVariable("userId") Long userId)
     {
@@ -139,7 +139,7 @@ public class UserController extends BaseController
     @RequiresPermissions("system:user:batchRemove")
     @Log(title = "系统管理", action = "用户管理-批量删除")
     @PostMapping("/batchRemove")
-    @Transactional(rollbackFor=Exception.class)
+    @Transactional(rollbackFor = Exception.class)
     @ResponseBody
     public Message batchRemove(@RequestParam("ids[]") Long[] ids)
     {
@@ -157,7 +157,7 @@ public class UserController extends BaseController
     @RequiresPermissions("system:user:save")
     @Log(title = "系统管理", action = "部门管理-保存部门")
     @PostMapping("/save")
-    @Transactional(rollbackFor=Exception.class)
+    @Transactional(rollbackFor = Exception.class)
     @ResponseBody
     public Message save(User user)
     {
@@ -183,4 +183,28 @@ public class UserController extends BaseController
         return uniqueFlag;
     }
 
+    /**
+     * 个人信息
+     */
+    @GetMapping("/profile")
+    public String profile(Model model)
+    {
+        User user = getUser();
+        String sex = user.getSex();
+        if ("0".equals(sex))
+        {
+            user.setSex("性别:男");
+        }
+        else if ("1".equals(sex))
+        {
+            user.setSex("性别:女");
+        }
+        String roleGroup = userService.selectUserRoleGroup(user.getUserId());
+        String postGroup = userService.selectUserPostGroup(user.getUserId());
+        model.addAttribute("user", user);
+        model.addAttribute("roleGroup", roleGroup);
+        model.addAttribute("postGroup", postGroup);
+        return prefix + "/profile";
+    }
+
 }

+ 24 - 0
src/main/java/com/ruoyi/project/system/user/domain/User.java

@@ -28,6 +28,10 @@ public class User extends PageDomain
     private String email;
     /** 手机号码 */
     private String phonenumber;
+    /** 用户性别 */
+    private String sex;
+    /** 用户头像 */
+    private String avatar;
     /** 密码 */
     private String password;
     /** 盐加密 */
@@ -123,6 +127,26 @@ public class User extends PageDomain
         this.phonenumber = phonenumber;
     }
 
+    public String getSex()
+    {
+        return sex;
+    }
+
+    public void setSex(String sex)
+    {
+        this.sex = sex;
+    }
+
+    public String getAvatar()
+    {
+        return avatar;
+    }
+
+    public void setAvatar(String avatar)
+    {
+        this.avatar = avatar;
+    }
+
     public String getPassword()
     {
         return password;

+ 17 - 1
src/main/java/com/ruoyi/project/system/user/service/IUserService.java

@@ -58,7 +58,7 @@ public interface IUserService
      * @return 结果
      */
     public int saveUser(User user);
-    
+
     /**
      * 修改用户信息
      * 
@@ -75,4 +75,20 @@ public interface IUserService
      */
     public String checkUserNameUnique(String loginName);
 
+    /**
+     * 根据用户ID查询用户所属角色组
+     * 
+     * @param userId 用户ID
+     * @return 结果
+     */
+    public String selectUserRoleGroup(Long userId);
+
+    /**
+     * 根据用户ID查询用户所属岗位组
+     * 
+     * @param userId 用户ID
+     * @return 结果
+     */
+    public String selectUserPostGroup(Long userId);
+
 }

+ 54 - 0
src/main/java/com/ruoyi/project/system/user/service/UserServiceImpl.java

@@ -10,6 +10,10 @@ import com.ruoyi.common.constant.UserConstants;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.security.ShiroUtils;
 import com.ruoyi.framework.shiro.service.PasswordService;
+import com.ruoyi.project.system.post.dao.IPostDao;
+import com.ruoyi.project.system.post.domain.Post;
+import com.ruoyi.project.system.role.dao.IRoleDao;
+import com.ruoyi.project.system.role.domain.Role;
 import com.ruoyi.project.system.user.dao.IUserDao;
 import com.ruoyi.project.system.user.dao.IUserPostDao;
 import com.ruoyi.project.system.user.dao.IUserRoleDao;
@@ -29,6 +33,12 @@ public class UserServiceImpl implements IUserService
     @Autowired
     private IUserDao userDao;
 
+    @Autowired
+    private IRoleDao roleDao;
+
+    @Autowired
+    private IPostDao postDao;
+
     @Autowired
     private IUserPostDao userPostDao;
 
@@ -220,4 +230,48 @@ public class UserServiceImpl implements IUserService
         }
         return UserConstants.NAME_UNIQUE;
     }
+
+    /**
+     * 查询用户所属角色组
+     * 
+     * @param userId 用户ID
+     * @return 结果
+     */
+    @Override
+    public String selectUserRoleGroup(Long userId)
+    {
+        List<Role> list = roleDao.selectRolesByUserId(userId);
+        StringBuffer idsStr = new StringBuffer();
+        for (Role role : list)
+        {
+            idsStr.append(role.getRoleName()).append(",");
+        }
+        if (StringUtils.isNotEmpty(idsStr.toString()))
+        {
+            idsStr.substring(0, idsStr.length() - 1);
+        }
+        return idsStr.toString();
+    }
+
+    /**
+     * 查询用户所属岗位组
+     * 
+     * @param userId 用户ID
+     * @return 结果
+     */
+    @Override
+    public String selectUserPostGroup(Long userId)
+    {
+        List<Post> list = postDao.selectPostsByUserId(userId);
+        StringBuffer idsStr = new StringBuffer();
+        for (Post post : list)
+        {
+            idsStr.append(post.getPostName()).append(",");
+        }
+        if (StringUtils.isNotEmpty(idsStr.toString()))
+        {
+            idsStr.substring(0, idsStr.length() - 1);
+        }
+        return idsStr.toString();
+    }
 }

+ 3 - 3
src/main/resources/mybatis/system/RoleMapper.xml

@@ -18,7 +18,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 	</resultMap>
 	
 	<select id="selectRoleList" parameterType="Role" resultMap="RoleResult">
-		select role_id, role_name, role_key, role_sort, status, create_time from sys_role
+		select role_id, role_name, role_key, role_sort, status, create_time, remark from sys_role
 		<where>
 			<if test="searchValue != null and searchValue != ''">
 				AND role_name = #{searchValue} OR role_key = #{searchValue}
@@ -35,11 +35,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 	</select>
 	
 	<select id="selectRolesAll" resultMap="RoleResult">
-		SELECT role_id, role_name, role_key, role_sort, status, create_time FROM sys_role
+		SELECT role_id, role_name, role_key, role_sort, status, create_time, remark FROM sys_role
 	</select>
 	
 	<select id="selectRoleById" parameterType="Long" resultMap="RoleResult">
-		select role_id, role_name, role_key, role_sort, status, create_time
+		select role_id, role_name, role_key, role_sort, status, create_time, remark
 		from sys_role u
 		where u.role_id = #{roleId}
 	</select>

+ 9 - 3
src/main/resources/mybatis/system/UserMapper.xml

@@ -11,6 +11,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 		<result property="userName"     column="user_name"    />
 		<result property="email"        column="email"        />
 		<result property="phonenumber"  column="phonenumber"  />
+		<result property="sex"          column="sex"          />
+		<result property="avatar"       column="avatar"       />
 		<result property="password"     column="password"     />
 		<result property="salt"         column="salt"         />
 		<result property="userType"     column="user_type"    />
@@ -32,7 +34,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 	</resultMap>
 	
 	<select id="selectUserList" parameterType="User" resultMap="UserResult">
-		select user_id, dept_id, login_name, user_name, email, phonenumber, password, salt, user_type, status, refuse_des, create_by, create_time from sys_user
+		select user_id, dept_id, login_name, user_name, email, phonenumber, password, sex, avatar, salt, user_type, status, refuse_des, create_by, create_time from sys_user
 		<where>
 			<if test="searchValue != null and searchValue != ''">
 				AND login_name = #{searchValue}
@@ -44,7 +46,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 	</select>
 	
 	<select id="selectUserByName" parameterType="String" resultMap="UserResult">
-		select  u.user_id, u.dept_id, u.login_name, u.user_name, u.email, u.phonenumber, u.password, u.salt, u.status, u.refuse_des, u.create_time,
+		select  u.user_id, u.dept_id, u.login_name, u.user_name, u.email, u.phonenumber, u.sex, u.avatar, u.password, u.salt, u.status, u.refuse_des, u.create_time,
        		    d.dept_id, d.parent_id, d.dept_name, d.order_num, d.status as dept_status
 		from sys_user u
 			 left join sys_dept d on u.dept_id = d.dept_id
@@ -57,7 +59,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 	</select>
 	
 	<select id="selectUserById" parameterType="Long" resultMap="UserResult">
-		select  u.user_id, u.dept_id, u.login_name, u.user_name, u.email, u.phonenumber, u.password, u.salt, u.status, u.refuse_des, u.create_time,
+		select  u.user_id, u.dept_id, u.login_name, u.user_name, u.email, u.phonenumber, u.sex, u.avatar, u.password, u.salt, u.status, u.refuse_des, u.create_time,
        		    d.dept_id, d.parent_id, d.dept_name, d.order_num, d.status as dept_status
 		from sys_user u
 			 left join sys_dept d on u.dept_id = d.dept_id
@@ -84,6 +86,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  			<if test="userName != null and userName != ''">user_name = #{userName},</if>
  			<if test="email != null and email != ''">email = #{email},</if>
  			<if test="phonenumber != null and phonenumber != ''">phonenumber = #{phonenumber},</if>
+ 			<if test="sex != null and sex != ''">sex = #{sex},</if>
+ 			<if test="avatar != null and avatar != ''">avatar = #{avatar},</if>
  			<if test="password != null and password != ''">password = #{password},</if>
  			<if test="salt != null and salt != ''">salt = #{salt},</if>
  			<if test="status !=null">status = #{status},</if>
@@ -103,6 +107,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  			<if test="userName != null and userName != ''">user_name,</if>
  			<if test="email != null and email != ''">email,</if>
  			<if test="phonenumber != null and phonenumber != ''">phonenumber,</if>
+ 			<if test="sex != null and sex != ''">sex,</if>
  			<if test="password != null and password != ''">password,</if>
  			<if test="salt != null and salt != ''">salt,</if>
  			<if test="status !=null and status != ''">status,</if>
@@ -116,6 +121,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  			<if test="userName != null and userName != ''">#{userName},</if>
  			<if test="email != null and email != ''">#{email},</if>
  			<if test="phonenumber != null and phonenumber != ''">#{phonenumber},</if>
+ 			<if test="sex != null and sex != ''">#{sex},</if>
  			<if test="password != null and password != ''">#{password},</if>
  			<if test="salt != null and salt != ''">#{salt},</if>
  			<if test="status !=null and status != ''">#{status},</if>

+ 16 - 4
src/main/resources/static/ruoyi/js/ry-ui.js

@@ -138,15 +138,27 @@ $(function(){
 	}
 	// 获取选中复选框项
 	$.getCheckeds = function (_name) {
-	    var roleIds = "";
+	    var checkeds = "";
 	    $('input:checkbox[name="' + _name + '"]:checked').each(function(i) {
 	        if (0 == i) {
-	        	roleIds = $(this).val();
+	        	checkeds = $(this).val();
 	        } else {
-	        	roleIds += ("," + $(this).val());
+	        	checkeds += ("," + $(this).val());
 	        }
 	    });
-	    return roleIds;
+	    return checkeds;
+	}
+	// 获取选中复选框项
+	$.getSelects = function (_name) {
+	    var selects = "";
+	    $('#' + _name + ' option:selected').each(function (i) {
+	        if (0 == i) {
+	        	selects = $(this).val();
+	        } else {
+	        	selects += ("," + $(this).val());
+	        }
+	    });
+	    return selects;
 	}
 	// 复选框事件绑定
 	if ($.fn.select2 !== undefined) {

+ 3 - 1
src/main/resources/static/ruoyi/system/user/add.js

@@ -51,9 +51,10 @@ function add() {
 	var password = $("input[name='password']").val();
 	var email = $("input[name='email']").val();
 	var phonenumber = $("input[name='phonenumber']").val();
+	var sex = $("input[name='sex']:checked").val();
 	var status = $("input[name='status']").is(':checked') == true ? 0 : 1;
 	var roleIds = $.getCheckeds("role");
-	var postIds = $("#post").val() + "";
+	var postIds = $.getSelects("post");
 	$.ajax({
 		cache : true,
 		type : "POST",
@@ -66,6 +67,7 @@ function add() {
 			"password": password,
 			"email": email,
 			"phonenumber": phonenumber,
+			"sex": sex,
 			"status": status,
 			"roleIds": roleIds,
 			"postIds": postIds

+ 3 - 1
src/main/resources/static/ruoyi/system/user/edit.js

@@ -27,9 +27,10 @@ function update() {
 	var password = $("input[name='password']").val();
 	var email = $("input[name='email']").val();
 	var phonenumber = $("input[name='phonenumber']").val();
+	var sex = $("input[name='sex']:checked").val();
 	var status = $("input[name='status']").is(':checked') == true ? 0 : 1;
 	var roleIds = $.getCheckeds("role");
-	var postIds = $("#post").val() + "";
+	var postIds = $.getSelects("post");
 	$.ajax({
 		cache : true,
 		type : "POST",
@@ -41,6 +42,7 @@ function update() {
 			"password": password,
 			"email": email,
 			"phonenumber": phonenumber,
+			"sex": sex,
 			"status": status,
 			"roleIds": roleIds,
 			"postIds": postIds

+ 6 - 6
src/main/resources/templates/index.html

@@ -11,7 +11,7 @@
     <!--[if lt IE 9]>
     <meta http-equiv="refresh" content="0;ie.html"/>
     <![endif]-->
-    <link rel="shortcut icon" href="../static/favicon.ico" th:href="@{favicon.ico}" rel="stylesheet"/>
+    <link href="../static/favicon.ico" th:href="@{favicon.ico}" rel="stylesheet"/>
     <link href="../static/css/bootstrap.min.css" th:href="@{/css/bootstrap.min.css}" rel="stylesheet"/>
     <link href="../static/css/font-awesome.min.css" th:href="@{/css/font-awesome.css}" rel="stylesheet"/>
     <link href="../static/css/animate.css" th:href="@{/css/animate.css}" rel="stylesheet"/>
@@ -34,10 +34,10 @@
                     <div class="dropdown profile-element"> <span>
                          <img src="img/profile_small.jpg" alt="image" class="img-circle" height="60" width="60"/></span>
                          <a data-toggle="dropdown" class="dropdown-toggle" href="#">
-                         <span class="clear"><span class="block m-t-xs"><strong class="font-bold" th:text="${user.userName}">RuoYi</strong></span>
-                         <span class="text-muted text-xs block"><span th:text="${user.dept.deptName}">研发部</span> <b class="caret"></b></span> </span> </a>
+                          <span class="clear"><span class="block m-t-xs"><strong class="font-bold">[[${user.userName}]]</strong></span>
+                         <span class="text-muted text-xs block"><span>[[${user.dept.deptName}]]</span> <b class="caret"></b></span> </span> </a>
                          <ul class="dropdown-menu animated fadeInRight m-t-xs">
-                             <li><a class="menuItem" th:href="@{/system/profile}">个人信息</a></li>
+                             <li><a class="menuItem" th:href="@{/system/user/profile}">个人信息</a></li>
                              <li class="divider"></li>
                              <li><a th:href="@{logout}">退出</a></li>
                          </ul>
@@ -86,7 +86,7 @@
 	                <li>
 	                    <span class="m-r-sm text-muted welcome-message">欢迎来到若依管理后台.</span>
 	                </li>
-                    <li class="hidden-xs"><a th:href="@{logout}"><i class="fa fa-sign-out"></i>退出</li>
+                    <li class="hidden-xs"><a th:href="@{logout}"><i class="fa fa-sign-out"></i>退出</a></li>
                 </ul>
             </nav>
         </div>
@@ -118,7 +118,7 @@
                     th:src="@{/system/main}" frameborder="0" seamless></iframe>
         </div>
         <div class="footer">
-            <div class="pull-right" th:text="'© '+${copyrightYear}+' RuoYi Copyright '"></div>
+            <div class="pull-right">© [[${copyrightYear}]] RuoYi Copyright </div>
         </div>
     </div>
     <!--右侧部分结束-->

+ 1 - 1
src/main/resources/templates/main.html

@@ -35,7 +35,7 @@
             <h2>若依后台管理框架</h2>
             <p>一直想做一款后台管理系统,看了很多优秀的开源项目但是发现没有合适自己的。于是利用空闲休息时间开始自己写一套后台系统。如此有了若依管理系统。,她可以用于所有的Web应用程序,如<b>网站管理后台</b>,<b>网站会员中心</b>,<b>CMS</b>,<b>CRM</b>,<b>OA</b>等等,当然,您也可以对她进行深度定制,以做出更强系统。所有前端后台代码封装过后十分精简易上手,出错概率低。同时支持移动客户端访问。系统会陆续更新一些实用功能。</p>
             <p>
-                <b>当前版本:</b><span th:text="'v'+${version}"></span>
+                <b>当前版本:</b><span>v[[${version}]]</span>
             </p>
             <p>
                 <span class="label label-warning">&yen;免费开源</span>

+ 14 - 1
src/main/resources/templates/system/user/add.html

@@ -36,7 +36,7 @@
 			<div class="form-group">
 				<label class="col-sm-3 control-label">邮箱:</label>
 				<div class="col-sm-8">
-					<input class="form-control" type="text" name="email" name="email">
+					<input class="form-control" type="text" name="email">
 				</div>
 			</div>
 			<div class="form-group">
@@ -45,6 +45,19 @@
 					<input class="form-control" type="text" name="phonenumber" id="phonenumber">
 				</div>
 			</div>
+			<div class="form-group">
+				<label class="col-sm-3 control-label">性别:</label>
+				<div class="col-sm-8">
+                     <div class="radio radio-info radio-inline">
+						<input type="radio" id="radio1" name="sex" value="0" checked="">
+						<label for="radio1">男</label>
+					</div>
+					<div class="radio radio-danger radio-inline">
+						<input type="radio" id="radio2" name="sex" value="1">
+						<label for="radio2">女</label>
+					</div>
+				</div>
+			</div>
 			<div class="form-group">
 				<label class="col-sm-3 control-label">状态:</label>
 				<div class="col-sm-8">

+ 14 - 1
src/main/resources/templates/system/user/edit.html

@@ -31,7 +31,7 @@
 			<div class="form-group">
 				<label class="col-sm-3 control-label">邮箱:</label>
 				<div class="col-sm-8">
-					<input class="form-control" type="text" name="email" name="email" th:value="${user.email}">
+					<input class="form-control" type="text" name="email" th:value="${user.email}">
 				</div>
 			</div>
 			<div class="form-group">
@@ -40,6 +40,19 @@
 					<input class="form-control" type="text" name="phonenumber" id="phonenumber" th:value="${user.phonenumber}">
 				</div>
 			</div>
+			<div class="form-group">
+				<label class="col-sm-3 control-label">性别:</label>
+				<div class="col-sm-8">
+					<div class="radio radio-info radio-inline">
+						<input type="radio" id="radio1" th:field="*{user.sex}" name="sex" value="0">
+						<label for="radio1">男</label>
+					</div>
+					<div class="radio radio-danger radio-inline">
+						<input type="radio" id="radio2" th:field="*{user.sex}" name="sex" value="1">
+						<label for="radio2">女</label>
+					</div>
+				</div>
+			</div>
 			<div class="form-group">
 				<label class="col-sm-3 control-label">状态:</label>
 				<div class="col-sm-8">

+ 39 - 11
src/main/resources/templates/system/user/profile.html

@@ -18,23 +18,35 @@
             <div class="col-sm-6">
                 <div class="ibox float-e-margins">
                     <div class="ibox-title">
-                        <h5>个人资料</h5>
+                        <h5>个人信息</h5>
+                    <div class="ibox-tools">
+                        
+                        <a class="dropdown-toggle" data-toggle="dropdown" href="profile.html#">
+                            <i class="fa fa-edit"></i>
+                        </a>
+                        <ul class="dropdown-menu dropdown-user">
+                            <li><a href="javascript:editProfile()">修改信息</a></li>
+                            <li><a href="javascript:editHead()">修改头像</a></li>
+                            <li><a href="javascript:editPasswod()">修改密码</a></li>
+                        </ul>
+                       
+                    </div>
                     </div>
                     <div class="contact-box">
 	                        <div class="col-sm-4">
 	                            <div class="text-center">
-	                                <img alt="image" class="img-circle m-t-xs img-responsive" src="/img/a2.jpg">
+	                                <img alt="image" class="img-circle m-t-xs img-responsive" src="/img/a5.jpg">
 	                                <div class="m-t-xs font-bold">CEO</div>
 	                            </div>
 	                        </div>
 	                        <div class="col-sm-8">
-	                            <h3><strong>admin</strong></h3>
-	                            <p><i class="fa fa-user"></i> 若依 / 管理员</p>
-	                            <p><i class="fa fa-phone"></i> 15888888888</p>
-	                            <p><i class="fa fa-group"></i> 开发一部 / 初级开发</p>
-	                            <p><i class="fa fa-transgender"></i> </p>
-	                            <p><i class="fa fa-envelope-o"></i> ruoyi@163.com</p>
-	                            <p><i class="fa fa-calendar"></i> 2018-05-20 13:14:00</p>
+	                            <h3><strong>[[${user.loginName}]]</strong></h3>
+	                            <p><i class="fa fa-user"></i> [[${user.userName}]] / [[${#strings.defaultString(roleGroup,'无角色')}]]
+	                            <p><i class="fa fa-phone"></i> [[${user.phonenumber}]]</p>
+	                            <p><i class="fa fa-group"></i> [[${user.dept.deptName}]] / [[${#strings.defaultString(postGroup,'无岗位')}]]</p>
+	                            <p><i class="fa fa-transgender"></i> [[${user.sex}]]</p>
+	                            <p><i class="fa fa-envelope-o"></i> [[${user.email}]]</p>
+	                            <p><i class="fa fa-calendar"></i> [[${user.createTime}]]</p>
 	                        </div>
 	                        <div class="clearfix"></div>
 	                    </a>
@@ -43,7 +55,23 @@
             </div>
         </div>
     </div>
-    <script src="../static/js/jquery.min.js" th:src="@{/js/jquery.min.js}"></script>
-    <script src="../static/js/bootstrap.min.js" th:src="@{/js/bootstrap.min.js}"></script>
+    
+    <div th:include="include::footer"></div>
+    <script>
+        var userId = [[${user.userId}]];
+	    /*用户信息-修改*/
+	    function editProfile() {
+	        var url = ctx + "system/user/edit/" + userId;
+	        layer_showAuto("修改用户", url);
+	    }
+	    /*用户头像-修改*/
+	    function editHead() {
+	    	$.modalAlert("敬请期待", "success");
+	    }
+	    /*用户密码-修改*/
+	    function editPasswod() {
+	    	$.modalAlert("敬请期待", "success");
+	    }
+	</script>
 </body>
 </html>

+ 1 - 1
src/main/resources/templates/system/user/resetPwd.html

@@ -45,7 +45,7 @@
 			$.ajax({
 				cache : true,
 				type : "post",
-				url : ctx + "/system/user/resetPwd",
+				url : ctx + "system/user/resetPwd",
 				data : $('#form-user-resetPwd').serialize(),
 				async : false,
 				error : function(request) {