admin-permission-edit.js 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174
  1. $(function () {
  2. $('.skin-minimal input').iCheck({
  3. checkboxClass: 'icheckbox-blue',
  4. radioClass: 'iradio-blue',
  5. increaseArea: '20%'
  6. });
  7. $("#form-admin-permission-edit").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: 'PUT',
  50. url: "/admin/permission/"+$("#pid").val(),
  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. errorMessage(data.message);
  60. }
  61. }
  62. });
  63. return false; // 非常重要,如果是false,则表明是不跳转,在本页上处理,也就是ajax,如果是非false,则传统的form跳转。
  64. }
  65. });
  66. //页面初始化的时候初始化显示隐藏表单元素
  67. var checkedValue = $("input[name='type']:checked").val();
  68. if (checkedValue == '0') {
  69. $(".parentDiv").hide();
  70. $(".URLDiv").hide();
  71. $(".permsDiv").hide();
  72. $(".iconDiv").show();
  73. $("#parentName").val("");
  74. //动态改变验证规则
  75. $("#parentId").rules("remove");
  76. $("#url").rules("remove");
  77. $("#perms").rules("remove");
  78. } else if(checkedValue == '1'){
  79. $(".parentDiv").show();
  80. $(".URLDiv").show();
  81. $(".permsDiv").show();
  82. $(".iconDiv").hide();
  83. //动态改变验证规则
  84. $("#parentId").rules("add",{required: true});
  85. $("#url").rules("add",{required: true});
  86. $("#perms").rules("add",{required: true});
  87. } else if(checkedValue == '2'){
  88. $(".parentDiv").show();
  89. $(".URLDiv").hide();
  90. $(".permsDiv").show();
  91. $(".iconDiv").hide();
  92. //动态改变验证规则
  93. $("#parentId").rules("add",{required: true});
  94. $("#url").rules("remove");
  95. $("#perms").rules("add",{required: true});
  96. }
  97. //为iCheck绑定选中事件
  98. $("input[name='type']").on('ifChecked', function(event){
  99. var value = $(this).val();
  100. if (value == '0') {
  101. $(".parentDiv").hide();
  102. $(".URLDiv").hide();
  103. $(".permsDiv").hide();
  104. $(".iconDiv").show();
  105. $("#parentName").val("");
  106. //动态改变验证规则
  107. $("#parentId").rules("remove");
  108. $("#url").rules("remove");
  109. $("#perms").rules("remove");
  110. } else if(value == '1'){
  111. $(".parentDiv").show();
  112. $(".URLDiv").show();
  113. $(".permsDiv").show();
  114. $(".iconDiv").hide();
  115. //动态改变验证规则
  116. $("#parentId").rules("add",{required: true});
  117. $("#url").rules("add",{required: true});
  118. $("#perms").rules("add",{required: true});
  119. getPermissionList(value);
  120. } else if(value == '2'){
  121. $(".parentDiv").show();
  122. $(".URLDiv").hide();
  123. $(".permsDiv").show();
  124. $(".iconDiv").hide();
  125. //动态改变验证规则
  126. $("#parentId").rules("add",{required: true});
  127. $("#url").rules("remove");
  128. $("#perms").rules("add",{required: true});
  129. getPermissionList(value);
  130. }
  131. });
  132. /**
  133. * 根据类型获取上级节点列表
  134. * 因为左测菜单目前只有一级目录,所以添加权限节点选择类型为目录时是不需要选择上级节点
  135. * @param typeValue
  136. */
  137. function getPermissionList(typeValue) {
  138. var type = "";
  139. if(typeValue == '1'){
  140. type = "0";
  141. }else if(typeValue == '2'){
  142. type = "1";
  143. }
  144. $.ajax({
  145. type:"GET",
  146. dataType:"json",
  147. url: "/admin/permission/getPermissionList?type="+type,
  148. data:{
  149. "timestamp":new Date().getTime()
  150. },
  151. success: function (data) {
  152. if (data.status == "success") {
  153. $("#parentId").html("");
  154. $("#parentName").val("");
  155. var opt = "<option value=''>--请选择--</option>";
  156. $.each(data.permissionList, function (i, v) {
  157. opt += "<option value='" + v.id + "'>" + v.name + "</option>"
  158. });
  159. $("#parentId").html(opt);
  160. }
  161. }
  162. });
  163. }
  164. //为parentName赋值
  165. $("#parentId").change(function () {
  166. $("#parentName").val($(this).find("option:selected").text())
  167. });
  168. });