west.html 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. <script type="text/javascript">
  2. var layout_west_tree;
  3. var layout_west_tree_url = '';
  4. //if (sessionInfo_userId) {
  5. layout_west_tree_url = '/base/syresource!doNotNeedSecurity_getMainMenu.action';
  6. //}
  7. $.ajax({
  8. url:layout_west_tree_url,
  9. type:'post',
  10. async: true,
  11. dataType:'json',
  12. success:function(data){
  13. var j = 0;
  14. $.each(data, function(index, node){
  15. if (node.pid) {
  16. }else{
  17. addParentItem(node, j++);
  18. }
  19. });
  20. /* 从后往前遍历 */
  21. $.each(data, function(index, node){
  22. if (node.pid){
  23. addMenuItem(node);
  24. }
  25. });
  26. }
  27. });
  28. function addMenuItem(node) {
  29. var item = $('<li><a href="#"><span class="' + node.iconCls
  30. + '" style="width:18px;height:18px;display:inline-block;padding-right:5px;vertical-align:middle;"/>'
  31. + node.text + '</a></li>')
  32. .appendTo($('#' + node.pid));
  33. $(item).click(function() {
  34. onItemClick(node);
  35. });
  36. }
  37. function addParentItem(node, j){
  38. var inOrEmpty = "";
  39. var collapsed = "collapsed";
  40. if (j == 0) {
  41. inOrEmpty = "in";
  42. collapsed = "";
  43. }
  44. $('<a href="#' + node.id + '" class="nav-header ' + collapsed + '" data-toggle="collapse"><span class="' + node.iconCls
  45. + '" style="width:18px;height:18px;display:inline-block;padding-right:5px;vertical-align:middle;"/>'
  46. + node.text + '<i class="icon-chevron-up"></i></a>'
  47. + '<ul id="' + node.id + '" class="nav nav-list collapse ' + inOrEmpty + '"></ul>').appendTo($('#main-nav'));
  48. }
  49. function onItemClick(node) {
  50. if (node.attributes.url) {
  51. var url = node.attributes.url;
  52. if (node.attributes.url.indexOf('/') == 0) {/*如果url第一位字符是"/",那么代表打开的是本地的资源*/
  53. url = node.attributes.url;
  54. }
  55. addTab({
  56. url : url,
  57. title : node.text,
  58. iconCls : node.iconCls
  59. });
  60. }
  61. }
  62. function addTab(params) {
  63. var iframe = '<iframe src="' + params.url + '" frameborder="0" style="border:0;width:100%;height:98%;"></iframe>';
  64. var t = $('#mainTabs');
  65. var opts = {
  66. title : params.title,
  67. closable : true,
  68. iconCls : params.iconCls,
  69. content : iframe,
  70. border : false,
  71. fit : true
  72. };
  73. if (t.tabs('exists', opts.title)) {
  74. t.tabs('select', opts.title);
  75. parent.$.messager.progress('close');
  76. } else {
  77. t.tabs('add', opts);
  78. }
  79. }
  80. </script>
  81. <div class="sidebar-nav" id="main-nav">
  82. </div>