_SideBarNav.cshtml 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  1. @using Abp.Collections.Extensions
  2. @using ShwasherSys.Authorization.Permissions
  3. @model ShwasherSys.Models.Layout.SideBarNavViewModel
  4. @{
  5. var calculateMenuUrl = new Func<string, string>((url) =>
  6. {
  7. if (string.IsNullOrEmpty(url))
  8. {
  9. return ApplicationPath;
  10. }
  11. if (UrlChecker.IsRooted(url))
  12. {
  13. return url;
  14. }
  15. return ApplicationPath + url;
  16. });
  17. }
  18. <aside class="main-sidebar">
  19. <!-- Sidebar -->
  20. <div class="sidebar">
  21. <!-- Sidebar Menu -->
  22. <ul class="sidebar-menu" data-widget="tree" role="menu" data-accordion="false">
  23. @{
  24. if (Model!=null)
  25. {
  26. foreach (var menuItem in Model.MainMenu.Items)
  27. {
  28. if ((int) menuItem.CustomData != 1&& (int)menuItem.CustomData!=2)
  29. {
  30. continue;
  31. }
  32. string open;
  33. string active;
  34. if (Model.ActiveNames.LastOrDefault()== menuItem.Name||( Model.ActiveNames.Count==0 && menuItem.Name == "Pages"))
  35. {
  36. active = "active";
  37. open = menuItem.Name != "Pages" ?"menu-open":"";
  38. }
  39. else
  40. {
  41. active = "";
  42. open = "";
  43. }
  44. //var active = Model.ActiveMenuItemName == menuItem.Name ? "active" : "" ;
  45. //var open = (Model.ActiveMenuItemName == menuItem.Name || (Model.ActiveMenuItemName.Contains(menuItem.Name)&& menuItem.Name!="Pages")) ? "menu-open" : "" ;
  46. var dispaly = open == "" ? "none;" : "block;";
  47. if (!menuItem.Items.IsNullOrEmpty())
  48. {
  49. <li class="treeview @open @active">
  50. <a href="#">
  51. <i class="iconfont @menuItem.Icon"></i><span>@menuItem.DisplayName</span>
  52. <span class="pull-right-container">
  53. <i class="iconfont icon-left fa-angle-left pull-right"></i>
  54. </span>
  55. </a>
  56. <ul class="treeview-menu" style="display:@dispaly ">
  57. @foreach (var menuChild in menuItem.Items)
  58. {
  59. active = Model.ActiveNames.Contains(menuChild.Name) ? "active" : "";
  60. open = Model.ActiveNames.Contains(menuChild.Name) ? "menu-open" : "";
  61. if ((int) menuChild.CustomData != 1 && (int)menuChild.CustomData!=2)
  62. {
  63. continue;
  64. }
  65. if (menuChild.Items.IsNullOrEmpty()|| !menuChild.Items.Any(a=>(int)a.CustomData==1||(int)a.CustomData==2))
  66. {
  67. //active = Model.ActiveNames.Contains(menuChild.Name) ? "active" : "";
  68. <li class="@active" >
  69. <a href="@calculateMenuUrl(menuChild.Url)" class="">
  70. <i class="iconfont @menuChild.Icon"></i><span>@menuChild.DisplayName</span>
  71. </a>
  72. </li>
  73. }
  74. else
  75. {
  76. dispaly = active == "" ? "none;" : "block;";
  77. <li class="treeview @open @active">
  78. <a href="#">
  79. <i class="iconfont @menuChild.Icon"></i><span>@menuChild.DisplayName</span>
  80. <span class="pull-right-container">
  81. <i class="iconfont icon-left fa-angle-left pull-right"></i>
  82. </span>
  83. </a>
  84. <ul class="treeview-menu" style="display:@dispaly ">
  85. @foreach (var menuChildItem in menuChild.Items)
  86. {
  87. //if (menuChild.Name == PermissionNames.PagesCompanyDieMaintenance)
  88. //{
  89. //}
  90. active = Model.ActiveNames.Contains(menuChildItem.Name) ? "active" : "";
  91. //active = Model.ActiveMenuItemName == menuChild.Name ? "active" : "";
  92. if ((int)menuChildItem.CustomData != 1 && (int)menuChildItem.CustomData != 2)
  93. {
  94. continue;
  95. }
  96. if (menuChildItem.Items.IsNullOrEmpty()||!menuChildItem.Items.Any(a=>(int)a.CustomData==1||(int)a.CustomData==2))
  97. {
  98. <li class="@active">
  99. <a href="@calculateMenuUrl(menuChildItem.Url)" class="">
  100. <i class="iconfont @menuChildItem.Icon"></i><span>@menuChildItem.DisplayName</span>
  101. </a>
  102. </li>
  103. }
  104. else
  105. {
  106. }
  107. }
  108. </ul>
  109. </li>
  110. }
  111. }
  112. </ul>
  113. </li>
  114. }
  115. else
  116. {
  117. <li class="@active" >
  118. <a href="@calculateMenuUrl(menuItem.Url)" class="">
  119. <i class="iconfont @menuItem.Icon"></i><span>@menuItem.DisplayName</span>
  120. </a>
  121. </li>
  122. }
  123. }
  124. }
  125. }
  126. </ul>
  127. <!-- /.sidebar-menu -->
  128. </div>
  129. <!-- /.sidebar -->
  130. </aside>
  131. <script>
  132. var pageTitle = '@Html.Raw(Model!=null? Model.PageTitle:"")';
  133. </script>