shilipojs vor 3 Jahren
Ursprung
Commit
d494429eda

+ 9 - 0
src/api/webApi/career-course.js

@@ -140,3 +140,12 @@ export function universitiesRanking(params) {
     params: params
   })
 }
+
+// 专业开设院校
+export function getUniversityByCode(params) {
+  return request({
+    url: '/front/major/getUniversityByCode',
+    method: 'get',
+    params: params
+  })
+}

+ 127 - 0
src/views/career/plan/compoents/OpenCollege.vue

@@ -0,0 +1,127 @@
+<template>
+  <div v-loading="loading">
+    <filter-form :filter="filter_form"></filter-form>
+    <mx-search-group justify="end"  v-model="collegeName" @search="clickSuffix">
+      <p>共 <span class="f-primary">{{pageForm.total}}</span> 条</p>
+    </mx-search-group>
+    <el-row class="mt10 ">
+      <div v-if="total > 0">
+        <div class="list-wrap pl30">
+          <div class="list-item fx-row mb30" v-for="item in collegeList">
+            <div class="img" >
+              <img style="width: 100%;height: 100%" :src="item.university.logo" alt="">
+            </div>
+            <div class="info ml20">
+              <div class="college_name pointer f-333 f20 mb5" @click="toDetail(item)">{{item.university.name}}</div>
+              <div class="tags" v-if="item.university.features">
+                <span class="mr5 el-tag el-tag--info el-tag--plain" v-for="feature in item.university.features.split(',')">{{ feature }}</span>
+              </div>
+              <div class="college-desc mt5 f14 f-666">
+                <p>{{`${item.university.location} ${item.university.cityName} ${item.university.type} / ${item.university.natureTypeCN} / ${item.university.managerType} `}}</p>
+              </div>
+            </div>
+            <div class="heat f12 f-666">
+              <p>排名</p>
+              <p class="mt3">{{ `第${item.university.ranking}名 / 综合指数${item.university.comScore}` }}</p>
+            </div>
+            <div class="heat f12  f-666">
+              <p>学科评估</p>
+              <p class="mt3">{{ item.grade }}</p>
+            </div>
+            <div class="heat f12  f-666">
+              <p>热度</p>
+              <p class="mt3">{{ (item.university.hits/10000).toFixed(1) }}万</p>
+            </div>
+          </div>
+        </div>
+        <pagination class="mt10" :total="total" :autoScroll="false" @pagination="getUniversityByCode"
+                    :page.sync="pageForm.pageNum"
+                    :limit.sync="pageForm.pageSize"
+        ></pagination>
+      </div>
+      <evaluation-empty v-else shadow title="暂无数据"></evaluation-empty>
+    </el-row>
+  </div>
+</template>
+
+<script>
+import FilterForm from '@/views/career/components/FilterForm';
+import { getUniversityByCode } from '@/api/webApi/career-course'
+import MxSearchGroup from '@/components/MxSearch/mx-search-group'
+export default {
+  components: { MxSearchGroup,FilterForm },
+  props:{
+    code:{
+      type:String,
+      default:'',
+      require:true
+    }
+  },
+  data() {
+    return {
+      filter_form:{
+        location:'',
+        natureTypeCN:'',
+        type:'',
+        level:'',
+        features:'',
+        name:''
+      },
+      loading:false,
+      collegeName:'',
+      pageForm:{
+        pageSize:10,
+        pageNum:1,
+      },
+      total:0,
+      collegeList:[],
+    }
+  },
+  watch: {
+    filter_form:{
+      immediate: true,
+      deep:true,
+      handler(val) {
+        this.getUniversityByCode()
+      }
+    },
+  },
+  methods: {
+    clickSuffix() {
+      this.filter_form.name = this.collegeName
+    },
+    getUniversityByCode() {
+      getUniversityByCode({...this.filter_form,code:this.code,...this.pageForm}).then(res =>{
+        console.log(res)
+        this.total = res.total
+        this.collegeList = res.rows
+      })
+    }
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+.heat{
+  width: 200px;
+  height: 72px;
+  padding-top: 22px;
+  color: #666;
+}
+.info{
+  width: 400px;
+}
+.img{
+  flex-shrink: 0;
+  width: 72px;
+  height: 72px;
+}
+.tags {
+  .el-tag{
+    height: 16px;
+    line-height: 16px;
+    font-size: 12px;
+    color: #909399;
+  }
+}
+</style>

+ 9 - 5
src/views/career/plan/new-major-detail.vue

@@ -55,6 +55,7 @@
 
           <div class="content-wrap mt20">
             <!-- 专业概况  -->
+
             <div v-if="tabActive == 0">
               <div class="info-wrap mb10" >
                 <div class="info-item">
@@ -180,9 +181,10 @@
                 </p>
               </el-row>
             </div>
-            <div v-if="tabActive == 2 ">
-              暂无
-            </div>
+            <!--  开设院校-->
+            <keep-alive>
+              <open-college :code="code" v-if="tabActive == 2 "></open-college>
+            </keep-alive>
             <div v-if="tabActive == 1 && !prospects">
               {{ desc }}
             </div>
@@ -195,12 +197,14 @@
 </template>
 <script>
 import MxChart from '@/components/MxChart/index'
-import { allMajor, careerProspects, majorOverview } from '@/api/webApi/professlib'
+import {  careerProspects, majorOverview } from '@/api/webApi/professlib'
 import MxMajorTreeTranslateMixin from '@/components/Cache/modules/mx-major-tree-translate-mixin'
+import OpenCollege from '@/views/career/plan/compoents/OpenCollege'
 export default {
   name: 'ProfessLibDetails',
   components: {
-    MxChart
+    MxChart,
+    OpenCollege
   },
   mixins:[MxMajorTreeTranslateMixin],
   data() {