paper-entry.vue 1.1 KB

1234567891011121314151617181920212223242526272829303132333435
  1. <template>
  2. <z-paging ref="paging" v-model="list" :default-page-size="20" @query="handleQuery">
  3. <template #top>
  4. <mx-nav-bar :title="prevData.title||prevData.paperType"/>
  5. </template>
  6. <view class="p-20 grid grid-cols-2 gap-20">
  7. <ie-paper-item v-for="i in list" :item="i"/>
  8. </view>
  9. </z-paging>
  10. </template>
  11. <script setup>
  12. import {ref, computed} from 'vue'
  13. import {useTransfer} from "@/hooks/useTransfer";
  14. import _ from "lodash";
  15. import {getPaperList} from "@/api/webApi/paper";
  16. import IePaperItem from "@/pages/topic-center/paper-entry/components/ie-paper-item.vue";
  17. const paging = ref(null)
  18. const list = ref([])
  19. const {prevData} = useTransfer()
  20. const query = computed(() => _.pick(prevData.value, ['subjectId', 'paperType']))
  21. const handleQuery = function (pageNum, pageSize) {
  22. getPaperList({...query.value, pageNum, pageSize})
  23. .then(res => {
  24. paging.value.completeByTotal(res.rows, res.total)
  25. })
  26. .catch(e => paging.value.complete(false))
  27. }
  28. </script>
  29. <style lang="scss">
  30. </style>