articleList.html 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204
  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. </header>
  26. <div class="mui-content">
  27. <div id="pullrefresh" class="mui-content mui-scroll-wrapper" style="">
  28. <div class="mui-scroll">
  29. <div class="mui-card" v-for="item in items">
  30. <a href="javascript:;" :data-articleId="item.articleId" @tap="open_detail(item)">
  31. <div class="mui-card-header mui-card-media">
  32. <div class="yuan yuan_l"></div>
  33. <div class="yuan yuan_r"></div>
  34. <div class="mui-card-media-object mui-pull-left">
  35. <img src="../../images/wenzhang.png" width="14px" height="14px" />
  36. </div>
  37. <div class="mui-card-media-body">
  38. {{item.title}}
  39. </div>
  40. </div>
  41. <div class="mui-card-content" v-if="item.imgUrl === ''">
  42. <div class="mui-card-content-inner">
  43. {{item.short_content}}
  44. </div>
  45. </div>
  46. <div class="mui-card-content" v-else>
  47. <div class="card-img mui-pull-left"><img :src="item.imgUrl"></div>
  48. <div class="mui-card-content-inner mui-pull-left mui-card-content-inner1">
  49. {{item.short_content}}
  50. </div>
  51. <div class="mui-clearfix"></div>
  52. </div>
  53. <!--<div class="mui-card-footer">2018/1/4</div>-->
  54. </a>
  55. </div>
  56. </div>
  57. </div>
  58. </div>
  59. <script type="text/javascript" src="../../js/jquery-1.11.2.min.js"></script>
  60. <script src="../../js/mui.min.js"></script>
  61. <script src="../../js/config.js"></script>
  62. <script src="../../js/app.js"></script>
  63. <script src="../../js/dj/article/list.js"></script>
  64. <script src="../../js/vue.min.js"></script>
  65. <script>
  66. var pageDetail = null;
  67. mui.init({
  68. pullRefresh: {
  69. container: '#pullrefresh',
  70. down: {
  71. style: 'circle', //必选,下拉刷新样式,目前支持原生5+ ‘circle’ 样式
  72. color: '#2BD009', //可选,默认“#2BD009” 下拉刷新控件颜色
  73. height: '50px', //可选,默认50px.下拉刷新控件的高度,
  74. range: '100px', //可选 默认100px,控件可下拉拖拽的范围
  75. offset: '0px', //可选 默认0px,下拉刷新控件的起始位置
  76. // auto: true, //可选,默认false.首次加载自动上拉刷新一次
  77. callback: reloadNews //必选,刷新函数,根据具体业务来编写,比如通过ajax从服务器获取新数据;
  78. },
  79. up: {
  80. contentrefresh: '正在加载...',
  81. auto: true, //可选,默认false.自动上拉加载一次
  82. callback: pullupRefresh
  83. }
  84. }
  85. });
  86. var vmA = new Vue({
  87. el: '#pullrefresh',
  88. data: {
  89. items: [] //列表信息流数据
  90. }
  91. });
  92. /**
  93. * 下拉刷新具体业务实现
  94. */
  95. function reloadNews() {
  96. pageNo = 1;
  97. vmA.items = [];
  98. // var table = document.body.querySelector('.mui-table-view');
  99. // table.innerHTML = "";
  100. addData();
  101. }
  102. var pageNo = 1;
  103. var folder_id = 272;
  104. /**
  105. * 上拉加载具体业务实现
  106. */
  107. function pullupRefresh() {
  108. addData();
  109. }
  110. function addData() {
  111. var url = API.API_URL();
  112. var method = "pageArticle";
  113. console.log(folder_id);
  114. var obj = {
  115. method: method,
  116. pageNo: pageNo,
  117. pageSize: APP.PageSize,
  118. p: '{folderId:' + folder_id + '}'
  119. };
  120. app.ajax(obj, function(data) {
  121. //服务器返回响应
  122. console.log(JSON.stringify(data))
  123. var totalRow = data.totalRow;
  124. var totalPage = data.totalPage;
  125. var list = data.list;
  126. console.log(list.length);
  127. if(list.length > 0) {
  128. vmA.items = vmA.items.concat(convert(list));
  129. }
  130. pageNo = endPull(totalPage, pageNo);
  131. });
  132. }
  133. /**
  134. * 1、将服务端返回数据,转换成前端需要的格式
  135. * 2、若服务端返回格式和前端所需格式相同,则不需要改功能
  136. *
  137. * @param {Array} items
  138. */
  139. function convert(items) {
  140. var newItems = [];
  141. items.forEach(function(item) {
  142. newItems.push({
  143. articleId: item.id,
  144. title: item.title,
  145. publish_time: item.publish_time,
  146. short_content: item.short_content == null ? "" : item.short_content.substr(0, 70),
  147. imgUrl: getImgUrl(item)
  148. });
  149. });
  150. return newItems;
  151. }
  152. mui.plusReady(function() {
  153. var self = plus.webview.currentWebview();
  154. folder_id = self.folder_id;
  155. var title1 = mui('#title');
  156. title1[0].innerHTML = self.title;
  157. //接收上个界面传递的参数
  158. window.addEventListener('listEvent', function(event) {
  159. });
  160. pageDetail = mui.preload({
  161. url: 'detailList.html',
  162. id: 'detailList.html',
  163. })
  164. });
  165. /**
  166. * 打开新闻详情
  167. *
  168. * @param {Object} item 当前点击的新闻对象
  169. */
  170. function open_detail(item) {
  171. //触发子窗口变更新闻详情
  172. mui.fire(pageDetail, 'newsEvent', {
  173. articleId: item.articleId
  174. });
  175. setTimeout(function() {
  176. pageDetail.show("slide-in-right", 300);
  177. }, 150);
  178. }
  179. </script>
  180. </body>
  181. </html>