270 lines
12 KiB
HTML
Raw Normal View History

2018-07-09 08:44:52 +08:00
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
2019-03-31 12:56:04 +08:00
<head>
<th:block th:include="include :: header('新增用户')" />
2019-05-05 17:52:02 +08:00
<th:block th:include="include :: select2-css" />
2019-03-31 12:56:04 +08:00
</head>
2019-02-24 14:51:43 +08:00
<body>
2019-08-04 11:01:50 +08:00
<div class="main-content">
2019-02-24 14:51:43 +08:00
<form id="form-user-add" class="form-horizontal">
<input name="deptId" type="hidden" id="treeId"/>
<h4 class="form-header h4">基本信息</h4>
<div class="row">
<div class="col-sm-6">
<div class="form-group">
2019-12-31 16:34:24 +08:00
<label class="col-sm-4 control-label is-required">用户名称:</label>
2019-02-24 14:51:43 +08:00
<div class="col-sm-8">
2019-06-02 21:25:33 +08:00
<input name="userName" placeholder="请输入用户名称" class="form-control" type="text" maxlength="30" required>
2019-02-24 14:51:43 +08:00
</div>
</div>
</div>
<div class="col-sm-6">
<div class="form-group">
2019-12-31 16:34:24 +08:00
<label class="col-sm-4 control-label is-required">归属部门:</label>
2019-02-24 14:51:43 +08:00
<div class="col-sm-8">
2019-02-25 13:19:06 +08:00
<div class="input-group">
<input name="deptName" onclick="selectDeptTree()" id="treeName" type="text" placeholder="请选择归属部门" class="form-control" required>
<span class="input-group-addon"><i class="fa fa-search"></i></span>
</div>
2019-02-24 14:51:43 +08:00
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-sm-6">
<div class="form-group">
2019-12-31 16:34:24 +08:00
<label class="col-sm-4 control-label is-required">手机号码:</label>
2019-02-24 14:51:43 +08:00
<div class="col-sm-8">
<div class="input-group">
<input id="phonenumber" name="phonenumber" placeholder="请输入手机号码" class="form-control" type="text" maxlength="11" required>
<span class="input-group-addon"><i class="fa fa-mobile"></i></span>
</div>
2019-02-24 14:51:43 +08:00
</div>
</div>
</div>
<div class="col-sm-6">
<div class="form-group">
2019-12-31 16:34:24 +08:00
<label class="col-sm-4 control-label is-required">邮箱:</label>
2019-02-24 14:51:43 +08:00
<div class="col-sm-8">
<div class="input-group">
2020-08-03 09:56:57 +08:00
<input id="email" name="email" class="form-control email" type="text" maxlength="50" placeholder="请输入邮箱" required>
<span class="input-group-addon"><i class="fa fa-envelope"></i></span>
</div>
2019-02-24 14:51:43 +08:00
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-sm-6">
<div class="form-group">
2019-12-31 16:34:24 +08:00
<label class="col-sm-4 control-label is-required">登录账号:</label>
2019-02-24 14:51:43 +08:00
<div class="col-sm-8">
<input id="loginName" name="loginName" placeholder="请输入登录账号" class="form-control" type="text" maxlength="30" required>
2019-02-24 14:51:43 +08:00
</div>
</div>
</div>
<div class="col-sm-6">
<div class="form-group">
2019-12-31 16:34:24 +08:00
<label class="col-sm-4 control-label is-required">登录密码:</label>
2019-02-24 14:51:43 +08:00
<div class="col-sm-8">
<div class="input-group">
<input id="password" name="password" placeholder="请输入登录密码" class="form-control" type="password" th:value="${@config.getKey('sys.user.initPassword')}" required>
<span class="input-group-addon" title="登录密码,鼠标按下显示密码"
onmousedown="$('#password').attr('type','text')"
onmouseup="$('#password').attr('type','password')"><i class="fa fa-key"></i></span>
</div>
2019-02-24 14:51:43 +08:00
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-sm-6">
<div class="form-group">
<label class="col-sm-4 control-label">用户性别:</label>
<div class="col-sm-8">
<select name="sex" class="form-control m-b" th:with="type=${@dict.getType('sys_user_sex')}">
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
</select>
2019-02-24 14:51:43 +08:00
</div>
</div>
</div>
<div class="col-sm-6">
<div class="form-group">
<label class="col-sm-4 control-label">用户状态:</label>
<div class="col-sm-8">
2019-05-05 19:14:49 +08:00
<label class="toggle-switch switch-solid">
<input type="checkbox" id="status" checked>
<span></span>
</label>
2019-02-24 14:51:43 +08:00
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-sm-12">
<div class="form-group">
<label class="col-xs-2 control-label">岗位:</label>
<div class="col-xs-4">
2019-05-05 17:52:02 +08:00
<select id="post" class="form-control select2-multiple" multiple>
2019-02-24 14:51:43 +08:00
<option th:each="post:${posts}" th:value="${post.postId}" th:text="${post.postName}" th:disabled="${post.status == '1'}"></option>
</select>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-sm-12">
<div class="form-group">
<label class="col-xs-2 control-label">角色:</label>
<div class="col-xs-10">
<label th:each="role:${roles}" class="check-box">
<input name="role" type="checkbox" th:value="${role.roleId}" th:text="${role.roleName}" th:disabled="${role.status == '1'}">
</label>
</div>
</div>
</div>
</div>
<h4 class="form-header h4">其他信息</h4>
<div class="row">
<div class="col-sm-12">
<div class="form-group">
<label class="col-xs-2 control-label">备注:</label>
<div class="col-xs-10">
2019-06-02 21:25:33 +08:00
<textarea name="remark" maxlength="500" class="form-control" rows="3"></textarea>
2019-02-24 14:51:43 +08:00
</div>
</div>
</div>
</div>
</form>
</div>
2019-05-05 19:14:49 +08:00
2019-02-24 14:51:43 +08:00
<div class="row">
<div class="col-sm-offset-5 col-sm-10">
<button type="button" class="btn btn-sm btn-primary" onclick="submitHandler()"><i class="fa fa-check"></i>保 存</button>&nbsp;
<button type="button" class="btn btn-sm btn-danger" onclick="closeItem()"><i class="fa fa-reply-all"></i>关 闭 </button>
</div>
</div>
2019-03-31 12:56:04 +08:00
<th:block th:include="include :: footer" />
<th:block th:include="include :: select2-js" />
2018-07-09 08:44:52 +08:00
<script>
2019-02-24 14:51:43 +08:00
var prefix = ctx + "system/user";
2018-07-09 08:44:52 +08:00
$("#form-user-add").validate({
onkeyup: false,
2018-07-09 08:44:52 +08:00
rules:{
loginName:{
minlength: 2,
maxlength: 20,
remote: {
2019-02-24 14:51:43 +08:00
url: prefix + "/checkLoginNameUnique",
2018-07-09 08:44:52 +08:00
type: "post",
dataType: "json",
data: {
"loginName": function() {
2018-08-23 17:06:31 +08:00
return $.common.trim($("#loginName").val());
2018-07-09 08:44:52 +08:00
}
},
dataFilter: function(data, type) {
2018-08-23 17:06:31 +08:00
return $.validate.unique(data);
2018-07-09 08:44:52 +08:00
}
}
},
password:{
minlength: 5,
maxlength: 20
},
email:{
email:true,
remote: {
2019-02-24 14:51:43 +08:00
url: prefix + "/checkEmailUnique",
2018-07-09 08:44:52 +08:00
type: "post",
dataType: "json",
data: {
"email": function () {
2018-08-23 17:06:31 +08:00
return $.common.trim($("#email").val());
2018-07-09 08:44:52 +08:00
}
},
dataFilter: function (data, type) {
2018-08-23 17:06:31 +08:00
return $.validate.unique(data);
2018-07-09 08:44:52 +08:00
}
}
},
phonenumber:{
isPhone:true,
remote: {
2019-02-24 14:51:43 +08:00
url: prefix + "/checkPhoneUnique",
2018-07-09 08:44:52 +08:00
type: "post",
dataType: "json",
data: {
"phonenumber": function () {
2018-08-23 17:06:31 +08:00
return $.common.trim($("#phonenumber").val());
2018-07-09 08:44:52 +08:00
}
},
dataFilter: function (data, type) {
2018-08-23 17:06:31 +08:00
return $.validate.unique(data);
2018-07-09 08:44:52 +08:00
}
}
},
},
messages: {
"loginName": {
remote: "用户已经存在"
},
"email": {
remote: "Email已经存在"
},
"phonenumber":{
remote: "手机号码已经存在"
}
2019-02-25 13:19:06 +08:00
},
focusCleanup: true
2018-07-09 08:44:52 +08:00
});
2018-10-03 21:44:14 +08:00
function submitHandler() {
var chrtype = [[${@config.getKey('sys.account.chrtype')}]];
var password = $("#password").val();
if ($.validate.form() && checkpwd(chrtype, password)) {
2019-02-24 14:51:43 +08:00
var data = $("#form-user-add").serializeArray();
var status = $("input[id='status']").is(':checked') == true ? 0 : 1;
var roleIds = $.form.selectCheckeds("role");
var postIds = $.form.selectSelects("post");
data.push({"name": "status", "value": status});
data.push({"name": "roleIds", "value": roleIds});
data.push({"name": "postIds", "value": postIds});
$.operate.saveTab(prefix + "/add", data);
2018-10-03 21:44:14 +08:00
}
}
2019-02-24 14:51:43 +08:00
/* 用户管理-新增-选择部门树 */
2018-07-09 08:44:52 +08:00
function selectDeptTree() {
var treeId = $("#treeId").val();
2018-09-03 08:45:08 +08:00
var deptId = $.common.isEmpty(treeId) ? "100" : $("#treeId").val();
2018-07-09 08:44:52 +08:00
var url = ctx + "system/dept/selectDeptTree/" + deptId;
2018-09-03 08:45:08 +08:00
var options = {
title: '选择部门',
width: "380",
url: url,
2018-09-03 08:45:08 +08:00
callBack: doSubmit
};
$.modal.openOptions(options);
}
function doSubmit(index, layero){
var tree = layero.find("iframe")[0].contentWindow.$._tree;
if ($.tree.notAllowParents(tree)) {
var body = layer.getChildFrame('body', index);
$("#treeId").val(body.find('#treeId').val());
$("#treeName").val(body.find('#treeName').val());
layer.close(index);
}
}
$(function() {
$('#post').select2({
placeholder: "请选择岗位",
allowClear: true
});
})
2018-07-09 08:44:52 +08:00
</script>
</body>
</html>