浏览代码

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

jinxia.mo 3 年之前
父节点
当前提交
b31c885ed0

+ 39 - 34
src/views/career/plan/new-profess-detail.vue

@@ -3,29 +3,24 @@
     <el-row :gutter="20">
       <el-col :span="6" >
         <el-tabs type="border-card" @tab-click="tabClick" :value="type"  stretch >
-          <el-tab-pane label="本科" name="本科" class="tree">
-            <el-tree
-
-              :data="majorList"
-              node-key="code"
-              :default-checked-keys="[code]"
-              :default-expanded-keys="[code]"
-              :props="defaultProps"
-              @node-click="handleNodeClick"
-              :isLeaf="isLeaf"
-            >
-              <p  class="custom-tree-node" slot-scope="{node, data}">
-                <span>{{node.label }}</span>
-                <span>{{data.children ? data.children.length : ''}}</span>
-              </p>
-            </el-tree>
-          </el-tab-pane>
-          <el-tab-pane label="专科"  name="专科" class="tree">
-            <el-tree
-              :data="majorList"
-              :props="defaultProps"
-            ></el-tree>
-          </el-tab-pane>
+          <el-tab-pane label="本科" name="本科" class="tree"></el-tab-pane>
+          <el-tab-pane label="专科"  name="专科" class="tree"></el-tab-pane>
+          <el-tree
+            ref="tree"
+            :data="majorList"
+            node-key="code"
+            :default-checked-keys="[code]"
+            :default-expanded-keys="[code]"
+            :props="defaultProps"
+            :current-node-key="code"
+            @node-click="handleNodeClick"
+            :isLeaf="isLeaf"
+          >
+            <p  class="custom-tree-node" slot-scope="{node, data}">
+              <span>{{node.label }}</span>
+              <span>{{data.children ? data.children.length : ''}}</span>
+            </p>
+          </el-tree>
         </el-tabs>
       </el-col>
       <el-col :span="18">
@@ -122,7 +117,7 @@
                         <el-col :span="24" class="f16" v-for="(item,index) in  prospects.industryDistribution">
                           <el-row class="format-job-wrap">
                             <el-col :span="3" class="f18 text-center f-666">{{index + 1}}</el-col>
-                            <el-col :span="18" class="f-333">{{item.name}}</el-col>
+                            <el-col :title="item.name" :span="18" class="f-333  text-ellipsis">{{item.name}}</el-col>
                             <el-col  :span="3" class="f-red  text-right f14">{{item.value}}%</el-col>
                           </el-row>
                         </el-col>
@@ -139,7 +134,7 @@
                         <el-col :span="24" class="f16" v-for="(item,index) in  prospects.jobRegionDistribution">
                           <el-row class="format-job-wrap">
                             <el-col :span="3" class="f18 text-center f-666">{{index + 1}}</el-col>
-                            <el-col :span="18" class="f-333">{{item.name}}</el-col>
+                            <el-col :span="18" class="f-333 text-ellipsis">{{item.name}}</el-col>
                             <el-col  :span="3" class="f-red  text-right f14">{{item.value}}%</el-col>
                           </el-row>
                         </el-col>
@@ -351,17 +346,20 @@ export default {
       immediate: true,
       handler(val) {
         this.code = val.query.code
+        this.type =  val.query.type || '本科'
         if (val.query.code) {
           this.getOverView()
         }
+        this.$refs.tree.setCurrentKey(this.code)
       }
     }
   },
   methods: {
     handleNodeClick(data,node) {
-      if(!node.isLeaf) return
+      if(!node.isLeaf || this.code == node.data.code) return
       console.log('跳转')
-        // 跳转
+      // 跳转
+      this.$router.replace({path:'/career/plan/ProfessLibDetail',query:{type:this.type,code:node.data.code}})
     },
     isLeaf(data,node) {
       return node.childCount == 0
@@ -409,6 +407,7 @@ export default {
 </script>
 <style lang="scss" scoped>
 #professDetail {
+
   .header-content {
     top: 0;
     left: 0;
@@ -467,13 +466,19 @@ export default {
     height: 1px;
   }
 
+  .el-tabs--border-card ::v-deep .el-tabs__content{
+    height: calc(100vh - 176px) ;
+    overflow: hidden;
+    overflow-y: auto;
+  }
+  ::v-deep .el-tree-node.is-current > .el-tree-node__content {
+    background: rgba(22, 119, 255, 0.1);
+    color: #47C6A2;
+    ::v-deep .is-leaf {
+      color: rgba(0, 0, 0, 0);
+    }
+  }
 }
-</style>
-<style>
-.el-tabs--border-card > .el-tabs__content{
-  height: calc(100vh - 176px) ;
-  overflow: hidden;
-  overflow-y: auto;
 
-}
 </style>
+

+ 1 - 1
src/views/career/plan/new-profess-lib.vue

@@ -84,7 +84,7 @@ export default {
   },
   methods:{
     goDetail(code){
-      this.$router.push({path:'/career/plan/ProfessLibDetail',query:{code:code}})
+      this.$router.push({path:'/career/plan/ProfessLibDetail',query:{type:this.type,code:code}})
     },
     getAllMajor() {
       allMajor({

+ 88 - 0
src/views/career/subject/components/select-subjec-report.vue

@@ -0,0 +1,88 @@
+<template>
+  <div>
+    <div class="mb20">
+      <span class="tabs-item" @click="type = 0" :class="{'bg-primary':type == 0}">我的收藏</span>
+      <span class="tabs-item" @click="type = 1" :class="{'bg-primary':type == 1}">我的自选</span>
+      <span class="tabs-item" @click="type = 2" :class="{'bg-primary':type == 2}">我的测评选科</span>
+    </div>
+    <mx-table :propDefines="propDefine" :rows="rows"></mx-table>
+  </div>
+</template>
+
+<script>
+export default {
+  props: {
+    type: {
+      type:Number,
+      default: 0
+    }
+  },
+  data() {
+    return {
+      dataList: [],
+      rows:[],
+      propDefine: {
+        year:{
+          label:'所属年份'
+        },
+        schoolName:{
+          label:'学校名称'
+        },
+        major:{
+          label:'专业(类)名称'
+        },
+        majorRemark:{
+          label:'专业备注'
+        },
+        majorLevel:{
+          label:'专业层次'
+        },
+        course0:{
+          label:'首选科目范围'
+        },
+        course1:{
+          label:'再选科目范围'
+        },
+        data:{
+          label:'历年录取数据'
+        },
+        collect:{
+          label:'收藏'
+        },
+        majorCollect:{
+          label:'选科收藏'
+        }
+      }
+
+    };
+  },
+  created() {
+  },
+  methods: {
+    handleClick() {
+
+    }
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+.tabs-item{
+  cursor: pointer;
+  padding: 0 33px;
+  border: 1px solid #f2f2f2;
+  display: inline-block;
+  line-height: 40px;
+&:hover{
+   color:#47C6A2;
+ }
+&.bg-primary{
+   background: #47C6A2 ;
+   color: white;
+   border-color:#47C6A2 ;
+ }
+}
+.tabs-min-height{
+  min-height: calc(100vh - 124px - 58px);
+}
+</style>

+ 50 - 64
src/views/career/subject/myChoice.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="my-page">
-    <div class="breadcrumb">
+    <el-card class="mt10 mb20 box-card">
       <el-breadcrumb separator="/">
         <el-breadcrumb-item :to="{ path: '/' }">首页</el-breadcrumb-item>
         <el-breadcrumb-item :to="{ path: '/career/plan/index' }"
@@ -11,87 +11,73 @@
         >
         <el-breadcrumb-item>由专业选科目</el-breadcrumb-item>
       </el-breadcrumb>
-    </div>
-    <div class="my-box">
-      <div class="my-box-title">我的其他选科方案</div>
-      <div class="major-card-list">
-        <div
-          class="divide-equally-box"
-          v-for="(item, index) in dataList"
-          :key="index"
-        >
-          <div class="major-card-item">
-            <div class="major-card-title">{{ item.course }}</div>
-            <div class="major-progress-box">
-              <el-progress
-                type="circle"
-                stroke-width="14"
-                width="96"
-                color="#c8eee3"
-                :percentage="item.marjorRate"
-              ></el-progress>
-              <div class="major-progress-text">
-                可报{{ item.marjorRate }}%的专业
-              </div>
-              <div class="bottom-box">
-                <div class="bottom-bar">
-                  <div class="setdf" @click="httpschemeDf(item)">设为默认</div>
-                  <i class="el-icon-delete" @click="httpschemeDfRemove(item)"></i>
-                </div>
-              </div>
-            </div>
-          </div>
-        </div>
-      </div>
-    </div>
+    </el-card>
+    <select-subject-report></select-subject-report>
   </div>
 </template>
 
 <script>
-import { getMyXkcx, schemeDf, schemeDfRemove } from "@/api/webApi/webQue";
-
+import SelectSubjectReport from './components/select-subjec-report'
 export default {
+  components: {
+    SelectSubjectReport
+  },
   data() {
     return {
       dataList: [],
+      activeName: 'first',
+      rows:[],
+      propDefine: {
+        year:{
+          label:'所属年份'
+        },
+        schoolName:{
+          label:'学校名称'
+        },
+        major:{
+          label:'专业(类)名称'
+        },
+        majorRemark:{
+          label:'专业备注'
+        },
+        majorLevel:{
+          label:'专业层次'
+        },
+        course0:{
+          label:'首选科目范围'
+        },
+        course1:{
+          label:'再选科目范围'
+        },
+        data:{
+          label:'历年录取数据'
+        },
+        collect:{
+          label:'收藏'
+        },
+        majorCollect:{
+          label:'选科收藏'
+        }
+      }
+
     };
   },
   created() {
-    this.httpGetMyXkcx();
   },
   methods: {
-    httpGetMyXkcx() {
-      getMyXkcx({}).then((res) => {
-        this.dataList = res.rows;
-      });
-    },
-    httpschemeDf(item) {
-      schemeDf({
-        id:item.id,
-        df:true
-      }).then((res) => {
-        this.$message.success("操作成功!")
-      });
-    },
-    httpschemeDfRemove(item) {
-      schemeDfRemove({
-        id:item.id
-      }).then((res) => {
-        this.httpGetMyXkcx()
-      });
-    },
+    handleClick() {
+
+    }
   },
 };
 </script>
 
 <style scoped>
-.breadcrumb {
-  padding: 15px 30px;
-  margin: 15px 0;
-  border-bottom: 1px solid #eee;
-  border-radius: 2px;
-  background-color: #fff;
-  box-shadow: 0 1px 2px 0 rgb(0 0 0 / 5%);
+.tabs-min-height{
+  min-height: calc(100vh - 124px - 58px);
+}
+.my-page{
+  padding: 0 100px;
 }
 .el-breadcrumb {
   font-size: 16px !important;

+ 8 - 4
src/views/system/user/profile/components/report-table.vue

@@ -7,13 +7,12 @@
           <el-button type="primary" @click="toAiAnalysis">AI分析</el-button>
           <el-button>选科历史记录</el-button>
         </div>
-
       </div>
     </template>
     <mx-table :propDefines="formatTable.cols" :rows="formatTable.rows">
       <template #temp="{row}">
         <span class="btn-blue mr5" @click="toSelectSub(row)">选择</span>
-        <span class="btn-green">查看记录</span>
+        <span class="btn-green" @click="toReport">查看记录</span>
         <!--        <el-button>查看</el-button>-->
       </template>
       <template #signUp="{row}">
@@ -62,7 +61,8 @@
         <el-button type="primary" @click="dialogVisible = false">确 定</el-button>
       </span>
     </el-dialog>
-    <choose-subject-dialog ref="chooseDialog" @chooseReally="toggleSubject"></choose-subject-dialog>
+    <choose-subject-dialog ref="chooseDialog"></choose-subject-dialog>
+    <select-subject-report-dialog ref="reportDialog" ></select-subject-report-dialog>
     <Ai-dialog ref="aiDialog"></Ai-dialog>
   </el-card>
 </template>
@@ -72,9 +72,11 @@ import MxSelectTranslate from '@/components/Cache/modules/mx-select-translate-mi
 import TestDrage from './test-drage'
 import VueEsign from '@/components/VueEsign/index'
 import ChooseSubjectDialog from './choose-subject-dialog'
+import SelectSubjectReportDialog from '@/views/system/user/profile/components/select-subject-report-dialog'
 
 export default {
   components: {
+    SelectSubjectReportDialog,
     TestDrage,
     VueEsign,
     ChooseSubjectDialog,
@@ -119,7 +121,6 @@ export default {
         rows.forEach((row) => {
           const descriptors = column.groupDescriptors.find(desc => desc.groupId == row.groupId) ?
             column.groupDescriptors.find(desc => desc.groupId == row.groupId).descriptors : []
-            console.log(descriptors)
            row[prop] = descriptors.length > 0 ?  descriptors.length > 1 ? `${descriptors[0].value}/${descriptors[1].value}` : `${descriptors[0].value}`  : ''
         })
       })
@@ -177,6 +178,9 @@ export default {
 
   },
   methods: {
+    toReport() {
+      this.$refs.reportDialog.open()
+    },
     toAiAnalysis() {
       //
       const currentGeneration = 1

+ 34 - 0
src/views/system/user/profile/components/select-subject-report-dialog.vue

@@ -0,0 +1,34 @@
+<template>
+  <el-dialog
+    title="我的选科方案"
+    :visible.sync="dialogVisible"
+    width="70%"
+  >
+    <select-subject-report :type="1"></select-subject-report>
+  </el-dialog>
+</template>
+
+<script>
+import SelectSubjectReport from '@/views/career/subject/components/select-subjec-report'
+export default {
+  components: {
+    SelectSubjectReport
+  },
+  name: 'SelectSubjectReportDialog',
+  data() {
+    return {
+      dialogVisible: false
+    };
+  },
+  created() {
+  },
+  methods: {
+    open(){
+      this.dialogVisible = true
+    }
+  },
+};
+</script>
+
+<style scoped>
+</style>