index-card-elective.vue 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. <template>
  2. <index-card title="大数据选科" v-if="formatList.length">
  3. <index-card-content :list="formatList" :line-size="lineSize">
  4. <template #default="{item}">
  5. <index-image-item v-bind="item" ></index-image-item>
  6. </template>
  7. </index-card-content>
  8. </index-card>
  9. </template>
  10. <script>
  11. import IndexCard from '@/views/index/components/index-card'
  12. import loginCheckMixin from '@/views/components/blocks/index-login-interceptor-mixin'
  13. import IndexImageItem from '@/views/index/components/index-image-item'
  14. import IndexCardContent from '@/views/index/components/index-card-content'
  15. import { mapGetters } from 'vuex'
  16. export default {
  17. components: { IndexImageItem, IndexCardContent, IndexCard },
  18. mixins: [loginCheckMixin],
  19. name: 'index-card-elective',
  20. methods: {},
  21. computed:{
  22. ...mapGetters(['middlebarRouters']),
  23. listOpt() {
  24. const obj = {}
  25. this.list.map(item => {
  26. obj[`${item.title}${item.path}`] = {desc: item.desc }
  27. })
  28. return obj
  29. },
  30. formatList() {
  31. if(!this.middlebarRouters.length) return []
  32. const listOptKey = Object.keys(this.listOpt)
  33. let formatList = []
  34. return this.middlebarRouters[1].children.slice(0,4).map((item,idx) =>{
  35. return {
  36. title: item.meta.title,
  37. desc:this.listOpt[`${item.meta.title}${item.path}`]?.desc,
  38. src:this.list[idx].src,
  39. path:item.path,
  40. ...this.styleStatic
  41. }
  42. })
  43. }
  44. },
  45. data() {
  46. return {
  47. lineSize:4,
  48. styleStatic:{
  49. titleStyle:{
  50. top:'37px',
  51. left:'37px',
  52. fontSize: '24px',
  53. color:"#000"
  54. },
  55. descStyle:{
  56. top:'70px',
  57. left:'37px',
  58. color:"#000"
  59. },
  60. titleClasses:['absolute','bold'],
  61. descClasses:['absolute','bold','f12'],
  62. },
  63. list:[
  64. {
  65. title: '智能选科报名',
  66. src:`${this.$imgBase}index/elective/elective_apply.png`,
  67. desc:'通过意向的院校和专业推荐选科方案',
  68. path: '/new-gaokao/bigdataSelectCourse/round-select',
  69. },
  70. {
  71. title: '个人分班信息',
  72. src:`${this.$imgBase}index/elective/elective_dispatch.png`,
  73. desc:'通过意向的院校和专业推荐',
  74. path: '/new-gaokao/bigdataSelectCourse/personalDivideClass',
  75. },
  76. {
  77. title: '个人选科报告',
  78. src:`${this.$imgBase}index/elective/elective_report.png`,
  79. desc:'通过大学/专业维度查询选考科目要求',
  80. path: '/new-gaokao/bigdataSelectCourse/personalSelectCourseReport',
  81. },
  82. {
  83. title: '个人课程表',
  84. src:`${this.$imgBase}index/elective/elective_table.png`,
  85. desc:'通过意向的院校和专业推荐',
  86. path: '/new-gaokao/bigdataSelectCourse/personalClassCategory',
  87. }
  88. ]
  89. }
  90. },
  91. }
  92. </script>
  93. <style scoped>
  94. </style>