优化职位详情

cyl/dev
jscyl13849007907 1 year ago
parent 5a3d90bddc
commit 229633ad64

31254
package-lock.json generated

File diff suppressed because it is too large Load Diff

@ -0,0 +1,287 @@
<template>
<div class="recommend-container">
<div class="recommendposition">
<!-- :class="isdetail ? 'showborder' : ''" -->
<h1 class="bottombox g_flex_row_between g_pl_16 g_pr_16" style="padding-left: 16px;padding-right: 16px;">
<div>
<i>代理佣金</i>
</div>
<div class="g_flex_column_center" @click="isSee = !isSee" style="cursor: pointer;">
<i class="iconfont icon-zhengyan11" style="font-size: 22px;color: #ff4400;line-height: 0.1;" v-if="isSee"></i>
<i class="iconfont icon-biyan11" style="font-size: 22px;color: #ff4400;line-height: 0.1;margin-top: -4px;" v-if="!isSee"></i>
</div>
</h1>
<div style="text-align: center">
<a-spin tip="加载中..." :spinning="isspinning"></a-spin>
</div>
<div class="jobBox" v-if="false">
<div class="jobinfobox" v-for="(item, index) in relationList" :key="index">
<router-link target="_blank" :to="'/detail?id=' + item.id +'&jobClassify='+item.jobClassify" @click.prevent="resetpage">
<!-- <a href="javascript:;" > -->
<!-- <div class="imgbox">
<img v-if="item.logo" :src="item.logo" alt />
<img v-else src="../../../../static/img/nopicture.png" alt />
<span>服务费{{ item.servetype }}</span>
</div> -->
<div class="jobname">{{item.jobName || '-' }}</div>
<span style=" padding: 0 10px;
height: 20px;
background: #ff4400;
border-radius: 16px;
font-size: 12px;
font-weight: 500;
text-align: center;
color: #ffffff;
line-height: 20px;">服务费{{ item.servetype }}</span>
<!-- </a> -->
</router-link>
<div class="jobinfo">
<span>{{ item.district }}</span>
<span>{{ item.gender }}</span>
<span>{{ item.age }}</span>
</div>
<div class="jobtag">
<!-- <span>返费</span> -->
<span v-for="(item1, index) in item.jobSpecialLabelNames" :key="index">{{ item1 }}</span>
</div>
<div class="jobprice" v-html="
getSalaryClassifyValue(
item.salaryClassify,
item.salaryClassifyValue
)
">
<!-- <template v-if="item.hourlyPay"
><span>{{ item.hourlyPayTemp / 100 }}</span
>/小时</template
>
<template v-else-if="item.dayPay"
><span>{{ item.hourlyPayTemp / 100 }}</span
>/</template
>-->
</div>
</div>
</div>
</div>
</div>
</template>
<script>
import { disposeJobListData, getSalaryClassifyValue } from '../../../utils/commonUtil'
import {
JobListApi,
// getCityApi,
} from '../../../api/job'
export default {
inject: ['reload'],
//
name: '',
//
components: {},
//
props: {},
//
data() {
return {
isSee:true,
isspinning: false,
isdetail: false,
relationList: [],
}
},
//
computed: {},
//
watch: {},
//
/**
* 组件实例创建完成属性已绑定但DOM还未生成$ el属性还不存在
*/
created() {
this.getRecommendJob()
},
/**
* el 被新创建的 vm.el 替换并挂载到实例上去之后调用该钩子
* 如果 root 实例挂载了一个文档内元素 mounted 被调用时 vm.el 也在文档内
*/
mounted() {
// console.log(this.$route.fullPath);
if (this.$route.fullPath.indexOf('detail') > -1) {
this.isdetail = true
}
console.log(this.isdetail)
},
//
methods: {
async getRecommendJob() {
this.isspinning = true
try {
const { data } = await JobListApi({
pageNum: 1,
pageSize: 3,
jobCategory: 608,
})
console.log(data)
this.relationList = disposeJobListData(data.data.recordList)
console.log(this.relationList)
// this.relationList.forEach((item) => {
// item.age = ''
// })
// this.$emit("update:relationList", this.relationList);
} catch (error) {
console.log(error)
}
this.isspinning = false
},
resetpage() {
console.log(1)
setTimeout(() => {
this.reload()
document.body.scrollTop = 0
document.documentElement.scrollTop = 0
}, 1000)
},
getSalaryClassifyValue(salaryClassify, salaryClassifyValue) {
return getSalaryClassifyValue(salaryClassify, salaryClassifyValue)
},
},
}
</script>
<style scoped lang="less">
.showborder {
border: 1px solid rgba(77, 87, 94, 0.1);
}
.recommendposition {
// width: 270px;
// height: 1008px;
overflow: hidden;
background: #ffffff;
border-radius: 6px;
// padding: 0px 20px 0px 20px;
h1 {
// margin-bottom: 12px;
font-size: 16px;
text-align: left;
&::after {
// display: none;
}
i {
display: inline-block;
line-height: 20px;
// border-bottom: 2px solid #1890ff;
// padding: 6px 0;
}
span {
display: inline-block;
vertical-align: middle;
margin-top: -4px;
width: 4px;
height: 20px;
margin-right: 8px;
background: #1890ff;
}
}
.jobBox {
padding: 16px 20px 0 20px;
border-radius: 0 0 6px 6px;
overflow: hidden;
.jobinfobox:last-of-type {
border-bottom: none;
}
.jobinfobox {
// width: 240px;
// height: 298px;
// margin-bottom: 16px;
background: #ffffff;
// border: 1px solid rgba(77, 87, 94, 0.1);
border-radius: 4px;
// padding: 20px;
border-bottom: 1px solid #f2f0ec;
margin-bottom: 10px;
.imgbox {
width: 200px;
height: 200px;
position: relative;
img {
width: 100%;
height: 100%;
border-radius: 6px;
}
span {
position: absolute;
// width: 118px;
padding: 0 10px;
height: 20px;
left: 0;
bottom: 0;
background: #1890ff;
border-radius: 16px 16px 16px 0px;
font-size: 12px;
font-weight: 500;
text-align: center;
color: #ffffff;
line-height: 20px;
}
}
.jobname {
// height: 45px;
// margin: 12px 0;
font-size: 18px;
font-weight: bold;
text-align: left;
color: #4d575e;
line-height: 18px;
margin-bottom: 8px;
// margin-top: 16px;
// border-bottom: 1px solid #f2f0ec;
}
.jobinfo {
margin-top: 8px;
font-size: 14px;
font-weight: 400;
text-align: left;
color: #999;
line-height: 18px;
}
.jobtag {
margin-top: 12px;
text-align: left;
// span:first-child {
// color: #1890ff;
// background: rgba(254, 97, 0, 0.1);
// }
span {
margin-right: 12px;
font-size: 14px;
padding: 2px 5px;
background: rgba(51, 51, 51, 0.06);
border-radius: 4px;
}
span:nth-of-type(n + 3) {
display: none;
}
}
/deep/ .jobprice {
margin-top: 8px;
margin-bottom:8px;
font-size: 14px;
text-align: left;
color: #ff4400;
line-height: 18px;
font-weight: 600;
span {
font-weight: 600 !important;
}
i {
font-size: 18px;
line-height: 28px;
}
}
}
}
}
</style>

@ -2,7 +2,7 @@
<div class="detail-container">
<div style="height: 56px;"></div>
<!-- 面包屑 -->
<a-breadcrumb class="w" style="width: 800px;min-width: 800px;">
<a-breadcrumb class="w" style="width: 960px;min-width: 960px;">
<a-breadcrumb-item href>
<router-link to="/main">
<a-icon type="home" />
@ -18,9 +18,10 @@
</a-breadcrumb-item>
</a-breadcrumb>
<!-- 主体区域 -->
<div class="maincontent w">
<div class="maincontent w g_flex_row_between">
<div class="m-money-obj g_mb_20 g_p_20 g_flex_row_between"
style="background-color: #fff;border-radius: 6px;width: 800px;margin: 0 auto 20px;"
v-if="false"
>
<div class="g_flex_row_start">
<div style="font-size: 16px;font-weight: 600;margin-right: 4px;">代理佣金</div>
@ -145,13 +146,13 @@
<span>{{ jobDetail.gender }}</span>
<span>{{ jobDetail.age }}</span>
</div>
<!-- <div class="jobtag">
<div class="jobtag">
<a-tag :color="labelColor[index % labelColor.length]" v-for="(item, index) in jobDetail.jobRequestLabelNames" :key="index">{{ item }}</a-tag>
</div>
<div style="height: 27px" v-if="!jobDetail.jobRequestLabelNames" class="jobtag">
<a-tag :color="labelColor[1]">暂无要求</a-tag>
</div>
<div class="jobtag1">
<!-- <div class="jobtag1">
<a-tag v-for="(item, index) in jobDetail.jobSpecialLabelNames" :key="index">{{ item }}</a-tag>
</div>
<div style="height: 27px" v-if="!jobDetail.jobSpecialLabelNames" class="jobtag">
@ -217,12 +218,12 @@
<a-menu-item v-for="(item, index) in customServiceUsers" :key="index"> <i class="iconfont icon-dianhua1 mr4 f14" style="color: #1890ff"></i>{{ item.aliasName }} {{ item.tel }} </a-menu-item>
</a-menu>
</a-dropdown>
<button class="dropdown bottombox1" @click="torecord()" v-if="jobDetail.recruitment == '1'"></button>
<a-button class="" @click="torecord()"v-if="jobDetail.recruitment == '1'" type="primary" style="font-size: 14px;">立即报名</a-button>
<button class="norecruitment bottombox1" v-else></button>
</div>
</div>
</div>
<div class="jobinformationbox" style="padding-left: 20px;">
<div class="jobinformationbox" style="padding-left: 20px;padding-top: 4px;">
<h1>
<div class="infotitle">
<span @click="tabchange = 1" :class="tabchange === 1 ? 'active' : ''">基本信息</span>
@ -456,38 +457,49 @@
</div>
</div>
<div class="maincontentright" v-if="false">
<!-- <div class="hotphone">
<h1 class="bottombox" style>
<i>项目方</i>
</h1>
<template v-if="agency.supplierName == '江西人海'">
<img style="width: 60px; height: 60px; border-radius: 50%; display: block; margin: 24px auto 0" src="https://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/renhai.jpg" alt />
</template>
<template v-else>
<img style="width: 60px; height: 60px; border-radius: 50%; display: block; margin: 24px auto 0" :src="agency.logo || 'https://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/moren.svg'" alt />
</template>
<div style="color: #333">
<p class="f14" style="margin-top: 10px; margin-bottom: 0">
{{ agency.supplierName || "-" }}
</p>
<div class="maincontentright">
<div class="card-top g_flex_row_between"
style="padding-left: 16px;padding-right: 16px;font-size: 16px;background-color: #1890ff;height: 40px;border-top-left-radius: 6px;border-top-right-radius: 6px;"
>
<div class="g_flex_column_center">
<i style="color: #fff;">代理佣金</i>
</div>
</div> -->
<!-- <div class="companyinfo" v-if="from != 'vocational'">
<div class="companydetail">
<h1 class="bottombox">
<i>企业详情</i>
</h1>
<div class="g_flex_column_center" @click="isSee = !isSee" style="cursor: pointer;">
<i class="iconfont icon-zhengyan11" style="font-size: 22px;color: #ff4400;line-height: 0.1;" v-if="isSee"></i>
<i class="iconfont icon-biyan11" style="font-size: 22px;color: #ff4400;line-height: 0.1;margin-top: -4px;" v-if="!isSee"></i>
</div>
<div class="companylocation" style="text-align: center; padding: 0 20px 20px" v-if="positionInfo.lng || positionInfo.storeLng">
<h2 style="padding: 16px 0; font-weight: 600">{{ store.storeName || "-" }}</h2>
<p style="padding-bottom: 20px; border-bottom: 1px solid #eee; font-size: 16px; text-indent: 16px; color: #4d575ecc; white-space: pre-line; text-align: left">{{ store.storeInfo || "-" }}</p>
<div class="imgbox">
<GDMap :positionInfo="positionInfo"></GDMap>
</div>
<div class="card-bottom" style="background-color: #fff;border-bottom-right-radius: 6px;border-bottom-left-radius: 6px;padding: 16px;">
<div class="box" style="border-radius: 6px;border: 1px solid #ededed;min-height: 288px;">
<div class="title g_flex_row_start"
style="height: 40px;border-bottom: 1px solid #ededed;padding: 0 16px;"
>
<div style="font-size: 14px;height: 100%;font-weight: 600;" class="g_flex_column_center">
佣金
</div>
<div class="g_flex_column_center" style="font-size: 14px;height: 100%;color: #999;">
<span v-if="isSee">
{{ jobDetail.servetype }}
</span>
<span v-if="!isSee">
***
</span>
</div>
</div>
<div class="content g_p_16">
<div class="con"
style="white-space:pre-wrap;font-size: 14px;color: #999;"
>
<span v-if="isSee">
{{ jobDetail.returnFeeDesp || '-' }}
</span>
<span v-if="!isSee">
***
</span>
</div>
</div>
</div>
</div> -->
<recommend />
</div>
</div>
</div>
<recordModal :show.sync="recordShow" :jobDetail="jobDetail"></recordModal>
@ -496,7 +508,7 @@
<script>
import { getJobDetailApi } from "../../api/job";
import { disposeJobListData, getSalaryClassifyValue } from "../../utils/commonUtil";
import recommend from "../../components/FirstJob/components/recommend.vue";
import mserve from "../../components/FirstJob/components/servre.vue";
import { nationlist } from "../../utils/datalist";
import { getUserManagerApi } from "../../api/userinfo";
import "swiper/dist/css/swiper.css";
@ -541,7 +553,7 @@ export default {
name: "",
//
components: {
recommend,
mserve,
GDMap,
recordModal,
// GDMap
@ -1266,11 +1278,11 @@ export default {
// justify-content: space-between;
margin-top: 12px;
.maincontentleft {
width: 800px;
width: 640px;
text-align: left;
background-color: #ffffff;
border-radius: 6px;
margin: 0 auto;
// margin: 0 auto;
overflow: hidden;
margin-bottom: 20px;
.subset {
@ -1609,7 +1621,7 @@ export default {
}
.jobinformationbox,
.proxy {
width: 780px;
width: 620px;
// border: 1px solid #eeefef;
overflow: hidden;
border-radius: 4px;
@ -1738,7 +1750,7 @@ export default {
}
.baseInfoContent {
width: 748px;
width: 600px;
> div {
> div:first-child {
font-size: 16px;
@ -1797,12 +1809,13 @@ export default {
.maincontentright {
// position: sticky;
// top: 0;
width: 240px;
width: 300px;
> div {
margin-bottom: 16px;
// margin-bottom: 16px;
// padding: 16px;
}
.jobDetailInfo {
width: 240px;
width: 300px;
overflow: hidden;
// height: 114px;
// padding: 0 20px 0px 20px;
@ -1830,7 +1843,7 @@ export default {
.hotphone {
overflow: hidden;
position: relative;
width: 240px;
width: 300px;
height: 200px;
// height: 114px;
// padding: 0 20px 20px 20px;
@ -1915,7 +1928,7 @@ export default {
}
.leftDesc {
.ant-descriptions-view {
width: 760px;
width: 600px;
border-radius: 6px;
// border: 0 !important;
}

@ -205,8 +205,8 @@
</template>
</div>
<div class="f12 c9 mt8">
{{ item.creator }}
<span class="ml8">{{ formatDateYMDHM(item.createTime) }}</span>
<!-- {{ item.creator }} -->
<span class="">{{ formatDateYMDHM(item.createTime) }}</span>
</div>
</div>
</div>

10169
yarn.lock

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save