articleList2.html 9.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
  6. <meta name="apple-mobile-web-app-capable" content="yes">
  7. <meta name="apple-mobile-web-app-status-bar-style" content="black">
  8. <title>党建系统</title>
  9. <link href="../../css/mui.min.css" rel="stylesheet" />
  10. <link rel="stylesheet" href="../../css/common.css">
  11. <link rel="stylesheet" href="../../css/main.css" />
  12. <style>
  13. .mui-bar.mui-bar-nav .mui-title {
  14. color: #ca0002;
  15. }
  16. .mui-action-back {
  17. color: #ca0002;
  18. }
  19. </style>
  20. </head>
  21. <body>
  22. <header class="mui-bar mui-bar-nav ">
  23. <a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"></a>
  24. <h1 id="title" class="mui-title">党建</h1>
  25. <div class="bnt"><span id="folderName">全部</span><img src="../../images/more1.png" width="12px" class="user-arrow"></div>
  26. <div class="menu">
  27. <ul>
  28. <template v-for="folder in folders">
  29. <li>
  30. <a href="javascript:;" :data-folderId="folder.id" v-on:click="chageV(folder)">{{folder.name}}</a>
  31. </li>
  32. <div class="line"></div>
  33. </template>
  34. </ul>
  35. </div>
  36. </header>
  37. <div class="mui-content">
  38. <div id="pullrefresh" class="mui-content mui-scroll-wrapper" style="">
  39. <div class="mui-scroll">
  40. <div class="mui-card" v-for="item in items">
  41. <a href="javascript:;" :data-articleId="item.articleId" @tap="open_detail(item)">
  42. <div class="mui-card-header mui-card-media">
  43. <div class="yuan yuan_l"></div>
  44. <div class="yuan yuan_r"></div>
  45. <div class="mui-card-media-object mui-pull-left">
  46. <img src="../../images/wenzhang.png" width="14px" height="14px" />
  47. </div>
  48. <span class="biaoqian mui-pull-right">{{item.publish_time}}</span>
  49. <div class="mui-card-media-body">
  50. {{item.title}}
  51. </div>
  52. </div>
  53. <div class="mui-card-content" v-if="item.imgUrl === ''">
  54. <div class="mui-card-content-inner">
  55. {{item.content}}
  56. </div>
  57. </div>
  58. <div class="mui-card-content" v-else>
  59. <div class="card-img mui-pull-left"><img :src="item.imgUrl"></div>
  60. <div class="mui-card-content-inner mui-pull-left mui-card-content-inner1">
  61. {{item.content}}
  62. </div>
  63. <div class="mui-clearfix"></div>
  64. </div>
  65. <!--<div class="mui-card-footer">2018/1/4</div>-->
  66. </a>
  67. </div>
  68. </div>
  69. </div>
  70. </div>
  71. <script type="text/javascript" src="../../js/jquery-1.11.2.min.js"></script>
  72. <script src="../../js/mui.min.js"></script>
  73. <script src="../../js/config.js"></script>
  74. <script src="../../js/app.js"></script>
  75. <script src="../../js/dj/article/list.js"></script>
  76. <script src="../../js/vue.min.js"></script>
  77. <script>
  78. var pageDetail = null;
  79. mui.init({
  80. pullRefresh: {
  81. container: '#pullrefresh',
  82. down: {
  83. style: 'circle', //必选,下拉刷新样式,目前支持原生5+ ‘circle’ 样式
  84. color: '#2BD009', //可选,默认“#2BD009” 下拉刷新控件颜色
  85. height: '50px', //可选,默认50px.下拉刷新控件的高度,
  86. range: '100px', //可选 默认100px,控件可下拉拖拽的范围
  87. offset: '0px', //可选 默认0px,下拉刷新控件的起始位置
  88. // auto: true, //可选,默认false.首次加载自动上拉刷新一次
  89. callback: reloadNews //必选,刷新函数,根据具体业务来编写,比如通过ajax从服务器获取新数据;
  90. },
  91. up: {
  92. contentrefresh: '正在加载...',
  93. auto: true, //可选,默认false.自动上拉加载一次
  94. callback: pullupRefresh
  95. }
  96. }
  97. });
  98. //下拉菜单
  99. $(".menu").hide();
  100. $(function() {
  101. var usercenter = {
  102. init: function() {
  103. this.modal();
  104. },
  105. modal: function() {
  106. $(".bnt").click(function() {
  107. if($(".user-arrow").hasClass("rotate")) { //点击箭头旋转180度
  108. $(".user-arrow").removeClass("rotate");
  109. $(".user-arrow").addClass("rotate1");
  110. $(".menu").slideUp(500);
  111. } else {
  112. $(".user-arrow").removeClass("rotate1"); //再次点击箭头回来
  113. $(".user-arrow").addClass("rotate");
  114. $(".menu").slideDown(500);
  115. }
  116. })
  117. }
  118. }
  119. usercenter.init();
  120. });
  121. var vmF = new Vue({
  122. el: '.menu',
  123. data: {
  124. folders: [] //列表信息流数据
  125. }
  126. });
  127. var vmA = new Vue({
  128. el: '#pullrefresh',
  129. data: {
  130. items: [] //列表信息流数据
  131. }
  132. });
  133. /**
  134. * 下拉刷新具体业务实现
  135. */
  136. function reloadNews() {
  137. pageNo = 1;
  138. vmA.items = [];
  139. // var table = document.body.querySelector('.mui-table-view');
  140. // table.innerHTML = "";
  141. addData();
  142. }
  143. var pageNo = 1;
  144. var folder_id = 272;
  145. var folder_id_sub;
  146. /**
  147. * 上拉加载具体业务实现
  148. */
  149. function pullupRefresh() {
  150. addData();
  151. }
  152. function addData() {
  153. var url = API.API_URL();
  154. var method = "pageArticleParent";
  155. var fid = "";
  156. if(folder_id_sub) {
  157. fid = folder_id_sub;
  158. method = "pageArticle";
  159. } else {
  160. fid = folder_id;
  161. }
  162. console.log("articleList2.html==="+fid);
  163. var obj = {
  164. method: method,
  165. pageNo: pageNo,
  166. pageSize: APP.PageSize,
  167. p: '{folderId:' + fid + '}'
  168. };
  169. app.ajax(obj, function(data) {
  170. //服务器返回响应
  171. console.log(JSON.stringify(data))
  172. var totalRow = data.totalRow;
  173. var totalPage = data.totalPage;
  174. var list = data.list;
  175. console.log(list.length);
  176. if(list.length > 0) {
  177. vmA.items = vmA.items.concat(convert(list));
  178. }
  179. /*var table = document.body.querySelector('.mui-table-view');
  180. for(var i = 0, len = list.length; i < len; i++) {
  181. var listTitle = list[i].title;
  182. var listTime = list[i].publish_time;
  183. var content = list[i].content
  184. var articleId = list[i].id;
  185. var imgUrl = getImgUrl(list[i]);
  186. var li = document.createElement('li');
  187. li.setAttribute("articleId", articleId);
  188. li.className = 'mui-table-view-cell mui-media';
  189. var html = '<a href = "#" class = "mui-navigate-right ' + (imgUrl == "" ? "no-picture" : '') + '">';
  190. if(imgUrl) {
  191. html += '<div class="imgbox mui-media-object mui-pull-left"><img src="' + imgUrl + '"></div>';
  192. }
  193. html += '<div class="mui-media-body">' + listTitle +
  194. '<p class="mui-ellipsis-2">' + listTime + '</p>' + '</div>' + '</a>';
  195. li.innerHTML = html;
  196. table.appendChild(li);
  197. }*/
  198. pageNo = endPull(totalPage, pageNo);
  199. });
  200. }
  201. /**
  202. * 1、将服务端返回数据,转换成前端需要的格式
  203. * 2、若服务端返回格式和前端所需格式相同,则不需要改功能
  204. *
  205. * @param {Array} items
  206. */
  207. function convert(items) {
  208. var newItems = [];
  209. items.forEach(function(item) {
  210. newItems.push({
  211. articleId: item.id,
  212. title: item.title.substr(0, 17),
  213. publish_time: item.publish_time,
  214. imgUrl: getImgUrl(item),
  215. content: subContent(replaceHtml(item.content), 70)
  216. });
  217. });
  218. return newItems;
  219. }
  220. mui.plusReady(function() {
  221. var self = plus.webview.currentWebview();
  222. folder_id = self.folder_id;
  223. var title1 = mui('#title');
  224. title1[0].innerHTML = self.title;
  225. //接收上个界面传递的参数
  226. window.addEventListener('listEvent', function(event) {
  227. });
  228. mui(".mui-segmented-control").on('tap', 'a', function() {
  229. folder_id_sub = this.id;
  230. pageNo = 1
  231. document.body.querySelector('.mui-table-view').innerHTML = "";
  232. addData();
  233. });
  234. pageDetail = mui.preload({
  235. url: 'detailList.html',
  236. id: 'detailList.html',
  237. })
  238. // mui('#listDetail').on('tap', 'li', function() {
  239. // mui.fire(pageDetail, 'newsEvent', {
  240. // 'articleId': this.getAttribute('articleId')
  241. // })
  242. // mui.openWindow({
  243. // url: 'detailList.html',
  244. // id: 'detailList.html'
  245. // })
  246. // })
  247. loadFolder();
  248. });
  249. function chageV(e) {
  250. // alert("chageV");
  251. pageNo = 1;
  252. folder_id_sub = e.id;
  253. document.body.querySelector('#folderName').innerHTML = e.name;
  254. // $(".menu").hide();
  255. $(".user-arrow").removeClass("rotate"); //再次点击箭头回来
  256. $(".user-arrow").addClass("rotate1");
  257. $(".menu").slideUp(500);
  258. vmA.items = [];
  259. addData();
  260. }
  261. function loadFolder() {
  262. var url = API.API_URL();
  263. var obj = {
  264. method: "foldersByParent",
  265. p: '{folderId:' + folder_id + '}'
  266. };
  267. app.ajax(obj, function(data) {
  268. var folders = data.list;
  269. // console.log(folders);
  270. // var html = '<a class="mui-control-item mui-active" href="#item1">全部</a>';
  271. // if(folders.length > 3) {
  272. // html += fixHtml1(folders);
  273. // } else {
  274. // html += fixHtml2(folders);
  275. // }
  276. // $("#segmentedControl").html(html);
  277. vmF.folders = folders;
  278. });
  279. }
  280. /**
  281. * 打开新闻详情
  282. *
  283. * @param {Object} item 当前点击的新闻对象
  284. */
  285. function open_detail(item) {
  286. //触发子窗口变更新闻详情
  287. mui.fire(pageDetail, 'newsEvent', {
  288. articleId: item.articleId
  289. });
  290. setTimeout(function() {
  291. pageDetail.show("slide-in-right", 300);
  292. }, 150);
  293. }
  294. </script>
  295. </body>
  296. </html>