Bläddra i källkod

Merge branch 'master' of http://121.4.203.192:9000/mingxue/front

hare8999@163.com 2 år sedan
förälder
incheckning
31b66b4bca

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 810
public/protocol/mxjb_privacy.html


+ 2 - 1
src/router/index.js

@@ -696,7 +696,8 @@ export const constantRoutes = [{
         component: (resolve) => require(['@/views/career/bigdataSelectCourse/iframePaper'], resolve),
         name: '',
         meta: {
-          title: 'ceshi'
+          title: 'ceshi',
+          parentPath: '/new-gaokao/bigdataSelectCourse/personalSelectCourseReport'
         }
       },
       {

+ 40 - 3
src/views/accurateTeaching/main.vue

@@ -4,9 +4,9 @@
       <el-image :src="`${$imgBase}index/banner/personal_database.png`" fit="cover"></el-image>
     </div>
     <div class="fx-column fx-cen-cen pb20">
-      <index-card title="班级任务" class="mt20 index-block">
+      <index-card title="班级任务" class="mt20 index-block" v-if="formatList.length">
         <el-row :gutter="20">
-          <el-col class="relative fx-cen-cen fx-column"   :span="4" v-for="item in plan" >
+          <el-col class="relative fx-cen-cen fx-column"   :span="4" v-for="item in formatList" >
             <div class="plan_item pointer" @click="$router.push(item.path)">
               <div class="img-wrap">
                 <img  :src="item.img"/>
@@ -17,7 +17,7 @@
         </el-row>
       </index-card>
       <index-card title="资源库" class="mt20 index-block">
-        <mx-image-wrap :list="library" titleClass="text-white" titlePostion="left"></mx-image-wrap>
+        <mx-image-wrap :list="libraryFormatList" titleClass="text-white" titlePostion="left"></mx-image-wrap>
       </index-card>
     </div>
   </div>
@@ -82,6 +82,43 @@ export default {
       ],
     }
   },
+  computed:{
+    ...mapGetters(['middlebarRouters']),
+    listOpt() {
+      const obj = {}
+      this.plan.map(item => {
+        obj[`${item.title}${item.path}`] = item
+      })
+      return obj
+    },
+    formatList() {
+      if(!this.middlebarRouters.length) return []
+      if(!this.middlebarRouters.find(item => item.meta.title == '班级任务'))  return  []
+      const listOptKey = Object.keys(this.listOpt)
+      let formatList = []
+      return this.middlebarRouters.find(item => item.meta.title == '班级任务').children.slice(0,6).map((item,idx) =>{
+        return {
+          title: item.meta.title,
+          img:this.plan[idx].img,
+          path:item.path,
+        }
+      })
+    },
+    libraryFormatList(){
+      if(!this.middlebarRouters.length) return []
+      const listOptKey = Object.keys(this.listOpt)
+      let formatList = []
+      return this.middlebarRouters.filter((item) =>{
+        return this.library.findIndex(lib => lib.title == item.meta.title) != -1
+      }).map((item,idx) => {
+        return {
+          title: item.meta.title,
+          img:this.library[idx].img,
+          path:this.library.find(lib => lib.title == item.meta.title ).path,
+        }
+      })
+    }
+  },
   methods: {
   }
 }

+ 36 - 4
src/views/evaluating/main.vue

@@ -4,7 +4,7 @@
       <el-image :src="`${$imgBase}index/banner/daoxue_banner.png`" fit="cover"></el-image>
     </div>
     <div class="fx-column fx-cen-cen pb20">
-      <index-card title="在线试卷" class="mt20 index-block">
+      <index-card title="在线试卷" class="mt20 index-block" v-if="role">
         <el-row :gutter="20">
           <el-col :span="8" v-for="item in onLinePaper">
             <div class="wrap-item fx-row jc-between ai-center">
@@ -27,7 +27,7 @@
       </index-card>
       <index-card title="学情分析" class="mt20 index-block">
         <el-row :gutter="20">
-          <el-col :span="8" v-for="item in idc" @click="$router.push(item.path)">
+          <el-col :span="8" v-for="item in idcFormatList" @click="$router.push(item.path)">
             <div class="wrap-item fx-row jc-between ai-center">
               <div class="left mr30">
                 <el-image :src="item.img"></el-image>
@@ -47,7 +47,7 @@
         </el-row>
       </index-card>
       <index-card title="学情报告" class="mt20 index-block">
-        <el-button type="primary">查看报告</el-button>
+        <el-button type="primary" @click="openNew">查看报告</el-button>
       </index-card>
     </div>
   </div>
@@ -56,12 +56,40 @@
 import IndexCard from '@/views/index/components/index-card.vue'
 import MxImageWrap from '@/views/questioncenter/components/main-card/mx-image-wrap.vue'
 import loginCheckMixin from '@/views/components/blocks/index-login-check-mixin'
+import { checkRole } from '@/utils/permission'
+import { mapGetters } from 'vuex'
 
 export default {
   components: { IndexCard, MxImageWrap },
   mixins: [loginCheckMixin],
+  computed:{
+    ...mapGetters(['middlebarRouters']),
+    idcListOpt() {
+      const obj = {}
+      this.idc.map(item => {
+        obj[`${item.title}${item.path}`] = {desc: item.desc }
+      })
+      return obj
+    },
+    idcFormatList() {
+      if(!this.middlebarRouters.length) return []
+      if(!this.middlebarRouters.find(item => item.meta.title == '学情分析'))  return  []
+      if(!checkRole(['frontMaster'])) return this.idc
+      const listOptKey = Object.keys(this.idcListOpt)
+
+      let formatList = []
+      return this.middlebarRouters.find(item => item.meta.title == '学情分析').children.slice(0,3).map((item,idx) =>{
+        return {
+          title: item.meta.title,
+          img:this.idc[idx].img,
+          path:item.path,
+        }
+      })
+    }
+  },
   data() {
     return {
+      role:checkRole(['frontStudent']),
       onLinePaper: [
         {
           title: '个人测评',
@@ -98,7 +126,11 @@ export default {
       ]
     }
   },
-  methods: {}
+  methods: {
+    openNew(){
+      window.open('https://online.fliphtml5.com/jkrou/hjig/#p=1','_blank')
+    }
+  }
 }
 </script>
 <style scoped lang="scss">

+ 45 - 56
src/views/index/components/index-card-elective.vue

@@ -1,6 +1,6 @@
 <template>
-  <index-card title="大数据选科" >
-    <index-card-content :list="list" :line-size="lineSize">
+  <index-card title="大数据选科" v-if="formatList.length">
+    <index-card-content :list="formatList" :line-size="lineSize">
       <template #default="{item}">
         <index-image-item v-bind="item" ></index-image-item>
       </template>
@@ -13,95 +13,84 @@ import IndexCard from '@/views/index/components/index-card'
 import loginCheckMixin from '@/views/components/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],
   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
+    },
+    formatList() {
+      if(!this.middlebarRouters.length) return []
+      const listOptKey = Object.keys(this.listOpt)
+      let formatList = []
+      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:'37px',
+          left:'37px',
+          fontSize: '24px',
+          color:"#000"
+        },
+        descStyle:{
+          top:'70px',
+          left:'37px',
+          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',
-          titleStyle:{
-            top:'37px',
-            left:'37px',
-            fontSize: '24px',
-            color:"#000"
-          },
-          descStyle:{
-            top:'70px',
-            left:'37px',
-            color:"#000"
-          },
-          titleClasses:['absolute','bold'],
-          descClasses:['absolute','bold','f12']
         },
         {
           title: '个人分班信息',
           src:`${this.$imgBase}index/elective/elective_dispatch.png`,
           desc:'通过意向的院校和专业推荐',
           path: '/new-gaokao/bigdataSelectCourse/personalDivideClass',
-          titleStyle:{
-            top:'37px',
-            left:'37px',
-            fontSize: '24px',
-            color:"#000"
-          },
-          descStyle:{
-            top:'70px',
-            left:'37px',
-            color:"#000"
-          },
-          titleClasses:['absolute','bold'],
-          descClasses:['absolute','bold','f12']
         },
         {
           title: '个人选科报告',
           src:`${this.$imgBase}index/elective/elective_report.png`,
           desc:'通过大学/专业维度查询选考科目要求',
           path: '/new-gaokao/bigdataSelectCourse/personalSelectCourseReport',
-          titleStyle:{
-            top:'37px',
-            left:'37px',
-            fontSize: '24px',
-            color:"#000"
-          },
-          descStyle:{
-            top:'70px',
-            left:'37px',
-            color:"#000"
-          },
-          titleClasses:['absolute','bold'],
-          descClasses:['absolute','bold','f12']
         },
         {
           title: '个人课程表',
           src:`${this.$imgBase}index/elective/elective_table.png`,
           desc:'通过意向的院校和专业推荐',
-          path: '',
-          titleStyle:{
-            top:'37px',
-            left:'37px',
-            fontSize: '24px',
-            color:"#000"
-          },
-          descStyle:{
-            top:'70px',
-            left:'37px',
-            color:"#000"
-          },
-          titleClasses:['absolute','bold'],
-          descClasses:['absolute','bold','f12']
+          path: '/new-gaokao/bigdataSelectCourse/personalClassCategory',
         }
       ]
     }
-  }
+  },
+
 }
 </script>
 

+ 1 - 1
src/views/questioncenter/components/main-card/mx-image-wrap.vue

@@ -1,6 +1,6 @@
 <template>
   <el-row :gutter="20">
-    <el-col class="relative" :class="item.path ? 'pointer' : ''" :span="24/list.length" v-for="item in list" @click.native="navigator(item.path)">
+    <el-col class="relative" :class="item.path ? 'pointer' : ''" :span="8" v-for="item in list" @click.native="navigator(item.path)">
       <img  style="width:100%" :src="item.img"/>
       <p class="bold" v-if="titlePostion == 'other'" :class="[titlePostion]">{{ item.title }}</p>
       <p class="absolute bold" v-else :class="[titlePostion,titleClass]">{{ item.title }}</p>

+ 1 - 1
src/views/questioncenter/operationVideo.vue

@@ -4,7 +4,7 @@
       <el-aside width="284px" style="height: 100vh;">
         <div class="aside_header">
           <span>CONTACT</span>
-          <span>章节目录</span>
+          <span>视频目录</span>
         </div>
         <div class="aside_content">
           <el-tree ref="treeBox" :data="tree" :props="defaultProps" :default-expanded-keys="expandId" node-key="id"

Vissa filer visades inte eftersom för många filer har ändrats