Commit 58375f03 by fsn

个人资料里边添加头像功能

parent 1586c653
......@@ -20,6 +20,7 @@ public enum BizExceptionEnum {
*/
FILE_READING_ERROR(400,"FILE_READING_ERROR!"),
FILE_NOT_FOUND(400,"FILE_NOT_FOUND!"),
UPLOAD_ERROR(500,"上传图片出错"),
/**
* 权限和数据问题
......
......@@ -24,14 +24,13 @@ import org.apache.shiro.authc.AuthenticationException;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import javax.naming.NoPermissionException;
import javax.validation.Valid;
import java.io.File;
import java.util.Date;
import java.util.List;
import java.util.Map;
......@@ -299,4 +298,18 @@ public class UserMgrController extends BaseController {
this.managerDao.setRoles(userId, roleIds);
return SUCCESS_TIP;
}
/**
* 上传图片
* @return
*/
@RequestMapping(method = RequestMethod.POST, path = "/upload")
public @ResponseBody String upload(@RequestPart("file") MultipartFile picture){
try {
picture.transferTo(new File("e:/tmp/" + picture.getOriginalFilename()));
} catch (Exception e) {
throw new BussinessException(BizExceptionEnum.UPLOAD_ERROR);
}
return "succesPic";
}
}
@/*
头像参数的说明:
name : 名称
id : 头像的id
@*/
<div class="form-group">
<label class="col-sm-3 control-label head-scu-label">${name}</label>
<div class="col-sm-4">
<div id="${id}PreId">
<div><img width="100px" height="100px"
@if(isEmpty(avatarImg)){
src="${ctxPath}/static/img/girl.gif"></div>
@}else{
src="${ctxPath}/static/img/${avatarImg}"></div>
@}
</div>
</div>
<div class="col-sm-2">
<div class="head-scu-btn upload-btn" id="${id}BtnId">
<i class="fa fa-upload"></i>&nbsp;上传
</div>
</div>
<input type="hidden" id="${id}" />
</div>
@if(isNotEmpty(underline) && underline == 'true'){
<div class="hr-line-dashed"></div>
@}
......@@ -16,6 +16,8 @@
<div class="row">
<div class="col-sm-6 b-r">
<#avatar id="avatar" name="头像" underline="true" avatarImg="boy.gif"/>
<#input id="account" name="账户" underline="true" value="${user.account}" disabled="disabled" />
<#select id="sex" name="性别" underline="true" value="${user.sex}">
......
......@@ -2,71 +2,71 @@
* 用户详情对话框(可用于添加和修改对话框)
*/
var UserInfoDlg = {
userInfoData : {}
userInfoData: {}
};
/**
* 清除数据
*/
UserInfoDlg.clearData = function() {
this.userInfoData = {};
UserInfoDlg.clearData = function () {
this.userInfoData = {};
};
/**
* 设置对话框中的数据
*
*
* @param key 数据的名称
* @param val 数据的具体值
*/
UserInfoDlg.set = function(key, val) {
this.userInfoData[key] = (typeof value == "undefined") ? $("#" + key).val() : value;
return this;
UserInfoDlg.set = function (key, val) {
this.userInfoData[key] = (typeof value == "undefined") ? $("#" + key).val() : value;
return this;
};
/**
* 设置对话框中的数据
*
*
* @param key 数据的名称
* @param val 数据的具体值
*/
UserInfoDlg.get = function(key) {
return $("#" + key).val();
UserInfoDlg.get = function (key) {
return $("#" + key).val();
};
/**
* 关闭此对话框
*/
UserInfoDlg.close = function() {
parent.layer.close(window.parent.MgrUser.layerIndex);
UserInfoDlg.close = function () {
parent.layer.close(window.parent.MgrUser.layerIndex);
};
/**
* 点击部门input框时
*
*
* @param e
* @param treeId
* @param treeNode
* @returns
*/
UserInfoDlg.onClickDept = function(e, treeId, treeNode) {
$("#citySel").attr("value", instance.getSelectedVal());
$("#deptid").attr("value", treeNode.id);
UserInfoDlg.onClickDept = function (e, treeId, treeNode) {
$("#citySel").attr("value", instance.getSelectedVal());
$("#deptid").attr("value", treeNode.id);
};
/**
* 显示部门选择的树
*
*
* @returns
*/
UserInfoDlg.showDeptSelectTree = function() {
var cityObj = $("#citySel");
var cityOffset = $("#citySel").offset();
$("#menuContent").css({
left : cityOffset.left + "px",
top : cityOffset.top + cityObj.outerHeight() + "px"
}).slideDown("fast");
$("body").bind("mousedown", onBodyDown);
UserInfoDlg.showDeptSelectTree = function () {
var cityObj = $("#citySel");
var cityOffset = $("#citySel").offset();
$("#menuContent").css({
left: cityOffset.left + "px",
top: cityOffset.top + cityObj.outerHeight() + "px"
}).slideDown("fast");
$("body").bind("mousedown", onBodyDown);
};
/**
......@@ -74,12 +74,12 @@ UserInfoDlg.showDeptSelectTree = function() {
*
* @returns
*/
UserInfoDlg.showInfoDeptSelectTree = function() {
UserInfoDlg.showInfoDeptSelectTree = function () {
var cityObj = $("#citySel");
var cityPosition = $("#citySel").position();
$("#menuContent").css({
left : cityPosition.left + "px",
top : cityPosition.top + cityObj.outerHeight() + "px"
left: cityPosition.left + "px",
top: cityPosition.top + cityObj.outerHeight() + "px"
}).slideDown("fast");
$("body").bind("mousedown", onBodyDown);
......@@ -88,28 +88,28 @@ UserInfoDlg.showInfoDeptSelectTree = function() {
/**
* 隐藏部门选择的树
*/
UserInfoDlg.hideDeptSelectTree = function() {
$("#menuContent").fadeOut("fast");
$("body").unbind("mousedown", onBodyDown);// mousedown当鼠标按下就可以触发,不用弹起
UserInfoDlg.hideDeptSelectTree = function () {
$("#menuContent").fadeOut("fast");
$("body").unbind("mousedown", onBodyDown);// mousedown当鼠标按下就可以触发,不用弹起
};
/**
* 收集数据
*/
UserInfoDlg.collectData = function() {
this.set('id').set('account').set('sex').set('password')
.set('email').set('name').set('birthday').set('rePassword').set('deptid').set('phone');
UserInfoDlg.collectData = function () {
this.set('id').set('account').set('sex').set('password')
.set('email').set('name').set('birthday').set('rePassword').set('deptid').set('phone');
};
/**
* 验证两个密码是否一致
*/
UserInfoDlg.validatePwd = function(){
UserInfoDlg.validatePwd = function () {
var password = this.get("password");
var rePassword = this.get("rePassword");
if(password == rePassword){
if (password == rePassword) {
return true;
}else{
} else {
return false;
}
};
......@@ -117,55 +117,55 @@ UserInfoDlg.validatePwd = function(){
/**
* 提交添加用户
*/
UserInfoDlg.addSubmit = function() {
this.clearData();
this.collectData();
if(!this.validatePwd()){
Feng.error("两次密码输入不一致");
return;
UserInfoDlg.addSubmit = function () {
this.clearData();
this.collectData();
if (!this.validatePwd()) {
Feng.error("两次密码输入不一致");
return;
}
//提交信息
var ajax = new $ax(Feng.ctxPath + "/mgr/add", function(data){
Feng.success("添加成功!");
window.parent.MgrUser.table.refresh();
UserInfoDlg.close();
},function(data){
Feng.error("添加失败!" + data.responseJSON.message + "!");
});
ajax.set(this.userInfoData);
ajax.start();
//提交信息
var ajax = new $ax(Feng.ctxPath + "/mgr/add", function (data) {
Feng.success("添加成功!");
window.parent.MgrUser.table.refresh();
UserInfoDlg.close();
}, function (data) {
Feng.error("添加失败!" + data.responseJSON.message + "!");
});
ajax.set(this.userInfoData);
ajax.start();
};
/**
* 提交修改
*/
UserInfoDlg.editSubmit = function() {
this.clearData();
this.collectData();
//提交信息
var ajax = new $ax(Feng.ctxPath + "/mgr/edit", function(data){
Feng.success("修改成功!");
window.parent.MgrUser.table.refresh();
UserInfoDlg.close();
},function(data){
Feng.error("修改失败!" + data.responseJSON.message + "!");
});
ajax.set(this.userInfoData);
ajax.start();
UserInfoDlg.editSubmit = function () {
this.clearData();
this.collectData();
//提交信息
var ajax = new $ax(Feng.ctxPath + "/mgr/edit", function (data) {
Feng.success("修改成功!");
window.parent.MgrUser.table.refresh();
UserInfoDlg.close();
}, function (data) {
Feng.error("修改失败!" + data.responseJSON.message + "!");
});
ajax.set(this.userInfoData);
ajax.start();
};
/**
* 修改密码
*/
UserInfoDlg.chPwd = function(){
var ajax = new $ax(Feng.ctxPath + "/mgr/changePwd", function(data){
UserInfoDlg.chPwd = function () {
var ajax = new $ax(Feng.ctxPath + "/mgr/changePwd", function (data) {
Feng.success("修改成功!");
},function(data){
}, function (data) {
Feng.error("修改失败!" + data.responseJSON.message + "!");
});
ajax.set("oldPwd");
......@@ -176,18 +176,22 @@ UserInfoDlg.chPwd = function(){
};
function onBodyDown(event) {
if (!(event.target.id == "menuBtn" || event.target.id == "menuContent" || $(
event.target).parents("#menuContent").length > 0)) {
UserInfoDlg.hideDeptSelectTree();
}
if (!(event.target.id == "menuBtn" || event.target.id == "menuContent" || $(
event.target).parents("#menuContent").length > 0)) {
UserInfoDlg.hideDeptSelectTree();
}
}
$(function() {
var ztree = new $ZTree("treeDemo", "/dept/tree");
ztree.bindOnClick(UserInfoDlg.onClickDept);
ztree.init();
instance = ztree;
$(function () {
var ztree = new $ZTree("treeDemo", "/dept/tree");
ztree.bindOnClick(UserInfoDlg.onClickDept);
ztree.init();
instance = ztree;
//初始化性别选项
//初始化性别选项
$("#sex").val($("#sexValue").val());
// 初始化头像上传
var avatarUp = new $WebUpload("avatar");
avatarUp.init();
});
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment