338 lines
8.7 KiB
JavaScript
338 lines
8.7 KiB
JavaScript
getScript(["/plugin/md5.js", "/plugin/lay/layer.js", "/js/common.js"]);
|
|
$.ajax({
|
|
url: "/ems/OUserController/selectOUserByObj",
|
|
type: "get",
|
|
data: {
|
|
page: 1,
|
|
pageSize: 9999
|
|
},
|
|
dataType: "json",
|
|
success: function(res) {
|
|
for (var i = 0, str = ""; i < res.rows.length; i++) {
|
|
var d = res.rows[i];
|
|
str +=
|
|
'<tr uid="' +
|
|
d.permId +
|
|
'" group="' +
|
|
d.groupIdList +
|
|
'"><td>' +
|
|
d.permName +
|
|
"</td><td>" +
|
|
d.permAlias +
|
|
"</td></tr>";
|
|
}
|
|
$("#m_userTable")
|
|
.find("table")
|
|
.html(str);
|
|
}
|
|
});
|
|
$.ajax({
|
|
url: "/ems/OUserController/findAllUserGroup",
|
|
type: "get",
|
|
dataType: "json",
|
|
success: function(res) {
|
|
window.gidIndex = {};
|
|
for (var i = 0, str = ""; i < res.length; i++) {
|
|
var d = res[i];
|
|
str += '<tr uid="' + d.PERM_ID + '"><td>' + d.PERM_NAME + "</td></tr>";
|
|
gidIndex[d.PERM_ID] = i + 1;
|
|
}
|
|
$("#m_allGroupTable")
|
|
.find("table")
|
|
.html(str);
|
|
var tbody = $("#m_allGroupTable>table").clone();
|
|
tbody.find("tr").hide();
|
|
$("#m_selectGroupTable>table").html(tbody.html());
|
|
}
|
|
});
|
|
$(function() {
|
|
addDisabled();
|
|
// $('#m_selectGroupTable').find('table').html('<tr><th>行号</th><th>组名</th></tr>');
|
|
$("body>div>table").on("click", "tr", function() {
|
|
if (
|
|
!$(this)
|
|
.closest("div")
|
|
.hasClass("disabled")
|
|
) {
|
|
var uid = $(this).attr("uid");
|
|
var gid = $(this).attr("group");
|
|
if (gid) {
|
|
gid = gid.split(";");
|
|
}
|
|
if (uid) {
|
|
$(this)
|
|
.parent()
|
|
.find(".checked")
|
|
.removeClass("checked");
|
|
$(this).addClass("checked");
|
|
setSelectGroup(gid);
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
});
|
|
$("#m_userTable").on("click", "tr", function() {
|
|
var user = $("#m_nameEdit");
|
|
var id = $(this).attr("uid");
|
|
if (user.attr("disabled")) {
|
|
var name = $(this)
|
|
.find("td:eq(0)")
|
|
.html();
|
|
$("#m_nameEdit")
|
|
.val(name)
|
|
.attr("data-oname", name);
|
|
$("#m_descEdit").val(
|
|
$(this)
|
|
.find("td:eq(1)")
|
|
.html()
|
|
);
|
|
}
|
|
});
|
|
$('input[type="password"]').on("blur", function() {
|
|
var p = $(this).val();
|
|
if (p !== null && p !== undefined && p !== "") {
|
|
$(this).val(md5(p));
|
|
}
|
|
});
|
|
$("#m_addUserBtn").on("click", function() {
|
|
// 增加用户
|
|
delDisabled();
|
|
setDisabled(true);
|
|
$("#m_saveBtn").attr("actype", "add");
|
|
$("#m_nameEdit")
|
|
.val("")
|
|
.attr("data-oname", "");
|
|
$("#m_descEdit").val("");
|
|
$("#m_pwdEdit").val("");
|
|
$("#m_confirmPwdEdit").val("");
|
|
$("#m_saveBtn").attr("actype", "add");
|
|
$("#m_userTable").addClass("disabled");
|
|
});
|
|
$("#m_editUserBtn").on("click", function() {
|
|
// 修改用户
|
|
delDisabled();
|
|
setDisabled(true);
|
|
$("#m_saveBtn").attr("actype", "update");
|
|
$("#m_userTable").addClass("disabled");
|
|
});
|
|
$("#m_delUserBtn").on("click", function() {
|
|
// 删除用户
|
|
var id = $("#m_userTable")
|
|
.find(".checked")
|
|
.attr("uid");
|
|
if (!id) {
|
|
return false;
|
|
}
|
|
layer.confirm(
|
|
"确定删除选中用户?",
|
|
{
|
|
btn: ["确定", "取消"]
|
|
},
|
|
function() {
|
|
$.ajax({
|
|
url: "/ems/OUserController/deleteById",
|
|
data: { id: id },
|
|
type: "post",
|
|
dataType: "json",
|
|
success: function(res) {
|
|
if (res.reflag == "succ") {
|
|
$("#m_userTable")
|
|
.find(".checked")
|
|
.remove();
|
|
}
|
|
layer.alert(res.reflagInfo);
|
|
}
|
|
});
|
|
}
|
|
);
|
|
});
|
|
$("#m_nameEdit").on("blur", function() {
|
|
var v = $(this).val();
|
|
var el = $(this);
|
|
//新增的时候为空不检测,修改的时候和原来一样不检测
|
|
var s = el.attr("data-oname");
|
|
|
|
if (!v || v === s) {
|
|
return false;
|
|
}
|
|
$.ajax({
|
|
url: "/ems/OUserController/existUserName",
|
|
data: { name: v },
|
|
type: "get",
|
|
dataType: "json",
|
|
success: function(res) {
|
|
if (res.reflag !== "succ") {
|
|
el.addClass("hasuser");
|
|
} else {
|
|
el.removeClass("hasuser");
|
|
}
|
|
layer.alert(res.reflagInfo);
|
|
}
|
|
});
|
|
});
|
|
$("#m_addGroupBtn").on("click", function() {
|
|
// 添加用户组
|
|
var checked = $("#m_allGroupTable").find("tr.checked");
|
|
if (!checked[0]) {
|
|
layer.alert("没有选中要添加的项!");
|
|
return false;
|
|
}
|
|
var i = checked.index();
|
|
checked.hide();
|
|
$("#m_selectGroupTable")
|
|
.find("tr:eq(" + i + ")")
|
|
.show();
|
|
});
|
|
$("#m_delGroupBtn").on("click", function() {
|
|
// 删除用户组
|
|
var checked = $("#m_selectGroupTable").find("tr.checked");
|
|
if (!checked[0]) {
|
|
layer.alert("没有选中要移除的项!");
|
|
return false;
|
|
}
|
|
var i = checked.index();
|
|
checked.hide();
|
|
$("#m_allGroupTable")
|
|
.find("tr:eq(" + i + ")")
|
|
.show();
|
|
});
|
|
$("#m_saveBtn").on("click", function() {
|
|
//保存
|
|
|
|
var _type = $(this).attr("actype");
|
|
var _id = $("#m_userTable")
|
|
.find("tr.checked")
|
|
.attr("uid");
|
|
var param = {
|
|
type: _type,
|
|
permId: _id
|
|
};
|
|
//用户名
|
|
|
|
param.permName = $("#m_nameEdit").val();
|
|
if (!param.permName) {
|
|
layer.alert("请输入用户名。");
|
|
return false;
|
|
}
|
|
if ($("#m_nameEdit").hasClass("hasuser")) {
|
|
layer.alert("已经存在相同用户名。");
|
|
return false;
|
|
}
|
|
// 密码
|
|
param.permPassword = $("#m_pwdEdit").val();
|
|
param.repassword = $("#m_confirmPwdEdit").val();
|
|
if (param.type == "add" || param.repassword || param.permPassword) {
|
|
if (param.permPassword && param.repassword) {
|
|
if (param.permPassword !== param.repassword) {
|
|
layer.alert("两次输入的密码不一致。");
|
|
return false;
|
|
}
|
|
} else {
|
|
layer.alert("请输入密码。");
|
|
return false;
|
|
}
|
|
}
|
|
//用户组
|
|
param.groupIdList = [];
|
|
$("#m_selectGroupTable")
|
|
.find("tr")
|
|
.each(function(i, e) {
|
|
if ($(e).css("display") == "none") {
|
|
return;
|
|
}
|
|
var v = $(e).attr("uid");
|
|
if (v) {
|
|
param.groupIdList.push(v);
|
|
}
|
|
});
|
|
if (param.groupIdList.length == 0) {
|
|
layer.alert("请选择用户组。");
|
|
return false;
|
|
}
|
|
param.groupIdList = param.groupIdList.join(";");
|
|
//用户描述
|
|
param.permAlias = $("#m_descEdit").val();
|
|
|
|
$.ajax({
|
|
url: "/ems/OUserController/operateOUser",
|
|
data: param,
|
|
type: "post",
|
|
dataType: "json",
|
|
success: function(res) {
|
|
//保存成功撤销状态
|
|
if (res.reflag == "succ") {
|
|
addDisabled();
|
|
setDisabled(false);
|
|
$("#m_userTable").removeClass("disabled");
|
|
setTimeout(function() {
|
|
location.reload();
|
|
}, 1300);
|
|
}
|
|
layer.alert(res.reflagInfo);
|
|
}
|
|
});
|
|
});
|
|
$("#m_cancelBtn").on("click", function() {
|
|
//取消
|
|
addDisabled();
|
|
setDisabled(false);
|
|
$("#m_userTable").removeClass("disabled");
|
|
});
|
|
});
|
|
function addDisabled() {
|
|
$("input").attr("disabled", true);
|
|
// $('#m_selectGroupTable').addClass('disabled');
|
|
// $('#m_allGroupTable').addClass('disabled');
|
|
// $('#m_addGroupBtn').attr('disabled',true);
|
|
// $('#m_delGroupBtn').attr('disabled',true);
|
|
$("#m_saveBtn").attr("disabled", true);
|
|
$("#m_cancelBtn").attr("disabled", true);
|
|
}
|
|
function delDisabled() {
|
|
$("input").removeAttr("disabled");
|
|
// $('#m_selectGroupTable').removeClass('disabled');
|
|
// $('#m_allGroupTable').removeClass('disabled');
|
|
// $('#m_addGroupBtn').removeAttr('disabled');
|
|
// $('#m_delGroupBtn').removeAttr('disabled');
|
|
$("#m_saveBtn").removeAttr("disabled");
|
|
$("#m_cancelBtn").removeAttr("disabled");
|
|
}
|
|
function setDisabled(flag) {
|
|
if (flag) {
|
|
$("#m_addUserBtn").attr("disabled", true);
|
|
$("#m_editUserBtn").attr("disabled", true);
|
|
$("#m_delUserBtn").attr("disabled", true);
|
|
} else {
|
|
$("#m_addUserBtn").removeAttr("disabled");
|
|
$("#m_editUserBtn").removeAttr("disabled");
|
|
$("#m_delUserBtn").removeAttr("disabled");
|
|
$("#m_selectGroupTable")
|
|
.find(".checked")
|
|
.removeClass("checked");
|
|
$("#m_allGroupTable")
|
|
.find(".checked")
|
|
.removeClass("checked");
|
|
}
|
|
}
|
|
function setSelectGroup(gid) {
|
|
if (gid instanceof Array) {
|
|
$("#m_selectGroupTable>table")
|
|
.find("tr")
|
|
.hide();
|
|
$("#m_allGroupTable>table")
|
|
.find("tr")
|
|
.show();
|
|
for (var i = 0; i < gid.length; i++) {
|
|
var d = gidIndex[gid[i]] - 1;
|
|
if (d !== undefined) {
|
|
$("#m_selectGroupTable>table")
|
|
.find("tr:eq(" + d + ")")
|
|
.show();
|
|
$("#m_allGroupTable>table")
|
|
.find("tr:eq(" + d + ")")
|
|
.hide();
|
|
}
|
|
}
|
|
}
|
|
}
|