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.
 
 
 
 
 
 

272 lines
8.3 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. height: 50px;
  82. }
  83. .navMore i {
  84. margin-left: 5px;
  85. }
  86. .navTitle .fa-angle-left{
  87. width: 24px;
  88. height: 24px;
  89. opacity: .3;
  90. line-height: 24px;
  91. text-align: center;
  92. background: #fff;
  93. color: #666;
  94. border-radius: 3px;
  95. margin-right: 25px;
  96. top: 0px;
  97. }
  98. .navCons .navMore{
  99. text-align: center;
  100. }
  101. .navCons .navT{
  102. text-align: right;
  103. }
  104. .navCons .navT > *{
  105. display: block;
  106. }
  107. .navCons .navT > i {
  108. font-size: 30px;
  109. margin-right: 0;
  110. margin-bottom: 10px;
  111. }
  112. .navCons .navBox{
  113. height: 156px;
  114. }
  115. </style>
  116. <div class="lr-desktop-panel lr-scroll-wrap" style="overflow: auto;">
  117. <div class="nav"></div>
  118. </div>
  119. <script>
  120. var id = request('id');
  121. var colorArr = ['#7299E4', '#52BED2', '#4EC586', '#DDC04A', '#DD964A', '#DD6D4A', '#E4474D', '#B658D1', '#8564D8',
  122. '#6467D8', '#468BD1', '#7299E4', '#52BED2', '#4EC586', '#DDC04A', '#DD964A', '#DD6D4A', '#E4474D', '#B658D1'
  123. ];
  124. var modulesTree = top.learun.clientdata.get(['modulesTree']);
  125. var parentId = '0';
  126. var modules = modulesTree[parentId] || [];
  127. //console.log(modulesTree)
  128. $('.nav').on('click', '.navMoreBox .navMore', function(){//查看更多
  129. var id = $(this).parents('.navBox').attr('id');
  130. $('.navCon').css('display', 'none').removeClass('active');
  131. $('.navCon[parentid="'+ id +'"]').addClass('active').fadeIn();
  132. //console.log($('.navRow[parentid="'+ id +'"]'))
  133. }).on('click', '.navTitle .fa-angle-left', function(){//返回上一页
  134. var id = $(this).parents('.navCon').attr('parentid');
  135. $('.navCon').css('display', 'none').removeClass('active');
  136. $('#' + id).parents('.navCon').addClass('active').fadeIn();
  137. }).on('click', '.navBox', function(){//跳转页面
  138. if(!$(this).hasClass('navMoreBox')){
  139. var $obj = $(this);
  140. var id = $obj.attr('id');
  141. var _module = top.learun.clientdata.get(['modulesMap', id]);
  142. switch (_module.F_Target) {
  143. case 'iframe':// 窗口
  144. if (top.learun.validator.isNotNull(_module.F_UrlAddress).code) {
  145. top.learun.frameTab.open(_module);
  146. }
  147. break;
  148. case 'open':// 窗口
  149. var newWin = window.open(_module.F_UrlAddress);
  150. newWin.location.replace(_module.F_UrlAddress);
  151. break;
  152. }
  153. }
  154. })
  155. var $firstmenus = $('.nav');
  156. for (var i = 0, l = modules.length; i < l; i++) {
  157. var item = modules[i];
  158. if(item.F_ModuleId == id){
  159. if (item.F_IsMenu == 1) {
  160. // 第二级菜单
  161. var secondModules = modulesTree[item.F_ModuleId] || [];
  162. var $secondMenus = $('<div class="navRow" parentid="'+ item.F_ModuleId +'"></div>');
  163. 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>');
  164. var secondMenuHad = false;
  165. for (var j = 0, sl = secondModules.length; j < sl; j++) {
  166. var secondItem = secondModules[j];
  167. if (secondItem.F_IsMenu == 1) {
  168. secondMenuHad = true;
  169. var $secondMenuItem = $('<div class="navClo6"></div>');
  170. var color = colorArr[j];
  171. if (!!secondItem.F_Description) {
  172. $secondMenuItem.attr('title', secondItem.F_Description);
  173. }
  174. var threeModules = modulesTree[secondItem.F_ModuleId] || [];
  175. var $threeMenus = $('<div class="navRow"></div>');
  176. 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>');
  177. var threeMenuHad = false;
  178. var secondClassName = '', secondMore = '';
  179. //console.log(threeModules.length)
  180. if(threeModules.length != 0){
  181. secondClassName = 'navMoreBox', secondMore = '展开更多 <i class="fa fa-caret-right"></i>';
  182. }
  183. var secondItemHtml = '<div class="navBox '+ secondClassName +'" id="' + secondItem.F_ModuleId + '" style="background: '+ color +';border-color:'+ color +';">'+
  184. '<div class="navT">'+
  185. '<i class="'+ secondItem.F_Icon +' lr-menu-item-icon"></i><span>'+ secondItem.F_FullName +'</span>'+
  186. '</div>'+
  187. '<div class="navMore" style="color:'+ color +'">'+ secondMore +'</div>'+
  188. '</div>';
  189. $secondMenuItem.append(secondItemHtml);
  190. // 第三级菜单
  191. for (var m = 0, tl = threeModules.length; m < tl; m++) {
  192. var threeItem = threeModules[m];
  193. if (threeItem.F_IsMenu == 1) {
  194. threeMenuHad = true;
  195. var $threeMenuItem = $('<div class="navClo6"></div>');
  196. var fourModules = modulesTree[threeItem.F_ModuleId] || [];
  197. var $fourMenus = $('<div class="navRow"></div>');
  198. 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>');
  199. var fourMenuHad = false;
  200. var threeClassName = '', threeMore = '';
  201. if(fourModules.length != 0){
  202. threeClassName = 'navMoreBox', threeMore = '展开更多 <i class="fa fa-caret-right"></i>';
  203. }
  204. var threeItemHtml = '<div class="navBox '+ threeClassName +'" id="' + threeItem.F_ModuleId + '" style="background: '+ color +';border-color:'+ color +';">'+
  205. '<div class="navT">'+
  206. '<i class="'+ threeItem.F_Icon +' lr-menu-item-icon"></i><span>'+ threeItem.F_FullName +'</span>'+
  207. '</div>'+
  208. '<div class="navMore">'+ threeMore +'</div>'+
  209. '</div>';
  210. $threeMenuItem.append(threeItemHtml);
  211. //第四级菜单
  212. for (var n = 0, fl = fourModules.length; n < fl; n++) {
  213. var fourItem = fourModules[n];
  214. if (fourItem.F_IsMenu == 1) {
  215. fourMenuHad = true;
  216. var $fourMenuItem = $('<div class="navClo6"></div>');
  217. var fourItemHtml = '<div class="navBox" id="' + fourItem.F_ModuleId + '" style="background: '+ color +';border-color:'+ color +';">'+
  218. '<div class="navT">'+
  219. '<i class="'+ fourItem.F_Icon +' lr-menu-item-icon"></i><span>'+ fourItem.F_FullName +'</span>'+
  220. '</div>'+
  221. '<div class="navMore"></div>'+
  222. '</div>';
  223. $fourMenuItem.append(fourItemHtml);
  224. $fourMenus.append($fourMenuItem);
  225. }
  226. }
  227. if (fourMenuHad) {
  228. $fourMenux.append($fourMenus);
  229. $firstmenus.append($fourMenux);
  230. }
  231. $threeMenus.append($threeMenuItem);
  232. }
  233. }
  234. if (threeMenuHad) {
  235. $threeMenux.append($threeMenus);
  236. $firstmenus.append($threeMenux);
  237. }
  238. $secondMenus.append($secondMenuItem);
  239. }
  240. }
  241. if (secondMenuHad) {
  242. $secondMenux.append($secondMenus);
  243. $firstmenus.append($secondMenux);
  244. }
  245. }
  246. break;
  247. }
  248. }
  249. </script>