You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

277 regels
11 KiB

  1. @{
  2. ViewBag.Title = "title";
  3. Layout = "~/Views/Shared/_Index.cshtml";
  4. }
  5. @Html.AppendJsFile("~/Views/LR_Content/script/lr-clientdata.js")
  6. <style type="text/css">
  7. body {
  8. padding: 10px;
  9. }
  10. .lr-desktop-panel {
  11. position: relative;
  12. width: 100%;
  13. height: 100%;
  14. background-color: #fff;
  15. border: 1px solid #ccc;
  16. padding: 15px 20px;
  17. border-radius: 3px;
  18. }
  19. .navTitle {
  20. font-size: 18px;
  21. background: #EDF6FB;
  22. color: #414045;
  23. line-height: 24px;
  24. padding: 15px;
  25. }
  26. .navTitle i {
  27. /*color: #6A9AE1;*/
  28. font-size: 18px;
  29. margin-right: 5px;
  30. position: relative;
  31. top: 2px;
  32. }
  33. .navRow {
  34. overflow: hidden;
  35. margin: 0 -8px;
  36. }
  37. .navCon {
  38. display: none;
  39. }
  40. .navCon.active {
  41. display: block;
  42. }
  43. .navClo6 {
  44. margin-top: 22px;
  45. padding: 0 8px;
  46. float: left;
  47. width: 16.666667%;
  48. }
  49. .navBox {
  50. background: #7299E4;
  51. border-radius: 6px;
  52. overflow: hidden;
  53. height: 126px;
  54. border: 1px solid #7299E4;
  55. position: relative;
  56. cursor: pointer;
  57. }
  58. .navT {
  59. padding: 20px;
  60. font-size: 18px;
  61. line-height: 24px;
  62. color: #fff;
  63. }
  64. .navT i {
  65. font-size: 18px;
  66. margin-right: 20px;
  67. position: relative;
  68. /*top: 2px;*/
  69. }
  70. .navMore {
  71. background: #fff;
  72. min-height: 15px;
  73. line-height: 50px;
  74. padding: 0 20px;
  75. position: absolute;
  76. bottom: 0;
  77. left: 0;
  78. right: 0;
  79. text-align: right;
  80. color: #7299E4;
  81. }
  82. .navMore i {
  83. margin-left: 5px;
  84. }
  85. .navTitle .fa-angle-left {
  86. width: 24px;
  87. height: 24px;
  88. opacity: .3;
  89. line-height: 24px;
  90. text-align: center;
  91. background: #fff;
  92. color: #666;
  93. border-radius: 3px;
  94. margin-right: 25px;
  95. top: 0px;
  96. }
  97. .navCons .navMore {
  98. text-align: center;
  99. }
  100. .navCons .navT {
  101. text-align: right;
  102. }
  103. .navCons .navT > * {
  104. display: block;
  105. }
  106. .navCons .navT > i {
  107. font-size: 30px;
  108. margin-right: 0;
  109. margin-bottom: 10px;
  110. }
  111. .navCons .navBox {
  112. height: 156px;
  113. }
  114. </style>
  115. <div class="lr-desktop-panel lr-scroll-wrap" style="overflow: auto;">
  116. <div class="nav"></div>
  117. </div>
  118. <script>
  119. var id = request('id');
  120. var colorArr = ['#7299E4', '#52BED2', '#4EC586', '#DDC04A', '#DD964A', '#DD6D4A', '#E4474D', '#B658D1', '#8564D8',
  121. '#6467D8', '#468BD1', '#7299E4', '#52BED2', '#4EC586', '#DDC04A', '#DD964A', '#DD6D4A', '#E4474D', '#B658D1'
  122. ];
  123. var modulesTree = top.learun.clientdata.get(['modulesTree']);
  124. var parentId = '0';
  125. var modules = modulesTree[parentId] || [];
  126. $('.nav').on('click', '.navMoreBox .navMore', function () {//查看更多
  127. var id = $(this).parents('.navBox').attr('id');
  128. $('.navCon').css('display', 'none').removeClass('active');
  129. $('.navCon[parentid="' + id + '"]').addClass('active').fadeIn();
  130. // }).on('click', '.navTitle .fa-angle-left', function () {//返回上一页
  131. var id = $(this).parents('.navCon').attr('parentid');
  132. $('.navCon').css('display', 'none').removeClass('active');
  133. $('#' + id).parents('.navCon').addClass('active').fadeIn();
  134. }).on('click', '.navBox', function () {//跳转页面
  135. if (!$(this).hasClass('navMoreBox')) {
  136. var $obj = $(this);
  137. var id = $obj.attr('id');
  138. var _module = top.learun.clientdata.get(['modulesMap', id]);
  139. switch (_module.F_Target) {
  140. case 'iframe':// 窗口
  141. if (top.learun.validator.isNotNull(_module.F_UrlAddress).code) {
  142. top.learun.frameTab.open(_module);
  143. }
  144. break;
  145. case 'open':// 窗口
  146. var newWin = window.open(_module.F_UrlAddress);
  147. newWin.location.replace(_module.F_UrlAddress);
  148. break;
  149. }
  150. }
  151. })
  152. var $firstmenus = $('.nav');
  153. for (var i = 0, l = modules.length; i < l; i++) {
  154. var item = modules[i];
  155. if (item.F_ModuleId == id) {
  156. if (item.F_IsMenu == 1) {
  157. // 第二级菜单
  158. var secondModules = modulesTree[item.F_ModuleId] || [];
  159. var $secondMenus = $('<div class="navRow" parentid="' + item.F_ModuleId + '"></div>');
  160. var $secondMenux = $('<div class="navCon active" num="2" parentid="' + item.F_ModuleId + '"><div class="navTitle"><i class="' + item.F_Icon + '"></i>' + item.F_FullName + '</div></div>');
  161. var secondMenuHad = false;
  162. for (var j = 0, sl = secondModules.length; j < sl; j++) {
  163. var secondItem = secondModules[j];
  164. if (secondItem.F_IsMenu == 1) {
  165. secondMenuHad = true;
  166. var $secondMenuItem = $('<div class="navClo6"></div>');
  167. var color = colorArr[j];
  168. if (!!secondItem.F_Description) {
  169. $secondMenuItem.attr('title', secondItem.F_Description);
  170. }
  171. var threeModules = modulesTree[secondItem.F_ModuleId] || [];
  172. var $threeMenus = $('<div class="navRow"></div>');
  173. var $threeMenux = $('<div class="navCon navCons" num="3" parentid="' + secondItem.F_ModuleId + '"><div class="navTitle" style="background: ' + color + ';color:#fff"><i class="fa fa-angle-left"></i><i class="' + secondItem.F_Icon + '"></i>' + secondItem.F_FullName + '</div></div>');
  174. var threeMenuHad = false;
  175. var secondClassName = '', secondMore = '';
  176. if (threeModules.length != 0) {
  177. secondClassName = 'navMoreBox', secondMore = '展开更多 <i class="fa fa-caret-right"></i>';
  178. }
  179. var secondItemHtml = '<div class="navBox ' + secondClassName + '" id="' + secondItem.F_ModuleId + '" style="background: ' + color + ';border-color:' + color + ';">' +
  180. '<div class="navT">' +
  181. '<i class="' + secondItem.F_Icon + ' lr-menu-item-icon"></i><span>' + secondItem.F_FullName + '</span>' +
  182. '</div>' +
  183. '<div class="navMore" style="color:' + color + '">' + secondMore + '</div>' +
  184. '</div>';
  185. $secondMenuItem.append(secondItemHtml);
  186. // 第三级菜单
  187. for (var m = 0, tl = threeModules.length; m < tl; m++) {
  188. var threeItem = threeModules[m];
  189. if (threeItem.F_IsMenu == 1) {
  190. threeMenuHad = true;
  191. var $threeMenuItem = $('<div class="navClo6"></div>');
  192. var fourModules = modulesTree[threeItem.F_ModuleId] || [];
  193. var $fourMenus = $('<div class="navRow"></div>');
  194. var $fourMenux = $('<div class="navCon navCons" num="4" parentid="' + threeItem.F_ModuleId + '"><div class="navTitle" style="background: ' + color + ';color:#fff"><i class="fa fa-angle-left"></i><i class="' + threeItem.F_Icon + '"></i>' + threeItem.F_FullName + '</div></div>');
  195. var fourMenuHad = false;
  196. var threeClassName = '', threeMore = '';
  197. if (fourModules.length != 0) {
  198. threeClassName = 'navMoreBox', threeMore = '展开更多 <i class="fa fa-caret-right"></i>';
  199. }
  200. var threeItemHtml = '<div class="navBox ' + threeClassName + '" id="' + threeItem.F_ModuleId + '" style="background: ' + color + ';border-color:' + color + ';">' +
  201. '<div class="navT">' +
  202. '<i class="' + threeItem.F_Icon + ' lr-menu-item-icon"></i><span>' + threeItem.F_FullName + '</span>' +
  203. '</div>' +
  204. '<div class="navMore">' + threeMore + '</div>' +
  205. '</div>';
  206. $threeMenuItem.append(threeItemHtml);
  207. //第四级菜单
  208. for (var n = 0, fl = fourModules.length; n < fl; n++) {
  209. var fourItem = fourModules[n];
  210. if (fourItem.F_IsMenu == 1) {
  211. fourMenuHad = true;
  212. var $fourMenuItem = $('<div class="navClo6"></div>');
  213. var fourItemHtml = '<div class="navBox" id="' + fourItem.F_ModuleId + '" style="background: ' + color + ';border-color:' + color + ';">' +
  214. '<div class="navT">' +
  215. '<i class="' + fourItem.F_Icon + ' lr-menu-item-icon"></i><span>' + fourItem.F_FullName + '</span>' +
  216. '</div>' +
  217. '<div class="navMore"></div>' +
  218. '</div>';
  219. $fourMenuItem.append(fourItemHtml);
  220. $fourMenus.append($fourMenuItem);
  221. }
  222. }
  223. if (fourMenuHad) {
  224. $fourMenux.append($fourMenus);
  225. $firstmenus.append($fourMenux);
  226. }
  227. $threeMenus.append($threeMenuItem);
  228. }
  229. }
  230. if (threeMenuHad) {
  231. $threeMenux.append($threeMenus);
  232. $firstmenus.append($threeMenux);
  233. }
  234. $secondMenus.append($secondMenuItem);
  235. }
  236. }
  237. if (secondMenuHad) {
  238. $secondMenux.append($secondMenus);
  239. $firstmenus.append($secondMenux);
  240. }
  241. }
  242. break;
  243. }
  244. }
  245. </script>