add.html 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  1. <!DOCTYPE html>
  2. <html lang="zh" xmlns:th="http://www.thymeleaf.org" >
  3. <meta charset="utf-8">
  4. <head th:include="include :: header"></head>
  5. <link href="/ajax/libs/jquery-ztree/3.5/css/metro/zTreeStyle.css" th:href="@{/ajax/libs/jquery-ztree/3.5/css/metro/zTreeStyle.css}" rel="stylesheet"/>
  6. <body class="white-bg">
  7. <div class="wrapper wrapper-content animated fadeInRight ibox-content">
  8. <form class="form-horizontal m" id="form-role-add">
  9. <div class="form-group">
  10. <label class="col-sm-3 control-label ">角色名称:</label>
  11. <div class="col-sm-8">
  12. <input class="form-control" type="text" name="roleName" id="roleName"/>
  13. </div>
  14. </div>
  15. <div class="form-group">
  16. <label class="col-sm-3 control-label">权限字符:</label>
  17. <div class="col-sm-8">
  18. <input class="form-control" type="text" name="roleKey" id="roleKey">
  19. </div>
  20. </div>
  21. <div class="form-group">
  22. <label class="col-sm-3 control-label">显示顺序:</label>
  23. <div class="col-sm-8">
  24. <input class="form-control" type="text" name="roleSort" id="roleSort">
  25. </div>
  26. </div>
  27. <div class="form-group">
  28. <label class="col-sm-3 control-label">状态:</label>
  29. <div class="col-sm-8">
  30. <div class="onoffswitch">
  31. <input type="checkbox" th:checked="true" class="onoffswitch-checkbox" id="status" name="status">
  32. <label class="onoffswitch-label" for="status">
  33. <span class="onoffswitch-inner"></span>
  34. <span class="onoffswitch-switch"></span>
  35. </label>
  36. </div>
  37. </div>
  38. </div>
  39. <div class="form-group">
  40. <label class="col-sm-3 control-label">备注:</label>
  41. <div class="col-sm-8">
  42. <input id="remark" name="remark" class="form-control" type="text">
  43. </div>
  44. </div>
  45. <div class="form-group">
  46. <label class="col-sm-3 control-label">菜单权限</label>
  47. <div class="col-sm-8">
  48. <div id="menuTrees" class="ztree"></div>
  49. </div>
  50. </div>
  51. <div class="form-group">
  52. <div class="form-control-static col-sm-offset-9">
  53. <button type="submit" class="btn btn-primary">提交</button>
  54. <button onclick="$.modal.close()" class="btn btn-danger" type="button">关闭</button>
  55. </div>
  56. </div>
  57. </form>
  58. </div>
  59. <div th:include="include::footer"></div>
  60. <script th:src="@{/ajax/libs/jquery-ztree/3.5/js/jquery.ztree.all-3.5.js}"></script>
  61. <script type="text/javascript">
  62. // 树结构初始化加载
  63. var setting = {
  64. check:{enable:true,nocheckInherit:true,chkboxType:{"Y":"ps","N":"ps"}},
  65. view:{selectedMulti:false,nameIsHTML: true},
  66. data:{simpleData:{enable:true},key:{title:"title"}},
  67. callback:{
  68. beforeClick: function (treeId, treeNode, clickFlag) {
  69. var menuTrees = $.fn.zTree.getZTreeObj(treeId);
  70. menuTrees.checkNode(treeNode, !treeNode.checked, true, true);
  71. return false;
  72. }
  73. }
  74. }, menuTrees, loadTree = function(){
  75. $.get(ctx + "system/menu/roleMenuTreeData", function(data) {
  76. menuTrees = $.fn.zTree.init($("#menuTrees"), setting, data); //.expandAll(true);
  77. }, null, null, "正在加载,请稍后...");
  78. };loadTree();
  79. $("#form-role-add").validate({
  80. rules:{
  81. roleName:{
  82. required:true,
  83. remote: {
  84. url: ctx + "system/role/checkRoleNameUnique",
  85. type: "post",
  86. dataType: "json",
  87. data: {
  88. "roleName" : function() {
  89. return $.trim($("#roleName").val());
  90. }
  91. },
  92. dataFilter: function(data, type) {
  93. if (data == "0") return true;
  94. else return false;
  95. }
  96. }
  97. },
  98. roleKey:{
  99. required:true,
  100. },
  101. roleSort:{
  102. required:true,
  103. digits:true
  104. },
  105. },
  106. messages: {
  107. "roleName": {
  108. remote: "角色已经存在"
  109. }
  110. },
  111. submitHandler:function(form){
  112. add();
  113. }
  114. });
  115. function selectCheckeds() {
  116. var menuIds = "";
  117. var treeNodes = menuTrees.getCheckedNodes(true);
  118. for (var i = 0; i < treeNodes.length; i++) {
  119. if (0 == i) {
  120. menuIds = treeNodes[i].id;
  121. } else {
  122. menuIds += ("," + treeNodes[i].id);
  123. }
  124. }
  125. return menuIds;
  126. }
  127. function add() {
  128. var roleName = $("input[name='roleName']").val();
  129. var roleKey = $("input[name='roleKey']").val();
  130. var roleSort = $("input[name='roleSort']").val();
  131. var status = $("input[name='status']").is(':checked') == true ? 0 : 1;
  132. var remark = $("input[name='remark']").val();
  133. var menuIds = selectCheckeds();
  134. $.ajax({
  135. cache : true,
  136. type : "POST",
  137. url : ctx + "system/role/add",
  138. data : {
  139. "roleName": roleName,
  140. "roleKey": roleKey,
  141. "roleSort": roleSort,
  142. "status": status,
  143. "remark": remark,
  144. "menuIds": menuIds
  145. },
  146. async : false,
  147. error : function(request) {
  148. $.modal.alertError("系统错误");
  149. },
  150. success : function(data) {
  151. $.operate.saveSuccess(data);
  152. }
  153. });
  154. }
  155. </script>
  156. </body>
  157. </html>