【sysUser】功能完善

pull/65/head
chenjinlong 2021-01-10 18:40:15 +08:00
parent e567f77da7
commit c3b48bc809
8 changed files with 148 additions and 113 deletions

View File

@ -96,7 +96,7 @@ layui.use(['table', 'form', 'func', 'HttpRequest', 'tree', 'util'], function ()
Feng.success("删除成功!");
table.reload(Organization.tableId);
}, function (data) {
Feng.error("删除失败!" + data.responseJSON.message + "!");
Feng.error("删除失败!" + data.message + "!");
});
httpRequest.set(data);
httpRequest.start(true);
@ -111,7 +111,7 @@ layui.use(['table', 'form', 'func', 'HttpRequest', 'tree', 'util'], function ()
Feng.success("修改成功!");
}, function (data) {
table.reload(Organization.tableId);
Feng.error("修改失败!" + data.responseJSON.message);
Feng.error("修改失败!" + data.message);
});
httpRequest.set({"orgId": orgId, "statusFlag": checked});
httpRequest.start(true);

View File

@ -97,7 +97,7 @@ layui.use(['table', 'form', 'func', 'HttpRequest', 'util'], function () {
Feng.success("修改成功!");
}, function (data) {
table.reload(Position.tableId);
Feng.error("修改失败!" + data.responseJSON.message);
Feng.error("修改失败!" + data.message);
});
httpRequest.set({"positionId": positionId, "statusFlag": checked});
httpRequest.start(true);

View File

@ -92,30 +92,22 @@ layui.use(['layer', 'form', 'table', 'ztree', 'laydate', 'admin', 'HttpRequest',
}
};
/**
* 点击删除用户按钮
*
* @param data 点击按钮时候的行数据
*/
// 删除用户
MgrUser.onDeleteUser = function (data) {
var operation = function () {
var ajax = new $ax(Feng.ctxPath + "/mgr/delete", function () {
table.reload(MgrUser.tableId);
var httpRequest = new HttpRequest(Feng.ctxPath + "/sysUser/delete", 'post', function (data) {
Feng.success("删除成功!");
table.reload(MgrUser.tableId);
}, function (data) {
Feng.error("删除失败!" + data.responseJSON.message + "!");
Feng.error("删除失败!" + data.message + "!");
});
ajax.set("userId", data.userId);
ajax.start();
httpRequest.set(data);
httpRequest.start(true);
};
Feng.confirm("是否删除用户" + data.account + "?", operation);
};
/**
* 分配角色
*
* @param data 点击按钮时候的行数据
*/
// 分配角色
MgrUser.roleAssign = function (data) {
//获取多语言
var langs = layui.data('system').lang;
@ -131,49 +123,32 @@ layui.use(['layer', 'form', 'table', 'ztree', 'laydate', 'admin', 'HttpRequest',
});
};
/**
* 重置密码
*
* @param data 点击按钮时候的行数据
*/
// 重置密码
MgrUser.resetPassword = function (data) {
Feng.confirm("是否重置密码为" + $("#defaultPassword").val() + "?", function () {
var ajax = new $ax(Feng.ctxPath + "/mgr/reset", function (data) {
var httpRequest = new HttpRequest(Feng.ctxPath + "/sysUser/resetPwd", 'post', function (data) {
Feng.success("重置密码成功!");
table.reload(MgrUser.tableId);
}, function (data) {
Feng.error("重置密码失败!" + data.responseJSON.message + "!");
Feng.error("重置密码失败!" + data.message + "!");
});
ajax.set("userId", data.userId);
ajax.start();
httpRequest.set(data);
httpRequest.start(true);
});
};
/**
* 修改用户状态
*
* @param userId 用户id
* @param checked 是否选中true,false选中就是解锁用户未选中就是锁定用户
*/
// 修改用户状态
MgrUser.changeUserStatus = function (userId, checked) {
if (checked) {
var ajax = new $ax(Feng.ctxPath + "/mgr/unfreeze", function (data) {
Feng.success("解除冻结成功!");
}, function (data) {
Feng.error("解除冻结失败!");
table.reload(MgrUser.tableId);
});
ajax.set("userId", userId);
ajax.start();
} else {
var ajax = new $ax(Feng.ctxPath + "/mgr/freeze", function (data) {
Feng.success("冻结成功!");
}, function (data) {
Feng.error("冻结失败!" + data.responseJSON.message + "!");
table.reload(MgrUser.tableId);
});
ajax.set("userId", userId);
ajax.start();
}
var httpRequest = new HttpRequest(Feng.ctxPath + "/sysUser/changeStatus", 'post', function (data) {
table.reload(MgrUser.tableId);
Feng.success("修改成功!");
}, function (data) {
table.reload(MgrUser.tableId);
Feng.error("修改失败!" + data.message);
});
httpRequest.set({"userId": userId, "statusFlag": checked});
httpRequest.start(true);
};
// 渲染表格
@ -239,7 +214,7 @@ layui.use(['layer', 'form', 'table', 'ztree', 'laydate', 'admin', 'HttpRequest',
// 修改user状态
form.on('switch(status)', function (obj) {
var userId = obj.elem.value;
var checked = obj.elem.checked ? true : false;
var checked = obj.elem.checked ? 1 : 2;
MgrUser.changeUserStatus(userId, checked);
});

View File

@ -8,7 +8,7 @@ var UserInfoDlg = {
}
};
layui.use(['layer', 'form', 'admin', 'laydate', 'HttpRequest', 'formSelects'], function () {
layui.use(['layer', 'form', 'admin', 'laydate', 'HttpRequest', 'formSelects', 'xmSelect'], function () {
var $ = layui.jquery;
var HttpRequest = layui.HttpRequest;
var form = layui.form;
@ -16,7 +16,8 @@ layui.use(['layer', 'form', 'admin', 'laydate', 'HttpRequest', 'formSelects'], f
var laydate = layui.laydate;
var layer = layui.layer;
var formSelects = layui.formSelects;
var xmSelect = layui.xmSelect;
var insXmSel;
// 点击部门时
$('#deptName').click(function () {
var formName = encodeURIComponent("parent.UserInfoDlg.data.deptName");
@ -35,6 +36,29 @@ layui.use(['layer', 'form', 'admin', 'laydate', 'HttpRequest', 'formSelects'], f
});
});
/* 渲染树形 */
function renderTree() {
$.get(Feng.ctxPath + '/hrOrganization/treeLayui', function (data) {
insXmSel = xmSelect.render({
el: '#organizationEditParentSel',
height: '250px',
data: data.data,
model: {label: {type: 'text'}},
prop: {name: 'title', value: 'id'},
radio: true,
clickClose: true,
tree: {
show: true,
indent: 15,
strict: false,
expandedKeys: true
}
});
});
}
renderTree();
// 添加表单验证方法
form.verify({
psw: [/^[\S]{6,12}$/, '密码必须6到12位且不能出现空格'],
@ -52,29 +76,26 @@ layui.use(['layer', 'form', 'admin', 'laydate', 'HttpRequest', 'formSelects'], f
// 表单提交事件
form.on('submit(btnSubmit)', function (data) {
var ajax = new $ax(Feng.ctxPath + "/mgr/add", function (data) {
Feng.success("添加成功!");
//传给上个页面刷新table用
admin.putTempData('formOk', true);
//获取机构id
data.field.orgId = insXmSel.getValue('valueStr');
//关掉对话框
var request = new HttpRequest(Feng.ctxPath + "/sysUser/add", 'post', function (data) {
admin.closeThisDialog();
Feng.success("添加成功!");
admin.putTempData('formOk', true);
}, function (data) {
Feng.error("添加失败!" + data.responseJSON.message)
admin.closeThisDialog();
Feng.error("添加失败!" + data.message);
});
ajax.set(data.field);
ajax.start();
//添加 return false 可成功跳转页面
return false;
request.set(data.field);
request.start(true);
});
//初始化所有的职位列表
formSelects.config('selPosition', {
searchUrl: Feng.ctxPath + "/position/listPositions",
keyName: 'name',
searchUrl: Feng.ctxPath + "/hrPosition/list",
keyName: 'positionName',
keyVal: 'positionId'
});
});

View File

@ -8,7 +8,7 @@ var UserInfoDlg = {
}
};
layui.use(['layer', 'form', 'admin', 'laydate', 'HttpRequest', 'formSelects'], function () {
layui.use(['layer', 'form', 'admin', 'laydate', 'HttpRequest', 'formSelects', 'xmSelect'], function () {
var $ = layui.jquery;
var HttpRequest = layui.HttpRequest;
var form = layui.form;
@ -16,31 +16,56 @@ layui.use(['layer', 'form', 'admin', 'laydate', 'HttpRequest', 'formSelects'], f
var laydate = layui.laydate;
var layer = layui.layer;
var formSelects = layui.formSelects;
var xmSelect = layui.xmSelect;
var insXmSel;
//获取信息详情填充表单
var request = new HttpRequest(Feng.ctxPath + "/sysUser/detail?userId=" + Feng.getUrlParam("userId"), 'get');
var result = request.start();
form.val('userForm', result.data);
renderTree(result.data.orgId);
// 点击部门时
$('#deptName').click(function () {
var formName = encodeURIComponent("parent.UserInfoDlg.data.deptName");
var formId = encodeURIComponent("parent.UserInfoDlg.data.deptId");
var treeUrl = encodeURIComponent("/dept/tree");
// $('#deptName').click(function () {
// var formName = encodeURIComponent("parent.UserInfoDlg.data.deptName");
// var formId = encodeURIComponent("parent.UserInfoDlg.data.deptId");
// var treeUrl = encodeURIComponent("/dept/tree");
//
// layer.open({
// type: 2,
// title: '部门选择',
// area: ['300px', '400px'],
// content: Feng.ctxPath + '/system/commonTree?formName=' + formName + "&formId=" + formId + "&treeUrl=" + treeUrl,
// end: function () {
// console.log(UserInfoDlg.data);
// $("#deptId").val(UserInfoDlg.data.deptId);
// $("#deptName").val(UserInfoDlg.data.deptName);
// }
// });
// });
layer.open({
type: 2,
title: '部门选择',
area: ['300px', '400px'],
content: Feng.ctxPath + '/system/commonTree?formName=' + formName + "&formId=" + formId + "&treeUrl=" + treeUrl,
end: function () {
console.log(UserInfoDlg.data);
$("#deptId").val(UserInfoDlg.data.deptId);
$("#deptName").val(UserInfoDlg.data.deptName);
}
/* 渲染树形 */
function renderTree(orgParentId) {
$.get(Feng.ctxPath + '/hrOrganization/treeLayui', function (data) {
insXmSel = xmSelect.render({
el: '#organizationEditParentSel',
height: '250px',
data: data.data,
initValue: [orgParentId],
model: {label: {type: 'text'}},
prop: {name: 'title', value: 'id'},
radio: true,
clickClose: true,
tree: {
show: true,
indent: 15,
strict: false,
expandedKeys: true
}
});
});
});
}
// 添加表单验证方法
form.verify({
@ -78,9 +103,9 @@ layui.use(['layer', 'form', 'admin', 'laydate', 'HttpRequest', 'formSelects'], f
});
//初始化所有的职位列表
// formSelects.config('selPosition', {
// searchUrl: Feng.ctxPath + "/position/listPositions?userId=" + $("#userId").val(),
// keyName: 'name',
// keyVal: 'positionId'
// });
formSelects.config('selPosition', {
searchUrl: Feng.ctxPath + "/hrPosition/list",
keyName: 'positionName',
keyVal: 'positionId'
});
});

View File

@ -20,6 +20,7 @@
<div class="layui-card-body">
<div class="layui-form toolbar">
<input id="defaultPassword" class="layui-input" type="hidden" value="${constants.getDefaultPassWord()}"/>
<div class="layui-form-item">
<div class="layui-inline">
<input id="name" class="layui-input" type="text" placeholder=""/>
@ -51,6 +52,6 @@
</script>
<script type="text/html" id="statusTpl">
<input type="checkbox" lay-filter="status" value="{{d.userId}}" lay-skin="switch" lay-text="正常|锁定" {{d.statusFlag=='1'?'checked':''}} />
<input type="checkbox" lay-filter="status" value="{{d.userId}}" lay-skin="switch" lay-text="正常|锁定" {{d.statusFlag=='1'?'checked':''}}/>
</script>
@}

View File

@ -16,13 +16,13 @@
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">姓名<span style="color: red;">*</span></label>
<div class="layui-input-block">
<input name="name" placeholder="请输入姓名" type="text" class="layui-input" lay-verify="required" required/>
<input name="realName" placeholder="请输入姓名" type="text" class="layui-input" lay-verify="required" required/>
</div>
</div>
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">生日</label>
<label class="layui-form-label">生日<span style="color: red;">*</span></label>
<div class="layui-input-block">
<input id="birthday" name="birthday" placeholder="请输入生日" type="text" class="layui-input date-icon" autocomplete="off"/>
<input id="birthday" name="birthday" placeholder="请输入生日" type="text" class="layui-input date-icon" autocomplete="off" lay-verify="required" required/>
</div>
</div>
<div class="layui-inline layui-col-md6">
@ -51,9 +51,9 @@
</div>
</div>
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">电话</label>
<label class="layui-form-label">电话<span style="color: red;">*</span></label>
<div class="layui-input-block">
<input name="phone" placeholder="请输入电话" type="text" class="layui-input"/>
<input name="phone" placeholder="请输入电话" type="text" class="layui-input" lay-verify="required" required/>
</div>
</div>
</div>
@ -63,17 +63,23 @@
<div class="layui-card-header">职务信息</div>
<div class="layui-card-body">
<div class="layui-form-item layui-row">
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">部门<span style="color: red;">*</span></label>
<div class="layui-input-block">
<input id="deptId" name="deptId" type="hidden">
<input id="deptName" name="deptName" placeholder="请输入部门" type="text" class="layui-input" lay-verify="required" required autocomplete="off"/>
</div>
</div>
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">机构<span style="color: red;">*</span></label>
<div class="layui-input-block">
<select name="position" xm-select="selPosition">
<div id="organizationEditParentSel" class="ew-xmselect-tree"></div>
</div>
</div>
<!-- <div class="layui-inline layui-col-md12">-->
<!-- <label class="layui-form-label">机构<span style="color: red;">*</span></label>-->
<!-- <div class="layui-input-block">-->
<!-- <input id="deptId" name="deptId" type="hidden">-->
<!-- <input id="deptName" name="deptName" placeholder="请输入部门" type="text" class="layui-input" lay-verify="required" required autocomplete="off"/>-->
<!-- </div>-->
<!-- </div>-->
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">职位<span style="color: red;">*</span></label>
<div class="layui-input-block">
<select name="positionId" xm-select="selPosition">
<option value="">请选择职位</option>
</select>
</div>

View File

@ -20,7 +20,7 @@
</div>
</div>
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">出生日期</label>
<label class="layui-form-label">出生日期<span style="color: red;">*</span></label>
<div class="layui-input-block">
<input id="birthday" name="birthday" placeholder="请输入生日" type="text" class="layui-input date-icon" autocomplete="off"/>
</div>
@ -28,7 +28,7 @@
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">邮箱<span style="color: red;">*</span></label>
<div class="layui-input-block">
<input name="email" placeholder="请输入邮箱" type="text" class="layui-input" lay-verify="required|email" required />
<input name="email" placeholder="请输入邮箱" type="text" class="layui-input" lay-verify="required|email" required/>
</div>
</div>
<div class="layui-inline layui-col-md12">
@ -39,9 +39,9 @@
</div>
</div>
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">电话</label>
<label class="layui-form-label">电话<span style="color: red;">*</span></label>
<div class="layui-input-block">
<input name="phone" placeholder="请输入电话" type="text" class="layui-input"/>
<input name="phone" placeholder="请输入电话" type="text" class="layui-input" lay-verify="required" required/>
</div>
</div>
</div>
@ -52,16 +52,23 @@
<div class="layui-card-body">
<div class="layui-form-item layui-row">
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">部门<span style="color: red;">*</span></label>
<label class="layui-form-label">机构<span style="color: red;">*</span></label>
<div class="layui-input-block">
<input id="deptId" name="deptId" type="hidden">
<input id="deptName" name="deptName" placeholder="请输入部门" type="text" class="layui-input" lay-verify="required" required autocomplete="off"/>
<div id="organizationEditParentSel" class="ew-xmselect-tree"></div>
</div>
</div>
<!-- <div class="layui-inline layui-col-md12">-->
<!-- <label class="layui-form-label">机构<span style="color: red;">*</span></label>-->
<!-- <div class="layui-input-block">-->
<!-- <input id="deptId" name="deptId" type="hidden">-->
<!-- <input id="deptName" name="deptName" placeholder="请输入部门" type="text" class="layui-input" lay-verify="required" required autocomplete="off"/>-->
<!-- </div>-->
<!-- </div>-->
<div class="layui-inline layui-col-md12">
<label class="layui-form-label">职位<span style="color: red;">*</span></label>
<div class="layui-input-block">
<select name="position" id="position" xm-select="selPosition" lay-verify="required" required>
<select name="positionId" xm-select="selPosition">
<option value="">请选择职位</option>
</select>
</div>
</div>