|
|
|
@ -619,126 +619,145 @@
|
|
|
|
<!-- </div> -->
|
|
|
|
<!-- </div> -->
|
|
|
|
|
|
|
|
|
|
|
|
<div v-if="!isspinning" style="border-radius: 6px;overflow: hidden;">
|
|
|
|
<div v-if="!isspinning" style="border-radius: 6px;overflow: hidden;">
|
|
|
|
<div
|
|
|
|
<div>
|
|
|
|
class="subset"
|
|
|
|
<div
|
|
|
|
v-for="(item, index) in jobMainList"
|
|
|
|
class="subset"
|
|
|
|
:key="index"
|
|
|
|
v-for="(item, index) in jobMainList"
|
|
|
|
:style="{
|
|
|
|
:key="index"
|
|
|
|
background: item.recruitment == '1' ? '#fff' : '#f5f5f5',
|
|
|
|
:style="{
|
|
|
|
}"
|
|
|
|
background: item.recruitment == '1' ? '#fff' : '#f5f5f5',
|
|
|
|
>
|
|
|
|
}"
|
|
|
|
<!-- v-if="signType == ''" -->
|
|
|
|
>
|
|
|
|
|
|
|
|
<!-- v-if="signType == ''" -->
|
|
|
|
<span @click="toDetail(item)" style="cursor: pointer">
|
|
|
|
|
|
|
|
<div class="subsetleft" @click="totop">
|
|
|
|
<span @click="toDetail(item)" style="cursor: pointer">
|
|
|
|
<!-- <div class="imgbox">
|
|
|
|
<div class="subsetleft" @click="totop">
|
|
|
|
<img v-if="item.logo.length !== 0" :src="item.logo" style="object-fit: cover; width: 156px; height: 156px" />
|
|
|
|
<!-- <div class="imgbox">
|
|
|
|
<div v-else class="default_avatar">{{ item.brandName || item.jobName }}</div>
|
|
|
|
<img v-if="item.logo.length !== 0" :src="item.logo" style="object-fit: cover; width: 156px; height: 156px" />
|
|
|
|
</div> -->
|
|
|
|
<div v-else class="default_avatar">{{ item.brandName || item.jobName }}</div>
|
|
|
|
<div class="jobinfobox">
|
|
|
|
|
|
|
|
<!-- <router-link
|
|
|
|
|
|
|
|
target="_blank"
|
|
|
|
|
|
|
|
:to="'/detail/' + item.id"
|
|
|
|
|
|
|
|
rel="opener"
|
|
|
|
|
|
|
|
>-->
|
|
|
|
|
|
|
|
<div class="jobname">{{ item.jobName }}</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!-- <div class="xmfDiv">
|
|
|
|
|
|
|
|
<img src="https://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/xmfb.svg" class="" alt="" />
|
|
|
|
|
|
|
|
<span class="f12 ml4" style="color: #646572">{{ item.supplierName }}</span>
|
|
|
|
|
|
|
|
</div> -->
|
|
|
|
</div> -->
|
|
|
|
|
|
|
|
<div class="jobinfobox">
|
|
|
|
<!-- <img src="https://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/ysd1.png" style="width: 20px;height: 20px;" alt=""> -->
|
|
|
|
<!-- <router-link
|
|
|
|
|
|
|
|
target="_blank"
|
|
|
|
<!-- </router-link> -->
|
|
|
|
:to="'/detail/' + item.id"
|
|
|
|
<div class="jobinfo">
|
|
|
|
rel="opener"
|
|
|
|
<span>{{ item.district }}</span>
|
|
|
|
>-->
|
|
|
|
<span>{{ item.gender }}</span>
|
|
|
|
<div class="jobname">{{ item.jobName }}</div>
|
|
|
|
<span v-if="item.distance != null && item.distance != '' && formvalue.sortTag == 2">{{ item.distanceKm }}</span>
|
|
|
|
|
|
|
|
<span v-else>{{ item.age }}</span>
|
|
|
|
<!-- <div class="xmfDiv">
|
|
|
|
|
|
|
|
<img src="https://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/xmfb.svg" class="" alt="" />
|
|
|
|
|
|
|
|
<span class="f12 ml4" style="color: #646572">{{ item.supplierName }}</span>
|
|
|
|
|
|
|
|
</div> -->
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!-- <img src="https://matripe-cms.oss-cn-beijing.aliyuncs.com/1shoudan/ysd1.png" style="width: 20px;height: 20px;" alt=""> -->
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!-- </router-link> -->
|
|
|
|
|
|
|
|
<div class="jobinfo">
|
|
|
|
|
|
|
|
<span>{{ item.district }}</span>
|
|
|
|
|
|
|
|
<span>{{ item.gender }}</span>
|
|
|
|
|
|
|
|
<span v-if="item.distance != null && item.distance != '' && formvalue.sortTag == 2">{{ item.distanceKm }}</span>
|
|
|
|
|
|
|
|
<span v-else>{{ item.age }}</span>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="jobtag">
|
|
|
|
|
|
|
|
<!-- <span>返费</span> -->
|
|
|
|
|
|
|
|
<!-- <i class="iconfont icon-ziying" v-if="item.signType == 1" style></i> -->
|
|
|
|
|
|
|
|
<span class="hotTag" v-if="item.hotJob == 1">
|
|
|
|
|
|
|
|
<i class="iconfont icon-dianzan1 mr0" style="font-size: 12px"></i>
|
|
|
|
|
|
|
|
主推
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
<span v-for="(item1, index) in item.jobSpecialLabelNames" :key="index">{{ item1 }}</span>
|
|
|
|
|
|
|
|
<span v-if="item.jobSpecialLabelNames.length == 0">暂无特色</span>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="jobpricehour" v-html="getSalaryClassifyValue(item.salaryClassify, item.salaryClassifyValue)"></div>
|
|
|
|
|
|
|
|
<div class="jobpricemonth" v-if="item.minMonthlyPay">
|
|
|
|
|
|
|
|
<template v-if="signType != 1">
|
|
|
|
|
|
|
|
<span>{{ item.minMonthlyPay ? item.minMonthlyPay / 100 : "" }}</span
|
|
|
|
|
|
|
|
>-<span>{{ item.maxMonthlyPay ? item.maxMonthlyPay / 100 : "" }}</span
|
|
|
|
|
|
|
|
>元/月
|
|
|
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<template v-else>
|
|
|
|
|
|
|
|
<span>{{ item.minMonthlyPay ? item.minMonthlyPay / 100 : "" }}</span
|
|
|
|
|
|
|
|
>-<span>{{ item.maxMonthlyPay ? item.maxMonthlyPay / 100 : "" }}</span
|
|
|
|
|
|
|
|
>元/月
|
|
|
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="jobtag">
|
|
|
|
</div>
|
|
|
|
<!-- <span>返费</span> -->
|
|
|
|
</span>
|
|
|
|
<!-- <i class="iconfont icon-ziying" v-if="item.signType == 1" style></i> -->
|
|
|
|
<div class="subsetright">
|
|
|
|
<span class="hotTag" v-if="item.hotJob == 1">
|
|
|
|
<div class="topContainer">
|
|
|
|
<i class="iconfont icon-dianzan1 mr0" style="font-size: 12px"></i>
|
|
|
|
<div class="updateTime" style="display: none">
|
|
|
|
主推
|
|
|
|
<span>更新时间:{{ item.updateTime || "--" }} ( {{ item.diffTime || "--" }} )</span>
|
|
|
|
</span>
|
|
|
|
|
|
|
|
<span v-for="(item1, index) in item.jobSpecialLabelNames" :key="index">{{ item1 }}</span>
|
|
|
|
|
|
|
|
<span v-if="item.jobSpecialLabelNames.length == 0">暂无特色</span>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="jobpricehour" v-html="getSalaryClassifyValue(item.salaryClassify, item.salaryClassifyValue)"></div>
|
|
|
|
<div class="topbox">
|
|
|
|
<div class="jobpricemonth" v-if="item.minMonthlyPay">
|
|
|
|
<div>服务费</div>
|
|
|
|
<template v-if="signType != 1">
|
|
|
|
<div>{{ item.servetype }}</div>
|
|
|
|
<span>{{ item.minMonthlyPay ? item.minMonthlyPay / 100 : "" }}</span
|
|
|
|
|
|
|
|
>-<span>{{ item.maxMonthlyPay ? item.maxMonthlyPay / 100 : "" }}</span
|
|
|
|
|
|
|
|
>元/月
|
|
|
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<template v-else>
|
|
|
|
|
|
|
|
<span>{{ item.minMonthlyPay ? item.minMonthlyPay / 100 : "" }}</span
|
|
|
|
|
|
|
|
>-<span>{{ item.maxMonthlyPay ? item.maxMonthlyPay / 100 : "" }}</span
|
|
|
|
|
|
|
|
>元/月
|
|
|
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="bottombox1">
|
|
|
|
</span>
|
|
|
|
<!-- <a-popover title="" trigger="click" placement="bottomRight">
|
|
|
|
<div class="subsetright">
|
|
|
|
<template slot="content" class="jobDesp_content">
|
|
|
|
<div class="topContainer">
|
|
|
|
<div :class="'copy' + index" @click="copyText($event, index)">复制</div>
|
|
|
|
<div class="updateTime" style="display: none">
|
|
|
|
<span v-if="item.jobDesp" :class="'copyInfo' + index">{{ item.jobDesp }}</span
|
|
|
|
<span>更新时间:{{ item.updateTime || "--" }} ( {{ item.diffTime || "--" }} )</span>
|
|
|
|
><span v-else>暂无详单</span>
|
|
|
|
</div>
|
|
|
|
</template>-->
|
|
|
|
<div class="topbox">
|
|
|
|
<a v-if="false">
|
|
|
|
<div>服务费</div>
|
|
|
|
<button
|
|
|
|
<div>{{ item.servetype }}</div>
|
|
|
|
type="primary"
|
|
|
|
</div>
|
|
|
|
class="jobDesp br4"
|
|
|
|
</div>
|
|
|
|
:style="{
|
|
|
|
<div class="bottombox1">
|
|
|
|
background: item.recruitment == '1' ? '#fff' : '#f5f5f5',
|
|
|
|
<!-- <a-popover title="" trigger="click" placement="bottomRight">
|
|
|
|
}"
|
|
|
|
<template slot="content" class="jobDesp_content">
|
|
|
|
@click="toDetail(item)"
|
|
|
|
<div :class="'copy' + index" @click="copyText($event, index)">复制</div>
|
|
|
|
>
|
|
|
|
<span v-if="item.jobDesp" :class="'copyInfo' + index">{{ item.jobDesp }}</span
|
|
|
|
更多
|
|
|
|
><span v-else>暂无详单</span>
|
|
|
|
</button>
|
|
|
|
</template>-->
|
|
|
|
</a>
|
|
|
|
<a v-if="false">
|
|
|
|
<!-- </a-popover> -->
|
|
|
|
<button
|
|
|
|
<div class="g_flex_row_end">
|
|
|
|
type="primary"
|
|
|
|
<!-- <a-button shape="circle" type="danger" ghost>
|
|
|
|
class="jobDesp br4"
|
|
|
|
<template #icon> -->
|
|
|
|
:style="{
|
|
|
|
<div class="g_w_60 g_cursor_point">
|
|
|
|
background: item.recruitment == '1' ? '#fff' : '#f5f5f5',
|
|
|
|
<div class="g_text_c g_w_all" style="height: 18px;overflow: hidden;line-height: 18px;">
|
|
|
|
}"
|
|
|
|
<a-icon type="message" class="g_fs_16" style="color: #666;" />
|
|
|
|
@click="toDetail(item)"
|
|
|
|
</div>
|
|
|
|
>
|
|
|
|
<div class="g_w_all" style="font-size: 12px;text-align: center;color: #666;zoom: 0.92;">联系客服</div>
|
|
|
|
更多
|
|
|
|
|
|
|
|
</button>
|
|
|
|
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<!-- </a-popover> -->
|
|
|
|
|
|
|
|
<div class="g_flex_row_end">
|
|
|
|
|
|
|
|
<!-- <a-button shape="circle" type="danger" ghost>
|
|
|
|
|
|
|
|
<template #icon> -->
|
|
|
|
|
|
|
|
<div class="g_w_60 g_cursor_point">
|
|
|
|
|
|
|
|
<div class="g_text_c g_w_all" style="height: 18px;overflow: hidden;line-height: 18px;">
|
|
|
|
|
|
|
|
<a-icon type="message" class="g_fs_16" style="color: #666;" />
|
|
|
|
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="g_w_all" style="font-size: 12px;text-align: center;color: #666;zoom: 0.92;">联系客服</div>
|
|
|
|
<!-- </template>
|
|
|
|
</div>
|
|
|
|
</a-button>
|
|
|
|
<!-- </template>
|
|
|
|
<a-button shape="circle" type="danger" ghost @click="toggleGhost" class="g_ml_12">
|
|
|
|
</a-button>
|
|
|
|
<template #icon> -->
|
|
|
|
<a-button shape="circle" type="danger" ghost @click="toggleGhost" class="g_ml_12">
|
|
|
|
<div class="g_w_40 g_cursor_point">
|
|
|
|
<template #icon> -->
|
|
|
|
<div class="g_text_c g_w_all" style="height: 18px;line-height: 18px;">
|
|
|
|
<div class="g_w_40 g_cursor_point">
|
|
|
|
<a-icon class="g_fs_17" style="color:#666;" type="star" />
|
|
|
|
<div class="g_text_c g_w_all" style="height: 18px;line-height: 18px;">
|
|
|
|
</div>
|
|
|
|
<a-icon class="g_fs_17" style="color:#666;" type="star" />
|
|
|
|
<div class="g_w_all" style="font-size: 12px;text-align: center;color: #666;zoom: 0.92;">收藏</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="g_w_all" style="font-size: 12px;text-align: center;color: #666;zoom: 0.92;">收藏</div>
|
|
|
|
<!-- </template> -->
|
|
|
|
</div>
|
|
|
|
<!-- </a-button> -->
|
|
|
|
<!-- </template> -->
|
|
|
|
</div>
|
|
|
|
<!-- </a-button> -->
|
|
|
|
<a-button class="br4 g_ml_12" @click="torecord(item)" v-if="item.recruitment == '1'" type="primary" style="font-size: 13px;">立即报名</a-button>
|
|
|
|
</div>
|
|
|
|
<button class="norecruitment" v-else>暂时停招</button>
|
|
|
|
<a-button class="br4 g_ml_12" @click="torecord(item)" v-if="item.recruitment == '1'" type="primary" style="font-size: 13px;">立即报名</a-button>
|
|
|
|
|
|
|
|
<button class="norecruitment" v-else>暂时停招</button>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!-- <button @click="showmodal(item)" @click="">报名</button> -->
|
|
|
|
<!-- <button @click="showmodal(item)" @click="">报名</button> -->
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="loading-ing g_pt_20 g_pb_20" v-if="speed">
|
|
|
|
|
|
|
|
<div class="g_w_all g_text_c g_fs_14">
|
|
|
|
|
|
|
|
{{ speed == 1 ? '加载中' : '加载完成' }}
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="b-footer">
|
|
|
|
|
|
|
|
<div>
|
|
|
|
|
|
|
|
<span>
|
|
|
|
|
|
|
|
Powered by
|
|
|
|
|
|
|
|
<svg class="svg_icon ml4" style="font-size: 46px; margin-top: -2px" aria-hidden="true">
|
|
|
|
|
|
|
|
<use xlink:href="#icon-bocai2" />
|
|
|
|
|
|
|
|
</svg>
|
|
|
|
|
|
|
|
|Copyright © 2015-2023 Bocai. All Rights Reserved.|
|
|
|
|
|
|
|
|
</span>
|
|
|
|
|
|
|
|
<a target="_blank" href="https://beian.miit.gov.cn/#/Integrated/index">豫ICP备2023001993号-25A</a>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
@ -854,6 +873,8 @@ export default {
|
|
|
|
data() {
|
|
|
|
data() {
|
|
|
|
return {
|
|
|
|
return {
|
|
|
|
isFetching: false, // 标志位,防止重复加载
|
|
|
|
isFetching: false, // 标志位,防止重复加载
|
|
|
|
|
|
|
|
speed:0,// 加载进度0 未加载 1加载中 2加载完成
|
|
|
|
|
|
|
|
isStop:false,// 是否停止加载
|
|
|
|
jobMainList: [], // 职位列表
|
|
|
|
jobMainList: [], // 职位列表
|
|
|
|
jobNum:0,
|
|
|
|
jobNum:0,
|
|
|
|
recordShow: false,
|
|
|
|
recordShow: false,
|
|
|
|
@ -1167,9 +1188,12 @@ export default {
|
|
|
|
const windowHeight = document.documentElement.clientHeight;
|
|
|
|
const windowHeight = document.documentElement.clientHeight;
|
|
|
|
const scrollHeight = document.documentElement.scrollHeight;
|
|
|
|
const scrollHeight = document.documentElement.scrollHeight;
|
|
|
|
|
|
|
|
|
|
|
|
if (scrollTop + windowHeight >= scrollHeight - 100 && !this.isFetching) { // 100 是一个阈值,可以根据需要调整
|
|
|
|
if (scrollTop + windowHeight >= scrollHeight - 100 && !this.isFetching && !this.isStop) { // 100 是一个阈值,可以根据需要调整
|
|
|
|
this.isFetching = true;
|
|
|
|
this.isFetching = true;
|
|
|
|
this.loadMoreData();
|
|
|
|
// setTimeout(() => {
|
|
|
|
|
|
|
|
this.speed = 0;
|
|
|
|
|
|
|
|
this.loadMoreData();
|
|
|
|
|
|
|
|
// }, 10*1000);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
},
|
|
|
|
loadMoreData() {
|
|
|
|
loadMoreData() {
|
|
|
|
@ -1248,6 +1272,15 @@ export default {
|
|
|
|
if (this.isLogin) {
|
|
|
|
if (this.isLogin) {
|
|
|
|
const { data } = await JobListApi(newdata);
|
|
|
|
const { data } = await JobListApi(newdata);
|
|
|
|
if (data.status === 200) {
|
|
|
|
if (data.status === 200) {
|
|
|
|
|
|
|
|
if(data.data.recordList.length < 8){
|
|
|
|
|
|
|
|
// 停止加载
|
|
|
|
|
|
|
|
this.isStop = true;
|
|
|
|
|
|
|
|
this.speed = 2;
|
|
|
|
|
|
|
|
}else{
|
|
|
|
|
|
|
|
// 继续加载
|
|
|
|
|
|
|
|
this.isStop = false;
|
|
|
|
|
|
|
|
this.speed = 1;
|
|
|
|
|
|
|
|
}
|
|
|
|
this.jobMainList = this.jobMainList.concat(disposeJobListData(data.data.recordList)); // 追加数据
|
|
|
|
this.jobMainList = this.jobMainList.concat(disposeJobListData(data.data.recordList)); // 追加数据
|
|
|
|
this.formvalue.total = data.data.recordCount;
|
|
|
|
this.formvalue.total = data.data.recordCount;
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
@ -3568,4 +3601,20 @@ p {
|
|
|
|
color: rgb(24, 144, 255);
|
|
|
|
color: rgb(24, 144, 255);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
.b-footer{
|
|
|
|
|
|
|
|
div {
|
|
|
|
|
|
|
|
text-align: center;
|
|
|
|
|
|
|
|
// margin-top: 16px;
|
|
|
|
|
|
|
|
color: #4d575e;
|
|
|
|
|
|
|
|
font-size: 12px;
|
|
|
|
|
|
|
|
i {
|
|
|
|
|
|
|
|
display: inline-block;
|
|
|
|
|
|
|
|
vertical-align: middle;
|
|
|
|
|
|
|
|
width: 1px;
|
|
|
|
|
|
|
|
height: 16px;
|
|
|
|
|
|
|
|
margin: 0 10px;
|
|
|
|
|
|
|
|
background-color: #4d575e;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
</style>
|
|
|
|
</style>
|
|
|
|
|