elective-head-page.vue 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. <template>
  2. <div class="width100 relative">
  3. <el-image :src="require('@/assets/images/elective/elective_report_cover.png')"></el-image>
  4. <div v-if="electiveVisible" class="absolute f24 bold elective-report-info-container">
  5. <div class="landing-item">
  6. 学校:<span>{{ schoolName }}</span>
  7. </div>
  8. <div class="landing-item">
  9. 轮次:<span>{{ this.generation.status.year }}学年{{ this.generation.status.roundName }}</span>
  10. </div>
  11. <div class="landing-item">
  12. 班级:<span>{{ firstClassName | classTailing }}</span>
  13. </div>
  14. <div class="landing-item">
  15. 学生:<span>{{ nickName }}({{ name }})</span>
  16. </div>
  17. </div>
  18. </div>
  19. </template>
  20. <script>
  21. import { mapGetters } from 'vuex'
  22. export default {
  23. name: 'elective-head-page',
  24. props: ['electiveVisible'],
  25. inject: ['getGeneration'],
  26. computed: {
  27. ...mapGetters(['schoolName', 'firstClassName', 'nickName', 'name']),
  28. generation() {
  29. return this.getGeneration()
  30. }
  31. }
  32. }
  33. </script>
  34. <style lang="scss" scoped>
  35. .elective-report-info-container {
  36. right: 100px;
  37. bottom: 0;
  38. }
  39. .landing-item + .landing-item {
  40. margin-top: 10px;
  41. }
  42. .landing-item {
  43. display: flex;
  44. flex-direction: row;
  45. span {
  46. display: inline-block;
  47. flex: 1;
  48. border-bottom: 1px solid #666666;
  49. }
  50. }
  51. </style>