|
@@ -0,0 +1,130 @@
|
|
|
|
+<template>
|
|
|
|
+ <div id="jobDetail" ref="jobDetail" style="padding:24px 8%;background-color:#f7f7f7;" v-loading="loading">
|
|
|
|
+ <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 style="background-color: #F0F3FC;margin-top:10px;" class="header">
|
|
|
|
+ <div class="left" :style="{'backgroundColor':theme,'text-align':'center'}">
|
|
|
|
+ <div>
|
|
|
|
+ <h1 style="margin: 0;font-size: 40px;color:#525252;">{{jobDetails.name}}</h1>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="right" style="padding:30px;">
|
|
|
|
+ <div v-html="jobDetails.zysm" class="headerText"></div>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ <div style="margin-top: 20px;background-color: #ffffff" v-for="(item,index) in contentArr">
|
|
|
|
+ <div style="display: flex;justify-content: space-between;padding:30px 10px 0 10px;">
|
|
|
|
+ <span :style="{'color':theme}" style="background-color:#F0F3FC;font-size:16px;font-weight:bold;padding:12px 100px 10px 50px;display:inline-block;clip-path: polygon(0 0, 80% 0, 100% 100%, 0 100%);">{{getDeatailCon(index,'title')}}</span>
|
|
|
|
+ <span :style="{'color':theme}" style="font-size:36px;color:#FCE1B0;">{{getDeatailCon(index,'title02')}}</span>
|
|
|
|
+ </div>
|
|
|
|
+ <div style="padding:30px" v-html="getDeatailCon(index,item)"></div>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+</template>
|
|
|
|
+<script>
|
|
|
|
+import {mapState} from 'vuex';
|
|
|
|
+import {getJobDetail} from '@/api/webApi/vocation'
|
|
|
|
+export default {
|
|
|
|
+ name: "Detail",
|
|
|
|
+ data(){
|
|
|
|
+ return {
|
|
|
|
+ loading:false,
|
|
|
|
+ jobId:'',
|
|
|
|
+ jobDetails:{},
|
|
|
|
+ contentArr:['zydy','rwzz','zsbj','zyjn','cyzg','cygj','fzqj'],
|
|
|
|
+ title1:['职业定义','任务职责','知识背景','职业技能','从业资格','常用工具','发展前景'],
|
|
|
|
+ title2:['PROFESSIONAL DETAILS','COLLEGES AND UNIVERSITIES','CHARACTERISTICS','CHARACTERISTICS','CHARACTERISTICS','CHARACTERISTICS']
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ computed:{
|
|
|
|
+ ...mapState({theme: state => state.settings.theme}),
|
|
|
|
+ getDeatailCon(){
|
|
|
|
+ return function (id,type){
|
|
|
|
+ if(type==='title'){
|
|
|
|
+ return this.title1[id]
|
|
|
|
+ }
|
|
|
|
+ if(type==='title02'){
|
|
|
|
+ return this.title2[id]
|
|
|
|
+ }
|
|
|
|
+ const flag=this.contentArr.some(item=>{
|
|
|
|
+ return item===type
|
|
|
|
+ })
|
|
|
|
+ if(flag){
|
|
|
|
+ return this.jobDetails[type]
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ watch:{
|
|
|
|
+ theme:{
|
|
|
|
+ immediate:true,
|
|
|
|
+ handler(val){
|
|
|
|
+ this.$nextTick(()=>{
|
|
|
|
+ this.$refs.jobDetail.style.setProperty('--themeColor', val)
|
|
|
|
+ })
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ '$route':{
|
|
|
|
+ immediate:true,
|
|
|
|
+ handler(val){
|
|
|
|
+ this.jobId=val.query.id;
|
|
|
|
+ if(val.query.id){
|
|
|
|
+ this.getJobDetail();
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ methods:{
|
|
|
|
+ getJobDetail(){
|
|
|
|
+ this.loading=true
|
|
|
|
+ const params={
|
|
|
|
+ jobId:this.jobId
|
|
|
|
+ };
|
|
|
|
+ getJobDetail(params).then(res=>{
|
|
|
|
+ this.jobDetails=res.data
|
|
|
|
+ this.loading=false;
|
|
|
|
+ })
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+</script>
|
|
|
|
+<style scoped lang="scss">
|
|
|
|
+#jobDetail{
|
|
|
|
+ font-family: PingFangSC-Semibold, PingFang SC;
|
|
|
|
+ .header{
|
|
|
|
+ .headerText{
|
|
|
|
+ p{
|
|
|
|
+ background-color: #1ab394 !important;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+</style>
|
|
|
|
+<style lang="scss">
|
|
|
|
+#jobDetail {
|
|
|
|
+ .header {
|
|
|
|
+ .left{
|
|
|
|
+ display: table-cell;
|
|
|
|
+ width:25%;
|
|
|
|
+ vertical-align: middle;
|
|
|
|
+ }
|
|
|
|
+ .right{
|
|
|
|
+ display: table-cell;
|
|
|
|
+ }
|
|
|
|
+ .headerText {
|
|
|
|
+ p {
|
|
|
|
+ span{
|
|
|
|
+ background-color: transparent !important;
|
|
|
|
+ }
|
|
|
|
+ background-color: transparent !important;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+</style>
|