role_menu.html 3.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. <!DOCTYPE html>
  2. <html xmlns:th="http://www.thymeleaf.org"
  3. xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
  4. layout:decorate="~{admin/common/common}">
  5. <head>
  6. <title>角色授权</title>
  7. </head>
  8. <body layout:fragment="content">
  9. <article class="page-container">
  10. <form action="" method="post" class="form form-horizontal" id="form-admin-role-permission">
  11. <input type="hidden" th:value="*{roleId}" th:id="rid"/>
  12. <input type="hidden" th:name="permissionIds" th:id="permissionIds" th:value="${permissionIds}"/>
  13. <div class="row cl">
  14. <label class="form-label col-xs-4 col-sm-2" style="float:left;">角色授权:</label>
  15. <ul id="tree" th:class="ztree" style="float:left;"></ul>
  16. </div>
  17. <div class="row cl">
  18. <div class="col-xs-8 col-sm-9 col-xs-offset-4 col-sm-offset-3">
  19. <button th:if="${canEdit==true}" type="submit" class="btn btn-success radius" id="admin-role-save"><i class="icon-ok"></i> 确定
  20. </button>
  21. <button onClick="removeIframe();" class="btn btn-default radius" type="button">&nbsp;&nbsp;取消&nbsp;&nbsp;</button>
  22. </div>
  23. </div>
  24. </form>
  25. </article>
  26. <script type="text/javascript" th:src="@{/js/sys/role_menu.js}"></script>
  27. <script th:inline="javascript">
  28. /**
  29. * 取消
  30. */
  31. function removeIframe() {
  32. var index = parent.layer.getFrameIndex(window.name);
  33. parent.layer.close(index);
  34. }
  35. $(function () {
  36. var zNodes = [[${treeNodeList}]];
  37. var setting = {
  38. check: {
  39. enable: true, //是否复选框
  40. chkboxType: {"Y": "ps", "N": "ps"} //子节点取消勾选时不影响父节点
  41. },
  42. data: {
  43. simpleData: {
  44. enable: true,
  45. idKey: "id",
  46. pIdKey: "parent_id",
  47. rootPId: 0
  48. }
  49. },
  50. callback: {
  51. onCheck: zTreeOnCheck
  52. }
  53. };
  54. $.fn.zTree.init($("#tree"), setting, eval('(' + zNodes + ')'));
  55. /**
  56. * 获取选中节点
  57. * @param event
  58. * @param treeId
  59. * @param treeNode
  60. */
  61. function zTreeOnCheck(event, treeId, treeNode) {
  62. var treeObj = $.fn.zTree.getZTreeObj("tree");
  63. var nodes = treeObj.getCheckedNodes(true);
  64. var ids = [];
  65. for (var i = 0; i < nodes.length; i++) {
  66. //获取选中节点的值
  67. ids.push(nodes[i].id);
  68. }
  69. $("#permissionIds").val(ids);
  70. }
  71. //处理回显
  72. var zTreeObj = $.fn.zTree.getZTreeObj("tree"); //获取tree对象
  73. var zTree = zTreeObj.getCheckedNodes(false); //获取未被选中的tree节点集合
  74. var pid = $("#permissionIds").val();
  75. /**此处数据前后必须拼接,*/
  76. var pidArray = pid.split(",");
  77. for (var i = 0; i < zTree.length; i++) {
  78. for (var j = 0; j < pidArray.length; j++) {
  79. if (zTree[i].id == pidArray[j]) {
  80. zTreeObj.expandNode(zTree[i], true); //展开选中的
  81. zTreeObj.checkNode(zTree[i], true); //勾选
  82. }
  83. }
  84. }
  85. });
  86. </script>
  87. </body>
  88. </html>