<template>
|
|
<view class="page">
|
|
|
|
<view class="banner">
|
|
<uv-swiper
|
|
:list="banner"
|
|
indicator
|
|
height="620rpx"
|
|
keyName="image"></uv-swiper>
|
|
<!-- indicatorStyle="bottom: 100rpx;" -->
|
|
|
|
<view class="top">
|
|
<view class="search">
|
|
<uv-search
|
|
placeholder="请输入岗位/公司名称"
|
|
:showAction="false"
|
|
search-icon-size="40rpx"
|
|
@search="search"
|
|
v-model="keyword"></uv-search>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
|
|
<!-- 工人看到的 -->
|
|
<view class="content"
|
|
v-if="!role">
|
|
<view class="grid">
|
|
<uv-grid :border="false"
|
|
:col="5">
|
|
<!-- @click="$utils.navigateTo('/pages_order/work/workList?id=' + item.id)" -->
|
|
<uv-grid-item
|
|
v-for="(item,index) in jobTypeList"
|
|
:key="index">
|
|
<image class="grid-icon" :src="item.image" mode="aspectFill"></image>
|
|
<text class="grid-text">{{item.name}}</text>
|
|
</uv-grid-item>
|
|
</uv-grid>
|
|
</view>
|
|
</view>
|
|
|
|
<!-- 筛选器 -->
|
|
<screenWork @clickItem="clickItem"/>
|
|
|
|
<!-- 老板看到的 -->
|
|
<userList ref="workList" v-if="role"/>
|
|
|
|
<!-- 工人看到的 -->
|
|
<workList ref="workList" v-else/>
|
|
|
|
<view class="box"
|
|
@click="toAdd"
|
|
v-if="role">
|
|
<view class="left">
|
|
发布
|
|
</view>
|
|
<view class="center">
|
|
<image src="/static/image/home/c.png" mode=""></image>
|
|
</view>
|
|
<view class="right">
|
|
招工
|
|
</view>
|
|
</view>
|
|
|
|
<PrivacyAgreementPoup/>
|
|
|
|
<tabber select="0"/>
|
|
</view>
|
|
</template>
|
|
|
|
<script>
|
|
import PrivacyAgreementPoup from '@/components/config/PrivacyAgreementPoup.vue'
|
|
import workList from '@/components/list/workList/index.vue'
|
|
import userList from '@/components/list/userList/index.vue'
|
|
import tabber from '@/components/base/tabbar.vue'
|
|
import screenWork from '@/components/screen/screenWork.vue'
|
|
import {
|
|
mapState,
|
|
} from 'vuex'
|
|
export default {
|
|
components : {
|
|
PrivacyAgreementPoup,
|
|
workList,
|
|
tabber,
|
|
screenWork,
|
|
userList
|
|
},
|
|
computed: {
|
|
...mapState([
|
|
'userInfo',
|
|
'role',
|
|
'banner',
|
|
'jobTypeList'
|
|
]),
|
|
},
|
|
data() {
|
|
return {
|
|
productList: [],
|
|
keyword : '',
|
|
}
|
|
},
|
|
// onPullDownRefresh(){
|
|
// this.$refs.videoList.queryVideoList()
|
|
// this.queryBannerList()
|
|
// },
|
|
|
|
// 页面显示的时候触发
|
|
onShow() {
|
|
this.$refs.workList.getData()
|
|
this.$store.commit('getBanner')
|
|
},
|
|
//滚动到屏幕底部
|
|
onReachBottom() {
|
|
this.$refs.workList.loadMoreData()
|
|
},
|
|
methods: {
|
|
clickItem(result){
|
|
console.log(result);
|
|
this.$refs.workList.getData(result)
|
|
},
|
|
toAdd(){
|
|
if(this.role){
|
|
this.$utils.navigateTo('/pages_order/work/jobPosting')
|
|
}else{
|
|
this.$utils.navigateTo('/pages_order/work/addResume')
|
|
}
|
|
},
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style scoped lang="scss">
|
|
.page{
|
|
.banner{
|
|
position: relative;
|
|
background-color: $uni-color;
|
|
.top{
|
|
position: absolute;
|
|
top: 190rpx;
|
|
left:00rpx;
|
|
padding-top: 30rpx;
|
|
display: flex;
|
|
width: 100%;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
.search{
|
|
width: 700rpx;
|
|
/deep/ .uv-search__content__icon{
|
|
padding: 10rpx 0;
|
|
}
|
|
}
|
|
.title{
|
|
image{
|
|
width: 600rpx;
|
|
height: 300rpx;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
.box{
|
|
position: fixed;
|
|
left: 50%;
|
|
background: $uni-color;
|
|
bottom: calc(env(safe-area-inset-bottom) + 150rpx);
|
|
color: #fff;
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
transform: translate(-50%);
|
|
border-radius: 20rpx;
|
|
height: 80rpx;
|
|
font-size: 28rpx;
|
|
image{
|
|
width: 100%;
|
|
height: 100%;
|
|
border-radius: 50%;
|
|
}
|
|
.left{
|
|
padding-left: 30rpx;
|
|
}
|
|
.center{
|
|
width: 100rpx;
|
|
height: 100rpx;
|
|
border-radius: 50%;
|
|
background: $uni-color;
|
|
margin: 0 20rpx;
|
|
margin-top: -30rpx;
|
|
box-shadow: 0 0 4rpx 4rpx #ffffff;
|
|
}
|
|
.right{
|
|
padding-right: 30rpx;
|
|
}
|
|
}
|
|
.content{
|
|
position: relative;
|
|
margin-top: -60rpx;
|
|
.grid{
|
|
padding-bottom: 30rpx;
|
|
background-color: #fff;
|
|
// border-radius: 60rpx;
|
|
border-top-left-radius: 60rpx;
|
|
border-top-right-radius: 60rpx;
|
|
// box-shadow: 0 -10rpx 10rpx 10rpx #00000013;
|
|
.grid-icon{
|
|
width: 80rpx;
|
|
height: 80rpx;
|
|
margin-bottom: 10rpx;
|
|
margin-top: 30rpx;
|
|
}
|
|
.grid-text{
|
|
font-size: 24rpx;
|
|
font-weight: 900;
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
</style>
|