25'ten fazla konu seçemezsiniz Konular bir harf veya rakamla başlamalı, kısa çizgiler ('-') içerebilir ve en fazla 35 karakter uzunluğunda olabilir.
 
 
 
 
 
 

393 satır
16 KiB

  1. $(function () {
  2. "use strict";
  3. var pageId = request('id');
  4. var menuId = request('menuid');
  5. var moduleName = unescape(request('module'));
  6. var pageType;
  7. var activeItem = null;
  8. var navList = [];
  9. // 判断下页面数据是否是全的,如果是不全就转到主页
  10. $('.lr-site-banner-default .img').attr('src', $.rootUrl + '/home/GetPageImg?keyValue=' + pageId);
  11. $('body').on('click', '.site-menu-li', function () {
  12. var $this = $(this);
  13. var data = $this[0].data;
  14. if (data.F_UrlType == 1) {// 内部页面
  15. window.location.href = $.rootUrl + '/Home/ChildIndex?id=' + data.F_Url + '&menuid=' + data.F_Id;
  16. }
  17. else {// 外部页面
  18. window.open(data.F_Url);
  19. }
  20. return false;
  21. });
  22. $('body').on('click', '.lr-site-article-list-item', function () {
  23. var data = $(this)[0].data;
  24. window.open($.rootUrl + '/Home/DetailIndex?id=' + data);
  25. return false;
  26. });
  27. $('.homePage').on('click', function () {
  28. window.location.href = $.rootUrl + '/Home/Index';
  29. });
  30. // 渲染顶部菜单
  31. var renderTopMenu = function (_topMenuList) {
  32. var $topUl = $('.lr-site-nav-ul');
  33. $('.lr-site-sub-nav-ul').remove();
  34. $.each(_topMenuList["0"] || [], function (_index, _item) {
  35. var $item = $('<li class="lr-site-nav-li site-menu-li childPage">\
  36. <a href="javascript:void(0);" class="lr-site-nav-item"><span class="text">' + _item.F_Name + '</span></a>\
  37. </li>');
  38. $item[0].data = _item;
  39. $topUl.append($item);
  40. if (_item.F_Id == menuId) {
  41. $item.addClass('active');
  42. navList.push(_item);
  43. }
  44. // 加载子菜单
  45. if (_topMenuList[_item.F_Id]) {
  46. var $subList = $('<div class="lr-site-sub-nav-ul" data-value="' + _item.F_Id + '" ><div class="lr-site-content"><ul class="lr-site-sub-nav-menu"></ul></div></div>');
  47. var $subUl = $subList.find('ul');
  48. $.each(_topMenuList[_item.F_Id], function (_jindex, _jitem) {
  49. var $jitem = $('<li class="lr-site-sub-nav-li site-menu-li"><a href="javascript:void(0);" class="lr-site-sub-nav-item">' + _jitem.F_Name + '</a></li>');
  50. $jitem[0].data = _jitem;
  51. if (_jitem.F_Id == menuId) {
  52. $item.addClass('active');
  53. navList.push(_item);
  54. navList.push(_jitem);
  55. }
  56. // 加载三级子菜单
  57. if (_topMenuList[_jitem.F_Id]) {
  58. var $ul = $('<ul class="lr-site-three-nav-menu"></ul>');
  59. $.each(_topMenuList[_jitem.F_Id], function (_mindex, _mitem) {
  60. var $mitem = $('<li class="lr-site-three-nav-li site-menu-li"><a href="javascript:void(0);" class="lr-site-three-nav-item">' + _mitem.F_Name + '</a></li>');
  61. $mitem[0].data = _mitem;
  62. $ul.append($mitem);
  63. if (_mitem.F_Id == menuId) {
  64. $item.addClass('active');
  65. navList.push(_item);
  66. navList.push(_jitem);
  67. navList.push(_mitem);
  68. }
  69. });
  70. $jitem.append($ul);
  71. }
  72. $subUl.append($jitem);
  73. });
  74. $('body').append($subList);
  75. }
  76. });
  77. $topUl.find('.childPage').hover(function () {
  78. var $this = $(this);
  79. var data = $this[0].data;
  80. $('.lr-site-sub-nav-ul').hide();
  81. var $subList = $('.lr-site-sub-nav-ul[data-value="' + data.F_Id + '"]');
  82. if ($subList.length > 0) {
  83. $subList[0].isShow = false;
  84. $subList.show();
  85. }
  86. }, function () {
  87. var $this = $(this);
  88. var data = $this[0].data;
  89. setTimeout(function () {
  90. var $subList = $('.lr-site-sub-nav-ul[data-value="' + data.F_Id + '"]');
  91. if ($subList.length > 0) {
  92. if (!$subList[0].isShow) {
  93. $subList.hide();
  94. }
  95. }
  96. }, 100);
  97. });
  98. $('.lr-site-sub-nav-ul').hover(function () {
  99. $(this)[0].isShow = true;
  100. $(this).show();
  101. }, function () {
  102. $(this)[0].isShow = false;
  103. $(this).hide();
  104. });
  105. // 显示导航信息
  106. if (menuId) {
  107. var $bannerTitle = $('.lr-site-banner-title .lr-site-content');
  108. $.each(navList, function (_index, _item) {
  109. var $item = $('<span class="lr-herf-item">' + _item.F_Name + '</span>');
  110. $item[0].data = _item;
  111. $bannerTitle.append($item);
  112. if (_index != navList.length - 1) {
  113. $item.addClass('site-menu-li');
  114. $bannerTitle.append('<span>></span>');
  115. }
  116. });
  117. }
  118. }
  119. // 渲染底部菜单
  120. var renderBottomMenu = function (_bottomMenuList) {
  121. var $list = $('.lr-site-footer-nav-menu');
  122. $list.html('');
  123. $.each(_bottomMenuList, function (_index, _item) {
  124. var $item = $(' <li class="lr-site-footer-nav-li site-menu-li"><a href="javascript:void(0);" class="lr-site-footer-nav-item">' + _item.F_Name + '</a></li>');
  125. $item[0].data = _item;
  126. $list.append($item);
  127. if (menuId == _item.F_Id) {
  128. $('.homePage').addClass('active');
  129. var $bannerTitle = $('.lr-site-banner-title .lr-site-content');
  130. var $item = $('<span class="lr-herf-item">首页</span>');
  131. $bannerTitle.append($item);
  132. $bannerTitle.append('<span>></span><span class="lr-herf-item">' + _item.F_Name + '</span>');
  133. $item.on('click', function () {
  134. window.location.href = $.rootUrl + '/Home/Index';
  135. });
  136. }
  137. });
  138. }
  139. if (!menuId) {
  140. $('.homePage').addClass('active');
  141. var $bannerTitle = $('.lr-site-banner-title .lr-site-content');
  142. var $item = $('<span class="lr-herf-item">首页</span>');
  143. $bannerTitle.append($item);
  144. $bannerTitle.append('<span>></span><span class="lr-herf-item">' + moduleName + '</span>');
  145. $item.on('click', function () {
  146. window.location.href = $.rootUrl + '/Home/Index';
  147. });
  148. }
  149. var formatDate = function (v, format) {
  150. if (!v) return "";
  151. var d = v;
  152. if (typeof v === 'string') {
  153. if (v.indexOf("/Date(") > -1)
  154. d = new Date(parseInt(v.replace("/Date(", "").replace(")/", ""), 10));
  155. else
  156. d = new Date(Date.parse(v.replace(/-/g, "/").replace("T", " ").split(".")[0]));//.split(".")[0] 用来处理出现毫秒的情况,截取掉.xxx,否则会出错
  157. }
  158. var o = {
  159. "M+": d.getMonth() + 1, //month
  160. "d+": d.getDate(), //day
  161. "h+": d.getHours(), //hour
  162. "m+": d.getMinutes(), //minute
  163. "s+": d.getSeconds(), //second
  164. "q+": Math.floor((d.getMonth() + 3) / 3), //quarter
  165. "S": d.getMilliseconds() //millisecond
  166. };
  167. if (/(y+)/.test(format)) {
  168. format = format.replace(RegExp.$1, (d.getFullYear() + "").substr(4 - RegExp.$1.length));
  169. }
  170. for (var k in o) {
  171. if (new RegExp("(" + k + ")").test(format)) {
  172. format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length));
  173. }
  174. }
  175. return format;
  176. };
  177. // 获取页面公共部分数据
  178. httpGet($.rootUrl + '/Home/GetAllList', function (res) {
  179. var topMenuList = {};
  180. var bottomMenuList = [];
  181. if (res && res.code == 200) {
  182. $.each(res.data, function (_index, _item) {
  183. switch (_item.F_Type) {
  184. case '1':// 顶部文字
  185. $('#lr_site_top_text').text(_item.F_Name);
  186. break;
  187. case '2':// 底部文字
  188. $('.lr-site-bottom').text(_item.F_Name);
  189. break;
  190. case '3':// 底部地址
  191. $('.lr-site-contactInfo').text(_item.F_Name);
  192. break;
  193. case '6':// 顶部菜单
  194. topMenuList[_item.F_ParentId] = topMenuList[_item.F_ParentId] || [];
  195. topMenuList[_item.F_ParentId].push(_item);
  196. break;
  197. case '7':// 底部菜单
  198. bottomMenuList.push(_item);
  199. break;
  200. case '11':
  201. $('.lr-site-footer-wechat .text').text(_item.F_Name);
  202. break;
  203. }
  204. });
  205. renderTopMenu(topMenuList);
  206. renderBottomMenu(bottomMenuList);
  207. }
  208. });
  209. function loadPage(pageIndex) {
  210. var pagination = {
  211. rows: 10, // 每页行数
  212. page: pageIndex, // 当前页
  213. sidx: 'F_PushDate', // 排序列
  214. sord: 'DESC', // 排序类型
  215. records: 0, // 总记录数
  216. total: 0 // 总页数
  217. };
  218. httpGet($.rootUrl + '/Home/GetArticlePageList?pagination=' + JSON.stringify(pagination) + '&queryJson=' + JSON.stringify({ F_Category: activeItem.category }), function (res) {
  219. var $list = $('#lr_body_cotent');
  220. $list.html('');
  221. if (res && res.code == 200) {
  222. var data = res.data;
  223. if (pageType == '1') {
  224. $.each(data.rows, function (_index, _item) {
  225. var $item = $('<div class="lr-site-body-list-item lr-site-article-list-item">\
  226. <div class="text">' + _item.F_Title + '</div>\
  227. <div class="date">' + formatDate(_item.F_PushDate, 'yyyy-MM-dd') + '</div>\
  228. </div>');
  229. $item[0].data = _item.F_Id;
  230. $list.append($item);
  231. });
  232. }
  233. else {
  234. $.each(data.rows, function (_index, _item) {
  235. var $item = $('<div class="col-md-4 col-sm-6 lr-site-img-item lr-site-article-list-item">\
  236. <div class="lr-site-img-content2">\
  237. <img class="img" src="' + top.$.rootUrl + '/Home/GetArticleImg?keyValue=' + _item.F_Id + '" />\
  238. <div class="text" title="' + _item.F_Title + '" >' + _item.F_Title + '</div>\
  239. </div>\
  240. </div>');
  241. $item[0].data = _item.F_Id;
  242. $list.append($item);
  243. });
  244. }
  245. resetPage(data);
  246. }
  247. });
  248. }
  249. //重置分页(跳转分页)
  250. function resetPage(data) {
  251. laypage({
  252. cont: "lr_page", //容器。值支持id名、原生dom对象,jquery对象。【如该容器为】:<div id="page1"></div>
  253. pages: data.total, //通过后台拿到的总页数
  254. curr: data.page, //当前页
  255. groups: 5, //连续显示分页数
  256. skip: true, //是否开启跳页
  257. first: '首页', //若不显示,设置false即可
  258. last: '尾页', //若不显示,设置false即可
  259. jump: function (obj, first) { //触发分页后的回调
  260. if (!first) { //点击跳页触发函数自身,并传递当前页:obj.curr
  261. loadPage(obj.curr);
  262. }
  263. }
  264. });
  265. }
  266. $('.lr-site-body-container').on('click', '.lr-site-title-item', function () {
  267. var $this = $(this);
  268. if (!$this.hasClass('active')) {
  269. $this.parent().find('.active').removeClass('active');
  270. $this.addClass('active');
  271. var data = $this[0].data;
  272. $('.right-title').text(data.name);
  273. activeItem = data;
  274. if (pageType == '3') {
  275. httpGet($.rootUrl + '/Home/GetArticle?keyValue=' + activeItem.article, function (res) {
  276. if (res && res.code == 200) {
  277. var $list = $('#lr_body_cotent');
  278. // 图片地址切换
  279. var _content = res.data.F_Content.replace(/\/ueditor\/upload\/image/g, $.rootUrl + '/Home/GetUeditorImg?id=');
  280. $list.html(_content);
  281. }
  282. });
  283. }
  284. else {
  285. loadPage(1);
  286. }
  287. }
  288. });
  289. // 获取具体页面数据
  290. httpGet($.rootUrl + '/Home/GetPageData?keyValue=' + pageId, function (res) {
  291. if (res && res.code == 200) {
  292. var data = res.data;
  293. var shceme = JSON.parse(data.F_Scheme);
  294. var $container = $('.lr-site-body-container');
  295. var $left = $('<div class="lr-site-body-left">\
  296. <div class="lr-site-title">' + shceme.title + '</div>\
  297. <div class="lr-site-body-cotent"></div>\
  298. </div>');
  299. var $leftContent = $left.find('.lr-site-body-cotent');
  300. var $firstItem = null;
  301. $.each(shceme.list, function (_index, _item) {
  302. var $item = $('<div class="lr-site-title-item">' + _item.name + '</div>');
  303. $item[0].data = _item;
  304. $leftContent.append($item);
  305. if (_index == 0) {
  306. $firstItem = $item;
  307. }
  308. });
  309. $container.append($left);
  310. pageType = data.F_Type;
  311. switch (data.F_Type) {
  312. case '1': // 文章列表
  313. $container.append('<div class="lr-site-body-right">\
  314. <div class="lr-site-title right-title">未选择分类项</div>\
  315. <div class="lr-site-body-cotent">\
  316. <div class="lr-site-body-list" id="lr_body_cotent">\
  317. </div>\
  318. <div class="lr-site-body-page" id="lr_page"></div>\
  319. </div>\
  320. </div>');
  321. break;
  322. case '2': // 图片列表
  323. $container.append('<div class="lr-site-body-right">\
  324. <div class="lr-site-title right-title">未选择分类项</div>\
  325. <div class="lr-site-body-cotent">\
  326. <div class="row" id="lr_body_cotent">\
  327. </div>\
  328. <div class="lr-site-body-page" id="lr_page"></div>\
  329. </div>\
  330. </div>');
  331. break;
  332. case '3': // 详细列表
  333. $container.append('<div class="lr-site-body-right">\
  334. <div class="lr-site-title right-title">未选择分类项</div>\
  335. <div class="lr-site-body-cotent">\
  336. <div class="lr-site-body-list" id="lr_body_cotent">\
  337. </div>\
  338. </div>\
  339. </div>');
  340. break;
  341. }
  342. if ($firstItem) {
  343. $firstItem.trigger('click');
  344. $firstItem = null;
  345. }
  346. }
  347. });
  348. });