demo-site.vue 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. <template>
  2. <CommonListPage
  3. :title="'非遗与旅游融合发展推荐目录'"
  4. :prevPage="{ title: '文旅融合' }"
  5. :dropDownNames="[]"
  6. :pageSize="8"
  7. :load="loadData"
  8. :loadDetail="loadDetail"
  9. />
  10. </template>
  11. <script setup lang="ts">
  12. import { GetContentListParams } from '@/api/CommonContent';
  13. import DemoSiteContent from '@/api/fusion/DemoSiteContent';
  14. async function loadDetail(id: number, item: any) {
  15. const res = await DemoSiteContent.getContentDetail(id);
  16. res.content = res.content || res.intro as string;
  17. res.addItems = [
  18. ];
  19. return res;
  20. }
  21. async function loadData(
  22. page: number,
  23. pageSize: number,
  24. selectedTag: number,
  25. searchText: string,
  26. dropDownValues: number[]
  27. ) {
  28. const res = await DemoSiteContent.getContentList(new GetContentListParams()
  29. .setKeywords(searchText)
  30. , page, pageSize);
  31. return {
  32. page: page,
  33. total: res.total,
  34. data: res.list.map((item, index) => {
  35. return {
  36. id: item.id,
  37. title: item.title,
  38. desc: item.desc,
  39. image: item.image,
  40. addItems: [
  41. ],
  42. };
  43. }),
  44. }
  45. }
  46. </script>
  47. <style>
  48. </style>