wrong-book-list.vue 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. <template>
  2. <z-paging ref="paging" v-model="list" :default-page-size="5" @query="handleQuery">
  3. <view class="p-30 fx-col gap-30">
  4. <wrong-book-item v-for="item in list" :question="item" @delete="handleRefresh"/>
  5. </view>
  6. </z-paging>
  7. </template>
  8. <script setup>
  9. import {ref} from 'vue'
  10. import {getWrongQuestions} from '@/api/webApi/paper.js';
  11. import WrongBookItem from './wrong-book-item.vue';
  12. import {createPropDefine} from "@/utils";
  13. import {useQuestionTranslate} from "@/components/mx-question/useQuestionTranslate";
  14. const props = defineProps({
  15. subjectId: createPropDefine(0, [Number, String])
  16. })
  17. const list = ref([])
  18. const paging = ref(null)
  19. const handleQuery = function (pageNum, pageSize) {
  20. getWrongQuestions({subjectId: props.subjectId, pageNum, pageSize})
  21. .then(res => {
  22. const rows = res.rows.map(useQuestionTranslate)
  23. paging.value.completeByTotal(rows, res.total)
  24. })
  25. .catch(e => paging.value.complete(false))
  26. }
  27. const handleRefresh = function () {
  28. paging.value.refresh() // 这会直接刷新至当前分页
  29. }
  30. </script>
  31. <style lang="scss" scoped>
  32. </style>