edit.html 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>员工信息</title>
  6. <meta name="renderer" content="webkit">
  7. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  8. <meta name="viewport"
  9. content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
  10. <link rel="stylesheet" href="../../layuiadmin/layui/css/layui.css" media="all">
  11. <link rel="stylesheet" href="../../layuiadmin/style/admin.css" media="all">
  12. <link rel="stylesheet" type="text/css" href="../../layuiadmin/style/formSelects-v4.css"/>
  13. <style>
  14. #group_selecter dl {
  15. max-height: 200px;
  16. }
  17. </style>
  18. </head>
  19. <body>
  20. <div class="layui-fluid">
  21. <div class="layui-row layui-col-space15">
  22. <div class="layui-col-md6">
  23. <div class="layui-card">
  24. <div class="layui-card-body">
  25. <form class="layui-form" action="" lay-filter="component-form-element">
  26. <div class="layui-row layui-col-space10 layui-form-item">
  27. <div class="layui-col-lg6">
  28. <label class="layui-form-label"><font color='red' size="4">*</font>姓名:</label>
  29. <div class="layui-input-block">
  30. <input type="text" name="name" lay-verify="required" placeholder="请输入姓名"
  31. autocomplete="off" class="layui-input">
  32. </div>
  33. </div>
  34. <div class="layui-col-lg6">
  35. <label class="layui-form-label"><font color='red' size="4">*</font>电话:</label>
  36. <div class="layui-input-block">
  37. <input type="text" name="tel" lay-verify="required|tel"
  38. placeholder="请输入电话" autocomplete="off" class="layui-input">
  39. </div>
  40. <div class="layui-word-aux">电话号码为系统登录账号</div>
  41. </div>
  42. <div class="layui-col-lg6">
  43. <label class="layui-form-label">密码:</label>
  44. <div class="layui-input-block">
  45. <input type="password" name="password" placeholder="请输入密码" autocomplete="off"
  46. class="layui-input">
  47. <div class="layui-word-aux">默认密码:1111</div>
  48. </div>
  49. </div>
  50. <div class="layui-col-lg6">
  51. <label class="layui-form-label"><font color='red' size="4">*</font>状态:</label>
  52. <div class="layui-input-block">
  53. <select id="id_status" lay-verify="required" name="status" style="width: 40px;">
  54. </select>
  55. </div>
  56. </div>
  57. <div class="layui-col-lg6">
  58. <label class="layui-form-label"><font color='red' size="4">*</font>职位:</label>
  59. <div class="layui-input-block">
  60. <select id="id_position" lay-verify="required" name="position" style="width: 40px;">
  61. </select>
  62. </div>
  63. </div>
  64. <div class="layui-col-lg6">
  65. <label class="layui-form-label"><font color='red' size="4">*</font>区域:</label>
  66. <div class="layui-input-block">
  67. <select id="id_area" lay-verify="required" name="area" lay-filter="areaChange"
  68. style="width: 40px;">
  69. <option value="">选择区域</option>
  70. </select>
  71. </div>
  72. </div>
  73. <div class="layui-col-lg6">
  74. <label class="layui-form-label"><font color='red' size="4">*</font>部门:</label>
  75. <div class="layui-input-block">
  76. <select id="id_department" lay-verify="required" name="department"
  77. style="width: 40px;">
  78. </select>
  79. </div>
  80. </div>
  81. <div class="layui-col-lg6">
  82. <label class="layui-form-label">权限组:</label>
  83. <div class="layui-input-block" id="group_selecter">
  84. <select name="groups" xm-select="selectGroup"></select>
  85. </div>
  86. </div>
  87. <div class="layui-col-lg6">
  88. <label class="layui-form-label">是否禁用报修:</label>
  89. <div class="layui-input-block">
  90. <input type="checkbox" name="forbid_baoxiu" lay-skin="switch" lay-text="是|否"
  91. value="0">
  92. </div>
  93. </div>
  94. </div>
  95. <button class="layui-btn" id="id_user_save" lay-submit lay-filter="component-form-element"
  96. style="display: none">保存
  97. </button>
  98. </form>
  99. </div>
  100. </div>
  101. </div>
  102. </div>
  103. </div>
  104. <script src="../../layuiadmin/layui/layui.js"></script>
  105. <script>
  106. layui.config({
  107. base: '../../../layuiadmin/' //静态资源所在路径
  108. }).extend({
  109. index: 'lib/index',
  110. formSelects: 'formSelects-v4'
  111. }).use(['index', 'form', 'utils', 'formSelects',], function () {
  112. var $ = layui.$
  113. , admin = layui.admin
  114. , form = layui.form
  115. , formSelects = layui.formSelects
  116. var id = layui.view.getParameterByName('id');
  117. var departments = [], department_id = '', area_id = ''
  118. admin.req({
  119. url: '/tenant/employee/dict/',
  120. done: function (res) {
  121. departments = res.data.department;
  122. var status = res.data.status;
  123. var status_node = $('#id_status');
  124. for (var i in status) {
  125. var pid = status[i][0];
  126. var status_value = status[i][1];
  127. status_node.append("<option value='" + pid + "'>" + status_value + "</option>");
  128. }
  129. var position = res.data.position;
  130. var position_node = $('#id_position');
  131. for (var i in position) {
  132. var pid = position[i].id;
  133. var position_value = position[i].name;
  134. position_node.append("<option value='" + pid + "'>" + position_value + "</option>");
  135. }
  136. var area = res.data.area;
  137. var area_node = $('#id_area');
  138. for (var i in area) {
  139. var pid = area[i].id;
  140. var area_value = area[i].name;
  141. area_node.append("<option value='" + pid + "'>" + area_value + "</option>");
  142. }
  143. form.render();
  144. loadData();
  145. }
  146. });
  147. var loadData = function () {
  148. if (id) {
  149. var editdata = JSON.parse(JSON.stringify(parent.layui.table.editdata)); // 框架有Bug所以这么转换
  150. form.val("component-form-element", editdata);
  151. department_id = editdata.department;
  152. area_id = editdata.area;
  153. areaChange(editdata.area)
  154. }
  155. form.render(null, 'component-form-element');
  156. form.val("component-form-element", {
  157. 'password': '1111'
  158. });
  159. };
  160. var areaChange = function (value) {
  161. var department_option = '';
  162. for (var i = 0; i < departments.length; i++) {
  163. if (departments[i].area == parseInt(value)) {
  164. if (departments[i].id == department_id)
  165. department_option += "<option value=" + departments[i].id + " selected>" + departments[i].name + "</option>";
  166. else
  167. department_option += "<option value=" + departments[i].id + ">" + departments[i].name + "</option>";
  168. }
  169. }
  170. $("#id_department").append(department_option);
  171. form.render();
  172. };
  173. form.on('select(areaChange)', function (data) {
  174. $("#id_department").html('');
  175. if (!data.value) return;
  176. areaChange(data.value)
  177. });
  178. formSelects.config('selectGroup', {
  179. beforeSuccess: function (eid, url, searchVal, result) {
  180. if (id) {
  181. var groupIds = parent.layui.table.editdata.group_ids;
  182. for (var n in result.data) {
  183. var item = result.data[n];
  184. if (groupIds.indexOf(parseInt(item.value)) > -1)
  185. item.selected = 'selected';
  186. }
  187. }
  188. return result;
  189. }
  190. });
  191. formSelects.data('selectGroup', 'server', {
  192. url: '/tenant/permission/dict/'
  193. });
  194. form.on('submit(component-form-element)', function (data) {
  195. //layer.msg(JSON.stringify(data.field));
  196. var submitData = data.field;
  197. var groups = formSelects.value('selectGroup', 'val');
  198. submitData.groups = JSON.stringify(groups);
  199. data.field.type = 1
  200. if (id) {
  201. var url = '/tenant/employee/' + id + '/';
  202. var type = 'put';
  203. } else {
  204. url = '/tenant/employee/';
  205. type = 'post';
  206. }
  207. admin.req({
  208. url: url
  209. , data: data.field
  210. , type: type
  211. , done: function (res) {
  212. parent.layer.closeAll('iframe');
  213. parent.layui.table.reload('datagrid', {});
  214. }
  215. });
  216. return false;
  217. });
  218. parent.layui.submitChild = function () {
  219. $("#id_user_save").click();
  220. };
  221. });
  222. </script>
  223. </body>
  224. </html>