sort.vue 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. <template>
  2. <div class="layout-page" :style="themeStyle">
  3. <v-header :title="query.title||$t('help.a2')"></v-header>
  4. <div class="layout-mian">
  5. <div class="list d-flex flex-wrap justify-between p-md">
  6. <v-link tag="div" :to="{path:'/pages/help/detail',query:{id:item.id}}" class="item p-xs bg-panel-4 rounded m-b-md box-shadow" v-for="item in list" :key="item.id">
  7. <van-image class="image" fit="cover" :src="item.full_cover"></van-image>
  8. <div class="eps-2 m-t-xs">{{item.title}}</div>
  9. </v-link>
  10. </div>
  11. </div>
  12. </div>
  13. </template>
  14. <script>
  15. import College from "@/api/college";
  16. import {mapGetters} from 'vuex'
  17. export default {
  18. name: "sort",
  19. data() {
  20. return {
  21. list: [],
  22. query:{}
  23. };
  24. },
  25. computed: {
  26. ...mapGetters(['themeStyle'])
  27. },
  28. methods: {
  29. getArticleList() {
  30. let data = {
  31. id: this.query.id,
  32. };
  33. College.getArticleList(data).then((res) => {
  34. this.list = res.data;
  35. });
  36. },
  37. },
  38. onLoad(query) {
  39. this.query = query
  40. this.getArticleList();
  41. },
  42. };
  43. </script>
  44. <style lang="scss" scoped>
  45. .list {
  46. .item {
  47. width: (375 - $padding-md * 3)/2 ;
  48. box-sizing: border-box;
  49. .image {
  50. height: 120px;
  51. display: block;
  52. width: 100%;
  53. }
  54. }
  55. }
  56. </style>