Não pode escolher mais do que 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

PageIndex.js 16 KiB

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