paper-collection-list.vue 905 B

1234567891011121314151617181920212223242526272829303132
  1. <template>
  2. <z-paging ref="paging" v-model="list" @query="handleQuery">
  3. <view class="p-20 grid grid-cols-2 gap-20">
  4. <ie-paper-item v-for="i in list" :key="i.id" :item="i"/>
  5. </view>
  6. </z-paging>
  7. </template>
  8. <script setup>
  9. import {ref} from 'vue'
  10. import {favPapers} from "@/api/webApi/webQue";
  11. import {createPropDefine} from "@/utils";
  12. import IePaperItem from "@/pages/topic-center/paper-entry/components/ie-paper-item.vue";
  13. const props = defineProps({
  14. subjectId: createPropDefine(0, [String, Number])
  15. })
  16. const list = ref([])
  17. const paging = ref(null)
  18. const handleQuery = function (pageNum, pageSize) {
  19. const params = {pageNum, pageSize, type: 'paper', subjectId: props.subjectId}
  20. favPapers(params)
  21. .then(res => paging.value.completeByTotal(res.rows, res.total))
  22. .catch(e => paging.value.complete(false))
  23. }
  24. </script>
  25. <style scoped>
  26. </style>