Преглед изворни кода

index block - elective icon update

hare8999@163.com пре 1 година
родитељ
комит
1828d33db8

BIN
src/assets/images/index/elective/elective-apply.png


BIN
src/assets/images/index/elective/elective-dispatch.png


+ 0 - 0
src/assets/images/index/elective/elective-dispatch-student.png → src/assets/images/index/elective/elective-head-dispatch-student.png


+ 0 - 0
src/assets/images/index/elective/elective-dispatch-result.png → src/assets/images/index/elective/elective-head-dispatch.png


+ 0 - 0
src/assets/images/index/elective/elective-select.png → src/assets/images/index/elective/elective-head-release.png


+ 0 - 0
src/assets/images/index/elective/elective-dispatch-teacher.png → src/assets/images/index/elective/elective-master-dispatch-head.png


BIN
src/assets/images/index/elective/elective-master-dispatch.png


+ 0 - 0
src/assets/images/index/elective/elective-generation.png → src/assets/images/index/elective/elective-master-generation.png


+ 0 - 0
src/assets/images/index/elective/elective-open.png → src/assets/images/index/elective/elective-master-open.png


+ 1 - 9
src/views/elective/main.vue

@@ -7,7 +7,7 @@
       <index-card-career class="mt20 index-block"/>
       <index-card-college class="mt20 index-block" />
       <index-card-news-single class="mt20 index-block" type="高考政策" morePath="/fuzhu/newGaokaoNews"  />
-      <index-card-elective v-if="!hiddenElectiveBlock" class="mt20 index-block" />
+      <index-card-elective class="mt20 index-block" />
     </div>
   </div>
 </template>
@@ -42,14 +42,6 @@ export default {
         height: '300px'
       }
     }
-  },
-  computed: {
-    ...mapGetters(['isFrontTeacher', 'currentUser']),
-    hiddenElectiveBlock() {
-      return this.isFrontTeacher || this.currentUser.isHiddenV2
-    }
-  },
-  methods: {
   }
 }
 </script>

+ 13 - 70
src/views/index/components/index-card-elective.vue

@@ -1,6 +1,6 @@
 <template>
-  <index-card title="大数据选科" v-if="formatList.length">
-    <index-card-content :list="formatList" :line-size="lineSize">
+  <index-card simple title="大数据选科" v-if="electiveRoutes.length">
+    <index-card-content :list="electiveRoutes" :line-size="4">
       <template #default="{item}">
         <index-image-item v-bind="item"></index-image-item>
       </template>
@@ -9,86 +9,29 @@
 </template>
 
 <script>
+import {mapGetters} from 'vuex'
 import IndexCard from '@/views/index/components/index-card'
-import loginCheckMixin from '@/views/index/blocks/index-login-interceptor-mixin'
 import IndexImageItem from '@/views/index/components/index-image-item'
 import IndexCardContent from '@/views/index/components/index-card-content'
-import { mapGetters } from 'vuex'
 
 export default {
-  components: { IndexImageItem, IndexCardContent, IndexCard },
-  mixins: [loginCheckMixin],
+  components: {IndexImageItem, IndexCardContent, IndexCard},
   name: 'index-card-elective',
   methods: {},
   computed: {
     ...mapGetters(['middlebarRouters']),
-    listOpt() {
-      const obj = {}
-      this.list.map(item => {
-        obj[`${item.title}${item.path}`] = { desc: item.desc }
-      })
-      return obj
+    electiveParentRoute() {
+      return this.middlebarRouters.find(r => r.meta.nodeType === 'ElectiveContent') || {children: []}
     },
-    formatList() {
-      if (!this.middlebarRouters.length) return []
-      return this.middlebarRouters[1]?.children?.slice(0, 4).map((item, idx) => {
-        return {
-          title: item.meta.title,
-          desc: this.listOpt[`${item.meta.title}${item.path}`]?.desc,
-          src: this.list[idx].src,
-          path: item.path,
-          ...this.styleStatic
-        }
-      }) || []
-    }
-  },
-  data() {
-    return {
-      lineSize: 4,
-      styleStatic: {
-        titleStyle: {
-          top: '30px',
-          left: '20px',
-          fontSize: '24px',
-          color: '#000'
-        },
-        descStyle: {
-          top: '70px',
-          left: '20px',
-          color: '#000'
-        },
-        titleClasses: ['absolute', 'bold'],
-        descClasses: ['absolute', 'bold', 'f12']
-      },
-      list: [
-        {
-          title: '智能选科报名',
-          src: `${this.$imgBase}index/elective/elective_apply.png`,
-          desc: '通过意向的院校和专业推荐选科方案',
-          path: '/new-gaokao/bigdataSelectCourse/round-select'
-        },
-        {
-          title: '个人分班信息',
-          src: `${this.$imgBase}index/elective/elective_dispatch.png`,
-          desc: '通过意向的院校和专业推荐',
-          path: '/new-gaokao/bigdataSelectCourse/personalDivideClass'
-        },
-        {
-          title: '个人选科报告',
-          src: `${this.$imgBase}index/elective/elective_report.png`,
-          desc: '通过大学/专业维度查询选考科目要求',
-          path: '/new-gaokao/bigdataSelectCourse/personalSelectCourseReport'
-        },
-        {
-          title: '个人课程表',
-          src: `${this.$imgBase}index/elective/elective_table.png`,
-          desc: '通过意向的院校和专业推荐',
-          path: '/new-gaokao/bigdataSelectCourse/personalClassCategory'
-        }
-      ]
+    electiveRoutes() {
+      const routes = this.electiveParentRoute.children || []
+      return routes.map(r => ({
+        imgStyle: {borderRadius: '8px', overflow: 'hidden'},
+        src: require('@/assets/images/index/elective/' + r.meta.icon),
+        path: r.path
+      }))
     }
   }
-
 }
 </script>