role_info.js 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194
  1. /**
  2. * 角色详情对话框(可用于添加和修改对话框)
  3. */
  4. var RolInfoDlg = {
  5. roleInfoData: {},
  6. deptZtree: null,
  7. pNameZtree: null,
  8. validateFields: {
  9. name: {
  10. validators: {
  11. notEmpty: {
  12. message: '用户名不能为空'
  13. }
  14. }
  15. },
  16. tips: {
  17. validators: {
  18. notEmpty: {
  19. message: '别名不能为空'
  20. }
  21. }
  22. },
  23. pName: {
  24. validators: {
  25. notEmpty: {
  26. message: '父级名称不能为空'
  27. }
  28. }
  29. }
  30. }
  31. };
  32. /**
  33. * 清除数据
  34. */
  35. RolInfoDlg.clearData = function () {
  36. this.roleInfoData = {};
  37. };
  38. /**
  39. * 设置对话框中的数据
  40. *
  41. * @param key 数据的名称
  42. * @param val 数据的具体值
  43. */
  44. RolInfoDlg.set = function (key, value) {
  45. this.roleInfoData[key] = (typeof value == "undefined") ? $("#" + key).val() : value;
  46. return this;
  47. };
  48. /**
  49. * 设置对话框中的数据
  50. *
  51. * @param key 数据的名称
  52. * @param val 数据的具体值
  53. */
  54. RolInfoDlg.get = function (key) {
  55. return $("#" + key).val();
  56. };
  57. /**
  58. * 关闭此对话框
  59. */
  60. RolInfoDlg.close = function () {
  61. parent.layer.close(window.parent.Role.layerIndex);
  62. };
  63. /**
  64. * 点击部门input框时
  65. *
  66. * @param e
  67. * @param treeId
  68. * @param treeNode
  69. * @returns
  70. */
  71. RolInfoDlg.onClickDept = function (e, treeId, treeNode) {
  72. $("#deptName").attr("value", RolInfoDlg.deptZtree.getSelectedVal());
  73. $("#deptid").attr("value", treeNode.id);
  74. };
  75. RolInfoDlg.onDblClickDept = function (e, treeId, treeNode) {
  76. $("#deptName").attr("value", RolInfoDlg.deptZtree.getSelectedVal());
  77. $("#deptid").attr("value", treeNode.id);
  78. $("#deptContent").fadeOut("fast");
  79. };
  80. /**
  81. * 点击父级菜单input框时
  82. *
  83. * @param e
  84. * @param treeId
  85. * @param treeNode
  86. * @returns
  87. */
  88. RolInfoDlg.onClickPName = function (e, treeId, treeNode) {
  89. $("#pName").attr("value", RolInfoDlg.pNameZtree.getSelectedVal());
  90. $("#pid").attr("value", treeNode.id);
  91. };
  92. /**
  93. * 显示部门选择的树
  94. *
  95. * @returns
  96. */
  97. RolInfoDlg.showDeptSelectTree = function () {
  98. Feng.showInputTree("deptName", "deptContent");
  99. };
  100. /**
  101. * 显示父级菜单的树
  102. *
  103. * @returns
  104. */
  105. RolInfoDlg.showPNameSelectTree = function () {
  106. Feng.showInputTree("pName", "pNameContent");
  107. };
  108. /**
  109. * 收集数据
  110. */
  111. RolInfoDlg.collectData = function () {
  112. this.set('id').set('name').set('pid').set('deptid').set('tips').set('num');
  113. };
  114. /**
  115. * 验证数据是否为空
  116. */
  117. RolInfoDlg.validate = function () {
  118. $('#roleInfoForm').data("bootstrapValidator").resetForm();
  119. $('#roleInfoForm').bootstrapValidator('validate');
  120. return $("#roleInfoForm").data('bootstrapValidator').isValid();
  121. };
  122. /**
  123. * 提交添加用户
  124. */
  125. RolInfoDlg.addSubmit = function () {
  126. this.clearData();
  127. this.collectData();
  128. if (!this.validate()) {
  129. return;
  130. }
  131. //提交信息
  132. var ajax = new $ax("/admin/role/add", function (data) {
  133. Feng.success("添加成功!");
  134. window.parent.Role.table.refresh();
  135. RolInfoDlg.close();
  136. }, function (data) {
  137. Feng.error("添加失败!" + data.responseJSON.message + "!");
  138. });
  139. ajax.set(this.roleInfoData);
  140. ajax.start();
  141. };
  142. /**
  143. * 提交修改
  144. */
  145. RolInfoDlg.editSubmit = function () {
  146. this.clearData();
  147. this.collectData();
  148. if (!this.validate()) {
  149. return;
  150. }
  151. //提交信息
  152. var ajax = new $ax("/admin/role/edit", function (data) {
  153. Feng.success("修改成功!");
  154. window.parent.Role.table.refresh();
  155. RolInfoDlg.close();
  156. }, function (data) {
  157. Feng.error("修改失败!" + data.msg + "!");
  158. });
  159. ajax.set(this.roleInfoData);
  160. ajax.start();
  161. };
  162. $(function () {
  163. Feng.initValidator("roleInfoForm", RolInfoDlg.validateFields);
  164. var deptTree = new $ZTree("deptTree", "/admin/dept/treelist");
  165. deptTree.bindOnClick(RolInfoDlg.onClickDept);
  166. deptTree.bindOnDblClick(RolInfoDlg.onDblClickDept)
  167. deptTree.init();
  168. RolInfoDlg.deptZtree = deptTree;
  169. var pNameTree = new $ZTree("pNameTree", "/admin/role/treelist");
  170. pNameTree.bindOnClick(RolInfoDlg.onClickPName);
  171. pNameTree.init();
  172. RolInfoDlg.pNameZtree = pNameTree;
  173. });