Files
jobslink-user-clent/pages/recruit/subPage/recruit.vue

266 lines
6.9 KiB
Vue
Raw Normal View History

2024-03-08 16:54:13 +08:00
<template>
<view >
<CustomNavbar @back="back" :titke="'发布招工'"></CustomNavbar>
<view class="container">
<view class="wrapper" style="position: relative;">
<view class="top-title">在线提交招工需求</view>
<view class="tips">
<span>专属就业帮扶人</span>
<span>为您提供一对一撮合服务</span>
</view>
<!-- <img src="../../static/img/index/bannerBg.png" alt="" /> -->
<view class="bottom">
<img src="../../../static/img/safe_icon.png" style="width: 40rpx;margin: 0 20rpx" alt="" />
<span>招工快.干活好.纠纷少.隐私保护</span>
</view>
</view>
<view class="form-wrapper">
2024-03-10 14:38:12 +08:00
<!-- <view class="require">您的招工需求</view> -->
<u-sticky offset-top="0" v-if="pageType === 'enterprise'">
2024-03-09 19:01:53 +08:00
<view class="u-demo-block" style="background-color: #fff;padding: 20rpx 0;">
<view class="u-demo-block__content">
2024-03-10 14:38:12 +08:00
<view class="typeButtonWrapper" >
2024-03-09 19:01:53 +08:00
<view class="typeButtonLeft">
<view v-for="(item, index) in nonReactiveArray" :key="index"
:class="['typeButton', index == activeTab ? 'activeButton' : '']" @click="changeTab(index)">{{ item
}}</view>
</view>
2024-03-09 15:52:49 +08:00
</view>
2024-03-10 14:38:12 +08:00
<!-- <view class="typeButtonWrapper" v-else>
2024-03-09 19:22:11 +08:00
<view class="typeButtonLeft">
<view v-for="(item, index) in nonReactiveArray" :key="index" v-show="index == 2"
:class="['typeButton', index == activeTab ? 'activeButton' : '']" @click="changeTab(index)">{{ item
}}</view>
</view>
2024-03-10 14:38:12 +08:00
</view> -->
2024-03-09 15:52:49 +08:00
</view>
</view>
2024-03-09 19:01:53 +08:00
</u-sticky>
<view v-if="activeTab == 0" class="u-demo-block" style="padding: 20rpx;padding-bottom: 140rpx;">
2024-03-09 15:52:49 +08:00
<!-- <view>发布任务</view> -->
2024-03-24 23:38:33 +08:00
<Task :company="companyInfo"></Task>
2024-03-09 15:52:49 +08:00
</view>
2024-03-09 19:01:53 +08:00
<view v-if="activeTab == 1" class="u-demo-block" style="padding: 20rpx;padding-bottom: 140rpx;">
2024-03-09 15:52:49 +08:00
<!-- <view>发布岗位</view> -->
2024-03-24 23:38:33 +08:00
<Work :company="companyInfo"></Work>
2024-03-09 15:52:49 +08:00
</view>
<view v-if="activeTab == 2" class="u-demo-block" style="padding: 20rpx;padding-bottom: 140rpx;">
2024-03-24 23:38:33 +08:00
<Person :company="companyInfo"></Person>
2024-03-09 15:52:49 +08:00
</view>
2024-03-08 16:54:13 +08:00
</view>
2024-03-09 15:52:49 +08:00
<!-- <view style="font-size: 36rpx;color: #000;font-weight: bold;padding: 0 20rpx;">招工指引</view>
2024-03-08 16:54:13 +08:00
<view class="zhiyin">
<view class="item">
<span>在线填写</span>
<span>招工需求</span>
</view>
<img src="../../../static/img/zhiyin_icon.png" alt="" />
<view class="item">
<span>专属人员</span>
<span>沟通发布</span>
</view>
<img src="../../../static/img/zhiyin_icon.png" alt="" />
<view class="item">
<span>平台/大屏展</span>
<span>示招工任务</span>
</view>
</view>
<view class="bottom">
<view class="btn">提交</view>
2024-03-09 15:52:49 +08:00
</view> -->
2024-03-08 16:54:13 +08:00
</view>
2024-03-09 15:52:49 +08:00
2024-03-08 16:54:13 +08:00
<CustomTabbar :currentpage="1"></CustomTabbar>
</view>
</template>
<script>
import CustomNavbar from '@/components/CustomNavbar/navbar.vue'
import CustomTabbar from '@/components/CustomTabbar/custom_tabbar.vue'
2024-03-09 15:52:49 +08:00
import Task from './task.vue' // 发布任务
import Work from './work.vue' // 发布岗位
2024-03-13 17:36:43 +08:00
import Person from './person.vue' // 个体户招工
2024-03-09 19:22:11 +08:00
import { mapState } from 'vuex'
2024-03-24 23:38:33 +08:00
import {getUserCompanyInfo} from '@/api/userrecruit.js'
2024-03-08 16:54:13 +08:00
export default {
2024-03-09 15:52:49 +08:00
components: {CustomTabbar, CustomNavbar, Task, Work, Person},
2024-03-08 16:54:13 +08:00
data() {
return {
2024-03-08 19:51:27 +08:00
value2: '招工内容',
2024-03-09 19:22:11 +08:00
pageType: null, // null 个人 enterprise 企业
2024-03-09 15:52:49 +08:00
fileList1: [],
2024-03-25 15:20:14 +08:00
nonReactiveArray: ["发布任务", "发布岗位"],
2024-03-09 15:52:49 +08:00
activeTab: 0,
2024-03-24 23:38:33 +08:00
companyInfo: null,
2024-03-08 16:54:13 +08:00
}
},
2024-03-09 19:22:11 +08:00
onLoad({type}) {
if(this.enterprise){
this.pageType = 'enterprise'
// this.currentArrTitleID = 0
} else {
this.activeTab = 2
}
// this.getList('refresh')
2024-03-24 23:38:33 +08:00
this.getInfo()
2024-03-09 19:22:11 +08:00
},
computed: {
2024-03-24 23:38:33 +08:00
...mapState({
enterprise: (state) => state.user.seeEnterprise,
idNumber: (state) => state.auth.authInfo.idNumber
})
2024-03-09 19:22:11 +08:00
},
2024-03-08 16:54:13 +08:00
methods: {
back() {
uni.reLaunch({
url: '/pages/my/my'
})
2024-03-09 15:52:49 +08:00
},
changeTab: function (e) {
this.activeTab = e;
},
2024-03-24 23:38:33 +08:00
async getInfo() {
let resData = await getUserCompanyInfo({idNumber: this.idNumber})
if(resData.data.code === 200) {
if(!resData.data.data.length) return;
this.companyInfo = resData.data.data[0]
}
}
2024-03-08 16:54:13 +08:00
}
}
</script>
<style lang="scss" scoped>
.container {
.wrapper {
width: 100%;
height: 300rpx;
background: url(@/static/img/index/bannerBg.png) no-repeat center center;
background-size: 100% 100%;
.top-title {
font-size: 34rpx;
color: #372E33;
font-weight: bold;
position: absolute;
left: 20rpx;
top: 30rpx;
}
.tips {
position: absolute;
left: 20rpx;
top: 90rpx;
font-size: 26rpx;
color: #999;
display: flex;
flex-direction: column;
background-color: #E4F2FD;
padding: 15rpx;
border-radius: 10rpx;
}
.bottom{
position: absolute;
display: flex;
align-items: center;
justify-content: left;
color: #7C401E;
font-size: 28rpx;
left: 5%;
bottom: 0;
right: 5%;
height: 80rpx;
background: linear-gradient(to right, #FFEEDA, #FED38F);;
border-top-left-radius: 20rpx;
border-top-right-radius: 20rpx;
}
}
.top-banner {
}
.form-wrapper {
padding: 20rpx;
2024-03-09 15:52:49 +08:00
margin-bottom: 40rpx;
2024-03-08 16:54:13 +08:00
.require {
font-size: 36rpx;
font-weight: 500;
margin-bottom: 20rpx;
}
}
.zhiyin {
display: flex;
align-items: center;
justify-content: space-around;
margin-top: 40rpx;
padding: 0 20rpx;
.item {
display: flex;
align-items: center;
flex-direction: column;
width: 260rpx;
height: 80rpx;
border-radius: 20rpx;
justify-content: space-between;
padding: 30rpx 0;
margin: 0 20rpx;
box-sizing: content-box;
background-color: #F1F3FF;
span {
color: #63676A;
font-size: 24rpx;
}
}
img {
width: 50rpx;
}
}
.bottom {
// position: fixed;
// bottom: 0;
// left: 0;
// right: 0;
height: 150rpx;
background-color: #fff;
display: flex;
align-items: center;
justify-content: space-around;
.btn {
width: 90%;
height: 100rpx;
text-align: center;
color: #fff;
border-radius: 20rpx;
background-color: #4171F9;
line-height: 100rpx;
}
}
}
2024-03-09 15:52:49 +08:00
.typeButtonWrapper {
width: 92%;
margin: 0 auto;
display: flex;
justify-content: space-between;
/* margin-bottom: 10rpx; */
}
.typeButtonLeft {
display: flex;
}
.typeButton {
font-size: 14px;
padding: 10rpx 40rpx;
background: #f6f6f6;
border-radius: 50px;
margin-right: 10rpx;
white-space: nowrap;
}
.activeButton {
color: #4171f9;
background-color: #cfdaf8;
}
2024-03-08 16:54:13 +08:00
</style>