knowledge-practice-history.vue 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. <template>
  2. <ie-page bg-color="#F6F8FA" :fix-height="true">
  3. <z-paging ref="pagingRef" v-model="historyList" :loading-more-enabled="false" @query="handleQuery">
  4. <template #top>
  5. <ie-navbar title="刷题记录" />
  6. </template>
  7. <view class="mt-20">
  8. <view v-for="(item, index) in historyList" :key="index"
  9. class="bg-white px-40 py-30 flex items-center sibling-border-top">
  10. <view class="flex-1">
  11. <view class="text-28">
  12. <text class=" text-fore-light">知识点:</text>
  13. <text class="text-fore-title">{{ item.paperName }}</text>
  14. </view>
  15. <view class="mt-10 text-28">
  16. <text class=" text-fore-light">完成时间:</text>
  17. <text class="text-fore-title">{{ getTime(item.endTime) }}</text>
  18. </view>
  19. </view>
  20. <view class="text-24 text-white bg-primary w-fit px-40 py-12 rounded-full text-center"
  21. @click="handleViewHistory(item)">
  22. 查看
  23. </view>
  24. </view>
  25. </view>
  26. </z-paging>
  27. </ie-page>
  28. </template>
  29. <script lang="ts" setup>
  30. import { useUserStore } from '@/store/userStore';
  31. import { useNavbar } from '@/hooks/useNavbar';
  32. import { useTransferPage } from '@/hooks/useTransferPage';
  33. import { getPracticeHistory } from '@/api/modules/study';
  34. import { Study } from '@/types';
  35. import { Transfer } from '@/types';
  36. import { EnumPaperType } from '@/common/enum';
  37. const { prevData, transferTo } = useTransferPage<{}, Transfer.PracticeResultPageOptions>();
  38. const { baseStickyTop } = useNavbar();
  39. const userStore = useUserStore();
  40. const historyList = ref<Study.PracticeHistory[]>([]);
  41. const handleViewHistory = (item: Study.PracticeHistory) => {
  42. transferTo('/pagesStudy/pages/knowledge-practice-detail/knowledge-practice-detail', {
  43. data: {
  44. paperType: EnumPaperType.PRACTICE,
  45. examineeId: item.examineeId,
  46. name: item.paperName,
  47. directed: item.directed === 1,
  48. questionType: Number(item.questionType)
  49. }
  50. });
  51. }
  52. const pagingRef = ref();
  53. const getTime = (time: string) => {
  54. return uni.$ie.formatTime(time, 'yyyy-mm-dd hh:MM:ss');
  55. }
  56. const handleQuery = (pageNum: number, pageSize: number) => {
  57. getPracticeHistory({
  58. pageNum,
  59. pageSize
  60. }).then(res => {
  61. historyList.value = res.rows.map(item => {
  62. return {
  63. ...item,
  64. endTime: uni.$uv.timeFormat(item.endTime, 'yyyy-mm-dd hh:MM:ss')
  65. } as Study.PracticeHistory;
  66. });
  67. pagingRef.value.complete(res.rows)
  68. }).catch(() => {
  69. pagingRef.value.complete(false);
  70. });
  71. }
  72. onLoad(() => {
  73. console.log(prevData.value)
  74. // loadData();
  75. });
  76. </script>
  77. <style lang="scss" scoped></style>