GradeStandardPaper.vue 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. <template>
  2. <div class="grade-standard-paper paper-carousel">
  3. <div class="carousel-title">
  4. <h3>标准卷</h3>
  5. <Select v-model="curLevel" @on-change="getPapers">
  6. <Option
  7. v-for="(level, gindex) in levels"
  8. :key="gindex"
  9. :value="level.id"
  10. :label="level.code"
  11. ></Option>
  12. </Select>
  13. </div>
  14. <div class="carousel-body">
  15. <!-- 换一个轮播组件 -->
  16. <Carousel
  17. v-model="curPaperIndex"
  18. arrow="always"
  19. dots="none"
  20. :loop="false"
  21. ref="Carousel"
  22. >
  23. <CarouselItem v-for="(paper, pindex) in papers" :key="pindex">
  24. <div class="image-view-contain">
  25. <img :src="paper.thumbSrc" :alt="paper.title" />
  26. </div>
  27. </CarouselItem>
  28. </Carousel>
  29. </div>
  30. </div>
  31. </template>
  32. <script>
  33. import { paperList } from "@/api";
  34. export default {
  35. name: "grade-standard-paper",
  36. props: {
  37. levels: {
  38. type: Array,
  39. default() {
  40. return [];
  41. }
  42. }
  43. },
  44. data() {
  45. return {
  46. curLevel: "",
  47. papers: [],
  48. curPaperIndex: 0
  49. };
  50. },
  51. mounted() {},
  52. methods: {
  53. async getPapers() {
  54. const datas = {
  55. level: this.curLevel,
  56. sort: "secretNumber",
  57. isSample: true,
  58. page: 0,
  59. size: 100
  60. };
  61. const data = await paperList(datas);
  62. this.papers = data.data;
  63. this.curPaperIndex = 0;
  64. }
  65. }
  66. };
  67. </script>