dept_info.js 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182
  1. /**
  2. * 初始化部门详情对话框
  3. */
  4. var DeptInfoDlg = {
  5. deptInfoData : {},
  6. zTreeInstance : null,
  7. validateFields: {
  8. simplename: {
  9. validators: {
  10. notEmpty: {
  11. message: '部门名称不能为空'
  12. }
  13. }
  14. },
  15. fullname: {
  16. validators: {
  17. notEmpty: {
  18. message: '部门全称不能为空'
  19. }
  20. }
  21. },
  22. pName: {
  23. validators: {
  24. notEmpty: {
  25. message: '上级名称不能为空'
  26. }
  27. }
  28. }
  29. }
  30. };
  31. /**
  32. * 清除数据
  33. */
  34. DeptInfoDlg.clearData = function() {
  35. this.deptInfoData = {};
  36. }
  37. /**
  38. * 设置对话框中的数据
  39. *
  40. * @param key 数据的名称
  41. * @param val 数据的具体值
  42. */
  43. DeptInfoDlg.set = function(key, val) {
  44. this.deptInfoData[key] = (typeof value == "undefined") ? $("#" + key).val() : value;
  45. return this;
  46. }
  47. /**
  48. * 设置对话框中的数据
  49. *
  50. * @param key 数据的名称
  51. * @param val 数据的具体值
  52. */
  53. DeptInfoDlg.get = function(key) {
  54. return $("#" + key).val();
  55. }
  56. /**
  57. * 关闭此对话框
  58. */
  59. DeptInfoDlg.close = function() {
  60. parent.layer.close(window.parent.Dept.layerIndex);
  61. }
  62. /**
  63. * 点击部门ztree列表的选项时
  64. *
  65. * @param e
  66. * @param treeId
  67. * @param treeNode
  68. * @returns
  69. */
  70. DeptInfoDlg.onClickDept = function(e, treeId, treeNode) {
  71. $("#pName").attr("value", DeptInfoDlg.zTreeInstance.getSelectedVal());
  72. $("#pid").attr("value", treeNode.id);
  73. }
  74. /**
  75. * 显示部门选择的树
  76. *
  77. * @returns
  78. */
  79. DeptInfoDlg.showDeptSelectTree = function() {
  80. var pName = $("#pName");
  81. var pNameOffset = $("#pName").offset();
  82. $("#parentDeptMenu").css({
  83. left : pNameOffset.left + "px",
  84. top : pNameOffset.top + pName.outerHeight() + "px"
  85. }).slideDown("fast");
  86. $("body").bind("mousedown", onBodyDown);
  87. }
  88. /**
  89. * 隐藏部门选择的树
  90. */
  91. DeptInfoDlg.hideDeptSelectTree = function() {
  92. $("#parentDeptMenu").fadeOut("fast");
  93. $("body").unbind("mousedown", onBodyDown);// mousedown当鼠标按下就可以触发,不用弹起
  94. }
  95. /**
  96. * 收集数据
  97. */
  98. DeptInfoDlg.collectData = function() {
  99. this.set('id').set('simplename').set('fullname').set('tips').set('num').set('pid');
  100. }
  101. /**
  102. * 验证数据是否为空
  103. */
  104. DeptInfoDlg.validate = function () {
  105. $('#deptInfoForm').data("bootstrapValidator").resetForm();
  106. $('#deptInfoForm').bootstrapValidator('validate');
  107. return $("#deptInfoForm").data('bootstrapValidator').isValid();
  108. }
  109. /**
  110. * 提交添加部门
  111. */
  112. DeptInfoDlg.addSubmit = function() {
  113. this.clearData();
  114. this.collectData();
  115. if (!this.validate()) {
  116. return;
  117. }
  118. //提交信息
  119. var ajax = new $ax(Feng.ctxPath + "/dept/add", function(data){
  120. Feng.success("添加成功!");
  121. window.parent.Dept.table.refresh();
  122. DeptInfoDlg.close();
  123. },function(data){
  124. Feng.error("添加失败!" + data.responseJSON.message + "!");
  125. });
  126. ajax.set(this.deptInfoData);
  127. ajax.start();
  128. }
  129. /**
  130. * 提交修改
  131. */
  132. DeptInfoDlg.editSubmit = function() {
  133. this.clearData();
  134. this.collectData();
  135. if (!this.validate()) {
  136. return;
  137. }
  138. //提交信息
  139. var ajax = new $ax(Feng.ctxPath + "/dept/update", function(data){
  140. Feng.success("修改成功!");
  141. window.parent.Dept.table.refresh();
  142. DeptInfoDlg.close();
  143. },function(data){
  144. Feng.error("修改失败!" + data.responseJSON.message + "!");
  145. });
  146. ajax.set(this.deptInfoData);
  147. ajax.start();
  148. }
  149. function onBodyDown(event) {
  150. if (!(event.target.id == "menuBtn" || event.target.id == "parentDeptMenu" || $(
  151. event.target).parents("#parentDeptMenu").length > 0)) {
  152. DeptInfoDlg.hideDeptSelectTree();
  153. }
  154. }
  155. $(function() {
  156. Feng.initValidator("deptInfoForm", DeptInfoDlg.validateFields);
  157. var ztree = new $ZTree("parentDeptMenuTree", "/dept/tree");
  158. ztree.bindOnClick(DeptInfoDlg.onClickDept);
  159. ztree.init();
  160. DeptInfoDlg.zTreeInstance = ztree;
  161. });