|
@@ -1,144 +1,150 @@
|
|
|
<template>
|
|
|
- <div id="jobDetail" style="padding:24px 12%" >
|
|
|
- <el-card style="color: #5E5E5E;" ref="navBar">
|
|
|
- <el-breadcrumb separator-class="el-icon-arrow-right">
|
|
|
- <el-breadcrumb-item :to="{ path: '/index' }">首页</el-breadcrumb-item>
|
|
|
- <el-breadcrumb-item :to="{ path: '/career/vocation/index'}">职业库</el-breadcrumb-item>
|
|
|
- <el-breadcrumb-item>职业详情</el-breadcrumb-item>
|
|
|
- </el-breadcrumb>
|
|
|
- </el-card>
|
|
|
- <div class="mt20 header-content pd20" >
|
|
|
- <p class="f28 f-333">{{vocationDetail.name || ''}}</p>
|
|
|
- </div>
|
|
|
- <div class="tabs-wrap">
|
|
|
- <span class="tabs-item" @click="tabActive = 0" :class="{'bg-primary':tabActive == 0}">职业概况</span>
|
|
|
- <span class="tabs-item" @click="tabActive = 1":class="{'bg-primary':tabActive == 1}">就业岗位</span>
|
|
|
- </div>
|
|
|
- <p class="line"></p>
|
|
|
- <div
|
|
|
- v-show="loading"
|
|
|
- class="loading-div"
|
|
|
- v-loading="loading"
|
|
|
- :style="{height:windowHeight + 'px'}">
|
|
|
- </div>
|
|
|
+ <div id="jobDetail" style="padding:24px 5%" >
|
|
|
+ <el-row :gutter="20">
|
|
|
+ <el-col :span="6">444</el-col>
|
|
|
+ <el-col :span="18">
|
|
|
+ <el-card style="color: #5E5E5E;" ref="navBar">
|
|
|
+ <el-breadcrumb separator-class="el-icon-arrow-right">
|
|
|
+ <el-breadcrumb-item :to="{ path: '/index' }">首页</el-breadcrumb-item>
|
|
|
+ <el-breadcrumb-item :to="{ path: '/career/vocation/index'}">职业库</el-breadcrumb-item>
|
|
|
+ <el-breadcrumb-item>职业详情</el-breadcrumb-item>
|
|
|
+ </el-breadcrumb>
|
|
|
+ </el-card>
|
|
|
+ <div class="mt20 header-content pd20" >
|
|
|
+ <p class="f28 f-333">{{vocationDetail.name || ''}}</p>
|
|
|
+ </div>
|
|
|
+ <div class="tabs-wrap">
|
|
|
+ <span class="tabs-item" @click="tabActive = 0" :class="{'bg-primary':tabActive == 0}">职业概况</span>
|
|
|
+ <span class="tabs-item" @click="tabActive = 1":class="{'bg-primary':tabActive == 1}">就业岗位</span>
|
|
|
+ </div>
|
|
|
+ <p class="line"></p>
|
|
|
+ <div
|
|
|
+ v-show="loading"
|
|
|
+ class="loading-div"
|
|
|
+ v-loading="loading"
|
|
|
+ :style="{height:windowHeight + 'px'}">
|
|
|
+ </div>
|
|
|
|
|
|
- <div class="content-wrap mt20" >
|
|
|
- <!-- 职业概况 -->
|
|
|
- <div v-if="Object.keys(vocationDetail).length > 0">
|
|
|
- <div v-show="tabActive == 0">
|
|
|
- <div class="desc-item">
|
|
|
- <p class="format-tit">职业介绍</p>
|
|
|
- <div class="text-666" v-html="vocationDetail.description"></div>
|
|
|
- </div>
|
|
|
- <div class="desc-item">
|
|
|
- <p class="format-tit">就业岗位<span class="text-666 f14">({{vocationDetail.postJobs.length || 0}}个)</span></p>
|
|
|
- <div class="post-item mb20" v-for="post in vocationDetail.postJobs">
|
|
|
- <div class="post-title f16 mb10" style="cursor: pointer" @click="toJob(post)">{{post.name}}</div>
|
|
|
- <div class="pb10 text-666 post-text">
|
|
|
- <div>{{`${post.salaryMin}元-${post.salaryMax}元/月`}}</div>
|
|
|
- <div>热门地区:{{post.hotCity}}</div>
|
|
|
+ <div class="content-wrap mt20" >
|
|
|
+ <!-- 职业概况 -->
|
|
|
+ <div v-if="Object.keys(vocationDetail).length > 0">
|
|
|
+ <div v-show="tabActive == 0">
|
|
|
+ <div class="desc-item">
|
|
|
+ <p class="format-tit">职业介绍</p>
|
|
|
+ <div class="text-666" v-html="vocationDetail.description"></div>
|
|
|
</div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <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="pb10 text-666 post-text">
|
|
|
- <div>国标代码:{{post.code}}</div>
|
|
|
- <div>学制:{{post.learnYear}}</div>
|
|
|
- <div>男女比例:{{`${post.maleRatio}/${post.femaleRatio}`}}</div>
|
|
|
+ <div class="desc-item">
|
|
|
+ <p class="format-tit">就业岗位<span class="text-666 f14">({{vocationDetail.postJobs.length || 0}}个)</span></p>
|
|
|
+ <div class="post-item mb20" v-for="post in vocationDetail.postJobs">
|
|
|
+ <div class="post-title f16 mb10" style="cursor: pointer" @click="toJob(post)">{{post.name}}</div>
|
|
|
+ <div class="pb10 text-666 post-text">
|
|
|
+ <div>{{`${post.salaryMin}元-${post.salaryMax}元/月`}}</div>
|
|
|
+ <div>热门地区:{{post.hotCity}}</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <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="pb10 text-666 post-text">
|
|
|
+ <div>国标代码:{{post.code}}</div>
|
|
|
+ <div>学制:{{post.learnYear}}</div>
|
|
|
+ <div>男女比例:{{`${post.maleRatio}/${post.femaleRatio}`}}</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
|
|
|
- <!-- 就业岗位-->
|
|
|
- <div v-if="vocationalPosts.length > 0">
|
|
|
- <div v-show="tabActive == 1">
|
|
|
- <el-row :gutter="20" type="flex" class="jobTabs">
|
|
|
- <el-col class="job-item-wrap" :span="4" v-for="item in vocationalPosts" :key="item.name">
|
|
|
- <div class="job-item f14 f-333" :class="{'bg-primary':jobActiveName == item.name}" @click="toActiveJob(item.name)">
|
|
|
- <p class="mb10">{{item.name}}</p>
|
|
|
- <p>{{`${item.salaryMin}-${item.salaryMax}`}}{{item.salaryUnit}}</p>
|
|
|
- </div>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- <!-- 岗位详情 -->
|
|
|
- <div v-if="Object.keys(jobDetail).length > 0">
|
|
|
- <!-- 图表 -->
|
|
|
- <div class="desc-item">
|
|
|
- <p class="format-tit">薪资情况</p>
|
|
|
- <el-row :gutter="10">
|
|
|
- <el-col :span="12">
|
|
|
- <p class="text-right f-333">按趋势</p>
|
|
|
- <mx-chart :options="chartExperience" height="300px"></mx-chart>
|
|
|
- </el-col>
|
|
|
- <el-col :span="12">
|
|
|
- <p class="text-right f-333">按分布</p>
|
|
|
- <mx-chart :options="chartSalary" height="300px"></mx-chart>
|
|
|
+ <!-- 就业岗位-->
|
|
|
+ <div v-if="vocationalPosts.length > 0">
|
|
|
+ <div v-show="tabActive == 1">
|
|
|
+ <el-row :gutter="20" type="flex" class="jobTabs">
|
|
|
+ <el-col class="job-item-wrap" :span="4" v-for="item in vocationalPosts" :key="item.name">
|
|
|
+ <div class="job-item f14 f-333" :class="{'bg-primary':jobActiveName == item.name}" @click="toActiveJob(item.name)">
|
|
|
+ <p class="mb10">{{item.name}}</p>
|
|
|
+ <p>{{`${item.salaryMin}-${item.salaryMax}`}}{{item.salaryUnit}}</p>
|
|
|
+ </div>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
- </div>
|
|
|
- <div class="desc-item">
|
|
|
- <p class="format-tit">就业形势</p>
|
|
|
- <el-row :gutter="10">
|
|
|
- <el-col :span="12">
|
|
|
- <p class="text-right f-333">按学历</p>
|
|
|
- <mx-chart :options="chartEdu" height="300px"></mx-chart>
|
|
|
- </el-col>
|
|
|
- <el-col :span="12">
|
|
|
- <p class="text-right f-333">按经验</p>
|
|
|
- <mx-chart :options="chartExp" height="300px"></mx-chart>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- </div>
|
|
|
- <div class="desc-item">
|
|
|
- <p class="format-tit">招聘需求量</p>
|
|
|
- <el-row :gutter="40" type="flex" class="flex-wrap">
|
|
|
- <el-col :span="12" class="f16" v-for="(item,index) in jobDetail.demand">
|
|
|
- <el-row class="format-job-wrap">
|
|
|
- <el-col :span="3" class="f18 text-center f-666">{{index + 1}}</el-col>
|
|
|
- <el-col :span="15" class="f-333">{{item.city}}</el-col>
|
|
|
- <el-col :span="6" class="f-666 text-right f14">{{item.count}}职位</el-col>
|
|
|
+ <!-- 岗位详情 -->
|
|
|
+ <div v-if="Object.keys(jobDetail).length > 0">
|
|
|
+ <!-- 图表 -->
|
|
|
+ <div class="desc-item">
|
|
|
+ <p class="format-tit">薪资情况</p>
|
|
|
+ <el-row :gutter="10">
|
|
|
+ <el-col :span="12">
|
|
|
+ <p class="text-right f-333">按趋势</p>
|
|
|
+ <mx-chart :options="chartExperience" height="300px"></mx-chart>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <p class="text-right f-333">按分布</p>
|
|
|
+ <mx-chart :options="chartSalary" height="300px"></mx-chart>
|
|
|
+ </el-col>
|
|
|
</el-row>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- </div>
|
|
|
- <div class="desc-item">
|
|
|
- <p class="format-tit">收入排行-按行业</p>
|
|
|
- <el-row :gutter="40" type="flex" class="flex-wrap">
|
|
|
- <el-col :span="12" class="f16" v-for="(item,index) in jobDetail.industrySalary">
|
|
|
- <el-row class="format-job-wrap">
|
|
|
- <el-col :span="3" class="f18 text-center f-666">{{index + 1}}</el-col>
|
|
|
- <el-col :span="15" class="f-333">{{item.name}}</el-col>
|
|
|
- <el-col :span="6" class="f-666 text-right f14">{{item.salary}}元 / 月</el-col>
|
|
|
+ </div>
|
|
|
+ <div class="desc-item">
|
|
|
+ <p class="format-tit">就业形势</p>
|
|
|
+ <el-row :gutter="10">
|
|
|
+ <el-col :span="12">
|
|
|
+ <p class="text-right f-333">按学历</p>
|
|
|
+ <mx-chart :options="chartEdu" height="300px"></mx-chart>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <p class="text-right f-333">按经验</p>
|
|
|
+ <mx-chart :options="chartExp" height="300px"></mx-chart>
|
|
|
+ </el-col>
|
|
|
</el-row>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- </div>
|
|
|
- <div class="desc-item">
|
|
|
- <p class="format-tit">收入排行-按地区</p>
|
|
|
- <el-row :gutter="40" type="flex" class="flex-wrap">
|
|
|
- <el-col :span="12" class="f16" v-for="(item,index) in jobDetail.citySalary">
|
|
|
- <el-row class="format-job-wrap">
|
|
|
- <el-col :span="3" class="f18 text-center f-666">{{index + 1}}</el-col>
|
|
|
- <el-col :span="15" class="f-333">{{item.city}}</el-col>
|
|
|
- <el-col :span="6" class="f-666 text-right f14">{{item.salary}}元 / 月</el-col>
|
|
|
+ </div>
|
|
|
+ <div class="desc-item">
|
|
|
+ <p class="format-tit">招聘需求量</p>
|
|
|
+ <el-row :gutter="40" type="flex" class="flex-wrap">
|
|
|
+ <el-col :span="12" class="f16" v-for="(item,index) in jobDetail.demand">
|
|
|
+ <el-row class="format-job-wrap">
|
|
|
+ <el-col :span="3" class="f18 text-center f-666">{{index + 1}}</el-col>
|
|
|
+ <el-col :span="15" class="f-333">{{item.city}}</el-col>
|
|
|
+ <el-col :span="6" class="f-666 text-right f14">{{item.count}}职位</el-col>
|
|
|
+ </el-row>
|
|
|
+ </el-col>
|
|
|
</el-row>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
+ </div>
|
|
|
+ <div class="desc-item">
|
|
|
+ <p class="format-tit">收入排行-按行业</p>
|
|
|
+ <el-row :gutter="40" type="flex" class="flex-wrap">
|
|
|
+ <el-col :span="12" class="f16" v-for="(item,index) in jobDetail.industrySalary">
|
|
|
+ <el-row class="format-job-wrap">
|
|
|
+ <el-col :span="3" class="f18 text-center f-666">{{index + 1}}</el-col>
|
|
|
+ <el-col :span="15" class="f-333">{{item.name}}</el-col>
|
|
|
+ <el-col :span="6" class="f-666 text-right f14">{{item.salary}}元 / 月</el-col>
|
|
|
+ </el-row>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ </div>
|
|
|
+ <div class="desc-item">
|
|
|
+ <p class="format-tit">收入排行-按地区</p>
|
|
|
+ <el-row :gutter="40" type="flex" class="flex-wrap">
|
|
|
+ <el-col :span="12" class="f16" v-for="(item,index) in jobDetail.citySalary">
|
|
|
+ <el-row class="format-job-wrap">
|
|
|
+ <el-col :span="3" class="f18 text-center f-666">{{index + 1}}</el-col>
|
|
|
+ <el-col :span="15" class="f-333">{{item.city}}</el-col>
|
|
|
+ <el-col :span="6" class="f-666 text-right f14">{{item.salary}}元 / 月</el-col>
|
|
|
+ </el-row>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div v-else>
|
|
|
+ 暂无数据
|
|
|
+ </div>
|
|
|
</div>
|
|
|
- </div>
|
|
|
+ </div></div>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+
|
|
|
+
|
|
|
|
|
|
- <div v-else>
|
|
|
- 暂无数据
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
|
|
|
- </div>
|
|
|
</div>
|
|
|
</template>
|
|
|
<script>
|
|
@@ -175,11 +181,13 @@ export default {
|
|
|
toolbox: {
|
|
|
show: true,
|
|
|
},
|
|
|
+ tooltip: {
|
|
|
+ trigger: 'item'
|
|
|
+ },
|
|
|
series: [
|
|
|
{
|
|
|
- name: 'Nightingale Chart',
|
|
|
type: 'pie',
|
|
|
- radius: [30, 60],
|
|
|
+ radius: [40, 60],
|
|
|
label:{
|
|
|
formatter: '{b}'
|
|
|
},
|