newsInformation.vue 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. <!-- 新闻动态 -->
  2. <template>
  3. <view class="news">
  4. <z-paging
  5. ref="paging"
  6. v-model="newsList"
  7. @query="queryList"
  8. >
  9. <view class="news-list">
  10. <view class="news-list-item" v-for="(item, index) in newsList" :key="index" @click="jumpPage('/pages/newsDetails/newsDetails', { artId: item.artId })">
  11. <view class="news-list-item-left">
  12. <image :src="item.artImage"></image>
  13. </view>
  14. <view class="news-list-item-right">
  15. <view class="title">{{ item.artTitle }}</view>
  16. <view class="date">
  17. <view>来源:{{ item.artAuthor }}</view>
  18. <view>{{ item.artPostTime }}</view>
  19. </view>
  20. </view>
  21. </view>
  22. </view>
  23. </z-paging>
  24. </view>
  25. </template>
  26. <script>
  27. export default {
  28. data() {
  29. return {
  30. // 新闻列表
  31. newsList: [],
  32. }
  33. },
  34. methods: {
  35. /**
  36. * 获取新闻列表
  37. */
  38. getList(pageNum, pageSize) {
  39. this.$u.api.getIndexNewsList({
  40. pageNum: pageNum,
  41. pageSize: pageSize,
  42. artCategoryId: 2
  43. }).then(res => {
  44. if (res.code === 200) {
  45. this.$refs.paging.complete(res.rows)
  46. }
  47. })
  48. },
  49. /**
  50. * @param { Number } pageNo
  51. * @param { Number } pageSize
  52. */
  53. queryList(pageNo, pageSize) {
  54. this.getList(pageNo, pageSize);
  55. },
  56. /**
  57. * 跳转到指定页面
  58. */
  59. jumpPage(url, params) {
  60. this.$u.route({
  61. url: url,
  62. params: params
  63. })
  64. }
  65. }
  66. }
  67. </script>
  68. <style lang="scss" scoped>
  69. .news {
  70. background-color: #f2f2f2;
  71. min-height: calc(100vh - 44px);
  72. &-list {
  73. padding: 28rpx 30rpx;
  74. &-item {
  75. display: flex;
  76. align-items: center;
  77. background-color: #fff;
  78. padding: 34rpx 32rpx;
  79. margin-bottom: 20rpx;
  80. &-left {
  81. margin-right: 16rpx;
  82. image {
  83. width: 132rpx;
  84. height: 106rpx;
  85. }
  86. }
  87. &-right {
  88. .title {
  89. color: #000;
  90. font-size: 30rpx;
  91. }
  92. .date {
  93. margin-top: 12rpx;
  94. color: #6F6F6F;
  95. font-size: 20rpx;
  96. display: flex;
  97. justify-content: space-between;
  98. view {
  99. width: 50%;
  100. }
  101. }
  102. }
  103. }
  104. }
  105. }
  106. </style>