admin-permission-add.js 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176
  1. $(function () {
  2. $('.skin-minimal input').iCheck({
  3. checkboxClass: 'icheckbox-blue',
  4. radioClass: 'iradio-blue',
  5. increaseArea: '20%'
  6. });
  7. $("#form-admin-permission-add").validate({
  8. rules:{
  9. // username:{
  10. // required:true,
  11. // minlength:4,
  12. // maxlength:16,
  13. // remote: {
  14. // url: "/admin/manager/user/isExist",
  15. // type: "get",
  16. // data: {
  17. // username: function () {
  18. // return $("#username").val();
  19. // }
  20. // }
  21. // }
  22. // },
  23. type:{
  24. required:true
  25. },
  26. name:{
  27. required:true
  28. },
  29. parentId:{
  30. required:true
  31. },
  32. url:{
  33. required:true
  34. },
  35. perms: {
  36. required: true
  37. }
  38. },
  39. // messages : {
  40. // username : {
  41. // remote: "该用户名已经被注册!"
  42. // }
  43. // },
  44. onkeyup:false,
  45. focusCleanup:true,
  46. success:"valid",
  47. submitHandler:function(form){
  48. $(form).ajaxSubmit({
  49. type: 'post',
  50. url: "/admin/permission",
  51. dataType:"json",
  52. success: function(data){
  53. if(data.status == "success"){
  54. succeedMessage(data.message);
  55. var index = parent.layer.getFrameIndex(window.name);
  56. parent.location.reload();
  57. parent.layer.close(index);
  58. }else {
  59. $(form).find(":submit").attr("disabled", false);
  60. errorMessage(data.message);
  61. }
  62. }
  63. });
  64. return false; // 非常重要,如果是false,则表明是不跳转,在本页上处理,也就是ajax,如果是非false,则传统的form跳转。
  65. }
  66. });
  67. //页面初始化的时候初始化显示隐藏表单元素
  68. var checkedValue = $("input[name='type']:checked").val();
  69. if (checkedValue == '0') {
  70. $(".parentDiv").hide();
  71. $(".URLDiv").hide();
  72. $(".permsDiv").hide();
  73. $(".iconDiv").show();
  74. $("#parentName").val("");
  75. //动态改变验证规则
  76. $("#parentId").rules("remove");
  77. $("#url").rules("remove");
  78. $("#perms").rules("remove");
  79. } else if(checkedValue == '1'){
  80. $(".parentDiv").show();
  81. $(".URLDiv").show();
  82. $(".permsDiv").show();
  83. $(".sortDiv").show();
  84. $(".iconDiv").hide();
  85. //动态改变验证规则
  86. $("#parentId").rules("add",{required: true});
  87. $("#url").rules("add",{required: true});
  88. $("#perms").rules("add",{required: true});
  89. } else if(checkedValue == '2'){
  90. $(".parentDiv").show();
  91. $(".URLDiv").hide();
  92. $(".permsDiv").show();
  93. $(".iconDiv").hide();
  94. //动态改变验证规则
  95. $("#parentId").rules("add",{required: true});
  96. $("#url").rules("remove");
  97. $("#perms").rules("add",{required: true});
  98. }
  99. //为iCheck绑定选中事件
  100. $("input[name='type']").on('ifChecked', function(event){
  101. var value = $(this).val();
  102. if (value == '0') {
  103. $(".parentDiv").hide();
  104. $(".URLDiv").hide();
  105. $(".permsDiv").hide();
  106. $(".iconDiv").show();
  107. $("#parentName").val("");
  108. //动态改变验证规则
  109. $("#parentId").rules("remove");
  110. $("#url").rules("remove");
  111. $("#perms").rules("remove");
  112. } else if(value == '1'){
  113. $(".parentDiv").show();
  114. $(".URLDiv").show();
  115. $(".permsDiv").show();
  116. $(".iconDiv").hide();
  117. //动态改变验证规则
  118. $("#parentId").rules("add",{required: true});
  119. $("#url").rules("add",{required: true});
  120. $("#perms").rules("add",{required: true});
  121. getPermissionList(value);
  122. } else if(value == '2'){
  123. $(".parentDiv").show();
  124. $(".URLDiv").hide();
  125. $(".permsDiv").show();
  126. $(".iconDiv").hide();
  127. //动态改变验证规则
  128. $("#parentId").rules("add",{required: true});
  129. $("#url").rules("remove");
  130. $("#perms").rules("add",{required: true});
  131. getPermissionList(value);
  132. }
  133. });
  134. /**
  135. * 根据类型获取上级节点列表
  136. * 因为左测菜单目前只有一级目录,所以添加权限节点选择类型为目录时是不需要选择上级节点
  137. * @param typeValue
  138. */
  139. function getPermissionList(typeValue) {
  140. var type = "";
  141. if(typeValue == '1'){
  142. type = "0";
  143. }else if(typeValue == '2'){
  144. type = "1";
  145. }
  146. $.ajax({
  147. type:"GET",
  148. dataType:"json",
  149. url: "/admin/permission/getPermissionList?type="+type,
  150. data:{
  151. "timestamp":new Date().getTime()
  152. },
  153. success: function (data) {
  154. if (data.status == "success") {
  155. $("#parentId").html("");
  156. $("#parentName").val("");
  157. var opt = "<option value=''>--请选择--</option>";
  158. $.each(data.permissionList, function (i, v) {
  159. opt += "<option value='" + v.id + "'>" + v.name + "</option>"
  160. });
  161. $("#parentId").html(opt);
  162. }
  163. }
  164. });
  165. }
  166. //为parentName赋值
  167. $("#parentId").change(function () {
  168. $("#parentName").val($(this).find("option:selected").text())
  169. });
  170. });