|
@@ -1,17 +1,5 @@
|
|
<template>
|
|
<template>
|
|
<view class="ss-m-x-20">
|
|
<view class="ss-m-x-20">
|
|
- <!-- 招聘会 -->
|
|
|
|
- <view v-if="props.showJobFairEntrance" class="ss-p-t-20" style="position: relative" @click="handleToJobFair">
|
|
|
|
- <image
|
|
|
|
- src="https://minio.menduner.com/dev/menduner/miniProgram/Grand-Mercure.jpg"
|
|
|
|
- style="width: 100%; height: 100px; border-radius: 8px"
|
|
|
|
- ></image>
|
|
|
|
- <view
|
|
|
|
- style="position: absolute; top: 20rpx; width: 100%; text-align: center; height: 100px; line-height: 100px; font-size: 46px; color: #fff; font-weight: bold;"
|
|
|
|
- >
|
|
|
|
- 招 聘 会
|
|
|
|
- </view>
|
|
|
|
- </view>
|
|
|
|
<!-- 岗位列表 -->
|
|
<!-- 岗位列表 -->
|
|
<view v-if="list.length > 0" class="ss-p-b-30 ss-p-t-20">
|
|
<view v-if="list.length > 0" class="ss-p-b-30 ss-p-t-20">
|
|
<view v-for="(item, index) in list" :key="index" class="mList" :class="{ 'disable': !jobFairId && item.job?.status === '1'}" @click="toDetail(item)">
|
|
<view v-for="(item, index) in list" :key="index" class="mList" :class="{ 'disable': !jobFairId && item.job?.status === '1'}" @click="toDetail(item)">
|
|
@@ -28,18 +16,20 @@
|
|
</view>
|
|
</view>
|
|
<!-- 薪酬、工作地、学历、工作经验 -->
|
|
<!-- 薪酬、工作地、学历、工作经验 -->
|
|
<view class="d-flex align-center justify-space-between">
|
|
<view class="d-flex align-center justify-space-between">
|
|
- <view class="font-size-13 ellipsis" :style="{'max-width': !item.job?.payFrom && !item.job?.payTo ? '78%' : '56%'}">
|
|
|
|
|
|
+ <view class="font-size-13 ellipsis" style="flex: 1;">
|
|
<span class="tag-gap" style="color: #808080;">
|
|
<span class="tag-gap" style="color: #808080;">
|
|
<span>{{item.job?.area?.str ?? '全国' }}</span>
|
|
<span>{{item.job?.area?.str ?? '全国' }}</span>
|
|
<span class="divider-mx" v-if="item.job?.eduName">|</span>
|
|
<span class="divider-mx" v-if="item.job?.eduName">|</span>
|
|
<span>{{item.job?.eduName }}</span>
|
|
<span>{{item.job?.eduName }}</span>
|
|
<span class="divider-mx" v-if="item.job?.expName">|</span>
|
|
<span class="divider-mx" v-if="item.job?.expName">|</span>
|
|
<span>{{item.job?.expName }}</span>
|
|
<span>{{item.job?.expName }}</span>
|
|
|
|
+ <span class="divider-mx">|</span>
|
|
|
|
+ <span>{{!item.job?.payFrom && !item.job?.payTo ? '面议' : `${item.job?.payFrom}-${item.job?.payTo}${item.job?.payName ? '/' + item.job?.payName : ''}` }}</span>
|
|
</span>
|
|
</span>
|
|
</view>
|
|
</view>
|
|
- <view>
|
|
|
|
- <span v-if="!item.job?.payFrom && !item.job?.payTo" class="salary-text">面议</span>
|
|
|
|
- <span v-else class="salary-text">{{ item.job?.payFrom }}-{{ item.job?.payTo }}{{ item.job?.payName ? '/' + item.job?.payName : '' }}</span>
|
|
|
|
|
|
+ <view class="d-flex flex-column align-center justify-center resumeCount">
|
|
|
|
+ <view style="font-size: 14px;">{{ item.job?.payFrom || 0 }}</view>
|
|
|
|
+ <view>已投递简历</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<!-- 岗位tag -->
|
|
<!-- 岗位tag -->
|
|
@@ -64,18 +54,13 @@
|
|
custom-style="background-color: #e2f0ef; color:#00B760; border-color:#e2f0ef;"
|
|
custom-style="background-color: #e2f0ef; color:#00B760; border-color:#e2f0ef;"
|
|
/>
|
|
/>
|
|
</view>
|
|
</view>
|
|
- <view v-if="props.showUpdateTime" class="font-size-13 color-999 ss-m-t-10" :style="`text-align: ${props.updateTimeAlign};`">更新时间:{{ timesTampChange(item?.job?.refreshTime || item.job?.updateTime, 'Y-M-D h:m') }}</view>
|
|
|
|
- </view>
|
|
|
|
- <!-- 企业信息 -->
|
|
|
|
- <view v-if="props.showEntInfo" class="sub-li-bottom" @tap="handleClickEnt(item)">
|
|
|
|
- <view class="avatarBox">
|
|
|
|
- <image class="enterAvatar ml" :src="item.enterprise?.logoUrl || 'https://minio.citupro.com/dev/menduner/company-avatar.png'"></image>
|
|
|
|
|
|
+ <view class="font-size-13 color-999 ss-m-t-10">
|
|
|
|
+ <span>刷新时间:{{ item?.job?.refreshTime || item.job?.updateTime ? timesTampChange(item.job?.refreshTime || item.job.updateTime, 'Y-M-D h:m') : '暂无' }}</span>
|
|
|
|
+ <span class="divider-mx" v-if="item.job?.expName">|</span>
|
|
|
|
+ <span>到期时间:{{ item?.job?.expireTime ? timesTampChange(item.job.expireTime, 'Y-M-D') : '长期有效' }}</span>
|
|
</view>
|
|
</view>
|
|
- <view class="ss-m-l-35">
|
|
|
|
- <view class="mr">{{ formatName(item.enterprise?.anotherName || item.enterprise.name) }}</view>
|
|
|
|
- <span class="color-999">{{ item.enterprise?.industryName || '' }}</span>
|
|
|
|
- <span class="divider tag-gap1" v-if="item.enterprise?.industryName && item.enterprise?.scaleName"> | </span>
|
|
|
|
- <span class="mr color-999">{{ item.enterprise?.scaleName || '' }}</span>
|
|
|
|
|
|
+ <view class="sub-li-bottom">
|
|
|
|
+ <span></span>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
@@ -96,38 +81,17 @@ const emit = defineEmits(['entClick'])
|
|
|
|
|
|
const props = defineProps({
|
|
const props = defineProps({
|
|
list: { type: Array, default: () => [] },
|
|
list: { type: Array, default: () => [] },
|
|
- jobFairId: { type: [String, Number], default: '' }, // 招聘会id
|
|
|
|
- showJobFairEntrance: { type: Boolean, default: false }, // 招聘会
|
|
|
|
- showEntInfo: { type: Boolean, default: true },
|
|
|
|
- updateTimeAlign: { type: String, default: 'end' },
|
|
|
|
- showUpdateTime: { type: Boolean, default: true },
|
|
|
|
noMore: { type: Boolean, default: false },
|
|
noMore: { type: Boolean, default: false },
|
|
showWelfareTag: { type: Boolean, default: true }
|
|
showWelfareTag: { type: Boolean, default: true }
|
|
})
|
|
})
|
|
|
|
|
|
//岗位详情
|
|
//岗位详情
|
|
-const toDetail = (item) =>{
|
|
|
|
|
|
+const toDetail = (item) => {
|
|
if (!item?.job?.id) return
|
|
if (!item?.job?.id) return
|
|
let url = `/pagesB/positionDetail/index?id=${item.job.id}&area=${item.job.areaName}`
|
|
let url = `/pagesB/positionDetail/index?id=${item.job.id}&area=${item.job.areaName}`
|
|
- if (props.jobFairId) url += `&jobFairId=${props.jobFairId}`
|
|
|
|
uni.navigateTo({ url })
|
|
uni.navigateTo({ url })
|
|
}
|
|
}
|
|
|
|
|
|
-//招聘会
|
|
|
|
-const handleToJobFair = () => {
|
|
|
|
- uni.navigateTo({
|
|
|
|
- url: '/pagesB/jobFair/index'
|
|
|
|
- })
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
-const handleClickEnt = (item) => {
|
|
|
|
- const info = {
|
|
|
|
- enterpriseId: item?.enterprise?.id || null,
|
|
|
|
- anotherName: item?.enterprise?.anotherName || null
|
|
|
|
- }
|
|
|
|
- emit('entClick', info)
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
</script>
|
|
</script>
|
|
|
|
|
|
<style scoped lang="scss">
|
|
<style scoped lang="scss">
|
|
@@ -165,16 +129,9 @@ const handleClickEnt = (item) => {
|
|
}
|
|
}
|
|
|
|
|
|
.sub-li-bottom {
|
|
.sub-li-bottom {
|
|
- display: flex;
|
|
|
|
- align-items: center;
|
|
|
|
- background-color: #fff;
|
|
|
|
- font-size: 13px;
|
|
|
|
- padding: 5px;
|
|
|
|
- border-radius: 0 0 12px 12px;
|
|
|
|
- .avatarBox {
|
|
|
|
- max-width: 40px;
|
|
|
|
- max-height: 40px;
|
|
|
|
- }
|
|
|
|
|
|
+ text-align: right;
|
|
|
|
+ border-top: 1px dashed #eee;
|
|
|
|
+ margin-top: 10px;
|
|
}
|
|
}
|
|
|
|
|
|
.salary-text {
|
|
.salary-text {
|
|
@@ -257,4 +214,9 @@ const handleClickEnt = (item) => {
|
|
background-color: rgba(255, 255, 255, 0.75);
|
|
background-color: rgba(255, 255, 255, 0.75);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+.resumeCount {
|
|
|
|
+ color: #00B760;
|
|
|
|
+ font-size: 12px;
|
|
|
|
+ margin: 0 10px;
|
|
|
|
+}
|
|
</style>
|
|
</style>
|