HM-SPMS/web/nginx/html/js/user.js

338 lines
8.7 KiB
JavaScript
Raw Normal View History

2026-01-06 04:47:40 +08:00
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();
}
}
}
}