/**
|
* 初始化部门详情对话框
|
*/
|
var DeptInfoDlg = {
|
deptInfoData : {},
|
zTreeInstance : null,
|
validateFields: {
|
simplename: {
|
validators: {
|
notEmpty: {
|
message: '部门名称不能为空'
|
}
|
}
|
},
|
fullname: {
|
validators: {
|
notEmpty: {
|
message: '部门全称不能为空'
|
}
|
}
|
},
|
pName: {
|
validators: {
|
notEmpty: {
|
message: '上级名称不能为空'
|
}
|
}
|
}
|
}
|
};
|
|
/**
|
* 清除数据
|
*/
|
DeptInfoDlg.clearData = function() {
|
this.deptInfoData = {};
|
}
|
|
/**
|
* 设置对话框中的数据
|
*
|
* @param key 数据的名称
|
* @param val 数据的具体值
|
*/
|
DeptInfoDlg.set = function(key, val) {
|
this.deptInfoData[key] = (typeof value == "undefined") ? $("#" + key).val() : value;
|
return this;
|
}
|
|
/**
|
* 设置对话框中的数据
|
*
|
* @param key 数据的名称
|
* @param val 数据的具体值
|
*/
|
DeptInfoDlg.get = function(key) {
|
return $("#" + key).val();
|
}
|
|
/**
|
* 关闭此对话框
|
*/
|
DeptInfoDlg.close = function() {
|
parent.layer.close(window.parent.Dept.layerIndex);
|
}
|
|
/**
|
* 点击部门ztree列表的选项时
|
*
|
* @param e
|
* @param treeId
|
* @param treeNode
|
* @returns
|
*/
|
DeptInfoDlg.onClickDept = function(e, treeId, treeNode) {
|
$("#pName").attr("value", DeptInfoDlg.zTreeInstance.getSelectedVal());
|
$("#pid").attr("value", treeNode.id);
|
}
|
|
/**
|
* 显示部门选择的树
|
*
|
* @returns
|
*/
|
DeptInfoDlg.showDeptSelectTree = function() {
|
var pName = $("#pName");
|
var pNameOffset = $("#pName").offset();
|
$("#parentDeptMenu").css({
|
left : pNameOffset.left + "px",
|
top : pNameOffset.top + pName.outerHeight() + "px"
|
}).slideDown("fast");
|
|
$("body").bind("mousedown", onBodyDown);
|
}
|
|
/**
|
* 隐藏部门选择的树
|
*/
|
DeptInfoDlg.hideDeptSelectTree = function() {
|
$("#parentDeptMenu").fadeOut("fast");
|
$("body").unbind("mousedown", onBodyDown);// mousedown当鼠标按下就可以触发,不用弹起
|
}
|
|
/**
|
* 收集数据
|
*/
|
DeptInfoDlg.collectData = function() {
|
this.set('id').set('simplename').set('fullname').set('tips').set('num').set('pid');
|
}
|
|
/**
|
* 验证数据是否为空
|
*/
|
DeptInfoDlg.validate = function () {
|
$('#deptInfoForm').data("bootstrapValidator").resetForm();
|
$('#deptInfoForm').bootstrapValidator('validate');
|
return $("#deptInfoForm").data('bootstrapValidator').isValid();
|
}
|
|
/**
|
* 提交添加部门
|
*/
|
DeptInfoDlg.addSubmit = function() {
|
|
this.clearData();
|
this.collectData();
|
|
if (!this.validate()) {
|
return;
|
}
|
|
//提交信息
|
var ajax = new $ax(Feng.ctxPath + "/dept/add", function(data){
|
Feng.success("添加成功!");
|
window.parent.Dept.table.refresh();
|
DeptInfoDlg.close();
|
},function(data){
|
Feng.error("添加失败!" + data.responseJSON.message + "!");
|
});
|
ajax.set(this.deptInfoData);
|
ajax.start();
|
}
|
|
/**
|
* 提交修改
|
*/
|
DeptInfoDlg.editSubmit = function() {
|
|
this.clearData();
|
this.collectData();
|
|
if (!this.validate()) {
|
return;
|
}
|
|
//提交信息
|
var ajax = new $ax(Feng.ctxPath + "/dept/update", function(data){
|
Feng.success("修改成功!");
|
window.parent.Dept.table.refresh();
|
DeptInfoDlg.close();
|
},function(data){
|
Feng.error("修改失败!" + data.responseJSON.message + "!");
|
});
|
ajax.set(this.deptInfoData);
|
ajax.start();
|
}
|
|
function onBodyDown(event) {
|
if (!(event.target.id == "menuBtn" || event.target.id == "parentDeptMenu" || $(
|
event.target).parents("#parentDeptMenu").length > 0)) {
|
DeptInfoDlg.hideDeptSelectTree();
|
}
|
}
|
|
$(function() {
|
Feng.initValidator("deptInfoForm", DeptInfoDlg.validateFields);
|
|
var ztree = new $ZTree("parentDeptMenuTree", "/dept/tree");
|
ztree.bindOnClick(DeptInfoDlg.onClickDept);
|
ztree.init();
|
DeptInfoDlg.zTreeInstance = ztree;
|
});
|