list.vue 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. <template>
  2. <CommonListPage
  3. :title="querys.title || undefined"
  4. :load="loadData"
  5. :itemType="querys.itemType as any || undefined"
  6. :detailsPage="querys.detailsPage || undefined"
  7. :detailsParams="{
  8. mainBodyId: querys.mainBodyId || undefined,
  9. mainBodyColumnId: querys.mainBodyColumnId || undefined,
  10. modelId: querys.modelId || undefined,
  11. }"
  12. :intitalSearch="querys.search"
  13. />
  14. </template>
  15. <script setup lang="ts">
  16. import { useLoadQuerys, stringDotNumbersToNumbers } from '@/common/composeabe/LoadQuerys';
  17. import CommonListPage from './CommonListPage.vue';
  18. import CommonContent, { GetContentListParams } from '@/api/CommonContent';
  19. const { querys } = useLoadQuerys({
  20. villageId: 0,
  21. mainBodyId: 0,
  22. mainBodyColumnId: '',
  23. modelId: 0,
  24. itemType: '',
  25. detailsPage: '',
  26. title: '',
  27. region: '',
  28. search: '',
  29. latitude: 0,
  30. longitude: 0,
  31. isNearby: false,
  32. });
  33. async function loadData(
  34. page: number,
  35. pageSize: number,
  36. searchText: string,
  37. dropDownValues: number[]
  38. ) {
  39. const mainBodyColumnId = stringDotNumbersToNumbers(querys.value.mainBodyColumnId);
  40. const res = await CommonContent.getContentList(new GetContentListParams().setSelfValues({
  41. villageId: querys.value.villageId || undefined,
  42. mainBodyId: querys.value.mainBodyId || undefined,
  43. mainBodyColumnId: mainBodyColumnId || undefined,
  44. modelId: querys.value.modelId || undefined,
  45. keywords: searchText,
  46. region: querys.value.region || undefined,
  47. latitude: querys.value.latitude || undefined,
  48. longitude: querys.value.longitude || undefined,
  49. }), page, pageSize, undefined, querys.value.isNearby);
  50. for (const element of res.list || []) {
  51. if (!element.desc && element.from)
  52. element.desc = `来源:${element.from}`;
  53. }
  54. return res;
  55. }
  56. </script>