|  | @@ -1,7 +1,30 @@
 | 
	
		
			
				|  |  |  <template>
 | 
	
		
			
				|  |  |    <div id="jobDetail" style="padding:24px 5%" >
 | 
	
		
			
				|  |  |      <el-row :gutter="20">
 | 
	
		
			
				|  |  | -     <el-col :span="6">444</el-col>
 | 
	
		
			
				|  |  | +     <el-col :span="6">
 | 
	
		
			
				|  |  | +       <div class="bd-f2">
 | 
	
		
			
				|  |  | +         <p style="border-bottom: 1px solid #f2f2f2" class="pd10 f-333 f14">全部职业</p>
 | 
	
		
			
				|  |  | +         <div class="tree-wrap">
 | 
	
		
			
				|  |  | +           <el-tree
 | 
	
		
			
				|  |  | +           ref="tree"
 | 
	
		
			
				|  |  | +           :data="vocationTree"
 | 
	
		
			
				|  |  | +           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>
 | 
	
		
			
				|  |  | +         </div>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +       </div>
 | 
	
		
			
				|  |  | +     </el-col>
 | 
	
		
			
				|  |  |        <el-col  :span="18">
 | 
	
		
			
				|  |  |          <el-card style="color: #5E5E5E;" ref="navBar">
 | 
	
		
			
				|  |  |            <el-breadcrumb separator-class="el-icon-arrow-right">
 | 
	
	
		
			
				|  | @@ -46,7 +69,7 @@
 | 
	
		
			
				|  |  |                <div class="desc-item">
 | 
	
		
			
				|  |  |                  <p class="format-tit">相关专业<span class="text-666 f14">({{vocationDetail.postMajors.length}}个)</span></p>
 | 
	
		
			
				|  |  |                  <div class="post-item mb20" v-for="post in vocationDetail.postMajors">
 | 
	
		
			
				|  |  | -                  <div class="post-title f16 mb10" style="cursor: pointer">{{post.name}}</div>
 | 
	
		
			
				|  |  | +                  <div class="post-title f16 mb10" style="cursor: pointer" @click="toMajorDetail(post)">{{post.name}}</div>
 | 
	
		
			
				|  |  |                    <div class="pb10 text-666 post-text">
 | 
	
		
			
				|  |  |                      <div>国标代码:{{post.code}}</div>
 | 
	
		
			
				|  |  |                      <div>学制:{{post.learnYear}}</div>
 | 
	
	
		
			
				|  | @@ -149,7 +172,8 @@
 | 
	
		
			
				|  |  |  </template>
 | 
	
		
			
				|  |  |  <script>
 | 
	
		
			
				|  |  |  import MxChart from '@/components/MxChart/index'
 | 
	
		
			
				|  |  | -import { vocationalPostsDetail, vocationalOverview, vocationalPosts } from '@/api/webApi/vocation'
 | 
	
		
			
				|  |  | +import { vocationalPostsDetail, vocationalOverview, vocationalPosts,getAllVocation } from '@/api/webApi/vocation'
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  export default {
 | 
	
		
			
				|  |  |    name: "Detail",
 | 
	
		
			
				|  |  |    components: {
 | 
	
	
		
			
				|  | @@ -159,7 +183,12 @@ export default {
 | 
	
		
			
				|  |  |      return {
 | 
	
		
			
				|  |  |        loading:false,
 | 
	
		
			
				|  |  |        code:'',
 | 
	
		
			
				|  |  | +      defaultProps: {
 | 
	
		
			
				|  |  | +        children: 'children',
 | 
	
		
			
				|  |  | +        label: 'name'
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  |        tabActive: 0,
 | 
	
		
			
				|  |  | +      vocationTree: [], // 职业树
 | 
	
		
			
				|  |  |        vocationalPosts: [],  // 就业岗位
 | 
	
		
			
				|  |  |        vocationDetail:{},  // 职业概况
 | 
	
		
			
				|  |  |        jobActiveName: '',  // 激活状态的岗位
 | 
	
	
		
			
				|  | @@ -167,6 +196,9 @@ export default {
 | 
	
		
			
				|  |  |        windowHeight:document.documentElement.clientHeight,
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |    },
 | 
	
		
			
				|  |  | +  created() {
 | 
	
		
			
				|  |  | +    this.getAllVocation()
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  |    computed:{
 | 
	
		
			
				|  |  |      // 按工资分布
 | 
	
		
			
				|  |  |      chartSalary() {
 | 
	
	
		
			
				|  | @@ -310,11 +342,26 @@ export default {
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |    },
 | 
	
		
			
				|  |  |    methods:{
 | 
	
		
			
				|  |  | +    toMajorDetail(row) {
 | 
	
		
			
				|  |  | +      console.log('跳转')
 | 
	
		
			
				|  |  | +      console.log(row)
 | 
	
		
			
				|  |  | +      // 跳转
 | 
	
		
			
				|  |  | +      this.$router.push({path:'/career/plan/ProfessLibDetail',query:{code:row.code}})
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    handleNodeClick(data,node) {
 | 
	
		
			
				|  |  | +      if(!node.isLeaf || this.code == node.data.code) return
 | 
	
		
			
				|  |  | +      console.log('跳转')
 | 
	
		
			
				|  |  | +      // 跳转
 | 
	
		
			
				|  |  | +      this.$router.replace({path:'/career/vocation/Detail',query:{code:node.data.code}})
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  |      toJob(post) {
 | 
	
		
			
				|  |  |        console.log(post)
 | 
	
		
			
				|  |  |        this.tabActive = 1
 | 
	
		
			
				|  |  |        this.toActiveJob(post.name)
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  | +    isLeaf(data,node) {
 | 
	
		
			
				|  |  | +      return node.childCount == 0
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  |      toActiveJob(name) {
 | 
	
		
			
				|  |  |        if(this.jobActiveName == name) return
 | 
	
		
			
				|  |  |        this.jobActiveName = name
 | 
	
	
		
			
				|  | @@ -361,6 +408,14 @@ export default {
 | 
	
		
			
				|  |  |        }).finally(_ => {
 | 
	
		
			
				|  |  |          this.loading = false
 | 
	
		
			
				|  |  |        })
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    getAllVocation() {
 | 
	
		
			
				|  |  | +      getAllVocation({
 | 
	
		
			
				|  |  | +        level: 1
 | 
	
		
			
				|  |  | +      }).then(res => {
 | 
	
		
			
				|  |  | +        console.log(res)
 | 
	
		
			
				|  |  | +        this.vocationTree = res.data
 | 
	
		
			
				|  |  | +      })
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |  }
 | 
	
	
		
			
				|  | @@ -467,5 +522,18 @@ export default {
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  | +  .tree-wrap{
 | 
	
		
			
				|  |  | +    padding: 10px;
 | 
	
		
			
				|  |  | +    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>
 |