index_slej.html 35 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8"/>
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  6. <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
  7. <title>帐号管理</title>
  8. <link rel="stylesheet" href="../../../assets/libs/layui/css/layui.css"/>
  9. <link rel="stylesheet" href="../../../assets/module/admin.css?v=312"/>
  10. <link rel="stylesheet" href="../../../assets/module/zTree/css/metroStyle/metroStyle.css"/>
  11. <link rel="stylesheet" href="../../../assets/module/formSelects/formSelects-v4.css"/>
  12. <body>
  13. <!-- 页面加载loading -->
  14. <div class="page-loading">
  15. <div class="ball-loader">
  16. <span></span><span></span><span></span><span></span>
  17. </div>
  18. </div>
  19. <!-- 正文开始 -->
  20. <div class="layui-fluid">
  21. <div class="layui-row layui-col-space15">
  22. <!-- 左栏 -->
  23. <div class="layui-col-sm12 layui-col-md1 layui-col-lg2">
  24. <div class="layui-card">
  25. <div class="layui-card-body mini-bar zTree" id="treeTbTree" style="height: 733px;overflow: scroll">
  26. <ul id="groupTree" class="ztree"></ul>
  27. <input type="hidden" id="curGroupId" value=""/>
  28. <input type="hidden" id="curCId" value=""/>
  29. <input type="hidden" id="groupRootId" value=""/>
  30. </div>
  31. </div>
  32. </div>
  33. <!-- 右栏 -->
  34. <div class="layui-col-sm12 layui-col-md11 layui-col-lg10">
  35. <div class="layui-card">
  36. <div class="layui-card-body">
  37. <div class="layui-form toolbar">
  38. <div class="layui-form-item text-right">
  39. <div class="layui-inline pull-left" style="margin-top:10px;">
  40. <span><i class="layui-icon layui-icon-group"></i>
  41. </span><span id="curGroupName"></span>
  42. </div>
  43. <div class="layui-inline">
  44. <label class="layui-form-label w-auto">搜索:</label>
  45. <div class="layui-input-inline mr0">
  46. <input name="keyword" class="layui-input" type="text" placeholder="输入关键字"/>
  47. </div>
  48. </div>
  49. <div class="layui-inline">
  50. <button class="layui-btn icon-btn bg-c-add" lay-filter="formSubSearchRole" lay-submit>
  51. <i class="layui-icon">&#xe615;</i>搜索
  52. </button>
  53. </div>
  54. <div class="layui-inline">
  55. <button id="btnAdd" class="layui-btn icon-btn bg-c-add"><i
  56. class="layui-icon">&#xe654;</i>添加
  57. </button>
  58. </div>
  59. </div>
  60. </div>
  61. <table class="layui-table" id="datatable" lay-filter="datatable"></table>
  62. </div>
  63. </div>
  64. </div>
  65. </div>
  66. </div>
  67. <!-- 状态列 -->
  68. <script type="text/html" id="accountStatusTpl">
  69. <input type="checkbox" lay-filter="accountStatus" value="{{d.accountStatus}}" accountId="{{d.aId}}"
  70. lay-skin="switch"
  71. lay-text="正常|锁定" {{d.accountStatus==0?'checked':''}}/>
  72. </script>
  73. <script type="text/html" id="grantGroupTpl">
  74. {{# if(d.grantGroupId > 0){ }}
  75. <a class="layui-table-link" lay-event="editGrantGroup"><i class="layui-icon layui-icon-friends"></i>{{d.grantGroupName}}</a>
  76. {{# }else{ }}
  77. <a class="layui-btn layui-btn-radius layui-btn-xs" lay-event="addGrantGroup"><i
  78. class="layui-icon layui-icon-add-1"></i>部门</a>
  79. {{# } }}
  80. </script>
  81. <!-- 表格操作列 -->
  82. <script type="text/html" id="optionTpl">
  83. <a class="layui-btn layui-btn-primary layui-btn-xs bg-c-update" lay-event="edit">修改</a>
  84. <a class="layui-btn layui-btn-danger layui-btn-xs bg-c-submit" lay-event="del">删除</a>
  85. <a class="layui-btn layui-btn-danger layui-btn-xs bg-c-orange" lay-event="resetPwd">重置密码</a>
  86. </script>
  87. <!-- 表单弹窗 -->
  88. <script type="text/html" id="modelTpl">
  89. <form id="modelForm" lay-filter="modelForm" class="layui-form model-form">
  90. <div class="layui-form-item">
  91. <label class="layui-form-label">所属部门</label>
  92. <!-- <div class="layui-input-block">-->
  93. <!-- <input type="hidden" class="layui-input" id="groupId" name="groupId" value="" lay-verify="required"/>-->
  94. <!-- <input type="text" class="layui-input layui-disabled" id="groupName" name="groupName" value="" disabled/>-->
  95. <!-- </div>-->
  96. <div class="layui-input-block">
  97. <input type="text" id="groupName_" class="layui-input" name="groupName_" placeholder="点击选择"
  98. class="form-control" readonly lay-verify="required" required>
  99. <input type="hidden" id="gId_" name="gId_" readonly>
  100. <div id="menuContent_" class="menuContent">
  101. <ul id="groupTree_" class="ztree" style="margin-top:0;"></ul>
  102. </div>
  103. </div>
  104. </div>
  105. <div class="layui-form-item">
  106. <label class="layui-form-label">帐号</label>
  107. <div class="layui-input-block">
  108. <input type="hidden" class="layui-input" id="accountId" name="accountId" value=""/>
  109. <input type="hidden" class="layui-input" id="oldAccountName" name="oldAccountName" value=""/>
  110. <input type="text" class="layui-input" id="accountName" name="accountName" value=""
  111. autocomplete="off" lay-verify="accountName|required" maxlength="128"/>
  112. </div>
  113. </div>
  114. <div class="layui-form-item pwd">
  115. <label class="layui-form-label">密码</label>
  116. <div class="layui-input-block">
  117. <!--注:初始化密码为 888888-->
  118. <input type="text" disabled class="layui-input" value="注:初始化密码为 888888"
  119. style="border: 0px;color: red;"/>
  120. <input type="password" class="layui-input" id="password" name="password"
  121. value="888888" maxlength="32" style="display: none"/>
  122. </div>
  123. </div>
  124. <div class="layui-form-item">
  125. <label class="layui-form-label">姓名</label>
  126. <div class="layui-input-block">
  127. <input type="text" class="layui-input" id="accountRealName" name="accountRealName"
  128. placeholder="输入姓名" value="" autocomplete="off" lay-verify="required" maxlength="64"/>
  129. </div>
  130. </div>
  131. <div class="layui-form-item">
  132. <label class="layui-form-label">性别</label>
  133. <div class="layui-input-block">
  134. <input type="radio" name="accountSex" value="1" title="男">
  135. <input type="radio" name="accountSex" value="2" title="女">
  136. </div>
  137. </div>
  138. <div class="layui-form-item">
  139. <label class="layui-form-label">手机号码</label>
  140. <div class="layui-input-block">
  141. <input type="hidden" class="layui-input" id="oldAccountTel" name="oldAccountTel" placeholder="手机号码"/>
  142. <input type="text" class="layui-input" id="accountTel" name="accountTel" placeholder="手机号码"
  143. autocomplete="off" lay-verify="phone|accountTel" maxlength="11"/>
  144. </div>
  145. </div>
  146. <div class="layui-form-item">
  147. <label class="layui-form-label">角色</label>
  148. <div class="layui-input-block">
  149. <input type="hidden" name="oldRoleId" id="oldRoleId">
  150. <select id="roleList" name="roleId" lay-filter="roleList" lay-verType="tips"
  151. lay-verify="roleId|required" required
  152. class="layui-input-block">
  153. <option value="">选择角色</option>
  154. </select>
  155. </div>
  156. </div>
  157. <div class="layui-form-item">
  158. <label class="layui-form-label">岗位</label>
  159. <div class="layui-input-block">
  160. <select id="positionId" name="positionId" lay-search=""></select>
  161. <input type="hidden" id="gmpId" name="gmpId" value=""/>
  162. </div>
  163. </div>
  164. <div class="layui-form-item">
  165. <label class="layui-form-label">身份证号</label>
  166. <div class="layui-input-block">
  167. <input type="text" class="layui-input" id="accountIdCard" name="accountIdCard" placeholder="身份证号"
  168. autocomplete="off" maxlength="18"/>
  169. </div>
  170. </div>
  171. <div class="layui-form-item">
  172. <label class="layui-form-label">职称</label>
  173. <div class="layui-input-block">
  174. <input type="text" class="layui-input" id="accountRank" name="accountRank" placeholder="职称"
  175. autocomplete="off" maxlength="64"/>
  176. </div>
  177. </div>
  178. <div class="layui-form-item">
  179. <label class="layui-form-label">工种</label>
  180. <div class="layui-input-block">
  181. <input type="text" class="layui-input" id="accountWorkType" name="accountWorkType" placeholder="工种"
  182. autocomplete="off" maxlength="64"/>
  183. </div>
  184. </div>
  185. <div class="layui-form-item text-right">
  186. <button class="layui-btn layui-btn-primary" type="button" ew-event="closePageDialog">取消</button>
  187. <button class="layui-btn" lay-filter="modelSubmit" lay-submit>保存</button>
  188. </div>
  189. </form>
  190. </script>
  191. <script type="text/html" id="resetPwdModelTpl">
  192. <form id="resetPwdModelForm" lay-filter="resetPwdModelForm" class="layui-form model-form">
  193. <div class="layui-form-item">
  194. <div class="" style="color: red;margin-left: 57px">
  195. 温馨提示:系统默认重置密码为 888888
  196. </div>
  197. <input type="hidden" name="aId" value=""/>
  198. <input type="password" class="layui-input" id="newPassword" name="newPassword" value="888888"
  199. lay-verify="pwd|required" maxlength="32" style="display: none"/>
  200. </div>
  201. <!--<div class="layui-form-item">-->
  202. <!--<label class="layui-form-label">再输一遍</label>-->
  203. <!--<div class="layui-input-block">-->
  204. <!--<input type="password" class="layui-input" id="rePassword" name="rePassword" value=""-->
  205. <!--lay-verify="pwd|required" maxlength="32"/>-->
  206. <!--</div>-->
  207. <!--</div>-->
  208. <div class="layui-form-item text-right">
  209. <button class="layui-btn layui-btn-primary" type="button" ew-event="closePageDialog">取消</button>
  210. <button class="layui-btn" lay-filter="resetPwdModelSubmit" lay-submit>确认</button>
  211. </div>
  212. </form>
  213. </script>
  214. <!-- js部分 -->
  215. <script type="text/javascript" src="../../../assets/libs/layui/layui.js"></script>
  216. <script type="text/javascript" src="../../../assets/js/common.js?v=313"></script>
  217. <script>
  218. layui.use(['iconPicker', 'layer', 'element', 'form', 'table', 'admin', 'uParas', 'util', 'zTree', 'formSelects', '_zTree'], function () {
  219. var $ = layui.jquery;
  220. var layer = layui.layer;
  221. var form = layui.form;
  222. var table = layui.table;
  223. var admin = layui.admin;
  224. var uParas = layui.uParas;
  225. var _zTree = layui._zTree;
  226. var changeGroup = {
  227. reload: function (data) {
  228. var groupVal = data.where.gId;
  229. form.render();
  230. }
  231. };
  232. form.verify({
  233. accountName: function (value, item) {
  234. var message;
  235. var checkValue = value.trim();
  236. //用户名正则,4到16位(字母,数字,下划线,减号)
  237. // if (!(/^[[a-zA-Z0-9_]{2,16}$/.test(checkValue))) {
  238. // return "请输入正确的用户名";
  239. // }
  240. var oldAccountName = $("#oldAccountName").val();
  241. if (((oldAccountName != "") && (oldAccountName != checkValue))
  242. || ((oldAccountName == "") && (checkValue != ""))) {
  243. //初始化群组树
  244. var url1 = uParas.baseUrl + '/ent/groupAccount/checkAccountNameExist/' + checkValue;
  245. $.ajax({
  246. type: "GET",
  247. dataType: "json",
  248. async: false,
  249. url: url1,
  250. success: function (resp) {
  251. if (resp.code == 1) {
  252. message = "帐号名称已存在,请重新输入!"
  253. }
  254. }
  255. });
  256. if (message != '') {
  257. return message;
  258. }
  259. }
  260. },
  261. accountTel: function (value, item) {
  262. var message;
  263. var checkValue = value.trim();
  264. if (!(/^1\d{10}$/.test(value))) {
  265. return "请输入正确的手机号码";
  266. }
  267. var oldAccountTel = $("#oldAccountTel").val();
  268. if (((oldAccountTel != "") && (oldAccountTel != checkValue)) || ((oldAccountTel == "") && (checkValue != ""))) {
  269. //初始化群组树
  270. var url1 = uParas.baseUrl + '/ent/groupAccount/checkAccountTelExist/' + checkValue;
  271. $.ajax({
  272. type: "GET",
  273. dataType: "json",
  274. async: false,
  275. url: url1,
  276. success: function (resp) {
  277. if (resp.code == 1) {
  278. message = "手机号已存在,请更换手机号!"
  279. }
  280. }
  281. });
  282. if (message != '') {
  283. return message;
  284. }
  285. }
  286. },
  287. phone: [/^1\d{10}$/, '手机必须11位,只能是数字!'],
  288. email: [/^[a-z0-9._%-]+@([a-z0-9-]+\.)+[a-z]{2,4}$|^1[3|4|5|7|8]\d{9}$/, '邮箱格式不对'],
  289. // pwd: function () {
  290. // var newPwd = $('#newPassword').val();
  291. // var rePwd = $('#rePassword').val();
  292. // ;
  293. // if (newPwd != rePwd) {
  294. // return "两次输入不一致!";
  295. // }
  296. //
  297. // }
  298. });
  299. //左树设置
  300. var leftgroupTreeSetting = {
  301. data: {
  302. simpleData: {
  303. enable: true,
  304. idKey: "gId",
  305. pIdKey: "groupParent",
  306. rootPId: 0,
  307. },
  308. key: {
  309. name: "groupName",
  310. title: "groupName",
  311. }
  312. },
  313. callback: {
  314. onClick: leftNodeClick,
  315. }
  316. };
  317. function leftNodeClick(e, treeId, treeNode) {
  318. var groupId = treeNode.gId;
  319. var groupName = treeNode.groupName;
  320. var curCId = treeNode.companyOrOrgId;
  321. var groupRootId = treeNode.groupRootId;
  322. $("#curGroupId").val(groupId);
  323. $("#curGroupName").html(groupName);
  324. $('#curCId').val(curCId);
  325. $('#groupRootId').val(groupRootId);
  326. refreshTable();
  327. }
  328. function refreshTable() {
  329. var groupId = $("#curGroupId").val();
  330. var cId = $('#curCId').val();
  331. insTb.reload({
  332. where: {
  333. gId: groupId,
  334. cId: cId
  335. }
  336. }, 'data');
  337. }
  338. //初始化群组树
  339. var url1 = uParas.baseUrl + '/gent/groupAccount/getGroupTreeListSlej';
  340. admin.req(url1, {}, function (resp) {
  341. // console.info(resp);
  342. if (resp.code == 1) {
  343. var zNodes = resp.data;
  344. var treeObj = $.fn.zTree.init($('#groupTree'), leftgroupTreeSetting, zNodes);
  345. selectNode();
  346. //初始化打开所有节点
  347. treeObj.expandAll(true);
  348. layer.closeAll('loading');
  349. } else {
  350. layer.msg(resp.msg);
  351. }
  352. }, 'GET');
  353. //选择节点
  354. function selectNode() {
  355. var treeObj = $.fn.zTree.getZTreeObj("groupTree");
  356. var nodes = treeObj.getNodes();
  357. if (nodes.length > 0) {
  358. var node = nodes[0];
  359. treeObj.selectNode(node);
  360. treeObj.expandNode(node, true, false, false);
  361. var groupId = node.gId;
  362. var groupName = node.groupName;
  363. var curCId = node.companyOrOrgId;
  364. var groupRootId = node.groupRootId;
  365. $("#curGroupId").val(groupId);
  366. $("#curGroupName").html(groupName);
  367. $('#curCId').val(curCId);
  368. $('#groupRootId').val(groupRootId);
  369. initDataTable();
  370. }
  371. }
  372. var insTb = null;
  373. function initDataTable() {
  374. // console.log($("#curGroupId").val())
  375. // 渲染表格
  376. if (!insTb && typeof (insTb) != "undefined" && insTb != 0) {
  377. insTb = table.render({
  378. elem: '#datatable',
  379. url: uParas.baseUrl + '/gent/groupAccount/queryAccountForSlej',
  380. where: {
  381. gId: $("#curGroupId").val(),
  382. cId: $('#curCId').val()
  383. },
  384. page: true,
  385. height: 687,
  386. cellMinWidth: 150,
  387. cols: [[
  388. {type: 'numbers', align: 'center', title: '#', width: 60},
  389. {field: 'accountName', align: 'left', sort: false, title: '账号'},
  390. {
  391. field: 'accountRealName', align: 'left', sort: false, title: '姓名', width: 160
  392. // templet: function(data) {
  393. // return '<dvi lay-event="userInfo" ' +
  394. // 'style="cursor:pointer;">'+ data.accountRealName +'</dvi>';
  395. // }
  396. },
  397. {field: 'accountTel', align: 'center', sort: false, width: 120, title: '联系方式'},
  398. {field: 'groupName', align: 'left', sort: false, width: 120, title: '所在部门'},
  399. {field: 'positionTitle', align: 'left', sort: false, width: 100, title: '岗位'},
  400. {
  401. align: 'left', title: '授权部门', width: 120,
  402. templet: function (d) {
  403. return setGrantGroupName(d.grantGroupName);
  404. }
  405. },
  406. {
  407. align: 'center', title: '授权', width: 120,
  408. templet: function (d) {
  409. return setGrantGroup(d.grantGroupId);
  410. }
  411. },
  412. {
  413. field: 'accountStatus',
  414. align: 'center',
  415. width: 100,
  416. sort: false,
  417. title: '状态',
  418. templet: '#accountStatusTpl',
  419. unresize: true
  420. },
  421. {align: 'center', toolbar: '#optionTpl', title: '操作', width: 220},
  422. ]],
  423. done: function () {
  424. // 如果选择的节点是挂在"项目部"节点下,则查询该部门下的人员顺便把相关操作按钮置位不可点击,否则可点击
  425. var groupRootId = $('#groupRootId').val();
  426. var btnAdd = $('#btnAdd');
  427. var tableOptBtn = $('a[class="layui-btn layui-btn-xs bg-c-add"]');
  428. if (groupRootId && groupRootId == -1010) {
  429. btnAdd.prop('disabled', true);
  430. tableOptBtn.css('display', 'none');
  431. } else {
  432. btnAdd.prop('disabled', false);
  433. tableOptBtn.css('disabled', '');
  434. }
  435. }
  436. });
  437. }
  438. }
  439. /*授权部门*/
  440. function setGrantGroup(grantGroupId) {
  441. var html = '';
  442. if (grantGroupId > 0) {
  443. html += '<a class="layui-btn layui-btn-xs bg-c-update" lay-event="editGrantGroup">编辑</a>';
  444. html += '<a class="layui-btn layui-btn-xs bg-c-submit" lay-event="delGrantGroup">解除</a>';
  445. } else {
  446. html += '<a class="layui-btn layui-btn-xs bg-c-add" style="width: 78px" lay-event="addGrantGroup">添加 授权</a>';
  447. }
  448. return html;
  449. }
  450. /*授权部门*/
  451. function setGrantGroupName(grantGroupName) {
  452. var html = '<span style="color: #cccccc">未授权</span>';
  453. if (grantGroupName != null && grantGroupName != '') {
  454. html = ' ' + grantGroupName;
  455. }
  456. return html;
  457. }
  458. // 添加按钮点击事件
  459. $('#btnAdd').click(function () {
  460. var curGroupId = $("#curGroupId").val();
  461. showAddModel(curGroupId);
  462. });
  463. // 搜索
  464. form.on('submit(formSubSearchRole)', function (data) {
  465. insTb.reload({where: data.field}, 'data');
  466. });
  467. //监听帐号状态操作
  468. form.on('switch(accountStatus)', function (obj) {
  469. // console.log(obj);
  470. var accountId = obj.elem.attributes['accountId'].nodeValue;
  471. var accountStatus = obj.elem.checked ? 0 : 1;
  472. layer.load();
  473. var url = uParas.baseUrl + '/ent/groupAccount/updateAccountStatus/' + accountId + "/" + accountStatus;
  474. admin.req(url, {}, function (resp) {
  475. layer.closeAll('loading');
  476. if (resp.code == 1) {
  477. layer.msg(resp.msg);
  478. } else {
  479. layer.msg(resp.msg);
  480. insTb.reload({}, 'data');
  481. }
  482. }, 'POST');
  483. });
  484. // 工具条点击事件
  485. table.on('tool(datatable)', function (obj) {
  486. var data = obj.data;
  487. var layEvent = obj.event;
  488. if (layEvent == 'edit') { // 修改
  489. showEditModel(data);
  490. } else if (layEvent == 'del') { // 删除
  491. doDel(obj);
  492. } else if (layEvent == 'resetPwd') {
  493. resetPwd(data);
  494. } else if (layEvent == 'addGrantGroup') {
  495. addGrantGroup(data);
  496. } else if (layEvent == 'editGrantGroup') {
  497. editGrantGroup(data);
  498. } else if (layEvent == 'delGrantGroup') {
  499. delGrantGroup(data);
  500. }
  501. // else if (layEvent == 'userInfo') {
  502. // window.location.href = './userInfo.html?aId=' + data.aId;
  503. // }
  504. });
  505. function reLoadData() {
  506. insTb.reload({}, 'data');
  507. }
  508. /*添加*/
  509. function addGrantGroup(data) {
  510. admin.open({
  511. type: 2,
  512. title: '授权部门',
  513. content: "./grantGroup.html?aId=" + data.aId,
  514. area: ['600px', '500px'],
  515. success: function (layero, dIndex) {
  516. layer.setTop(layero);
  517. },
  518. end: function () {
  519. reLoadData();
  520. }
  521. });
  522. }
  523. /*编辑授权*/
  524. function editGrantGroup(data) {
  525. admin.open({
  526. type: 2,
  527. title: '授权部门',
  528. content: "./grantGroup.html?aId=" + data.aId + '&gmpgId=' + data.gmpgId + '&grantGroupName=' + data.grantGroupName + '&grantGroupId=' + data.grantGroupId,
  529. area: ['600px', '500px'],
  530. success: function (layero, dIndex) {
  531. layer.setTop(layero);
  532. },
  533. end: function () {
  534. reLoadData();
  535. }
  536. });
  537. }
  538. /*解除授权*/
  539. function delGrantGroup(data) {
  540. layer.confirm('确定给【' + data.accountRealName + '】解除授权?', {
  541. skin: 'layui-layer-admin',
  542. shade: .1
  543. }
  544. , function (i) {
  545. layer.close(i);
  546. layer.load();
  547. var url = uParas.baseUrl + '/ent/groupAccount/delGrantGroup?gmpgId=' + data.gmpgId;
  548. admin.req(url, {}, function (resp) {
  549. layer.closeAll('loading');
  550. if (resp.code == 1) {
  551. layer.msg(resp.msg);
  552. insTb.reload({}, 'data');
  553. } else {
  554. layer.msg(resp.msg);
  555. }
  556. }, 'POST');
  557. });
  558. }
  559. // 显示新增弹窗
  560. function showAddModel(data) {
  561. var curGroupId = $("#curGroupId").val();
  562. var curGroupName = $("#curGroupName").html();
  563. admin.open({
  564. type: 1,
  565. title: '添加帐号',
  566. content: $('#modelTpl').html(),
  567. success: function (layero, dIndex) {
  568. _zTree._init('/admin/common/getGroupLists', 'gId', 'groupParent', 'groupName', 'gId', 0, "groupTree_", changeGroup, "menuContent_", "groupName_", "gId_", curGroupId);
  569. uParas.initSimpleSelect("positionId", 'modelForm', "/ent/position/getList", "positionTitle", "pId");
  570. $.ajax({
  571. url: uParas.baseUrl + '/admin/common/getRoleList',
  572. type: 'get',
  573. dataType: 'json',
  574. success: function (resp) {
  575. let rolePrefix = '企业普通用户';
  576. if (resp.code == 1) {
  577. const {data} = resp;
  578. let roleListDoms = '';
  579. $.each(resp.data, function (index, item) {
  580. if (item.roleName.indexOf(rolePrefix) !== -1) {
  581. roleListDoms += `<option value="${item.roleId}">${item.roleName}</option>`
  582. }
  583. });
  584. $('#roleList').append(roleListDoms);
  585. form.render('select')
  586. } else {
  587. layer.msg(resp.msg);
  588. }
  589. }
  590. })
  591. form.val('modelForm', {
  592. 'groupId': curGroupId,
  593. 'groupName': curGroupName,
  594. 'accountSex': '1',
  595. });
  596. var url = uParas.baseUrl + '/ent/groupAccount/saveAccountGroupPosition';
  597. // 保存处理
  598. form.on('submit(modelSubmit)', function (data) {
  599. layer.load();
  600. console.log(data.field);
  601. data.field.groupId = data.field.gId_;
  602. admin.req(url, data.field, function (resp) {
  603. layer.closeAll('loading');
  604. if (resp.code == 1) {
  605. layer.close(dIndex);
  606. layer.msg(resp.msg);
  607. insTb.reload({}, 'data');
  608. } else {
  609. layer.msg(resp.msg);
  610. }
  611. }, 'POST');
  612. return false;
  613. });
  614. }
  615. });
  616. }
  617. // 显示表单弹窗
  618. function showEditModel(data) {
  619. admin.open({
  620. type: 1,
  621. title: '编辑帐号',
  622. content: $('#modelTpl').html(),
  623. success: function (layero, dIndex) {
  624. $(".pwd").hide();
  625. $.ajax({
  626. url: uParas.baseUrl + '/admin/common/getRoleList',
  627. type: 'get',
  628. dataType: 'json',
  629. success: function (resp) {
  630. let rolePrefix = '企业普通用户';
  631. if (resp.code == 1) {
  632. const {data} = resp;
  633. let roleListDoms = '';
  634. $.each(resp.data, function (index, item) {
  635. if (item.roleName.indexOf(rolePrefix) !== -1) {
  636. roleListDoms += `<option value="${item.roleId}">${item.roleName}</option>`
  637. }
  638. });
  639. $('#roleList').append(roleListDoms);
  640. form.render('select')
  641. } else {
  642. layer.msg(resp.msg);
  643. }
  644. }
  645. })
  646. var url1 = uParas.baseUrl + "/ent/groupAccount/getAccount/" + data.gmId;
  647. admin.req(url1, {}, function (resp) {
  648. if (resp.code == 1) {
  649. form.val('modelForm', {
  650. 'groupId': resp.data.gId,
  651. 'gId_': resp.data.gId,
  652. 'groupName': resp.data.groupName,
  653. 'groupName_': resp.data.groupName,
  654. 'accountId': resp.data.aId,
  655. 'accountName': resp.data.accountName,
  656. 'password': resp.data.password,
  657. 'accountSex': "" + resp.data.accountSex + "",
  658. 'oldAccountName': resp.data.accountName,
  659. 'accountRealName': resp.data.accountRealName,
  660. 'accountTel': resp.data.accountTel,
  661. 'oldAccountTel': resp.data.accountTel,
  662. 'accountRank': resp.data.accountRank,
  663. 'accountIdCard': resp.data.accountIdCard,
  664. 'accountWorkType': resp.data.accountWorkType,
  665. 'roleList': resp.data.roleId,
  666. 'oldRoleId': resp.data.roleId,
  667. }); // 回显数据
  668. _zTree._init('/admin/common/getGroupLists', 'gId', 'groupParent', 'groupName', 'gId', 0, "groupTree_", changeGroup, "menuContent_", "groupName_", "gId_");
  669. uParas.initSimpleSelect("positionId", 'modelForm', "/ent/position/getList", "positionTitle", "pId", resp.data.positionId);
  670. $('#roleList').val(resp.data.roleId);
  671. form.render('select')
  672. } else {
  673. layer.msg(resp.msg)
  674. }
  675. }, 'GET');
  676. var url = uParas.baseUrl + '/ent/groupAccount/updateAccountGroupPosition';
  677. // 表单提交事件
  678. form.on('submit(modelSubmit)', function (dataF) {
  679. layer.load();
  680. var out = dataF.field;
  681. out.gmId = data.gmId;
  682. out.gmpId = data.gmpId;
  683. out.groupId = dataF.field.gId_;
  684. out.aId = data.aId;
  685. admin.req(url, out, function (resp) {
  686. layer.closeAll('loading');
  687. if (resp.code == 1) {
  688. layer.close(dIndex);
  689. layer.msg(resp.msg);
  690. insTb.reload({}, 'data');
  691. } else {
  692. layer.msg(resp.msg);
  693. }
  694. }, 'POST');
  695. return false;
  696. });
  697. }
  698. });
  699. }
  700. // 删除
  701. function doDel(obj) {
  702. layer.confirm('确定要删除“' + obj.data.accountRealName + '”吗?', {
  703. skin: 'layui-layer-admin',
  704. shade: .1
  705. }
  706. , function (i) {
  707. layer.close(i);
  708. layer.load();
  709. var url = uParas.baseUrl + '/ent/groupAccount/deleteAccountGroupPosition/' + obj.data.aId;
  710. admin.req(url, {}, function (resp) {
  711. layer.closeAll('loading');
  712. if (resp.code == 1) {
  713. layer.msg(resp.msg);
  714. insTb.reload({}, 'data');
  715. } else {
  716. layer.msg(resp.msg);
  717. }
  718. }, 'GET');
  719. });
  720. }
  721. //重置密码
  722. function resetPwd(data) {
  723. admin.open({
  724. type: 1,
  725. title: '重置密码',
  726. content: $('#resetPwdModelTpl').html(),
  727. success: function (layero, dIndex) {
  728. form.val('resetPwdModelForm', {
  729. 'aId': data.aId,
  730. }); // 回显数据
  731. var url = uParas.baseUrl + '/ent/groupAccount/resetPassword';
  732. // 表单提交事件
  733. form.on('submit(resetPwdModelSubmit)', function (data) {
  734. layer.load();
  735. admin.req(url, data.field, function (resp) {
  736. layer.closeAll('loading');
  737. if (resp.code == 1) {
  738. layer.close(dIndex);
  739. layer.msg("密码重置成功");
  740. } else {
  741. layer.msg(resp.msg);
  742. }
  743. }, 'POST');
  744. return false;
  745. });
  746. }
  747. });
  748. }
  749. });
  750. </script>
  751. </body>
  752. </html>