blob: a048c1afd7daf223771c5de29214e101500d0979 [file] [log] [blame]
Xia Kaixiange97f6de2019-04-28 15:00:14 +08001<!-- operator表单弹窗 -->
2<form id="oper-form" lay-filter="oper-form" class="layui-form model-form">
3 <input name="operid" id="operid" type="hidden"/>
4 <div class="layui-form-item">
5 <label class="layui-form-label">账号</label>
6 <div class="layui-input-block">
7 <input name="opercode" placeholder="请输入账号" type="text" class="layui-input" maxlength="20"
8 lay-verify="required|opercode" required/>
9 </div>
10 </div>
11 <div class="layui-form-item">
12 <label class="layui-form-label">用户名</label>
13 <div class="layui-input-block">
14 <input name="opername" placeholder="请输入用户名" type="text" class="layui-input" maxlength="60"
15 lay-verify="required" required/>
16 </div>
17 </div>
18 <div class="layui-form-item">
19 <label class="layui-form-label">性别</label>
20 <div class="layui-input-block">
21 <input type="radio" name="sex" value="male" title="男" checked/>
22 <input type="radio" name="sex" value="female" title="女"/>
23 </div>
24 </div>
25 <div class="layui-form-item">
26 <label class="layui-form-label">手机号</label>
27 <div class="layui-input-block">
qiaowei77e1bec2019-05-07 18:05:39 +080028 <input name="mobile" placeholder="请输入手机号" type="text" class="layui-input" lay-verify="mobile" />
Xia Kaixiange97f6de2019-04-28 15:00:14 +080029 </div>
30 </div>
31 <div class="layui-form-item">
32 <label class="layui-form-label">邮箱</label>
33 <div class="layui-input-block">
qiaowei77e1bec2019-05-07 18:05:39 +080034 <input name="email" placeholder="请输入邮箱" type="text" class="layui-input" lay-verify="swEmail" />
Xia Kaixiange97f6de2019-04-28 15:00:14 +080035 </div>
36 </div>
37
38 <div class="layui-form-item">
39 <label class="layui-form-label">角色</label>
40 <div class="layui-input-block">
41 <select name="roleId" xm-select="roleId" lay-verify="required">
42 <option th:each="role : ${roles}" th:value="${role.roleId}">[[${role.roleName}]]</option>
43 </select>
44 </div>
45 </div>
46
47 <div class="layui-form-item model-form-footer">
48 <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">取消</button>
qiaowei00edf012019-04-29 09:35:04 +080049 <button class="layui-btn" lay-filter="oper-form-submit" lay-submit id="submitbtn">保存</button>
Xia Kaixiange97f6de2019-04-28 15:00:14 +080050 </div>
51</form>
52
53
54<script>
55 layui.use(['layer', 'admin', 'form', 'formSelects'], function () {
56 var layer = layui.layer;
57 var admin = layui.admin;
58 var form = layui.form;
59 var formSelects = layui.formSelects;
60
61 form.render('radio');
62 form.verify({
63 "mobile": function (e) {
64 if (null != e && e.length > 0 && !(/^1\d{10}$/.test(e))) {
65 return "请输入正确的手机号";
66 }
67 },
68 "swEmail": function (e) {
69 if (null != e && e.length > 0 && !(/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/.test(e))) {
70 return "邮箱格式不正确";
71 }
72 },
73 "opercode": function (e) {
74 if(null!=e && e.length>0 && !(/^[0-9a-zA-Z]*$/.test(e))){
75 return "账号非法,请填入字母、数字或它们的组合";
76 }
77
78 var msg = "";
79 $.ajax({
80 type: "GET",
81 url: '/operator/checkopercode',
82 async: false, //同步提交。不设置则默认异步,异步的话,最后执行ajax
83 data: {
84 opercode: e,
85 operid: $("#operid").val()
86 },
87 success: function (result) {
88 if (result.code != 200) {
89 msg = result.msg;
90 }
91 },
92 error: function (error) {
93 msg = "请求服务器校验账号失败";
94 }
95 });
96 if (msg != "") {
97 return msg;
98 }
99 }
100 });
101
102 var url = '/operator/add';
103 // 回显user数据
104 var user = admin.getTempData('t_user');
105 if (user) {
106 $('input[name="opercode"]').attr('readonly', 'readonly');
Xia Kaixiange97f6de2019-04-28 15:00:14 +0800107 form.val('oper-form', user);
108 var rds = new Array();
109 for (var i = 0; i < user.roles.length; i++) {
110 rds.push(user.roles[i].roleId);
111 }
112 formSelects.value('roleId', rds);
113 }
Xia Kaixiange97f6de2019-04-28 15:00:14 +0800114 // 表单提交事件
115 form.on('submit(oper-form-submit)', function (data) {
116 layer.load(2);
qiaowei00edf012019-04-29 09:35:04 +0800117 var token_name = $("meta[name='_csrf_token']").attr("content");
118 var token = $("meta[name='_csrf_token']").attr("value");
119 data.field[token_name] = token;
Xia Kaixiange97f6de2019-04-28 15:00:14 +0800120 $.ajax({
121 type : "POST",
122 dataType : "json",
123 url : url,
124 data : data.field,
125 success : function(result) {
126 layer.closeAll('loading');
qiaowei77e1bec2019-05-07 18:05:39 +0800127 if (result.code == 200) {
128 layer.msg(result.msg, {icon: 1});
Xia Kaixiange97f6de2019-04-28 15:00:14 +0800129 admin.finishPopupCenter();
130 } else if (data.code == 401) {
qiaowei77e1bec2019-05-07 18:05:39 +0800131 layer.msg(result.msg, {icon: 2, time: 1500}, function () {
Xia Kaixiange97f6de2019-04-28 15:00:14 +0800132 location.replace('/login');
133 }, 1000);
134 return;
135 } else {
qiaowei77e1bec2019-05-07 18:05:39 +0800136 console.log('err:' + result.code);
137 layer.msg(result.msg, {icon: 2});
Xia Kaixiange97f6de2019-04-28 15:00:14 +0800138 }
139 },
140 error : function(data) {
141 layer.closeAll('loading');
142 layer.msg("请求服务器失败!", {icon: 2});
143 }
144 });
145 return false;
146 });
147 });
148</script>