/**
|
* 用户详情对话框(可用于添加和修改对话框)
|
*/
|
var UserInfoDlg = {
|
userInfoData: {},
|
validateFields: {
|
account: {
|
validators: {
|
notEmpty: {
|
message: '账户不能为空'
|
}
|
}
|
},
|
name: {
|
validators: {
|
notEmpty: {
|
message: '姓名不能为空'
|
}
|
}
|
},
|
citySel: {
|
validators: {
|
notEmpty: {
|
message: '部门不能为空'
|
}
|
}
|
},
|
password: {
|
validators: {
|
notEmpty: {
|
message: '密码不能为空'
|
},
|
identical: {
|
field: 'rePassword',
|
message: '两次密码不一致'
|
},
|
}
|
},
|
rePassword: {
|
validators: {
|
notEmpty: {
|
message: '密码不能为空'
|
},
|
identical: {
|
field: 'password',
|
message: '两次密码不一致'
|
},
|
}
|
}
|
}
|
};
|
|
/**
|
* 清除数据
|
*/
|
UserInfoDlg.clearData = function () {
|
this.userInfoData = {};
|
};
|
|
/**
|
* 设置对话框中的数据
|
*
|
* @param key 数据的名称
|
* @param val 数据的具体值
|
*/
|
UserInfoDlg.set = function (key, value) {
|
if(typeof value == "undefined"){
|
if(typeof $("#" + key).val() =="undefined"){
|
var str="";
|
var ids="";
|
$("input[name='"+key+"']:checkbox").each(function(){
|
if(true == $(this).is(':checked')){
|
str+=$(this).val()+",";
|
}
|
});
|
if(str){
|
if(str.substr(str.length-1)== ','){
|
ids = str.substr(0,str.length-1);
|
}
|
}else{
|
$("input[name='"+key+"']:radio").each(function(){
|
if(true == $(this).is(':checked')){
|
ids=$(this).val()
|
}
|
});
|
}
|
this.userInfoData[key] = ids;
|
}else{
|
this.userInfoData[key]= $("#" + key).val();
|
}
|
}
|
|
return this;
|
};
|
|
/**
|
* 设置对话框中的数据
|
*
|
* @param key 数据的名称
|
* @param val 数据的具体值
|
*/
|
UserInfoDlg.get = function (key) {
|
return $("#" + key).val();
|
};
|
|
/**
|
* 关闭此对话框
|
*/
|
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);
|
};
|
|
/**
|
* 显示部门选择的树
|
*
|
* @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);
|
};
|
|
/**
|
* 显示用户详情部门选择的树
|
*
|
* @returns
|
*/
|
UserInfoDlg.showInfoDeptSelectTree = function () {
|
var cityObj = $("#citySel");
|
var cityPosition = $("#citySel").position();
|
$("#menuContent").css({
|
left: cityPosition.left + "px",
|
top: cityPosition.top + cityObj.outerHeight() + "px"
|
}).slideDown("fast");
|
|
$("body").bind("mousedown", onBodyDown);
|
};
|
|
/**
|
* 隐藏部门选择的树
|
*/
|
UserInfoDlg.hideDeptSelectTree = function () {
|
$("#menuContent").fadeOut("fast");
|
$("body").unbind("mousedown", onBodyDown);// mousedown当鼠标按下就可以触发,不用弹起
|
};
|
|
/**
|
* 收集数据
|
*/
|
UserInfoDlg.collectData = function () {
|
this.set('id').set('account').set('sex').set('password').set('avatar')
|
.set('email').set('name').set('birthday').set('rePassword').set('deptid').set('phone');
|
};
|
|
/**
|
* 验证两个密码是否一致
|
*/
|
UserInfoDlg.validatePwd = function () {
|
var password = this.get("password");
|
var rePassword = this.get("rePassword");
|
if (password == rePassword) {
|
return true;
|
} else {
|
return false;
|
}
|
};
|
|
/**
|
* 验证数据是否为空
|
*/
|
UserInfoDlg.validate = function () {
|
$('#userInfoForm').data("bootstrapValidator").resetForm();
|
$('#userInfoForm').bootstrapValidator('validate');
|
return $("#userInfoForm").data('bootstrapValidator').isValid();
|
};
|
|
/**
|
* 提交添加用户
|
*/
|
UserInfoDlg.addSubmit = function () {
|
|
this.clearData();
|
this.collectData();
|
|
if (!this.validate()) {
|
return;
|
}
|
|
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();
|
};
|
|
/**
|
* 提交修改
|
*/
|
UserInfoDlg.editSubmit = function () {
|
|
this.clearData();
|
this.collectData();
|
|
if (!this.validate()) {
|
return;
|
}
|
|
//提交信息
|
var ajax = new $ax(Feng.ctxPath + "/mgr/edit", function (data) {
|
Feng.success("修改成功!");
|
if (window.parent.MgrUser != undefined) {
|
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) {
|
Feng.success("修改成功!");
|
}, function (data) {
|
Feng.error("修改失败!" + data.responseJSON.message + "!");
|
});
|
ajax.set("oldPwd");
|
ajax.set("newPwd");
|
ajax.set("rePwd");
|
ajax.start();
|
|
};
|
|
function onBodyDown(event) {
|
if (!(event.target.id == "menuBtn" || event.target.id == "menuContent" || $(
|
event.target).parents("#menuContent").length > 0)) {
|
UserInfoDlg.hideDeptSelectTree();
|
}
|
}
|
|
$(function () {
|
Feng.initValidator("userInfoForm", UserInfoDlg.validateFields);
|
|
//初始化性别选项
|
$("#sex").val($("#sexValue").val());
|
|
var ztree = new $ZTree("treeDemo", "/dept/tree");
|
ztree.bindOnClick(UserInfoDlg.onClickDept);
|
ztree.init();
|
instance = ztree;
|
|
// 初始化头像上传
|
var avatarUp = new $WebUpload("avatar");
|
avatarUp.setUploadBarId("progressBar");
|
avatarUp.init();
|
|
});
|