fa-article-item.vue 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. <template>
  2. <view class="list">
  3. <view class="fa-list-item u-border-bottom u-flex" v-for="(item, index) in archivesList" :key="index" @click="goDetail(item)">
  4. <view class="fa-item-image" v-if="!item.images_list.length"><image :src="item.image" mode="aspectFill"></image></view>
  5. <view class="fa-item-content" :class="{ 'u-m-l-20': !item.images_list.length }">
  6. <view class="u-line-2 u-font-30 u-m-b-10">{{ item.title }}</view>
  7. <view class="u-flex u-flex-wrap u-m-t-20" v-if="item.images_list.length">
  8. <view class="images" v-for="(res, key) in item.images_list" :key="key"><u-image width="100%" border-radius="6" height="140" :src="res"></u-image></view>
  9. </view>
  10. <view class="u-tips-color u-m-b-10 u-font-23">{{ item.create_date }}</view>
  11. <view class="article-tag u-flex">
  12. <view class="">
  13. <u-icon name="thumb-up-fill" color="#aaa" size="20"></u-icon>
  14. <text class="u-m-l-5 u-m-r-5">{{ item.likes }}</text>
  15. 点赞
  16. </view>
  17. <!-- <view class="u-m-l-30">
  18. <u-icon name="chat-fill" color="#aaa" size="20"></u-icon>
  19. <text class="u-m-l-5 u-m-r-5">{{ item.comments }}</text>
  20. 评论
  21. </view> -->
  22. <view class="u-m-l-30">
  23. <u-icon name="eye-fill" color="#aaa" size="20"></u-icon>
  24. <text class="u-m-l-5 u-m-r-5">{{ item.views }}</text>
  25. 浏览
  26. </view>
  27. </view>
  28. </view>
  29. </view>
  30. </view>
  31. </template>
  32. <script>
  33. export default {
  34. props: {
  35. archivesList: {
  36. type: Array,
  37. default: []
  38. }
  39. },
  40. data() {
  41. return {};
  42. },
  43. methods: {
  44. goDetail(item) {
  45. if(item.model_id==2){
  46. this.$Router.push({
  47. path: '/pages/product/detail',
  48. query: { id: item.id }
  49. });
  50. }else if(item.model_id==3){
  51. this.$Router.push({
  52. path: '/pages/article/richdetail',
  53. query: { id: item.id }
  54. });
  55. }else{
  56. this.$Router.push({
  57. path: '/pages/article/detail',
  58. query: { id: item.id }
  59. });
  60. }
  61. }
  62. }
  63. };
  64. </script>
  65. <style lang="scss">
  66. .list {
  67. background: #ffffff;
  68. .fa-list-item {
  69. color: #333;
  70. padding: 30rpx;
  71. .fa-item-image {
  72. image {
  73. width: 220rpx;
  74. flex: 0 0 120rpx;
  75. height: 160rpx;
  76. border-radius: 10rpx;
  77. }
  78. }
  79. .fa-item-content {
  80. width: 100%;
  81. .images {
  82. width: 31%;
  83. margin-bottom: 25rpx;
  84. }
  85. .article-tag {
  86. color: #aaa;
  87. font-size: 25rpx;
  88. }
  89. }
  90. }
  91. }
  92. .fa-item-content .images:nth-child(3n + 2) {
  93. margin: 0 3.5%;
  94. }
  95. </style>