menu.js 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225
  1. function initMenu(){
  2. // $("#main_content_title").html("菜单管理")
  3. $('#dashboard').dashboard({ draggable: true });
  4. var zTreeObj;
  5. var zNodes = [];
  6. menu_tree = $.fn.zTree.init($("#menu_tree"), {}, zNodes);
  7. getMenu();
  8. $("#dept_add").on("click", function() {
  9. var nodedata = menu_tree.getSelectedNodes();
  10. edittype = "add"
  11. loadData(nodedata)
  12. $('#addModal').modal('show')
  13. })
  14. $("#dept_edit").on("click", function() {
  15. //获取选中的节点
  16. var nodedata = menu_tree.getSelectedNodes();
  17. if (nodedata.length < 1) {
  18. layer.msg('请先选择部门!', {
  19. time: 2000, //20s后自动关闭
  20. });
  21. return;
  22. }
  23. edittype = "edit"
  24. loadData(nodedata)
  25. $('#addModal').modal('show');
  26. });
  27. $("#dept_delete").on("click", function() {
  28. //获取选中的节点
  29. var nodedata = menu_tree.getSelectedNodes();
  30. if (nodedata.length < 1) {
  31. layer.msg('请先选择部门!', {
  32. time: 2000, //20s后自动关闭
  33. });
  34. return;
  35. }
  36. DeptDelete(nodedata[0].id, function(data) {
  37. layer.msg('删除成功!', {
  38. time: 2000, //20s后自动关闭
  39. });
  40. menu_tree.removeNode(nodedata[0]);
  41. }, function(error) {
  42. });
  43. });
  44. }
  45. function getMenu() {
  46. function zTreeOnRename(event, treeId, treeNode, isCancel) {
  47. alert(treeNode.tId + ", " + treeNode.name);
  48. }
  49. function zTreeOnRemove(event, treeId, treeNode) {
  50. alert(treeNode.tId + ", " + treeNode.name);
  51. }
  52. var setting = {
  53. data: {
  54. simpleData: {
  55. enable: true,
  56. idKey: "id",
  57. pIdKey: "pId",
  58. rootPId: null
  59. }
  60. },
  61. view: { //表示tree的显示状态
  62. selectMulti: false //表示禁止多选
  63. },
  64. check: { //表示tree的节点在点击时的相关设置
  65. enable: false, //是否显示radio/checkbox
  66. chkStyle: "checkbox", //值为checkbox或者radio表示
  67. checkboxType: { p: "", s: "" }, //表示父子节点的联动效果
  68. radioType: "level" //设置tree的分组
  69. },
  70. callback: {
  71. onClick: zTreeOnClick
  72. },
  73. edit: {
  74. enable: true,
  75. drag: {
  76. autoExpandTrigger: true,
  77. isMove: true,
  78. prev: false,
  79. next: true,
  80. inner: true,
  81. autoOpenTime: 0
  82. },
  83. showRenameBtn: false,
  84. showRemoveBtn: false
  85. }
  86. };
  87. get_common_service('menu/get/all?judge=1',null,function(data) {
  88. zdata = [];
  89. for (var i = 0; i < data.length; i++) {
  90. var m = data[i];
  91. var zdataItem = {};
  92. zdataItem["id"] = m.id;
  93. zdataItem["value"] = m.id;
  94. zdataItem["pId"] = null;
  95. zdataItem["name"] = m.menuname;
  96. zdataItem["children"] = addobj(m);
  97. zdata.push(zdataItem);
  98. }
  99. menu_tree = $.fn.zTree.init($("#menu_tree"), setting, zdata)
  100. }, function(error) {
  101. });
  102. }
  103. function addobj(data) {
  104. var zdata = [];
  105. if (typeof(data.childs) != "undefinde" && data.childs != null &&
  106. data.childs.length > 0) {
  107. for (var i = 0; i < data.childs.length; i++) {
  108. var m = data.childs[i];
  109. var zdataItem = {};
  110. zdataItem["id"] = m.id;
  111. zdataItem["value"] = m.id;
  112. zdataItem["pId"] = data.id;
  113. zdataItem["icon"] = "";
  114. zdataItem["name"] = m.menuname;
  115. zdataItem["children"] = addobj(m);
  116. zdata.push(zdataItem);
  117. }
  118. return zdata;
  119. } else {
  120. return [];
  121. }
  122. }
  123. var curTreeNode;
  124. function zTreeOnClick(event, treeId, treeNode){
  125. // alert(treeNode.id);
  126. curTreeNode=treeNode;
  127. queryMenu(treeNode.id);
  128. }
  129. function refresh(){
  130. // alert(treeNode.id);
  131. getMenu();
  132. $('.datatable').mytable('empty');
  133. //queryMenu(curTreeNode.id);
  134. }
  135. function queryMenu(id){
  136. var data = {
  137. "pid": id
  138. }
  139. var cols = [
  140. {width: 80, text: '菜单名称', type: 'number', flex: false, field: 'menuname'},
  141. {width: 160, text: '地址', type: 'string', flex: false, field: 'url'},
  142. // {width: 80, text: '字典名称', type: 'string', flex: true, field: 'parentId'},
  143. {width: 60, text: '图标', type: 'string', flex: false, field: 'iconClass'},
  144. {width: 50, text: '类型', type: 'string', flex: false, field: 'type'},
  145. {width: 50, text: '排序号', type: 'number', flex: false, field: 'sortNo'},
  146. {width: 60, text: '操作', type: 'string', flex: false, field: 'id',
  147. oper:[
  148. {func:'showEditMenu',text:'修改',icon_class:'icon-edit'},
  149. {func:'deleteMenu',text:'删除',icon_class:'icon-remove-circle'}
  150. ]
  151. }
  152. ];
  153. $('.datatable').mytable({'cols':cols,
  154. 'url':"/menu/getMenuByParent/"+id+"/",
  155. 'param':data}
  156. );
  157. }
  158. function showAddMenu(){
  159. $('#menuname').val('');
  160. $('#url').val('');
  161. if(curTreeNode)
  162. $('#parentId').val(curTreeNode.id)
  163. else
  164. $('#parentId').val('');
  165. $('#iconClass').val('');
  166. $('#type').val('');
  167. $('#sortNo').val('');
  168. showPopup4Common('添加菜单',function(){
  169. addOrUpdateConstant("/menu/addMenu/");
  170. },'400px');
  171. }
  172. // var cur_id;
  173. function addOrUpdateConstant(url){
  174. var valid=1;
  175. if(!$("#valid").is(':checked')) valid=0;
  176. var param ={
  177. // 'id':cur_id,
  178. 'menuname':$('#menuname').val(),
  179. 'url':$('#url').val(),
  180. 'parentId':$('#parentId').val(),
  181. 'iconClass':$('#iconClass').val(),
  182. 'type':$('#type').val(),
  183. 'sortNo':$('#sortNo').val()
  184. };
  185. addOrUpdateItem4Common(param,url,refresh);
  186. }
  187. function showEditMenu(id){
  188. // cur_id='';
  189. var rowData=getItemByIdFromArr(id,$('.datatable').mytable('getTableData'));
  190. if(rowData) {
  191. // cur_id = rowData.id;
  192. $('#menuname').val(rowData.menuname);
  193. $('#url').val(rowData.url);
  194. $('#parentId').val(rowData.parentId);
  195. $('#iconClass').val(rowData.iconClass);
  196. $('#type').val(rowData.type);
  197. $('#sortNo').val(rowData.sortNo);
  198. // if(rowData.valid==1){
  199. // $("#valid").attr('checked','true');
  200. // }else{
  201. // $("#valid").attr('checked','false');
  202. // }
  203. showPopup4Common('修改菜单',function(){
  204. addOrUpdateConstant("/menu/updateMenu/"+id);
  205. },'400px');
  206. }
  207. }
  208. function deleteMenu(id){
  209. deleteItem4Common(id,"/menu/deleteMenu/"+id+"",refresh);
  210. }