index.vue 940 B

12345678910111213141516171819202122232425262728293031323334353637
  1. <template>
  2. <view class="page-content h-screen">
  3. <mx-nav-bar title="资讯"/>
  4. <mx-tabs-swiper :tabs="types" template="news" border>
  5. <template #news="{value}">
  6. <news-paging-list :params="value"/>
  7. </template>
  8. </mx-tabs-swiper>
  9. </view>
  10. </template>
  11. <script setup>
  12. import {ref, computed, onMounted} from 'vue'
  13. import {getNewsTypes} from "@/api/webApi/career-news";
  14. import NewsPagingList from "@/pages/news/index/components/news-paging-list.vue";
  15. const current = ref(0)
  16. const types = ref([])
  17. const currentType = computed(() => types.value[current.value])
  18. onMounted(async () => {
  19. const {rows} = await getNewsTypes()
  20. const tabs = rows.map(tab => ({
  21. name: tab.label,
  22. value: {type: tab.value}
  23. }))
  24. tabs.unshift({
  25. name: '热门资讯',
  26. value: {tag: 'hot'}
  27. })
  28. types.value = tabs
  29. })
  30. </script>
  31. <style lang="scss">
  32. </style>